Bulldozer's integer execution units

By: David Kanter (dkanter.delete@this.realworldtech.com), April 26, 2012 4:03 pm
Room: Moderated Discussions
Exophase (exophase@gmail.com) on 4/26/12 wrote:
---------------------------
>David Kanter (dkanter@realworldtech.com) on 4/25/12 wrote:
>---------------------------
>>Just a few quick notes from the Bulldozer ISSCC presentations:
>>
>>1. AGUs do INC/DEC for PUSH/POP only
>>2. Single cycle data and flag bypass from any of the 4 units
>>3. Replicated PRF for 8 reads and 4 writes (each unit can write 1 result)
>>4. ALUs bypass to all ALUs and AGUs
>>5. AGU0 bypasses to ALU0 and AGU1 to ALU1. AGUs do not bypass to each other or to the other ALU.
>>6. Only ALUs produce and consume flags
>>7. INC was replicated to maintain single cycle latency on certain paths
>>8. The L2 cache array has a 6-cycle internal pipeline. I suspect that means the
>>remaining cycles are for L1D check (4 cycles) and then 10 cycles for sending the
>>request, returning the data, checking the L2 tags, etc.
>>
>>Hopefully this sheds a bit more light on Bulldozer.
>>
>>
>>David
>>
>>
>
>Thank you, this is very helpful information. In this case the person who claimed
>to have tested inc/dec + alu throughput must have been mistaken. Do you know if
>the AGUs handle both 32-bit and 64-bit push/pop stack >adjustment?

I don't *know*. But I don't see why you wouldn't do 64-bit...you have the hardware for it.

>I wonder how much the lack of bypassing from AGU to the >opposite ALU and AGU hurts
>performance. What kind of penalty does this incur; does >latency increase entirely
>until a PRF writeback stage or does it take a longer bypass >path (ie, AG0->EX0->EX1->AG1 to cover the entire distance)?

I think the first question to ask is whether it matters. In many respects, this arrangement seems to mirror the design of the K8. Each 'lane' has an AGU and ALU, to handle load+op. Forwarding flows out of the lane from the ALU.

Looking from a SW perspective, what is the case that AGU0-->AGU1 or AGU0-->ALU1 handles?

If you fire off a load from AGU0, you get the result in a register. If some other ALU/AGU needs that, it can probably get the result from the L1D forwarding or from the register file directly.

>Do you have any opinion on the claims that the SOG makes regarding Piledriver,
>that it adds mov, xchg, bextr, and xadd capability to the AGUs? mov/xchg make sense,
>but xadd/bextr modify the flags. Whether this means the AGUs can now modify flags
>or that flag modification can be suppressed like Linus was describing, it doesn't
>make sense that these obscure instructions would be >supported while the more common ones wouldn't be.

No idea.

>Still seems like the AG units having full access to the PRF but only being able
>to do the operations they can do is kind of a waste.

Hrmmm, why? Intel's AGUs do nothing but address generation IIRC.

