Chapter 1 - Fundamentals1 Computer Architecture Chapter 1 Fundamentals Prof. Jerry Breecher CSCI 240 Fall 2001.

Slides:



Advertisements
Similar presentations
Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
Advertisements

1 CIS775: Computer Architecture Chapter 1: Fundamentals of Computer Design.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
100 Performance ENGR 3410 – Computer Architecture Mark L. Chang Fall 2006.
2-1 ECE 361 ECE C61 Computer Architecture Lecture 2 – performance Prof. Alok N. Choudhary
Computer Organization and Architecture (AT70.01) Comp. Sc. and Inf. Mgmt. Asian Institute of Technology Instructor: Dr. Sumanta Guha Slide Sources: Patterson.
ENGS 116 Lecture 21 Performance and Quantitative Principles Vincent H. Berk September 26 th, 2008 Reading for today: Chapter , Amdahl article.
Chapter 1 Fundamentals of Computer Design
EECC550 - Shaaban #1 Lec # 3 Spring Computer Performance Evaluation: Cycles Per Instruction (CPI) Most computers run synchronously utilizing.
CIS629 Fall Lecture Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two important.
1 CSE SUNY New Paltz Chapter 2 Performance and Its Measurement.
Computer Performance Evaluation: Cycles Per Instruction (CPI)
1  1998 Morgan Kaufmann Publishers and UCB Performance CEG3420 Computer Design Lecture 3.
CIS429.S00: Lec2- 1 Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two important quantitative.
ECE 232 L4 perform.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 4 Performance,
Chapter 4 Assessing and Understanding Performance
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 10 - Performance.
CS430 – Computer Architecture Lecture - Introduction to Performance
CIS429/529 Winter 07 - Performance - 1 Performance Overview Execution time is the best measure of performance: simple, intuitive, straightforward. Two.
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Performance Feb 2005.
1 CSE SUNY New Paltz Chapter Seven Exploiting Memory Hierarchy.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
CMSC 611: Advanced Computer Architecture Benchmarking Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.
Lecture 1: Course Introduction, Technology Trends, Performance Professor Alvin R. Lebeck Computer Science 220 Fall 2001.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Where Has This Performance Improvement Come From? Technology –More transistors per chip –Faster logic Machine Organization/Implementation –Deeper pipelines.
Lecture 2: Computer Performance
CENG 450 Computer Systems & Architecture Lecture 3 Amirali Baniasadi
PerformanceCS510 Computer ArchitecturesLecture Lecture 3 Benchmarks and Performance Metrics Lecture 3 Benchmarks and Performance Metrics.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Advanced Computer Architecture Fundamental of Computer Design Instruction Set Principles and Examples Pipelining:Basic and Intermediate Concepts Memory.
Digital System Architecture 1 28 ต.ค ต.ค ต.ค ต.ค ต.ค. 58 Lecture 2a Computer Performance and Cost Pradondet Nilagupta.
EEL5708/Bölöni Lec 4.1 Fall 2004 September 10, 2004 Lotzi Bölöni EEL 5708 High Performance Computer Architecture Review: Memory Hierarchy.
1 CS465 Performance Revisited (Chapter 1) Be able to compare performance of simple system configurations and understand the performance implications of.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Computer Architecture
Performance – Last Lecture Bottom line performance measure is time Performance A = 1/Execution Time A Comparing Performance N = Performance A / Performance.
CEN 316 Computer Organization and Design Assessing and Understanding Performance Mansour AL Zuair.
CS252/Patterson Lec 1.1 1/17/01 CMPUT429/CMPE382 Winter 2001 Topic2: Technology Trend and Cost/Performance (Adapted from David A. Patterson’s CS252 lecture.
EEL5708/Bölöni Lec 1.1 August 21, 2006 Lotzi Bölöni Fall 2006 EEL 5708 High Performance Computer Architecture Lecture 1 Introduction.
Cost and Performance.
Morgan Kaufmann Publishers
Performance Performance
TEST 1 – Tuesday March 3 Lectures 1 - 8, Ch 1,2 HW Due Feb 24 –1.4.1 p.60 –1.4.4 p.60 –1.4.6 p.60 –1.5.2 p –1.5.4 p.61 –1.5.5 p.61.
September 10 Performance Read 3.1 through 3.4 for Wednesday Only 3 classes before 1 st Exam!
Performance – Last Lecture Bottom line performance measure is time Performance A = 1/Execution Time A Comparing Performance N = Performance A / Performance.
Lec2.1 Computer Architecture Chapter 2 The Role of Performance.
Performance Analysis Topics Measuring performance of systems Reasoning about performance Amdahl’s law Systems I.
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,
Computer Architecture CSE 3322 Web Site crystal.uta.edu/~jpatters/cse3322 Send to Pramod Kumar, with the names and s.
EEL-4713 Ann Gordon-Ross.1 EEL-4713 Computer Architecture Performance.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
June 20, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 1: Performance Evaluation and Benchmarking * Jeremy R. Johnson Wed.
CpE 442 Introduction to Computer Architecture The Role of Performance
CS161 – Design and Architecture of Computer Systems
September 2 Performance Read 3.1 through 3.4 for Tuesday
Assessing and Understanding Performance
ECE 4100/6100 Advanced Computer Architecture Lecture 1 Performance
How do we evaluate computer architectures?
Chapter 1 Computer Abstractions & Technology Performance Evaluation
Performance of computer systems
Performance ICS 233 Computer Architecture and Assembly Language
August 30, 2000 Prof. John Kubiatowicz
Performance of computer systems
A Question to Ponder On [from last lecture]
COMS 361 Computer Organization
Presentation transcript:

Chapter 1 - Fundamentals1 Computer Architecture Chapter 1 Fundamentals Prof. Jerry Breecher CSCI 240 Fall 2001

Chapter 1 - Fundamentals2 Introduction 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy

Chapter 1 - Fundamentals3 Art and Architecture What’s the difference between Art and Architecture? Lyonel Feininger, Marktkirche in Halle

Chapter 1 - Fundamentals4 Art and Architecture What’s the difference between Art and Architecture? Notre Dame de Paris

Chapter 1 - Fundamentals5 What’s Computer Architecture? The attributes of a [computing] system as seen by the programmer, i.e., the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls the logic design, and the physical implementation. Amdahl, Blaaw, and Brooks, 1964 SOFTWARE

Chapter 1 - Fundamentals6 What’s Computer Architecture? 1950s to 1960s: Computer Architecture Course Computer Arithmetic. 1970s to mid 1980s: Computer Architecture Course Instruction Set Design, especially ISA appropriate for compilers. (What we’ll do in Chapter 2) 1990s to 2000s: Computer Architecture Course Design of CPU, memory system, I/O system, Multiprocessors. (All evolving at a tremendous rate!)

Chapter 1 - Fundamentals7 The Task of a Computer Designer 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy Evaluate Existing Systems for Bottlenecks Simulate New Designs and Organizations Implement Next Generation System Technology Trends Benchmarks Workloads Implementation Complexity

Chapter 1 - Fundamentals8 Technology and Computer Usage Trends 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy Similarly, Computer Architecture is about working within constraints: What will the market buy? Cost/Performance Tradeoffs in materials and processes When building a Cathedral numerous very practical considerations need to be taken into account: available materials worker skills willingness of the client to pay the price.

Chapter 1 - Fundamentals9 Trends Gordon Moore (Founder of Intel) observed in 1965 that the number of transistors that could be crammed on a chip doubles every year. This has CONTINUED to be true since then.

Chapter 1 - Fundamentals10 Trends Processor performance, as measured by the SPEC benchmark has also risen dramatically.

Chapter 1 - Fundamentals11 Trends Memory Capacity (and Cost) have changed dramatically in the last 20 years. year size(Mb)cyc time ns ns ns ns ns ns ns

Chapter 1 - Fundamentals12 Trends Based on SPEED, the CPU has increased dramatically, but memory and disk have increased only a little. This has led to dramatic changed in architecture, Operating Systems, and Programming practices. CapacitySpeed (latency) Logic2x in 3 years2x in 3 years DRAM4x in 3 years2x in 10 years Disk4x in 3 years2x in 10 years

Chapter 1 - Fundamentals13 Measuring And Reporting Performance 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy This section talks about: 1.Metrics – how do we describe in a numerical way the performance of a computer? 2.What tools do we use to find those metrics?

Chapter 1 - Fundamentals14 Metrics Time to run the task (ExTime) –Execution time, response time, latency Tasks per day, hour, week, sec, ns … (Performance) –Throughput, bandwidth Plane Boeing 747 BAD/Sud Concodre Speed 610 mph 1350 mph DC to Paris 6.5 hours 3 hours Passengers Throughput (pmph) 286, ,200

Chapter 1 - Fundamentals15 Metrics - Comparisons "X is n times faster than Y" means ExTime(Y) Performance(X) = ExTime(X) Performance(Y) Speed of Concorde vs. Boeing 747 Throughput of Boeing 747 vs. Concorde

Chapter 1 - Fundamentals16 Metrics - Comparisons Pat has developed a new product, "rabbit" about which she wishes to determine performance. There is special interest in comparing the new product, rabbit to the old product, turtle, since the product was rewritten for performance reasons. (Pat had used Performance Engineering techniques and thus knew that rabbit was "about twice as fast" as turtle.) The measurements showed: Performance Comparisons Product Transactions / second Seconds/ transaction Seconds to process transaction Turtle Rabbit Which of the following statements reflect the performance comparison of rabbit and turtle? o Rabbit is 100% faster than turtle. o Rabbit is twice as fast as turtle. o Rabbit takes 1/2 as long as turtle. o Rabbit takes 1/3 as long as turtle. o Rabbit takes 100% less time than turtle. o Rabbit takes 200% less time than turtle. o Turtle is 50% as fast as rabbit. o Turtle is 50% slower than rabbit. o Turtle takes 200% longer than rabbit. o Turtle takes 300% longer than rabbit.

Chapter 1 - Fundamentals17 Metrics - Throughput Compiler Programming Language Application Datapath Control TransistorsWiresPins ISA Function Units (millions) of Instructions per second: MIPS (millions) of (FP) operations per second: MFLOP/s Cycles per second (clock rate) Megabytes per second Answers per month Operations per second

Chapter 1 - Fundamentals18 Methods For Predicting Performance Benchmarks, Traces, Mixes Hardware: Cost, delay, area, power estimation Simulation (many levels) –ISA, RT, Gate, Circuit Queuing Theory Rules of Thumb Fundamental “Laws”/Principles

Chapter 1 - Fundamentals19 Benchmarks First Round 1989 –10 programs yielding a single number (“SPECmarks”) Second Round 1992 –SPECInt92 (6 integer programs) and SPECfp92 (14 floating point programs) Compiler Flags unlimited. March 93 of DEC 4000 Model 610: spice: unix.c:/def=(sysv,has_bcopy,”bcopy(a,b,c)= memcpy(b,a,c)” wave5: /ali=(all,dcom=nat)/ag=a/ur=4/ur=200 nasa7: /norecu/ag=a/ur=4/ur2=200/lc=blas Third Round 1995 –new set of programs: SPECint95 (8 integer programs) and SPECfp95 (10 floating point) –“benchmarks useful for 3 years” –Single flag setting for all programs: SPECint_base95, SPECfp_base95 SPEC: System Performance Evaluation Cooperative

Chapter 1 - Fundamentals20 Benchmarks CINT2000 (Integer Component of SPEC CPU2000): ProgramLanguageWhat Is It 164.gzip CCompression 175.vprCFPGA Circuit Placement and Routing 176.gccCC Programming Language Compiler 181.mcfCCombinatorial Optimization 186.craftyCGame Playing: Chess 197.parserCWord Processing 252.eonC++Computer Visualization 253.perlbmkCPERL Programming Language 254.gapC Group Theory, Interpreter 255.vortexCObject-oriented Database 256.bzip2CCompression 300.twolfCPlace and Route Simulator

Chapter 1 - Fundamentals21 Benchmarks CFP2000 (Floating Point Component of SPEC CPU2000): ProgramLanguageWhat Is It 168.wupwiseFortran 77Physics / Quantum Chromodynamics 171.swimFortran 77Shallow Water Modeling 172.mgridFortran 77Multi-grid Solver: 3D Potential Field 173.appluFortran 77Parabolic / Elliptic Differential Equations 177.mesaC3-D Graphics Library 178.galgelFortran 90Computational Fluid Dynamics 179.art C Image Recognition / Neural Networks 183.equakeCSeismic Wave Propagation Simulation 187.facerecFortran 90Image Processing: Face Recognition 188.ammpCComputational Chemistry 189.lucasFortran 90Number Theory / Primality Testing 191.fma3dFortran 90Finite-element Crash Simulation 200.sixtrackFortran 77High Energy Physics Accelerator Design 301.apsiFortran 77Meteorology: Pollutant Distribution

Chapter 1 - Fundamentals22 Benchmarks Sample Results For SpecINT2000 Base Base Base Peak Peak Peak Benchmarks Ref Time Run Time Ratio Ref Time Run Time Ratio 164.gzip * * 175.vpr * * 176.gcc * * 181.mcf * * 186.crafty * * 197.parser * * 252.eon * * 253.perlbmk * * 254.gap * * 255.vortex * * 256.bzip * * 300.twolf * * SPECint_base SPECint Intel OR840(1 GHz Pentium III processor)

Chapter 1 - Fundamentals23 Benchmarks Performance Evaluation “For better or worse, benchmarks shape a field” Good products created when have: –Good benchmarks –Good ways to summarize performance Given sales is a function in part of performance relative to competition, investment in improving product as reported by performance summary If benchmarks/summary inadequate, then choose between improving product for real programs vs. improving product to get more sales; Sales almost always wins! Execution time is the measure of computer performance!

Chapter 1 - Fundamentals24 Benchmarks Management would like to have one number. Technical people want more: 1.They want to have evidence of reproducibility – there should be enough information so that you or someone else can repeat the experiment. 2.There should be consistency when doing the measurements multiple times. How to Summarize Performance How would you report these results? Computer AComputer BComputer C Program P1 (secs)11020 Program P2 (secs) Total Time (secs)

Chapter 1 - Fundamentals25 Quantitative Principles of Computer Design 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy Make the common case fast. Amdahl’s Law: Relates total speedup of a system to the speedup of some portion of that system.

Chapter 1 - Fundamentals26 Amdahl's Law Suppose that enhancement E accelerates a fraction F of the task by a factor S, and the remainder of the task is unaffected Quantitative Design Speedup due to enhancement E: This fraction enhanced

Chapter 1 - Fundamentals27 ExTime new = ExTime old x (1 - Fraction enhanced ) + Fraction enhanced Speedup overall = ExTime old ExTime new Speedup enhanced = 1 (1 - Fraction enhanced ) + Fraction enhanced Speedup enhanced Quantitative Design This fraction enhanced ExTime old ExTime new Amdahl's Law

Chapter 1 - Fundamentals28 Amdahl's Law Floating point instructions improved to run 2X; but only 10% of actual instructions are FP Speedup overall = =1.053 ExTime new = ExTime old x ( /2) = 0.95 x ExTime old Quantitative Design

Chapter 1 - Fundamentals29 Quantitative Design “Instruction Frequency” Invest Resources where time is Spent! CPI = (CPU Time * Clock Rate) / Instruction Count = Cycles / Instruction Count where Number of instructions of type I. Cycles Per Instruction

Chapter 1 - Fundamentals30 Quantitative Design Base Machine (Reg / Reg) OpFreqCyclesCPI(i)(% Time) ALU50% 1.5(33%) Load20% 2.4(27%) Store10% 2.2(13%) Branch20% 2.4(27%) Total CPI 1.5 Suppose we have a machine where we can count the frequency with which instructions are executed. We also know how many cycles it takes for each instruction type. Cycles Per Instruction How do we get CPI(I)? How do we get %time?

Chapter 1 - Fundamentals31 Quantitative Design Locality of Reference Programs access a relatively small portion of the address space at any instant of time. There are two different types of locality: Temporal Locality (locality in time): If an item is referenced, it will tend to be referenced again soon (loops, reuse, etc.) Spatial Locality (locality in space/location): If an item is referenced, items whose addresses are close by tend to be referenced soon (straight line code, array access, etc.)

Chapter 1 - Fundamentals32 The Concept of Memory Hierarchy 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy Fast memory is expensive. Slow memory is cheap. The goal is to minimize the price/performance for a particular price point.

Chapter 1 - Fundamentals33 Memory Hierarchy Registers Level 1 cache Level 2 Cache MemoryDisk Typical Size <16K bytes<2 Mbytes<16 Gigabytes > 5 Gigabytes Access Time 1 nsec3 nsec15 nsec150 nsec5,000,000 nsec Bandwidth (in MB/sec) 10,000 – 50, Managed By CompilerHardware OSOS/User

Chapter 1 - Fundamentals34 Memory Hierarchy Hit: data appears in some block in the upper level (example: Block X) –Hit Rate: the fraction of memory access found in the upper level –Hit Time: Time to access the upper level which consists of RAM access time + Time to determine hit/miss Miss: data needs to be retrieve from a block in the lower level (Block Y) –Miss Rate = 1 - (Hit Rate) –Miss Penalty: Time to replace a block in the upper level + Time to deliver the block the processor Hit Time << Miss Penalty (500 instructions on 21264!)

Chapter 1 - Fundamentals35 Memory Hierarchy Registers Level 1 cache Level 2 Cache MemoryDisk What is the cost of executing a program if: Stores are free (there’s a write pipe) Loads are 20% of all instructions 80% of loads hit (are found) in the Level 1 cache 97 of loads hit in the Level 2 cache.

Chapter 1 - Fundamentals36 Wrap Up 1.1 Introduction 1.2 The Task of a Computer Designer 1.3 Technology and Computer Usage Trends 1.4 Cost and Trends in Cost 1.5 Measuring and Reporting Performance 1.6 Quantitative Principles of Computer Design 1.7 Putting It All Together: The Concept of Memory Hierarchy