You lack parallelism than OoOE gives

By: Brett (ggtgp.delete@this.yahoo.com), January 4, 2019 3:10 pm
Room: Moderated Discussions
Brett (ggtgp.delete@this.yahoo.com) on January 4, 2019 1:41 am wrote:
> Heikki Kultala (heikki.kultala.delete@this.tuni.fi) on January 3, 2019 6:38 am wrote:
> > Brett (ggtgp.delete@this.yahoo.com) on January 3, 2019 3:35 am wrote:
> > > Heikki Kultala (heikki.kultala.delete@this.tuni.fi) on January 3, 2019 2:48 am wrote:
> > > > Brett (ggtgp.delete@this.yahoo.com) on January 3, 2019 12:13 am wrote:
> > > > > > Can you elaborate on what you mean by this? or post link to your previous post where you explain this.
> > > > >
> > > > > The only compiler change is to change suitable leaf branches into
> > > > > inline speculated calls and add a end call instruction.
> > > >
> > > > Please start with elaborating what you mean by "leaf branch". It is not a commonly used term.
> > > >
> > > > After you explain that, I can explain what is wrong with your idea.
> > >
> > > Leaf branch: At the source code level a IF or ELSE block that
> > > does not contain any other flow control instructions.
> > >
> > > This can be about half of all branches, think about the performance implications.
> > > About Half of these leaf branches do not change outer state (merely using state and perhaps reading
> > > but mostly writing to update memory structures) and are suitable for conversion to speculated code.
> >
> > Ok, now I understand what you are proposing. And that is not giving any
> > of the benefits speculative execution gives to available parallelism.
> >
> > There are practically just two different situations of these "leaf
> > branches" : Either you have a hammock, or you have a triangle.
>
> Ok we are halfway there.
>
> > If you convert the branch into call, then you are not executing it
> > in parallel with the other code path on the hammock structure.
>
> I had to describe a mill call becusae you are in a RISC mindset, the
> actual call is not needed, just some tagging of speculated state.
> You can intermix the instructions in the same packet if you are VLIW.

To expand this further, a Mill slot is much the same as the Mill call.

With RISC a register a write OVERWRITES a value and thus you need OoO.
With Mill a ALU result gets a fresh virgin belt register.

The Mill belt solves the state change problem that prevents speculation without heroic complexity.

> > And you also do not execute it in parallel with code before
> > the branch/call either, because mill is in-order.
> >
> > IF you want to have parallelism over multiple blocks in such control structure in in-order processor,
> > you have to perform if-conversion, and predicate both code paths, and then you need to wait for the
> > predicate to be evaluated, before you can start executing those predicated instructions.
>
> With Mill You don’t need to predicte all the instructions like RISC, with
> Mill those instructions are independent and do not effect outer state.
> You only need to predicate the stores.

The Mill speculated IF block register writes are all belt virgins and do not effect other paths taken.
Only stores are visible.

> If you also speculate the ELSE at the same time you have to
> predicate any overlapping loads in the ELSE block as well.
>
> > On OoOE processor with speculative execution, the branch is predicted and code
> > in the branch can execute in parallel with code that was before the branch.
>
> In Mill you could speculate until the predicted store, way past the branch, and with a store buffer
> which you have that speculation in absence of a memory hazard could be dozens of additional cycles.

If the Mill speculated writes are not flagged as memory hazards then there is no reason to halt the in-order processor, the pipeline can continue and then when the state of the branch is finally known those writes can commit or cancel.

If there is a memory hazard then yes you have to halt with Mill, I expect this to be rare.

Mill does not suffer like in-order RISC does.
But by being in-order Mill has a tiny fraction of the complexity of OoO, this allows you to expand capabilities in other areas, like being far wider than RISC, etc.

