+ All Categories
Home > Documents > Basic Structure of Computers

Basic Structure of Computers

Date post: 18-Apr-2017
Category:
Upload: tengku-syafieq
View: 225 times
Download: 0 times
Share this document with a friend
84
| COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 1 Chapter 1. Basic Structure of Computers
Transcript

| COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 1

Chapter 1. Basic Structure of

Computers

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 2 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 2

Computer Types

Embedded computers

Personal computers

Servers and Enterprise systems

Supercomputers and Grid computers

| COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 3

Functional Units

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 4 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 4

Functional Units

Figure 1.1. Basic functional units of a computer.

I/O Processor

Output

Memory

Input and Arithmetic

logic

Control

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 5 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 5

Information Handled by a Computer

Instructions/machine instructions Govern the transfer of information within a computer as

well as between the computer and its I/O devices

Specify the arithmetic and logic operations to be performed

Program

Data Used as operands by the instructions

Source program

Encoded in binary code – 0 and 1

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 6 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 6

Memory Unit

Store programs and data

Two classes of storage Primary storage Fast

Programs must be stored in memory while they are being executed

Large number of semiconductor storage cells

Processed in words

Address

RAM and memory access time

Memory hierarchy – cache, main memory

Secondary storage – larger and cheaper

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 7 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 7

Arithmetic and Logic Unit (ALU)

Most computer operations are executed in

ALU of the processor.

Load the operands into memory – bring them

to the processor – perform operation in ALU

– store the result back to memory or retain in

the processor.

Registers

Fast control of ALU

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 8 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 8

Control Unit

All computer operations are controlled by the control unit.

The timing signals that govern the I/O transfers are also generated by the control unit.

Control unit is usually distributed throughout the machine instead of standing alone.

Operations of a computer: Accept information in the form of programs and data through an

input unit and store it in the memory

Fetch the information stored in the memory, under program control, into an ALU, where the information is processed

Output the processed information through an output unit

Control all activities inside the machine through a control unit

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 9 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 9

The processor : Data Path and Control

PC

Register

Bank

Data Memory

Address

Instructions Address

Data

Instruction

Memory

A

L

U

Data

Register #

Register #

Register #

Two types of functional units:

elements that operate on data values (combinational)

elements that contain state (state elements)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 10 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 10

Five Execution Steps Step name Action for R-type

instructions

Action for Memory-

reference Instructions

Action for

branches

Action for

jumps

Instruction fetch IR = MEM[PC]

PC = PC + 4

Instruction decode/ register

fetch

A = Reg[IR[25-21]]

B = Reg[IR[20-16]]

ALUOut = PC + (sign extend (IR[15-0])<<2)

Execution, address

computation, branch/jump

completion

ALUOut = A op B ALUOut = A+sign

extend(IR[15-0])

IF(A==B) Then

PC=ALUOut

PC=PC[31-

28]||(IR[25-

0]<<2)

Memory access or R-type

completion

Reg[IR[15-11]] =

ALUOut

Load:MDR =Mem[ALUOut]

or

Store:Mem[ALUOut] = B

Memory read completion Load: Reg[IR[20-16]] =

MDR

| COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 11

Basic Operational Concepts

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 12 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 12

Review Activity in a computer is governed by instructions.

To perform a task, an appropriate program

consisting of a list of instructions is stored in the

memory.

Individual instructions are brought from the memory

into the processor, which executes the specified

operations.

Data to be used as operands are also stored in the

memory.

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 13 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 13

A Typical Instruction

Add LOCA, R0

Add the operand at memory location LOCA to the operand in a register R0 in the processor.

Place the sum into register R0.

The original contents of LOCA are preserved.

The original contents of R0 is overwritten.

Instruction is fetched from the memory into the processor – the operand at LOCA is fetched and added to the contents of R0 – the resulting sum is stored in register R0.

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 14 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 14

Separate Memory Access and ALU

Operation

Load LOCA, R1

Add R1, R0

