61
William Stallings Computer Organization and Architecture 7 th Edition Chapter 3 A Top-Level View of Computer Function and Interconnection

William Stallings Computer Organization and Architecture 7 th Edition

  • Upload
    betrys

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

William Stallings Computer Organization and Architecture 7 th Edition. Chapter 3 A Top-Level View of Computer Function and Interconnection. Program Concept. Hardwired systems are inflexible ( 沒彈性 ) General purpose hardware can do different tasks, given correct control signals - PowerPoint PPT Presentation

Citation preview

Page 1: William Stallings  Computer Organization  and Architecture 7 th  Edition

William Stallings Computer Organization and Architecture7th Edition

Chapter 3A Top-Level View of Computer Function and Interconnection

Page 2: William Stallings  Computer Organization  and Architecture 7 th  Edition

Program Concept

• Hardwired systems are inflexible ( 沒彈性 )• General purpose hardware can do

different tasks, given correct control signals

• Instead of re-wiring, supply a new set of control signals

Page 3: William Stallings  Computer Organization  and Architecture 7 th  Edition
Page 4: William Stallings  Computer Organization  and Architecture 7 th  Edition

What is a program?

• A sequence of steps• For each step, an arithmetic ( 算術 ) or

logical operation is done• For each operation, a different set of

control signals is needed

Page 5: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 6: William Stallings  Computer Organization  and Architecture 7 th  Edition

Components

• The Control UnitControl Unit and the Arithmetic and Arithmetic and Logic UnitLogic 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 7: William Stallings  Computer Organization  and Architecture 7 th  Edition

Computer Components:Top Level View

Page 8: William Stallings  Computer Organization  and Architecture 7 th  Edition

Instruction Cycle

• Two steps:—Fetch ( 拿取 )—Execute

Page 9: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 10: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 11: William Stallings  Computer Organization  and Architecture 7 th  Edition

假設的

Page 12: William Stallings  Computer Organization  and Architecture 7 th  Edition

Example of Program Execution

Page 13: William Stallings  Computer Organization  and Architecture 7 th  Edition

Instruction Cycle - State Diagram ( 圖 )

Page 14: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 15: William Stallings  Computer Organization  and Architecture 7 th  Edition

Program Flow Control

Page 16: William Stallings  Computer Organization  and Architecture 7 th  Edition

Interrupt Cycle

• Added to instruction cycle• Processor checks for interrupt

—Indicated ( 指出 ) by an interrupt signal

• If no interrupt, fetch next instruction• If 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 17: William Stallings  Computer Organization  and Architecture 7 th  Edition

Transfer of Control via Interrupts

Page 18: William Stallings  Computer Organization  and Architecture 7 th  Edition

Instruction Cycle with Interrupts

Page 19: William Stallings  Computer Organization  and Architecture 7 th  Edition

Program TimingShort I/O Wait

Page 20: William Stallings  Computer Organization  and Architecture 7 th  Edition

Program TimingLong I/O Wait

Page 21: William Stallings  Computer Organization  and Architecture 7 th  Edition

Instruction Cycle (with Interrupts) - State Diagram

Page 22: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 23: William Stallings  Computer Organization  and Architecture 7 th  Edition

Multiple Interrupts - Sequential

Page 24: William Stallings  Computer Organization  and Architecture 7 th  Edition

Multiple Interrupts – Nested

Page 25: William Stallings  Computer Organization  and Architecture 7 th  Edition

Time Sequence of Multiple Interrupts

Page 26: William Stallings  Computer Organization  and Architecture 7 th  Edition

Connecting

• All the units must be connected• Different type of connection for different

type of unit—Memory—Input/Output—CPU

Page 27: William Stallings  Computer Organization  and Architecture 7 th  Edition

Computer Modules

Page 28: William Stallings  Computer Organization  and Architecture 7 th  Edition

Memory Connection

• Receives and sends data• Receives addresses (of locations)• Receives control signals

—Read—Write—Timing

Page 29: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 30: William Stallings  Computer Organization  and Architecture 7 th  Edition

Input/Output Connection(2)

• Receive control signals from computer• Send control signals to peripherals

—e.g. spin ( 旋轉 ) disk

• Receive addresses from computer—e.g. port number to identify ( 認明 ) peripheral

• Send interrupt signals (control)

Page 31: William Stallings  Computer Organization  and Architecture 7 th  Edition

CPU Connection

• Reads instruction and data• Writes out data (after processing)• Sends control signals to other units• Receives (& acts on) interrupts

Page 32: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 33: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 34: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 35: William Stallings  Computer Organization  and Architecture 7 th  Edition

Address bus

• Identify the source or destination of data• e.g. CPU needs to read an instruction

(data) from a given location in memory• Bus width determines maximum memory

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

address space

Page 36: William Stallings  Computer Organization  and Architecture 7 th  Edition

Control Bus

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

Page 37: William Stallings  Computer Organization  and Architecture 7 th  Edition

Bus Interconnection Scheme

Page 38: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 39: William Stallings  Computer Organization  and Architecture 7 th  Edition

Physical Realization of Bus Architecture

