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

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

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

Performance, Power, Die Yield. CS301 Prof Szajda

CPS104 Computer Organization Lecture 1

CPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner

EECS4201 Computer Architecture

Response Time and Throughput

Instructor Information

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

GRE Architecture Session

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

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

How What When Why CSC3501 FALL07 CSC3501 FALL07. Louisiana State University 1- Introduction - 1. Louisiana State University 1- Introduction - 2

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

ECE/CS 552: Introduction To Computer Architecture 1

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

Computer Architecture. Fall Dongkun Shin, SKKU

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

CS 352H Computer Systems Architecture Exam #1 - Prof. Keckler October 11, 2007

Final Lecture. A few minutes to wrap up and add some perspective

Lecture 1: CS/ECE 3810 Introduction

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

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

EECS 452 Advanced Computer Architecture - I

CO Computer Architecture and Programming Languages CAPL. Lecture 15

ECE369: Fundamentals of Computer Architecture

High Performance Computing

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

URL: Offered by: Should already know how to design with logic. Will learn...

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Computer Architecture

CISC 662 Graduate Computer Architecture Lecture 16 - Cache and virtual memory review

Advanced Computer Architecture (CS620)

CSCI 402: Computer Architectures. Computer Abstractions and Technology (4) Fengguang Song Department of Computer & Information Science IUPUI.

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

Computer Architecture. R. Poss

Lecture 1: Gentle Introduction to GPUs

COMP3221: Microprocessors and. Embedded Systems

ECE232: Hardware Organization and Design

Computer Systems Architecture Spring 2016

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

CSE 141: Computer Architecture. Professor: Michael Taylor. UCSD Department of Computer Science & Engineering

ECE 154A. Architecture. Dmitri Strukov

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

EECE 321: Computer Organization

Computer Architecture Review. ICS332 - Spring 2016 Operating Systems

The Computer Revolution. Classes of Computers. Chapter 1

Fundamentals of Quantitative Design and Analysis

Chapter 2 Lecture 1 Computer Systems Organization

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

COMPUTER ARCHITECTURE

Review: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.

Introduction to Computer Architecture II

378: Machine Organization and Assembly Language

COMPUTER ARCHTECTURE

CSEE W4824 Computer Architecture Fall 2012

Administrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review

CSE 502 Graduate Computer Architecture

ECE232: Hardware Organization and Design

ECE 15B COMPUTER ORGANIZATION

COMPUTER ORGANIZATION AND DESIGN

Example Networks on chip Freescale: MPC Telematics chip

Adapted from David Patterson s slides on graduate computer architecture

CMSC 611: Advanced Computer Architecture

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

Exercise 1 Advanced Computer Architecture. Exercise 1

CS/EE 6810: Computer Architecture

ECE 588/688 Advanced Computer Architecture II

Παράλληλη Επεξεργασία

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

Chapter 18 - Multicore Computers

Engineering 9859 CoE Fundamentals Computer Architecture

Quiz for Chapter 1 Computer Abstractions and Technology 3.10

Review: latency vs. throughput

Computer Architecture

EECS2021E EECS2021E. The Computer Revolution. Morgan Kaufmann Publishers September 12, Chapter 1 Computer Abstractions and Technology 1

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

CS152 Computer Architecture and Engineering. Lecture 9 Performance Dave Patterson. John Lazzaro. www-inst.eecs.berkeley.

When and Where? Course Information. Expected Background ECE 486/586. Computer Architecture. Lecture # 1. Spring Portland State University

Technology. Giorgio Richelli

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

Performance Measurement (as seen by the customer)

QUIZ Ch.6. The EAT for a two-level memory is given by:

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

The Role of Performance

Course overview Computer system structure and operation

Performance. CS 3410 Computer System Organization & Programming. [K. Bala, A. Bracy, E. Sirer, and H. Weatherspoon]

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

ECE 587 Advanced Computer Architecture I

COMPUTER ARCHITECTURE AND OPERATING SYSTEMS (CS31702)

Designing for Performance. Patrick Happ Raul Feitosa

CPE300: Digital System Architecture and Design

CS654 Advanced Computer Architecture. Lec 2 - Introduction

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

Vector and Parallel Processors. Amdahl's Law

Administrivia. Minute Essay From 4/11

EE382 Processor Design. Class Objectives

Computer Organization & Assembly Language Programming (CSE 2312)

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

ECE 468 Computer Architecture and Organization Lecture 1

Transcription:

: Computer Architecture and Organization Kunle Olukotun Gates 302 kunle@ogun.stanford.edu http://www-leland.stanford.edu/class/ee282h/ : Computer Architecture and Organization -- Course Overview Goals» Understand how computers are organized and why they are organized that way?» Understand and evaluate design trade-offs Outline» Performance vs. cost evaluation measures» Instruction set design: principles and examples» Pipelining: basic and advanced» Memory hierarchies: caches to bridge the processor/memory speed gap, virtual memory for the application/hardware gap» I/O systems, esp. disk subsystem Theme: processor design using cost/performance as the basis 2

Faster and Cheaper 200 000 090 800 600 $Cost per MIPS 400 200 0 80 46 32 2 0.5 978 982 985 989 99 995 Today s microprocessors allow anyone to have supercomputer class performance. 3 Required Background: You should... know the basics of internal computer organization» EE82 at Stanford, or the equivalent course or experience» Breeze through the quiz understand basic logic design of synchronous systems» Data path and control» Gates, flip-flops, registers» Clocking» Multiplexers, ALUs» state machines for control be familiar with assembly-language programming» any mainframe or microprocessor 4 2

