Reg file vs. forwarding network

By: Anders Jensen (.delete@this..), June 23, 2008 11:05 am
Room: Moderated Discussions
hobold ( on 6/22/08 wrote:
>David Kanter ( on 6/22/08 wrote:
>>Also, the reason that the P6 has a big register file is that the register file
>>is rarely used an operand source. I've talked a bit with Andy Glew about this,
>>and he's pretty insistent that in a P6-style microarchitecture, the vast majority
>>of your input operands come from the forwarding network, rather than the >physical register file itself.
>This is correct, the P6 microarchitecture is optimized for execution of serially
>dependent instructions. The designers managed to convert the weakness of the small
>'x86 architected register file (which resulted in lots of (false) dependencies in
>most code) into a strength of the implementation.
>Other architectures which aimed to express more parallelism in their ISA (not just
>EPIC, also RISCs with their large register files and three operand encoding) were not as lucky in realizing a benefit.

The problem with evaluating CPU architecture today is that we are most likely at a extreme in the history of uarch optimization now with current software base being more dependent on single threaded performance than ever. Of course new software tends to be multi threaded to a higher degree so over time this focus will change and CPU architecture will change with it. Add the power efficiency focus to this and it is very obvious that future architectures will have very different optimization than, say Nehalem, which is now coming out with 36 reservation stations. A record that hopefully will never be beaten. IMO doing as good as possible with in-order pipeline is what will be important going forward. In-order can get vastly more throughput than OoOE can dream of, but Amdahls law is going to be a big problem so whoever gets most performance per thread has a big advantage.

I think x86 is going to get major problems here. Reservation stations and register renaming is bad for throughput/watt.

>I sometimes wonder if we should not experiment more with ISAs that make dependencies
>explicit rather than parallelism. I am aware of only a single old academic project
>named "WM - Weird Machine". It encoded instructions as dependent pairs with implicit
>producer/consumer dataflow. You could say it generalized things like 'fused multiply
>add', or the complex 'load effective address' instructions.

Check out TRIPS.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Intel AVX kills AMD SSE5Agner2008/06/17 08:14 AM
  Intel AVX kills AMD SSE5a reader2008/06/17 09:03 AM
  Bulldozer?David Kanter2008/06/19 04:23 PM
    Bulldozer?EduardoS2008/06/19 06:11 PM
    Bulldozer?Max2008/06/19 06:16 PM
      Bulldozer?Goose2008/06/21 02:23 AM
        Bulldozer?David Kanter2008/06/21 07:37 AM
          Bulldozer?someone2008/06/21 07:55 AM
            Bulldozer?David Kanter2008/06/21 08:07 AM
              Bulldozer?S. Rao2008/06/21 11:08 AM
                RegfilesPeter2008/06/21 11:49 AM
                Bulldozer?Linus Torvalds2008/06/21 12:23 PM
                  Bulldozer?S. Rao2008/06/21 04:50 PM
                  unified physical register file nullifies x86 advantageMichael S2008/06/22 12:24 AM
                    unified physical register file nullifies x86 advantageDavid Kanter2008/06/22 09:35 AM
                      unified physical register file nullifies x86 advantagehobold2008/06/22 01:03 PM
                    Reg file vs. forwarding networkDavid Kanter2008/06/22 10:36 AM
                      Reg file vs. forwarding networkhobold2008/06/22 12:39 PM
                        Reg file vs. forwarding networkPeter2008/06/22 02:48 PM
                          Reg file vs. forwarding networkDavid Kanter2008/06/22 08:54 PM
                            Reg file vs. forwarding networkPeter2008/06/23 03:44 AM
                              Reg file vs. forwarding networksavantu2008/06/23 04:41 AM
                                Reg file vs. forwarding networkPeter2008/06/23 07:35 AM
                        Reg file vs. forwarding networkAnders Jensen2008/06/23 11:05 AM
                        Reg file vs. forwarding networkleft nutz2008/06/27 07:31 AM
  Intel AVX kills AMD SSE5nobat2008/06/21 11:23 AM
    Intel AVX kills AMD SSE5Agner2008/06/21 10:01 PM
      So...Dean Kent2008/06/22 07:35 AM
  SSE5 has a great chance to succeed.mpx2008/06/22 12:25 AM
    SSE5 has a great chance to succeed.Michael S2008/06/22 01:42 AM
      SSE5 has a great chance for fiascoAgner2008/06/22 03:32 AM
        SSE5 has a great chance for fiascoIan Ameline2008/06/22 08:37 AM
        SSE5 has a great chance for fiascoanonymous2008/06/22 09:02 AM
          SSE5 has a great chance for fiascohobold2008/06/22 12:59 PM
            SSE5 has a great chance for fiascoHoward Chu2008/06/22 04:38 PM
      SSE5 has a great chance to succeed.hobold2008/06/22 12:52 PM
        SSE5 has a great chance to succeed.Michael S2008/06/22 01:46 PM
          SSE5 has a great chance to succeed.Hannes2008/06/24 08:49 AM
            SSE5 has a great chance to succeed.anonymous2008/06/24 10:46 AM
          SSE5 has a great chance to succeed.Ian Ollmann2008/06/24 10:12 PM
Reply to this Topic
Body: No Text
How do you spell tangerine? 🍊