Basic principles and design tradeoffs for control of pipelined processors are first discussed. We concentrate on register-register architectures like the CRAY-1 where pipeline control logic is localized to one or two pipeline stages and is referred to as "instruction issue logic." Design tradeoffs are explored by giving designs for a variety of instruction issue methods that represent a range of complexity and sophistication. These vary from the CRAY-1 issue logic to a version of Tomasulo's algorithm, first used in the IBM 360/91 floating point unit. Also studied are Thornton's "scoreboard" algorithm used on the CDC 6600 and an algorithm we have devised. To provide a standard for comparison, all the issue methods are used to implement the CRAY-1 scalar architecture. Then, using a simulation model and the Lawrence Livermore Loops compiled with the CRAY Fortran compiler, performance results for the various issue methods are given and discussed.
[1]
J. E. Thornton.
Design of a Computer: The Control Data 6600
,
1970
.
[2]
David W. Anderson,et al.
The IBM System/360 model 91: machine philosophy and instruction-handling
,
1967
.
[3]
R. M. Tomasulo,et al.
An efficient algorithm for exploiting multiple arithmetic units
,
1995
.
[4]
Richard M. Russell,et al.
The CRAY-1 computer system
,
1978,
CACM.
[5]
L. J. Boland,et al.
The IBM system/360 model 91: storage system
,
1967
.
[6]
Peter M. Kogge,et al.
The Architecture of Pipelined Computers
,
1981
.