William Stallings Computer Organization and Architecture
Chapter 2Computer Evolution and Performance
2.1 A BRIEF HISTORY OF COMPUTER
The First Generation: Vacuum Tubes ENIAC - background
Electronic Numerical Integrator And ComputerDesigned and constructed Under the
supervision of Eckert and Mauchly at University of Pennsylvania
Trajectory tables for weapons Started 1943Finished 1946
Too late for war effort
Used until 1955
ENIAC - details
Decimal (not binary)20 accumulators of 10 digits
Its memory consisted of 20 “accumulators”, each capable of holding a 10-digit decimal number. Each digit was represented by a ring of 10 vacuum tubes.
Programmed manually by switches18,000 vacuum tubes30 tons15,000 square feet140 kW power consumption5,000 additions per second
The von Neumann/TuringStored Program conceptMain memory storing programs and dataALU operating on binary dataControl unit interpreting instructions from memory and executingInput and output equipment operated by control unitPrinceton Institute for Advanced Studies
the the IASIAS computer computer Completed 1952 The IAS computer is the prototype of all subsequent general-purpose computer.
IAS - details 1000 x 40 bit words
Binary number 2 x 20 bit instructions
Each words can contain two instructions (p21 Figure 2.2)8-bit operation code specifying the operation to be performed and a 12-bit address designating one of
the words in memory
Set of registers (storage in CPU) Memory Buffer Register (MBR) Memory Address Register (MAR) Instruction Register (IR) Instruction Buffer Register (IBR): Employed to hold temporarily the right-hand instruction from a word in
memory. Program Counter (PC) Accumulator (AC) Multiplier Quotient (MQ)
The IAS computer had a total of 21 instructions (p24 Table 2.1).
Sign BitSign Bit
Figure2.2 IAS Memory FormatFigure2.2 IAS Memory Format
(b) Instruction Word(b) Instruction Word
Commercial Computers
1947 - Eckert-Mauchly Computer Corporation
UNIVAC I (Universal Automatic Computer)US Bureau of Census 1950 calculationsBecame part of Sperry-Rand CorporationLate 1950s - UNIVAC II
Faster More memory
IBM
Punched-card processing equipment1953 - the 701
IBM’s first electronic stored-program computer Scientific calculations
1955 - the 702 Business applications
Lead to 700/7000 series
The Second Generation: Transistors
Replaced vacuum tubesSmallerCheaperLess heat dissipationSolid State deviceMade from Silicon (Sand)Invented 1947 at Bell LabsWilliam Shockley et al.
Transistor Based Computers
Second generation machinesNCR & RCA produced small transistor
machinesIBM 7000DEC (Digital Equipment Corporation)-
1957 Produced PDP-1
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
MicroelectronicsLiterally - “small electronics”A computer is made up of gates, memory cells
and interconnections. A gate is a device that implements a simple
Boolean or logical function. Gates are responsible for controlling data flow.
The memory cell is a device that can be in one of two stable states, can store one bit of data.
These can be manufactured on a semiconductore.g. silicon wafer Figure 2.7 Relationship between Wafer, Chip and Gate
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
IBM 360 series1964Replaced (& not compatible with) 7000 seriesFirst planned “family” of computersThe characteristics of a family
Similar or identical instruction sets Similar or identical OS Increasing speed Increasing number of I/O ports (i.e. more terminals) Increased memory size Increased cost
Multiplexed switch structure
DEC PDP-8
1964 First minicomputer Did not need air conditioned room Small enough to sit on a lab bench $16,000 (cheaper)
$100k+ for IBM 360
Embedded applications & OEMs The PDP-8“established the concept of
minicomputers, leading the way to a multibillion dollar industry.”
BUS STRUCTURE
DEC - PDP-8 Bus Structure
OMNIBUS
ConsoleController
CPU Main Memory I/OModule
I/OModule
Figure 2.9 PDP-8 Bus Structure
The PDP-8 bus , called the omnibusomnibus, consists of 96 separate signal paths, used to carry control, address, and data signals.
Semiconductor Memory
In 1970, Fairchild produced the first relatively capacious semiconductor memory.
Size of a single core i.e. 1 bit of magnetic core storage
Holds 256 bitsNon-destructive readMuch faster than coreCapacity approximately doubles each year
Semiconductor Memory
Since 1970, semiconductor memory has Since 1970, semiconductor memory has been through 10 generations: 1K, 4K, 16K, been through 10 generations: 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, and as of 64K, 256K, 1M, 4M, 16M, 64M, and as of this writing, 256M bits on a single this writing, 256M bits on a single chip(1K=2chip(1K=21010, 1M=2, 1M=22020).).
Each generation has provided Each generation has provided four timesfour times the storage density of the previous the storage density of the previous generation, accompanied by declining generation, accompanied by declining cost per bit and declining access time.cost per bit and declining access time.
Microprocessors Intel 1971- 4004
First microprocessor All CPU components on a single chip The 4004 can add two 4-bit numbers and can multiply only by
repeated addition.
Followed in 1972 by 8008 8-bit microprocessor The 4004 and the 8008 both designed for specific applications
1974 - 8080 Intel’s first general purpose microprocessor
2.2 DESIGNING FOR PERFORMANCEMicroprocessor Speed
PipeliningOn board cacheOn board L1 & L2 cacheBranch prediction
predicts which branches, or groups of instructions, are likely to be processed next…
Prefetch the correct instruction and buffer them so that the processor is kept busy.
Increase the amount of work available for the processor to execute.
Microprocessor SpeedData flow analysis
Analyze the dependent relationship among the instructs.
Create an optimized schedule of instruction independent of the original program order
To prevent unnecessary delay.Speculative execution( 推测执行 )
Using branch prediction and data flow analysis Execute instructions ahead of their actual
appearance To keep processor busy
Performance Mismatch
Processor speed increasedMemory capacity increased Memory speed lags behind processor Memory speed lags behind processor
speedspeed
Trends in DRAM use Solid black lines for a fixed-size memory
The shaded bands for a particular type of system
Solutions
Increase number of bits retrieved at one time Make DRAM “wider” rather than “deeper” and by
using wide bus data paths
Change DRAM interface a cache or other buffering scheme on the DRAM chip
Reduce frequency of memory access More complex cache and cache on chip
Increase interconnection bandwidth High speed buses Hierarchy of buses
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
80386 32 bit 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
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