Please choose your delivery country and your customer group
Superscalar processors can improve uniprocessor performance further beyond RISC performance by exploiting spatial instruction-level parallelism. Superscalar processor design presents more opportunities for tradeoffs than conventional RISC design. In order to utilize processor resources augmented by the superscalar approaches, processors must be carefully designed and implemented. This paper examines the various aspects of superscalar processors and discusses the design features and tradeoffs. Specific aspects of superscalar processors that are examined include: instruction fetch boundary, instruction-cache line crossing, branch prediction, data-hazard resolution, control-hazard resolution, and precise or imprecise interrupts. This paper uses a superscalar simulator that modeled a DDU (dynamically-hazard-resolved, dynamic-code-scheduled, uniform) superscalar architecture, called SIMP (single instruction stream/multiple instruction pipelining), and evaluates many different SIMP hardware organizations. This paper concludes that a superscalar processor can increase the performance with five hardware features: instruction aligning, branch prediction with branch-target buffer, code scheduling, speculative execution with conditional mode, and imprecise interrupts. However, the first three functions are claimed to be performed by compilers rather than by hardware.