Alder Lake: 1st Intel/AMD CPU with 6 instruction decoders

By: Linus Torvalds (torvalds.delete@this.linux-foundation.org),
Room: Moderated Discussions
Adrian (a.delete@this.acm.org) on August 20, 2021 1:00 pm wrote:
>
> So I expect that increasing the number of fetched instruction bytes per cycle from 16 to 32 bytes
> would allow the decoding of 4 instructions per cycle in any circumstances, which will increase the
> average number of decoded instructions per cycle from maybe a little above 3 to 4, at least for the
> cycles when the instruction fetching is not delayed by mispredicted branches or cache misses.

..or affected by any of the instructions that want that first special decoder that Intel traditionally had.

Some of them are quite simple and common instructions. Things like "call" instructions, but also anything that has two immediates (ie compare immediate with memory operand with an offset - the uops can at least historically only contain one immediate value, and the address offset counts as one).

And the wider the decoder is, the more noticeable these secondary kind of "oh, have to decode in the first decoder" issues will be too.

That said, considering the fairly big change to the decoder, it may well be that Intel has changed their decoding rules in other ways, and hopefully that first decoder isn't as special any more.

Fingers crossed.

Linus
< Previous Post in ThreadNext Post in Thread >
Thread (141 posts)
TopicPosted ByPosted
Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersAdrian
  Alder Lake: the Intel presentationAdrian
    Intel Mount Evans with 16 ARM Neoverse N1 coresAdrian
      No AVX-512?me
        No AVX-512?Adrian
          No AVX-512?me
            No AVX-512?Adrian
              No AVX-512?Michael S
                No AVX-512?Adrian
              No AVX-512?me
                No AVX-512?Adrian
                  No AVX-512?me
                    No AVX-512?Adrian
                      No AVX-512?me
              No AVX-512?yangrq
                No AVX-512?Adrian
                  No AVX-512?me
                    No AVX-512?Adrian
                      No AVX-512?yangrq
                      No AVX-512?me
              No AVX-512?Robert Williams
              No AVX-512?David Hess
                No AVX-512?me
                  No AVX-512?David Hess
                    No AVX-512?me
                      No AVX-512?David Hess
                        No AVX-512?Andrey
                        No AVX-512?me
                          No AVX-512?David Hess
                            No AVX-512?Linus Torvalds
                              Multithreading vs. SIMDAndrey
                                Multithreading vs. SIMDrwessel
                                Multithreading vs. SIMDLinus Torvalds
                                  Multithreading vs. SIMD-.-
                                  Multithreading vs. SIMDAndrey
                                    Multithreading vs. SIMDAdrian
                                    Multithreading vs. SIMDJukka Larja
                                      Multithreading vs. SIMDAndrey
                                      Multithreading vs. SIMDMichael S
                                    Multithreading vs. SIMDLinus Torvalds
                                      Multithreading vs. SIMDme
                                      Multithreading vs. SIMDJörn Engel
                                        Multithreading vs. SIMD-.-
                                  Multithreading vs. SIMDAdrian
                                  Multithreading vs. SIMDMichael S
                                Litle cores also give more threads/areaHeikki Kultala
                              No AVX-512?Adrian
                              No AVX-512?Doug S
                                No AVX-512?Adrian
                                  No AVX-512?Romain Dolbeau
          AVX512, and 256b subsetsDavid Kanter
        So just use AVX2?anonymous2
          So just use AVX2?Laurence Parry
          So just use AVX2?Jörn Engel
          So just use AVX2?Heikki Kultala
            So just use AVX2?Michael S
            So just use AVX2?None
              So just use AVX2?Michael S
                So just use AVX2?None
                  So just use AVX2?Michael S
      Intel Mount Evans with 16 ARM Neoverse N1 coresMichael S
        Intel Mount Evans with 16 ARM Neoverse N1 coresAdrian
      Intel Mount Evans with 16 ARM Neoverse N1 coresBeastian
    Gracemont efficiencyAdrian
      Gracemont efficiencyFoo_
        Gracemont efficiencyrwessel
          Gracemont efficiencyFoo_
          Gracemont efficiencyDavid Hess
        Gracemont efficiency---
          Gracemont efficiencyDavid Hess
        Gracemont efficiencyAdrian
          Gracemont efficiencyGroo
            Gracemont efficiencyme
              Gracemont efficiencyMichael S
                Gracemont efficiencyme
                Gracemont efficiencyGroo
              Gracemont efficiencyAdrian
                Gracemont efficiencysylt
                  Gracemont efficiencyAdrian
                    Gracemont efficiencyrwessel
                      Gracemont efficiencyJukka Larja
                        Gracemont efficiencyGabriele Svelto
                          Gracemont efficiencygallier2
                            Gracemont efficiencyGabriele Svelto
                              Gracemont efficiencygallier2
                    Gracemont efficiencyGabriele Svelto
                      Gracemont efficiencysylt
                        Gracemont efficiency---
                  Gracemont efficiencyDoug S
                  Gracemont efficiencyJukka Larja
                    Gracemont efficiencyAdrian
            Gracemont efficiencyAdrian
  Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersLinus Torvalds
    Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersAdrian
      Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersMark Roulo
        Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersLinus Torvalds
        Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersAdrian
          Alder Lake: 1st Intel/AMD CPU with 6 instruction decodersLinus Torvalds
  32B pre-decode probably more importantDavid Kanter
    32B pre-decode probably more importantAdrian
    32B pre-decode probably more importantMark Roulo
      32B pre-decode probably more importantLinus Torvalds
      32B pre-decode probably more importantDoug S
        32B pre-decode probably more importantme
          32B pre-decode probably more importantJukka Larja
            32B pre-decode probably more importantme
              32B pre-decode probably more importantJukka Larja
        32B pre-decode probably more importantMark Roulo
          32B pre-decode probably more importantMatt Sayler
          32B pre-decode probably more importantDoug S
        32B pre-decode probably more importantCarson
          32B pre-decode probably more importantDoug S
            32B pre-decode probably more importantCarson
              32B pre-decode probably more importantJukka Larja
                32B pre-decode probably more importantAdrian
                  32B pre-decode probably more importantCarson
              32B pre-decode probably more importantDoug S
                32B pre-decode probably more importantCarson
                  32B pre-decode probably more importantAndrey
                    32B pre-decode probably more importantDoug S
                      32B pre-decode probably more importantAdrian
                    Intel 22 nm - 10 nmMark Roulo
                      Intel 22 nm - 10 nmme
                        Intel 22 nm - 10 nmAndrey
                      Intel 22 nm - 10 nmGroo
                  32B pre-decode probably more importantDavid Hess
          32B pre-decode probably more importantDavid Kanter
            32B pre-decode probably more important---
              32B pre-decode probably more importantDoug S
                Cloud pricingAnon
                  Cloud pricingDoug S
        Apples low-endHeikki Kultala
          Apples low-endJukka Larja
            Apples low-end---
              Apples low-endDoug S
                Apples low-endMaxwell
                Apples low-endJose
              Apples low-endJukka Larja
                Apples low-end---
                  Apples low-endJukka Larja
          Apples low-endDoug S