A multi-cycle processor breaks each instruction into steps and does one step per clock cycle. Tiny8 is one: fetch takes three cycles (F1, F2, F3), decode one (D), and execute one or two (E1, E2).
What follows:
- CPI > 1. Tiny8's memory instructions take 6 cycles; jumps and HALT take 5.
- Short period. The clock only has to fit the slowest step, not the slowest whole instruction.
- Simple instructions finish sooner. A JMP doesn't wait through steps it doesn't need.
- Hardware reuse. One memory serves both the instruction fetch and the data access, because they happen in different cycles. One ALU can do different jobs in different steps.
- More control. The control unit needs a state per step, and intermediate results need registers (like the MDR and IR) to hold them between cycles.
Compared with a single cycle processor, neither is always faster. Compute cpu execution time for both: a multi-cycle CPU wins when its period is short enough to make up for its higher CPI.