COMS 361 Computer Organization

Slides:



Advertisements
Similar presentations
CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Advertisements

CS1104: Computer Organisation School of Computing National University of Singapore.
Performance What differences do we see in performance? Almost all computers operate correctly (within reason) Most computers implement useful operations.
Understanding Performance Metrics of Processors Bina Ramamurthy Chapter 1.
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Computer Organization and Architecture 18 th March, 2008.
CSCE 212 Chapter 4: Assessing and Understanding Performance Instructor: Jason D. Bakos.
Chapter 4 Assessing and Understanding Performance Bo Cheng.
Performance D. A. Patterson and J. L. Hennessey, Computer Organization & Design: The Hardware Software Interface, Morgan Kauffman, second edition 1998.
9/16/2004Comp 120 Fall September 16 Assignment 4 due date pushed back to 23 rd, better start anywayAssignment 4 due date pushed back to 23 rd, better.
Computer ArchitectureFall 2007 © September 17, 2007 Karem Sakallah CS-447– Computer Architecture.
Computer Architecture Lecture 2 Instruction Set Principles.
Chapter 4 Assessing and Understanding Performance
Fall 2001CS 4471 Chapter 2: Performance CS 447 Jason Bakos.
Lecture 3: Computer Performance
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
Scale Principles of Physics. Why do we need to think in terms of scale? To understand the size of things we can’t see – How big is Earth? – How big is.
1 Computer Performance: Metrics, Measurement, & Evaluation.
Copyright 1995 by Coherence LTD., all rights reserved (Revised: Oct 97 by Rafi Lohev, Oct 99 by Yair Wiseman, Sep 04 Oren Kapah) IBM י ב מ 7-1 Measuring.
1 Embedded Systems Computer Architecture. Embedded Systems2 Memory Hierarchy Registers Cache RAM Disk L2 Cache Speed (faster) Cost (cheaper per-byte)
1 CPS4150 Chapter 4 Assessing and Understanding Performance.
CDA 3101 Fall 2013 Introduction to Computer Organization Computer Performance 28 August 2013.
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
Performance.
Computer Organization and Architecture Tutorial 1 Kenneth Lee.
Computer Performance Computer Engineering Department.
1 CS465 Performance Revisited (Chapter 1) Be able to compare performance of simple system configurations and understand the performance implications of.
Ch4a- 2 EE/CS/CPE Computer Organization  Seattle Pacific University Performance What differences do we see in performance? Almost all computers.
1 COMS 361 Computer Organization Title: Performance Date: 10/02/2004 Lecture Number: 3.
1  1998 Morgan Kaufmann Publishers How to measure, report, and summarize performance (suorituskyky, tehokkuus)? What factors determine the 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.
Performance – Last Lecture Bottom line performance measure is time Performance A = 1/Execution Time A Comparing Performance N = Performance A / Performance.
Chapter 4. Measure, Report, and Summarize Make intelligent choices See through the marketing hype Understanding underlying organizational aspects Why.
L12 – Performance 1 Comp 411 Computer Performance He said, to speed things up we need to squeeze the clock Study
EGRE 426 Computer Organization and Design Chapter 4.
ECE/CS 552: Performance and Cost © Prof. Mikko Lipasti Lecture notes based in part on slides created by Mark Hill, David Wood, Guri Sohi, John Shen and.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
BITS Pilani, Pilani Campus Today’s Agenda Role of Performance.
Computer Organization CS345 David Monismith Based upon notes by Dr. Bill Siever and from the Patterson and Hennessy Text.
Additional Examples CSE420/598, Fall 2008.
CPEN Digital System Design Assessing and Understanding CPU Performance © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall © Computer.
Compilers can have a profound impact on the performance of an application on given a processor. This problem will explore the impact compilers have on.
Computer Organization
Mr. O’Rourke Technology Education
Computer Architecture & Operations I
Lecture 3: MIPS Instruction Set
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Defining Performance Which airplane has the best performance?
APES Math Review.
Morgan Kaufmann Publishers
CSCE 212 Chapter 4: Assessing and Understanding Performance
CS2100 Computer Organisation
Computer Performance He said, to speed things up we need to squeeze the clock.
CS170 Computer Organization and Architecture I
CMSC 611: Advanced Computer Architecture
Morgan Kaufmann Publishers Computer Performance
Lecture 3: MIPS Instruction Set
Performance Cycle time of a computer CPU speed speed = 1 / cycle time
COMS 361 Computer Organization
CMSC 611: Advanced Computer Architecture
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Parameters that affect it How to improve it and by how much
Computer Performance Read Chapter 4
Performance.
Chapter 2: Performance CS 447 Jason Bakos Fall 2001 CS 447.
Computer Organization and Design Chapter 4
CS2100 Computer Organisation
Presentation transcript:

