CS 203 A: Advanced Computer Architecture

Slides:



Advertisements
Similar presentations
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Advertisements

Computer Abstractions and Technology
The University of Adelaide, School of Computer Science
1 ECE 570– Advanced Computer Architecture Dr. Patrick Chiang Winter 2013 Tues/Thurs 2-4PMPM.
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
ENGS 116 Lecture 21 Performance and Quantitative Principles Vincent H. Berk September 26 th, 2008 Reading for today: Chapter , Amdahl article.
9/23/2004Lec 1-21 CS 203A Advanced Computer Architecture Instructor: L. N. Bhuyan Lecture 1.
ENGS 116 Lecture 11 ENGS 116 / COSC 107 Computer Architecture Introduction Vincent H. Berk September 24 th, 2008 Reading for Friday: Chapter 1.1 – 1.4,
©UCB CS 162 Computer Architecture Lecture 1 Instructor: L.N. Bhuyan
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
ENGS 116 Lecture 11 ENGS 116 / COSC 107 Computer Architecture Introduction Vincent H. Berk September 21, 2005 Reading for Friday: Chapter 1.1 – 1.4, Amdahl.
CPE 731 Advanced Computer Architecture Multiprocessor Introduction
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 6810: Hennessy and.
Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-1 Chapter 1. Fundamentals of Computer Design Introduction –Performance Improvement due to (1).
CptS / E E COMPUTER ARCHITECTURE
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.
Lecture 2: Fundamentals of Computer Design Kai Bu
Computer Architecture- 1 Ping-Liang Lai ( 賴秉樑 ) Chapter 1 Fundamentals of Computer Design Computer Architecture 計算機結構.
Lecture 1 Overview of Computer Architecture TopicsOverview Readings: Chapter 1 August 24, 2015 CSCE 513 Computer Architecture.
Lecture 03: Fundamentals of Computer Design - Trends and Performance Kai Bu
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Lecture 02: Fundamentals of Computer Design - Basics Kai Bu
Recap Technology trends Cost/performance Measuring and Reporting Performance What does it mean to say “computer X is faster than computer Y”? E.g. Machine.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
The University of Adelaide, School of Computer Science
1 CS/EE 6810: Computer Architecture Class format:  Most lectures on YouTube *BEFORE* class  Use class time for discussions, clarifications, problem-solving,
MS108 Computer System I Lecture 2 Metrics Prof. Xiaoyao Liang 2014/2/28 1.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
PerformanceCS510 Computer ArchitecturesLecture Lecture 3 Benchmarks and Performance Metrics Lecture 3 Benchmarks and Performance Metrics.
Advanced Computer Architecture Fundamental of Computer Design Instruction Set Principles and Examples Pipelining:Basic and Intermediate Concepts Memory.
Computer Architecture
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
Computer Architecture CPSC 350
Morgan Kaufmann Publishers
Pipelining and Parallelism Mark Staveley
Performance Performance
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO CS 219 Computer Organization.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
1 دیباچه انسهانهای دست دوم بررسی نمی کنند، تکرار می کنند؛ انجام نمی دهند، ادای انجام دادن را در می آورند؛ خلق نمی کنند، نمایش می دهند؛ به توان خود و دیگران.
Lecture 1: Introduction CprE 585 Advanced Computer Architecture, Fall 2004 Zhao Zhang.
CS203 – Advanced Computer Architecture
CS203 – Advanced Computer Architecture Performance Evaluation.
Performance COE 301 / ICS 233 Computer Organization Prof. Muhamed Mudawar College of Computer Sciences and Engineering King Fahd University of Petroleum.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
Lecture 1 Overview of Computer Architecture
CS203 – Advanced Computer Architecture
What is *Computer Architecture*
CS203 – Advanced Computer Architecture
Lecture 2: Performance Today’s topics:
Morgan Kaufmann Publishers Computer Abstractions and Technology
Morgan Kaufmann Publishers
Computer Architecture CSCE 350
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Lecture 2: Performance Today’s topics: Technology wrap-up
Chapter 1 Fundamentals of Computer Design
The University of Adelaide, School of Computer Science
Computer Evolution and Performance
Lecture 3: MIPS Instruction Set
The University of Adelaide, School of Computer Science
Chapter 4 Multiprocessors
The University of Adelaide, School of Computer Science
Utsunomiya University
Presentation transcript:

