DocumentCode :
2814406
Title :
Register integration: a simple and efficient implementation of squash reuse
Author :
Roth, Amir ; Sohi, Gurindar S.
Author_Institution :
Dept. of Comput. Sci., Wisconsin Univ., Madison, WI, USA
fYear :
2000
fDate :
2000
Firstpage :
223
Lastpage :
234
Abstract :
Register integration (or simply integration) is a mechanism for incorporating speculative results directly into a sequential execution using data-dependence relationships. In this paper we use integration to implement squash reuse, the salvaging of instruction results that were needlessly discarded during the course of sequential recovery from a control- or datamis-speculation. To implement integration, we first allow the results of squashed instructions to remain in the physical register file past mis-speculation recovery. As the processor re-traces portions of the squashed path, integration logic examines each instruction as it is being renamed. Using an auxiliary table, this circuit searches the physical register file for the physical register belonging to the corresponding squashed instance of the instruction. If this register is found, integration succeeds and the squashed result is re-validated by a simple update of the rename table. Once integrated, an instruction is complete and may bypass the out-of-order core of the machine entirely. Integration reduces contention for queuing and execution resources, collapses dependent chains of instructions and accelerates the resolution of branches. It achieves this using only rename-table manipulations; no additional values are read from or written to the physical registers. Our preliminary evaluation shows that a minimal integration configuration can provide performance improvements of up to 8% when applied to current-generation micro-architectures and up to 11.5% when applied to more aggressive microarchitectures. Integration also reduces the amount of wasteful speculation in the machine, cutting the number of instructions executed by up to 15% and the number of instructions fetched along mis-speculated paths by as much as 6%
Keywords :
computer architecture; performance evaluation; software reusability; auxiliary table; data-dependence relationships; integration logic; microarchitectures; performance improvements; physical register file; register integration; rename-table manipulations; sequential execution; squash reuse; squashed instructions; Acceleration; Circuits; Computer aided instruction; Logic; Microprocessors; Modems; Out of order; Registers;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microarchitecture, 2000. MICRO-33. Proceedings. 33rd Annual IEEE/ACM International Symposium on
Conference_Location :
Monterey, CA
ISSN :
1072-4451
Print_ISBN :
0-7695-0924-X
Type :
conf
DOI :
10.1109/MICRO.2000.898073
Filename :
898073
Link To Document :
بازگشت