The textbook Computer Architecture -- A Quantitative Approach, by John Hennessy (Stanford) and David Patterson (UC Berkeley)» We will be using the Second Edition Chapter organization: Introduction Principles Crosscutting issues : interaction of ideas between chapters Putting it all together : real examples Fallacies and pitfalls : what s wrong and what doesn t work History Do the reading before class 5 Course Mechanics Assignments» Bi-weekly problem sets (4 or 5)» Three programming assignments (2 in Verilog, in C)» You should work in pairs» Late submission policy: 2 free late days for the quarter, 20% per day per assignment after that Exams» Midterm: Nov 3, 7-9pm, on chapters -3» Final: Dec 20, 7-0pm Approximate grading» 0% for the problems sets» 35% for the programming assignments» 25% for the midterm» 30% for the final Review sessions: four or five during quarter Honor code 6 3

Needed: Graders Grade a fraction of homework sets Benefits» No need to turn in homework» Full credit for homework» $8.50 an hour pay 7 First Lecture What is computer architecture? Application requirements Technology constraints Performance HW/SW tradeoffs Optimizing the common case 8 4

What Does a Computer Architect Do? Technology Design Principles API ISA Protocol Interfaces Pipelining Caches Machine Organization Applications Computer Architect Goal: Best Cost-Performance Performance & Cost Evaluation 9 Application Requirements» Numerical simulations floating-point performance main memory bandwidth» Transaction processing I/Os per second integer CPU performance» Embedded control Real-time performance Low cost» Media processing low-precision pixel arithmetic 0 5

Technology Impact Technology has a significant effect on architecture Technology trends: Density increase per year Speed increase per year IC Logic 60% 25% DRAM 60% (4x every 3 yrs!) 0% Disk 60% 0% Technology Implications Think ahead of time about how the design will scale with advances in technology during its lifetime (ISAs may last 20 years e.g. x86) Processor/DRAM speed gap is a major challenge If it takes N years to design, target the technology and performance N years ahead: If 40%/year, in two years the competition will be 2x, so you should do better Shorten the design cycle 2 6

What is performance There are two ways to measure performance:» Response time The time from start to completion of an event: the event s latency Execution time vs. elapsed time -- what to count? Shared vs. dedicated system» Throughput The amount of total work done per unit time: the bandwidth A better measure from the system s point of view, but not from the user s Example: A car wash starts a car every 30 seconds and holds 6 cars.» Latency» Throughput 3 Interface Design Software-software» API (MS windows, unix) Hardware-software» ISA (x86, MIPS) Hardware-hardware» Bus (PCI, SCSI)» Network protocol (Ethernet) 4 7

Hardware/Software tradeoffs Which operations are directly supported in hardware and which are synthesized in software Advantages Hardware Speed, Consistency Software Flexibility, easier/faster design (?), lower cost of errors Disadvantages Cost, Unchangeability Slowness In reality, it s a mixture of engineering, and aesthetics, and it s hard to get right. 5 What counts the most: Make the common case fast Important, obvious, but overlooked! The frequent case is often simpler and can easily be done faster. Do the exceptional cases in software (eg: arithmetic overflow) A trap: making the common case slower to make a less common case faster (eg: Intel 432 (486 even?) procedure call), or to generalize Added benefit: easier, so faster design time Added benefit: flexibility of the software-handled cases The hardware should provide fast primitives, not complete solutions. 6 8

Making the common case fast: An example Say you could speed up floating point divide 8x, or floating point multiply 2x. Which is better? Measure applications! Suppose you find that:» 30% of execution time is currently FP multiplication» 8% of execution time is currently FP division If you speed up multiplication,» 30% becomes 5%» So new execution time is 85% of old» So new hardware is 8% faster (not 5%!) If you speed up division,» 8% becomes %» So new execution time is 93% of old» So new hardware is only 7% faster (All this assumes that the designs are correct. What about the risks inherent in clever designs?) 7 The limiting factor: Amdahl s Law The performance enhancement of an improvement is limited by how much the improved feature is used. In other words: Don t expect an enhancement proportional to how much you enhanced something. Quantitatively, Executiontime Executiontime new Executiontime affected unaffacted + Speedup fraction Executiontime new Executiontime old fraction enh ( enh ) + Speedup enh Executiontime Speedup old overall Executiontime new Speedup overall fraction ( fraction enh enh ) + Speedup enh 8 9

Example: Speedup using parallel processors Suppose an application is almost all parallel: 90%. What is the speedup using 0, 00, and 000 processors? Number of processors P fraction enhanced 0.9 Speedup P 0. + 0.9 P Speedup 0 0.+ 0.9 0.9 5.3 0 Speedup 00 0.+ 0.9 00 Speedup 000 9.9 0.09 9. (Not what the marketing department expected) 9 Moral: The common case can change Number of processors P fractionenhanced 09. SpeedupP 0. + 09. P Speedup00 9. 09. 009. 0. + 00 Now instead, speedup the non-parallel part by a factor of 2: Speedup002, 695. 0. 09. 005. + 0009. + 2 00 (You get to keep your job) 20 0