rohail eee440 computer architecture. program concept hardwired systems are inflexible general...

52
ROHAIL EEE440 Computer Architecture

Upload: clarence-joshua-chapman

Post on 04-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

ROHAIL

EEE440 Computer Architecture

Page 2: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Program Concept

Hardwired systems are inflexibleGeneral purpose hardware can do different

tasks, given correct control signalsInstead of re-wiring, supply a new set of

control signals

Page 3: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

What is a program?

A sequence of stepsFor each step, an arithmetic or logical

operation is doneFor each operation, a different set of control

signals is needed

Page 4: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Function of Control Unit

For each operation a unique code is provided e.g. ADD, MOVE

A hardware segment accepts the code and issues the control signals

We have a computer!

Page 5: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Components

The Control Unit and the Arithmetic and Logic Unit constitute the Central Processing Unit

Data and instructions need to get into the system and results out Input/output

Temporary storage of code and results is needed Main memory

Page 6: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Computer Components:Top Level View

Page 7: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Instruction Cycle

Two steps: Fetch Execute

Page 8: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Fetch Cycle

Program Counter (PC) holds address of next instruction to fetch

Processor fetches instruction from memory location pointed to by PC

Increment PC Unless told otherwise

Instruction loaded into Instruction Register (IR)

Processor interprets instruction and performs required actions

Page 9: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Execute Cycle

Processor-memory data transfer between CPU and main memory

Processor I/O Data transfer between CPU and I/O module

Data processing Some arithmetic or logical operation on data

Control Alteration of sequence of operations e.g. jump

Combination of above

Page 10: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Example of Program Execution

Page 11: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Instruction Cycle - State Diagram

Page 12: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Interrupts

Mechanism by which other modules (e.g. I/O) may interrupt normal sequence of processing

Program e.g. overflow, division by zero

Timer Generated by internal processor timer Used in pre-emptive multi-tasking

I/O from I/O controller

Hardware failure e.g. memory parity error

Page 13: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Program Flow Control

Page 14: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Interrupt Cycle

Added to instruction cycleProcessor checks for interrupt

Indicated by an interrupt signal

If no interrupt, fetch next instructionIf interrupt pending:

Suspend execution of current program Save context Set PC to start address of interrupt handler routine Process interrupt Restore context and continue interrupted program

Page 15: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Transfer of Control via Interrupts

Page 16: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Instruction Cycle with Interrupts

Page 17: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Program TimingShort I/O Wait

Page 18: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Program TimingLong I/O Wait

Page 19: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Instruction Cycle (with Interrupts) - State Diagram

Page 20: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Multiple Interrupts

Disable interrupts Processor will ignore further interrupts whilst

processing one interrupt Interrupts remain pending and are checked after first

interrupt has been processed Interrupts handled in sequence as they occur

Define priorities Low priority interrupts can be interrupted by higher

priority interrupts When higher priority interrupt has been processed,

processor returns to previous interrupt

Page 21: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Multiple Interrupts - Sequential

Page 22: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Multiple Interrupts – Nested

Page 23: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Time Sequence of Multiple Interrupts

Page 24: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Connecting

All the units must be connectedDifferent type of connection for different type

of unit Memory Input/Output CPU

Page 25: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Computer Modules

Page 26: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Memory Connection

Receives and sends dataReceives addresses (of locations)Receives control signals

Read Write Timing

Page 27: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Input/Output Connection(1)

Similar to memory from computer’s viewpoint

Output Receive data from computer Send data to peripheral

Input Receive data from peripheral Send data to computer

Page 28: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Input/Output Connection(2)

Receive control signals from computerSend control signals to peripherals

e.g. spin disk

Receive addresses from computer e.g. port number to identify peripheral

Send interrupt signals (control)

Page 29: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

CPU Connection

Reads instruction and dataWrites out data (after processing)Sends control signals to other unitsReceives (& acts on) interrupts

Page 30: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Buses

There are a number of possible interconnection systems

Single and multiple BUS structures are most common

e.g. Control/Address/Data bus (PC)e.g. Unibus (DEC-PDP)

Page 31: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

What is a Bus?

A communication pathway connecting two or more devices

Usually broadcast Often grouped

A number of channels in one bus e.g. 32 bit data bus is 32 separate single bit channels

Power lines may not be shown

Page 32: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Data Bus

Carries data Remember that there is no difference between “data”

and “instruction” at this level

Width is a key determinant of performance 8, 16, 32, 64 bit

Page 33: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Address bus

Identify the source or destination of datae.g. CPU needs to read an instruction (data)

from a given location in memoryBus width determines maximum memory

capacity of system e.g. 8080 has 16 bit address bus giving 64k address

space

Page 34: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Control Bus

Control and timing information Memory read/write signal Interrupt request Clock signals

Page 35: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Bus Interconnection Scheme

Page 36: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Big and Yellow?

What do buses look like? Parallel lines on circuit boards Ribbon cables Strip connectors on mother boards

e.g. PCI Sets of wires

Page 37: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Single Bus Problems

Lots of devices on one bus leads to: Propagation delays

Long data paths mean that co-ordination of bus use can adversely affect performance

If aggregate data transfer approaches bus capacity

Most systems use multiple buses to overcome these problems

Page 38: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Traditional (ISA)(with cache)

Page 39: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

High Performance Bus

Page 40: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Bus Types

Dedicated Separate data & address lines

Multiplexed Shared lines Address valid or data valid control line Advantage - fewer lines Disadvantages

More complex control Ultimate performance

Page 41: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Bus Arbitration

More than one module controlling the buse.g. CPU controllerOnly one module may control bus at one timeArbitration may be centralised or distributed

Page 42: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Centralised Arbitration

Single hardware device controlling bus access Bus Controller Arbiter

May be part of CPU or separate

Page 43: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Distributed Arbitration

Each module may claim the busControl logic on all modules

Page 44: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Timing

Co-ordination of events on busSynchronous

Events determined by clock signals Control Bus includes clock line A single 1-0 is a bus cycle All devices can read clock line Usually sync on leading edge Usually a single cycle for an event

Page 45: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Synchronous Timing Diagram

Page 46: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Asynchronous Timing – Read Diagram

Page 47: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Asynchronous Timing – Write Diagram

Page 48: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

PCI Bus

Peripheral Component InterconnectionIntel released to public domain32 or 64 bit50 lines

Page 49: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

PCI Bus Lines (required)

Systems lines Including clock and reset

Address & Data 32 time mux lines for address/data Interrupt & validate lines

Interface ControlArbitration

Not shared Direct connection to PCI bus arbiter

Error lines

Page 50: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

PCI Bus Lines (Optional)

Interrupt lines Not shared

Cache support64-bit Bus Extension

Additional 32 lines Time multiplexed 2 lines to enable devices to agree to use 64-bit

transfer

JTAG/Boundary Scan For testing procedures

Page 51: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

PCI Commands

Transaction between initiator (master) and target

Master claims busDetermine type of transaction

e.g. I/O read/write

Address phaseOne or more data phases

Page 52: ROHAIL EEE440 Computer Architecture. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control

Referennces

William Stallings Computer Organization and Architecture7th Edition Chapter 3