> With a wide RISC you could perform if-conversion and do much the same.
> The point being that in-order Mill is not as bad as in-order RISC.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Independent micro threadsBrett2018/12/30 12:55 PM
  Independent micro threadsTravis Downs2018/12/30 03:18 PM
    Independent micro threadsBrett2018/12/30 06:16 PM
      Independent micro threadsTravis Downs2018/12/30 06:34 PM
        Independent micro threadsBrett2018/12/30 06:48 PM
          Independent micro threadsTravis Downs2018/12/30 08:06 PM
            Independent micro threadsBrett2018/12/30 09:57 PM
              Independent micro threadsTravis Downs2018/12/30 11:42 PM
                Independent micro threadsBrett2019/01/01 06:02 PM
                  Independent micro threadsMichael S2019/01/02 01:01 AM
                    Independent micro threadsMaynard Handley2019/01/02 02:29 PM
              Independent micro threadsMontaray Jack2019/01/01 01:12 AM
  Independent micro threadsanon2018/12/30 03:34 PM
  Independent micro threadsPaul A. Clayton2018/12/30 04:15 PM
  Independent micro threadsDavid Hess2018/12/30 05:47 PM
    Independent micro threadsDomaldel2018/12/30 06:06 PM
      Independent micro threadsDavid Hess2018/12/30 06:26 PM
        Independent micro threadsDoug S2018/12/31 09:26 AM
          Independent micro threadsDavid Hess2018/12/31 08:32 PM
            Independent micro threadsDoug S2018/12/31 11:40 PM
              Independent micro threadsDavid Hess2019/01/01 10:41 AM
            Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2018/12/31 11:40 PM
              Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2018/12/31 11:44 PM
                Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2018/12/31 11:49 PM
                  Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2018/12/31 11:51 PM
              Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Simon Farnsworth2019/01/01 05:05 AM
                Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2019/01/01 07:01 AM
                Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Maynard Handley2019/01/01 12:17 PM
                  Taking things to extremes.Domaldel2019/01/01 04:44 PM
                    Yes, I know, the forum is named *Real* World Tech, but I'm thinking that perhapsDomaldel2019/01/01 04:52 PM
                      Yes, I know, the forum is named *Real* World Tech, but I'm thinking that perhapsMontaray Jack2019/01/02 06:26 AM
                        Yes, I know, the forum is named *Real* World Tech, but I'm thinking that perhapsMontaray Jack2019/01/02 07:21 AM
                    Taking things to extremes.Maynard Handley2019/01/01 05:55 PM
                    Taking things to extremes.Kevin G2019/01/04 07:57 AM
              Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")David Hess2019/01/01 10:36 AM
    Independent micro threadsTravis Downs2018/12/30 06:38 PM
    Independent micro threadsBrett2018/12/30 06:41 PM
  Independent micro threadsanon2018/12/30 07:20 PM
    Independent micro threadsBrett2018/12/30 07:51 PM
      Independent micro threadsTravis Downs2018/12/30 08:48 PM
        Mill and Independent micro threadsBrett2019/01/01 06:39 PM
          No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Heikki Kultala2019/01/01 11:29 PM
            No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Brett2019/01/02 12:15 AM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Heikki Kultala2019/01/02 01:22 AM
                No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Brett2019/01/03 12:13 AM
                  "Leaf branch" is not a commonly used termHeikki Kultala2019/01/03 02:48 AM
                    "Leaf branch" is not a commonly used termBrett2019/01/03 03:35 AM
                      You lack parallelism than OoOE givesHeikki Kultala2019/01/03 06:38 AM
                        You lack parallelism than OoOE givesBrett2019/01/04 01:41 AM
                          You lack parallelism than OoOE givesBrett2019/01/04 03:10 PM
                            You lack parallelism than OoOE givesBrett2019/01/05 07:29 PM
                              Mill speculates, more parallelism than OoOE givesBrett2019/01/05 07:31 PM
                                Mill *is* a speculationEric Bron2019/01/06 04:04 AM
                                  Mill *is* a speculationMichael S2019/01/06 04:53 AM
                                    Mill *is* a speculationBrett2019/01/06 08:03 PM
                                  Mill *is* a speculationjuanrga2019/01/06 05:10 AM
                                    probably ~2 (NT)Michael S2019/01/06 05:51 AM
                                  Mill *is* a speculationBrett2019/01/06 12:18 PM
                                    Mill *is* a speculationEric Bron2019/01/06 02:36 PM
                                      Mill *is* a speculationBrett2019/01/06 07:47 PM
                                        Mill *is* a speculationJacob Marley2019/01/06 09:29 PM
                                          Mill *is* a speculationBrett2019/01/07 03:24 AM
                                            Mill *is* a speculationMichael S2019/01/07 04:23 AM
                                            Mill *is* a speculationEric Bron2019/01/07 04:36 AM
                                              Mill *is* a speculationBrett2019/01/07 02:40 PM
                                                Mill *is* a speculationEric Bron2019/01/07 04:32 PM
                                            Mill is something you don't understandHeikki Kultala2019/01/08 03:19 AM
                                              Mill is something you don't understandMichael S2019/01/08 06:44 AM
                                                Itanium and static vs dynamicHeikki Kultala2019/01/09 02:14 AM
                                                  Itanium and static vs dynamicPaul A. Clayton2019/01/09 07:51 AM
                                        Mill *is* a speculationEric Bron2019/01/07 04:27 AM
                                          Mill *is* a speculationEric Bron2019/01/07 05:23 AM
                                      Mill *is* a speculationanon2019/01/07 05:24 AM
                                        Mill *is* a speculationEric Bron2019/01/07 05:52 AM
                                          Mill *is* a speculationanon2019/01/07 07:36 AM
                                            Mill *is* a speculationEric Bron2019/01/07 08:20 AM
                                        Mill *is* a speculationjuanrga2019/01/07 09:22 AM
                                          Mill *is* a speculationanon2019/01/07 12:16 PM
                                        Mill *is* a speculationanon2019/01/07 08:46 PM
                                          Mill *is* a speculationanon2019/01/08 12:56 AM
                                            Mill *is* a speculationanon2019/01/08 02:39 AM
                                              Mill *is* a speculationMichael S2019/01/08 02:52 AM
                                                Mill *is* a speculationanon2019/01/08 09:10 PM
                                                  Wasted width not wasted work.Brett2019/01/09 10:44 AM
                                                    No such thing was declared. (NT)anon2019/01/09 02:41 PM
                                                    Very simple test for new uarch ideassomeone2019/01/10 06:03 AM
                                                      Very simple test for new uarch ideasdmcq2019/01/10 06:21 AM
                                                        Very simple test for new uarch ideasDoug S2019/01/10 09:01 AM
                                                          Very simple test for new uarch ideasDan Fay2019/01/10 12:13 PM
                                                      Very simple test for new uarch ideasanonymous22019/01/10 10:03 AM
                                                        Very simple test for new uarch ideasAlberto2019/01/10 10:32 AM
                                                      Very simple test for new uarch ideasEtienne2019/01/11 02:03 AM
                                                        Very simple test for new uarch ideasFoo_2019/01/11 03:31 AM
                                                          Very simple test for new uarch ideasEtienne2019/01/11 04:51 AM
                                                            Very simple test for new uarch ideasFoo_2019/01/11 04:53 AM
                                                              Very simple test for new uarch ideasdmcq2019/01/11 05:08 AM
                                                              Very simple test for new uarch ideasEtienne2019/01/11 05:13 AM
                                                                Very simple test for new uarch ideasFoo_2019/01/11 05:54 AM
                                                                  Very simple test for new uarch ideasEtienne2019/01/11 06:32 AM
                                                                    Very simple test for new uarch ideasBrett2019/01/11 09:25 AM
                                                                      Very simple test for new uarch ideasMegol2019/01/12 05:29 AM
                                                                        Very simple test for new uarch ideasMichael S2019/01/12 08:21 AM
                                                                          Word salad AI fundamentaliy brokenBrett2019/01/12 12:59 PM
                                                                          Very simple test for new uarch ideasMegol2019/01/13 10:51 AM
                                              Mill *is* a speculationanon2019/01/08 07:50 AM
                                                Mill *is* a speculationEric Bron2019/01/08 08:03 AM
                                                  Mill *is* a speculationanon2019/01/08 08:21 AM
                      "Leaf branch" is not a commonly used termMichael S2019/01/03 06:57 AM
                        "Leaf branch" is not a commonly used termBrett2019/01/04 02:29 AM
                  Calls are not needed for speculation for mill if there are no side effect,and dont help if there areHeikki Kultala2019/01/08 03:28 AM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.anon2019/01/02 02:05 AM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Doug S2019/01/02 10:38 AM
                No. Mill does not get the hit because it does not get the benefit even when correctly predicted.rwessel2019/01/02 04:53 PM
                  No. Mill does not get the hit because it does not get the benefit even when correctly predicted.anon2019/01/02 07:56 PM
                    itanicBrett2019/01/02 11:41 PM
                      itanicanon2019/01/03 02:12 AM
                      itanicDavid Hess2019/01/03 07:06 AM
                    No. Mill does not get the hit because it does not get the benefit even when correctly predicted.rwessel2019/01/03 08:18 AM
                      No. Mill does not get the hit because it does not get the benefit even when correctly predicted.anon2019/01/04 04:25 AM
                    Itanium could have been RISC or CISC - same outcomesomeone2019/01/04 06:45 AM
                      Itanium could have been RISC or CISC - same outcomeDoug S2019/01/04 11:39 AM
                        Itanium could have been RISC or CISC - same outcomeJan Olšan2019/01/04 12:58 PM
                          "fluffyRISC" has a namevvid2019/01/04 02:48 PM
                        Itanium could have been RISC or CISC - same outcomeBrett2019/01/04 02:43 PM
                      Itanium could have been RISC or CISC - same outcomeanonymou52019/01/04 11:41 AM
                  No. Mill does not get the hit because it does not get the benefit even when correctly predicted.David Hess2019/01/03 07:15 AM
                No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Maynard Handley2019/01/03 11:24 AM
                  No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Maynard Handley2019/01/03 11:27 AM
                    No. Mill does not get the hit because it does not get the benefit even when correctly predicted.dmcq2019/01/04 12:59 AM
                  EPIC target marketsFoo_2019/01/04 05:29 AM
                    EPIC target marketsDoug S2019/01/04 11:42 AM
                      Lack of future visionDoug S2019/01/04 11:57 AM
                        Lack of future visionBrett2019/01/04 01:59 PM
                          Lack of future visionDoug S2019/01/04 03:25 PM
                            Lack of future visionBrett2019/01/04 04:18 PM
                              Lack of future visionDoug S2019/01/04 11:47 PM
                                Lack of future visionBrett2019/01/05 01:06 PM
                                  Lack of future visiondmcq2019/01/05 01:22 PM
                                  Lack of future visionanon2019/01/05 02:01 PM
                                    Lack of future visionMichael S2019/01/05 03:18 PM
                                      Lack of future visionanon2019/01/05 05:14 PM
                                        Lack of future visionMichael S2019/01/06 01:01 AM
                                          Lack of future visionanon2019/01/06 02:23 AM
                                          Mitch Alsup's MY66000 uses IF-like predication (I think) (NT)Paul A. Clayton2019/01/06 03:54 PM
                                            ??? (NT)Michael S2019/01/07 04:25 AM
                                            88K ? (NT)anonymous22019/01/07 03:20 PM
                                          Modestly expanded response: MY66000 predicate shadowPaul A. Clayton2019/01/07 10:53 AM
                      Thanks for the correction (NT)Foo_2019/01/04 03:31 PM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.sdrc2019/01/04 06:36 AM
          Mill and Independent micro threadsMichael S2019/01/02 01:32 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell purple?