Multicycle Implementation State Machine, Pipelining
Tom Kelliher, CS 240
Apr. 9, 1999
Schedule changes on Tuesday.
Format of the review.
Multicycle implementation instruction cycle.
- Multicycle implementation state machine design.
- Pipelining overview.
Pipelining.
High level view of the state machine:

Three teams:
- Design instruction fetch/decode and jump states.
- Design memory access states.
- Design R-format and branch states.
(Define states and transitions. Define signal assertions/deassertions
within each state.)
The laundry analogy:

The five stage MIPS pipeline:
- Instruction fetch.
- Decode and read registers.
The consistent placement of the source registers permits this.
- Execute ALU operation or calculate an address.
- Access memory.
- Result write-back.
Assume:
- Memory access is 2 ns.
- ALU use is 2 ns.
- Register file access is 1 ns.
Instruction class times:

Clock periods for the two implementations?
Execution example:

Note that pipelined register file reads are done during the second half of
the clock cycle and writes are done during the first half. Why?
Consider the speedup:
- Assumption: Stages are of equal length. What if they aren't?
- Speedup is at most the number of pipeline stages.
Do we achieve that?
Consider the execution of 1,000 instructions and compute the actual
speedup.
What happened? The cost of the pipeline registers.
Consider:
- How does the speedup occur?
- Shortened instruction execution time?
- Higher instruction bandwidth?
Thomas P. Kelliher
Thu Apr 8 19:20:09 EDT 1999
Tom Kelliher