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.04/19/12 03:05 AM
  Single page view?David Kanter04/19/12 08:59 AM
    Single page view?wainwright04/19/12 09:22 AM
    Single page view?slothrop04/19/12 09:23 AM
      Single page view?David Kanter04/19/12 09:31 AM
        Single page view?EduardoS04/19/12 03:12 PM
    Is there a single page view option for RWT articles?anon04/19/12 09:27 AM
    Single page view?Del04/19/12 09:36 AM
      Single page view?slacker04/19/12 03:56 PM
        Single page view?Del04/22/12 06:09 AM
          Single page view?David Kanter04/22/12 09:38 AM
            Single page view?Del04/23/12 01:22 AM
    Single page view?Michael S04/19/12 01:30 PM
      Single page view?Ungo04/19/12 02:25 PM
        Single page view?Foo_04/20/12 12:17 AM
          Single page view?James04/20/12 04:01 AM
            There are ads on the web?JJB04/20/12 04:32 AM
              What a bunch of freeloaders (NT)slacker04/20/12 01:44 PM
                So are you, probablyiz04/21/12 04:41 AM
                  Impression ad revenuePaul A. Clayton04/21/12 06:44 AM
                  So are you, probablyslacker04/21/12 01:09 PM
                    So are you, probablyDavid Kanter04/22/12 09:41 AM
                      So are you, probablyiz04/22/12 03:57 PM
                    So are you, probablyDoug Siebert04/22/12 12:37 PM
                      Aha!David Kanter04/22/12 03:45 PM
                        Aha!bakaneko04/22/12 08:49 PM
                    So are you, probablyiz04/22/12 03:48 PM
                      That's not how the business works...David Kanter04/22/12 05:31 PM
                        That's not how the business works...iz04/23/12 01:49 AM
                      So are you, probablyslacker04/22/12 11:31 PM
                        back to phoronixMichael S04/23/12 02:07 AM
                        So are you, probablyiz04/23/12 03:29 AM
                          Membership at RWTDavid Kanter04/23/12 11:24 AM
                          So are you, probablyJukka Larja04/27/12 08:59 AM
  So, what do people think of these numbers>I.S.T.04/19/12 07:34 PM
    So, what do people think of these numbers>Linus Torvalds04/20/12 08:34 AM
      So, what do people think of these numbers>Kira04/20/12 09:18 AM
        So, what do people think of these numbers>Linus Torvalds04/20/12 10:05 AM
      So, what do people think of these numbers>Doug Siebert04/20/12 09:00 PM
      So, what do people think of these numbers>Megol04/21/12 09:05 AM
        So, what do people think of these numbers>Linus Torvalds04/21/12 01:11 PM
          Most problems are fixed...Megol04/24/12 07:00 AM
    So, what do people think of these numbers>bakaneko04/20/12 11:16 AM
      So, what do people think of these numbers>bakaneko04/20/12 11:37 AM
        So, what do people think of these numbers>Linus Torvalds04/20/12 01:24 PM
          So, what do people think of these numbers>Joel04/20/12 02:59 PM
            So, what do people think of these numbers>Kira04/20/12 03:32 PM
              So, what do people think of these numbers>EduardoS04/20/12 04:00 PM
                Bulldozer's Oddities.Joel04/20/12 04:54 PM
                  In defense of Bulldozer's OdditiesDavid Kanter04/20/12 05:32 PM
                    In defense of Bulldozer's OdditiesExophase04/20/12 07:11 PM
                      In defense of Bulldozer's OdditiesEduardoS04/20/12 07:46 PM
                        In defense of Bulldozer's OdditiesExophase04/20/12 08:18 PM
                          In defense of Bulldozer's Odditiesanonymous04/20/12 11:26 PM
                            In defense of Bulldozer's OdditiesJJB04/20/12 11:34 PM
                              In defense of Bulldozer's Odditiesimaxx04/21/12 07:21 AM
                                In defense of Bulldozer's OdditiesMichael S04/21/12 10:42 AM
                                  Bulldozer's integer execution unitsDavid Kanter04/25/12 04:29 PM
                                    Bulldozer's integer execution unitsExophase04/26/12 12:17 PM
                                      Bulldozer's integer execution unitsanonymous04/26/12 03:15 PM
                                        Bulldozer's integer execution unitsEduardoS04/26/12 03:40 PM
                                          Bulldozer's integer execution unitsFoo_04/27/12 08:21 AM
                                            Bulldozer's integer execution unitsMegol04/27/12 01:38 PM
                                      Bulldozer's integer execution unitsEduardoS04/26/12 03:47 PM
                                        Bulldozer's integer execution unitsExophase04/26/12 05:02 PM
                                          Bulldozer's integer execution unitsEduardoS04/26/12 06:03 PM
                                            Bulldozer's integer execution unitsExophase04/26/12 06:24 PM
                                              Bulldozer's integer execution unitsEduardoS04/26/12 07:18 PM
                                                Bulldozer's cache memory performanceHeikki Kultala04/28/12 01:18 AM
                                                  Bulldozer's cache memory performanceEduardoS04/28/12 10:06 AM
                                      Bulldozer's integer execution unitsDavid Kanter04/26/12 04:03 PM
                                        Bulldozer's integer execution unitsExophase04/26/12 04:59 PM
                                          Bulldozer's integer execution unitsDavid Kanter04/26/12 10:53 PM
                                            Bulldozer's integer execution unitsExophase04/27/12 08:42 AM
                                              Bulldozer's integer execution unitsDavid Kanter04/27/12 11:06 AM
                                                Bulldozer's integer execution unitsEduardoS04/27/12 01:27 PM
                                                K8 divided pipelines?Paul A. Clayton04/27/12 01:59 PM
                                          Bulldozer's integer execution unitsMichael S04/27/12 04:37 AM
                                            Bulldozer's integer execution unitsExophase04/27/12 08:33 AM
                                            Bulldozer's integer execution unitsanonymous04/27/12 09:03 AM
                                    Renaming FlagsKonrad Schwarz04/27/12 03:04 AM
                                      Renaming Flagsnone04/27/12 04:03 AM
                                        Renaming FlagsMegol04/27/12 12:42 PM
                                    Bulldozer's integer execution unitshcl6404/27/12 04:31 PM
                                      VEX supports 3+ operands. FPU have renaming already(NT)Megol04/28/12 08:20 AM
                              In defense of Bulldozer's OdditiesLinus Torvalds04/21/12 12:26 PM
                                Thanks for the lessonJJB04/21/12 02:23 PM
                                  Side note..Linus Torvalds04/21/12 02:57 PM
                            In defense of Bulldozer's OdditiesExophase04/21/12 12:13 PM
                            In defense of Bulldozer's OdditiesEduardoS04/21/12 12:53 PM
                    In defense of Bulldozer's OdditiesGionatan Danti04/21/12 12:42 PM
                    In defense of Bulldozer's Odditieshcl6404/27/12 05:07 PM
                      In defense of Bulldozer's OdditiesDavid Kanter04/28/12 06:29 AM
                        In defense of Bulldozer's Odditieshcl6404/28/12 02:44 PM
                          In defense of Bulldozer's OdditiesDavid Kanter04/28/12 09:42 PM
                            In defense of Bulldozer's Odditieshcl6404/28/12 10:39 PM
                  Bulldozer's Oddities.EduardoS04/20/12 06:05 PM
                    Bulldozer's Oddities.anon04/20/12 08:32 PM
                      Bulldozer's Oddities.EduardoS04/21/12 12:37 PM
                        Bulldozer's Oddities.anon04/21/12 10:16 PM
                          Bulldozer's Oddities.EduardoS04/21/12 10:43 PM
                            Bulldozer's Oddities.anon04/22/12 02:09 AM
                              Bulldozer's Oddities.EduardoS04/22/12 01:57 PM
                                Bulldozer's Oddities.anon04/22/12 04:17 PM
                                  Bulldozer's Oddities.EduardoS04/22/12 05:05 PM
                                    Bulldozer's Oddities.anon04/22/12 05:42 PM
                                      Bulldozer's Oddities.anon04/22/12 06:01 PM
                                      Bulldozer's Oddities.EduardoS04/22/12 10:28 PM
                                        Bulldozer's Oddities.anon04/22/12 11:05 PM
                  Bulldozer's isn't bad.a reader04/21/12 10:01 AM
                    Bulldozer's isn't bad.Kira04/21/12 11:29 AM
                      Bulldozer's isn't bad.hcl6404/27/12 05:58 PM
                        Bulldozer's isn't bad.anon04/27/12 06:16 PM
                          Bulldozer's isn't bad.hcl6404/27/12 07:33 PM
                            Bulldozer's isn't bad.rwessel04/27/12 11:12 PM
                        Bulldozer's isn't bad.EduardoS04/28/12 09:29 AM
                          Bulldozer's isn't bad.EduardoS04/28/12 09:30 AM
                          Bulldozer's isn't bad.Michael S04/28/12 12:36 PM
                    Bulldozer is made for SPEC fpPelle-4804/21/12 11:41 AM
                  Bulldozer's Oddities.mpx04/22/12 03:47 AM
                    Bulldozer's Oddities.EduardoS04/22/12 01:57 PM
                      Bulldozer's Oddities.mpx04/23/12 07:04 AM
                        Bulldozer's Oddities.Eric04/23/12 12:33 PM
                          Bulldozer's Oddities.EduardoS04/23/12 02:22 PM
                            Bulldozer's Oddities.Eric04/23/12 07:30 PM
                              Bulldozer's Oddities.hcl6404/27/12 06:16 PM
                            Bulldozer's Oddities.Y04/25/12 04:34 AM
                              Bulldozer's IDIVHeikki Kultala04/27/12 10:56 PM
                                Bulldozer's IDIVY04/30/12 01:51 AM
                                  Bulldozer's IDIVEduardoS04/30/12 05:39 AM
                                    Bulldozer's IDIVP3Dnow05/08/12 01:23 AM
                                      Bulldozer's IDIVExophase05/08/12 07:37 AM
                        Bulldozer's Oddities.EduardoS04/23/12 02:15 PM
              Clustered MT as SMT for high frequencyPaul A. Clayton04/20/12 04:10 PM
                Clustered MT as SMT for high frequencyhcl6404/28/12 12:56 AM
                  Clustered MT as SMT for high frequencyanonymous04/28/12 01:43 AM
                    Clustered MT as SMT for high frequencyhcl6404/28/12 02:59 PM
                      Clustered MT as SMT for high frequencyanonymous04/28/12 08:45 PM
                  Clustered MT as SMT for high frequencyanon04/28/12 02:13 AM
                    Clustered MT as SMT for high frequencyhcl6404/28/12 03:23 PM
                      Clustered MT as SMT for high frequencyanon04/28/12 06:19 PM
                        Clustered MT as SMT for high frequencyhcl6404/28/12 07:58 PM
                  Clustered MT as SMT for high frequencyDavid Kanter04/28/12 06:38 AM
                    Guessed meaning of "strong dependency model"Paul A. Clayton04/28/12 07:24 AM
                      Guessed meaning of "strong dependency model"EduardoS04/28/12 09:46 AM
                        *Right meaning* about "strong dependency model"hcl6404/28/12 04:59 PM
                    Clustered MT as SMT for high frequencyhcl6404/28/12 04:24 PM
                      Clustered MT as SMT for high frequencyanonymous04/28/12 08:50 PM
                        Clustered MT as SMT for high frequencyhcl6404/28/12 09:47 PM
                          SNB widthDavid Kanter04/28/12 09:48 PM
                            SNB widthhcl6404/29/12 02:24 AM
                      Clustered MT as SMT for high frequencyDavid Kanter04/28/12 09:56 PM
                        Clustered MT as SMT for high frequencyhcl6404/28/12 11:44 PM
                          SOI, FD vs. PDDavid Kanter04/29/12 07:19 AM
                            SOI, FD vs. PDhcl6404/29/12 05:31 PM
                              SOI, FD vs. PDDavid Kanter04/29/12 11:26 PM
                                SOI, FD vs. PDhcl6404/30/12 08:08 AM
                                  SOI, FD vs. PDDavid Kanter04/30/12 09:59 AM
                                    SOI, FD vs. PDhcl6404/30/12 06:10 PM
                                      SOI, FD vs. PDDavid Kanter04/30/12 06:32 PM
                                        SOI, FD vs. PDhcl6404/30/12 10:47 PM
                                          SOI, FD vs. PDDavid Kanter05/01/12 02:24 AM
                                            SOI, FD vs. PDhcl6405/01/12 05:46 AM
                                            SOI, FD vs. PDhcl6405/01/12 06:37 AM
                                              SOI, FD vs. PDDavid Kanter05/01/12 08:19 AM
                                          SOI, FD vs. PDhcl6405/01/12 07:39 AM
                                            PD-SOIDavid Kanter05/02/12 12:22 PM
                                    SOI, FD vs. PDslacker04/30/12 08:10 PM
                                      SOI, FD vs. PDDavid Kanter04/30/12 10:16 PM
                                        SOI, FD vs. PDslacker05/01/12 10:04 PM
                                          SOI, FD vs. PDDavid Kanter05/02/12 08:19 AM
                                            SOI, FD vs. PDzou05/02/12 12:23 PM
                  Previous discussion of clustered MTPaul A. Clayton04/28/12 07:00 AM
                    Previous discussion of clustered MThcl6404/28/12 09:38 PM
                      Previous discussion of clustered MTDavid Kanter04/30/12 04:37 PM
                        Previous discussion of clustered MThcl6404/30/12 07:24 PM
                          Previous discussion of clustered MTDavid Kanter04/30/12 07:40 PM
                            Previous discussion of clustered MThcl6405/01/12 09:15 AM
                              Latency issuesDavid Kanter05/02/12 12:01 PM
              So, what do people think of these numbers>Megol04/21/12 01:57 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell blue?