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

  1. R-Type ALU
  2. I-type ALU
  3. LW
  4. SW
  5. Branch (Not Taken, Taken)
  6. 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
  • 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