![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_69.png)
IDT MIPS32 4Kc Processor Core
Pipeline Description
79RC32438 User Reference Manual
2 - 7
November 4, 2002
Notes
Memory (M stage)
Align/Accumulate (A stage)
Writeback (W stage)
This pipeline allows the processor to achieve high frequency while minimizing device complexity,
reducing both cost and power consumption. The 4Kc core implements a “Bypass” mechanism that allows
the result of an operation to be sent directly to the instruction that needs it without having to write the result
to the register and then read it back.
Figure 2.3 shows the operations performed in each pipeline stage of the 4Kc processor.
Figure 2.3 4Kc Core Pipeline Stages
During the Instruction fetch stage:
An instruction is fetched from the instruction cache
The ITLB performs a virtual-to-physical address translation.
During the Execution stage:
Operands are fetched from the register file
Operands from M and A stage are bypassed to this stage
The Arithmetic Logic Unit (ALU) begins the arithmetic or logical operation for register-to-register
instructions
The ALU calculates the data virtual address for load and store instructions
The ALU determines whether the branch condition is true and calculates the virtual branch target
address for branch instructions
Instruction logic selects an instruction address
All multiply and divide operations begin in this stage.
During the Memory Fetch stage:
The arithmetic or logic ALU operation completes
The data cache fetch and the data virtual-to-physical address translation are performed for load
and store instructions
Data TLB and data cache lookup are performed and a hit/miss determination is made
A 16x16 or 32x16 MUL operation completes in the array and stalls for one clock in the M stage to
complete the carry-propagate-add in the M stage
A 32x32 MUL operation stalls for two clocks in the M stage to complete second cycle of the array
and the carry-propagate-add in the M stage
A 16x16 or 32x16 MULT/MADD/MSUB operation completes in the array
A 32x32 MULT/MADD/MSUB operation stalls for one clock in the MMDU stage of the MDU pipeline
to complete second cycle in the array
I
A->E Bypass
M->E Bypass
A->E Bypass
E
M
A
W
I-Cache
I-TLB
RegRd
I Dec
D-AC
I-AC1
I-AC2
ALU Op
D-Cache
D-TLB
Align
MUL
RegW
RegW
RegW
RegW
RegW
Mult, Macc 16x16, 32x16
CPA
CPA
Mult, Macc
32x32
Sign Adjust
Divide
I
M
I-AC2
D-AC
Align
MUL
I-TLB
I Dec
ALU Op
D-Cache
D-TLB
Divide
Mult, Macc
Sign Adjust
I-Cache
RegRd
I-AC1
RegW
CPA
: I$ Tag and Data read
: I-TLB Look-up
: Instruction Decode
: Register file read
: Instruction Address Calc stage 1 and 2
: Arithmetic Logic and Shift operations
: Data Address Calculation
: D$ Tag and Data read
: D-TLB Look-up
: Load data aligner
: Register file write or HI/LO write
: The MUL instr. Uses MDU-Pipeline write Reg file
: Carry Propagate Adder
: Multiply and Multiply Accumulate instructions
: Divide instructions
: Last stage of Divide is a sign adjustment
: One or more stall cycles.