Boosting beyond static scheduling in a superscalar processor
- 4 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 344-354
- https://doi.org/10.1109/isca.1990.134545
Abstract
A superscalar processor that combines the best qualities of static and dynamic instruction scheduling to increase the performance of nonnumerical applications is described. The architecture performs all instruction scheduling statically to take advantage of the compiler's ability to schedule operations across many basic blocks efficiently. Since the conditional branches in nonnumerical code are highly data dependent, the architecture introduces the concept of boosted instructions, that is, instructions that are committed conditionally upon the result of later branch instructions. Boosting effectively removes the dependences caused by branches and makes the scheduling of side-effect instructions as simple as it is for instructions that are side-effect free. For efficiency, boosting is supported in the hardware by shadow structures that temporarily hold the side effects of boosted instructions until the conditional branches that the boosted instructions depend upon are executed.<>Keywords
This publication has 17 references indexed in Scilit:
- SIMP (single Instruction Stream/multiple Instruction Pipelining): A Novel High-speed Single-processor ArchitecturePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Architecture and compiler tradeoffs for a long instruction wordprocessorPublished by Association for Computing Machinery (ACM) ,1989
- Intel's secret is outIEEE Spectrum, 1989
- The Cydra 5 departmental supercomputer: design philosophies, decisions, and trade-offsComputer, 1989
- Software pipelining: an effective scheduling technique for VLIW machinesPublished by Association for Computing Machinery (ACM) ,1988
- Reducing the cost of branchesACM SIGARCH Computer Architecture News, 1986
- Implementation of precise interrupts in pipelined processorsACM SIGARCH Computer Architecture News, 1985
- Branch Prediction Strategies and Branch Target Buffer DesignComputer, 1984
- An Approach to Scientific Array Processing: The Architectural Design of the AP-120B/FPS-164 FamilyComputer, 1981
- Look-Ahead ProcessorsACM Computing Surveys, 1975