EECS 252 Graduate Computer Architecture. Lec 1 - Introduction

Similar documents
CS61CL Machine Structures. Lec 5 Instruction Set Architecture

CS654 Advanced Computer Architecture. Lec 1 - Introduction

B649 Graduate Computer Architecture. Lec 1 - Introduction

MOTIVATION. B649 Parallel Architectures and Programming

Advanced Computer Architecture

Instruction Set Principles. (Appendix B)

Computer Architecture

CS654 Advanced Computer Architecture. Lec 2 - Introduction

Review of instruction set architectures

Review: Moore s Law. EECS 252 Graduate Computer Architecture Lecture 2. Bell s Law new class per decade

Computer Architecture

CSE 141 Computer Architecture Spring Lecture 3 Instruction Set Architecute. Course Schedule. Announcements

CPS104 Computer Organization Lecture 1

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

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

Computer Architecture. MIPS Instruction Set Architecture

Computing Devices Then EECS 252 Graduate Computer Architecture

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

Instruction Set Architecture (ISA)

Computer Systems Architecture Spring 2016

Computer Architecture. The Language of the Machine

ECE 468 Computer Architecture and Organization Lecture 1

Modern Computer Architecture

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

Lecture Topics. Announcements. Today: The MIPS ISA (P&H ) Next: continued. Milestone #1 (due 1/26) Milestone #2 (due 2/2)

Computer Architecture

EN2910A: Advanced Computer Architecture Topic 02: Review of classical concepts

Performance! (1/latency)! 1000! 100! 10! Capacity Access Time Cost. CPU Registers 100s Bytes <10s ns. Cache K Bytes ns 1-0.

Multiple Issue ILP Processors. Summary of discussions

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

The MIPS Instruction Set Architecture

COSC 6385 Computer Architecture. - Memory Hierarchies (I)

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization

Instruction Set Architecture part 1 (Introduction) Mehran Rezaei

EE382 Processor Design. Class Objectives

CMSC 611: Advanced Computer Architecture

The Processor: Instruction-Level Parallelism

Computer Architecture - Introduction. Chin-Fu Kuo

Processor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4

Reduced Instruction Set Computer (RISC)

Handout 4 Memory Hierarchy

EEM 486: Computer Architecture. Lecture 2. MIPS Instruction Set Architecture

Instructor Information

101 Assembly. ENGR 3410 Computer Architecture Mark L. Chang Fall 2009

Reduced Instruction Set Computer (RISC)

Instruction Set Architecture of. MIPS Processor. MIPS Processor. MIPS Registers (continued) MIPS Registers

CpE 442 Introduction To Computer Architecture Lecture 1

Alternate definition: Instruction Set Architecture (ISA) What is Computer Architecture? Computer Organization. Computer structure: Von Neumann model

CS 3410: Intro to Computer System Organization and Programming

COMPUTER ORGANIZATION AND DESI

EEM 486: Computer Architecture

Anne Bracy CS 3410 Computer Science Cornell University. See P&H Chapter: , , Appendix B

Implementing an Instruction Set

Processor (IV) - advanced ILP. Hwansoo Han

Instruction Set Architectures

Reminder: tutorials start next week!

Memory Hierarchy. Maurizio Palesi. Maurizio Palesi 1

Instruction Set Architecture. "Speaking with the computer"

INSTRUCTION SET COMPARISONS

Memory Hierarchy. Maurizio Palesi. Maurizio Palesi 1

Who am I? Computing Systems Today. Computing Devices Then. EECS 252 Graduate Computer Architecture Lecture 1. Introduction January 18 th 2012

Lecture 4: Instruction Set Architecture

Who am I? Computing Systems Today. Computing Devices Then. EECS 252 Graduate Computer Architecture Lecture 1. Introduction January 20 th 2010

EITF20: Computer Architecture Part2.1.1: Instruction Set Architecture

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

Procedure Calling. Procedure Calling. Register Usage. 25 September CSE2021 Computer Organization

EITF20: Computer Architecture Part2.2.1: Pipeline-1

CENG3420 Lecture 03 Review

