computer organization and designcs.iupui.edu/~durresi/csc3501_07/1_3501_07_2.pdf · david a....

25
Computer Organization and Computer Organization and Design Design Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70803 d @ l d CSC3501 FALL07 Louisiana State University 1- Introduction - 1 durresi@csc.lsu.edu These slides are available at: http://www.csc.lsu.edu/~durresi/CSC3501_07/ Overview Overview How What When CSC3501 FALL07 Louisiana State University 1- Introduction - 2 Why

Upload: vancong

Post on 04-Jun-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Computer Organization and Computer Organization and Design Design

Dr. Arjan Durresi Louisiana State University

Baton Rouge, LA 70803d @ l d

CSC3501 FALL07Louisiana State University 1- Introduction - 1

[email protected] slides are available at:

http://www.csc.lsu.edu/~durresi/CSC3501_07/

OverviewOverview

How WhatWhen

CSC3501 FALL07Louisiana State University 1- Introduction - 2

Why

Page 2: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

OverviewOverview

How am I going to grade you?What are we going to cover?When are you going to do it?

CSC3501 FALL07Louisiana State University 1- Introduction - 3

Why you should take this course?

GradingGradingLearning-centered course:

The first priority: Maximize learning Y d ill d p nd n h m h Your grade will depend on how much you have learned

3 Quizzes (2 best out of three) 55%Activity in the class (15%)

Questions and discussions in class give you

CSC3501 FALL07Louisiana State University 1- Introduction - 4

points and improve the quality of teachingHomework (30%)

Page 3: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Frequently Asked QuestionsFrequently Asked QuestionsYes, I do use “curve”. Your grade depends upon the performance of the rest of the class.All homeworks are due at the beginning of the g gnext class.All late submissions must be preapproved.All quizzes are open-book and extremely time limited.Quizzes consist of numerical as well as

CSC3501 FALL07Louisiana State University 1- Introduction - 5

multiple-choice (true-false) questions.There is negative grading on incorrect multiple-choice questions.

What Is This Course About?What Is This Course About?

Understanding of basic issues, concepts, principles of Computer Architecture.

Organizational paradigms that determine:Capabilities, Performance and the Success

Relationship between hardware and softwareFocus on the concepts that are the basis of

CSC3501 FALL07Louisiana State University 1- Introduction - 6

Focus on the concepts that are the basis of current computers.

Page 4: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Text BookText Book

David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

CSC3501 FALL07Louisiana State University 1- Introduction - 7

Third Edition, 2005, ISBN:1-55860-604-1 .

This book is very comprehensive. I will follow it as much as possible.

Office HoursOffice HoursTuesday and Thursday: 3:00 to 4:00 PMand by appointments

Office: 291 Coates Hall

Telephone: (225)-578-3902

Email: [email protected]

Course web page:

http://www csc lsu edu/~durresi/CSC3501 07

CSC3501 FALL07Louisiana State University 1- Introduction - 8

http://www.csc.lsu.edu/ durresi/CSC3501_07

GTA:

Email:

Page 5: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

IntroductionIntroductionThis course is all about how computers workBut what do we mean by a computer?

Different types: desktop, servers, embedded devicesDifferent uses: automobiles graphics finance genomicsDifferent uses: automobiles, graphics, finance, genomics…Different manufacturers: Intel, Apple, IBM, Microsoft, Sun…Different underlying technologies and different costs!

Analogy: Consider a course on “automotive vehicles”Many similarities from vehicle to vehicle (e.g., wheels)

CSC3501 FALL07Louisiana State University 1- Introduction - 9

Huge differences from vehicle to vehicle (e.g., gas vs. electric)

Best way to learn:Focus on a specific instance and learn how it worksWhile learning general principles and historical perspectives

Course OutlineCourse OutlineCourse overview and topics Introduction to Computer Architecture Instruction Set Architecture nstruct on S t rch t ctur Arithmetic for Computers Performance of Computer Systems Basics of Digital Logic Design Register Files and Memory ALU Design

CSC3501 FALL07Louisiana State University 1- Introduction - 10

Designing of MIPS Processor (Single-Cycle)Designing of MIPS Processor (Multi-Cycle)Pipelining Memory Hierarchy

Page 6: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Why learn this stuff?Why learn this stuff?You want to call yourself a “computer scientist”You want to build software people use (need performance)You need to make a purchasing decision or offer “expert” advice

Both Hardware and Software affect performance:Algorithm determines number of source-level statementsLanguage/Compiler/Architecture determine machine instructions

(Chapter 2 and 3)

CSC3501 FALL07Louisiana State University 1- Introduction - 11

Processor/Memory determine how fast instructions are executed

(Chapter 5, 6, and 7)

