Lec2 - ISA Vs Microarchitecture
Lec2 - ISA Vs Microarchitecture
2
ISA Defintions
n ISA+implementation definition: The science and art of
designing, selecting, and interconnecting hardware
components and designing the hardware/software interface
to create a computing system that meets functional,
performance, energy consumption, cost, and other specific
goals.
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA vs. Microarchitecture
n What is part of ISA vs. Uarch?
q Internals of the engine: implement “acceleration”
19
ISA
n Instructions
q Opcodes, Addressing Modes, Data Types
q Instruction Types and Formats
q Registers, Condition Codes
n Memory
q Address space, Addressability, Alignment
q Virtual memory management
n Call, Interrupt/Exception Handling
n Access Control, Priority/Privilege
n I/O: memory-mapped vs. instr.
n Task/thread Management
n Power and Thermal Management
n Multi-threading support, Multiprocessor support
n …
20
Microarchitecture
n Implementation of the ISA under specific design constraints
and goals
21
Microarchitecture
n Implementation of the ISA under specific design constraints
and goals
n Anything done in hardware without exposure to software
21
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?
21
Property of ISA vs. Uarch?
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Bit-serial adder vs. Ripple-carry adder
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Bit-serial adder vs. Ripple-carry adder
n Number of general purpose registers
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Bit-serial adder vs. Ripple-carry adder
n Number of general purpose registers
n Number of cycles to execute the MUL instruction
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Bit-serial adder vs. Ripple-carry adder
n Number of general purpose registers
n Number of cycles to execute the MUL instruction
n Number of ports to the register file
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Bit-serial adder vs. Ripple-carry adder
n Number of general purpose registers
n Number of cycles to execute the MUL instruction
n Number of ports to the register file
n Whether or not the machine employs pipelined instruction
execution
22
Property of ISA vs. Uarch?
n ADD instruction’s opcode
n Bit-serial adder vs. Ripple-carry adder
n Number of general purpose registers
n Number of cycles to execute the MUL instruction
n Number of ports to the register file
n Whether or not the machine employs pipelined instruction
execution
n Remember
q Microarchitecture: Implementation of the ISA under specific
design constraints and goals
22
Design Point
n A set of design considerations and their importance
q leads to tradeoffs in both ISA and uarch
Problem
Algorithm
Program
ISA
Microarchitecture
Circuits
Electrons
23
Design Point
n A set of design considerations and their importance
q leads to tradeoffs in both ISA and uarch
n Example considerations: Problem
Algorithm
Program
ISA
Microarchitecture
Circuits
Electrons
23
Design Point
n A set of design considerations and their importance
q leads to tradeoffs in both ISA and uarch
n Example considerations: Problem
q Cost Algorithm
q Performance Program
23
Design Point
n A set of design considerations and their importance
q leads to tradeoffs in both ISA and uarch
n Example considerations: Problem
q Cost Algorithm
q Performance Program
24
Application Space
Dream, and they will appear…
24
Application Space
Dream, and they will appear…
24
Application Space
Dream, and they will appear…
24
Application Space
Dream, and they will appear…
24
Application Space
Dream, and they will appear…
24
Application Space
Dream, and they will appear…
24
Application Space
Dream, and they will appear…
24