A novel register renaming technique for out-of-order processors

Autor: Hamid Tabani, Jordi Tubella, Antonio González, Jose-Maria Arnau
Přispěvatelé: Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors, Universitat Politècnica de Catalunya. ARCO - Microarquitectura i Compiladors, Universitat Politècnica de Catalunya. CERCLE - Cercle d'Arquitectura
Jazyk: angličtina
Rok vydání: 2018
Předmět:
Scheme (programming language)
In-flight instructions
Speedup
Computer science
Register renaming supercomputers
Register file
02 engineering and technology
Physical registers
01 natural sciences
Instruction set
Precise exceptions
0103 physical sciences
0202 electrical engineering
electronic engineering
information engineering

Register renaming
Computer architecture
Arithmetic
Informàtica::Arquitectura de computadors::Arquitectures paral·leles [Àrees temàtiques de la UPC]
Hardware_REGISTER-TRANSFER-LEVELIMPLEMENTATION
computer.programming_language
010302 applied physics
Out-of-order execution
Superscalar processor
020202 computer hardware & architecture
Producer consumers
Register (music)
Out-of-order processors
High performance computing
Hardware_CONTROLSTRUCTURESANDMICROPROGRAMMING
computer
Càlcul intensiu (Informàtica)
SPECint
Register files
Zdroj: HPCA
UPCommons. Portal del coneixement obert de la UPC
Universitat Politècnica de Catalunya (UPC)
Recercat. Dipósit de la Recerca de Catalunya
instname
Popis: Modern superscalar processors support a large number of in-flight instructions, which requires sizeable register files. Conventional register renaming techniques allocate a new storage location, i.e. physical register, for every instruction whose destination is a logical register in order to remove false dependences. Physical registers are released in a conservative manner when the same logical register is redefined. For this reason, many cycles may happen between the last read and the release of a physical register, leading to suboptimal utilization of the register file. We have observed that for more than 50% of the instructions in SPECfp and more than 30% of the instructions in SPECint that have a destination register, the produced value has only a single consumer. In this case, the RAW dependence guarantees that the producer-consumer instructions pair will be executed in program order and, hence, the same physical register can be used to store the value produced by both instructions. In this paper, we propose a renaming technique that exploits this property to reduce the pressure on the register file. Our technique leverages physical register sharing by introducing minor changes in the register map table and the issue queue. We also describe how our renaming scheme supports precise exceptions. We evaluated our renaming technique on top of a modern out-of-order processor. Our experimental results show that it provides 6% speedup on average for the SPEC2006 benchmarks. Alternatively, our renaming scheme achieves the same performance while reducing the number of physical registers by 10.5%.
Databáze: OpenAIRE