COMS 361 Computer Organization Title: Performance Date: 9/06/2004 Lecture Number: 5

Announcements Homework 2 Due 9/14/04 (1 week)

Review Performance Know the criteria for measuring We choose Execution time as our measure

Review System clock Clock rate (cycles/second) Clock period (seconds/cycle) Common clock rate: 1 Giga Hz

Outline Orders of magnitude Performance MIPS, MOPS, FLOPS The big and small of it Performance Relationship between Execution time and clock rate Execution time and the number of instructions Instruction and number of clocks MIPS, MOPS, FLOPS SPEC Benchmarks

Orders of Magnitude The small ones The BIG ones thousandths 10-3 milli, m millionths 10-6 micro, u billionths 10-9 nano, n trillionths 10-12 pico, p thousands 103 kilo, K millions 106 mega, M billions 109 giga, G trillions 1012 tera, T

Execution time vs clock/rate Relation between execution time and clock rate Tells what happens to execution time as clock rate changes Increase performance Reduce the number of clocks cycles to execute the program Reduce the clock period (increase the clock rate)

Example Don't Panic, can easily work this out from basic principles Our favorite program runs in 10 seconds on computer A, which has a 400 MHz. clock. We are trying to help a computer designer build a new machine B, that will run this program in 6 seconds. The designer can use new (or perhaps more expensive) technology to substantially increase the clock rate, but has informed us that this increase will affect the rest of the CPU design, causing machine B to require 1.2 times as many clock cycles as machine A for the same program. What clock rate should we tell the designer to target? Don't Panic, can easily work this out from basic principles

Solution What are we given? What do we want to determine? CPU time(A) = 10sec Clock Rate(A) = 400MHz CPU time(B) = 6sec Clock cycles(B) = 1.2 * clock cycles(A) What do we want to determine? The clock rate(B) What do we need an equation to relate? CPU time Clock rate

Solution Rearrange to solve for the unknown We need a relationship between machine A and B

Solution Plug in the known values Clock rate of machine B must be twice that of machine A Example showed Giving machine B a faster clock required 20% more clock cycles to execute the same program Perhaps faster instructions do less work, more are needed

Execution time vs # of instructions Execution time is proportional to the number of clocks required by the program The number of clocks to execute a program is proportional to the number of instructions executed

Execution time vs # of instructions Various instructions may take different numbers of clock cycles to execute lw or sw compared to an add Memory instructions vs on processor instructions Consider the average number of clocks per instruction

Execution time vs # of instructions CPI is the average number of clocks per instruction Useful in comparing different implementations of the same ISA Checking units

Execution time vs # of instructions Same equation in terms of clock rate instead of clock period checking units

Execution time vs # of instructions Execution time in terms of three parameters: Number of instructions per program Number of clocks per instruction Number of clocks per second

Execution time vs # of instructions Execution time decreases (performance increases) Reduce the number of instructions per program Compiler writer or programmer has some control here Make instructions that perform many operations simultaneously Reduce CPI Make instructions simple so they do not require many clocks May make the number of instructions in the program go up Increase the clock rate May increase CPI unless instructions are simple May increase the number of instructions per program

Typical values CPU execution time Clock rate Instruction Count CPI Determined (measured) for different programs msec, sec, min Clock rate Specified by the manufacturer 500MHz, 1GHz, 2.66MHz Instruction Count Depends on the compiler and program Can be determined CPI Usually not available Varies from one ISA to another

Typical values CPI Look at CPI for different instruction classes Let n be the number of instruction classes C(i) be the number of instructions in class i CPI(i) be the number of clocks per instruction for class I CPI depends on the number of cycles for each instruction class and the percentage of instructions from each class

Example Given Which sequence executes the fastest? CPI(A) = 1, CPI(B) = 2, CPI(C) = 3 Two code sequences (programs) with the following distribution of instructions 1) Num(A) = 2, Num(B) = 1, Num(C) = 2 2) Num(A) = 4, Num(B) = 1, Num(C) = 1 More instructions of class A, less instructions from class C Which sequence executes the fastest? 5 instructions for seq. 1 vs 6 instructions for seq. 2

Example How many clock cycles are required for each sequence? CPU clock cycles(1) = 2*1 + 1*2 + 2*3 = 10 cycles CPU clock cycles(2) = 4*1 + 1*2 + 4*3 = 9 cycles Sequence 2 executes faster than sequence 1 even though there are more instructions in sequence 2!

Example What are the CPI’s for the 2 sequences? CPI(2) < CPI(1) makes sense Sequence 2 has more instructions to execute Requires less clock cycles