Lectures 1: Review of Technology Trends and Cost/Performance Prof. David A. Patterson Computer Science 252 Spring 1998

Programmable Machines

Midterm. Sticker winners: if you got >= 50 / 67

CS 4200/5200 Computer Architecture I

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

Computer Architecture Computer Architecture. Computer Architecture. What is Computer Architecture? Grading

Programmable Machines

EEC170 Computer Architecture. Lecture 1: Introduction to Computer Architecture

Computer Architecture

Lec 25: Parallel Processors. Announcements

MIPS Instruction Set

Computer Systems Laboratory Sungkyunkwan University

The Von Neumann Computer Model

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

Computer Architecture

EECS 322 Computer Architecture Superpipline and the Cache

CS146 Computer Architecture. Fall Midterm Exam

CS 61C: Great Ideas in Computer Architecture. Direct Mapped Caches

EITF20: Computer Architecture Part2.2.1: Pipeline-1

Concocting an Instruction Set

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)

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

ELEC / Computer Architecture and Design Fall 2013 Instruction Set Architecture (Chapter 2)

CS 61C: Great Ideas in Computer Architecture. Multiple Instruction Issue, Virtual Memory Introduction

Advanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University

EE108B Lecture 3. MIPS Assembly Language II

CSC Memory System. A. A Hierarchy and Driving Forces

CISC 360. Computer Architecture. Seth Morecraft Course Web Site:

Systems Architecture I

A General-Purpose Computer The von Neumann Model. Concocting an Instruction Set. Meaning of an Instruction. Anatomy of an Instruction

Real Processors. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Transcription:

EECS 252 Graduate Computer Architecture Lec 1 - Introduction David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler http://www-inst.eecs.berkeley.edu/~cs252

Outline What is Computer Architecture? Computer Instruction Sets the fundamental abstraction review and set up Dramatic Technology Advance Beneath the illusion nothing is as it appears Computer Architecture Renaissance How would you like your CS252? 1/18/2005 CS252-s05, Lec 01-intro 2

What is Computer Architecture? Applications Compiler Instr. Set Proc. Operating System Firmware I/O system App photo Instruction Set Architecture Datapath & Control Digital Design Circuit Design Layout & fab Semiconductor Materials Die photo Coordination of many levels of abstraction Under a rapidly changing set of forces Design, Measurement, and Evaluation 1/18/2005 CS252-s05, Lec 01-intro 3

Forces on Computer Architecture Technology Programming Languages Applications Computer Architecture Operating Systems History (A = F / M) 1/18/2005 CS252-s05, Lec 01-intro 4

The Instruction Set: a Critical Interface software instruction set hardware Properties of a good abstraction Lasts through many generations (portability) Used in many different ways (generality) Provides convenient functionality to higher levels Permits an efficient implementation at lower levels 1/18/2005 CS252-s05, Lec 01-intro 5

Instruction Set 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 -- Organization of Programmable Storage -- Data Types & Data Structures: Encodings & Representations -- Instruction Formats -- Instruction (or Operation Code) Set SOFTWARE -- Modes of Addressing and Accessing Data Items and Instructions -- Exceptional Conditions 1/18/2005 CS252-s05, Lec 01-intro 6

Computer Organization Capabilities & Performance Characteristics of Principal Functional Units (e.g., Registers, ALU, Shifters, Logic Units,...) Ways in which these components are interconnected Information flows between components Logic and means by which such information flow is controlled. Choreography of FUs to realize the ISA Register Transfer Level (RTL) Description Logic Designer's View ISA Level FUs & Interconnect 1/18/2005 CS252-s05, Lec 01-intro 7

Fundamental Execution Cycle Instruction Fetch Instruction Decode Obtain instruction from program storage Determine required actions and instruction size Processor regs Memory program Operand Fetch Locate and obtain operand data F.U.s Data Execute Result Store Next Instruction Compute result value or status Deposit results in storage for later use Determine successor instruction von Neuman bottleneck 1/18/2005 CS252-s05, Lec 01-intro 8

