Highly concurrent scalar processing
- 1 May 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 14 (2) , 386-395
- https://doi.org/10.1145/17356.17401
Abstract
High speed scalar processing is an essential characteristic of high performance general purpose computer systems. Highly concurrent execution of scalar code is difficult due to data dependencies and conditional branches. This paper proposes an architectural concept called guarded instructions to reduce the penalty of conditional branches in deeply pipelined processors. A code generation heuristic, the decision tree scheduling technique, reorders instructions in a complex of basic blocks so as to make efficient use of guarded instructions. Performance evaluation of several benchmarks are presented, including a module from the UNIX kernel. Even with these difficult scalar code examples, a speedup of two is achievable by using conventional pipelined uniprocessors augmented by guard instructions, and a speedup of three or more can be achieved using processors with parallel instruction pipelines.Keywords
This publication has 7 references indexed in Scilit:
- Very Long Instruction Word architectures and the ELI-512Published by Association for Computing Machinery (ACM) ,1983
- The 801 minicomputerPublished by Association for Computing Machinery (ACM) ,1982
- Hardware/software tradeoffs for increased performancePublished by Association for Computing Machinery (ACM) ,1982
- The CRAY-1 computer systemCommunications of the ACM, 1978
- Guarded commands, nondeterminacy and formal derivation of programsCommunications of the ACM, 1975
- The IBM System/360 Model 91: Machine Philosophy and Instruction-HandlingIBM Journal of Research and Development, 1967
- An Efficient Algorithm for Exploiting Multiple Arithmetic UnitsIBM Journal of Research and Development, 1967