Computer Abstractions and Technology
Computer Abstractions and Technology
Computer Abstractions
and Technology
§1.1 Introduction
The Computer Revolution
Progress in computer technology
Underpinned by Moore’s Law
Makes novel applications feasible
Computers in automobiles
Cell phones
Human genome project
World Wide Web
Search Engines
Computers are pervasive
Server computers
Network based
High capacity, performance, reliability
Range from small servers to building sized
Highest capability
Terabyte / Petabyte
Embedded computers
dedicated function
Hidden as components of systems
Stringent power/performance/cost constraints
instruction set
hardware
Levels of Program Code
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
Output
device
Network
cable
Input Input
device device
BAC/Sud BAC/Sud
Concorde Concorde
Douglas Douglas DC-
DC-8-50 8-50
0 100 200 300 400 500 0 2000 4000 6000 8000 10000
BAC/Sud BAC/Sud
Concorde Concorde
Douglas Douglas DC-
DC-8-50 8-50
Clock (cycles)
Data transfer
and computation
Update state
Relative frequency
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 Sequence 2: IC = 6
Clock Cycles Clock Cycles
= 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3
= 10 =9
Avg. CPI = 10/5 = 2.0 Avg. CPI = 9/6 = 1.5
Performance depends on
Algorithm: affects IC, possibly CPI
Programming language: affects IC, CPI
Compiler: affects IC, CPI
Instruction set architecture: affects IC, CPI, Tc
In CMOS IC technology
Power Capacitive load Voltage 2 Frequency
×30 5V → 1V ×1000
n
n
Execution time ratio
i1
i
10 10
Overall ssj_ops per Watt ssj_opsi poweri
i 0 i0
Instruction count
MIPS
Execution time 10 6
Instruction count Clock rate
Instruction count CPI CPI 10 6
10 6
Clock rate
CPI varies between programs on a given CPU
Chapter 1 — Computer Abstractions and Technology — 47
§1.9 Concluding Remarks
Concluding Remarks
Cost/performance is improving
Due to underlying technology development
Hierarchical layers of abstraction
In both hardware and software
Instruction set architecture
The hardware/software interface
Execution time: the best performance
measure
Power is a limiting factor
Use parallelism to improve performance
Chapter 1 — Computer Abstractions and Technology — 48