Multi-cycle control: microprogram
Microprogram implementation: ROM or PLA
Each microinstruction has address, represents 1 clock cycle
Selection of next instruction
Increment address: seq
Begin executing next MIPS instruction: fetch
Jump to microinstruction based on control input: dispatch
Table contains addresses of jump targets
Indexed by control inputs
Multiple tables indicated by value i in sequencing field
Blank fields
Functional unit or write control not asserted
MUX: don't care
Example: instruction fetch
First microinstruction:
Second microinstruction:
Similar sets of microinstructions for:
memory access (load/store)
R-type instructions
branch
jump