Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-1 Chapter 1. Fundamentals of Computer Design Introduction –Performance Improvement due to (1).

Slides:



Advertisements
Similar presentations
ECE 4100/6100 Advanced Computer Architecture Lecture 3 Performance Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Institute.
Advertisements

Lecture 2c: Benchmarks. Benchmarking Benchmark is a program that is run on a computer to measure its performance and compare it with other machines Best.
Computer Organization and Architecture 18 th March, 2008.
1 Copyright © 2012, Elsevier Inc. All rights reserved. Chapter 1 Fundamentals of Quantitative Design and Analysis Computer Architecture A Quantitative.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
CIS629 Fall Lecture Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two important.
1 Lecture 2: System Metrics and Pipelining Today’s topics: (Sections 1.6, 1.7, 1.9, A.1)  Quantitative principles of computer design  Measuring cost.
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.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Chapter 4 Assessing and Understanding Performance
Slide 1 Motivations and Introduction Phenomenal growth in computer industry/technology: X2/18mo in 20yr.  multi-GFLOPs processors, largely due to –Micro-electronics.
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
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 Lecture 10: FP, Performance Metrics Today’s topics:  IEEE 754 representations  FP arithmetic  Evaluating a system Reminder: assignment 4 due in a.
CIS429/529 Winter 07 - Performance - 1 Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two.
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Using Standard Industry Benchmarks Chapter 7 CSE807.
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 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.
Fundamentals of Computer Design
CS 6461: Computer Architecture Fall 2013 History and Trends Instructor: Morris Lancaster.
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.
1 Embedded Systems Computer Architecture. Embedded Systems2 Memory Hierarchy Registers Cache RAM Disk L2 Cache Speed (faster) Cost (cheaper per-byte)
1 Recap (from Previous Lecture). 2 Computer Architecture Computer Architecture involves 3 inter- related components – Instruction set architecture (ISA):
1 Introduction Background: CS 3810 or equivalent, based on Hennessy and Patterson’s Computer Organization and Design Text for CS/EE 5810/6810: Hennessy.
The University of Adelaide, School of Computer Science
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.
CDA 3101 Fall 2013 Introduction to Computer Organization Computer Performance 28 August 2013.
Advanced Computer Architecture Fundamental of Computer Design Instruction Set Principles and Examples Pipelining:Basic and Intermediate Concepts Memory.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Computer Architecture
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
CET Gannod1 Chapter 1 Fundamentals of Computer Design.
Morgan Kaufmann Publishers
Performance Performance
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
4. Performance 4.1 Introduction 4.2 CPU Performance and Its Factors
Performance Analysis Topics Measuring performance of systems Reasoning about performance Amdahl’s law Systems I.
EGRE 426 Computer Organization and Design Chapter 4.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Jan. 5, 2000Systems Architecture II1 Machine Organization (CS 570) Lecture 2: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed. Oct. 4,
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
CS203 – Advanced Computer Architecture Performance Evaluation.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
June 20, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 1: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed.
SPRING 2012 Assembly Language. Definition 2 A microprocessor is a silicon chip which forms the core of a microcomputer the concept of what goes into a.
CS203 – Advanced Computer Architecture
Lecture 2: Performance Today’s topics:
Lecture 2: Performance Evaluation
Lecture 3: MIPS Instruction Set
ECE 4100/6100 Advanced Computer Architecture Lecture 1 Performance
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS775: Computer Architecture
CMSC 611: Advanced Computer Architecture
Performance of computer systems
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
Performance of computer systems
CMSC 611: Advanced Computer Architecture
The University of Adelaide, School of Computer Science
Utsunomiya University
Computer Organization and Design Chapter 4
Presentation transcript:

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-1 Chapter 1. Fundamentals of Computer Design Introduction –Performance Improvement due to (1). Advances in the technology (2). Innovation in computer design – : (1) and (2) made a major contribution to performance improvement –1970 ~ : 25% to 30% per year performance improvement for the mainframes and minicomputers. –1975~ : 35% per year performance improvement for microprocessors simply due to (1).

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-2 Performance Growth for Micro-processors

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-3 Changes in the Marketplaces Made a Successful Architecture The virtual elimination of assembly language reduced the need for object code compatibility The creation of standardized, vendor-independent operating system, such as Unix and Linux, lowered the cost and risk Consequence of the changes –Enable the development of RISCs to focus on Exploitation of instruction level parallelism Use of caches –Lead to 50% increase in performance per year

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-4 The Effect of the Growth rate in Computer Performance Significantly enhanced the capability available to computer users Lead to the dominance of microprocessor-based computers across the entire range of computer design. –Workstations and PCs have emerged as major products. –Servers replace minicomputers. –Multiprocessors replace mainframe computers and super computers. The advance of IC technology –Emergence of RSIC –Renewal of CISC such as x86 (IA32) microprocessors.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-5 The Changing Face of Computing 1960sLarge mainframes »Business data processing and scientific computing 1970sMinicomputers »Time-sharing 1980sDesktop computing(personal computing) 1990sInternet and Word Wide Web (servers) 2000sEmbedded computing, mobile computing, and pervasive computing

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-6 Tasks of a Computer Designer Determine what attributes are important for a new machine, then design a machine to maximize performance while staying within cost constraints. Task aspects: Instruction set design, functional organization, logic design, and implementation. In the past, “Computer Architecture” often referred only to instruction set design. Other aspects of computer design were called “implementation”. In this book, “Computer Architecture” is intended to cover all three aspects of computer design: instruction set architecture, organization and hardware. “Instruction set architecture” refers to the actual programmable-visible instruction set. It serves as the boundary between the hardware and software.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-7 “organization” includes the high-level aspects of a computer’s design, such as the memory system, the bus structure, and the internal CPU. NEC VR5432 and NEC VR 4122 have the same instruction set architecture but with different organization. “Hardware” would include the detailed logic design and packaging technology of the machine. –For example: different Pentium microprocessors running in different frequency have the same instruction set architecture and organization but with different hardware implementation Organization and hardware are two components of implementations.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-8 Functional Requirements (Fig. 1.4) Application Area: –General purpose, scientific and server, commercial, embedded computing Level of Software Compatibility –At programming language, object code or binary code compatibility Operating System Requirements –Size of address space, memory management, protection Standards –Floating point, I/O bus, operating systems, networks, programming languages

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-9 Technology Trends A successful instruction set architecture must be designed to survive changes in computer implementation technology. Trends in implementation technology: –Integrated circuit logic technology: Transistor density: 35% increase per year, quadruple in 4 years. Die size: 10%~20% increase per year Transistor count/per chip: 55% increase per year. Transistor speed: scales more slowly. –DRAM: Density: 40%~60% increase per year recently. Cycle time : decrease 1/3 in 10 years. –Magnetic disk: Density: 100% increase per year recently. 30% increase per year, double in 3 years, prior to –Network technology Ethernet: 10M to 100M to 1G byte band width.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-10 Scaling of IC Technology IC Process Technology –10um(1971)0.18um(2001) IC Technology and Computer Performance –Transistor performance –Wire delay –Power consumption

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-11 Cost, Price and Their Trends Cost reduction factors –Learning curve drives the cost down; manufacturing costs over time, i.e., yield improvement. –High volume (i.e. mass production) –Commodities are products sold by multiple vendors in large volumes and essentially identical, i.e., competition. –Price of DRAM (fig. 1.5) –Price of Pentium III (fig. 1.6) Cost of an integrated circuit –Cost of die =f(die area) –Computer designer affects die size both by what functions are included on the die and by the number of I/O pins. Distribution of cost in a system (fig. 1.9, 1.10)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-12 Prices of DRAM

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-13 Price of Pentium III

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-14 Price for $1000 PC

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-15 Measuring and Reporting Performance “X is n times faster than Y” means The term “system performance” is used to refer to elapsed time on an unloaded system. CPU performance refers to user CPU time on an unloaded system. To evaluate a new system is to compare the execution time of her workload - the mixture of programs and operating system commands run on a machine.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-16 Choosing Programs to Evaluate Performance Best case: Measure the execution time of a system’s workload General case: five levels of programs are used: –Real programs: C compiler, Tex, Spice, etc. –Modified (scripted) applications: A collection of real applications… –Kernels: small, key pieces from the real programs, ex., Livermore loops and Linpack. –Toy Benchmarks: 10 to 100 lines of code and produce a result the user already knows, ex., puzzle, quicksort,… –Synthetic benchmarks: try to match the average frequency of operations and operands of a large set of programs, ex., Whetstone and Drystone. Performance prediction accuracy: –Real programs is best, wile synthetic benchmarks is worst. and reporting performance results (fig. 1.9 &1.10)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-17 Benchmark Suites SPEC (Standard Performance Evaluation Corporation) – Benchmark types –Desktop benchmarks –Server benchmarks –Embedded benchmarks

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-18 Desktop Benchmarks SPEC Benchmarks –SPEC CPU2000 (SPEC95, SPEC92, SPEC89) (Fig. 1.12) –Graphic benchmarks SPECviewperf SPECapc Window’s OS benchmarks (Fig. 1.11) –Business Winstone –CC Winstone –Winbench

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-19 Server Benchmarks SPEC –File server benchmarks: SPECSFS Measuring NFS performance –Web server benchmarks: SPECWeb Simulate multiple clients requesting both static and dynamic pages. TPC (Transaction-Processing Council) –TPC-A, TPC-C, TPC-H, TPC-R, TPC-W Simulate a business-oriented transactions (queries)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-20 Embedded Benchmarks EDN Embedded Microprocessor Benchmark Consortium (EEMBC) (Fig. 1.13) –Automotive/industrial –Consumer –Networking –Office automation –Telecommunications

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-21 Reporting Performance Results Guiding Principle –The performance measurements should be reproducibility. Needs to tell –Hardware configurations –Software used Is source code modification for benchmarks allowed?

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-22 Comparing Performance Computer A Computer BComputer C P1 (secs)11020 P2 (secs) Total time Total execution time: A consistent summary measure Another metrics –Average execution time (arithmetic mean) –Harmonic mean –Weighted execution time: –Geometric mean:

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-23 Quantitative Principles of Computer Design Make the common case fast: A fundamental law, called Amdahl’s Law, can be used to quantify this principle. Amdahl’s Law –the performance improvement to be gained from using some faster mode of execution is limited by the fraction of the time the faster mode can be used. –Amdahl’s Law defines speedup as Example on pages 41 and 42

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-24 CPU Performance Equation –Dependency Clock cycle time - Hardware technology and organization CPI - Organization and instruction set architecture Instruction count - Instruction set architecture and compiler –Sometimes and overall –Example on page 44.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-25 Measuring the Components of CPU Performance Clock cycle time: Timing simulator or timing verifiers IC(instruction count) –Direct measurement from running the applications on hardware –Instruction set simulator - slow but accurate –Instrumentation code approach: the binary program is modified by inserting some extra code into every basic block. Fast but need instruction set translation if simulated machine differs from simulating machine. CPI: very difficult to measure CPI = Pipeline CPI + Memory system CPI Basic block Label:xxx Branch *** Branch *** Label: xxx Branch *** Branch *** Label: xxx Label: xxx Use the CPU performance equations to compute performance

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-26 Principle of Locality Application of Amdahl’s Law –A program spends 90% of execution time in on 10% of the code. –Temporal locality: Recently accessed items are likely to be accessed in the near future. –Spatial locality: Items whose addresses are near one another tend to be referenced close together in time.

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-27 Put it All Together Performance and Price-Performance –Desktop computers –Server computers –Embedded processors

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-28 Price and Performance of Desktops (1)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-29 Price and Performance of Desktops (2)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-30 Price and Performance of Servers (1)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-31 Price and Performance of Servers (2)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-32 Price&Performance of Embedded Processors (1)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-33 Price&Performance of Embedded Processors (2)

Rung-Bin Lin Chapter 1: Fundamental of Computer Design1-34 Price&Performance of Embedded Processors (3)