Elements of an ISA Set of machine-recognized data types bytes, words, integers, floating point, strings,... Operations performed on those data types Add, sub, mul, div, xor, move,. Programmable storage regs, PC, memory Methods of identifying and obtaining data referenced by instructions (addressing modes) Literal, reg., absolute, relative, reg + offset, Format (encoding) of the instructions Op code, operand fields, Current Logical State of the Machine Next Logical State of the Machine 1/18/2005 CS252-s05, Lec 01-intro 9

r0 r1 r31 PC lo hi Example: MIPS R3000 0 Arithmetic logical Programmable storage 2^32 x bytes 31 x 32-bit GPRs (R0=0) 32 x 32-bit FP regs (paired DP) HI, LO, PC Data types? Format? Addressing Modes? Add, AddU, Sub, SubU, And, Or, Xor, Nor, SLT, SLTU, AddI, AddIU, SLTI, SLTIU, AndI, OrI, XorI, LUI SLL, SRL, SRA, SLLV, SRLV, SRAV Memory Access LB, LBU, LH, LHU, LW, LWL,LWR SB, SH, SW, SWL, SWR Control 32-bit instructions on word boundary J, JAL, JR, JALR BEq, BNE, BLEZ,BGTZ,BLTZ,BGEZ,BLTZAL,BGEZAL 1/18/2005 CS252-s05, Lec 01-intro 10

Evolution of Instruction Sets Single Accumulator (EDSAC 1950) Accumulator + Index Registers (Manchester Mark I, IBM 700 series 1953) Separation of Programming Model from Implementation High-level Language Based (Stack) Concept of a Family (B5000 1963) (IBM 360 1964) General Purpose Register Machines Complex Instruction Sets Load/Store Architecture (Vax, Intel 432 1977-80) (CDC 6600, Cray 1 1963-76) ix86? RISC (MIPS,Sparc,HP-PA,IBM RS6000, 1987) 1/18/2005 CS252-s05, Lec 01-intro 11

Dramatic Technology Advance Prehistory: Generations 1 st Tubes 2 nd Transistors 3 rd Integrated Circuits 4 th VLSI. Discrete advances in each generation Faster, smaller, more reliable, easier to utilize Modern computing: Moore s Law Continuous advance, fairly homogeneous technology 1/18/2005 CS252-s05, Lec 01-intro 12

Moore s Law Cramming More Components onto Integrated Circuits Gordon Moore, Electronics, 1965 # on transistors on cost-effective integrated circuit double every 18 months 1/18/2005 CS252-s05, Lec 01-intro 13

Technology Trends: Microprocessor Capacity 100000000 10000000 1000000 100000 Moore s Law i80386 i80286 i80486 Pentium Itanium II: 241 million Pentium 4: 55 million Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million 10000 i8080 i8086 CMOS improvements: Die size: 2X every 3 yrs Line width: halve / 7 yrs i4004 1000 1970 1975 1980 1985 1990 1995 2000 Year 1/18/2005 CS252-s05, Lec 01-intro 14

Memory Capacity (Single Chip DRAM) size 1000000000 100000000 10000000 1000000 100000 10000 1000 year size(mb) cyc time 1980 0.0625 250 ns 1983 0.25 220 ns 1986 1 190 ns 1989 4 165 ns 1992 16 145 ns 1996 64 120 ns 2000 256 100 ns 2003 1024 60 ns 1970 1975 1980 1985 1990 1995 2000 Year 1/18/2005 CS252-s05, Lec 01-intro 15

Technology Trends Clock Rate: ~30% per year Transistor Density: ~35% Chip Area: ~15% Transistors per chip: ~55% Total Performance Capability: ~100% by the time you graduate... 3x clock rate (~10 GHz) 10x transistor count (10 Billion transistors) 30x raw capability plus 16x dram density, 32x disk density (60% per year) Network bandwidth, 1/18/2005 CS252-s05, Lec 01-intro 16

Performance Trends 100 Supercomputers 10 Performance 1 Mainframes Minicomputers Microprocessors 0.1 1965 1970 1975 1980 1985 1990 1995 1/18/2005 CS252-s05, Lec 01-intro 17

