computer organization and designcs.iupui.edu/~durresi/csc3501_07/1_3501_07_2.pdf · david a....
TRANSCRIPT
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
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%)
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.
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:
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
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...
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!
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
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
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
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
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
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
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
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.
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
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.
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
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
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.
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
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.
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.
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.
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