Title :
Out-of-order commit processors
Author :
Cristal, Adrian ; Ortega, Daniel ; Llosa, Josep ; Valero, Mateo
Author_Institution :
Dept. d´´Arquitectura de Computadors, Univ. Politecnica de Catalunya, Barcelona, Spain
Abstract :
Modern out-of-order processors tolerate long latency memory operations by supporting a large number of in-flight instructions. This is particularly useful in numerical applications where branch speculation is normally not a problem and where the cache hierarchy is not capable of delivering the data soon enough. In order to support more in-flight instructions, several resources have to be up-sized, such as the reorder buffer (ROB), the general purpose instructions queues, the load/store queue and the number of physical registers in the processor. However, scaling-up the number of entries in these resources is impractical because of area, cycle time, and power consumption constraints. We propose to increase the capacity of future processors by augmenting the number of in-flight instructions. Instead of simply up-sizing resources, we push for new and novel microarchitectural structures that achieve the same performance benefits but with a much lower need for resources. Our main contribution is a new checkpointing mechanism that is capable of keeping thousands of in-flight instructions at a practically constant cost. We also propose a queuing mechanism that takes advantage of the differences in waiting time of the instructions in the flow. Using these two mechanisms our processor has a performance degradation of only 10% for SPEC2000fp over a conventional processor requiring more than an order of magnitude additional entries in the ROB and instruction queues, and about a 200% improvement over a current processor with a similar number of entries.
Keywords :
buffer storage; instruction sets; parallel architectures; system recovery; branch speculation; cache hierarchy; checkpointing; in-flight instruction; microarchitectural structure; out-of-order commit processor; queuing mechanism; reorder buffer; Bars; Buffer storage; Checkpointing; Computer aided instruction; Costs; Delay; Energy consumption; Microarchitecture; Out of order; Registers;
Conference_Titel :
Software, IEE Proceedings-
Print_ISBN :
0-7695-2053-7
DOI :
10.1109/HPCA.2004.10008