4 ms·
Hi phkahler, the ultimate critical path is the load data coming back to the register file. Replicating the register file doesn't end up being a win (there would
by _chris_ 9y ago
Hi phkahler, the ultimate critical path is the load data coming back to the register file. Replicating the register file doesn't end up being a win (there would be so much area to broadcast it out to), otherwise, everybody would do it.
- phkahler 9y agoHi Chris! But it must alleviate the routing problem within the register file no? And the scalability would be better right? I mean, you can't possibly expect to add another ALU to Boom and require 4 write & 8 read ports can you? Does AMD use 12r6w It seems there has to be a better way ;-)
- jabl 9y agoSplit up the physical register file so each pipe has it's own fraction of it, and have the register renaming logic "route" to the correct fraction? Well, that's what BOOMv2 partially does by splitting the INT and FP register files, so I guess I'm proposing splitting the INT file further [1]? [1] This has probably been thought of and dismissed a million times over by actual experts. Say, losing whatever advantages it may have due to extra micro-ops needed to move stuff back and forth to the correct register file fraction?
- _chris_ 9y ago> Split up the physical register file so each pipe has it's own fraction of it, and have the register renaming logic "route" to the correct fraction? Have I got the paper for you! From my adviser's previous student: https://dspace.mit.edu/handle/1721.1/34012 https://dspace.mit.edu/handle/1721.1/34012 But you're right -- the win isn't obvious. There's pain and advantages in both directions. I've always wanted to build it, but I only have so much time in the day. :(