Engineering 9859 CoE Fundamentals Computer Architecture

Similar documents
Course web site: teaching/courses/car. Piazza discussion forum:

Instructor Information

Computer Architecture

MEASURING COMPUTER TIME. A computer faster than another? Necessity of evaluation computer performance

The bottom line: Performance. Measuring and Discussing Computer System Performance. Our definition of Performance. How to measure Execution Time?

Defining Performance. Performance 1. Which airplane has the best performance? Computer Organization II Ribbens & McQuain.

Lecture - 4. Measurement. Dr. Soner Onder CS 4431 Michigan Technological University 9/29/2009 1

CpE 442 Introduction to Computer Architecture. The Role of Performance

Performance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals

CMSC 611: Advanced Computer Architecture

CPE300: Digital System Architecture and Design

High Performance Computing

Chapter 1. Instructor: Josep Torrellas CS433. Copyright Josep Torrellas 1999, 2001, 2002,

Quiz for Chapter 1 Computer Abstractions and Technology

Designing for Performance. Patrick Happ Raul Feitosa

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

Page 1. Program Performance Metrics. Program Performance Metrics. Amdahl s Law. 1 seq seq 1

Architectural Issues for the 1990s. David A. Patterson. Computer Science Division EECS Department University of California Berkeley, CA 94720

Transistors and Wires

Quiz for Chapter 1 Computer Abstractions and Technology 3.10

CS/ECE 752: Advanced Computer Architecture 1. Lecture 1: What is Computer Architecture?

EECS4201 Computer Architecture

From CISC to RISC. CISC Creates the Anti CISC Revolution. RISC "Philosophy" CISC Limitations

Computer Architecture A Quantitative Approach, Fifth Edition. Chapter 1. Copyright 2012, Elsevier Inc. All rights reserved. Computer Technology

Fundamentals of Computer Design

Pipelining. CS701 High Performance Computing

Computer Architecture. Fall Dongkun Shin, SKKU

Lecture Topics. Principle #1: Exploit Parallelism ECE 486/586. Computer Architecture. Lecture # 5. Key Principles of Computer Architecture

ECE 587 Advanced Computer Architecture I

Computer Architecture. Chapter 1 Part 2 Performance Measures

Lecture 1: Introduction

ELE 455/555 Computer System Engineering. Section 1 Review and Foundations Class 5 Computer System Performance

ECE C61 Computer Architecture Lecture 2 performance. Prof. Alok N. Choudhary.

What is Good Performance. Benchmark at Home and Office. Benchmark at Home and Office. Program with 2 threads Home program.

Computer Architecture. What is it?

Advanced Computer Architecture (CS620)

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 1. Computer Abstractions and Technology

EECS2021. EECS2021 Computer Organization. EECS2021 Computer Organization. Morgan Kaufmann Publishers September 14, 2016

Copyright 2012, Elsevier Inc. All rights reserved.

Performance, Cost and Amdahl s s Law. Arquitectura de Computadoras

EITF20: Computer Architecture Part1.1.1: Introduction

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 1. Computer Abstractions and Technology

EE282H: Computer Architecture and Organization. EE282H: Computer Architecture and Organization -- Course Overview

DEPARTMENT OF ECE IV YEAR ECE EC6009 ADVANCED COMPUTER ARCHITECTURE LECTURE NOTES

Defining Performance. Performance. Which airplane has the best performance? Boeing 777. Boeing 777. Boeing 747. Boeing 747

TDT4255 Computer Design. Lecture 1. Magnus Jahre

Performance evaluation. Performance evaluation. CS/COE0447: Computer Organization. It s an everyday process

Spring 2014 Midterm Exam Review

Lecture 2: Computer Performance. Assist.Prof.Dr. Gürhan Küçük Advanced Computer Architectures CSE 533

Performance of computer systems

CO Computer Architecture and Programming Languages CAPL. Lecture 15

COMPUTER ARCHITECTURE

CS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)

Reporting Performance Results

Fundamentals of Quantitative Design and Analysis

EE/CSCI 451: Parallel and Distributed Computation

Performance, Power, Die Yield. CS301 Prof Szajda

ECE 154A. Architecture. Dmitri Strukov

CSE 141 Summer 2016 Homework 2

COMPUTER ORGANIZATION AND DESIGN

Final Exam Fall 2007

Which is the best? Measuring & Improving Performance (if planes were computers...) An architecture example

The Von Neumann Computer Model

The Computer Revolution. Classes of Computers. Chapter 1

Dynamic Hardware Prediction. Basic Branch Prediction Buffers. N-bit Branch Prediction Buffers

