Groups | Search | Server Info | Keyboard shortcuts | Login | Register
| From | torbenm@diku.dk (Torben Ægidius Mogensen) |
|---|---|
| Newsgroups | comp.arch |
| Subject | Re: Register file splits, a new look. |
| References | <ggtgp-1DA77E.06332706022012@netnews.mchsi.com> |
| Date | 2012-02-09 11:19 +0100 |
| Message-ID | <7z1uq4qpf4.fsf@ask.diku.dk> (permalink) |
| Organization | SunSITE.dk - Supporting Open source |
Brett Davis <ggtgp@yahoo.com> writes: > Does separate address registers make sense? > > For historical reasons we have lots of CPU's with a separate > FPU/vector unit. Often under the hood designers have decided > to use a unified register file. Intel did this with the Nehalem > family of CPU's that were recently replaced SandyBridge. > ... > Does it make more sense to split the address registers into > there own register file for best performance? > This allows you to split the rename registers into two smaller > register files. > ... > The goal is to make high end implementations faster, lower power, > easier, etc. > ... > So what do people think of unifying the int-float registers, and > separating the address registers? A disadvantage of a single unified register file is that you need more read/write ports to support the same total number of reads and writes per cycle. A disadvantage of splitting the register file is that you may underutilize some banks, for example in code that does not use FP, and at the same time not have enough of the other kind. An advantage of a split file is also that you need fewer bits in the instruction word to specify a register, as the bank will be implied by the instruction. On the other hand, you may have to essentially duplicate instructions for several banks, as common operations like register moves and equality tests are needed for all types of registers. So there is no clear case either way, and it may depend a lot on the number of registers. If you want to keep the total number of registers down, a unified file is probably the best bet, as the risk of running out of registers in one bank while having spare registers in another is higher than if you have plenty of registers. So you could see a unified register file as a way of reducing the register total (at the cost of adding more read/write ports and complicating the data paths to the functional units). An idea could be to split the register file not by type but into, say, even and odd-numbered registers, each with its own rename set. Each instruction that reads two registers is made to read one from each file. This way, the left operand to the ALU will always come from (say) even registers and the right operand from odd registers. This simplifies the data paths a bit compared to having either argument taking values from either file, and it saves a bit per register specifier, as the lsb is implied. It also spreads reads more or less evenly across both files. If you want two-address instructions (where the destination is teh same as one of the arguments), you can use one bit to specify which argument register gets the result. Since you don't split per type, you can use all registers for integers, all for floats or all for indexes, so you avoid uneven utilisation. Torben
Back to comp.arch | Previous | Next — Previous in thread | Next in thread | Find similar
Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-06 06:33 -0600
Re: Register file splits, a new look. MitchAlsup <MitchAlsup@aol.com> - 2012-02-06 09:29 -0800
Re: Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-07 07:08 -0600
Re: Register file splits, a new look. torbenm@diku.dk (Torben Ægidius Mogensen) - 2012-02-09 11:19 +0100
Re: Register file splits, a new look. MitchAlsup <MitchAlsup@aol.com> - 2012-02-09 12:12 -0800
Re: Register file splits, a new look. "Paul A. Clayton" <paaronclayton@gmail.com> - 2012-02-09 15:27 -0800
Re: Register file splits, a new look. MitchAlsup <MitchAlsup@aol.com> - 2012-02-09 15:52 -0800
Re: Register file splits, a new look. nmm1@cam.ac.uk - 2012-02-10 08:07 +0000
Re: Register file splits, a new look. "Andy (Super) Glew" <andy@SPAM.comp-arch.net> - 2012-02-10 06:37 -0800
Re: Register file splits, a new look. Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-02-10 09:36 +0100
Re: Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-10 12:22 -0600
Re: Register file splits, a new look. MitchAlsup <MitchAlsup@aol.com> - 2012-02-10 12:26 -0800
Re: Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-11 07:25 -0600
Re: Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-16 17:17 -0600
Re: Register file splits, a new look. MitchAlsup <MitchAlsup@aol.com> - 2012-02-16 16:25 -0800
Re: Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-17 14:08 -0600
Re: Register file splits, a new look. MitchAlsup <MitchAlsup@aol.com> - 2012-02-28 08:54 -0800
Re: Register file splits, a new look. Brett Davis <ggtgp@yahoo.com> - 2012-02-28 19:33 -0600
csiph-web