Title: Computer Fundamentals
1 2Key Points
The evolution of computers has been characterized
by increasing processor speed, decreasing
component size, increasing memory size and
increasing I/O capacity and speed. One factor
responsible for great increase in processor is
the shrinking size of microprocessor components
this reduces the distance between components and
increase speed. A critical issue in computer
system design is balancing the performance of
various elements, so that gains in performance in
one area are not handicapped by a lag in other
areas.
3A Brief History of Computers
The First Generation Vacuum Tubes
4A Brief History of Computers
- The First Generation Vacuum Tubes
- ENIAC (Electronic Numerical Integrator And
Computer) - worlds first general-purpose
electronic digital computer. - Started in 1943 and completed in 1946.
- Designed by John Mauchly and John Presper Eckert
at the University of Pennsylvanian. - Designed to create ballistics tables for World
War II but too late to be used in the war effort. - Used to help determine the feasibility of the
hydrogen bomb. - Used until 1955.
5A Brief History of Computers ENIAC
ENIAC was a decimal rather than a binary machine.
Numbers were represented in decimal form and
arithmetic was performed in the decimal
system. Its memory consisted of 20 accumulators,
each capable of holding a 10-digit decimal
number. The major drawback of the ENIAC was that
it had to be programmed manually by setting
switches and plugging and unplugging cables.
6A Brief History of Computers ENIAC
- ENIAC was an enormous machine with
- weighing 30 tons
- occupying 1500 square feet of floor space
- containing more than 18,000 vacuum tubes.
- When operating, it consumed 140 kilowatts of
power. - It was being capable of 5000 additions per second.
7ENIAC
8A Brief History of Computers
- The von Neumann Machine
- 1945 Stored-program concept first implemented
for EDVAC (Electronic Discrete Variable
Computer). Key concepts - Data and instructions are stored in a single
read-write memory. - The contents of this memory are addressable by
location, without regard to the type of data
contained there. - Execution occurs in a sequential fashion (unless
explicitly modified) from one instruction to the
next.
9A Brief History of Computers EDVAC
10A Brief History of Computers von Neumann Machine
In 1946 at Princeton Institute for Advanced
Studies (IAS), von Neumann designed a
stored-program computer, referred to as IAS
computer, as a prototype for all subsequent
general purpose computers. With rare
exceptions, all of todays computers have this
same general structure, and are thus referred to
as von Neumann machines.
11A Brief History of Computers von Neumann Machine
12A Brief History of Computers von Neumann Machine
- General structure of IAS computer consists of the
following - A main memory, which stores both data and
instructions. - An arithmetic and logic unit (ALU) capable of
operating on binary data. - A control unit, which interprets the
instructions in memory and causes them to be
executed. - Input and output (I/O) equipment operated by the
control unit.
13A Brief History of Computers von Neumann Machine
14A Brief History of Computers von Neumann Machine
The memory of IAS consists of 1000 storage
locations, called words, of 40 binary digits
(bits) each where data and instructions are
stored. Numbers and instructions must be in
binary form. Each number is represented by a
sign bit and a 39-bit value.
15A Brief History of Computers von Neumann Machine
- A word may also contain two 20-bit instructions,
with each instruction consisting of - an 8-bit operation code (opcode) specifying the
operation to be performed - a 12-bit address designating one of the words in
memory (numbered from 0 to 999).
16von Neumann Machine
The control unit operates IAS by fetching
instructions from memory and executing them one
at a time. This figure reveals that both control
unit and ALU contain storage locations called
registers.
17A Brief History of Computers von Neumann Machine
- Registers are defined as
- Memory buffer register (MBR). Contains a word to
be stored in memory or is used to receive a word
form memory. - Memory address register (MAR). Specifies address
in memory of the word to be written from or read
into MBR. - Instruction register (IR). Contains 8-bit opcode
instruction being executed.
18A Brief History of Computers von Neumann Machine
- Instruction buffer register (IBR). Employed to
hold temporarily the right hand instruction from
a word in memory. - Program counter (PC). Contains address of next
instruction-pair to be fetched from memory. - Accumulator (AC) and multiplier quotient (MQ).
Employed to hold temporarily operands and results
of ALU operations. For example, the result of
multiplying two 40-bit numbers is an 80-bit
number the most significant 40 bits are stored
in AC and the least significant in MQ.
19A Brief History of Computers von Neumann Machine
IAS operates by repetitively performing an
instruction cycle which contains of two subcycles
as fetch and execute cycles. During fetch cycle,
opcode of next instruction is loaded into
instruction register (IR) and address portion is
loaded into memory address register (MAR). Once
opcode is in IR, execution cycle is performed
where data is moved or an operation is performed
by arithmetic-logic unit (ALU).
20A Brief History of Computers von Neumann Machine
- IAS computer had a total of 21 instructions.
These instructions can be grouped as follows - Data transfer. Move data between memory and ALU
registers or between two ALU registers. - Unconditional branch. Normally, control unit
executes instructions in sequence from memory.
This sequence can be changed by a branch
instruction. This facilitates repetitive
operations. - Conditional branch. Branch can be made dependent
on a condition, thus allowing decision points. - Arithmetic. Operations performed by ALU.
- Address modify. Permits addresses to be computed
in ALU and then inserted into instructions stored
in memory.
21IAS Instruction Set
22A Brief History of Computers
- First Commercial computers
- In 1950, UNIVAC I (Universal Automatic Computer)
which was commissioned by Bureau of Census for
1950 calculations. - In the late 1950s, UNIVAC II was delivered.
- Had greater memory capacity and higher
performance. - Had same basic architecture as UNIVAC I.
- Was first example of upward compatibility.
- Series of IBM 700/7000 computers
- In 1953, IBM 701 was designed for scientific
calculations. - In 1955, IBM 702 was designed for business
applications.
23A Brief History of Computers UNIVAC I
24A Brief History of Computers UNIVAC II
25A Brief History of Computers IBM 701
26A Brief History of Computers IBM 702
27A Brief History of Computers
- Second Generation Transistors
28A Brief History of Computers
- Second Generation Transistors
- In 1947, Transistors were developed at Bell
Labs. - Introduction of more complex ALU and control
units. - Use of high-level programming languages.
- Provision of system software with computers.
- Use of data channel which has an independent I/O
module with its own processor and instruction
set. - Use of multiplexor which is central termination
point for data channels, CPU, and memory.
Pioneer to idea of data bus.
29A Brief History of Computers
Third Generation Integrated Circuits
30A Brief History of Computers
Third Generation Integrated Circuits Throughout
1950s and early 1960, electronic equipment was
composed largely of discrete components -
transistors, resistors, capacitors and so on. In
1958 came the achievement that revolutionized
electronics and started the age of
microelectronics the invention of integrated
circuits. It is the integrated circuit that
defines third generation of computers.
31Microelectronics
- Microelectronics means literally small
electronics. - The basic elements of a digital computer must
perform storage, movement, processing and control
functions. - Only two fundamental types of components are
required - Gates
- Memory cells
32Microelectronics
A gate is a device that implements a simple
Boolean or logical function, such as IF A AND B
ARE TRUE THEN C IS TRUE (AND gate). A gate
controls data flow.
33Microelectronics
The memory cell is a device that can store one
bit of data that is, the device can be in one of
two stables states at any time.
34Microelectronics
- By interconnecting large numbers of these
fundamental devices, we can construct a computer. - We can relate this to our four basic functions as
follows - Data storage. Provided by memory cells.
- Data processing. Provided by gates
- Data movement. Paths between components are used
to move data from memory to memory and from
memory through gates to memory. - Control. Paths between components can carry
control signals.
35Microelectronics
Thus a computer consists of gates, memory cells
and interconnections among these elements. The
integrated circuit exploits the fact that such
components as transistors, resistors and
conductors can be fabricated from a semiconductor
such as silicon. Many transistors can be
produced at the same time on a single wafer of
silicon.
36Microelectronics
A thin wafer of silicon is divided into a matrix
of small areas. The identical circuit pattern is
fabricated in each area and wafer is broken up
into chips. Each chip consists of many gates
and/or memory cell plus a number of inputs and
output attachment points. This chip is packaged
in housing that protects it and provides pins for
attachment to devices beyond chip.
37Microelectronics
Initially, only a few gates or memory cells could
be reliably manufactured and packaged
together. These early integrated circuits are
referred to as small-scale integration (SSI). As
time went on, it became possible to pack more and
more components on the same chip.
38Moores Law
- Gordon Moore, cofounder of Intel, propounded
Moores law in 1965. - According to Moores law number of transistors on
a chip will double every year. - Since 1970s development has slowed a little.
Number of transistors doubles every 18 months. - The consequences of Moore law are philosophical
- Cost of a chip has remained almost unchanged.
- Higher packing density means shorter electrical
paths, giving higher performance. - Smaller size gives increased flexibility.
- Reduction in power and cooling requirements.
- Fewer interconnections increases reliability.
39Growth in CPU Transistor Count
40IBM System/360
In 1964, IBM replaced 7000 series with the
System/360 family. 360 product line was
incompatible with older IBM machines. System/360
was the industrys first planned family of
computers. The models were compatible in the
sense that a program written for one model should
be capable of being executed by another model in
the series.
41IBM System/360
- The characteristics of a family are as follows
- Similar or identical instruction sets. A program
that executes on one machine will also execute on
any other. - Similar or identical operating system.
- Increasing speed.
- Increasing number of I/O ports. (i.e. more
terminals). - Increased memory size.
- Increased cost.
42IBM 360 Family
43DEC PDP-8
- In 1964, Digital Equipment Corporation (DEC)
produced PDP-8. - PDP-8
- was the first minicomputer.
- was small enough to sit on a lab bench.
- did not need air conditioned room.
- used bus structure that is now virtually
universal for minicomputers and microcomputers.
44DEC PDP-8
- PDP-8 bus
- is called Omnibus
- consists of 96 separate signal paths, used to
carry - control
- address
- data signals
I/O Module
Main Memory
I/O Module
Console Controller
CPU
OMNIBUS
45DEC PDP-8
46Generations of Computer
- Generation 1 Vacuum tube - 1946-1957
- Generation 2 Transistor - 1958-1964
- Generation 3 Small scale integration - 1965 on
- Up to 100 devices on a chip
- Generation 3 Medium scale integration - to 1971
- 100-3,000 devices on a chip
- Generation 4 Large scale integration -
1972-1977 - 3,000 - 100,000 devices on a chip
- Generation 5 Very large scale integration -
1978 to date - 100,000 - 100,000,000 devices on a chip
- Generation 5 Ultra large scale integration
- Over 100,000,000 devices on a chip
47Generations of Computer
48Semiconductor Memory
- Integrated circuit technology was also used to
construct memories. - Initially, magnetic-core memory was used as
computer memory. - Magnetic-core memory was
- fast
- expensive
- bulky
- used destructive readout (act of reading a core
erase data stored). -
- In 1970, Fairchild produced semiconductor memory.
- This chip
- was about the size of a single core
- could hold 256 bits of memory
- was nondestructive
- much faster than core
49Microprocessors 4004
In 1971, Intel developed its 4004 which was the
first chip to contain all of the components of a
CPU on a single chip microprocessor. 4004 can
add two 4-bit numbers.
50Microprocessors 8008
In 1972, Intel developed 8008 which was the first
8-bit microprocessor.
51Microprocessors 8080
4004 and 8008 had been designed for specific
applications. In 1974, Intel developed 8080
which was the first general-purpose
microprocessor. 8080 was an 8-bit microprocessor.
52Microprocessors 8086
At the end of 1970s, general-purpose 16-bit
microprocessors appeared. One of these was 8086.
53Microprocessors
In 1981, Bell Labs and Hewlett-Packard developed
32-bit single-chip microprocessors. In 1985,
Intel introduced its own 32-bit microprocessor,
80386.
54Evolution of Intel Microprocessors
55Evolution of Intel Microprocessors
56Microprocessor Speed
In microprocessors, the addition of new circuits
and the speed boost that comes from reducing the
distance between them has improved performance
four- or fivefold every three years or so since
Intel launched its x86 family in 1978. But the
raw speed of microprocessor will not achieve its
potential unless it is fed a constant stream of
work to do in the form of computer instructions.
57Microprocessor Speed
- Some techniques to have more elaborate ways of
feeding instructions quickly enough are as
follows - Branch prediction. Branch prediction increases
the amount of work available for the processor to
execute. - Data flow analysis. This prevents unnecessary
delay. - Speculative execution. This enables the
processor to keep its execution engines as busy
as possible by executing instructions that are
likely to be needed.
58Performance Mismatch
While processor power has raced ahead at
breakneck speed, other critical components of
computer have not kept up. Processor speed and
memory capacity (density) have grown
rapidly. The speed with which data can be
transferred between main memory and processor has
lagged badly.
59Performance Mismatch
60Solutions
- There are a number of ways that a system
architect can attack this problem. Examples
include - Increase number of bits retrieved at one time by
making DRAM wider by using wide bus data paths. - Change DRAM interface to make it more efficient
by including a cache. - Reduce frequency of memory access by using more
complex cache and cache on chip. - Increase interconnection bandwidth between
processors and memory by using higher speed buses
and hierarchy of buses to buffer and structure
data flow.
61Design for performance
- I/O devices also become increasingly demanding.
- These devices create great data throughput
demands. - While processors can handle data pumped out by
these devices, there remains the problem of
getting that data moved between processor and
peripheral. - Some solutions
- Caching and buffering schemes.
- Use of higher-speed interconnection buses and
more elaborate structuring of buses. - Use of multiple-processor configurations.
62Design for performance
- Key is balance. Because of constant and unequal
changes in - processor components
- main memory
- I/O devices
- interconnection structures
- designers must constantly attempt to balance
their throughput and processing demands.
63Pentium Evolution
- In terms of market share, Intel has ranked as the
number one maker of microprocessors for decades. - The evolution of its flagship microprocessor
product serves as a good indicator of the
evolution of computer technology in general. - It is worthwhile to list some of the evolution of
the Intel product line - 8080
- First general purpose microprocessor.
- An 8-bit machine with an 8-bit data path to
memory. - Used in the first personal computer Altair.
64Pentium Evolution
- 8086
- Much more powerful.
- 16-bit machine.
- Instruction cache, prefetch few instructions
before they are executed. - A variant of this processor, 8088 (8 bit
external bus) used in the first IBM PC. - 80286
- 16 MByte memory addressable instead of 1MByte.
- 80386
- Intels first 32-bit machine.
- Support for multitasking, meaning it could run
multiple programs at the same time.
65Pentium Evolution
- 80486
- Sophisticated powerful cache and instruction
pipelining (a processor organization in which
processor consists of a number of stages,
allowing multiple instructions to be executed
concurrently). - Offers a built in maths co-processor, offloading
complex math operations from main CPU. - Pentium
- Introduce the use of superscalar techniques
which allows multiple instructions executed in
parallel. - Pentium Pro
- Increased superscalar organization.
- Aggressive register renaming, branch prediction,
data flow analysis and speculative execution.
66Pentium Evolution
- Pentium II
- Incorporated MMX technology which is designed
specifically to process graphics, video audio
processing. - Pentium III
- Incorporates additional floating point
instructions for 3D graphics. - Pentium 4
- Includes further floating point and multimedia
enhancements. - Itanium
- Makes use of 64-bit organization.
67Intel 80286
68Intel 80386
69Intel 80486
70Pentium
71More Pentium
III
Pro
IV
72Itanium
73PowerPC
- IBM produced the PowerPC architecture.
- The following are the principal members of the
PowerPC family - 601
- Purpose is to bring PowerPC architecture to
market as quickly as possible. - A 32-bit machine.
- 603
- A 32-bit machine.
- Comparable in performance with 601 but with
lower cost and a more efficient implementation. - 604
- A 32-bit machine.
- Uses much more advanced superscalar design
techniques to achieve greater performance.
74PowerPC
- 620
- Intended for high-end servers.
- Implemented with a full 64-bit architecture,
including 64-bit registers and data paths. - 740/750
- Known as G3 processor.
- Integrates two levels of cache in main processor
chip, providing significant performance. - G4
- Increases parallelism and internal speed of the
processor chip.
75PowerPC
603
604
601
640
G4
620
650