Title :
Dynamically reducing pressure on the physical register file through simple register sharing
Author :
Tran, Liem ; Nelson, Nicholas ; Ngai, Fung ; Dropsho, Steve ; Huang, Michael
Author_Institution :
Dept. of Electr. & Comput. Eng., Rochester Univ., NY, USA
Abstract :
Using register renaming and physical registers, modern microprocessors eliminate false data dependences from reuse of the instruction set defined registers (logical registers). High performance processors that have longer pipelines and a greater capacity to exploit instruction-level parallelism have more instructions in-flight and require more physical registers. Simultaneous multithreading architectures further exacerbate this register pressure. This paper evaluates two register sharing techniques for reducing register usage. The first technique dynamically combines physical registers having the same value the second technique combines the demand of several instructions updating the same logical register and share physical register storage among them. While similar techniques have been proposed previously, an important contribution of this paper is to exploit only special cases that provide most of the benefits of more general solutions but at a very low hardware complexity. Despite the simplicity, our design reduces the required number of physical registers by more than 10% on some applications, and provides almost half of the total benefits of an aggressive (complex) scheme. More importantly, we show the simpler design to reduce register pressure has significant performance effects in a simultaneous multithreaded (SMT) architecture where register availability can be a bottleneck. Our results show an average of 25.6% performance improvement for an SMT architecture with 160 registers or, equivalently, similar performance as an SMT with 200 registers (25% more) but no register sharing.
Keywords :
cache storage; multi-threading; parallel architectures; processor scheduling; SMT architecture; dynamical pressure reduction; false data dependence elimination; frequent values; hardware complexity; instruction set reuse; instruction-level parallelism; logical register; logical registers; microprocessors; physical register file; physical register storage sharing; physical registers; pipelines; register pressure reduction; register renaming; register sharing; register usage reduction; simultaneous multithreading; Clocks; Data engineering; Hardware; Modems; Multithreading; Parallel processing; Physics computing; Pipelines; Registers; Surface-mount technology;
Conference_Titel :
Performance Analysis of Systems and Software, 2004 IEEE International Symposium on - ISPASS
Print_ISBN :
0-7803-8385-0
DOI :
10.1109/ISPASS.2004.1291358