![Digital Equipment Alpha 21164PC Hardware Reference Manual Download Page 47](http://html.mh-extra.com/html/digital-equipment/alpha-21164pc/alpha-21164pc_hardware-reference-manual_2498508047.webp)
29 September 1997 – Subject To Change
Internal Architecture
2–17
Pipeline Organization
2.2.1 Pipeline Stages and Instruction Issue
The 21164PC pipeline divides instruction processing into four static and a number of
dynamic stages of execution. The first four stages consist of the instruction fetch,
buffer and decode, slotting, and issue-check logic. These stages are static in that
instructions may remain valid in the same pipeline stage for multiple cycles while
waiting for a resource or stalling for other reasons. Dynamic stages (IEU and FEU)
always advance state and are unaffected by any stall in the pipeline. A pipeline stall
may occur while zero instructions issue, or while some instructions of a set of four
issue and the others are held at the issue stage. A pipeline stall implies that a valid
instruction is (or instructions are) presented to be issued but cannot proceed.
Upon satisfying all issue requirements, instructions are issued into their slotted pipe-
line. After issuing, instructions cannot stall in a subsequent pipeline stage. The issue
stage is responsible for ensuring that all resource conflicts are resolved before an
instruction is allowed to continue. The only means of stopping instructions after the
issue stage is an abort condition. (The term abort as used here is different from its use
in the Alpha AXP Architecture Reference Manual.)
2.2.2 Aborts and Exceptions
Aborts result from a number of causes. In general, they can be grouped into two
classes, exceptions (including interrupts) and nonexceptions. The difference between
the two is that exceptions require that the pipeline be drained of all outstanding
instructions before restarting the pipeline at a redirected address. In either case, the
pipeline must be flushed of all instructions that were fetched subsequent to the
instruction that caused the abort condition (arithmetic exceptions are an exception to
this rule). This includes aborting some instructions of a multiple-issued set in the
case of an abort condition on the one instruction in the set.
Table 2–7 Pipeline Examples—Store (Dcache Hit)
Pipeline Stage Events
4
Calculate the effective address. Begin the Dcache tag store access.
5
Finish the Dcache tag store access. Detect Dcache hit. Send store to the
write buffer simultaneously.
6
Write the Dcache data store if hit (write begins this cycle).