Digital Design and Computer Architecture - Lecture 12: Microarchitecture 2
This post is a derivative of Digital Design and Computer Architecture Lecture by Prof. Onur Mutlu, used under CC BY-NC-SA 4.0.
You can watch this lecture on Youtube and see pdf.
I write this summary for personal learning purposes.
Agenda for Today
- Microarchitecture (principles & single-cycle uarch)
- Multi-cycle microarchitecture
Let’s Control The Single-Cycle MIPS Datapath
- R-Type ALU
- I-type ALU
- LW
- SW
- Branch (Not Taken, Taken)
- Jump
Evaluating the Single-Cycle Microarchitecture
How fast are my instructions?
- They can take one or more clock cycles to complete
- Cycles per Instruction = CPI
How much time is one clock cycle?
- one cycle requires = clock period
- 1/clock period = clock frequency
Our program executes in N(instructions) * CPI * (1/f = T) seconds
(Micro)architecture Design Principles
- Critical path design
- Find and decrease the maximum combinational logic delay
- Break a path into multiple cycles if it takes too long
- Bread and butter (common case) design
- Spend time and resources on where it matters most
- i.e., improve what the machine is really designed to do
- Common case vs. uncommon case
- Spend time and resources on where it matters most
- Balanced design
- Balance instruction/data flow through hardware components
- Design to eliminate bottlenecks: balance the hardware for the work
Aside: System Design Principles
- Yale Patt, “Requirements, Bottlenecks, and Good Fortune: Agents for Microprocessor Evolution,” Proc. of IEEE, 2001. (Levels of transformation, design point, etc)
- Mike Flynn, “Very High-Speed Computing Systems,” Proc. of IEEE, 1966. (Flynn’s Bottleneck à Balanced design)
- Gene M. Amdahl, “Validity of the single processor approach to achieving large scale computing capabilities,” AFIPS Conference, April 1967. (Amdahl’s Law à Common-case design)
- Butler W. Lampson, “Hints for Computer System Design,” ACM Operating Systems Review, 1983.
A Key System Design Principle
- Keep it simple
- “Everything should be made as simple as possible, but no simpler.” - Albert Einstein
- Keep it low cost: “An engineer is a person who can do for a dime what any fool can do for a dollar.”
Multi-Cycle Microarchitectures
- Goal: Let each instruction take (close to) only as much time it really needs
- Idea
- Determine clock cycle time independently of instruction processing time
- Each instruction takes as many clock cycles as it needs to take
- Multiple state transitions per instruction
- The states followed by each instruction is different
One Example Multi-Cycle Microarchitecture
Lecture, pdf p.81.
Leave a comment