1 µop per instruction is not necessary

By: Paul A. Clayton (paaronclayton.delete@this.gmail.com), November 17, 2016 12:09 pm
Room: Moderated Discussions
Wilco (Wilco.Dijkstra.delete@this.ntlworld.com) on November 15, 2016 2:43 am wrote:
> dmcq (dmcq.delete@this.fano.co.uk) on November 15, 2016 2:17 am wrote:
[snip[]
>> No that doesn't follow. As well as instructions that are split there are also ones that
>> are fused, especially for constructing constants. And I'm not sure what they do about
>> unconditional branches, why should they form micro-ops at all? It is just a ratio between
>> instructions and micro-ops that almost by chance happens to be so close to 1.
>
> No it's not by chance. An OoO core emits at least 1 micro op for all instructions,
> including NOPs and even fused instructions in some cases. Pretty much all commonly
> used instructions are a single micro op, you can check this yourself.

While I agree that it is not "almost by chance" that the count of µops and instructions are so close, an OoO core does not need to emit "at least 1 micro op for all instructions". Nops can be easily fused with an adjacent instruction. Unconditional relative branches do not have to be
scheduled and an ROB can track at a granularity coarser than single instructions.

Even conditional branches can be fused with other conditional branches: two speculation checks could be merged into a single µop (two dynamic sources, one static/decode-time source). Delaying the evaluation of a high confidence branch (especially if after one or more low confidence branches) may not be particularly expensive. (I suspect that such would not be worthwhile, but it is possible that such would be an optimization.)

A trace cache can facilitate fusion and even a predecoded cache could merge operations past control flow operations. (An implicit fix-up branch cache might allow the main instruction cache to avoid replication while avoiding some reexecution. It seems the distinction between a conventional trace cache and an extensively predecoded instruction cache may become a bit fuzzy.)

With various types of fusion (and fission), scheduler µops that execute more than once, distributed execution (e.g., handling moves and zeroing in the renamer, relative address calculation in decode), variability in ROB/commitment tracking and rollback granularity, and perhaps other factors, the count of µops may not be obviously defined.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Neat die area comparison imageRob2016/10/21 05:39 PM
  Neat die area comparison imageanonymou52016/10/21 06:44 PM
    Neat die area comparison imageMr. Camel2016/10/22 04:58 AM
      Neat die area comparison imageHeikki Kultala2016/10/22 05:19 AM
        Neat die area comparison imageMr. Camel2016/10/22 07:10 AM
          Neat die area comparison imageMr. Camel2016/10/22 07:15 AM
          different caches...Heikki Kultala2016/10/22 08:29 AM
            Broadwell includes LLC, just for comparisionanon2016/10/22 08:52 AM
              Broadwell includes LLC, just for comparisionjuanrga2016/10/23 06:09 AM
                Broadwell includes LLC, just for comparisionanon2016/10/23 07:25 AM
                  Broadwell includes LLC, just for comparisionjuanrga2016/10/25 09:57 AM
                    Broadwell includes LLC, just for comparisionSimon Farnsworth2016/10/25 11:03 AM
                      Broadwell includes LLC, just for comparisionjuanrga2016/10/28 02:02 AM
                        Broadwell includes LLC, just for comparisionanon2016/10/28 04:13 AM
                          Broadwell includes LLC, just for comparisionjuanrga2016/10/29 09:47 PM
                            Broadwell includes LLC, just for comparisionTravis2016/10/30 06:34 PM
                              Broadwell includes LLC, just for comparisionjuanrga2016/10/31 04:35 AM
                                Broadwell includes LLC, just for comparisionSimon Farnsworth2016/10/31 04:42 AM
                                Broadwell includes LLC, just for comparisionanon2016/11/01 12:56 PM
                                  Broadwell includes LLC, just for comparisionMaynard Handley2016/11/01 01:37 PM
                                    Broadwell includes LLC, just for comparisionanon2016/11/01 04:22 PM
                                      Broadwell includes LLC, just for comparisionMaynard Handley2016/11/01 07:30 PM
                                        Broadwell includes LLC, just for comparisionanon2016/11/02 06:15 AM
                                          Broadwell includes LLC, just for comparisionMaynard Handley2016/11/02 09:23 AM
                                            Broadwell includes LLC, just for comparisionanon2016/11/02 11:50 AM
                                  Broadwell includes LLC, just for comparisionSimon Farnsworth2016/11/02 02:48 AM
                        Broadwell includes LLC, just for comparisionSimon Farnsworth2016/10/28 06:19 AM
                          Broadwell includes LLC, just for comparisionjuanrga2016/10/29 10:15 PM
                            Broadwell includes LLC, just for comparisionSimon Farnsworth2016/10/30 12:31 PM
                        Broadwell includes LLC, just for comparisionRicardo B2016/10/29 05:30 PM
                    underclocked is different than designed for low clock speedHeikki Kultala2016/10/25 11:47 PM
                      underclocked is different than designed for low clock speedMaynard Handley2016/10/26 10:07 AM
                      That wasn't the pointjuanrga2016/10/28 02:15 AM
                        Even without the point you have invalid comparisonHeikki Kultala2016/10/28 09:03 AM
                          8 wide vs 6 widejuanrga2016/10/29 10:41 PM
                            8 wide vs 6 wideWilco2016/10/30 05:00 AM
                              8 wide vs 6 wideDoug S2016/10/30 12:20 PM
                                8 wide vs 6 wideWilco2016/10/30 01:12 PM
                                8 wide vs 6 widejuanrga2016/10/30 02:56 PM
                                  8 wide vs 6 wideTravis2016/10/30 07:13 PM
                                    8 wide vs 6 widejuanrga2016/10/31 04:55 AM
                                      8 wide vs 6 wideanon2016/11/01 01:00 PM
                                        SoftMachinesnone2016/11/02 03:57 AM
                                          SoftMachinesDavid Kanter2016/11/02 08:53 AM
                                        8 wide vs 6 widejuanrga2016/11/03 12:35 PM
                                          8 wide vs 6 wideWilco2016/11/03 02:13 PM
                                            8 wide vs 6 widejuanrga2016/11/03 07:35 PM
                                              8 wide vs 6 wideWilco2016/11/04 01:27 PM
                                                8 wide vs 6 widejuanrga2016/11/04 06:08 PM
                                                  8 wide vs 6 wideWilco2016/11/06 04:52 AM
                                                    8 wide vs 6 widejuanrga2016/11/06 04:56 PM
                                                      8 wide vs 6 wideWilco2016/11/07 04:25 AM
                                              8 wide vs 6 wideAaron Spink2016/11/04 04:08 PM
                                                8 wide vs 6 widejuanrga2016/11/04 06:10 PM
                                            Dunning-Krueger effectHeikki Kultala2016/11/04 03:22 AM
                                              Dunning-Krueger effectitsmydamnation2016/11/04 02:48 PM
                                          8 wide vs 6 wideanon2016/11/04 03:38 AM
                                            8 wide vs 6 widejuanrga2016/11/04 05:05 AM
                                              8 wide vs 6 wideanon2016/11/04 06:12 AM
                                                8 wide vs 6 wideWilco2016/11/04 01:12 PM
                                                  8 wide vs 6 wideanon2016/11/04 02:54 PM
                                                    8 wide vs 6 widejuanrga2016/11/04 05:34 PM
                                                      8 wide vs 6 wideanon2016/11/05 02:14 AM
                                                  8 wide vs 6 widejuanrga2016/11/04 05:39 PM
                                                    8 wide vs 6 wideWilco2016/11/06 05:15 AM
                                                      8 wide vs 6 widejuanrga2016/11/06 05:06 PM
                                                        8 wide vs 6 wideWilco2016/11/07 03:45 AM
                                                          8 wide vs 6 wideDavid Kanter2016/11/07 08:43 PM
                                                            8 wide vs 6 wideWilco2016/11/08 03:57 AM
                                                          8 wide vs 6 widejuanrga2016/11/14 12:12 PM
                                                            8 wide vs 6 wideWilco2016/11/14 04:53 PM
                                                              8 wide vs 6 widedmcq2016/11/15 03:17 AM
                                                                8 wide vs 6 wideWilco2016/11/15 03:43 AM
                                                                  8 wide vs 6 widedmcq2016/11/15 04:28 AM
                                                                  1 µop per instruction is not necessaryPaul A. Clayton2016/11/17 12:09 PM
                                                              8 wide vs 6 widejuanrga2016/11/20 06:56 AM
                                                                8 wide vs 6 wideWilco2016/11/21 05:54 PM
                                                                  8 wide vs 6 widejuanrga2016/11/22 08:49 AM
                                                                    8 wide vs 6 wideWilco2016/11/22 03:25 PM
                                  8 wide vs 6 wideWilco2016/10/31 03:03 AM
                              Skylake can retire 8 uopsDavid Kanter2016/10/31 12:41 AM
                                Skylake can retire 8 uopsjuanrga2016/10/31 04:15 AM
                                  Skylake can retire 8 uopsAlberto2016/11/04 07:22 AM
                            8 wide vs 6 wide bogus numbersHeikki Kultala2016/10/30 06:25 AM
                    Broadwell includes LLC, just for comparisionanon2016/10/26 03:10 AM
                      Pushing the hidden agendajuanrga2016/10/28 03:11 AM
                        Pushing the hidden agendaanon2016/10/28 04:35 AM
      Neat die area comparison imageDavid Hess2016/10/22 01:26 PM
        Neat die area comparison imageanon22016/10/22 05:20 PM
          Neat die area comparison imageDavid Hess2016/10/22 10:31 PM
            Neat die area comparison imageanon22016/10/23 01:50 AM
        Neat die area comparison imageTravis2016/10/24 01:26 PM
          Neat die area comparison imageMaynard Handley2016/10/24 04:27 PM
            Neat die area comparison imagejuanrga2016/10/25 10:02 AM
            Neat die area comparison imageDavid Hess2016/10/25 09:59 PM
              Neat die area comparison imageTravis2016/10/25 10:22 PM
                Neat die area comparison imageDavid Hess2016/10/25 10:37 PM
                  Neat die area comparison imageTravis2016/10/30 06:09 PM
              Neat die area comparison imageGabriele Svelto2016/10/26 02:23 AM
                Neat die area comparison imageDoug S2016/10/26 08:17 AM
                  Neat die area comparison imageJukka Larja2016/10/27 09:28 AM
              Neat die area comparison imageanon2016/10/26 03:32 AM
      Neat die area comparison imagejuanrga2016/10/23 06:29 AM
    Neat die area comparison imageMatthias Waldhauer2016/10/22 06:12 AM
  Neat die area comparison imagejuanrga2016/10/23 05:44 AM
  Neat die area comparison imageGabriele Svelto2016/10/24 02:17 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