Title :
Late allocation and early release of physical registers
Author :
Monreal, Teresa ; Viñals, Víctor ; González, José ; González, Antonio ; Valero, Mateo
Author_Institution :
Dept. de Informatica e Ingenieria de Sistemas, Zaragoza Univ., Spain
Abstract :
The register file is one of the critical components of current processors in terms of access time and power consumption. Among other things, the potential to exploit instruction-level parallelism is closely related to the size and number of ports of the register file. In conventional register renaming schemes, both register allocation and releasing are conservatively done, the former at the rename stage, before registers are loaded with values, and the latter at the commit stage of the instruction redefining the same register, once registers are not used any more. We introduce VP-LAER, a renaming scheme that allocates registers later and releases them earlier than conventional schemes. Specifically, physical registers are allocated at the end of the execution stage and released as soon as the processor realizes that there will be no further use of them. VP-LAER enhances register utilization, that is, the fraction of allocated registers having a value to be read in the future. Detailed cycle-level simulations show either a significant speedup for a given register file size or a reduction in the register file size for a given performance level, especially for floating-point codes, where the register file pressure is usually high.
Keywords :
instruction sets; parallel processing; processor scheduling; resource allocation; storage management; VP-LAER renaming scheme; access time; conventional register renaming scheme; cycle-level simulation; floating-point codes; instruction-level parallelism; out-of-order processors; physical registers; power consumption; register allocation; register file optimization; Computer Society; Data structures; Delay; Dynamic scheduling; Energy consumption; Out of order; Parallel processing; Pipeline processing; Processor scheduling; Registers; 65; Index Terms- Register renaming; out-of-order processors; physical register allocation and releasing; precise exceptions.; register file optimization;
Journal_Title :
Computers, IEEE Transactions on