EECS4201 Computer Architecture

Similar documents
Copyright 2012, Elsevier Inc. All rights reserved.

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 1. Copyright 2012, Elsevier Inc. All rights reserved. Computer Technology

Fundamentals of Quantitative Design and Analysis

Lecture 1: Introduction

Transistors and Wires

CSE 502 Graduate Computer Architecture

Introduction to Computer Architecture II

ECE 486/586. Computer Architecture. Lecture # 2

Computer Architecture Lecture 1: Fundamentals of Quantitative Design and Analysis (Chapter 1)

TDT 4260 lecture 2 spring semester 2015

Advanced Computer Architecture Week 1: Introduction. ECE 154B Dmitri Strukov

Advanced Computer Architecture Week 1: Introduction. ECE 154B Dmitri Strukov

Fundamentals of Computers Design

Fundamentals of Computer Design

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

Fundamentals of Computer Design

Computer Architecture. Minas E. Spetsakis Dept. Of Computer Science and Engineering (Class notes based on Hennessy & Patterson)

Advanced Computer Architecture Week 1: Introduction. ECE 154B Dmitri Strukov

DEPARTMENT OF ECE IV YEAR ECE EC6009 ADVANCED COMPUTER ARCHITECTURE LECTURE NOTES

Advanced Computer Architecture (CS620)

Chapter 1: Fundamentals of Quantitative Design and Analysis

CS/EE 6810: Computer Architecture

Advanced Computer Architecture Week 1: Introduction. ECE 154B Dmitri Strukov

Performance of computer systems

Course web site: teaching/courses/car. Piazza discussion forum:

Lecture 1: Introduction

Instructor Information

Outline Marquette University

The Computer Revolution. Classes of Computers. Chapter 1

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology

Performance, Power, Die Yield. CS301 Prof Szajda

EECS2021E EECS2021E. The Computer Revolution. Morgan Kaufmann Publishers September 12, Chapter 1 Computer Abstractions and Technology 1

CS3350B Computer Architecture. Introduction

Defining Performance. Performance 1. Which airplane has the best performance? Computer Organization II Ribbens & McQuain.

Computer Organization and Design, 5th Edition: The Hardware/Software Interface

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

EECS2021. EECS2021 Computer Organization. EECS2021 Computer Organization. Morgan Kaufmann Publishers September 14, 2016

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

Introduction. CSCI 4850/5850 High-Performance Computing Spring 2018

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

Lecture 7: Parallel Processing

anced computer architecture CONTENTS AND THE TASK OF THE COMPUTER DESIGNER The Task of the Computer Designer

An Introduction to Parallel Architectures

ECE 154A. Architecture. Dmitri Strukov

Chap. 4 Multiprocessors and Thread-Level Parallelism

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

45-year CPU Evolution: 1 Law -2 Equations

Chapter 1. The Computer Revolution

Introduction to Parallel and Distributed Computing. Linh B. Ngo CPSC 3620

Performance evaluation. Performance evaluation. CS/COE0447: Computer Organization. It s an everyday process

LECTURE 1. Introduction

TDT4260/DT8803 COMPUTER ARCHITECTURE EXAM

Computer Architecture

Lecture 2: Performance

Lecture 1: CS/ECE 3810 Introduction

EITF20: Computer Architecture Part1.1.1: Introduction

Lect. 2: Types of Parallelism

EE282H: Computer Architecture and Organization. EE282H: Computer Architecture and Organization -- Course Overview

Computer Architecture. What is it?

CDA3101 Recitation Section 13

Performance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals

CSCI 402: Computer Architectures. Computer Abstractions and Technology (4) Fengguang Song Department of Computer & Information Science IUPUI.

CS 590: High Performance Computing. Parallel Computer Architectures. Lab 1 Starts Today. Already posted on Canvas (under Assignment) Let s look at it

CS4200/5200. Lecture 1 Introduction. Dr. Xiaobo Zhou Department of Computer Science. UC. Colorado Springs. Compiler

TDT4255 Computer Design. Lecture 1. Magnus Jahre

Module 5 Introduction to Parallel Processing Systems

Lecture 7: Parallel Processing

1.13 Historical Perspectives and References

Computer Architecture

ECE 588/688 Advanced Computer Architecture II

Computer Architecture

ECE 588/688 Advanced Computer Architecture II

Twos Complement Signed Numbers. IT 3123 Hardware and Software Concepts. Reminder: Moore s Law. The Need for Speed. Parallelism.

CSE502 Graduate Computer Architecture. Lec 22 Goodbye to Computer Architecture and Review

COMPUTER ARCHITECTURE

Computer Systems Architecture

CS3350B Computer Architecture CPU Performance and Profiling

ECE 2162 Intro & Trends. Jun Yang Fall 2009

Embedded processors. Timo Töyry Department of Computer Science and Engineering Aalto University, School of Science timo.toyry(at)aalto.

RISC Processors and Parallel Processing. Section and 3.3.6

Response Time and Throughput

Parallelism and Concurrency. COS 326 David Walker Princeton University

Chapter 1. Computer Abstractions and Technology. Adapted by Paulo Lopes, IST

Moore s Law. CS 6534: Tech Trends / Intro. Good Ol Days: Frequency Scaling. The Power Wall. Charles Reiss. 24 August 2016

Computer Architecture. R. Poss

CS 6534: Tech Trends / Intro

Serial. Parallel. CIT 668: System Architecture 2/14/2011. Topics. Serial and Parallel Computation. Parallel Computing

Why GPUs? Robert Strzodka (MPII), Dominik Göddeke G. TUDo), Dominik Behr (AMD)

Vector Architectures Vs. Superscalar and VLIW for Embedded Media Benchmarks

Chapter 4 Data-Level Parallelism

LECTURE 1. Introduction

Engineering 9859 CoE Fundamentals Computer Architecture

Computer Architecture s Changing Definition

10th August Part One: Introduction to Parallel Computing

Course II Parallel Computer Architecture. Week 2-3 by Dr. Putu Harry Gunawan

Multiprocessors & Thread Level Parallelism

CMSC Computer Architecture Lecture 12: Multi-Core. Prof. Yanjing Li University of Chicago

Transcription:

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