Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015...
-
Upload
georgia-newton -
Category
Documents
-
view
215 -
download
0
Transcript of Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015...
![Page 1: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/1.jpg)
Introduction to Computer Architecture
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING
SUMMER 2015
RAMYAR SAEEDI
![Page 2: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/2.jpg)
Course Outline
Computers!
Computer Architecture’s Components (Big Picture)
Performance Measurements
Digital System Design Background
Number Representation and Operation
MIPS Microprocessor and Assembly Language
Processor Design Components
Advanced Concepts(Pipeline, Control, Data path)
Memory(Types, Cache…)
Input/output
….
![Page 3: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/3.jpg)
Course Structure
Homework Assignments (4-5 set) (30-35%)
One or two midterms (30-40%)
Final exam(40%-45%)
Bonus PROGECT(10-15%)
Resources Main: Computer Organization and Design — The Hardware
Software Interface – 5th Edition, David Patterson and John Hennessy
Digital Design and Computer Architecture: ARM Edition, Sarah HarrisDavid Harris
![Page 4: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/4.jpg)
Course Structure(Cont.)
We will have two review sessions
Two workshops on assembly programming/digital design 3rd and 5th week of class
Office Hours: Tuesday-Thursday 2pm-3pm; Sloan 314
Programming background(e.g. c++, java)
Contact: [email protected]
Homepage of Course: http://epsl.eecs.wsu.edu/introduction-to-computer-architecture/
HWs and announcement will be posted on the homepage!
![Page 5: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/5.jpg)
What You Will Learn
How programs are translated into the machine language And how the hardware executes them
The hardware/software interface
What determines program performance And how it can be improved
How hardware designers improve performance
What is parallel processing!
![Page 6: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/6.jpg)
Components of a Computer Same components for all kinds of
computer Desktop, server,
embedded
Input/output includes User-interface devices
Display, keyboard, mouse
Storage devices Hard disk, CD/DVD, flash
Network adapters For communicating with other computers
The BIG Picture
![Page 7: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/7.jpg)
Programming Levels
High-level language Level of abstraction closer to problem domain Provides for productivity and portability
Assembly language Textual representation of instructions
Hardware representation Binary digits (bits) Encoded instructions and data
![Page 8: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/8.jpg)
Inside the Processor
Apple A5
Different Components? What do you think?
Memory?
Cores?
![Page 9: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/9.jpg)
Response Time and Throughput
Response time How long it takes to do a task
Throughput Total work done per unit time
e.g., tasks/transactions/… per hour
How are response time and throughput affected by Replacing the processor with a faster version? Adding more processors?
We’ll focus on response time for now…
![Page 10: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/10.jpg)
Relative Performance Define Performance = 1/Execution Time
“X is n time faster than Y”
n XY
YX
time Executiontime Execution
ePerformancePerformanc
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
![Page 11: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/11.jpg)
CPU Clocking Operation of digital hardware governed by
a constant-rate clock
Clock (cycles)
Data transferand computation
Update state
Clock period
Clock period: duration of a clock cycle e.g., 250ps = 0.25ns = 250×10–12s
Clock frequency (rate): cycles per second e.g., 4.0GHz = 4000MHz = 4.0×109Hz
![Page 12: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/12.jpg)
Performance Improvement
How?
Reducing number of clock cycles
Increasing clock rate
Hardware designer must often trade off clock rate against cycle count
Rate Clock
Cycles Clock CPU
Time Cycle ClockCycles Clock CPUTime CPU
![Page 13: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/13.jpg)
Instruction Count and CPI
Instruction Count for a program Determined by program, ISA and compiler
Average cycles per instruction Determined by CPU hardware If different instructions have different CPI
Average CPI affected by instruction mix
Rate Clock
CPICount nInstructio
Time Cycle ClockCPICount nInstructioTime CPU
nInstructio per CyclesCount nInstructioCycles Clock
![Page 14: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/14.jpg)
CPI Example Computer A: Cycle Time = 250ps, CPI =
2.0 Computer B: Cycle Time = 500ps, CPI =
1.2 Same ISA Which is faster, and by how much?
1.2500psI
600psI
ATime CPUBTime CPU
600psI500ps1.2IBTime CycleBCPICount nInstructioBTime CPU
500psI250ps2.0IATime CycleACPICount nInstructioATime CPU
A is faster…
…by this much
![Page 15: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/15.jpg)
CPI in More Detail If different instruction classes take different numbers of
cycles
Weighted average CPI
n
1iii )Count nInstructio(CPICycles Clock
n
1i
ii Count nInstructio
Count nInstructioCPI
Count nInstructio
Cycles ClockCPI
Relative frequency
![Page 16: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/16.jpg)
CPI Example Alternative compiled code sequences using
instructions in classes A, B, C
Class A B C
CPI for class 1 2 3
IC in sequence 1 2 1 2
IC in sequence 2 4 1 1
Sequence 1: IC = 5 Clock Cycles
= 2×1 + 1×2 + 2×3= 10
Avg. CPI = 10/5 = 2.0
Sequence 2: IC = 6 Clock Cycles
= 4×1 + 1×2 + 1×3= 9
Avg. CPI = 9/6 = 1.5
![Page 17: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/17.jpg)
Performance Summary
Performance depends on Algorithm: affects IC, possibly CPI
Programming language: affects IC, CPI
Compiler: affects IC, CPI
Instruction set architecture: affects IC, CPI, Tc
cycle Clock
Seconds
nInstructio
cycles Clock
Program
nsInstructioTime CPU
![Page 18: Introduction to Computer Architecture SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING SUMMER 2015 RAMYAR SAEEDI.](https://reader035.fdocuments.us/reader035/viewer/2022062715/56649d9d5503460f94a86b53/html5/thumbnails/18.jpg)
Amdahl’s Law
Improving an aspect of a computer and expecting a proportional improvement in overall performance
Example: multiply accounts for 80s/100s How much improvement in multiply performance to get 5× overall?
Corollary: make the common case fast
2080
20 n
Can’t be done!
unaffectedaffected
improved Tfactor timprovemen
TT