CPE 411 / 611
Digital Computer Architecture
and Design
Instructor: Mircea Nicolescu
Lecture 2
Structure and Function
• Describe computers: hierarchical approach
• At each level:
− Set of components and their relationships
− Behavior is based on abstract description of lower level
− Designer only concerned with:
− Structure
− Function
at that level
2
Structure and Function
• Structure
− the way in which components relate to each other
• Function
− the operation of individual components as part of the
structure
• Will examine computer systems in a top down
approach
3
Function
• Computer functions:
− Data processing
− Only a few fundamental types of processing
− Data storage
− Short term
− Long term
− Data movement
− Between itself and outside world
− I/O to peripherals
− Data communication
− Control
− Manages the functions above
4
Functional View
5
Operations
(a) Data movement
6
Operations
(b) Storage
7
Operations
(c) Processing from/to storage
8
Operations
(d) Processing from storage to I/O
9
Operations
• Do these operations look too general?
− General-purpose nature of computers
− Functional specialization occurs at programming time,
not design time
10
Structure – Top Level
Peripherals Computer
Central Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
11
Structure – The CPU
CPU
Computer Arithmetic
Registers and
I/O Logic Unit
System CPU
Bus
Internal CPU
Memory Interconnection
Control
Unit
12
Structure – The Control Unit
Control Unit
CPU
Sequencing
ALU Logic
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders
Control
Memory
(microprogrammed implementation)
13
History of Computers
• Mechanical Era (1600s-1940s)
− Wilhelm Schickhard (1623)
− Astronomer and mathematician
− Automatically add, subtract, multiply, and divide
− Blaise Pascal (1642)
− Mathematician
− Mass produced first working machine (50 copies)
− Could only add and subtract
− Maintenance and labor problems
− Gottfried Liebniz (1673)
− Mathematician and inventor
− Improved on Pascal’s machine
− Add, subtract, multiply, and divide 14
History of Computers
− Charles Babbage (1822)
− Mathematician
− “Father of modern computer”
− Wanted more accuracy in calculations
− Difference engine
− Government / science agreement
− Automatic computation of math tables
− Analytic engine
− Perform any math operation
− Punch cards
− Modern structure: I/O, storage, ALU
− Add in 1 second, multiply in 1 minute
− Both engines plagued by mechanical problems
15
History of Computers
− George Boole (1847)
− Mathematical analysis of logic
− Investigation of laws of thought
− Herman Hollerith (1889)
− Modern day punched card machine
− Formed Tabulating Machine Company (became IBM)
− 1880 census took 5 years to tabulate
− Tabulation estimates
− 1890: 7.5 years
− 1900: 10+ years
− Hollerith’s tabulating machine reduced the 7.5 year estimate to
2 months
16
History of Computers
− Konrad Zuse (1938)
− Built first working mechanical computer (running programs): Z1
− Binary machine
− German government decided not to pursue development –
W.W.II already started
− Howard Aiken (1943)
− Designed the Harvard Mark I
− Implementation of Babbage’s machine
− Built by IBM
17
History of Computers
• Mechanical era summary
− Mechanical computers were designed to reduce the
time required for calculations and increase accuracy of
the results
− Two drawbacks
− Speed of operation limited by the inertia of moving parts (gears
and pulleys)
− Cumbersome, unreliable, and expensive
18
History of Computers
• The Electronic Era
• Generation 1 (1945 - 1958)
− ENIAC
− Electronic Numerical Integrator And Computer
− Developed for calculating artillery firing tables
− Designed by Mauchly and Echert of the University of
Pennsylvania
− Generally regarded as the first electronic computer
− Decimal number system used
− Programmed by manually setting switches
19
History of Computers
− ENIAC – cont.
− Really big!
− 18,000 tubes
− 70,000 resistors
− 10,000 capacitors
− 6,000 switches
− 30 tons
− 15,000 square feet
− 140 kW power consumption
− 5,000 additions per second
20
History of Computers
− IAS (Institute for Advanced Studies)
− von Neumann and Goldstine
− Took idea of ENIAC and developed the concept of storing a
program in the memory
− This architecture came to be known as the “von Neumann
architecture” and has been the basis for virtually every machine
designed since then
− Features
− Data and instructions (programs) are stored in a single read-write
memory
− Memory contents are addressable by location, regardless of the
content itself
− Sequential execution
− Lots of initial and long-term fighting over patents, rights, credits,
firsts, etc.
21
History of Computers
• Generation 2 (1958 - 1964)
− Technological changes
− Transistors
− System software and high level languages
− Floating point arithmetic
• Generation 3 (1964 - 1974)
− Introduction of integrated circuits
− Semiconductor memory
− Microprogramming
− Multiprogramming
22
History of Computers
• Generation 4 (1974 - present)
− Large scale integration / VLSI
− Single board computers
• Generation 5 (? - ?)
− VLSI / ULSI
− Computer communications networks
− Artificial intelligence
− Massively parallel machines
23
History of Computers
• Summary of
generations
24
Von Neumann Machine
• Concept of stored program
− Main memory storing programs and data
• ALU operating on binary data
• Control unit interpreting instructions from memory
and executing
• Input and output equipment operated by control
unit
• IAS (Institute for Advanced Studies) at Princeton
• Completed in 1952
25
IAS
• Set of registers (storage in CPU)
− Memory Buffer Register
− Memory Address Register
− Instruction Register
− Instruction Buffer Register
− Program Counter
− Accumulator
− Multiplier Quotient
28
IAS Structure
29
IAS Instructions
• Total of 21 instructions, grouped in:
− Data transfer
− Unconditional branch
− Conditional branch
− Arithmetic
− Address modify
30
First Commercial Computers
• 1947 - Eckert-Mauchly Computer Corporation
• UNIVAC I (Universal Automatic Computer)
• US Bureau of Census 1950 calculations
• Became part of Sperry-Rand Corporation
• Late 1950s - UNIVAC II
− Faster
− More memory
− Upward/backward compatible
31
IBM
• Punched-card processing equipment
• 1953 - the 701
− IBM’s first stored program computer
− Scientific calculations
• 1955 - the 702
− Business applications
• Lead to 700/7000 series
32
Transistors
• Replaced vacuum tubes
• Smaller
• Cheaper
• Less heat dissipation
• Solid State device
• Made from silicon
• Invented 1947 at Bell Labs
• William Shockley et al.
33
Transistor-Based Computers
• Second generation machines
• NCR & RCA produced small transistor machines
• IBM 7000 series
• DEC - 1957
− Produced PDP-1
34
Integrated Circuits
• So far – discrete components
• Micro electronics
− Computer – made up of gates, memory cells and
interconnections
36
Integrated Circuits
• Idea
− Manufacture entire
circuits (components and
their interconnections)
directly on a
semiconductor
37
Computer Generations
• Vacuum tube: 1946-1957
• Transistor: 1958-1964
• Small scale integration: from 1965
− Up to 100 devices on a chip
• Medium scale integration: to 1971
− 100 - 3,000 devices on a chip
• Large scale integration: 1971-1977
− 3,000 - 100,000 devices on a chip
• Very large scale integration: 1978 -1991
− 100,000 - 100,000,000 devices on a chip
• Ultra large scale integration: 1991 - ?
− Over 100,000,000 devices on a chip
38
Announcements
• Readings
− Chapter 2
39