























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth analysis of the multicycle mips datapath implementation, discussing its advantages over the single cycle datapath, the high-level view of the multicycle datapath, clocking the multicycle datapath, and breaking up instructions into steps. It also covers instruction fetch, instruction decode and register fetch, r-type instruction execution, memory read access, memory write completion, and memory read completion.
Typology: Study notes
1 / 31
This page cannot be seen from the preview
Don't miss anything!
























Spring 2005
Spring 2005
Multicycle MIPS datapath implementation
Reading assignment – PH 5.5 and C.
Spring 2005
especially problematic for more complex instructions likefloating point multiply
e.g., need separate adders to do PC update and branchtarget address calculations, as well as an ALU to do R-type arithmetic/logic operations and data memoryaddress calculations
Spring 2005
functional units to be used more than once per instructionas long as they are used on different clock cycles, as aresult
only need one memory
need only one ALU/adder
faster clock rates
different instructions to take a different number of clockcycles
Spring 2005
Address
Read Data
(Instr. or Data)
Memory
Read Addr 1Read Addr 2Write Addr Write Data
Register
File
Read Data 1
Read Data 2
Write Data
ALUout
System Clock
MemWrite
RegWrite
clock cycle
Spring 2005
balance the amount of work to be done in each step
restrict each cycle to use only one major functional unit
Store values needed in a later cycle by the currentinstruction in a state element (internal register) not visibleto the programmer
IR – Instruction RegisterMDR – Memory Data RegisterA and B – register file read data registersALUout – ALU output register
All (except IR) hold data only between a pair of adjacentclock cycles (so don’t need a write control signal)
Data used by subsequent instructions are stored inprogrammer visible state elements (i.e., register file, PC, ormemory)
Spring 2005
any of the internal registers or the PC occurs (quickly) atthe end of a clock cycle
reading/writing to the register file takes ~50% of a clockcycle since it has additional control and access overhead(reading can be done in parallel with decode)
This limits us to one ALU operation, one memory access,and one register file access per step (per clock cycle)
Spring 2005
Spring 2005
Instr Fetch
Spring 2005
Read registers rs and rt in case we need them
Compute the branch address in case the instruction is abranch
331 W10.
Spring 2005
Instr Fetch
Decode
Spring 2005
331 W10.
Spring 2005
Instr Fetch
Decode
Execute
(Op = beq)
Spring 2005