William Stallings
Computer Organization
and Architecture
Chapter 2
Computer Evolution and
Performance
ENIAC - background
• Electronic Numerical Integrator And Computer
• Eckert and Mauchly
• University of Pennsylvania
• Trajectory tables for weapons
• Started 1943
• Finished 1946
—Too late for war effort
• Used until 1955
1
ENIAC - details
• Decimal (not binary)
• 20 accumulators of 10 digits
• Programmed manually by switches
• 18,000 vacuum tubes
• 30 tons
• 15,000 square feet
• 140 kW power consumption
• 5,000 additions per second
von Neumann/Turing
• Stored Program concept
• 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
• Princeton Institute for Advanced Studies
—IAS
• Completed 1952
• Used the term “organ” to describe devices
2
Structure of von Neumann machine
IAS - details
• 1000 x 40 bit words
—Binary number
—2 x 20 bit instructions
3
IAS - details
• Set of registers (storage in CPU)
—Memory Buffer Register (MBR)
—Memory Address Register (MAR)
—Instruction Register (IR)
—Instruction Buffer Register (IBR)
—Program Counter (PC)
—Accumulator (AC)
—Multiplier Quotient (MQ)
Structure of IAS –
detail
Also see Figure 2.4 that
illustrates Fetch cycle
and Execution cycle,
which taken together is
the Instruction cycle.
4
IAS
Instruction Set
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
5
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
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.
6
Transistor Based Computers
• Second generation machines
• NCR & RCA produced small transistor machines
• IBM 7000
• DEC - 1957
—Produced PDP-1
Microelectronics
• Literally - “small electronics”
• A computer is made up of gates, memory cells
and interconnections
• These can be manufactured on a semiconductor
• e.g. silicon wafer
7
Generations of Computer
• Vacuum tube - 1946-1957
• Transistor - 1958-1964
• Small scale integration - 1965 on
—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 to date
—100,000 - 100,000,000 devices on a chip
• Ultra large scale integration
—Over 100,000,000 devices on a chip
Moore’s Law
• Increased density of components on chip
• Gordon Moore - cofounder of Intel
• Number of transistors on a chip will double every year
• Since 1970’s development has slowed a little
— Number of transistors doubles every 18 months
• Cost of a chip has remained almost unchanged
• Higher packing density means shorter electrical paths,
giving higher performance
• Smaller size gives increased flexibility
• Reduced power and cooling requirements
• Fewer interconnections increases reliability
8
Growth in CPU Transistor Count
IBM 360 series
• 1964
• Replaced (& not compatible with) 7000 series
• First planned “family” of computers (See Table
2.4)
—Similar or identical instruction sets
—Similar or identical O/S
—Increasing speed
—Increasing number of I/O ports (i.e. more terminals)
—Increased memory size
—Increased cost
• Multiplexed switch structure
9
DEC PDP-8
• 1964
• First minicomputer (after miniskirt!)
• Did not need air conditioned room
• Small enough to sit on a lab bench
• $16,000
—$100k+ for IBM 360
• Embedded applications & OEM
• BUS STRUCTURE
—The PDP-8 bus, called the Omnibus
—consists of 96 separate signal paths,
—used to carry control, address, and data signals
10
DEC - PDP-8 Bus Structure
Main Memory I/O I/O
Console CPU Module Module
Controller
OMNIBUS
11
Semiconductor Memory
• 1970
• Fairchild
• Size of a single core
—i.e. 1 bit of magnetic core storage
• Holds 256 bits
• Non-destructive read
• Much faster than core
—took only 70 billionths of a second to read a bit
• Capacity approximately doubles each year
—Since 1970, semiconductor memory has been
through 13 generations: 1K, 4K, 16K, 64K, 256K, 1M,
4M, 16M, 64M, 256M, 1G, 4G,
—as of this writing, 16 Gbits on a single chip
Intel
• 1971 - 4004
—First microprocessor
—All CPU components on a single chip
—4 bit
• Followed in 1972 by 8008
—8 bit
—Both designed for specific applications
• 1974 - 8080
—Intel’s first general purpose microprocessor
12
13
Speeding it up
• while the chipmakers have been busy learning
how to fabricate chips of greater and greater
density
• the processor designers must come up with
other techniques for speeding up the processor:
—Pipelining
—Data flow analysis
—On board cache
—On board L1 & L2 cache
—Branch prediction
—Speculative execution
Branch prediction:
• The processor looks ahead in the instruction
code fetched from memory and predicts which
branches, or groups of instructions, are likely to
be processed next.
• branch prediction increases the amount of work
available for the processor
Data flow analysis:
• The processor analyzes which instructions are
dependent on each other’s results, or data, to
create an optimized schedule of instructions.
14
Speculative execution:
• Using branch prediction and data flow analysis,
some processors speculatively execute
instructions ahead of their actual appearance in
the program execution
Performance Mismatch
• Processor speed increased
• Memory capacity increased
• Memory speed lags behind processor speed
15
DRAM and Processor Characteristics
Solutions
• Increase number of bits retrieved at one time
—Make DRAM “wider” rather than “deeper”
• Change DRAM interface
—Cache
• Reduce frequency of memory access
—More complex cache and cache on chip
• Increase interconnection bandwidth
—High speed buses
—Hierarchy of buses
16
Improvements in Chip Organization and
Architecture
• As designers wrestle with the challenge of
balancing processor performance with memory
• the need to increase processor speed remains
• 3 approaches to achieving increased processor
speed:
1. Increase the hardware speed of the processor.
— shrinking the size of the logic gates, increase in
clock rate
2. Increase the size and speed of caches
3. Make changes to the processor organization
and architecture
— parallelism
17
Pentium Evolution (1)
• 8080
— first general purpose microprocessor
— 8 bit data path
— Used in first personal computer – Altair
• 8086
— much more powerful
— 16 bit
— instruction cache, prefetch few instructions
— 8088 (8 bit external bus) used in first IBM PC
• 80286
— 16 Mbyte memory addressable
— up from 1Mb
• 80386
— Intel’s first 32-bit machine
— Support for multitasking
Pentium Evolution (2)
• 80486
—sophisticated powerful cache and instruction
pipelining
—built in maths co-processor
• Pentium
—Superscalar
—Multiple instructions executed in parallel
• Pentium Pro
—Increased superscalar organization
—Aggressive register renaming
—branch prediction
—data flow analysis
—speculative execution
18
Pentium Evolution (3)
• Pentium II
—MMX technology
—graphics, video & audio processing
• Pentium III
—Additional floating point instructions for 3D graphics
• Pentium 4
—Note Arabic rather than Roman numerals
—Further floating point and multimedia enhancements
• Itanium
—64 bit
—see chapter 15
• See Intel web pages for detailed information on
processors
Core:
• This is the first Intel x86 microprocessor with a
dual core, referring to the implementation of
two processors on a single chip.
Core 2:
• The Core 2 extends the architecture to 64 bits.
The Core 2 Quad provides four processors on a
single chip.
19
Internet Resources
• http://www.intel.com/
—Search for the Intel Museum
• http://www.ibm.com
• http://www.dec.com
• Charles Babbage Institute
• PowerPC
• Intel Developer Home
20