William Stallings Computer Organization and Architecture 6th Edition - PowerPoint PPT Presentation

About This Presentation
Title:

William Stallings Computer Organization and Architecture 6th Edition

Description:

Data transfer between CPU and I/O module. Data processing ... Only one module may control bus at one time. Arbitration may be centralised or distributed ... – PowerPoint PPT presentation

Number of Views:1900
Avg rating:3.0/5.0
Slides: 56
Provided by: Adria183
Learn more at: http://www.csun.edu
Category:

less

Transcript and Presenter's Notes

Title: William Stallings Computer Organization and Architecture 6th Edition


1
William Stallings Computer Organization and
Architecture6th Edition
  • Chapter 3
  • System Buses
  • (revised 9/7/02)

2
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

3
Hardware vs. HW SW
4
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

5
Function of Control Unit
  • For each operation a unique code (opcode) is
    provided
  • e.g. ADD, MOVE
  • A hardware segment accepts the code and issues
    the control signals
  • We have a computer!

6
Components
  • The Control Unit (CU) and the Arithmetic and
    Logic Unit (ALU) constitute the Central
    Processing Unit (CPU)
  • Data and instructions need to get into the system
    and results need to get out
  • Input/output (I/O module)
  • Temporary storage of code and results is needed
  • Main memory (RAM)

7
Computer ComponentsTop Level View
8
Instruction Cycle
  • Two steps
  • Fetch
  • Execute

9
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)

10
Execute Cycle
  • Processor interprets instruction and performs
    required actions, such as
  • 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

11
Example of Program Execution
Fetch
Execution
Note use of hexadecimal
12
Instruction Cycle - State Diagram
CPU-RAM-I/O Operations
CPU Operations
13
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

14
Program Flow Control
15
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

16
Transfer of Control via Interrupts
17
Instruction Cycle with Interrupts
18
Program TimingShort I/O Wait
19
Program TimingLong I/O Wait
20
Instruction Cycle (with Interrupts) - State
Diagram
21
Multiple Interrupts
  • Disable interrupts (approach 1)
  • 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 (approach 2)
  • Low priority interrupts can be interrupted by
    higher priority interrupts
  • When higher priority interrupt has been
    processed, processor returns to previous interrupt

22
Multiple Interrupts - Sequential
23
Multiple Interrupts Nested
24
Time Sequence of Multiple Interrupts
25
Connecting
  • All the units must be connected
  • Different type of connection for different type
    of unit
  • Memory
  • Input/Output
  • CPU

26
Computer Modules
27
Memory Connection
  • Receives and sends data
  • Receives addresses (of locations)
  • Receives control signals
  • Read
  • Write
  • Timing

28
Input/Output Connection(1)
  • Similar to memory from computers viewpoint
  • Output
  • Receive data from computer
  • Send data to peripheral
  • Input
  • Receive data from peripheral
  • Send data to computer

29
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)

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

31
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)

32
What is a Bus?
  • A communication pathway connecting two or more
    devices
  • Usually broadcast (all components see signal)
  • 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

33
Bus Interconnection Scheme
34
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

35
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

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

37
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

38
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

39
Traditional (ISA)(with cache)
40
High Performance Bus
41
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

42
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

43
Centralised Arbitration
  • Single hardware device controlling bus access
  • Bus Controller
  • Arbiter
  • May be part of CPU or separate

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

45
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

46
Synchronous Timing Diagram
47
Asynchronous Timing Read Diagram
48
Asynchronous Timing Write Diagram
49
PCI Bus
  • Peripheral Component Interconnection (PCI)
  • Intel released to public domain
  • 32 or 64 bit
  • 50 lines

50
PCI Bus Lines (required)
  • Systems lines
  • Including clock and reset
  • Address Data
  • 32 time mux lines for address/data
  • Interrupt validate lines
  • Interface Control
  • Arbitration
  • Not shared
  • Direct connection to PCI bus arbiter
  • Error lines

51
PCI Bus Lines (Optional)
  • Interrupt lines
  • Not shared
  • Cache support
  • 64-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

52
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

53
PCI Read Timing Diagram
54
PCI Bus Arbitration
55
Foreground Reading
  • Stallings, chapter 3 (all of it)
  • www.pcguide.com/ref/mbsys/buses/
  • In fact, read the whole site!
  • www.pcguide.com/
Write a Comment
User Comments (0)
About PowerShow.com