Download 18-447 Computer Architecture and more Schemes and Mind Maps Computer Architecture and Organization in PDF only on Docsity!
Computer Architecture
Lecture 3: ISA Tradeoffs
Prof. Onur Mutlu
Carnegie Mellon University
Spring 2015, 1/16/
Agenda for Today
n Deep dive into ISA and its tradeoffs
Last Lecture Recap
n Levels of Transformation
q Algorithm, ISA, Microarchitecture
n Moore’s Law
n What is Computer Architecture
n Why Study Computer Architecture
n Fundamental Concepts
n Von Neumann Model
n Dataflow Model
n ISA vs. Microarchitecture
n Assignments: HW0 (today!), Lab1 (Jan 23), HW1 (Jan 28)
Review: ISA vs. Microarchitecture
n ISA
q Agreed upon interface between software
and hardware
n SW/compiler assumes, HW promises
q What the software writer needs to know
to write and debug system/user programs
n Microarchitecture
q Specific implementation of an ISA
q Not visible to the software
n Microprocessor
q ISA, uarch , circuits
q “Architecture” = ISA + microarchitecture
Microarchitecture ISA Program Algorithm Problem Circuits Electrons
Microarchitecture
n Implementation of the ISA under specific design constraints
and goals
n Anything done in hardware without exposure to software
q Pipelining
q In-order versus out-of-order instruction execution
q Memory access scheduling policy
q Speculative execution
q Superscalar processing (multiple instruction issue?)
q Clock gating
q Caching? Levels, size, associativity, replacement policy
q Prefetching?
q Voltage/frequency scaling?
q Error correction?
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Number of general purpose registers
n Number of ports to the register file
n Number of cycles to execute the MUL instruction
n Whether or not the machine employs pipelined instruction
execution
n Remember
q Microarchitecture: Implementation of the ISA under specific
design constraints and goals
Application Space
n Dream, and they will appear…
Tradeoffs: Soul of Computer Architecture
n ISA-level tradeoffs
n Microarchitecture-level tradeoffs
n System and Task-level tradeoffs
q How to divide the labor between hardware and software
n Computer architecture is the science and art of making the appropriate trade-offs to meet a design point q Why art?
Why Is It (Somewhat) Art?
Microarchitecture ISA Program/Language Algorithm Problem Runtime System (VM, OS, MM) User
n And, the future is not constant (it changes)!
Logic Circuits Electrons Changing demands at the top (Look Up and Forward) Changing issues and capabilities at the bottom (Look Down and Forward) Changing demands and personalities of users (Look Up and Forward)
Analogue from Macro-Architecture
n Future is not constant in macro-architecture, either
n Example: Can a power plant boiler room be later used as a
classroom?
How Can We Adapt to the Future
n This is part of the task of a good computer architect
n Many options (bag of tricks)
q Keen insight and good design
q Good use of fundamentals and principles
n Efficient design
n Heterogeneity
n Reconfigurability
n …
q Good use of the underlying technology
q …
ISA Principles and Tradeoffs
Instruction
n Basic element of the HW/SW interface
n Consists of
q opcode: what the instruction does
q operands: who it is to do it to
q Example from the Alpha ISA:
MIPS
opcode
6-‐bit
rs
5-‐bit
rt
5-‐bit
immediate
16-‐bit I-‐type (^0) R-‐type 6-‐bit
rs
5-‐bit
rt
5-‐bit
rd
5-‐bit
shamt
5-‐bit
funct
6-‐bit
opcode
6-‐bit
immediate
26-‐bit J-‐type