3
Why study computer organization and
architecture?
– Design better programs, including system software such as compilers, operating systems, and device drivers.
– Optimize program behavior.
– Evaluate (benchmark) computer system performance.
– Understand time, space, and price tradeoffs.
1. Introduction
4
1.1 Overview
• Computer organization
– Encompasses all physical aspects of computer systems. In other word the internal arrangements of a computer, which includes the design of the processor, memory and input/output circuits
– E.g., circuit design, control signals, memory types.
– How does a computer work? how features are implemented
1. Introduction
5
1.1 Overview
• Computer architecture
– those attributes or Logical aspects of system implementation as seen by the programmer. It describes features of a computer family (notably the instructions) and not the specific implementation, just like architecture of a house might be described as Victorian
– E.g., instruction sets, instruction formats, data types, addressing modes.
– How do I design a computer?
– Some do not differentiate between computer organization and computer architecture.
1. Introduction
• All Intel x86 family share the same basic architecture
• The IBM System/370 family share the same basic architecture
• This gives code compatibility
– At least backwards
• Organization differs between different versions
6
1. Introduction
2. Historical Background
• To fully appreciate the computers of today, it is
helpful to understand how things got the way they
are.
• The evolution of computing machinery has taken
place over several centuries.
• In modern times computer evolution is usually
classified into four generations according to the
salient technology of the era.
7
We note that many of the following dates are approximate.
• Generation Zero: Mechanical Calculating Machines
(1642 - 1945)
– Calculating Clock - Wilhelm Schickard (1592 - 1635).
– Pascaline - Blaise Pascal (1623 - 1662).
– Difference Engine - Charles Babbage (1791 - 1871),
also designed but never built the Analytical Engine.
– Punched card tabulating machines - Herman Hollerith
(1860 - 1929).
8
Hollerith cards were commonly used for
computer input well into the 1970s.
2. Historical Background
2. Historical Background
• The First Generation: Vacuum Tube Computers
(1945 - 1953)
– Atanasoff Berry Computer (1937 -
1938) solved systems of linear
equations.
– John Atanasoff and Clifford Berry of
Iowa State University.
9
2. Historical Background
• The First Generation: Vacuum Tube Computers
(1945 - 1953)
– Electronic Numerical Integrator and
Computer (ENIAC)
– John Mauchly and J. Presper Eckert
– University of Pennsylvania, 1946
10
• The ENIAC was the first general-purpose computer.
2. Historical Background
• The First Generation: Vacuum Tube Computers
(1945 - 1953)
– The IBM 650 first mass-produced computer. (1955)
° It was phased out in 1969.
– Other major computer manufacturers of this period
include UNIVAC, Engineering Research Associates
(ERA), and Computer Research Corporation (CRC).
° UNIVAC and ERA were bought by Remington Rand, the
ancestor of the Unisys Corporation.
° CRC was bought by the Underwood (typewriter)
Corporation, which left the computer business.
11
2. Historical Background
• The Second Generation: Transistorized
Computers (1954 - 1965)
– IBM 7094 (scientific) and 1401 (business)
– Digital Equipment Corporation (DEC) PDP-1
– Univac 1100
– Control Data Corporation 1604.
– . . . and many others.
12
These systems had few architectural similarities.
Transistors • Replaced vacuum tubes
• Smaller
• Cheaper
• Less heat dissipation
• Solid State device
• Made from Silicon (Sand)
• Invented 1947 at Bell Labs
• William Shockley et al.
2. Historical Background
2. Historical Background
• The Third Generation: Integrated Circuit
Computers (1965 - 1980) – IBM 360
– DEC PDP-8 and PDP-11
– Cray-1 supercomputer
– . . . and many others.
• By this time, IBM had gained overwhelming
dominance in the industry.
– Computer manufacturers of this era were characterized as
IBM and the BUNCH (Burroughs, Unisys, NCR, Control
Data, and Honeywell).
14
2. Historical Background
• The Fourth Generation: Later Generations
VLSI Computers (1980 - ????)
– large scale integrated circuits (LSI) have 1000
components per chip.
– Very large scale integrated circuits (VLSI) have
more than 10,000 components per chip.
– Ultra very large scale integrated circuits (UVLSI)
have more than 1000,000 components per chip.
– Enabled the creation of microprocessors.
– The first was the 4-bit Intel 4004.
– Later versions, such as the 8080, 8086, and 8088
spawned the idea of “personal computing.”
15
2. Historical Background
• Moore’s Law (1965)
– Gordon Moore, Intel founder
– “The density of transistors in an integrated circuit
will double every year.”
• Contemporary version:
– “The density of silicon chips doubles every 18
months.”
16
2. Historical Background
• Rock’s Law
– Arthur Rock, Intel financier
– “The cost of capital equipment to build
semiconductors will double every four years.”
– In 1968, a new chip plant cost about $12,000.
17
3. Structure & Function
• Structure is the way in which components
relate to each other
• Function is the operation of individual
components as part of the structure
18
3.1. Function
• All computer functions are:
– Data processing
– Data storage
– Data movement
– Control
19
3.2. Structure
• The Computer
– CPU
• Controls the operation of the computer and performs its data processing functions.
– Main memory
• Stores data
– I/O
• Moves data between the computer and its external environment
– System interconnection
• Provides for communication among CPU, main memory, and I/O
3.2. Structure - Top Level
Computer
Main
Memory
Input
Output
Systems
Interconnection
Peripherals
Communication
lines
Central
Processing
Unit
Computer
25
3.2. Structure - The CPU
26
• Control unit: Controls the operation of the CPU and hence
the computer
• Arithmetic and logic unit (ALU): Performs the computer’s
data processing functions
• Registers: Provides storage internal to the CPU
• CPU interconnection: Some mechanism that provides for
communication among the control unit, ALU, and registers
3.2. Structure - The CPU
Computer Arithmetic
and
Logic Unit
Control
Unit
Internal CPU
Interconnection
Registers
CPU
I/O
Memory
System
Bus
CPU
27
3.2. Structure - The Control Unit
CPU
Control
Memory
Control Unit
Registers and
Decoders
Sequencing
Logic
Control
Unit
ALU
Registers
Internal
Bus
Control Unit
28
The interconnection structure must support the following types of transfers:
Memory to
processor
Processor reads an
instruction or a unit of data from memory
Processor to
memory
Processor writes a unit
of data to memory
I/O to processor
Processor reads data
from an I/O device via
an I/O module
Processor to I/O
Processor sends data to the I/O
device
I/O to or from
memory
An I/O module is allowed to exchange
data directly with
memory without going
through the processor
using direct memory access
30 4. Components Interconnection
B
u
s
I
n
t
e
r
c
o
n
n
e
c
t
i
o
n
A communication pathway connecting two or more devices
• Key characteristic is that it is a shared transmission medium
Signals transmitted by any one device are available for reception by all other devices attached to the bus
• If two devices transmit during the same time period their signals will overlap and become garbled
Typically consists of multiple communication lines
• Each line is capable of transmitting signals representing binary 1 and binary 0
Computer systems contain a number of different buses
that provide pathways between components at
various levels of the computer system hierarchy
System bus
• A bus that connects major computer components (processor, memory, I/O)
The most common computer interconnection structures
are based on the use of one or more system buses
31
Data Bus
Data lines that provide a path for moving data among system
modules
May consist of 32, 64, 128, or more separate lines
The number of lines is referred to as the width of the data bus
The number of lines determines how many bits can be
transferred at a time
The width of the data bus
is a key factor in
determining overall
system performance
32
+ Address Bus Control Bus
Used to designate the source or destination of the data on the data bus
If the processor wishes to read a word of data from memory it puts the address of the desired word on the address lines
Width determines the maximum possible memory capacity of the system
Also used to address I/O ports
The higher order bits are used to select a particular module on the bus and the lower order bits select a memory location or I/O port within the module
Used to control the access and the use of the data and address lines
Because the data and address lines are shared by all components there must be a means of controlling their use
Control signals transmit both command and timing information among system modules
Timing signals indicate the validity of data and address information
Command signals specify operations to be performed
33