DocumentCode
2665944
Title
Dynamic Strands: Collapsing Speculative Dependence Chains for Reducing Pipeline Communication
Author
Sassone, Peter G. ; Wills, D. Scott
Author_Institution
Georgia Institute of Technology
fYear
2004
fDate
04-08 Dec. 2004
Firstpage
7
Lastpage
17
Abstract
In the modern era of wire-dominated architectures, specific effort must be made to reduce needless communication within out-of-order pipelines while still maintaining binary compatibility. To ease pressure on highly-connected elements such as the issue logic and bypass network, we propose the dynamic detection and speculative execution of instruction strands-linear chains of dependent instructions without intermediate fan-out. The hardware required for detecting these chains is simple and resides off the critical path of the pipeline, and the execution targets are the normal ALUs with a self-bypass mode. By collapsing these strings of dependencies into atomic macro-instructions, the efficiency of the issue queue and reorder buffer can be increased. Our results show that over 25% of all dynamic ALU instructions can be grouped, decreasing both the average reorder buffer occupancy and issue queue occupancy by over a third. Additionally, these strands have several properties which make them amenable to simple performance optimizations. Our experiments show average IPC increases of 17% on a four-wide machine and 20% on an eight-wide machine in Spec2000int and Mediabench applications. Finally, strands ease the IPC penalties of multicycle issue and bypass by reducing dependency pressures, providing opportunity for clock frequency gains as well.
Keywords
Clocks; Computer aided instruction; Computer architecture; Delay; Frequency; Hardware; Instruction sets; Logic; Pipelines; Reduced instruction set computing;
fLanguage
English
Publisher
ieee
Conference_Titel
Microarchitecture, 2004. MICRO-37 2004. 37th International Symposium on
ISSN
1072-4451
Print_ISBN
0-7695-2126-6
Type
conf
DOI
10.1109/MICRO.2004.16
Filename
1550978
Link To Document