No Slide Title

Download Report

Transcript No Slide Title

Chapter 9: Input/Output
The Architecture of Computer Hardware
and Systems Software:
An Information Technology Approach
3rd Edition, Irv Englander
John Wiley and Sons 2003
Wilson Wong, Bentley College
Linda Senne, Bentley College
Basic Model
 Processing speed or program execution
 determined primarily by ability of I/O
operations to stay ahead of processor.
Input
Chapter 9 Input / Output
Process
Output
9-2
I/O Considerations
Speed Issues
 CPU operates at speeds much faster than the fastest I/O
device
 Devices operate at different speeds
 Bursts of data
 Block data transfer required for some devices
Coordination




Several devices perform I/O simultaneously
Unexpected input
Various input formats
Status information needed for each device
Chapter 9 Input / Output
9-3
I/O Device Interface Issues
 Different formats
 parallel interface
 serial interface
 Buffering of data
 Burst vs. stream
 Different control requirements
 electromechanical
Chapter 9 Input / Output
9-4
Examples of I/O Devices
Chapter 9 Input / Output
9-5
Simple I/O Configuration
Chapter 9 Input / Output
9-6
I/O Modules Functions
 Recognizes messages from device(s) addressed to it
and accepts commands from the CPU
 Provides a buffer where the data from memory can be
held until it can be transferred to the disk
 Provides the necessary registers and controls to
perform a direct memory transfer
 Physically controls the device
 Copies data from its buffer to the device/from the
CPU to its buffer
 Notifies with interrupts
Chapter 9 Input / Output
9-7
Input/Output Modules
 Programmed I/O
 CPU controlled I/O
 Interrupt Driven I/O
 External input controls
 Direct Memory Access Controllers
 Method for transferring data between main
memory and a device that bypasses the
CPU
Chapter 9 Input / Output
9-8
Programmed I/O
 I/O data and address registers in CPU
 One word transfers
 Address information for each I/O device
 LMC I/O capability for 100 devices
 Full instruction fetch/execute cycle
 Primary use:
 keyboards
 communication with I/O modules (see DMA)
Chapter 9 Input / Output
9-9
Programmed I/O
Chapter 9 Input / Output
9-10
Programmed I/O Example
Chapter 9 Input / Output
9-11
Programmed I/O Example
Chapter 9 Input / Output
9-12
Interrupts
 Signal that causes the CPU to alter its
normal flow on instruction execution
 frees CPU from waiting for events
 provides control for external input
 Examples




unexpected input
abnormal situation
illegal instructions
multitasking, multiprocessing
Chapter 9 Input / Output
9-13
The CPU - The Interrupt Cycle
 Fetch / Execute cycle
 Interrupt cycle
START
Fetch Next
Instruction
HALT
Execute
Instruction
Interrupts Disabled
Check/Process
Interrupt
Chapter 9 Input / Output
9-14
Interrupt Terminology
 Interrupt lines (hardware)
 Interrupt request
 Interrupt handlers
 Program that services the interrupt
 Also known as an interrupt routine
 Process Control Block (PCB)
 Located in a part of memory known as the stack
area
 All registers of a program are saved here before
control is transferred to the interrupt handler
Chapter 9 Input / Output
9-15
Interrupt Terminology
 Servicing the interrupt
 suspends program in progress
 saves pertinent information including last
instruction executed and data values in
registers in the PCB (process control
block)
 branches to interrupt handler
Chapter 9 Input / Output
9-16
Servicing an Interrupt
Chapter 9 Input / Output
9-17
Use of Interrupts
 Notify that an external event has occurred
 real-time or time-sensitive
 Signal completion
 printer ready or buffer full
 Allocate CPU time
 time sharing
 Indicate abnormal event (CPU originates for
notification and recovery)
 illegal operation, hardware error
 Software interrupts
Chapter 9 Input / Output
9-18
Multiple Interrupts
 Identifying devices
 Polling (checking for input in rotation)
 Vectored interrupts (include address of
interrupting device)
 Interrupt priorities
 Loss of data vs. task completion
 Maskable (disabled) interrupts
Chapter 9 Input / Output
9-19
Vectored Interrupts
Chapter 9 Input / Output
9-20
Polled Interrupts
Chapter 9 Input / Output
9-21
Multiple Interrupts Example
Chapter 9 Input / Output
9-22
Direct Memory Access




Transferring large blocks of data
Direct transfer to and from memory
CPU not actively involved in transfer itself
Required conditions for DMA
 The I/O interface and memory must be connected
 The I/O module must be capable of reading and
