Microarchitecture. Implementation of the ISA under specific designconstraints and goalsAnything done in hardware without exposure tosoftware Pipelining- In-order versus out-of-order instruction execution- Memory access scheduling policy-Speculative execution- Superscalar processing (multiple instruction issue?)-Clockgating- Caching? Levels, size,associativity,replacement policy- Prefetching?- Voltage/frequency scaling?-Error correction?ComputerArchitecture16
Computer Architecture Microarchitecture • Implementation of the ISA under specific design constraints and goals • Anything done in hardware without exposure to software – Pipelining – In-order versus out-of-order instruction execution – Memory access scheduling policy – Speculative execution – Superscalar processing (multiple instruction issue?) – Clock gating – Caching? Levels, size, associativity, replacement policy – Prefetching? – Voltage/frequency scaling? – Error correction? 16
Property of ISA vs. Uarch?: ADD instruction's opcode. Number of general purpose registers. Number of ports to the register file· Number of cycles to execute the MUL instruction Whether or not the machine employs pipelinedinstruction executionRemember- Microarchitecture: Implementation of the ISA underspecificdesignconstraintsandgoalsComputerArchitecture17
Computer Architecture Property of ISA vs. Uarch? • ADD instruction’s opcode • Number of general purpose registers • Number of ports to the register file • Number of cycles to execute the MUL instruction • Whether or not the machine employs pipelined instruction execution • Remember – Microarchitecture: Implementation of the ISA under specific design constraints and goals 17
Design Point. A set of design considerations and their importance leads to tradeoffs in both ISA and uarch.ConsiderationsProblem- CostAlgorithm-PerformanceProgram- Maximum power consumptionISA- Energy consumption (battery life)Microarchitecture-AvailabilityCircuits- Reliability and CorrectnessElectrons-Time to Market Design point determined by the“"Problem”space(application space), or the intended users/marketComputerArchitecture18
Computer Architecture Design Point • A set of design considerations and their importance – leads to tradeoffs in both ISA and uarch • Considerations – Cost – Performance – Maximum power consumption – Energy consumption (battery life) – Availability – Reliability and Correctness – Time to Market • Design point determined by the “Problem” space (application space), or the intended users/market 18 Microarchitecture ISA Program Algorithm Problem Circuits Electrons
Tradeoffs: Soul of Computer ArchitectureISA-level tradeoffsMicroarchitecture-level tradeoffs: System and Task-level tradeoffsHowtodividethelaborbetweenhardwareandsoftwareComputer architecture is the science and art of making theappropriate trade-offs to meet a design pointComputerArchitecture19
Computer Architecture Tradeoffs: Soul of Computer Architecture • ISA-level tradeoffs • Microarchitecture-level tradeoffs • System and Task-level tradeoffs – How to divide the labor between hardware and software • Computer architecture is the science and art of making the appropriate trade-offs to meet a design point 19
Many Different ISAs Over Decadesx86PDP-x: Programmed Data Processor (PDP-11)VAXIBM360CDC 6600SIMD ISAs: CRAY-1, Connection MachineVLIW ISAs: Multiflow, Cydrome, IA-64 (EPIC)PowerPC,POWERRISC ISAs: Alpha, MIPS, SPARC, ARM: What are the fundamental differences?-E.g.,how instructionsarespecifiedand whatthey do- E.g., how complex are the instructionsComputerArchitecture20
Computer Architecture Many Different ISAs Over Decades • x86 • PDP-x: Programmed Data Processor (PDP-11) • VAX • IBM 360 • CDC 6600 • SIMD ISAs: CRAY-1, Connection Machine • VLIW ISAs: Multiflow, Cydrome, IA-64 (EPIC) • PowerPC, POWER • RISC ISAs: Alpha, MIPS, SPARC, ARM • What are the fundamental differences? – E.g., how instructions are specified and what they do – E.g., how complex are the instructions 20