31
COMPUTER ARCHITECTURE Introduction & Historical Generations

Introduction to advanced computer Architecture

Embed Size (px)

DESCRIPTION

this dates computer history

Citation preview

Page 1: Introduction to advanced computer Architecture

COMPUTER ARCHITECTURE

Introduction & Historical Generations

Page 2: Introduction to advanced computer Architecture

Computer architecture refers to those attributes of the system that

are visible to a programmer -- those attributes that have a direct

impact on the execution of a program

– Instruction sets

– Data representations

– Techniques for Addressing Memory

– I/O Mechanisms

Page 3: Introduction to advanced computer Architecture

Computer organization – refers to the operational units and their

interconnections that realize the architectural specifications/high

level aspects of a computer’s design

- Memory system

-Bus structure

-Internal CPU design

• Capabilities & performance characteristics of principal

functional units (e.g., Registers, ALU, Shifters, Logic Units, ...)

• Ways in which these components are interconnected

• Information flows between components

• Logic and means by which such information flow is controlled

Page 4: Introduction to advanced computer Architecture

0th Generation

1642-1945 Mechanical

1st Generation

1946-59 vacuum tubes, relays, mercury delay lines

2nd generation

1959-64 discrete transistors and magnetic cores

3rd generation

1964-75 small and medium scale integrated circuits

4th generation

1975- VLSI and Personal Computers

Integration scale: components per chipSmall: 10-100 Medium: 100-1,000

Large: 1000-10,000 Very large: greater than 10,000

Page 5: Introduction to advanced computer Architecture

Concept first proposed by Babbage in the 1800’s after

developing a mechanical “difference” engine for

computing functions. His so-called analytical machine was

also mechanical but had the main parts of a modern

computer; an arithmetic unit and controller (processor),

memory (punched cards) - never completed because of the

mechanical complexity (gears etc)

Page 6: Introduction to advanced computer Architecture

Charles Babbage - Analytical

Engine - Calculate general

formulas under the control of a

looping program stored on

punch cards (1834)

Charles Babbage - Difference

Engine - Evaluated

polynomials to print tables of

logarithms and other functions

through a Newton's method of

differences (1822)

Page 7: Introduction to advanced computer Architecture

COLOSSUS - Top-secret

vacuum tube computer

designed to break the

Lorenz SZ40 intercepted

cyphers. (1943)

Generation 1 (1945-1955) Vacuum Tube

Page 8: Introduction to advanced computer Architecture

ENIAC - Electronic Numerical Integrator and Calculator

J. Presper Eckert and John Mauchly

Moore School of the Unv. Of Pennsylvania

Page 9: Introduction to advanced computer Architecture

ENIAC (cond..)

U- Shaped computer – 80

feet long, 8.5 feet high.

Each of the 20 10-digit

decimal register was 2 feet

long. ENIAC used 18,000

vacuum tubes

Performing 1900

additions/sec

Programmed via switches

and jumper cables (1946)

General purpose machine – small storage, tedious programming

Page 10: Introduction to advanced computer Architecture

Designed by John von

Neumann. It had a storage of

1000 40-bit words that held

data or instructions. From

the programmer's viewpoint,

there was the store (memory),

an accumulator (register), a

program counter, input

device and output device(1952)

IAS Princeton Institute for

Advanced Studies

Page 11: Introduction to advanced computer Architecture

Stored Program Computer

A sequence of selected

instructions created to

do a calculation is

stored in the memory of

the computer and

becomes the stored

program.

Processor - fetches

instructions from

memory in sequence

and performs actions

defined.

Page 12: Introduction to advanced computer Architecture

UNIVAC I (UNIVersal Automatic

Computer I)

First commercial computer

designed by J. Eckert Presper

and John Mauchley. Cost = $1

million (1951)

Page 13: Introduction to advanced computer Architecture

IBM 701 - IBM's first scientific computer (1953)

Page 14: Introduction to advanced computer Architecture

Generation 2 (1955-1965) Transistor

First minicomputer. 4K 18-bit

words and ran at 0.2 MIPS. Ran

the first video game, spacewar. The

first word processing program was

developed. Cost : $20,000 (1960)

DEC PDP-1 - Programmed Data

Processor-1

The first major change in the electronic computer came with the

replacement of the vacuum tube by the transistor. It is smaller,

cheaper and dissipates less heat than a vacuum tube

Page 15: Introduction to advanced computer Architecture

Transistorized version

Scientific computer having 32K of

36-bit words of magnetic core

storage. This computer was 2

times faster than the PDP-1, but

cost 20 times as much. (1959)

IBM 7090

Page 16: Introduction to advanced computer Architecture

Generation 3 (1965-1989) Integrated Circuits

IBM System/360 - 16 32-bit registers using 2's complement

integers, IBM specific floating point hardware, and the EBCDIC

character set. The memory space was limited to 16 MB (24-bit

addresses) (1965)

DEC PDP-11 - Extremely popular computer due to low cost and

good performance. Its 16-bit address space caused it to decline

in popularity as large memories became cheaply available with

the introduction of VSLI technology. (1970)

Early second generation computers – 10000 transistors and more

III Generation - era of microelectronics : the invention of the

integrated circuit

Page 17: Introduction to advanced computer Architecture

Generation 4 (1980-) VLSI and Personal Computers

IBM PC - Based on the Intel 8088

processor (1981)

Apple - The first commercially available