writing to memory
 Conflicts between the CPU and the I/O module
must be avoided
Chapter 9 Input / Output
9-23
DMA Instruction Set

Application program requests I/O service
from operating system


privileged instructions
To initiate DMA, programmed I/O is used to
send the following information:
1.
2.
3.
4.

location of data on I/O device
the starting location in memory
the size of the block
read/write
Interrupt to CPU upon completion
Chapter 9 Input / Output
9-24
DMA Initiation and Control
Chapter 9 Input / Output
9-25
Basic CPU-Memory-I/O Pathway*
Chapter 9 Input / Output
9-26
Bus Configuration
Chapter 9 Input / Output
9-27
Bus Characteristics
 Data width in bits carried simultaneously
 Throughput, i.e., data transfer rate in
bits per second
 Point-to-Point vs. Multipoint
 Parallel vs. Serial
 Use
 Distance
 Protocol
Chapter 9 Input / Output
9-28
Bus Hierarchy
 Processor bus: on-chip
 Cache bus (backside bus)
 Memory bus (front-side bus)
 connects the memory subsystem and processor
 Local I/O bus
 high-speed bus used to connect performance
critical peripherals to memory and processor
 Examples: PCI, VESA Local Bus
 Standard I/O bus
 connects slower peripherals (ISA) to Local I/O bus
Chapter 9 Input / Output
9-29
Wintel Bus Systems




ISA: Industry Standard Architecture
MCA: Micro Channel Architecture
EISA: Extended Industry Standard Architecture
Local Bus
 PCI: Peripheral Component Interconnect (also Apple, Sun,
Compaq Alpha Server)
 VLB: VESA (Video Electronics Standards Association) Local Bus
 AGP: Accelerated Graphics Port
 Point-to-point channel from graphics controller to main
memory
 Co-exists with PCI
Chapter 9 Input / Output
9-30
Compaq 7000 and 10000
System Architecture
Chapter 9 Input / Output
9-31
External Interface Buses and Ports
 Parallel port
 Serial port
 RS-232C and RS-422 buses
 SCSI
 Small Computer System Interface
 USB, USB-2
 Universal Serial Bus
 IEEE 1394
 Firewire
 i.link
Chapter 9 Input / Output
9-32
SCSI Bus
 ANSI standard but multiple variations
 Really an I/O bus rather than simple interface
 Supports multiple devices from a single SCSI port
Chapter 9 Input / Output
9-33
USB
 Multipoint bus
 Hubs provide
multiple connection
points for I/O devices
 Supports 127 devices
Topology Example
Root
Hub
Hub
Hub
Hub
Chapter 9 Input / Output
9-34
USB and FireWire (IEEE 1394)
 Both serial, multipoint bus specifications
 Add/remove devices w/o powering
down
 Packet protocol for isochronous data
transfer
 Isochronous: delivery at regular time
intervals
 Guarantee specified throughput
Chapter 9 Input / Output
9-35
USB vs. FireWire
 USB: slow to medium speed data
transfer applications, i.e., storage
devices
 12 Mbits/sec
 USB-2: high-speed data transfer
 480Mbits/sec
 FireWire: high-speed data transfer, i.e.,
full motion video with sound
 400 Mbits/sec to 3.2 Gbits/sec
Chapter 9 Input / Output
9-36
Typical FireWire Configuration
 Network-like characteristics
 Device controllers independent
Chapter 9 Input / Output
9-37
Channel Architecture
 Used in IBM mainframe computers
 Channel subsystem
 Separate I/O processor that serves as a CPU for
I/O operations
 Channel control words
 Programs that transfer data between memory and
an I/O device using DMA
 Subchannels
 Connected to a control unit module through one or
more channel paths
 Similar role to a device controller
Chapter 9 Input / Output
9-38
I/O Channel Architecture
Chapter 9 Input / Output
9-39
Copyright 2003 John Wiley & Sons
All rights reserved. Reproduction or translation of this
work beyond that permitted in Section 117 of the 1976
United States Copyright Act without express permission
of the copyright owner is unlawful. Request for further
information should be addressed to the permissions
Department, John Wiley & Songs, Inc. The purchaser
may make back-up copies for his/her own use only and
not for distribution or resale. The Publisher assumes no
responsibility for errors, omissions, or damages caused
by the use of these programs or from the use of the
information contained herein.”
Chapter 9 Input / Output
9-40