Computer Architecture - IDATDTS10/info/lectures/Lecture1.pdfThe first electronic computers ENIAC...
-
Upload
phungkhanh -
Category
Documents
-
view
217 -
download
4
Transcript of Computer Architecture - IDATDTS10/info/lectures/Lecture1.pdfThe first electronic computers ENIAC...
Computer Architecture
U h D B d l i Unmesh D. Bordoloi
1
2
The first electronic computersThe first electronic computers
ENIAC (Electronic Numerical Integrator and Calculator) –The world’s first electronic computer
3
ENIACENIAC
ENIAC id d di i l j d ENIAC provided conditional jumps and was programmable, clearly distinguishing it from earlier calculatorscalculators
Programming was done manually by plugging cables and Programming was done manually by plugging cables and setting switches, and data was entered on punched cards. Programming for typical calculations required from half g g yp qan hour to a whole day
ENIAC was a general-purpose machine, limited primarily by a small amount of storage and tedious programming
4
ENIACENIAC
J. Presper Eckert and John Mauchly at the Moore School of the University of Pennsylvania
Funded by the United States Army Funded by the United States Army
B ti l d i W ld W II b t t Became operational during World War II but was not publicly disclosed until 1946
5
Von NeumannVon Neumann
In 1944 J hn n Ne mann as attracted t the ENIAC r ject The In 1944, John von Neumann was attracted to the ENIAC project. The group wanted to improve the way programs were entered and discussed storing programs as numbers; von Neumann helped crystallize the ideas and wrote a memo proposing a stored-program computer called EDVAC p p g p g p(Electronic Discrete Variable Automatic Computer).
Herman Goldstine distributed the memo and put von Neumann’s name on pit, much to the dismay of Eckert and Mauchly, whose names were omitted. This memo has served as the basis for the commonly used term von Neumann computer. Several early pioneers in the computer field believe that this term gives too much credit to von Neumann who wrote up the that this term gives too much credit to von Neumann, who wrote up the ideas, and too little to the engineers, Eckert and Mauchly, who worked on the machines.
For this reason, the term does not appear elsewhere in your textbook book.
6
Why study Computer Architecture ?Why study Computer Architecture ?
7
Main goals of this courseMain goals of this course
Understand and explain the main components of a computer
Make connections between programs and the way they are executed on hardware way they are executed on hardware infrastructureE l t h th diff t d i h i Evaluate how the different design choices influence the performance of computer
Understand the interaction between the different components and their impact on performancep p p
8
Will be evaluated by Will be evaluated by …
Labs
Written exam: Ability to solve problems
Written exam: Ability to explain the Written exam: Ability to explain the fundamental concepts
9
In the classroomIn the classroom Sometimes you will solve problems Sometimes, you will solve problems I will interact with you, but this will not be graded
For this please be seated in a small group of 2 For this, please be seated in a small group of 2 or 3
Y l b You may use your lab group
10
An experiment with TwitterAn experiment with Twitter Optional Optional Use #tdts10 Use to ask doubts, or share interesting results,
when you do not feel like spamming the entire when you do not feel like spamming the entire groupU l i l l h l i Use also in classroom – only when solving problems
11
ExaminationExaminationThe course will have three obligatory The course will have three obligatory exams/homework Exam Exam Lab
L bLabThis is obligatory and you can get a pass/fail
dgradeFinal ExamThere will be a final written exam. More details will be shared later
1212
PersonnelPersonnel
Unmesh Bordoloi Kursledare (examinator)Unmesh Bordoloi- Kursledare (examinator) Epost: [email protected]
Dimitar Nikolov (Teaching Assistant) Epost: dimitarnikolov@liu se Epost: [email protected]
Madeleine Dahlqvist (Kurssekreterare) Epost: [email protected]
Patrick Lambrix (Director of Studies)Patrick Lambrix (Director of Studies) Epost: [email protected]
1313
1414
TextbookTextbook
The recommended textbook is: David A. Patterson and John L. Hennessy: J y
Computer Organization and Design - The Hardware / Software Interface, 4th Edition, , ,Morgan Kaufmann
Available as e-book in the university library Available as e-book in the university library
1515
Other literatureOther literature
William Stallings: Computer Organization and Architecture, Prentice Hall International, Inc..
Sven Eklund, Avancerad datorarkitektur, Studentlitteratur, 1994.
Andrew S. Tanenbaum, Structured Computer Organization, 4th edition, Prentice Hall Organization, 4th edition, Prentice Hall International, Inc., 1999.
V C Hamacher et al : Computer Organization 4th V. C. Hamacher, et al.: Computer Organization, 4th edition, McGraw-Hill, 1996.
1616
Today Today
4 hours!
3 + 1 hour!
17
So So …
18
TechnologyTechnology Electronics technology continues to evolve Increased capacity and performance Reduced cost
Year Technology Relative performance/cost1951 Vacuum tube 11965 T i t 351965 Transistor 351975 Integrated circuit (IC) 9001995 Very large scale IC (VLSI) 2,400,0001995 Very large scale IC (VLSI) 2,400,0002005 Ultra large scale IC 6,200,000,000
19
Yesterday’s fiction is now reality Yesterday’s fiction is now reality Yesterday s fiction is now reality Yesterday s fiction is now reality
Applications empowered by computers:Applications empowered by computers:
Human genome projectHuman genome project
World Wide WebWorld Wide Web
Search EnginesSearch Engines
Social NetworksSocial Networks
20
Classes of ComputersClasses of Computers
21
Classes of ComputersClasses of Computers Desktop computers General purpose, variety of software Subject to cost/performance tradeoff
Server computers Network basedNetwork based High capacity, performance, reliability Range from small servers to building sized Range from small servers to building sized
Embedded computers Hidden as components of systems Stringent power/performance/cost constraints
22
Below your programBelow your programBelow your programBelow your program
We constantly interact with these computersWe constantly interact with these computers E.g., via apps on iPhone or via a Word
ProcessorProcessor
How does an application interact with the hardware?
23
Language of the hardwareLanguage of the hardwareLanguage of the hardwareLanguage of the hardware
The hardware understands on or off Hence, The hardware understands on or off. Hence, the language of the hardware needs two symbols 0 and 1 symbols 0 and 1.
C l f d bi di i bi Commonly referred to as binary digits or bits.
2 letters do not limit what computers can do (just like the finite letters in our languages)(j g g )
24
Language of the hardwareLanguage of the hardwareLanguage of the hardwareLanguage of the hardware
Instructions are collections of bits that the Instructions are collections of bits that the computer understands
What our programs instruct the computer to d h i i do are the instructions:
Hundreds/thousands/millions of lines of code (instructions) are hidden beneath our apps and ( ) ppprograms
25
Hierarchical Layers of Program Codey g High-level language
L l f b i l Level of abstraction closer to problem domain
Provides for productivity and Provides for productivity and portability
Assembly languagey g g Textual representation of
instructions Hardware representation Binary digits (bits) Encoded instructions and data
26
Below your programBelow your programBelow your programBelow your program• Application software
– Written in high-level language
• System software– Compiler: translates HLL code to
machine code– Operating System: service code
• Handling input/output• Managing memory and storage• Scheduling tasks & sharing resources
H d• Hardware– Processor, memory, I/O controllers
27
Under the CoversUnder the CoversUnder the CoversUnder the Covers
Understanding the underlying hardware (the Understanding the underlying hardware (the computer!) is the main focus of this course
So, what are the main components of the ?computer?
28
Components of a Computer
Same components forll ki d f all kinds of computer Desktop, server,
b dd dembedded
Anatomy of a ComputerAnatomy of a Computer
Output device
Network cable
Input InputInput device
Input device
30
Opening the BoxOpening the Box
Motherboard Motherboard I/O connections
Memory (DRAM)y ( )
CPU or central CPU or central processing unit
31
AMD Barcelona: 4 processor cores
32
Inside the Processor (CPU)Inside the Processor (CPU)
Datapath: performs operations on data Control: sequences datapath, memory, Control: sequences datapath, memory, ... Cache memory Small fast SRAM memory for immediate access to
data
33
Abstractions
Abstraction helps us deal with complexity Abstraction helps us deal with complexity Note abstraction in both hardware and
ftsoftware Hide lower-level detail
Instruction set architecture (ISA) The hardware/software interface The hardware/software interface
Implementation The details underlying and interface
34
Our Topics in this CourseOur Topics in this CourseOur Topics in this CourseOur Topics in this Course
InstructionsInstructions Arithmetic
Th P The Processor Memory Input/Output Multi-cores and GPUsMulti cores and GPUs
35
PerformancePerformance
Why is performance important?
For purchasers: to choose between computersF d k h l h For designers: to make the sales pitch
Defining performance is not straightforward!A l i h i l h h diffi l An analogy with airplanes shows the difficulty
36
Defining Performance Which airplane has the best performance?
Boeing 747
Boeing 777
Boeing 747
Boeing 777
DouglasDC-8-50
BAC/SudConcorde
Douglas DC-8-50
BAC/SudConcorde
0 100 200 300 400 500
Passenger Capacity
0 2000 4000 6000 8000 10000
Cruising Range (miles)
BAC/SudConcorde
Boeing 747
Boeing 777
BAC/SudConcorde
Boeing 747
Boeing 777
0 500 1000 1500
DouglasDC-8-50
Concorde
Cruising Speed (mph)
0 100000 200000 300000 400000
Douglas DC-8-50
Concorde
Passengers x mphCruising Speed (mph) Passengers x mph
37
Response Time and Throughput
Response time
As a user of a smart phone (embedded computer), or l h h d f h b !laptop, the one that responds faster is the better!
Response time = How long it takes to do a task?
Response time = the total time required for the computer to complete a task, including disk accesses, memory accesses I/O activities operating system overheads CPU accesses, I/O activities, operating system overheads, CPU execution time …
38
Response Time and Throughput
Throughput If I am running a data center with several servers, faster
computer is the one that completes several tasks in one day!day!
Total work done per unit time• e g tasks/transactions/ per hour• e.g., tasks/transactions/… per hour
How are response time and throughput affected byR l i h i h f i ? Replacing the processor with a faster version?
Adding more processors?L k i h b k f di i (P 28) Look in the textbook for a discussion (Page 28)
39
Relative PerformanceRelative Performance Define Performance = 1/Execution Time Performancex > Performancey
1/Execution Time > 1/Execution Time 1/Execution Time x > 1/Execution Time y Execution Time y > Execution Time xy
n XY
YX
timeExecutiontimeExecutionePerformancePerformanc
XY
40
Relative PerformanceRelative Performance Define Performance = 1/Execution Time “X is n time faster than Y”
P fP fn XY
YX
time Executiontime ExecutionePerformancePerformanc
Example: time taken to run a program 10s on A, 15s on B Execution TimeB / Execution TimeA= 15s / 10s = 1.5
So A is 1.5 times faster than B
41
Measuring Execution TimeMeasuring Execution Time
El d Elapsed time Total response time, including all aspects
• Processing, I/O, OS overhead, idle time Determines system performance
CPU time Time spent processing a given jobTime spent processing a given job
• Discounts I/O time, other jobs’ shares Different programs are affected differently by CPU Different programs are affected differently by CPU
and system performance
42
CPU Clocking
Operation of digital hardware governed by a l kconstant-rate clock
Clock period: duration of a clock cycle e g 250ps = 0 25ns = 250×10–12s e.g., 250ps = 0.25ns = 250×10 s
Clock frequency (rate): cycles per second4 0 GH 4000 MH 4 0 109H e.g., 4.0 GHz = 4000 MHz = 4.0×109Hz
43
CPU TimeCPU TimeTimeCycleClockCyclesClockCPUTimeCPU
RCl kCycles Clock CPU
TimeCycleClockCyclesClockCPUTime CPU
Performance improved byRateClock
p yReducing number of clock cycles Increasing clock rate Increasing clock rateHardware designer must often trade off clock rate
l against cycle count
44
CPU Time ExampleCPU Time Example Computer A: 2GHz clock, 10s CPU time
D i i C B Designing Computer B Aim for 6s CPU time Can do faster clock but causes 1 2 × clock cycles compared to A Can do faster clock, but causes 1.2 × clock cycles compared to A
How fast must Computer B clock be i.e., what is the clock rate for Computer B?rate for Computer B?
BB
RateClockCycles Clock CPUTime CPU
BRateClock
45
CPU Time ExampleCPU Time Example Computer A: 2GHz clock, 10s CPU time
D i i C B Designing Computer B Aim for 6s CPU time Can do faster clock but causes 1 2 × clock cycles compared to A Can do faster clock, but causes 1.2 × clock cycles compared to A
How fast must Computer B clock be?
BB
RateClockCycles Clock CPUTime CPU
BRateClock
6sCycles Clock1.2
Time CPUCycles ClockRate Clock A
B
BB
46
CPU Time ExampleCPU Time Example Computer A: 2GHz clock, 10s CPU time Designing Computer B
We aim for 6s CPU timeW d f l k b 1 2 l k l We can do faster clock, but causes 1.2 × clock cycles
How fast must Computer B clock be?
AA
Cycles Clock CPUTimeCPU A
ARate Clock
Time CPU
9AAA
10202GHz10sRate ClockTime CPUCycles lock
C
10202GHz10s
47
CPU Time ExampleCPU Time Example Computer A: 2GHz clock, 10s CPU time
D i i C B Designing Computer B Aim for 6s CPU time Can do faster clock but causes 1 2 × clock cycles Can do faster clock, but causes 1.2 × clock cycles
How fast must Computer B clock be?
BB
RateClockCycles Clock CPUTime CPU
Cycles Clock1.2Cycles ClockRateClock AB
BRateClock
4GHz102410201.2RateClock
6sTime CPURate Clock
99B
B
4GHz6s6s
Rate Clock B 48
Instruction Count and CPIInstruction Count and CPInInstructio per CyclesCount nInstructioCycles Clock
Time Cycle ClockCPICount nInstructioTime CPU
Rate ClockCPICountnInstructio
Instruction Count for a program Determined by program, ISA and compilerDetermined by program, ISA and compiler
Average cycles per instruction Determined by CPU hardware Determined by CPU hardware If different instructions have different CPI
Average CPI affected by instruction mixAverage CPI affected by instruction mix
49
CPI ExampleCPI Example Computer A: Cycle Time = 250ps, CPI = 2.0 C B C l Ti 500 CPI 1 2 Computer B: Cycle Time = 500ps, CPI = 1.2 Same ISAWhich is faster, and by how much?
ATime CycleACPICount nInstructioATime CPU
50
CPI ExampleCPI Example Computer A: Cycle Time = 250ps, CPI = 2.0 C B C l Ti 500 CPI 1 2 Computer B: Cycle Time = 500ps, CPI = 1.2 Same ISAWhich is faster, and by how much?
ATimeCycleACPICountnInstructioATimeCPU
TimeCycleCPICountnInstructioTimeCPU500psI250ps2.0I
ATimeCycleACPICountnInstructioATime CPU
A is faster…
600psI500ps1.2IBTimeCycleBCPICountnInstructioBTime CPU
1.2500psI600psI
ATime CPUBTime CPU
…by this muchA
51
Concluding Remarks
Cost/performance is improvingDue to underlying technology development
Hierarchical layers of abstractiony In both hardware and software
Instruction set architecture Instruction set architectureThe hardware/software interface
E i i h b f Execution time: the best performance measurePower is a limiting factorgUse parallelism to improve performance
52