4 ms·
Register windows and register files are the same thing. Most RISC architectures have eschewed the register windows in favour of the register files coupled with
by inkyoto 3y ago
Register windows and register files are the same thing.
Most RISC architectures have eschewed the register windows in favour of the register files coupled with the register renaming though.
Silicon is «wasted» (debatable) in high-performance CPU designs employing the register files but can be saved in low-cost designs by not implementing a register file at the performance penalty cost. Same is true for the designs with register windows.
The difference between the two is that with the register window the onus of tracking the dependencies in the data flow in registers is explicitly on the compiler (or on the developer) whereas with the register file the onus is on the CPU to track the dependencies, apply heuristics, allocate shadow registers from the register file, rename the in-use registers onto the shadow registers and vice versa.
Modern high-performance CPU implementations that do not employ the register windows typically come with large or very large register files (100-300 circa registers are common).
- deleted 3y ago[deleted]
- gpderetta 3y agoCalling register files (or register renaming) the same as register windows, is a significant stretch. Renaming is important for OoO execution, register windows were used (in the original risc and sparc) to paper over the lack of a good register allocator. Later EPIC used a variant of it for software pipelining.