The Role of Performance
|
|
- Emily Ford
- 5 years ago
- Views:
Transcription
1 Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Role of Performance
2 What is performance? A set of metrics that allow us to compare two different hardware platforms Facts about hardware Measured, reported, summarized 2 2
3 Why should we care? Besides the obvious what to buy The Informed Consumer Concerned from an architectural standpoint Again the why of the machine Why is one instruction faster? Why does some hardware feature affect the speed? But also the how How can we make the computer be faster? And finally, what are the trade-offs? 3 3
4 Performance Definition What does this mean? Computer A has better performance than B Well, it depends Response time (latency) Amount of time to finish your job Called Execution Time Finishing more jobs, faster (bandwidth) Amount of time to finish many jobs Throughput 4 4
5 Keep it simple... For now, we focus on execution time Thus we say: Performance = or, by substitution: 1 Execution time Performance X Performance Y = Execution time Y Execution time X When we say X is n times faster than Y Performance X Performance Y = n 5 5
6 Relative Performance Two machines X & Y Machine X runs a program in 10 seconds Machine Y runs the program in 15 seconds Which has better performance? Relative performance Performance X Performance Y = Execution time Y 15 = Execution time X 10 = 1.5 X is 1.5 times faster than Y Or is Y 1.5 times slower than X 6 6
7 Actually measure performance Everything based on time Time to finish a job Time to finish all of the jobs Easiest is total time (elapsed time) But this is not totally accurate CPU Time I/O Time 7 7
8 CPU Time Two categories User time Time spent on MY job System time Time spent on operating system overhead On Unix time command On Windows Can't do it easily 8 8
9 System Time Includes all operating system overhead Switching tasks Managing interrupts Should this be included in performance? Yes? Different OS, different overhead No? OS is part of the execution time 9 9
10 Other Metrics Performance is not just time Think about measures based on computer work All computers have a clock Based on an oscillator that vibrates at a constant rate Provides distinct time intervals Clock cycle Ticks Clock periods 10 10
11 Clocks Length of the clock period Called Clock cycle (e.g. 2 ns) Measured in seconds/cycle Or Clock rate (500 MHZ) Inverse of the clock cycle Measured in cylces/second See 500 MHZ = 500,000,000 cycles/second 2 ns 2/1,000,000,000 second 500 x 10 6 cycles second * 2 1,000 x 10 6 =
12 Ponder Consider 1 ns clock cycle means 1 GHZ (1,000,000,000) Nanosecond = 1 x 10-9 Light travels 1 foot 3 GHZ is 3,000,000,000 cycles in a second 3 x 10 9 cycles/second Cycle time of 333 picoseconds or.333 ns Amount of time it takes light to travel 4 inches 12 12
13 Relating Metrics Only concerned with CPU time Users are concerned with time Designers with clock cycles Relate the two CPU Execution Time We could also say CPU Execution Time = # clock cycles for a program = * Clock cycle time # clock cycles for a program Clock rate 13 13
14 Look at an example A Program runs in 10 seconds Want to improve the clock rate to take 6 seconds Currently running at 400 MHZ 10 seconds = # clock cycles for a program 400 x 10 6 cycles second # clock cycles for a program = 10 seconds x cycles 400 x 10 6 second = 4000 x 10 6 cycles 14 14
15 The Solution Changing the clock rate would... So Make the processor use 1.2 times as many clock cycles CPU Time = 1.2 x Old cyle count New clock rate 6 seconds = 1.2 x 4000 x 106 cycles New clock rate New clock rate = 1.2 x 4000 x 106 cycles 6 seconds = 800 x 106 cycles second = 800 MHZ 15 15
16 Program Clock Cycles Where do they come from? Every instruction takes time to execute Time taken is a clock cycle Refine our equations CPU clock cycles = # Instructions executed * Average clock cycle per instruction 16 16
17 CPI CPI is Clock cycles Per Instruction Average time each instruction takes to execute Add takes less time than multiply or load Averaged over an entire program Can compare two different implementation of the same architecture 17 17
18 More CPI CPI depends on different factors Memory system Processor structure ISA implementation Example: A program that performs many load/store operations will have a high CPI Takes a certain number of cycles to access memory 18 18
19 MIPS (no, not the one you think) Millions of Instructions Per Second Inverse of CPI Not constant Faster machines have higher MIPS rate Also depends on instruction mix MIPS = Instruction count Execution time x
20 FLOPS Floating-point operations per seconds Rate depends on machine implementation Options: No FPU Microprogrammed FPU Hardwired FPU Supports more functions (sine, cosine,...) MFLOPS (Mega-FLOPS) FLOPS x 10 6 Operations: Add/ Subtract/ Multiply/ Divide/... Precision Single / Double 20 20
21 Finally, the equations This all works out to the following metrics CPU Time = Instruction count * CPI * Clock cycle time Or CPU Time = Instruction count * CPI Clock rate 21 21
22 That is great Can play with distinct parts to find balance But how do we get the numbers? Look at the parts CPU time: Run the program Clock cycle time: Provided by the manufacturer Instruction Count:???? CPI:???? 22 22
23 Instruction count Couple of ways Use a simulator Such as SPIM A Software Profiler Counts instructions as they execute Hardware counters Included on newer processors Instruction count is implementation agnostic 23 23
24 But CPI... CPI however, depends on a lot more Like the memory system Can be done with Detailed simulation (more detailed than SPIM) Calculating the number of instructions and their individual cycle counts CPU clock cycles = S (CPI i x C i ) CPI is implementation specific 24 24
25 Instruction Frequencies Rank instruction load conditional branch compare store add and sub move register -register call return Total Average time executed 22% 20% 16% 12% 8% 6% 5% 4% 1% 1% 96% 25 25
26 Lets be compiler writers Given The following facts, supplied by HW designer Instruction class CPI for this instruction class A 1 B 2 C 3 2 code sequences for a particular machine Code sequence 1 2 Instruction counts A B C
27 Finding the solution Required: Which code sequence executes the most instructions? Solution: Sequence 1 Executes (2+1+2 = 5) instruction CPU clock cycles for 1: 10 cycles (2x1)+(1x2)+(2x3) = 10 cycles Sequence 2 Executes ( =6) instructions CPU clock cycles for 2: 9 cycles (4x1)+(1x2)+(1x3) = 9 cycles 27 27
28 The Example Completed CPI = CPU Clock cycles / Instruction count CPI for Sequence 1: 10/5 = 2 CPI CPI for 2: 9/6 = 1.5 CPI Code sequence 2 is faster Has more instructions Requires fewer cycles 28 28
29 Software for Comparison How to select software for comparison? Needs to accurately emulate daily workload Needs to be run on different machines We want real world applications Actual real-world target workload Pros: Represents real-world problems Cons: Difficult to run and measure Very specific Not portable to other situations Difficult to speed up execution 29 29
30 Which Benchmarks? We use Benchmarks Programs selected to measure performance More specific and Portable Should be class of apps users use most Engineers run math-intensive applications Developers- compilers and document processors Large suites Prevents trivial optimizations that negate the benchmark More likely to represent real usage 30 30
31 Types of benchmarks Full application Like compilers, games, streaming media Pros Portable, Widely used Cons Less representative 31 31
32 Types of Benchmarks Kernel Short loops with specific instructions Pros Easy to run Good in design phase Cons Tailored to specific task Can't compare across machines 32 32
33 Types of Benchmarks Micro Benchmarks Pros Good for beginning design Can compile and simulate easily Cons Can lead to misleading results Might not give actual performance 33 33
34 Types of Applications Suites of Applications Programs with specific input Pros Good indicator of compiler tech and performance Cons Needs updating to match current SW applications 34 34
35 Problems with Benchmarks Compiler optimizations Vendors optimize specifically for benchmarks Compilers optimized for benchmark only Special switches Little Code, Lots of Execution Modern compilers can optimize loops to almost nothing Further, small amount of code will reside in cache 35 35
36 What IBM Did PowerPC 550 in S P E C p e rf o r m a n c e r a t io g c c e s p re s s o s p ic e d o d u c n a s a 7 li e q n to tt m a trix fp p p p to m c a tv B e n c h m a rk C o m p ile r E n h a n c e d c o m p ile r 36 36
37 Select a suite Industry has settled on SPEC System Performance Evaluation Cooperative Created by a group of companies in 1989 SPEC95 The latest release of SPEC benchmark Eighteen application benchmarks (with inputs) reflecting a technical computing workload Eight integer Ten floating-point intensive Must run with standard compiler flags 37 37
38 Comparing results SPEC Ratio Normalized results Divide execution time on a SPARC station by time on the measured machine 10 9 S P E C i n t Clock Rate (MHZ) Pentium Pentium Pro 38 38
39 Now, to comparing performance Not quite We have benchmarks We decide on response/throughput How do we summarize performance? Perfomance = Execution Run the suite a number of times Take the arithmetic mean of all of the runs The ratio of the two is the relative performance 39 39
40 Increasing Performance How do we increase performance? Make improvements to Implementation Architecture Start from Scratch 40 40
41 Increasing Performance Implementation Improvements Faster clock with unchanged architecture Advantage: Old programs can run on the new machine => A major selling point Architectural Improvements Add new instructions & new registers Advantage: Old programs should continue to run Disadvantage: Software must be recompiled to take advantage of the new features 41 41
42 Starting over RISC architecture (1980 s) IA-64 (Now) Really just RISC Advantage: Freedom of change and design current needs Disadvantage: Everything must be done from scratch Old programs can t be used 42 42
43 Increasing Performance- Pitfalls Amdahl's Law Improving one aspect by a percentage does not increase the entire machine by that percentage MIPS (not that one) can be used Instructions implemented differently Can vary inversely with perfomance Arithmetic mean predicts performance Normalization causes skewing of information 43 43
44 Final thoughts Execution time is only valid metric Performance measurements should reflect execution time Can't design hardware for performance without considering cost Exception: High performance computers for scientific computing Crays or the Virginia Tech Computer Cluser 44 44
45 Virginia Technology G
46 Final thoughts Other extreme is low-cost design Cost takes precedence over performance IBM PC, embedded computers Cost / performance design, in which the Designer balance cost against performance Cost determined by Components Labor Research & development Sales & marketing Profit margin 46 46
47 Final thoughts Performance increases come from: Increases in clock rate Without adverse CPI affects Improvements in processor organization that lower CPI Compiler enhancements that lower CPI and/or instruction count 47 47
Computer Performance. Reread Chapter Quiz on Friday. Study Session Wed Night FB 009, 5pm-6:30pm
Computer Performance He said, to speed things up we need to squeeze the clock Reread Chapter 1.4-1.9 Quiz on Friday. Study Session Wed Night FB 009, 5pm-6:30pm L15 Computer Performance 1 Why Study Performance?
More informationThe bottom line: Performance. Measuring and Discussing Computer System Performance. Our definition of Performance. How to measure Execution Time?
The bottom line: Performance Car to Bay Area Speed Passengers Throughput (pmph) Ferrari 3.1 hours 160 mph 2 320 Measuring and Discussing Computer System Performance Greyhound 7.7 hours 65 mph 60 3900 or
More informationPerformance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals
Performance COE 403 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals What is Performance? How do we measure the performance of
More informationPerformance. CS 3410 Computer System Organization & Programming. [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon]
Performance CS 3410 Computer System Organization & Programming [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon] Performance Complex question How fast is the processor? How fast your application runs?
More informationDefining Performance. Performance 1. Which airplane has the best performance? Computer Organization II Ribbens & McQuain.
Defining Performance Performance 1 Which airplane has the best performance? Boeing 777 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC-8-50 Boeing 747 BAC/Sud Concorde Douglas DC- 8-50 0 100 200 300
More informationIC220 Slide Set #5B: Performance (Chapter 1: 1.6, )
Performance IC220 Slide Set #5B: Performance (Chapter 1: 1.6, 1.9-1.11) Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational
More informationComputer Performance Evaluation: Cycles Per Instruction (CPI)
Computer Performance Evaluation: Cycles Per Instruction (CPI) Most computers run synchronously utilizing a CPU clock running at a constant clock rate: where: Clock rate = 1 / clock cycle A computer machine
More informationPerformance, Power, Die Yield. CS301 Prof Szajda
Performance, Power, Die Yield CS301 Prof Szajda Administrative HW #1 assigned w Due Wednesday, 9/3 at 5:00 pm Performance Metrics (How do we compare two machines?) What to Measure? Which airplane has the
More informationChapter 1. Instructor: Josep Torrellas CS433. Copyright Josep Torrellas 1999, 2001, 2002,
Chapter 1 Instructor: Josep Torrellas CS433 Copyright Josep Torrellas 1999, 2001, 2002, 2013 1 Course Goals Introduce you to design principles, analysis techniques and design options in computer architecture
More informationLecture 2: Computer Performance. Assist.Prof.Dr. Gürhan Küçük Advanced Computer Architectures CSE 533
Lecture 2: Computer Performance Assist.Prof.Dr. Gürhan Küçük Advanced Computer Architectures CSE 533 Performance and Cost Purchasing perspective given a collection of machines, which has the - best performance?
More informationDefining Performance. Performance. Which airplane has the best performance? Boeing 777. Boeing 777. Boeing 747. Boeing 747
Defining Which airplane has the best performance? 1 Boeing 777 Boeing 777 Boeing 747 BAC/Sud Concorde Douglas DC-8-50 Boeing 747 BAC/Sud Concorde Douglas DC- 8-50 0 100 200 300 400 500 Passenger Capacity
More informationDesigning for Performance. Patrick Happ Raul Feitosa
Designing for Performance Patrick Happ Raul Feitosa Objective In this section we examine the most common approach to assessing processor and computer system performance W. Stallings Designing for Performance
More informationResponse Time and Throughput
Response Time and Throughput Response time How long it takes to do a task Throughput Total work done per unit time e.g., tasks/transactions/ per hour How are response time and throughput affected by Replacing
More informationPerformance Analysis
Performance Analysis EE380, Fall 2015 Hank Dietz http://aggregate.org/hankd/ Why Measure Performance? Performance is important Identify HW/SW performance problems Compare & choose wisely Which system configuration
More informationComputer Architecture. Chapter 1 Part 2 Performance Measures
Computer Architecture Chapter 1 Part 2 Performance Measures 1 Topics Designing for Performance Performance Measures 2 Designing for Performance (1) Support-Demand Cycle Computer Performance Demands Supports
More informationMeasure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding effects of underlying architecture
Chapter 2 Note: The slides being presented represent a mix. Some are created by Mark Franklin, Washington University in St. Louis, Dept. of CSE. Many are taken from the Patterson & Hennessy book, Computer
More informationWhich is the best? Measuring & Improving Performance (if planes were computers...) An architecture example
1 Which is the best? 2 Lecture 05 Performance Metrics and Benchmarking 3 Measuring & Improving Performance (if planes were computers...) Plane People Range (miles) Speed (mph) Avg. Cost (millions) Passenger*Miles
More informationPerformance evaluation. Performance evaluation. CS/COE0447: Computer Organization. It s an everyday process
Performance evaluation It s an everyday process CS/COE0447: Computer Organization and Assembly Language Chapter 4 Sangyeun Cho Dept. of Computer Science When you buy food Same quantity, then you look at
More informationPerformance. February 12, Howard Huang 1
Performance Today we ll try to answer several questions about performance. Why is performance important? How can you define performance more precisely? How do hardware and software design affect performance?
More informationOverview of Today s Lecture: Cost & Price, Performance { 1+ Administrative Matters Finish Lecture1 Cost and Price Add/Drop - See me after class
Overview of Today s Lecture: Cost & Price, Performance EE176-SJSU Computer Architecture and Organization Lecture 2 Administrative Matters Finish Lecture1 Cost and Price Add/Drop - See me after class EE176
More informationMEASURING COMPUTER TIME. A computer faster than another? Necessity of evaluation computer performance
Necessity of evaluation computer performance MEASURING COMPUTER PERFORMANCE For comparing different computer performances User: Interested in reducing the execution time (response time) of a task. Computer
More informationComputer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture
Computer and Information Sciences College / Computer Science Department CS 207 D Computer Architecture The Computer Revolution Progress in computer technology Underpinned by Moore s Law Makes novel applications
More informationCOMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology The Computer Revolution Progress in computer technology Underpinned by Moore
More informationCPE300: Digital System Architecture and Design
CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Number Representation 09212011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Logic Circuits for Register Transfer
More informationECE C61 Computer Architecture Lecture 2 performance. Prof. Alok N. Choudhary.
ECE C61 Computer Architecture Lecture 2 performance Prof Alok N Choudhary choudhar@ecenorthwesternedu 2-1 Today s s Lecture Performance Concepts Response Time Throughput Performance Evaluation Benchmarks
More informationCMSC 611: Advanced Computer Architecture
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Science
More informationReporting Performance Results
Reporting Performance Results The guiding principle of reporting performance measurements should be reproducibility - another experimenter would need to duplicate the results. However: A system s software
More informationCOMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Classes of Computers Personal computers General purpose, variety of software
More informationCourse web site: teaching/courses/car. Piazza discussion forum:
Announcements Course web site: http://www.inf.ed.ac.uk/ teaching/courses/car Lecture slides Tutorial problems Courseworks Piazza discussion forum: http://piazza.com/ed.ac.uk/spring2018/car Tutorials start
More informationCO Computer Architecture and Programming Languages CAPL. Lecture 15
CO20-320241 Computer Architecture and Programming Languages CAPL Lecture 15 Dr. Kinga Lipskoch Fall 2017 How to Compute a Binary Float Decimal fraction: 8.703125 Integral part: 8 1000 Fraction part: 0.703125
More informationQuiz for Chapter 1 Computer Abstractions and Technology
Date: Not all questions are of equal difficulty. Please review the entire quiz first and then budget your time carefully. Name: Course: Solutions in Red 1. [15 points] Consider two different implementations,
More informationCS 110 Computer Architecture
CS 110 Computer Architecture Performance and Floating Point Arithmetic Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University
More informationPerformance of computer systems
Performance of computer systems Many different factors among which: Technology Raw speed of the circuits (clock, switching time) Process technology (how many transistors on a chip) Organization What type
More informationWhat is Good Performance. Benchmark at Home and Office. Benchmark at Home and Office. Program with 2 threads Home program.
Performance COMP375 Computer Architecture and dorganization What is Good Performance Which is the best performing jet? Airplane Passengers Range (mi) Speed (mph) Boeing 737-100 101 630 598 Boeing 747 470
More information4. What is the average CPI of a 1.4 GHz machine that executes 12.5 million instructions in 12 seconds?
Chapter 4: Assessing and Understanding Performance 1. Define response (execution) time. 2. Define throughput. 3. Describe why using the clock rate of a processor is a bad way to measure performance. Provide
More informationVector and Parallel Processors. Amdahl's Law
Vector and Parallel Processors. Vector processors are processors which have special hardware for performing operations on vectors: generally, this takes the form of a deep pipeline specialized for this
More informationPage 1. Program Performance Metrics. Program Performance Metrics. Amdahl s Law. 1 seq seq 1
Program Performance Metrics The parallel run time (Tpar) is the time from the moment when computation starts to the moment when the last processor finished his execution The speedup (S) is defined as the
More informationCpE 442 Introduction to Computer Architecture. The Role of Performance
CpE 442 Introduction to Computer Architecture The Role of Performance Instructor: H. H. Ammar CpE442 Lec2.1 Overview of Today s Lecture: The Role of Performance Review from Last Lecture Definition and
More informationInstructor Information
CS 203A Advanced Computer Architecture Lecture 1 1 Instructor Information Rajiv Gupta Office: Engg.II Room 408 E-mail: gupta@cs.ucr.edu Tel: (951) 827-2558 Office Times: T, Th 1-2 pm 2 1 Course Syllabus
More informationAdvanced processor designs
Advanced processor designs We ve only scratched the surface of CPU design. Today we ll briefly introduce some of the big ideas and big words behind modern processors by looking at two example CPUs. The
More informationQuiz for Chapter 1 Computer Abstractions and Technology 3.10
Date: 3.10 Not all questions are of equal difficulty. Please review the entire quiz first and then budget your time carefully. Name: Course: 1. [15 points] Consider two different implementations, M1 and
More informationCS3350B Computer Architecture CPU Performance and Profiling
CS3350B Computer Architecture CPU Performance and Profiling Marc Moreno Maza http://www.csd.uwo.ca/~moreno/cs3350_moreno/index.html Department of Computer Science University of Western Ontario, Canada
More informationCycles Per Instruction For This Microprocessor
What Is The Average Number Of Machine Cycles Per Instruction For This Microprocessor Wikipedia's Instructions per second page says that an i7 3630QM deliver ~110,000 It does reduce the number of "wasted"
More informationComputer Architecture s Changing Definition
Computer Architecture s Changing Definition 1950s Computer Architecture Computer Arithmetic 1960s Operating system support, especially memory management 1970s to mid 1980s Computer Architecture Instruction
More informationLecture Topics. Principle #1: Exploit Parallelism ECE 486/586. Computer Architecture. Lecture # 5. Key Principles of Computer Architecture
Lecture Topics ECE 486/586 Computer Architecture Lecture # 5 Spring 2015 Portland State University Quantitative Principles of Computer Design Fallacies and Pitfalls Instruction Set Principles Introduction
More informationComputer Architecture. What is it?
Computer Architecture Venkatesh Akella EEC 270 Winter 2005 What is it? EEC270 Computer Architecture Basically a story of unprecedented improvement $1K buys you a machine that was 1-5 million dollars a
More informationOutline Marquette University
COEN-4710 Computer Hardware Lecture 1 Computer Abstractions and Technology (Ch.1) Cristinel Ababei Department of Electrical and Computer Engineering Credits: Slides adapted primarily from presentations
More informationT T T T T T N T T T T T T T T N T T T T T T T T T N T T T T T T T T T T T N.
A1: Architecture (25 points) Consider these four possible branch predictors: (A) Static backward taken, forward not taken (B) 1-bit saturating counter (C) 2-bit saturating counter (D) Global predictor
More informationLECTURE 1. Introduction
LECTURE 1 Introduction CLASSES OF COMPUTERS When we think of a computer, most of us might first think of our laptop or maybe one of the desktop machines frequently used in the Majors Lab. Computers, however,
More informationChapter 14 Performance and Processor Design
Chapter 14 Performance and Processor Design Outline 14.1 Introduction 14.2 Important Trends Affecting Performance Issues 14.3 Why Performance Monitoring and Evaluation are Needed 14.4 Performance Measures
More informationLecture 3: Evaluating Computer Architectures. How to design something:
Lecture 3: Evaluating Computer Architectures Announcements - (none) Last Time constraints imposed by technology Computer elements Circuits and timing Today Performance analysis Amdahl s Law Performance
More informationCSE 141 Summer 2016 Homework 2
CSE 141 Summer 2016 Homework 2 PID: Name: 1. A matrix multiplication program can spend 10% of its execution time in reading inputs from a disk, 10% of its execution time in parsing and creating arrays
More informationCS61C - Machine Structures. Week 6 - Performance. Oct 3, 2003 John Wawrzynek.
CS61C - Machine Structures Week 6 - Performance Oct 3, 2003 John Wawrzynek http://www-inst.eecs.berkeley.edu/~cs61c/ 1 Why do we worry about performance? As a consumer: An application might need a certain
More informationThis Unit. CIS 501 Computer Architecture. As You Get Settled. Readings. Metrics Latency and throughput. Reporting performance
This Unit CIS 501 Computer Architecture Metrics Latency and throughput Reporting performance Benchmarking and averaging Unit 2: Performance Performance analysis & pitfalls Slides developed by Milo Martin
More informationCS/COE1541: Introduction to Computer Architecture
CS/COE1541: Introduction to Computer Architecture Dept. of Computer Science University of Pittsburgh http://www.cs.pitt.edu/~melhem/courses/1541p/index.html 1 Computer Architecture? Application pull Operating
More informationLecture - 4. Measurement. Dr. Soner Onder CS 4431 Michigan Technological University 9/29/2009 1
Lecture - 4 Measurement Dr. Soner Onder CS 4431 Michigan Technological University 9/29/2009 1 Acknowledgements David Patterson Dr. Roger Kieckhafer 9/29/2009 2 Computer Architecture is Design and Analysis
More informationThe Von Neumann Computer Model
The Von Neumann Computer Model Partitioning of the computing engine into components: Central Processing Unit (CPU): Control Unit (instruction decode, sequencing of operations), Datapath (registers, arithmetic
More informationASSEMBLY LANGUAGE MACHINE ORGANIZATION
ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction
More informationThe Computer Revolution. Classes of Computers. Chapter 1
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition 1 Chapter 1 Computer Abstractions and Technology 1 The Computer Revolution Progress in computer technology Underpinned by Moore
More informationParts A and B both refer to the C-code and 6-instruction processor equivalent assembly shown below:
CSE 30321 Computer Architecture I Fall 2010 Homework 02 Architectural Performance Metrics 100 points Assigned: September 7, 2010 Due: September 14, 2010 Problem 1: (20 points) The scope of this 1 st problem
More informationAnnouncements. 1 week extension on project. 1 week extension on Lab 3 for 141L. Measuring performance Return quiz #1
Today Announcements 1 week extension on project. 1 week extension on Lab 3 for 141L. Measuring performance Return quiz #1 1 Evaluating Computers: Bigger, better, faster, more? 2 Key Points What does it
More informationCS 61C: Great Ideas in Computer Architecture Performance and Floating Point Arithmetic
CS 61C: Great Ideas in Computer Architecture Performance and Floating Point Arithmetic Instructors: Bernhard Boser & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/ 10/25/16 Fall 2016 -- Lecture #17
More informationCS430 Computer Architecture
CS430 Computer Architecture Spring 2015 Spring 2015 CS430 - Computer Architecture 1 Chapter 14 Processor Structure and Function Instruction Cycle from Chapter 3 Spring 2015 CS430 - Computer Architecture
More informationPerformance analysis basics
Performance analysis basics Christian Iwainsky Iwainsky@rz.rwth-aachen.de 25.3.2010 1 Overview 1. Motivation 2. Performance analysis basics 3. Measurement Techniques 2 Why bother with performance analysis
More informationReal Processors. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University
Real Processors Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel
More informationCS 61C: Great Ideas in Computer Architecture Performance and Floating-Point Arithmetic
CS 61C: Great Ideas in Computer Architecture Performance and Floating-Point Arithmetic Instructors: Nick Weaver & John Wawrzynek http://inst.eecs.berkeley.edu/~cs61c/sp18 3/16/18 Spring 2018 Lecture #17
More informationECE369: Fundamentals of Computer Architecture
: Fundamentals of Computer Architecture ECE 369 MWF 10:00 AM - 10:50 AM in HARV-302 Instructor Teaching Assistant Name: Ali Akoglu Chad Rossmeisl Office: ECE 356-B Phone: (520) 626-5149 Email: akoglu@ece.arizona.edu
More informationComputer Organization and Design, 5th Edition: The Hardware/Software Interface
Computer Organization and Design, 5th Edition: The Hardware/Software Interface 1 Computer Abstractions and Technology 1.1 Introduction 1.2 Eight Great Ideas in Computer Architecture 1.3 Below Your Program
More informationPerformance, Cost and Amdahl s s Law. Arquitectura de Computadoras
Performance, Cost and Amdahl s s Law Arquitectura de Computadoras Arturo Díaz D PérezP Centro de Investigación n y de Estudios Avanzados del IPN adiaz@cinvestav.mx Arquitectura de Computadoras Performance-
More informationComputer Performance. Relative Performance. Ways to measure Performance. Computer Architecture ELEC /1/17. Dr. Hayden Kwok-Hay So
Computer Architecture ELEC344 Computer Performance How do you measure performance of a computer? 2 nd Semester, 208-9 Dr. Hayden Kwok-Hay So How do you make a computer fast? Department of Electrical and
More informationMultiple Issue ILP Processors. Summary of discussions
Summary of discussions Multiple Issue ILP Processors ILP processors - VLIW/EPIC, Superscalar Superscalar has hardware logic for extracting parallelism - Solutions for stalls etc. must be provided in hardware
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures CS61C L41 Performance I (1) Lecture 41 Performance I 2004-12-06 Lecturer PSOE Dan Garcia www.cs.berkeley.edu/~ddgarcia Sour Roses! Cal s best season
More informationPerformance measurement. SMD149 - Operating Systems - Performance and processor design. Introduction. Important trends affecting performance issues
Performance measurement SMD149 - Operating Systems - Performance and processor design Roland Parviainen November 28, 2005 Performance measurement Motivation Techniques Common metrics Processor architectural
More informationCS 352H Computer Systems Architecture Exam #1 - Prof. Keckler October 11, 2007
CS 352H Computer Systems Architecture Exam #1 - Prof. Keckler October 11, 2007 Name: Solutions (please print) 1-3. 11 points 4. 7 points 5. 7 points 6. 20 points 7. 30 points 8. 25 points Total (105 pts):
More informationSolutions for Chapter 4 Exercises
Solutions for Chapter 4 Exercises Solutions for Chapter 4 Exercises 4. For P, M2 is 4/3 (2 sec/.5 sec) times as fast as M. For P2, M is 2 times as fast (0 sec/5 sec) as M2. 4.2 We know the number of instructions
More informationEITF20: Computer Architecture Part2.1.1: Instruction Set Architecture
EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Instruction Set Principles The Role of Compilers MIPS 2 Main Content Computer
More informationEvaluating Computers: Bigger, better, faster, more?
Evaluating Computers: Bigger, better, faster, more? 1 Key Points What does it mean for a computer to be good? What is latency? bandwidth? What is the performance equation? 2 What do you want in a computer?
More informationCS152 Computer Architecture and Engineering. Lecture 9 Performance Dave Patterson. John Lazzaro. www-inst.eecs.berkeley.
CS152 Computer Architecture and Engineering Lecture 9 Performance 2004-09-28 Dave Patterson (www.cs.berkeley.edu/~patterson) John Lazzaro (www.cs.berkeley.edu/~lazzaro) www-inst.eecs.berkeley.edu/~cs152/
More informationOutline. What is Performance? Restating Performance Equation Time = Seconds. CPU Performance Factors
CS 61C: Great Ideas in Computer Architecture Performance and Floating-Point Arithmetic Instructors: Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 Outline Defining Performance
More informationCS 61C: Great Ideas in Computer Architecture Performance and Floating-Point Arithmetic
CS 61C: Great Ideas in Computer Architecture Performance and Floating-Point Arithmetic Instructors: Krste Asanović & Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 10/24/17 Fall 2017-- Lecture
More informationCS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro
CS 61C: Great Ideas in Computer Architecture Intro to Assembly Language, MIPS Intro 1 Levels of Representation/Interpretation Machine Interpretation High Level Language Program (e.g., C) Compiler Assembly
More informationIdentifying Performance Limiters Paulius Micikevicius NVIDIA August 23, 2011
Identifying Performance Limiters Paulius Micikevicius NVIDIA August 23, 2011 Performance Optimization Process Use appropriate performance metric for each kernel For example, Gflops/s don t make sense for
More informationAdvanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University
Advanced d Instruction ti Level Parallelism Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ILP Instruction-Level Parallelism (ILP) Pipelining:
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationAssessing and Understanding Performance
Assessing and Understanding Performance This set of slides is based on Chapter 4, Assessing and Understanding Performance, of the book Computer Organization and Design by Patterson and Hennessy. Here are
More informationCOMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS
Computer types: - COMPUTER ORGANISATION CHAPTER 1 BASIC STRUCTURE OF COMPUTERS A computer can be defined as a fast electronic calculating machine that accepts the (data) digitized input information process
More informationLecture 4: RISC Computers
Lecture 4: RISC Computers Introduction Program execution features RISC characteristics RISC vs. CICS Zebo Peng, IDA, LiTH 1 Introduction Reduced Instruction Set Computer (RISC) is an important innovation
More information1.3 Data processing; data storage; data movement; and control.
CHAPTER 1 OVERVIEW ANSWERS TO QUESTIONS 1.1 Computer architecture refers to those attributes of a system visible to a programmer or, put another way, those attributes that have a direct impact on the logical
More informationReduced Instruction Set Computer
Reduced Instruction Set Computer RISC - Reduced Instruction Set Computer By reducing the number of instructions that a processor supports and thereby reducing the complexity of the chip, it is possible
More informationThe Processor: Instruction-Level Parallelism
The Processor: Instruction-Level Parallelism Computer Organization Architectures for Embedded Computing Tuesday 21 October 14 Many slides adapted from: Computer Organization and Design, Patterson & Hennessy
More informationProcessor (IV) - advanced ILP. Hwansoo Han
Processor (IV) - advanced ILP Hwansoo Han Instruction-Level Parallelism (ILP) Pipelining: executing multiple instructions in parallel To increase ILP Deeper pipeline Less work per stage shorter clock cycle
More informationCS 152 Computer Architecture and Engineering
CS 152 Computer Architecture and Engineering Lecture 7 Performance 2005-2-8 John Lazzaro (www.cs.berkeley.edu/~lazzaro) TAs: Ted Hong and David Marquardt www-inst.eecs.berkeley.edu/~cs152/ Last Time: Tips
More informationURL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture
01 1 EE 4720 Computer Architecture 01 1 URL: https://www.ece.lsu.edu/ee4720/ RSS: https://www.ece.lsu.edu/ee4720/rss home.xml Offered by: David M. Koppelman 3316R P. F. Taylor Hall, 578-5482, koppel@ece.lsu.edu,
More informationECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation
ECE902 Virtual Machine Final Project: MIPS to CRAY-2 Binary Translation Weiping Liao, Saengrawee (Anne) Pratoomtong, and Chuan Zhang Abstract Binary translation is an important component for translating
More informationUCB CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 36 Performance 2010-04-23 Lecturer SOE Dan Garcia How fast is your computer? Every 6 months (Nov/June), the fastest supercomputers in
More informationLECTURE 10. Pipelining: Advanced ILP
LECTURE 10 Pipelining: Advanced ILP EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls, returns) that changes the normal flow of instruction
More information1.6 Computer Performance
1.6 Computer Performance Performance How do we measure performance? Define Metrics Benchmarking Choose programs to evaluate performance Performance summary Fallacies and Pitfalls How to avoid getting fooled
More informationGRE Architecture Session
GRE Architecture Session Session 2: Saturday 23, 1995 Young H. Cho e-mail: youngc@cs.berkeley.edu www: http://http.cs.berkeley/~youngc Y. H. Cho Page 1 Review n Homework n Basic Gate Arithmetics n Bubble
More informationIntroduction to Parallel and Distributed Computing. Linh B. Ngo CPSC 3620
Introduction to Parallel and Distributed Computing Linh B. Ngo CPSC 3620 Overview: What is Parallel Computing To be run using multiple processors A problem is broken into discrete parts that can be solved
More informationStorage I/O Summary. Lecture 16: Multimedia and DSP Architectures
Storage I/O Summary Storage devices Storage I/O Performance Measures» Throughput» Response time I/O Benchmarks» Scaling to track technological change» Throughput with restricted response time is normal
More information