Processor Performance (1.35X before, 1.55X now) Sun-4/260 MIPS M/2000 MIPS M/120 IBM RS/6000 HP 9000/750 DEC AXP/500 IBM POWER 100 DEC Alpha 4/266 DEC Alpha 5/300 DEC Alpha 5/500 DEC Alpha 21164/600 1200 1000 800 600 400 200 0 1.54X/yr 87 88 89 90 91 92 93 94 95 96 97 1/18/2005 CS252-s05, Lec 01-intro 18

Definition: Performance Performance is in units of things per sec bigger is better If we are primarily concerned with response time performance(x) = 1 execution_time(x) " X is n times faster than Y" means Performance(X) n = = Performance(Y) Execution_time(Y) Execution_time(Y) 1/18/2005 CS252-s05, Lec 01-intro 19

Metrics of Performance Application Answers per day/month Programming Language Compiler ISA (millions) of Instructions per second: MIPS (millions) of (FP) operations per second: MFLOP/s Datapath Control Function Units Transistors Wires Pins Megabytes per second Cycles per second (clock rate) 1/18/2005 CS252-s05, Lec 01-intro 20

Components of Performance CPI inst count Cycle time CPU CPU time time = Seconds = Instructions x Cycles Cycles x Seconds Program Program Instruction Cycle Cycle Inst Count CPI Clock Rate Program X Compiler X (X) Inst. Set. X X Organization X X Technology X 1/18/2005 CS252-s05, Lec 01-intro 21

What s a Clock Cycle? Latch or register combinational logic Old days: 10 levels of gates Today: determined by numerous time-of-flight issues + gate delays clock propagation, wire lengths, drivers 1/18/2005 CS252-s05, Lec 01-intro 22

Integrated Approach What really matters is the functioning of the complete system, I.e. hardware, runtime system, compiler, and operating system In networking, this is called the End to End argument Computer architecture is not just about transistors, individual instructions, or particular implementations Original RISC projects replaced complex instructions with a compiler + simple instructions 1/18/2005 CS252-s05, Lec 01-intro 23

How do you turn more stuff into more performance? Do more things at once Do the things that you do faster Beneath the ISA illusion. 1/18/2005 CS252-s05, Lec 01-intro 24

Pipelined Instruction Execution Time (clock cycles) I n s t r. Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Ifetch Reg Ifetch ALU Reg DMem ALU Reg DMem Reg O r d e r Ifetch Reg Ifetch ALU Reg DMem ALU Reg DMem Reg 1/18/2005 CS252-s05, Lec 01-intro 25

Limits to pipelining Maintain the von Neumann illusion of one instruction at a time execution Hazards prevent next instruction from executing during its designated clock cycle Structural hazards: attempt to use the same hardware to do two different things at once Data hazards: Instruction depends on result of prior instruction still in the pipeline Control hazards: Caused by delay between the fetching of instructions and decisions about changes in control flow (branches and jumps). 1/18/2005 CS252-s05, Lec 01-intro 26

A take on Moore s Law 100,000,000 Bit-level parallelism Instruction-level Thread-level (?) Transistors 10,000,000 1,000,000 100,000 i80286 R10000 Pentium i80386 R2000 R3000 i8086 10,000 i8080 i8008 i4004 1,000 1970 1975 1980 1985 1990 1995 2000 2005 1/18/2005 CS252-s05, Lec 01-intro 27

Progression of ILP 1 st generation RISC - pipelined Full 32-bit processor fit on a chip => issue almost 1 IPC» Need to access memory 1+x times per cycle Floating-Point unit on another chip Cache controller a third, off-chip cache 1 board per processor multiprocessor systems 2 nd generation: superscalar Processor and floating point unit on chip (and some cache) Issuing only one instruction per cycle uses at most half Fetch multiple instructions, issue couple» Grows from 2 to 4 to 8 How to manage dependencies among all these instructions? Where does the parallelism come from? VLIW Expose some of the ILP to compiler, allow it to schedule instructions to reduce dependences 1/18/2005 CS252-s05, Lec 01-intro 28