Assessing and Understanding Performance in Chapter 4

What is a computer?What is a computer?Components:

input (mouse, keyboard)output (display, printer)p ( p y, p )memory (disk drives, DRAM, SRAM, CD)network

Our primary focus: the processor (datapath and control)

implemented using millions of transistors

CSC3501 FALL07Louisiana State University 1- Introduction - 12

implemented using millions of transistorsImpossible to understand by looking at each transistorWe need...

Page 7: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

AbstractionAbstractionDelving into the depths reveals more information

An abstraction omits unneeded detail, helps us cope with complexity

CSC3501 FALL07Louisiana State University 1- Introduction - 13

What are some of the details that appear in these familiar abstractions?

How do computers work?How do computers work?Need to understand abstractions such as:

Applications softwareSystems softwareAssembly LanguageAssembly LanguageMachine LanguageArchitectural Issues: i.e., Caches, Virtual Memory, PipeliningSequential logic, finite state machinesCombinational logic, arithmetic circuitsBoolean logic, 1s and 0sTransistors used to build logic gates (CMOS)S i d /Sili d b ild i

CSC3501 FALL07Louisiana State University 1- Introduction - 14

Semiconductors/Silicon used to build transistorsProperties of atoms, electrons, and quantum dynamics

So much to learn!

Page 8: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Forces on Computer ArchitectureForces on Computer Architecture

Technology ProgrammingLanguages

ComputerArchitecture

Operating

Applications

CSC3501 FALL07Louisiana State University 1- Introduction - 15

SystemsHistory(A = F / M)

Amazing Underlying Amazing Underlying Technology ChangeTechnology Change

CSC3501 FALL07Louisiana State University 1- Introduction - 16

Page 9: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Historical PerspectiveHistorical PerspectiveENIAC built in World War II was the first general purpose computer

Used for computing artillery firing tables80 feet long by 8.5 feet high and several feet wideE h f th t t 10 di it i t 2 f t lEach of the twenty 10 digit registers was 2 feet longUsed 18,000 vacuum tubesPerformed 1900 additions per second

–Since then:

Moore’s Law:

t i t it d bl

CSC3501 FALL07Louisiana State University 1- Introduction - 17

transistor capacity doubles every 18-24 months

Below Your ProgramBelow Your Program

CSC3501 FALL07Louisiana State University 1- Introduction - 18

Page 10: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Operating SystemOperating SystemHandling basic input and output operationsAllocating storage and memoryg g yProviding for sharing the computer among multiple applications using it simultaneously

CSC3501 FALL07Louisiana State University 1- Introduction - 19

Below Your Below Your ProgramProgram

High level languages:1)Allow to think in a more1)Allow to think in a more

natural way2) Improve programmer

productivity3) Allows programs to be

independent of the computer

CSC3501 FALL07Louisiana State University 1- Introduction - 20

Page 11: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Computer OrganizationComputer Organization

CSC3501 FALL07Louisiana State University 1- Introduction - 21

The five classic components: 1) Input, 2) Output, 3) Memory, 4) Datapath 5) Control

Inside Pentium 4Inside Pentium 4

CSC3501 FALL07Louisiana State University 1- Introduction - 22

Page 12: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Communicating with other Communicating with other computerscomputers

Networks are the backbone of the current computing system

Information is exchanged among computers at high speedResource sharing. Especially expensive resources.

CSC3501 FALL07Louisiana State University 1- Introduction - 23

Nonlocal access. Freedom for usersOptical, wireless

The Chip Manufacturing ProcessThe Chip Manufacturing Process

CSC3501 FALL07Louisiana State University 1- Introduction - 24

Page 13: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

An 8An 8--inch wafer containing Pentium inch wafer containing Pentium 4 processors4 processors

CSC3501 FALL07Louisiana State University 1- Introduction - 25

Pentium 4 ProcessorPentium 4 Processor

CSC3501 FALL07Louisiana State University 1- Introduction - 26

Page 14: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Measurement and EvaluationMeasurement and EvaluationArchitecture is an iterative process

-- searching the space of possible designs-- at all levels of computer systemsDesign

Analysis

Cost /PerformanceAnalysis

Analysis

Creativity

CSC3501 FALL07Louisiana State University 1- Introduction - 27

Good IdeasGood IdeasMediocre Ideas

Bad Ideas

What is “Computer Architecture”?What is “Computer Architecture”?

Compiler

OperatingSystem

Application

Firmware

I/O systemInstr. Set Proc.

Compiler

Digital DesignCircuit Design

Instruction SetArchitecture

Firmware

Datapath & Control

Layout

CSC3501 FALL07Louisiana State University 1- Introduction - 28

