Execution Pipeline
2-11
18524C/0—Nov1996
AMD-K5 Processor Technical Reference Manual
The branch unit receives branch-prediction information from
the decoder. If the branch unit executes a branch differently
than predicted, it signals the instruction cache, reorder buffer,
and decode logic, and it passes the correct information to the
branch-prediction array in the fetch stage.
2.2.4
Result
The processor implements a 16-entry reorder buffer (ROB) for
speculative-state register renaming, and a 4-entry store buffer
for speculative-state buffering between the load/store units
and the data cache. An ROP is said to complete when the result
of its execution is written to the ROB or store buffer. Results
may be returned out of order. Results written to the ROB are
simultaneously forwarded (that is, fed back) to all execution
units.
An entry tag is allocated at the top of the ROB for each ROP
that is dispatched to a reservation station. Entries for up to
four ROPs can be allocated simultaneously. Among other
things, the ROB keeps track of the program counter associated
with each instruction, resolves ROP-level dependencies, stores
speculative results, provides the most recent copy of a register
to execution units, recovers from mispredicted branches with-
out altering real state, and provides substitute tags to internal
resources when required operands are still outstanding.
The x86 architecture defines only eight general-purpose regis-
ters and eight entries in the floating-point stack. This limited
set of registers leads to register dependencies and register
reuse. The processor overcomes register dependencies by
renaming registers in the ROB, and it overcomes register reuse
with data forwarding. Data forwarding provides execution
results immediately to other instructions without waiting for
results to be written to and read back from registers, the data
cache, or memory. Multiple speculative-state registers for each
real-state register enable different execution units to use the
same logical register simultaneously. When the register file
detects multiple writes to the same real-state register, only the
latest write in program order is performed—all other writes
are discarded. Multiple reads of the same real-state register
are performed without detection or special handling.
Summary of Contents for AMD-K5
Page 1: ...AMD K5 Processor Technical Reference Manual TM...
Page 10: ...x AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 24: ...1 4 Overview AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 54: ...2 30 Internal Architecture AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 116: ...4 26 Performance AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 356: ...6 44 System Design AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 380: ...7 24 Test and Debug AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 396: ...A 16 AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...
Page 406: ...I 10 Index AMD K5 Processor Technical Reference Manual 18524C 0 Nov1996...