Modern ILP Dynamically scheduled, out-of-order execution Current microprocessor fetch 10s of instructions per cycle Pipelines are 10s of cycles deep => many 10s of instructions in execution at once Grab a bunch of instructionsdetermine all their dependences, eliminate dep s wherever possible, throw them all into the execution unit, let each one move forward as its dependences are resolved Appears as if executed sequentially On a trap or interrupt, capture the state of the machine between instructions perfectly Huge complexity 1/18/2005 CS252-s05, Lec 01-intro 29

Have we reached the end of ILP? Multiple processor easily fit on a chip Every major microprocessor vendor has gone to multithreading Thread: loci of control, execution context Fetch instructions from multiple threads at once, throw them all into the execution unit Intel: hyperthreading, Sun: Concept has existed in high performance computing for 20 years (or is it 40? CDC6600) Vector processing Each instruction processes many distinct data Ex: MMX Raise the level of architecture many processors per chip Tensilica Configurable Proc 1/18/2005 CS252-s05, Lec 01-intro 30

When all else fails - guess Programs make decisions as they go Conditionals, loops, calls Translate into branches and jumps (1 of 5 instructions) How do you determine what instructions for fetch when the ones before it haven t executed? Branch prediction Lot s of clever machine structures to predict future based on history Machinery to back out of mis-predictions Execute all the possible branches Likely to hit additional branches, perform stores speculative threads What can hardware do to make programming (with performance) easier? 1/18/2005 CS252-s05, Lec 01-intro 31

CS252: Adminstrivia Instructor: Prof David Culler Office: 627 Soda Hall, culler@cs Office Hours: Wed 3:30-5:00 or by appt. (Contact Willa Walker) T. A: TBA Class: Tu/Th, 11:00-12:30pm 310 Soda Hall Text: Computer Architecture: A Quantitative Approach, Third Edition (2002) Web page: http://www.cs/~culler/courses/cs252-f03/ Lectures available online <9:00 AM day of lecture Newsgroup: ucb.class.cs252 1/18/2005 CS252-s05, Lec 01-intro 32

Typical Class format (after week 2) Bring questions to class 1-Minute Review 20-Minute Lecture 5- Minute Administrative Matters 25-Minute Lecture/Discussion 5-Minute Break (water, stretch) 25-Minute Discussion based on your questions I will come to class early & stay after to answer questions Office hours 1/18/2005 CS252-s05, Lec 01-intro 33

Grading 15% Homeworks (work in pairs) and reading writeups 35% Examinations (2 Midterms) 35% Research Project (work in pairs) Transition from undergrad to grad student Berkeley wants you to succeed, but you need to show initiative pick topic (more on this later) meet 3 times with faculty/ta to see progress give oral presentation or poster session written report like conference paper 3 weeks work full time for 2 people Opportunity to do research in the small to help make transition from good student to research colleague 15% Class Participation (incl. Q s) 1/18/2005 CS252-s05, Lec 01-intro 34

Quizes Preparation causes you to systematize your understanding Reduce the pressure of taking exam 2 Graded quizes: Tentative: 2/23 and 4/13 goal: test knowledge vs. speed writing» 3 hrs to take 1.5-hr test (5:30-8:30 PM, TBA location) Both mid-terms can bring summary sheet» Transfer ideas from book to paper Last chance Q&A: during class time day before exam Students/Staff meet over free pizza/drinks at La Vals: Wed Feb 23 (8:30 PM) and Wed Apr 13 (8:30 PM) 1/18/2005 CS252-s05, Lec 01-intro 35

The Memory Abstraction Association of <name, value> pairs typically named as byte addresses often values aligned on multiples of size Sequence of Reads and Writes Write binds a value to an address Read of addr returns most recently written value bound to that address command (R/W) address (name) data (W) data (R) done 1/18/2005 CS252-s05, Lec 01-intro 36

Processor-DRAM Memory Gap (latency) Performance 1000 100 10 1 1980 1981 1982 1983 1984 1985 Joy s Law 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Time µproc CPU 60%/yr. (2X/1.5yr Processor-Memory ) Performance Gap: (grows 50% / year) DRAM 9%/yr. (2X/10 yrs) 1/18/2005 CS252-s05, Lec 01-intro 37 DRAM