personal computer. Based on 6502

processor and had 4K of memory. (1976)

Page 18: Introduction to advanced computer Architecture

Early-mid 1970’s

Eight-bit microprocessors, that is, processors that can operate upon

and perform arithmetic on 8-bit numbers directly, typified by the

Intel 8080, Motorola MC6800 and Zilog Z-80.

Late 1970’s - Sixteen-bit microprocessors towards end of 1970s,

e.g., Intel 8086 and Motorola MC68000, both introduced in 1978.

Early 1980’s - Thirty-two bit processors appeared in 1980s (e.g.,

Intel 386, Motorola MC68020, and MC68030). Intel 486 and

Motorola MC68040 continued trend of adding facilities within chip

Microprocessor Development – Density of elements on processor

chips has continued to rise

A complete processor fabricated with integrated circuit technology

1970’s - First microprocessors appeared using MOS integrated

circuit technology (4004). Intel family starts.

Page 19: Introduction to advanced computer Architecture

4004 8086 Pentium

Pro

Pentium

II

Pentium

III

Pentium

IV

Year 1971 1978 1995 1997 1999 2000

Clock Speed

108 KHz 5, 8, 10 MHz

150MHz-200 MHz

200MHz-300 MHz

450MHz-660 MHz

1.3-1.8 GHz

Bus Width 4 bits 16 bits 64 bits 64 bits 64 bits 64 bits

No of Transistors

2300 29000 5.5 million 5.5 million 5.5 million 5.5 million

Addressable Memory

640 bytes

1 MB 64 GB 64 GB 64 GB 64 GB

Virtual Memory

- - 64 terabytes

64 terabytes

64 terabytes

64 terabytes

Queue-prefetch

Process Video, audio..

FP Inst-3D

Graphics

FP Inst -Multimedi

a

Page 20: Introduction to advanced computer Architecture
Page 21: Introduction to advanced computer Architecture

1980’s - Dominated by increasing integrated circuit performance

Moore's "Law" - In 1965, Gordon Moore, co-founder of Intel, noted

that the number of transistors that can be placed in one square inch of

integrated circuitry had doubled every year.

Page 22: Introduction to advanced computer Architecture
Page 23: Introduction to advanced computer Architecture

Summary of Generations

Page 24: Introduction to advanced computer Architecture

Key Points

The evolution of computer has been characterized by • Increasing Processor Speed

• Decreasing Computer Size

• Increasing Memory Size

• Increasing I/O capacity and speed

Processor Speed• Due to the shrinking size of microprocessor components

• True gain: Increasing parallelism and pipelining

Page 25: Introduction to advanced computer Architecture
Page 26: Introduction to advanced computer Architecture

Pipelined design - a basic technique present in earlier large

computers as a way of processing instructions in a series..

With increased numbers of transistors on chip, can:

Superscalar processors - more than one instruction can be

executed in each cycle. Superscalar designs present in earlier large

computers, as a way of increasing computational speed/power.

Superscalar Introduced with Intel Pentium and Pentium Pro (early

1990’s). Complicated design as needs to handle complex

dependencies between instructions.

New approach to increase the performance

Multi-core processors - fabricating multiple processors on one

chip, example Intel Core-2 Duo dual-core processors

Design Approaches : Parallel execution within the processor

Page 27: Introduction to advanced computer Architecture

Key Points

Critical Issues

• Balancing the performance of the various elements is essential

• Ex : Processor Speed has increased very rapidly than memory access time

• Available Techniques for mismatch – Reduce the no of memory

accesses through caches (on and off-chip caches), wider data paths,

optimized schedule of instructions, branch prediction etc

Page 28: Introduction to advanced computer Architecture

Measuring Performance

Representative descriptive tools are available for each design level

– We still have the problem of assessing one or more differing

architectures in a dynamic sense

-- how well (fast) will the machine work?

– Are there any common ways of gauging a system's value in terms of

its cost and its performance

– Observation: An increase in a machine's performance is viewed in

one of two ways:

» Reduced response time to an individual job

» Increase in overall throughput

Which of the following increases throughput, reduces response time,

or both?

» Faster clock cycle time

» Multiple processors for separate tasks

» Parallel processing of scientific problems

Page 29: Introduction to advanced computer Architecture

Task of a Computer Designer

Determine what attributes are important for a new machine, then

design a machine to maximize performance while staying within cost

constraints?

The task has many aspects :

• Instruction set design

• Functional organization

• Logic design

• IC design

• Packing, power and cooling

• Optimization requires – from Compilers to OS to logic design and

packing

Page 30: Introduction to advanced computer Architecture

Defining Performance

Airplane Capacity Range Speed Passenger Throughput

A 375 4500 600 228,750

B 400 4200 600 286,700

C 120 4000 1000 178,200

D 150 8000 500 79.424

Which of the planes has the best performance?

What do we mean? Need to define performance

By considering different measures of performance

Highest Speed – “C”

Longest range – “D”

Largest Capacity – “”B”

Page 31: Introduction to advanced computer Architecture

The Role of Performance

Hardware performance is a key to the effectiveness of the entire system

Performance has to be measured and compared to evaluate various design and technological approaches

To optimize the performance, major affecting factors have to

be known

For different types of applications, different performance metrics may be appropriate and different aspects of a computer system may be most significant

Instructions use and implementation, memory hierarchy and I/O handling are among the factors that affect the performance