CS 203 A: Advanced Computer Architecture Instructor Office Times: W, 3-5 pm Laxmi Narayan Bhuyan Office: Engg.II Room 351 E-mail: bhuyan@cs.ucr.edu Tel: (951) 827-2244   TA: Li Yan Office Hours: Tuesday 1-3 pm Cell: (951)823-3326 email: lyan@cs.ucr.edu Copyright © 2012, Elsevier Inc. All rights reserved.

CS 203A Course Syllabus, winter 2012 Text: Computer Architecture: A Quantitative Approach By Hennessy and Patterson, 5th Edition Introduction to computer Architecture, Performance (Chapter 1) Review of Pipelining, Hazards, Branch Prediction (Appendix C) Memory Hierarchy Design (Appendix B and Chapter 2) Instruction level parallelism, Dynamic scheduling, and Speculation (Appendix C and Chapter 3) Multiprocessors and Thread Level Parallelism (Chapter 5) Prerequisite: CS 161 or consent of the instructor

Copyright © 2012, Elsevier Inc. All rights reserved. Grading Grading: Based on Curve Test1: 35 points Test 2: 35 points Project 1: 15 points Project 2: 15 points The project is based on Simple Scalar simulator. See www.simplesacar.com Copyright © 2012, Elsevier Inc. All rights reserved.

What is *Computer Architecture* Instruction Set Architecture + Organization + Hardware + … The Instruction Set: a Critical Interface instruction set software hardware

The University of Adelaide, School of Computer Science Computer Architecture A Quantitative Approach, Fifth Edition The University of Adelaide, School of Computer Science 16 April 2017 Chapter 1 Fundamentals of Quantitative Design and Analysis Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 Computer Technology Introduction Performance improvements: Improvements in semiconductor technology Feature size, clock speed Improvements in computer architectures Enabled by HLL compilers, UNIX Lead to RISC architectures Together have enabled: Lightweight computers Productivity-based managed/interpreted programming languages Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Single Processor Performance Introduction Move to multi-processor RISC Copyright © 2012, Elsevier Inc. All rights reserved.

Current Trends in Architecture The University of Adelaide, School of Computer Science 16 April 2017 Current Trends in Architecture Introduction 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 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 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 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 Parallelism Classes of Computers Classes of parallelism in applications: Data-Level Parallelism (DLP) Task-Level Parallelism (TLP) Classes of architectural parallelism: Instruction-Level Parallelism (ILP) Vector architectures/Graphic Processor Units (GPUs) Thread-Level Parallelism Request-Level Parallelism Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 Flynn’s Taxonomy Classes of Computers Single instruction stream, single data stream (SISD) Single instruction stream, multiple data streams (SIMD) Vector architectures Multimedia extensions Graphics processor units Multiple instruction streams, single data stream (MISD) No commercial implementation Multiple instruction streams, multiple data streams (MIMD) Tightly-coupled MIMD Loosely-coupled MIMD Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Defining Computer Architecture The University of Adelaide, School of Computer Science 16 April 2017 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 “Real” computer architecture: Specific requirements of the target machine Design to maximize performance within constraints: cost, power, and availability Includes ISA, microarchitecture, hardware Defining Computer Architecture Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 Trends in Technology Trends in Technology Integrated circuit technology Transistor density: 35%/year Die size: 10-20%/year Integration overall: 40-55%/year 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 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 Bandwidth and Latency Trends in Technology Bandwidth or throughput Total work done in a given time 10,000-25,000X improvement for processors 300-1200X improvement for memory and disks Latency or response time Time between start and completion of an event 30-80X improvement for processors 6-8X improvement for memory and disks Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Copyright © 2012, Elsevier Inc. All rights reserved. Bandwidth and Latency Trends in Technology Log-log plot of bandwidth and latency milestones Copyright © 2012, Elsevier Inc. All rights reserved.

