2
IntroductionComputer design is a rapidly changing field
vacuum tube transistors VLSI circuits Memory capacity is doubling almost every 1.5 years Processor performance is improving 1.5-1.6 times per year Moore’s Law: the transistor count for an IC doubles every 18-24
months
Learning objectives How computer works How to analyze their performance How hardware and software organization and design affect the
performance
Learning Motivation You want to design a computing system You want to write software that people use (need performance) You need to make a purchasing decision or offer and “expert” advice You want to call yourself a computer or electrical engineer
3
What is a computer ?
Different types: desktop, servers, embedded devices
Different applications: automobiles, graphics, finance, genomics, …
Different manufacturers: Intel, Apple, IBM, Microsoft, Sun, …
Different underlying technologies and different costs!
4
Computers in perspective
Each time the cost of computing improves applications that were economically infeasible suddenly become practical
Advance in computer technology affect almost every aspect of our society
ENIAC (circa world war II)
5
The computer market
6
Embedded computersAnti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readersElectronic instrumentsElectronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systems
ModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systemsPortable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers
and the list goes on and on …
7
The Computer components
A computer is composed of five basic components:InputOutputMemoryDatapathControl
Processor (= CPU)
8
Hardware/software interface
The hardware in a computer can only execute extremely simple low-level instructions.
To go from a complex application to the simple instructions involves several layers of software that interpret or translate high level operations into simple computer instructions.
These layers of software are organized primarily in a hierarchical fashion
System software:• operating system, • compilers and • assemblers
9
Levels of abstraction An abstraction omits
unneeded detail, helps us cope with complexity
High level programming languages offer several benefits Allow the programmer to
think in a more natural language
Improve the programmer productivity
Allow programs to be independent
10
Levels of abstraction
1970 1980 1990 2000+
Ab
stra
ctio
n
Transistor Level
Gate Level
RTL
RT Level(HDL)
RTL SW
System Level
11
Instruction Set Architecture (ISA) ISA (or simply architecture):
- one of the most important abstraction- interface between the hardware and the lowest level
software- standardizes instructions and machine language bit
patterns Advantage:
- Keeping the architecture as a constant enables many implementations of varying cost and performance to run identical software
Disadvantage:- maintaining the architecture may preclude introducing
innovations that require the interface to change Modern instruction set architectures:
- IA-32, PowerPC, MIPS, SPARC, ARM, …
12
The chip manufacturing process
13
Internal structure of a processor chip
Pentium 4 microphotograph
14
The BIG Picture Both hw and sw consist of hierarchical layers, with each
lower layer hiding details from the level above This principle of abstraction is the way both hardware
designers and software designers cope with complexity One key interface between levels of abstraction is the
ISA – the interface between the hardware and low level software.
Key technologies for modern processors are silicon and compilers
The rapid advance of silicon technology and new ideas in the organization of computers (e.g. exploiting parallelism via pipelining and exploiting locality of accesses via memory hierarchy) have improved price/performance
15
Performance
Both Hardware and Software affect performance: Algorithm determines number of source-level
statements
Language/Compiler/Architecture determine machine instructions (Chapter 2 and 3)
Processor/Memory determine how fast instructions are executed (Chapter 5, 6, and 7)
Top Related