This section describes the causes for
pipeline stalls:
- Instruction Fetch Pipeline
Stall: The Instruction Fetching pipeline stages (F1, F2, and D1) are
stalled only when CPU addressed memory is unable to provide the data in time and
needs more cycles.
- Decode and Execution pipeline
stages stall: The following conditions causes all these pipeline phases
(D2, R1, R2, R3, E1 to E6, and W) to stall:
- Data read not ready:
When either of the Data Read Bus 1 or Data Read Bus 2 are not ready
with data.
- Instruction not
available in the instruction buffer: When the current
instruction packet in the D2 phase of the pipeline is complete and the
d2_ready is high to accept the next instruction packet, but there is no
instruction available in the instruction buffer. Instruction not
available condition occurs due to following conditions:
- Instruction
buffer is empty
- Instruction
buffer is not sufficiently filled to form instruction
packet
- Instruction word
in the buffer has an ECC error or security errors
- Memory Read Protection
not ready: Current read access has dependency on pending write
operation.