Super-scalar processor design

William M. Johnson · 1989

A super-scalar processor is one that is capable of sustaining an instruction-execution rate of more than one instruction per clock cycle. Maintaining this execution rate is primarily a problem of scheduling processor resources (such as functional units) for high A number of scheduling algorithms have been published, with wide-ranging claims of performance over the single-instruction issue of a scalar processor. However, a number of these claims are based on idealizations or on special-purpose applications. This study uses trace-driven simulation to evaluate many different super-scalar hardware organizations. Super-scalar performance is limited caused by both branch delays and instruction mis b instruction-fetch inefficiencies of this instruction-fetch lirnitation, it is not worthwhile to explore highly-concurrent execution hardware, Rather, it is more appro to explore economical execution hardware that more closely matches the oughput provided b reducing the instruction-fetch inef the instruction This stud ciencies and explores the resulting examines techniques for ardware This study concludes that a super-scalar processor can have nearly twice the scalar processor, but that this re uires that four major hardware features: xformance of a out-o -order execution, register renarmng, branch pre and a four-instruction decoder. These features are interdependent, and removing any single feature reduces average performance by 18% or more. However, there are many hardware simplifications that cause only a small performance reduction.

Read the paper · More papers on PaperTik