Computer Architecture A Quantitative Approach, Fifth Edition Chapter 1 Fundamentals of Quantitative Design and Analysis These slides are based on the slides provided by the publisher. The slides will be modified, annotated, explained on the board, and sometimes corrected in the class 1 EECS4201 Computer Architecture Instructor Mokhtar Aboelaze Office LAS2026 Phone ext: 40607 Research interests Computer Architecture Low power architecture Embedded systems FPGA (in embedded applications) 2 Chapter 2 Fundamentals of Quantitative Design and Analysis 1
EECS4201 Computer Architecture Text Computer Architecture: A Quantitative Approach Patterson & Hennessey 5 th Ed. Class Meeting Tuesdays, Thursdays 10:11:30 CB 120 Office Hours Tuesdays, Thursdays 1:00-3:00pm or by appointment 3 Grading EECS4201 Grades are distributed as follows HW/Assignments 10% Quizzes 15% Midterm 25% Paper review groups of 2 10% Final 40% 4 Chapter 2 Fundamentals of Quantitative Design and Analysis 2
Grading EECS5501 Grades are distributed as follows HW/Assignments 10% Quizzes 15% Midterm 20% Project 20% Final 35% 5 Assumptions EECS2021 or equivalent Assembly language RISC architecture ALU architecture Pipelining and hazards Memory hierarchy and cache organization 6 Chapter 2 Fundamentals of Quantitative Design and Analysis 3
Computer Architecture Why study computer architecture Hardware/Architecture Design better, faster, cheaper computers that use as little energy as possible Software Understand the architecture to squeeze as much performance for your code as possible 7 Computer Technology Performance improvements: Improvements in semiconductor technology Feature size, clock speed Improvements in computer architectures Enabled by HLL compilers, UNIX Lead to RISC architectures Introduction Together have enabled: Lightweight computers Productivity-based managed/interpreted programming languages 8 Chapter 2 Fundamentals of Quantitative Design and Analysis 4
Single Processor Performance Move to multi-processor Introduction RISC 9 Current Trends in Architecture Cannot continue to leverage Instruction-Level parallelism (ILP) Single processor performance improvement ended in 2003 New models for performance: Data-level parallelism (DLP) Thread-level parallelism (TLP) Request-level parallelism (RLP) These require explicit restructuring of the application Introduction 10 Chapter 2 Fundamentals of Quantitative Design and Analysis 5
Classes of Computers Personal Mobile Device (PMD) e.g. start phones, tablet computers Emphasis on energy efficiency and real-time Desktop Computing Emphasis on price-performance Servers Emphasis on availability, scalability, throughput Clusters / Warehouse Scale Computers Used for Software as a Service (SaaS) Emphasis on availability and price-performance Sub-class: Supercomputers, emphasis: floating-point performance and fast internal networks Embedded Computers Emphasis: price Classes of Computers 11 Parallelism Classes of parallelism in applications: Data-Level Parallelism (DLP) Task-Level Parallelism (TLP) Classes of Computers Classes of architectural parallelism: Instruction-Level Parallelism (ILP) Vector architectures/graphic Processor Units (GPUs) Thread-Level Parallelism Request-Level Parallelism 12 Chapter 2 Fundamentals of Quantitative Design and Analysis 6
Flynn s Taxonomy Single instruction stream, single data stream (SISD) Single instruction stream, multiple data streams (SIMD) Vector architectures Multimedia extensions Graphics processor units Classes of Computers Multiple instruction streams, single data stream (MISD) No commercial implementation Multiple instruction streams, multiple data streams (MIMD) Tightly-coupled MIMD Loosely-coupled MIMD 13 Defining Computer Architecture Old view of computer architecture: Instruction Set Architecture (ISA) design i.e. decisions regarding: registers, memory addressing, addressing modes, instruction operands, available operations, control flow instructions, instruction encoding Defining Computer Architecture Real computer architecture: Specific requirements of the target machine Design to maximize performance within constraints: cost, power, and availability Includes ISA, microarchitecture, hardware 14 Chapter 2 Fundamentals of Quantitative Design and Analysis 7
Trends in Technology Integrated circuit technology Transistor density: 35%/year Die size: 10-20%/year Integration overall: 40-55%/year Trends in Technology DRAM capacity: 25-40%/year (slowing) Flash capacity: 50-60%/year 15-20X cheaper/bit than DRAM Magnetic disk technology: 40%/year 15-25X cheaper/bit then Flash 300-500X cheaper/bit than DRAM 15 Bandwidth and Latency Bandwidth or throughput Total work done in a given time 10,000-25,000X improvement for processors 300-1200X improvement for memory and disks Trends in Technology Latency or response time Time between start and completion of an event 30-80X improvement for processors 6-8X improvement for memory and disks 16 Chapter 2 Fundamentals of Quantitative Design and Analysis 8
Bandwidth and Latency Trends in Technology Log-log plot of bandwidth and latency milestones 17 Transistors and Wires Feature size Minimum size of transistor or wire in x or y dimension 10 microns in 1971 to.032 microns in 2011 Transistor performance scales linearly Wire delay does not improve with feature size! Integration density scales quadratically Trends in Technology 18 Chapter 2 Fundamentals of Quantitative Design and Analysis 9
Power and Energy Problem: Get power in, get power out Thermal Design Power (TDP) Characterizes sustained power consumption Used as target for power supply and cooling system Lower than peak power, higher than average power consumption Trends in Power and Energy Clock rate can be reduced dynamically to limit power consumption Energy per task is often a better measurement 19 Dynamic Energy and Power Dynamic energy Transistor switch from 0 -> 1 or 1 -> 0 ½ x Capacitive load x Voltage 2 Dynamic power ½ x Capacitive load x Voltage 2 x Frequency switched Trends in Power and Energy Reducing clock rate reduces power, not energy 20 Chapter 2 Fundamentals of Quantitative Design and Analysis 10
Power Intel 80386 consumed ~ 2 W 3.3 GHz Intel Core i7 consumes 130 W Heat must be dissipated from 1.5 x 1.5 cm chip This is the limit of what can be cooled by air Trends in Power and Energy 21 Reducing Power Techniques for reducing power: Do nothing well Dynamic Voltage-Frequency Scaling Design for typical use Overclocking, turning off cores Trends in Power and Energy 22 Chapter 2 Fundamentals of Quantitative Design and Analysis 11
Static Power Static power consumption Current static x Voltage Scales with number of transistors To reduce: power gating Trends in Power and Energy 23 Trends in Cost Cost driven down by learning curve Yield Trends in Cost DRAM: price closely tracks cost Microprocessors: price depends on volume 10% less for each doubling of volume 24 Chapter 2 Fundamentals of Quantitative Design and Analysis 12
Integrated Circuit Cost Integrated circuit Trends in Cost Bose-Einstein formula: Defects per unit area = 0.016-0.057 defects per square cm (2010) N = process-complexity factor = 11.5-15.5 (40 nm, 2010) 25 Integrated Circuits Cost 26 Chapter 2 Fundamentals of Quantitative Design and Analysis 13
Dependability Module reliability Mean time to failure (MTTF) Mean time to repair (MTTR) Mean time between failures (MTBF) = MTTF + MTTR Availability = MTTF / MTBF Dependability 27 Measuring Performance Typical performance metrics: Response time Throughput Speedup of X relative to Y Measuring Performance Execution time Y / Execution time X Execution time Wall clock time: includes all system overheads CPU time: only computation time Benchmarks Kernels (e.g. matrix multiply) Toy programs (e.g. sorting) Synthetic benchmarks (e.g. Dhrystone) Benchmark suites (e.g. SPEC06fp, TPC-C) 28 Chapter 2 Fundamentals of Quantitative Design and Analysis 14
Reporting Performance Must be reproducible Complete description of the computer and compiler flags. Usually, compared to a standard machine execution time SPECRatioA = T ref /T A. Geometric mean 29 Principles of Computer Design Take Advantage of Parallelism e.g. multiple processors, disks, memory banks, pipelining, multiple functional units Principles Principle of Locality Reuse of data and instructions Focus on the Common Case Amdahl s Law 60 40% 60 8 Speedup=5 30 Chapter 2 Fundamentals of Quantitative Design and Analysis 15
Principles of Computer Design The Processor Performance Equation Principles 31 Principles of Computer Design Different instruction types having different CPIs Principles 32 Chapter 2 Fundamentals of Quantitative Design and Analysis 16
Fallacies and Pitfalls 33 Fallacies and Pitfalls 34 Chapter 2 Fundamentals of Quantitative Design and Analysis 17