The University of Adelaide, School of Computer Science 16 April 2017 Transistors and Wires Trends in Technology 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 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 Static Power Static power consumption Currentstatic x Voltage Scales with number of transistors To reduce: power gating Trends in Power and Energy Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Dynamic Energy and Power The University of Adelaide, School of Computer Science 16 April 2017 Dynamic Energy and Power Dynamic energy Transistor switch from 0 -> 1 or 1 -> 0 ½ x Capacitive load x Voltage2 Dynamic power ½ x Capacitive load x Voltage2 x Frequency switched Reducing clock rate reduces power, not energy Trends in Power and Energy Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

The University of Adelaide, School of Computer Science 16 April 2017 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 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Measuring Performance The University of Adelaide, School of Computer Science 16 April 2017 Measuring Performance Typical performance metrics: Response time Throughput Speedup of X relative to Y Execution timeY / Execution timeX 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) Measuring Performance Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Principles of Computer Design The University of Adelaide, School of Computer Science 16 April 2017 Principles of Computer Design Principles Take Advantage of Parallelism e.g. multiple processors, disks, memory banks, pipelining, multiple functional units Principle of Locality Reuse of data and instructions Focus on the Common Case Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Compute Speedup – Amdahl’s Law Speedup is due to enhancement(E): TimeBefore TimeAfter Let F be the fraction where enhancement is applied => Also, called parallel fraction and (1-F) as the serial fraction F S ] Execution timeafter = ExTimebefore x [(1-F) + ExTimebefore ExTimeafter 1 Speedup(E) = = F S ] [(1-F) + 9/23/2004

Principles of Computer Design The University of Adelaide, School of Computer Science 16 April 2017 Principles of Computer Design Principles The Processor Performance Equation Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Principles of Computer Design The University of Adelaide, School of Computer Science 16 April 2017 Principles of Computer Design Principles Different instruction types having different CPIs Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 2 — Instructions: Language of the Computer

Example Instruction mix of a RISC architecture. Add a register-memory ALU instruction format? One op. in register, one op. in memory The new instruction will take 2 cc but will also increase the Branches to 3 cc. Q: What fraction of loads must be eliminated for this to pay off? 9/23/2004

Solution ALL loads must be eliminated for this to be a win! Instr. Fi CPIi CPIixFi Ii CPIixIi ALU .5 1 .5-X Load .2 2 .4 .2-X .4-2X Store .1 Branch 3 .6 Reg/Mem X 2X 1.0 CPI=1.5 1-X (1.7-X)/(1-X) Exec Time = Instr. Cnt. x CPI x Cycle time Instr. Cntold x CPIold x Cycle timeold >= Instr. Cntnew x CPInew x Cycle timenew 1.0 x 1.5 >= (1-X) x (1.7-X)/(1-X) X >= 0.2 ALL loads must be eliminated for this to be a win! 9/23/2004

Choosing Programs to Evaluate Perf. Toy benchmarks e.g., quicksort, puzzle No one really runs. Scary fact: used to prove the value of RISC in early 80’s Synthetic benchmarks Attempt to match average frequencies of operations and operands in real workloads. e.g., Whetstone, Dhrystone Often slightly more complex than kernels; But do not represent real programs Kernels Most frequently executed pieces of real programs e.g., livermore loops Good for focusing on individual features not big picture Tend to over-emphasize target feature Real programs e.g., gcc, spice, SPEC2006 (standard performance evaluation corporation), TPCC, TPCD, PARSEC, SPLASH Livermore loops – commonly used FORTRAN subroutine