Whose contents will be overwritten?

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 15 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 15

Connection Between the Processor

and the Memory Figure 1.2. Connections between the processor and the memory.

Processor

Memory

PC

IR

MDR

Control

ALU

Rn 1-

R1

R0

MAR

n general purposeregisters

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 16 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 16

Registers

Instruction register (IR)

Program counter (PC)

General-purpose register (R0 – Rn-1)

Memory address register (MAR)

Memory data register (MDR)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 17 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 17

Typical Operating Steps Programs reside in the memory through input

devices

PC is set to point to the first instruction

The contents of PC are transferred to MAR

A Read signal is sent to the memory

The first instruction is read out and loaded into MDR

The contents of MDR are transferred to IR

Decode and execute the instruction

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 18 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 18

Typical Operating Steps (Cont’)

Get operands for ALU General-purpose register

Memory (address to MAR – Read – MDR to ALU)

Perform operation in ALU

Store the result back To general-purpose register

To memory (address to MAR, result to MDR – Write)

During the execution, PC is incremented to the next instruction

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 19 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 19

Interrupt

Normal execution of programs may be preempted if

some device requires urgent servicing.

The normal execution of the current program must

be interrupted – the device raises an interrupt

signal.

Interrupt-service routine

Current system information backup and restore (PC,

general-purpose registers, control information,

specific information)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 20 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 20

Bus Structures

There are many ways to connect different

parts inside a computer together.

A group of lines that serves as a connecting

path for several devices is called a bus.

Address/data/control

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 21 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 21

Bus Structure

Single-bus

Figure 1.3. Single-bus structure.

MemoryInput Output Processor

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 22 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 22

Speed Issue

Different devices have different

transfer/operate speed.

If the speed of bus is bounded by the slowest

device connected to it, the efficiency will be

very low.

How to solve this?

A common approach – use buffers.

| COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 23

Performance

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 24 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 24

Performance

The most important measure of a computer is

how quickly it can execute programs.

Three factors affect performance:

Hardware design

Instruction set

Compiler

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 25 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 25

Performance Processor time to execute a program depends on the hardware

involved in the execution of individual machine instructions.

Main memory

Processor

Bus

Cache memory

Figure 1.5. The processor cache.

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 26 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 26

Performance

The processor and a relatively small cache

memory can be fabricated on a single

integrated circuit chip.

Speed

Cost

Memory management

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 27 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 27

Processor Clock

Clock, clock cycle, and clock rate

The execution of each instruction is divided

into several steps, each of which completes

in one clock cycle.

Hertz – cycles per second

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 28 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 28

Basic Performance Equation T – processor time required to execute a program that has been

prepared in high-level language

N – number of actual machine language instructions needed to complete the execution (note: loop)

S – average number of basic steps needed to execute one machine instruction. Each step completes in one clock cycle

R – clock rate

Note: these are not independent to each other

R

SNT

How to improve T?

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 29 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 29

Pipeline and Superscalar Operation

Instructions are not necessarily executed one after another.

The value of S doesn’t have to be the number of clock cycles to execute one instruction.

Pipelining – overlapping the execution of successive instructions.

Add R1, R2, R3

Superscalar operation – multiple instruction pipelines are implemented in the processor.

Goal – reduce S (could become <1!)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 30 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 30

Clock Rate

Increase clock rate Improve the integrated-circuit (IC) technology to make

the circuits faster

Reduce the amount of processing done in one basic step (however, this may increase the number of basic steps needed)

Increases in R that are entirely caused by improvements in IC technology affect all aspects of the processor’s operation equally except the time to access the main memory.

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 31 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 31

CISC and RISC

Tradeoff between N and S

A key consideration is the use of pipelining

S is close to 1 even though the number of basic steps

per instruction may be considerably larger

It is much easier to implement efficient pipelining in

processor with simple instruction sets

Reduced Instruction Set Computers (RISC)

Complex Instruction Set Computers (CISC)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 32 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 32

Compiler

