Title :
Dynamic Strands: Collapsing Speculative Dependence Chains for Reducing Pipeline Communication
Author :
Sassone, Peter G. ; Wills, D. Scott
Author_Institution :
Georgia Institute of Technology
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;
Conference_Titel :
Microarchitecture, 2004. MICRO-37 2004. 37th International Symposium on
Print_ISBN :
0-7695-2126-6
DOI :
10.1109/MICRO.2004.16