![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_79.png)
IDT MIPS32 4Kc Processor Core
Pipeline Description
79RC32438 User Reference Manual
2 - 17
November 4, 2002
Notes
In general, MIPS processors support two types of hardware interlocks:
Stalls, which are resolved by halting the pipeline
Slips, which allow one part of the pipeline to advance while another part of the pipeline is held
static.
The 4Kc processor core handles all interlocks as slips.
Slip Conditions
On every clock, internal logic determines whether each pipe stage is allowed to advance. These slip
conditions propagate backwards down the pipe. For example, if the M stage does not advance, neither will
the E or I stages. Slipped instructions are retried on subsequent cycles until they issue. The back end of the
pipeline advances normally during slips in an attempt to resolve the conflict. NOPS are inserted into the
bubble in the pipeline.
Figure 2.18 shows a diagram of a two-cycle slip. In the first clock cycle, the pipeline is full and the cache
miss is detected. Instruction I0 is in the A stage, instruction I1 is in the M stage, instruction I2 is in the E
stage, and instruction I3 is in the I stage. The cache miss occurs in clock 2 when the I4 instruction fetch is
attempted. I4 advances to the E-stage and waits for the instruction to be fetched from main memory. In this
example it takes two clocks (3 and 4) to fetch the I4 instruction from memory. Once the cache miss is
resolved in clock 4 and the instruction is bypassed to the cache, the pipeline is restarted, causing the I4
instruction to finally execute it’s E-stage operations.
Data Cache Miss
Load that misses in data
cache
W Stage
Multi-cycle cache Op
Sync
Store when write through
buffer full
EJTAG breakpoint on store
VA match needing data value
comparison
Store hitting in fill buffer
Interlock Type
Source
Slip Stage
Table 2.3 Pipeline Interlocks (Part 2 of 2)