Page 40: William Stallings  Computer Organization  and Architecture 7 th  Edition

Single Bus Problems

• Lots of devices on one bus leads to:—Propagation ( 傳播 ) delays

– Long data paths mean that coordination( 協調 ) of bus use can adversely ( 不利地 ) affect performance

– If aggregate ( 聚合 ) data transfer approaches bus capacity

• Most systems use multiple buses to overcome these problems

Page 41: William Stallings  Computer Organization  and Architecture 7 th  Edition

Traditional (ISA)(with cache)

Page 42: William Stallings  Computer Organization  and Architecture 7 th  Edition

High Performance Bus

Page 43: William Stallings  Computer Organization  and Architecture 7 th  Edition

Elements of Bus Design

仲裁

( 同步 )

( 非同步 )

Page 44: William Stallings  Computer Organization  and Architecture 7 th  Edition

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 45: William Stallings  Computer Organization  and Architecture 7 th  Edition

Bus Arbitration ( 仲裁 )• More than one module controlling the bus• e.g. CPU and DMA controller• Only one module may control bus at one

time• Arbitration may be centralised or

distributed

Page 46: William Stallings  Computer Organization  and Architecture 7 th  Edition

Centralized or Distributed Arbitration

• Centralized—Single hardware device controlling bus access

– Bus Controller– Arbiter

—May be part of CPU or separate

• Distributed—Each module may claim the bus—Control logic on all modules

Page 47: William Stallings  Computer Organization  and Architecture 7 th  Edition

Timing

• Co-ordination of events on bus• Synchronous ( 同步的 )

—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 48: William Stallings  Computer Organization  and Architecture 7 th  Edition

Synchronous Timing Diagram

Page 49: William Stallings  Computer Organization  and Architecture 7 th  Edition

Asynchronous Timing – Read Diagram非同步的

Page 50: William Stallings  Computer Organization  and Architecture 7 th  Edition

Asynchronous Timing – Write Diagram

Page 51: William Stallings  Computer Organization  and Architecture 7 th  Edition

DataTransferType

Data

Page 52: William Stallings  Computer Organization  and Architecture 7 th  Edition

PCI Bus

• Peripheral Component Interconnection• Intel released to public domain• 32 or 64 bit• 528 MByte/s• 50 lines

Page 53: William Stallings  Computer Organization  and Architecture 7 th  Edition
Page 54: William Stallings  Computer Organization  and Architecture 7 th  Edition
Page 55: William Stallings  Computer Organization  and Architecture 7 th  Edition

PCI Bus Lines (required)

• Systems lines—Including clock and reset

• Address & Data—32 time multiplexed lines for address/data—Multiplexed bus command and byte enable

signals

• Interface Control• Arbitration

—Not shared—Direct connection to PCI bus arbiter

• Error lines—Parity Error, System Error

((REQ#, GNT#)REQ#, GNT#)

((FRAME#, IRDY#, TRDY#, …)FRAME#, IRDY#, TRDY#, …)

((AD[31::0], C/BE[3::0], …)AD[31::0], C/BE[3::0], …)

((CLK, RST#)CLK, RST#)

((PERR#, SERR#)PERR#, SERR#)

See Page 80See Page 80

I:Initiator, T:Target

#: active at low voltage

Page 56: William Stallings  Computer Organization  and Architecture 7 th  Edition

PCI Bus Lines (Optional)

• Interrupt lines—Not shared

• Cache support• 64-bit Bus Extension

—Additional 32 lines to form a 64-bit bus—Time multiplexed—2 lines to enable devices to agree to use 64-bit

transfer

• JTAG/Boundary Scan—For testing procedures defined in IEEE

Standard 1149.1

See Page 81See Page 81

Page 57: William Stallings  Computer Organization  and Architecture 7 th  Edition

PCI Commands

• Transaction between initiator (master) and target

• Master claims bus• Determine type of transaction

—e.g. I/O read/write

• Address phase• One or more data phases

See Page 83See Page 83

Page 58: William Stallings  Computer Organization  and Architecture 7 th  Edition

PCI Read Timing Diagram Page 84Page 84

Page 59: William Stallings  Computer Organization  and Architecture 7 th  Edition

a. I begins transaction by asserting FRAME. Put start address on AD and read command on C/BE.

b. T recognizes its address on AD.c. I ceases driving AD. Turnaround. Change C/BE to

designate AD lines for data transfer. Assert IRDY (ready).

d. T asserts DEVSEL (device selected). Place data on AD. Assert TRDY (ready).

e. I reads data from AD. Change C/BE for next read.f. T de-asserts TRDY because 2nd data is not ready yet.g. T places 3rd data on AD. I de-asserts IRDY because it

is not ready to read data.h. I de-asserts FRAME to signal T the last data transfer. I

asserts IRDY because it is ready to complete that transfer.

i. I de-asserts IRDY. T de-asserts TRDY and DEVSEL.

I: initiator T: target

Page 60: William Stallings  Computer Organization  and Architecture 7 th  Edition

Arbitration

Page 61: William Stallings  Computer Organization  and Architecture 7 th  Edition

PCI Bus Arbitration Page 86Page 86