IDT MIPS32 4Kc Processor Core
Pipeline Description
79RC32438 User Reference Manual
2 - 8
November 4, 2002
Notes
A divide operation stalls for a maximum of 32 clocks in the MMDU stage of the MDU pipeline.
During the Align/Accumulate stage:
A separate aligner aligns loaded data with its word boundary
A MUL operation makes the result available for writeback. The actual register writeback is per-
formed in the W stage
A MULT/MADD/MSUB operation performs the carry-propagate-add. This includes the accumulate
step for the MADD/MSUB operations. The actual register writeback to HI and LO is performed in
the W stage.
A divide operation perform the final Sign-Adjust. The actual register writeback to HI and LO is per-
formed in the W stage.
During the Writeback stage:
For register-to-register or load instructions, the result is written back to the register file during the W
stage.
Instruction Cache Miss
When the instruction cache is indexed, the instruction address is translated to determine if the required
instruction resides in the cache. An instruction cache miss occurs when the requested instruction address
does not reside in the instruction cache. When a cache miss is detected in the I stage, the core transitions
to the E stage. The pipeline stalls in the E stage until the miss is resolved. The bus interface unit must
select the address from multiple sources. If the address bus is busy, the request will remain in this arbitra-
tion stage (B-ASel in Figure 2.4) until the bus is available. The core drives the selected address onto the
bus. The number of clocks required to access the bus is determined by the access time of the array that
contains the data. The number of clocks required to return the data once the bus is accessed is also deter-
mined by the access time of the array.
Once the data is returned to the core, the critical word is written to the instruction register for immediate
use. The bypass mechanism allows the core to use the data once it becomes available, as opposed to
having the entire cache line written to the instruction cache, then reading out the required word.
Figure 2.4 shows a timing diagram of an instruction cache miss for the 4Kc core.
Figure 2.4 4Kc Instruction Cache Miss Timing
When the data cache is indexed, the data address is translated to determine if the required data resides
in the cache. A data cache miss occurs when the requested data address does not reside in the data
cache.
When a data cache miss is detected in the M stage (D-TLB), the core transitions to the A stage. The
pipeline stalls in the A stage until the miss is resolved (requested data is returned). The bus interface unit
arbitrates between multiple requests and selects the correct address to be driven onto the bus (B-ASel in
Figure 2.5). The core drives the selected address onto the bus. The number of clocks required to access
the bus is determined by the access time of the array containing the data. The number of clocks required to
return the data once the bus is accessed is also determined by the access time of the array.
E
E
E
E
I
I Dec
I-A1
I-Cache
I-TLB
I-TLB
B-ASel
Bus*
IC-Bypass
RegRd
ALU Op
I-A2
* Contains all of the cycles that address and data are utilizing the bus.