Lecture 4B: Modern CPU Hardware Architectures Flashcards
Define the term: Superscalar Processor.
A CPU that implements a form of parallelism called instruction-level parallelism within a single processor.
A superscalar processor can execute more than one instruction during a ____ ____ by simultaneously dispatching multiple ________ to different ________ units on the processor.
A superscalar processor can execute more than one instruction during a [clock cycle] by simultaneously dispatching multiple [instructions] to different [execution units] on the processor
What extra hardware is required to support Superscalar Processors?
Extra Functional Units are required to issue and execute multiple instructions in parallel.
Define the term: Superpipelining.
A technique for improving the performance of a processor by splitting instructions into many separate “pipelines” that can be executed more or less in parallel.
Superscalar Processors can execute only _______ instructions in parallel whereas _______ instructions are often _______.
Superscalar Processors can execute only [independent] instructions in parallel whereas [adjacent] instructions are often [dependent].
Name the limitations of Superscalar Processors
Can only process independent instructions, require extra hardware.
Define the term: Out-of-order execution.
Execute independent instructions in a different, more efficient order.
What happens if a hazard causes stall cycles?
All instructions up to the offending instruction are stalled.
What can help to prevent stall cycles?
Forwarding, branch prediction, and other techniques can reduce the number of stall cycles, but sometimes it is unavoidable.
What are speculative instructions?
All execution within the instruction window is speculative (i.e., side-effects are not applied outside the CPU until it is committed.
Advantages of Out-of-order execution.
Better performance.
> Exploit instruction-level parallelism (ILP)
> Hide latencies (e.g. L1 data cache miss, divide)
Disadvantages of Out-of-order execution.
Hardware is much more complex, expensive, requires a larger chip area and has higher power consumption.
Define the term: Dispatch. (out-of-order execution)
New instructions are added to the instruction window - reservation stations (RS)
What happens in a Reservation Station? (out-of-order execution)
Instructions wait for their inputs. If instruction operands are ready they are sent to the FU. Otherwise, check on the bypass network and wait for operands.
Functional units (FU) > ALUs, AGUs, FPU
What does a Bypass Network do? (out-of-order execution)
Broadcast computes values back to the reservation stations.