Overview of Today s Lecture: Cost & Price, Performance { 1+ Administrative Matters Finish Lecture1 Cost and Price Add/Drop - See me after class

Computer Architecture. Minas E. Spetsakis Dept. Of Computer Science and Engineering (Class notes based on Hennessy & Patterson)

CS430 Computer Architecture

1.3 Data processing; data storage; data movement; and control.

Computer Performance. Reread Chapter Quiz on Friday. Study Session Wed Night FB 009, 5pm-6:30pm

EITF20: Computer Architecture Part1.1.1: Introduction

ECE 486/586. Computer Architecture. Lecture # 3

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture

GRE Architecture Session

2. Basic Terminology. 1. Chapter 1 Concepts. 1. Terminology 2. Trends 3. Measures of Computer Performance 4. Principles of Computer Design

Chapter 1: Fundamentals of Quantitative Design and Analysis

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

CMSC 611: Advanced Computer Architecture

CMSC 411 Practice Exam 1 w/answers. 1. CPU performance Suppose we have the following instruction mix and clock cycles per instruction.

T 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.

INSTRUCTION LEVEL PARALLELISM

Introduction to Computer Architecture II

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

CSE 502 Graduate Computer Architecture

ECE369: Fundamentals of Computer Architecture

ENCM 501 Winter 2018 Assignment 2 for the Week of January 22 (with corrections)

15-740/ Computer Architecture Lecture 4: Pipelining. Prof. Onur Mutlu Carnegie Mellon University

Computer Systems Architecture Spring 2016

Assessing and Understanding Performance

ENCM 501 Winter 2016 Assignment 1 for the Week of January 25

COMPUTER ARCHITECTURE AND OPERATING SYSTEMS (CS31702)

CPE/EE 421 Microcomputers

Lecture 1: Course Introduction and Overview Prof. Randy H. Katz Computer Science 252 Spring 1996

URL: Offered by: Should already know: Will learn: 01 1 EE 4720 Computer Architecture

IC220 Slide Set #5B: Performance (Chapter 1: 1.6, )

omputer Design Concept adao Nakamura

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD 17 April 2018

Computer Architecture Homework Set # 1 COVER SHEET Please turn in with your own solution

Pipelining concepts The DLX architecture A simple DLX pipeline Pipeline Hazards and Solution to overcome

Computer Architecture. Introduction. Lynn Choi Korea University

Transcription:

Engineering 9859 CoE Fundamentals Computer Architecture Introduction Dennis Peters 1 Fall 2007 1 Based on notes from Dr. R. Venkatesan

Course Details Classes Monday, Wednesday, Friday 9 10 EN-4033 Course evaluation final exam (60%), assignments (40%) Problem sets 3, selected problems will be graded. Plagiarism consult course information sheet Course notes available at http://www.engr.mun.ca/ dpeters/9859

Outline Objective Review basic computer architecture topics and thus prepare students for ENGR9861 (High Performance Comp. Arch.) Textbook Hennessy & Patterson: Computer Architecture A Quantitative Approach Syllabus Chapters 1, 2 & 5 in the textbook Computer organization Measuring performance, speed up Instruction set principles. Example: MIPS Memory organization: cache, main memory, virtual memory

Computer Organization Input & Output keyboard, mouse, monitor, speaker, microphone CPU (micro)processor that includes ALU, registers, internal buses, cache, controller Program counter contains address of the instruction to be executed General purpose registers temporary storage (not memory) Memory unit kernel of the operating system on ROM, higher levels of cache, DRAM (main memory), disks Network LAN, WLAN, WAN: ethernet, Internet, ATM

Ways to improve performance Use faster material: silicon, GaA, InP Use faster technology: photochemical lithography Employ better architecture within one processor Selection of instruction set: RISC/CISC, VLIW Cache (levels of cache): higher throughput Virtual memory: relocatability, security Pipelining: k stages gives a maximum speedup of k Superpipelining, Superscalar (multiple pipelines) with dynamic scheduling Branch prediction Use multiple processors: emphasis of ENGR9861 Scalability, level of parallelism Shared memory, array processing, multicomputers, MPP Employ better software: compilers, etc.

Speedup Any (architectural) enhancement will hopefully lead to better performance. speedup is a measure of this improvement. Performance improvement should be based on the total CPU time taken to execute the application, and not just any of the component times like memory access time or clock period. If the whole processor is replicated, then the fraction enhanced is 100%, as the whole computation will be impacted. If an enhancement affects only a part of the computation, then we need to determine the fraction.

Amdahl s Law Consider a task, T, and proposed enhancement, E: Speedup = = Total time for T without using E Total time for T using E 1 (1 fraction enhanced) + fraction enhanced Speedup of E We need to always aim at making enhancements that will affect a large fraction of the computation, if not the whole computation.

Speedup Example Consider three enhancements, as follows Speedup % enhanced total speedup E1 40 20 E2 20 30 E3 5 70 Assuming all cost the same, which is a better choice? Higher fraction enhanced is more beneficial than huge speedup for a small fraction. frequency of execution of different instructions becomes important statistics are needed.

CPU (computation) time CPU time is the product of three quantities: 1 Number of instructions executed or Instruction Count (IC): remember this is not the code (program) size. 2 Average number of clock cycles per instruction (CPI): if CPI varies for different instruction, a weighted average is needed 3 Clock period (τ) CPUtime = IC CPI τ An architectural (or compiler-based) enhancement aimed to decrease one of the above two factors might increase one or both of the other two. The product of the three quantities after applying the enhancement that gives us the new CPU time.

Measuring Performance CPU clock speed an indicator, but not sufficient CPU speed, memory speed, other devices, system configuration gives better idea, but not sufficient Metrics millions of instructions per second (MIPS), billions of floating point instructions per second (GFLOPS), trillions of operations per second (TOPS), thousands of polygons per second (kpolys), millions of network transactions per second. Give only a partial picture they leave out IC

Measuring Performance (cont d) Benchmark programs real applications: gcc, Tex toy benchmarks such as sieve of Eratosthenes, Puzzle kernels such as Livermore loops, Linpack synthetic benchmarks such as Whetstone, Dhrystone, Dhampstone Benchmark suites offer collections of the above For example: SPECint95 and SPEC CPU2000. Performance is compared with a selected standard (using geometric mean), and given as a dimensionless number.