DK
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Phoronix tests GCC compiler flags and Bulldozer.I.S.T.2012/04/19 03:05 AM
  Single page view?David Kanter2012/04/19 08:59 AM
    Single page view?wainwright2012/04/19 09:22 AM
    Single page view?slothrop2012/04/19 09:23 AM
      Single page view?David Kanter2012/04/19 09:31 AM
        Single page view?EduardoS2012/04/19 03:12 PM
    Is there a single page view option for RWT articles?anon2012/04/19 09:27 AM
    Single page view?Del2012/04/19 09:36 AM
      Single page view?slacker2012/04/19 03:56 PM
        Single page view?Del2012/04/22 06:09 AM
          Single page view?David Kanter2012/04/22 09:38 AM
            Single page view?Del2012/04/23 01:22 AM
    Single page view?Michael S2012/04/19 01:30 PM
      Single page view?Ungo2012/04/19 02:25 PM
        Single page view?Foo_2012/04/20 12:17 AM
          Single page view?James2012/04/20 04:01 AM
            There are ads on the web?JJB2012/04/20 04:32 AM
              What a bunch of freeloaders (NT)slacker2012/04/20 01:44 PM
                So are you, probablyiz2012/04/21 04:41 AM
                  Impression ad revenuePaul A. Clayton2012/04/21 06:44 AM
                  So are you, probablyslacker2012/04/21 01:09 PM
                    So are you, probablyDavid Kanter2012/04/22 09:41 AM
                      So are you, probablyiz2012/04/22 03:57 PM
                    So are you, probablyDoug Siebert2012/04/22 12:37 PM
                      Aha!David Kanter2012/04/22 03:45 PM
                        Aha!bakaneko2012/04/22 08:49 PM
                    So are you, probablyiz2012/04/22 03:48 PM
                      That's not how the business works...David Kanter2012/04/22 05:31 PM
                        That's not how the business works...iz2012/04/23 01:49 AM
                      So are you, probablyslacker2012/04/22 11:31 PM
                        back to phoronixMichael S2012/04/23 02:07 AM
                        So are you, probablyiz2012/04/23 03:29 AM
                          Membership at RWTDavid Kanter2012/04/23 11:24 AM
                          So are you, probablyJukka Larja2012/04/27 08:59 AM
  So, what do people think of these numbers>I.S.T.2012/04/19 07:34 PM
    So, what do people think of these numbers>Linus Torvalds2012/04/20 08:34 AM
      So, what do people think of these numbers>Kira2012/04/20 09:18 AM
        So, what do people think of these numbers>Linus Torvalds2012/04/20 10:05 AM
      So, what do people think of these numbers>Doug Siebert2012/04/20 09:00 PM
      So, what do people think of these numbers>Megol2012/04/21 09:05 AM
        So, what do people think of these numbers>Linus Torvalds2012/04/21 01:11 PM
          Most problems are fixed...Megol2012/04/24 07:00 AM
    So, what do people think of these numbers>bakaneko2012/04/20 11:16 AM
      So, what do people think of these numbers>bakaneko2012/04/20 11:37 AM
        So, what do people think of these numbers>Linus Torvalds2012/04/20 01:24 PM
          So, what do people think of these numbers>Joel2012/04/20 02:59 PM
            So, what do people think of these numbers>Kira2012/04/20 03:32 PM
              So, what do people think of these numbers>EduardoS2012/04/20 04:00 PM
                Bulldozer's Oddities.Joel2012/04/20 04:54 PM
                  In defense of Bulldozer's OdditiesDavid Kanter2012/04/20 05:32 PM
                    In defense of Bulldozer's OdditiesExophase2012/04/20 07:11 PM
                      In defense of Bulldozer's OdditiesEduardoS2012/04/20 07:46 PM
                        In defense of Bulldozer's OdditiesExophase2012/04/20 08:18 PM
                          In defense of Bulldozer's Odditiesanonymous2012/04/20 11:26 PM
                            In defense of Bulldozer's OdditiesJJB2012/04/20 11:34 PM
                              In defense of Bulldozer's Odditiesimaxx2012/04/21 07:21 AM
                                In defense of Bulldozer's OdditiesMichael S2012/04/21 10:42 AM
                                  Bulldozer's integer execution unitsDavid Kanter2012/04/25 04:29 PM
                                    Bulldozer's integer execution unitsExophase2012/04/26 12:17 PM
                                      Bulldozer's integer execution unitsanonymous2012/04/26 03:15 PM
                                        Bulldozer's integer execution unitsEduardoS2012/04/26 03:40 PM
                                          Bulldozer's integer execution unitsFoo_2012/04/27 08:21 AM
                                            Bulldozer's integer execution unitsMegol2012/04/27 01:38 PM
                                      Bulldozer's integer execution unitsEduardoS2012/04/26 03:47 PM
                                        Bulldozer's integer execution unitsExophase2012/04/26 05:02 PM
                                          Bulldozer's integer execution unitsEduardoS2012/04/26 06:03 PM
                                            Bulldozer's integer execution unitsExophase2012/04/26 06:24 PM
                                              Bulldozer's integer execution unitsEduardoS2012/04/26 07:18 PM
                                                Bulldozer's cache memory performanceHeikki Kultala2012/04/28 01:18 AM
                                                  Bulldozer's cache memory performanceEduardoS2012/04/28 10:06 AM
                                      Bulldozer's integer execution unitsDavid Kanter2012/04/26 04:03 PM
                                        Bulldozer's integer execution unitsExophase2012/04/26 04:59 PM
                                          Bulldozer's integer execution unitsDavid Kanter2012/04/26 10:53 PM
                                            Bulldozer's integer execution unitsExophase2012/04/27 08:42 AM
                                              Bulldozer's integer execution unitsDavid Kanter2012/04/27 11:06 AM
                                                Bulldozer's integer execution unitsEduardoS2012/04/27 01:27 PM
                                                K8 divided pipelines?Paul A. Clayton2012/04/27 01:59 PM
                                          Bulldozer's integer execution unitsMichael S2012/04/27 04:37 AM
                                            Bulldozer's integer execution unitsExophase2012/04/27 08:33 AM
                                            Bulldozer's integer execution unitsanonymous2012/04/27 09:03 AM
                                    Renaming FlagsKonrad Schwarz2012/04/27 03:04 AM
                                      Renaming Flagsnone2012/04/27 04:03 AM
                                        Renaming FlagsMegol2012/04/27 12:42 PM
                                    Bulldozer's integer execution unitshcl642012/04/27 04:31 PM
                                      VEX supports 3+ operands. FPU have renaming already(NT)Megol2012/04/28 08:20 AM
                              In defense of Bulldozer's OdditiesLinus Torvalds2012/04/21 12:26 PM
                                Thanks for the lessonJJB2012/04/21 02:23 PM
                                  Side note..Linus Torvalds2012/04/21 02:57 PM
                            In defense of Bulldozer's OdditiesExophase2012/04/21 12:13 PM
                            In defense of Bulldozer's OdditiesEduardoS2012/04/21 12:53 PM
                    In defense of Bulldozer's OdditiesGionatan Danti2012/04/21 12:42 PM
                    In defense of Bulldozer's Odditieshcl642012/04/27 05:07 PM
                      In defense of Bulldozer's OdditiesDavid Kanter2012/04/28 06:29 AM
                        In defense of Bulldozer's Odditieshcl642012/04/28 02:44 PM
                          In defense of Bulldozer's OdditiesDavid Kanter2012/04/28 09:42 PM
                            In defense of Bulldozer's Odditieshcl642012/04/28 10:39 PM
                  Bulldozer's Oddities.EduardoS2012/04/20 06:05 PM
                    Bulldozer's Oddities.anon2012/04/20 08:32 PM
                      Bulldozer's Oddities.EduardoS2012/04/21 12:37 PM
                        Bulldozer's Oddities.anon2012/04/21 10:16 PM
                          Bulldozer's Oddities.EduardoS2012/04/21 10:43 PM
                            Bulldozer's Oddities.anon2012/04/22 02:09 AM
                              Bulldozer's Oddities.EduardoS2012/04/22 01:57 PM
                                Bulldozer's Oddities.anon2012/04/22 04:17 PM
                                  Bulldozer's Oddities.EduardoS2012/04/22 05:05 PM
                                    Bulldozer's Oddities.anon2012/04/22 05:42 PM
                                      Bulldozer's Oddities.anon2012/04/22 06:01 PM
                                      Bulldozer's Oddities.EduardoS2012/04/22 10:28 PM
                                        Bulldozer's Oddities.anon2012/04/22 11:05 PM
                  Bulldozer's isn't bad.a reader2012/04/21 10:01 AM
                    Bulldozer's isn't bad.Kira2012/04/21 11:29 AM
                      Bulldozer's isn't bad.hcl642012/04/27 05:58 PM
                        Bulldozer's isn't bad.anon2012/04/27 06:16 PM
                          Bulldozer's isn't bad.hcl642012/04/27 07:33 PM
                            Bulldozer's isn't bad.rwessel2012/04/27 11:12 PM
                        Bulldozer's isn't bad.EduardoS2012/04/28 09:29 AM
                          Bulldozer's isn't bad.EduardoS2012/04/28 09:30 AM
                          Bulldozer's isn't bad.Michael S2012/04/28 12:36 PM
                    Bulldozer is made for SPEC fpPelle-482012/04/21 11:41 AM
                  Bulldozer's Oddities.mpx2012/04/22 03:47 AM
                    Bulldozer's Oddities.EduardoS2012/04/22 01:57 PM
                      Bulldozer's Oddities.mpx2012/04/23 07:04 AM
                        Bulldozer's Oddities.Eric2012/04/23 12:33 PM
                          Bulldozer's Oddities.EduardoS2012/04/23 02:22 PM
                            Bulldozer's Oddities.Eric2012/04/23 07:30 PM
                              Bulldozer's Oddities.hcl642012/04/27 06:16 PM
                            Bulldozer's Oddities.Y2012/04/25 04:34 AM
                              Bulldozer's IDIVHeikki Kultala2012/04/27 10:56 PM
                                Bulldozer's IDIVY2012/04/30 01:51 AM
                                  Bulldozer's IDIVEduardoS2012/04/30 05:39 AM
                                    Bulldozer's IDIVP3Dnow2012/05/08 01:23 AM
                                      Bulldozer's IDIVExophase2012/05/08 07:37 AM
                        Bulldozer's Oddities.EduardoS2012/04/23 02:15 PM
              Clustered MT as SMT for high frequencyPaul A. Clayton2012/04/20 04:10 PM
                Clustered MT as SMT for high frequencyhcl642012/04/28 12:56 AM
                  Clustered MT as SMT for high frequencyanonymous2012/04/28 01:43 AM
                    Clustered MT as SMT for high frequencyhcl642012/04/28 02:59 PM
                      Clustered MT as SMT for high frequencyanonymous2012/04/28 08:45 PM
                  Clustered MT as SMT for high frequencyanon2012/04/28 02:13 AM
                    Clustered MT as SMT for high frequencyhcl642012/04/28 03:23 PM
                      Clustered MT as SMT for high frequencyanon2012/04/28 06:19 PM
                        Clustered MT as SMT for high frequencyhcl642012/04/28 07:58 PM
                  Clustered MT as SMT for high frequencyDavid Kanter2012/04/28 06:38 AM
                    Guessed meaning of "strong dependency model"Paul A. Clayton2012/04/28 07:24 AM
                      Guessed meaning of "strong dependency model"EduardoS2012/04/28 09:46 AM
                        *Right meaning* about "strong dependency model"hcl642012/04/28 04:59 PM
                    Clustered MT as SMT for high frequencyhcl642012/04/28 04:24 PM
                      Clustered MT as SMT for high frequencyanonymous2012/04/28 08:50 PM
                        Clustered MT as SMT for high frequencyhcl642012/04/28 09:47 PM
                          SNB widthDavid Kanter2012/04/28 09:48 PM
                            SNB widthhcl642012/04/29 02:24 AM
                      Clustered MT as SMT for high frequencyDavid Kanter2012/04/28 09:56 PM
                        Clustered MT as SMT for high frequencyhcl642012/04/28 11:44 PM
                          SOI, FD vs. PDDavid Kanter2012/04/29 07:19 AM
                            SOI, FD vs. PDhcl642012/04/29 05:31 PM
                              SOI, FD vs. PDDavid Kanter2012/04/29 11:26 PM
                                SOI, FD vs. PDhcl642012/04/30 08:08 AM
                                  SOI, FD vs. PDDavid Kanter2012/04/30 09:59 AM
                                    SOI, FD vs. PDhcl642012/04/30 06:10 PM
                                      SOI, FD vs. PDDavid Kanter2012/04/30 06:32 PM
                                        SOI, FD vs. PDhcl642012/04/30 10:47 PM
                                          SOI, FD vs. PDDavid Kanter2012/05/01 02:24 AM
                                            SOI, FD vs. PDhcl642012/05/01 05:46 AM
                                            SOI, FD vs. PDhcl642012/05/01 06:37 AM
                                              SOI, FD vs. PDDavid Kanter2012/05/01 08:19 AM
                                          SOI, FD vs. PDhcl642012/05/01 07:39 AM
                                            PD-SOIDavid Kanter2012/05/02 12:22 PM
                                    SOI, FD vs. PDslacker2012/04/30 08:10 PM
                                      SOI, FD vs. PDDavid Kanter2012/04/30 10:16 PM
                                        SOI, FD vs. PDslacker2012/05/01 10:04 PM
                                          SOI, FD vs. PDDavid Kanter2012/05/02 08:19 AM
                                            SOI, FD vs. PDzou2012/05/02 12:23 PM
                  Previous discussion of clustered MTPaul A. Clayton2012/04/28 07:00 AM
                    Previous discussion of clustered MThcl642012/04/28 09:38 PM
                      Previous discussion of clustered MTDavid Kanter2012/04/30 04:37 PM
                        Previous discussion of clustered MThcl642012/04/30 07:24 PM
                          Previous discussion of clustered MTDavid Kanter2012/04/30 07:40 PM
                            Previous discussion of clustered MThcl642012/05/01 09:15 AM
                              Latency issuesDavid Kanter2012/05/02 12:01 PM
              So, what do people think of these numbers>Megol2012/04/21 01:57 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?