Coordination of many levels of abstractionUnder a rapidly changing set of forcesDesign, Measurement, and Evaluation

Page 15: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Computer ArchitectureComputer ArchitectureA modern meaning of the term computer architecture covers three aspects of computer design:

instruction set architectureinstruction set architecture,computer organization andcomputer hardware.

Instruction Set Architecture - ISA refers to the actual programmer-visible machine interface such as instruction set, registers, memory organization and

CSC3501 FALL07Louisiana State University 1- Introduction - 29

exception handling. Two main approaches: RISC and CISC architectures.A computer organization and computer hardware are two components of the implementation of a machine.

Computer ArchitectureComputer ArchitectureComputer organization includes the high-level aspects of a design, such as the memory system, the bus structure, and the design of the internal CPU (where arithmetic logic branching and data transfers are arithmetic, logic, branching and data transfers are implemented).Computer hardware refers to the specifics of a machine, included the detailed logic design and the packaging technology of the machine.For many years the interaction between ISA and implementations was believed to be small, and

l f

CSC3501 FALL07Louisiana State University 1- Introduction - 30

implementation issues were not a major focus in designing instruction set architecture.In the 1980’s, it becomes clear that both the difficulty and inefficiency of pipelining could be increased by instruction set architecture complications.

Page 16: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Tasks of Computer ArchitectsComputer architects must design a computer to meet functional requirements as well as price, power, and performance goals. Often, they also have to determine what the functional requirements are, which can be a major taskmajor task.Once a set of functional requirements has been established, the architect must try to optimize the design. Here are three major application areas and their main requirements:

Desktop computers: focus on optimizing cost-performance as measured by a single user, with

CSC3501 FALL07Louisiana State University 1- Introduction - 31

p y glittle regard for program size or power consumption, Server computers – focus on availability, scalability, and throughput cost-performance,Embedded computers – driven by price and often power issues, plus code size is important.

Classes of ComputingClasses of Computing

CSC3501 FALL07Louisiana State University 1- Introduction - 32

Page 17: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Major ArchitecturesMajor Architectures

CSC3501 FALL07Louisiana State University 1- Introduction - 33

Rapid Rate of Improvements

Now, less than one thousand dollars purchases a personal computer that has more performance more main memory and more performance, more main memory, and more disk storage than a computer bought in 1980 for one million dollars.For many applications, the highest-performance microcomputers of today outperform the supercomputers of less than 10

CSC3501 FALL07Louisiana State University 1- Introduction - 34

10 years ago.This rapid rate of improvement has come from two forces:

technology used to build computers andinnovations in computer design.

Page 18: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Growth of capacity per DRAM Growth of capacity per DRAM chip over timechip over time

CSC3501 FALL07Louisiana State University 1- Introduction - 35

Performance of WorkstationsPerformance of Workstations

CSC3501 FALL07Louisiana State University 1- Introduction - 36

Page 19: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

A take on Moore’s LawA take on Moore’s Law100,000,000

Bit-level parallelism Instruction-level Thread-level (?)

Tran

sist

ors

100,000

1,000,000

10,000,000

i80286

i80386

R2000

Pentium

R10000

R3000

CSC3501 FALL07Louisiana State University 1- Introduction - 37

1,000

10,000

1970 1975 1980 1985 1990 1995 2000 2005

i4004

i8008i8080

i8086

Technology TrendsTechnology TrendsClock Rate: ~30% per yearTransistor Density: ~35%Chip Area: ~15%Chip Area: 15%Transistors per chip: ~55%Total Performance Capability: ~100%by the time you graduate...

3x clock rate (4-6 GHz)

CSC3501 FALL07Louisiana State University 1- Introduction - 38

10x transistor count (1 Billion transistors)30x raw capability

plus 16x dram density, 32x disk density

Page 20: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

100Supercomputers

Performance TrendsPerformance Trends

Perfo

rman

ce

1

10

Minicomputers

Mainframes

Microprocessors

CSC3501 FALL07Louisiana State University 1- Introduction - 39

0.11965 1970 1975 1980 1985 1990 1995

Technology TrendsIntegrated circuit logic technology – a growth in transistor count on chip of about 55% per year.Semiconductor RAM – density increases by 40% to Semiconductor RAM density increases by 40% to 60% per year, while cycle time has improved very slowly, decreasing by about one-third in 10 years. Cost has decreased at rate about the rate at which density increases.Magnetic disc technology – disk density has been recently improving more then 100% per year, while prior to 1990 about 30% per year

CSC3501 FALL07Louisiana State University 1- Introduction - 40

prior to 1990 about 30% per year.Network technology – Latency and bandwidth are important, though recently bandwidth has been primary focus. Internet infrastructure in the U.S. has been doubling in bandwidth every year.