A compiler translates a high-level language program

into a sequence of machine instructions.

To reduce N, we need a suitable machine instruction

set and a compiler that makes good use of it.

Goal – reduce N×S

A compiler may not be designed for a specific

processor; however, a high-quality compiler is

usually designed for, and with, a specific processor.

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 33 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 33

Performance Measurement T is difficult to compute.

Measure computer performance using benchmark programs.

System Performance Evaluation Corporation (SPEC) selects and publishes representative application programs for different application domains, together with test results for many commercially available computers.

Compile and run (no simulation)

Reference computer

n

i

niSPECratingSPEC

ratingSPEC

1

1

)(

under testcomputer on the timeRunning

computer reference on the timeRunning

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 34 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 34

Multiprocessors and Multicomputers

Multiprocessor computer Execute a number of different application tasks in parallel

Execute subtasks of a single large task in parallel

All processors have access to all of the memory – shared-memory

multiprocessor

Cost – processors, memory units, complex interconnection networks

Multicomputers Each computer only have access to its own memory

Exchange message via a communication network – message-

passing multicomputers

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 35 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 35

Computers Evolution

ENIAC

Electronic Numerical Integrator And Computer

Designed and constructed at the University of Pennsylvania

Started in 1943 – completed in 1946

By John Mauchly and John Eckert

World’s first general purpose electronic digital computer

Army’s Ballistics Research Laboratory (BRL) needed a way to supply

trajectory tables for new weapons accurately and within a reasonable time

frame

Was not finished in time to be used in the war effort

Its first task was to perform a series of calculations that were used to help

determine the feasibility of the hydrogen bomb

Continued to operate under BRL management until 1955 when it was

disassembled

First Generation: Vacuum Tubes

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 36 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 36

ENIAC

Weighed

30

tons

Occupied

1500

square

feet

of

floor

space

Contained

more

than

18,000

vacuum

tubes

140 kW

Power

consumption

Capable

of

5000

additions

per

second

Decimal

rather

than

binary

machine

Memory

consisted

of 20 accumulators,

each

capable

of

holding

a

10 digit

number

Major

drawback

was the need

for manual

programming

by setting

switches

and

plugging/

unplugging

cables

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 37 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 37

John von Neumann

First publication of the idea was in 1945

Stored program concept Attributed to ENIAC designers, most notably the

mathematician John von Neumann

Program represented in a form suitable for storing in memory alongside the data

IAS computer

Princeton Institute for Advanced Studies

Prototype of all subsequent general-purpose computers

Completed in 1952

EDVAC (Electronic Discrete Variable Computer)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 38 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 38

Structure of von Neumann Machine

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 39 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 39

IAS Memory Formats Both data and instructions are

stored there

Numbers are represented in binary form and each instruction is a binary code

The memory of the IAS

consists of 1000 storage

locations (called words) of

40 bits each

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 40 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 40

Structure

of

IAS

Computer

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 41 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 41

Registers

• Contains a word to be stored in memory or sent to the I/O unit

• Or is used to receive a word from memory or from the I/O unit

Memory buffer register (MBR)

• Specifies the address in memory of the word to be written from or read into the MBR

Memory address register (MAR)

• Contains the 8-bit opcode instruction being executed Instruction register (IR)

• Employed to temporarily hold the right-hand instruction from a word in memory

Instruction buffer register (IBR)

• Contains the address of the next instruction pair to be fetched from memory Program counter (PC)

• Employed to temporarily hold operands and results of ALU operations

Accumulator (AC) and multiplier quotient (MQ)

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 42 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 42

IAS

Operations

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 43 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 43

The IAS

Instruction

Set

Table 2.1 The IAS Instruction Set

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 44 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 44

Commercial Computers

1947 – Eckert and Mauchly formed the Eckert-Mauchly Computer

Corporation to manufacture computers commercially

UNIVAC I (Universal Automatic Computer)

First successful commercial computer

Was intended for both scientific and commercial applications

Commissioned by the US Bureau of Census for 1950

calculations

The Eckert-Mauchly Computer Corporation became part of the

UNIVAC division of the Sperry-Rand Corporation

UNIVAC II – delivered in the late 1950’s

Had greater memory capacity and higher performance

Backward compatible

UNIVAC

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 45 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 45

+

IBM

Was the major manufacturer of punched-card processing equipment

Delivered its first electronic stored-program computer (701) in 1953

Intended primarily for scientific applications

Introduced 702 product in 1955

Hardware features made it

suitable to business applications

Series of 700/7000 computers established IBM as the overwhelmingly dominant computer manufacturer

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 46 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 46

Smaller

Cheaper

Dissipates less heat than a vacuum tube

Is a solid state device made from silicon

Was invented at Bell Labs in 1947

It was not until the late 1950’s that fully transistorized

computers were commercially available

Second Generation: Transistors

Computers Evolution

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 47 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 47

COMPUTER GENERATIONS

Table 2.2

Computer Generations

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 48 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 48

Second Generation Computers

Introduced:

More complex arithmetic and logic units and control units

The use of high-level programming languages

Provision of system software which provided the ability to:

load programs

move data to peripherals and libraries

perform common computations

Appearance of the Digital

Equipment Corporation

(DEC) in 1957

PDP-1 was DEC’s first

computer

This began the mini-

computer phenomenon that

would become so

prominent in the third

generation

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 49 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 49

Example

Members of the

IBM 700/7000 Series

Example Members of the IBM 700/7000 Series

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 50 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 50

IBM

7094

Configuration

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 51 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 51

Third Generation: Integrated Circuits

1958 – the invention of the integrated circuit

Discrete component

Single, self-contained transistor

Manufactured separately, packaged in their own

containers, and soldered or wired together onto

masonite-like circuit boards

Manufacturing process was expensive and

cumbersome

The two most important members of the third

generation were the IBM System/360 and the DEC

PDP-8

Computers Evolution

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 52 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 52

Microelectronics

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 53 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 53

+ Integrated

Circuits A computer consists of gates,

memory cells, and

interconnections among these

elements

The gates and memory cells

are constructed of simple

digital electronic components

Data storage – provided by

memory cells

Data processing – provided by

gates

Data movement – the paths

among components are used

to move data from memory to

memory and from memory

through gates to memory

Control – the paths among

components can carry control

signals

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

Transistors can be connected

with a processor metallization

to form circuits

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 54 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 54

Wafer,

Chip,

and

Gate

Relationship

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 55 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 55

Chip Growth

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 56 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 56

Moore’s Law

1965; Gordon Moore – co-founder of Intel

Observed number of transistors that could be put on a single chip was doubling every year

The pace slowed to a doubling every 18

months in the 1970’s but has

sustained that rate ever since

Consequences of Moore’s law:

The cost of computer logic and memory

circuitry has fallen at a

dramatic rate

The electrical path length is

shortened, increasing operating

speed

Computer becomes

smaller and is more

convenient to use in a variety

of environments

Reduction in power and

cooling requirements

Fewer interchip

connections

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 57 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 57

Characteristics of the

System/360 Family

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 58 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 58

Evolution of the PDP-8

Evolution of the PDP-8

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 59 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 59

DEC - PDP-8 Bus Structure

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 60 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 60

+

Later

Generations LSI

Large

Scale

Integration

VLSI

Very Large

Scale

Integration

ULSI

Ultra Large

Scale

Integration

Semiconductor Memory

Microprocessors

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 61 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 61

Semiconductor Memory

Since 1970 semiconductor memory has been through 13 generations

Each generation has provided four times the storage density of the previous generation, accompanied by declining cost per bit and declining access time

In 1974 the price per bit of semiconductor memory dropped below the price per bit of core memory

There has been a continuing and rapid decline in memory cost accompanied by a corresponding increase in

physical memory density

Developments in memory and processor technologies changed the nature of computers in less than a decade

In 1970 Fairchild produced the first relatively capacious semiconductor memory

Chip was about the size of a single core

Could hold 256 bits of memory

Non-destructive Much faster than core

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 62 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 62

Microprocessors

The density of elements on processor chips continued to rise More and more elements were placed on each chip

so that fewer and fewer chips were needed to construct a single computer processor

1971 Intel developed 4004 First chip to contain all of the components of a CPU

on a single chip

Birth of microprocessor

1972 Intel developed 8008 First 8-bit microprocessor

1974 Intel developed 8080 First general purpose microprocessor

Faster, has a richer instruction set, has a large addressing capability

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 63 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 63

Evolution of Intel

Microprocessors

a. 1970s Processors

b. 1980s Processors

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 64 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 64

Evolution of Intel

Microprocessors

c. 1990s Processors

d. Recent Processors

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 65 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 65

Microprocessor Speed

Pipelining

Branch prediction

Data flow analysis

Speculative execution

• Processor moves data or instructions into a conceptual pipe with all stages of the pipe processing simultaneously

• Processor looks ahead in the instruction code fetched from memory and predicts which branches, or groups of instructions, are likely to be processed next

• Processor analyzes which instructions are dependent on each other’s results, or data, to create an optimized schedule of instructions

• Using branch prediction and data flow analysis, some processors speculatively execute instructions ahead of their actual appearance in the program execution, holding the results in temporary locations, keeping execution engines as busy as possible

Techniques built into contemporary processors include:

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 66 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 66

Performance

Balance

Increase the number of bits that are

retrieved at one time by making DRAMs “wider” rather than

“deeper” and by using wide bus data

paths

Change the DRAM interface to make it

more efficient by including a cache or

other buffering scheme on the

DRAM chip

Reduce the frequency of memory

access by incorporating

increasingly complex and efficient cache structures between the processor and

main memory

Increase the interconnect

bandwidth between processors and

memory by using higher speed buses and a hierarchy of

buses to buffer and structure data flow

Adjust the organization and

architecture to compensate

for the mismatch among the

capabilities of the various

components

Architectural examples

include:

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 67 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 67

Typical I/O Device Data Rates

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 68 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 68

Improvements in Chip

Organization and Architecture

Increase hardware speed of processor

Fundamentally due to shrinking logic gate size

More gates, packed more tightly, increasing clock rate

Propagation time for signals reduced

Increase size and speed of caches

Dedicating part of processor chip

Cache access times drop significantly

Change processor organization and architecture

Increase effective speed of instruction execution

Parallelism

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 69 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 69

Problems with Clock Speed

and Login Density

Power Power density increases with density of logic and clock

speed

Dissipating heat

RC delay Speed at which electrons flow limited by resistance and

capacitance of metal wires connecting them

Delay increases as RC product increases

Wire interconnects thinner, increasing resistance

Wires closer together, increasing capacitance

Memory latency Memory speeds lag processor speeds

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 70 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 70

+

Processor

Trends

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 71 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 71

The use of multiple processors on the same chip provides the potential to increase performance without increasing the clock rate

Strategy is to use two simpler processors on the chip rather than one more complex processor

With two processors larger caches are justified

As caches became larger it made performance sense to create two and then three levels of cache on a chip

Multicore

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 72 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 72

Many Integrated Core (MIC)

Graphics Processing Unit (GPU)

Leap in performance as

well as the challenges in

developing software to

exploit such a large

number of cores

The multicore and MIC

strategy involves a

homogeneous collection

of general purpose

processors on a single

chip

Core designed to perform parallel operations on graphics data

Traditionally found on a plug-in graphics card, it is used to encode and render 2D and 3D graphics as well as process video

Used as vector processors for a variety of applications that require repetitive computations

MIC GPU

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 73 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 73

+

x86 Architecture

Results of decades of design effort on complex instruction set computers (CISCs)

Excellent example of CISC design

Incorporates the sophisticated design principles once found only on mainframes and supercomputers

An alternative approach to processor design is the reduced instruction set computer (RISC)

The ARM architecture is used in a wide variety of embedded systems and is one of the most powerful and best designed RISC based systems on the market

In terms of market share Intel is ranked as the number one maker of microprocessors for non-embedded systems

Overview

CISC

RISC

Intel ARM

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 74 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 74

+

x86 Evolution

8080 First general purpose microprocessor 8-bit machine with an 8-bit data path to

memory Used in the first personal computer (Altair)

8086 16-bit machine

Used an instruction cache, or queue

First appearance of the x86 architecture

8088 used in IBM’s first personal computer

80286 Enabled addressing a 16-MByte memory

instead of just 1 MByte

80386 Intel’s first 32-bit machine First Intel processor to support multitasking

80486 More sophisticated cache technology and

instruction pipelining Built-in math coprocessor

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 75 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 75

X86 EVOLUTION -

PENTIUM

Pentium

• Superscalar

• Multiple instructions executed in parallel

Pentium Pro

• Increased superscalar organization

• Aggressive register renaming

• Branch prediction

• Data flow analysis

• Speculative execution

Pentium II

• MMX technology

• Designed specifically to process video, audio, and graphics data

Pentium III

• Additional floating-point instructions to support 3D graphics software

Pentium 4

• Includes additional floating-point and other enhancements for multimedia

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 76 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 76

x86 Evolution (continued)

Core

First Intel x86 microprocessor

with a dual core, referring to

the implementation of two

processors on a single chip

Core 2

Extends the architecture to 64

bits

Recent Core offerings have up

to 10 processors per chip

Instruction set architecture is

backward compatible with earlier versions

X86 architecture continues to dominate the

processor market outside of embedded

systems

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 77 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 77

General definition:

“A combination of computer

hardware and software, and perhaps

additional mechanical or other parts,

designed to perform a dedicated

function. In many cases, embedded

systems are part of a larger system

or product, as in the case of an

antilock braking system in a car.”

Embedded

Systems

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 78 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 78

Examples of Embedded Systems and Their

Markets

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 79 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 79

+ Embedded Systems

Small to large systems, implying different cost

constraints and different needs for optimization

and reuse Relaxed to very strict requirements and combinations of different quality

requirements with respect to safety,

reliability, real-time and flexibility

Short to long life times

Different environmental

conditions in terms of radiation, vibrations,

and humidity

Different application characteristics

resulting in static versus dynamic

loads, slow to fast speed, compute versus interface intensive tasks,

and/or combinations thereof

Different models of computation ranging from discrete event systems to hybrid

systems

Requirements and Constraints

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 80 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 80

Possible Organization of an Embedded System

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 81 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 81

Acorn RISC Machine (ARM)

Family of RISC-based

microprocessors and

microcontrollers

Designs microprocessor and

multicore architectures and

licenses them to

manufacturers

Chips are high-speed

processors that are known for

their small die size and low

power requirements

Widely used in PDAs and

other handheld devices

Chips are the processors in

iPod and iPhone devices

Most widely used embedded

processor architecture

Most widely used processor

architecture of any kind

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 82 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 82

A

R

M

E

v

o

l

u

t

i

o

n

DSP = digital signal processor SoC = system on a chip

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 83 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 83

ARM Design Categories ARM processors are designed to meet

the needs of three system categories:

Embedded real-time systems Systems for storage,

automotive body and power-train, industrial, and networking applications

Secure applications Smart cards, SIM

cards, and payment terminals

Application Linux, Palm OS, Symbian

OS, and Windows CE in wireless,

consumer entertainment and digital

imaging platforms

Devices running open operating

systems including applications

| DIGITAL DESIGN | BEC 30503 | 2012/2013 SEM I | DEPARTMENT OF COMPUTER ENGINEERING 84 | COMPUTER ARCHITECTURE & ORGANIZATION | BEC 30303 | 2013/2014 SEM 2 | DEPARTMENT OF COMPUTER ENGINEERING 84

System Clock


Recommended