Levels of the Memory Hierarchy Capacity Access Time Cost CPU Registers 100s Bytes << 1s ns Cache 10s-100s K Bytes ~1 ns $1s/ MByte Main Memory M Bytes 100ns- 300ns $< 1/ MByte Disk 10s G Bytes, 10 ms (10,000,000 ns) $0.001/ MByte Registers Cache Memory Disk Instr. Operands Blocks Pages Files Staging Xfer Unit prog./compiler 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes user/operator Mbytes Upper Level faster Tape infinite Tape sec-min $0.0014/ MByte circa 1995 numbers 1/18/2005 CS252-s05, Lec 01-intro 38 Larger Lower Level

The Principle of Locality The Principle of Locality: Program access a relatively small portion of the address space at any instant of time. Two Different Types of Locality: Temporal Locality (Locality in Time): If an item is referenced, it will tend to be referenced again soon (e.g., loops, reuse) Spatial Locality (Locality in Space): If an item is referenced, items whose addresses are close by tend to be referenced soon (e.g., straightline code, array access) Last 30 years, HW relied on locality for speed P $ MEM 1/18/2005 CS252-s05, Lec 01-intro 39

The Cache Design Space Several interacting dimensions cache size block size associativity replacement policy write-through vs write-back Cache Size Associativity The optimal choice is a compromise depends on access characteristics» workload Bad» use (I-cache, D-cache, TLB) depends on technology / cost Simplicity often wins Good Factor A Less Block Size Factor B More 1/18/2005 CS252-s05, Lec 01-intro 40

Is it all about memory system design? Modern microprocessors are almost all cache 1/18/2005 CS252-s05, Lec 01-intro 41

Memory Abstraction and Parallelism Maintaining the illusion of sequential access to memory What happens when multiple processors access the same memory at once? Do they see a consistent picture? P 1 P n P 1 P n $ $ Interconnection network Mem $ Mem $ Mem Mem Interconnection network Processing and processors embedded in the memory? 1/18/2005 CS252-s05, Lec 01-intro 42

System Organization: It s all about communication Proc Caches Busses Memory Controllers adapters Pentium III Chipset I/O Devices: Disks Displays Keyboards Networks 1/18/2005 CS252-s05, Lec 01-intro 43

Breaking the HW/Software Boundary Moore s law (more and more trans) is all about volume and regularity What if you could pour nano-acres of unspecific digital logic stuff onto silicon Do anything with it. Very regular, large volume Field Programmable Gate Arrays Chip is covered with logic blocks w/ FFs, RAM blocks, and interconnect All three are programmable by setting configuration bits These are huge? Can each program have its own instruction set? Do we compile the program entirely into hardware? 1/18/2005 CS252-s05, Lec 01-intro 44

Bell s Law new class per decade log (people per computer) Enabled by technological opportunities year Smaller, more numerous and more intimately connected Brings in a new kind of application Used in many ways not previously imagined Number Crunching Data Storage productivity interactive streaming information to/from physical world 1/18/2005 CS252-s05, Lec 01-intro 45

It s not just about bigger and faster! Complete computing systems can be tiny and cheap System on a chip Resource efficiency Real-estate, power, pins, 1/18/2005 CS252-s05, Lec 01-intro 46

The Process of Design Design Architecture is an iterative process: Searching the space of possible designs At all levels of computer systems Analysis Creativity Cost / Performance Analysis Bad Ideas Good Ideas Mediocre Ideas 1/18/2005 CS252-s05, Lec 01-intro 47

Amdahl s Law ExTimenew = ExTimeold 1 Fractionenhanced ( Fraction ) + enhanced Speedup enhanced Speedup overall = ExTime ExTime old new = ( 1 Fraction ) enhanced 1 + Fraction Speedup enhanced enhanced Best you could ever hope to do: Speedup = maximum 1 1 - Fraction ( ) enhanced 1/18/2005 CS252-s05, Lec 01-intro 48