Page 21: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

Developments in Computer Design

During the first 25 years of electronic computers both forces, technology and innovations in computer design made major contributionsdesign made major contributions.Then, during the 1970’s, computer designers were largely dependent upon integrated circuit technology, with roughly 35% growth per year in processor performance.In the last 20 year, the combination of innovations in computer design and improvements in technology has

CSC3501 FALL07Louisiana State University 1- Introduction - 41

computer design and improvements in technology has led sustained growth in performance at an annual rate of over 55%. In this period, the main source of innovations in computer design has come from RISC-style pipelined processors.

Growth in Microprocessor Performance

CSC3501 FALL07Louisiana State University 1- Introduction - 42

Page 22: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

RISC ArchitectureAfter 1985, any computer announced has been of RISC architecture. RISC designers focused

i i l f h i i on two critical performance techniques in computer design:

the exploitation of instruction-level parallelism, first through pipelining and later through multiple instruction issue,h f h f l f d

CSC3501 FALL07Louisiana State University 1- Introduction - 43

the use of cache, first in simple forms and later using sophisticated organizations and optimizations.

RISC ISA CharacteristicsAll operations on data apply to data in registers and typically change the entire register;The only operations that affect memory are load and The only operations that affect memory are load and store operations that move data from memory to a register or to memory from a register, respectively;A small number of memory addressing modes; The instruction formats are few in number with all instructions typically being one size;Large number of registers;

CSC3501 FALL07Louisiana State University 1- Introduction - 44

g gThese simple properties lead to dramatic simplifications in the implementation of advanced pipelining techniques, which is why RISC architecture instruction sets were designed this way.

Page 23: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

RISC and CISC ArchitectureRISC – Reduced Instruction Set ComputerCISC – Complex (and Powerful) Instruction Set ComputerWhat does MIPS stand for?Answer: Microprocessor without Interlocked Pipeline Answer: Microprocessor without Interlocked Pipeline Stages. MIPS processor is one of the first RISC processors. Again, all processors announced after 1985 have been of RISC architecture.What is the main example of CISC architecture processor?Answer: Intel IA-32 processors (in over 90% computers).

CSC3501 FALL07Louisiana State University 1- Introduction - 45

p )Intel IA-32 processors, from 80386 processor in early 80’s to Pentium IV today, and the next one to be introduced this or next year, are of CISC architecture. All Intel IA-32 processors are having as a base the Identical instruction set architecture designed in early 1980’s.

Intel IA-32 ProcessorsThe improvements in technology have allowed the latest Intel IA-32 processors (of CISC architecture) to adopt many innovations first pioneered in the RISC design.Since 1995, Pentium processors consist of a front end processor , p pand a RISC-style processor.The front end processor fetches and decodes Intel IA-32 complex instructions and maps them into microinstructions.A microinstruction is a simple instruction used in sequence to implement a more complex instruction. Microinstructions look very much as RISC instructions.Then, the RISC-style processor executes microinstructions.

CSC3501 FALL07Louisiana State University 1- Introduction - 46

hen, the S style processor executes m cro nstruct ons.As a transistor counts soured, the overhead (in transistors) of interpreting the more complex IA-32 architecture becomes negligible.

Page 24: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

VAX vs. MIPS processorsThis graph compares results of VAX 8700 (CISC) and MIPS M2000 (RISC) processors that execute nine programs from SPEC89 benchmarks.CPU time = Instruction count * CPI / Clock rate_ _

CSC3501 FALL07Louisiana State University 1- Introduction - 47

Comparison of VAX and MIPS processors

The graph indicates that, on average, MIPS executed about twice as many instructions as VAX. (Bad for MIPS)

h h d h h P f h The graph indicates that, on average, the CPI for the VAX was about six times larger than that for MIPS. (Bad for VAX)CPI – the average number of clock cycles per instructionCPI = CPU_clock_cycles_for_a_program ⁄ Instruction_countCPU time – a time to execute a given programCPU time = Instruction_count *CPI ⁄ Clock_rateSince clock rates were identical MIPS had almost three times

CSC3501 FALL07Louisiana State University 1- Introduction - 48

Since clock rates were identical, MIPS had almost three times better performance (measured by CPU time) than VAX.

Page 25: Computer Organization and Designcs.iupui.edu/~durresi/CSC3501_07/1_3501_07_2.pdf · David A. Patterson, John L. Hennessy" Computer Organization and Design The Hardware/Software Interface,"

SummarySummary

There will be a lot of self-readingGet ready to work hard

CSC3501 FALL07Louisiana State University 1- Introduction - 49

Thank You!Thank You!

CSC3501 FALL07Louisiana State University 1- Introduction - 50