Chapter 6. Instruction Timing
6-3
Terminology and Conventions
Although an individual instruction may take many cycles to complete (the number
of cycles is called instruction latency), pipelining makes it possible to overlap the
processing so that the throughput (number of instructions completed per cycle) is
greater than if pipelining were not implemented.
Program orderThe order of instructions in an executing program. More
speciTcally, this term is used to refer to the original order in which program
instructions are fetched into the instruction queue from the cache.
Rename registerTemporary buffers used by instructions that have Tnished
execution but have not completed.
Reservation stationA buffer between the dispatch and execute stages that allows
instructions to be dispatched even though the results of instructions on which the
dispatched instruction may depend are not available.
RetirementRemoval of the completed instruction from the CQ.
StageThe term stage is used in two different senses, depending on whether the
pipeline is being discussed as a physical entity or a sequence of events. In the latter
case, a stage is an element in the pipeline during which certain actions are
performed, such as decoding the instruction, performing an arithmetic operation, or
writing back the results. Typically, the latency of a stage is one processor clock
cycle. Some events, such as dispatch, write-back, and completion, happen
instantaneously and may be thought to occur at the end of a stage.
An instruction can spend multiple cycles in one stage. An integer multiply, for
example, takes multiple cycles in the execute stage. When this occurs, subsequent
instructions may stall.
An instruction may also occupy more than one stage simultaneously, especially in
the sense that a stage can be seen as a physical resourcefor example, when
instructions are dispatched they are assigned a place in the CQ at the same time they
are passed to the execute stage. They can be said to occupy both the complete and
execute stages in the same clock cycle.
StallAn occurrence when an instruction cannot proceed to the next stage.
SuperscalarA superscalar processor is one that can issue multiple instructions
concurrently from a conventional linear instruction stream. In a superscalar
implementation, multiple instructions can be in the execute stage at the same time.
ThroughputA measure of the number of instructions that are processed per cycle.
For example, a series of double-precision oating-point multiply instructions has a
throughput of one instruction per clock cycle.
Write-backWrite-back (in the context of instruction handling) occurs when a
result is written into the architectural registers (typically the GPRs, FPRs, and VRs).
Results are written back at completion time. Results in the write-back buffer cannot
be ushed. If an exception occurs, results from previous instructions must write back
before the exception is taken.
¥
¥
¥
¥
¥
¥
¥
¥
¥