Transcript Slide 1

Computing Systems
Computer abstractions and
technology
[email protected]
1
Introduction
Computer 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 
2
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!
3
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)
4
The computer market
5
Embedded computers
Anti-lock brakes
Auto-focus cameras
Automatic teller machines
Automatic toll systems
Automatic transmission
Avionic systems
Battery chargers
Camcorders
Cell phones
Cell-phone base stations
Cordless phones
Cruise control
Curbside check-in systems
Digital cameras
Disk drives
Electronic card readers
Electronic instruments
Electronic toys/games
Factory control
Fax machines
Fingerprint identifiers
Home security systems
Life-support systems
Medical testing systems
Modems
MPEG decoders
Network cards
Network switches/routers
On-board navigation
Pagers
Photocopiers
Point-of-sale systems
Portable video games
Printers
Satellite phones
Scanners
Smart ovens/dishwashers
Speech recognizers
Stereo systems
Teleconferencing systems
Televisions
Temperature controllers
Theft tracking systems
TV set-top boxes
VCR’s, DVD players
Video game consoles
Video phones
Washers and dryers
and the list goes on and on …
6
The Computer components

A computer is composed of five basic
components:
Input
 Output
 Memory
 Datapath
 Control

Processor (= CPU)
7
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
8
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
9
Levels of abstraction
RTL
SW
Abstraction
RTL
System Level
RT Level
(HDL)
Gate Level
Transistor Level
1970
1980
1990
2000+
10
Instruction Set Architecture (ISA)

ISA (or simply architecture):
-

Advantage:
-

Keeping the architecture as a constant enables
many implementations of varying cost and
performance to run identical software
Disadvantage:
-

one of the most important abstraction
interface between the hardware and the lowest
level software
standardizes instructions and machine
language bit patterns
maintaining the architecture may preclude
introducing innovations that require the
interface to change
Modern instruction set architectures:
-
IA-32, PowerPC, MIPS, SPARC, ARM, …
11
The chip manufacturing process
12
Internal structure of a processor chip
Pentium 4 microphotograph
13
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
14
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)
15