Computer Architecture Topics Input/Output and Storage Disks, WORM, Tape DRAM RAID Emerging Technologies Interleaving Bus protocols Memory Hierarchy VLSI L2 Cache L1 Cache Instruction Set Architecture Pipelining, Hazard Resolution, Superscalar, Reordering, Prediction, Speculation, Vector, Dynamic Compilation Coherence, Bandwidth, Latency Network Communication Addressing, Protection, Exception Handling Pipelining and Instruction Level Parallelism 1/18/2005 CS252-s05, Lec 01-intro 49 Other Processors

Computer Architecture Topics P M P M P M P M Shared Memory, Message Passing, Data Parallelism S Interconnection Network Network Interfaces Processor-Memory-Switch Multiprocessors Networks and Interconnections Topologies, Routing, Bandwidth, Latency, Reliability 1/18/2005 CS252-s05, Lec 01-intro 50

CS 252 Course Focus Understanding the design techniques, machine structures, technology factors, evaluation methods that will determine the form of computers in 21st Century Applications Technology Parallelism Computer Architecture: Instruction Set Design Organization Hardware/Software Boundary Programming Languages Interface Design (ISA) Compilers Operating Systems Measurement & Evaluation History 1/18/2005 CS252-s05, Lec 01-intro 51

Topic Coverage Textbook: Hennessy and Patterson, Computer Architecture: A Quantitative Approach, 3 rd Ed., 2002. Research Papers on-line 1.5 weeks Review: Fundamentals of Computer Architecture (Ch. 1), Instruction Set Architecture (Ch. 2), Pipelining (App A), Caches 2.5 weeks: Pipelining, Interrupts, and Instructional Level Parallelism (Ch. 3, 4), Vector Proc. (Appendix G) 1 week: Memory Hierarchy (Chapter 5) 2 weeks: Multiprocessors,Memory Models, Multithreading, 1.5 weeks: Networks and Interconnection Technology (Ch. 7) 1 weeks: Input/Output and Storage (Ch. 6) 1.5 weeks: Embedded processors, network proc, low-power 3 week: Advanced topics 1/18/2005 CS252-s05, Lec 01-intro 52

Your CS252 Computer architecture is at a crossroads Institutionalization and renaissance Ease of use, reliability, new domains vs. performance Mix of lecture vs discussion Depends on how well reading is done before class Goal is to learn how to do good systems research Learn a lot from looking at good work in the past New project model: reproduce old study in current context» Will ask you do survey and select a couple» Looking in detail at older study will surely generate new ideas too At commit point, you may chose to pursue your own new idea instead. 1/18/2005 CS252-s05, Lec 01-intro 53

Research Paper Reading As graduate students, you are now researchers. Most information of importance to you will be in research papers. Ability to rapidly scan and understand research papers is key to your success. So: you will read lots of papers in this course! Quick 1 paragraph summaries and question will be due in class Important supplement to book. Will discuss papers in class Papers will be scanned and on web page. 1/18/2005 CS252-s05, Lec 01-intro 54

Coping with CS 252 Students with too varied background? In past, CS grad students took written prelim exams on undergraduate material in hardware, software, and theory 1st 5 weeks reviewed background, helped 252, 262, 270 Prelims were dropped => some unprepared for CS 252? Review: Chapters 1-3, CS 152 home page, maybe Computer Organization and Design (COD)2/e Chapters 1 to 8 of COD if never took prerequisite If took a class, be sure COD Chapters 2, 6, 7 are familiar Copies in Bechtel Library on 2-hour reserve Not planning to do prelim exams Undergrads must have 152 Grads without 152 equivalent will have to work hard» Will schedule Friday remedial discussion section 1/18/2005 CS252-s05, Lec 01-intro 55

Related Courses Strong CS 152 CS 252 CS 258 Prerequisite How to build it Implementation details Basic knowledge of the organization of a computer is assumed! Why, Analysis, Evaluation CS 250 Parallel Architectures, Languages, Systems Integrated Circuit Technology from a computer-organization viewpoint 1/18/2005 CS252-s05, Lec 01-intro 56