Chapter 8 Flashcards
Input/Output
List and define
Three categories of External Devices
- Human Readable – video display terminals, printers
- Machine readable – mag disk and tape systems, sensors and actuators
- Communication – for communication with remote devices such as a terminal, machine readable device, or another computer
List
Major functions for an I/O module
- Control and timing
- Processor communication
- Device communication
- Data buffering
- Error detection
List
Three possible techniques for I/O operations
Programmed I/O
Interrupt-driven I/O
Direct memory access I/O (DMA)
Define
Programmed I/O
Data are exchanged between the processor and the I/O module.
Processor executes a program that gives it direct control of the I/O operation.
When the processor issues a command it must wait for the I/O operation to complete.
If the processor is faster than the I/O module, this is wasteful of processor time
Transfer through processor, does not use interrupts
Define
Interrupt-driven I/O
Processor issues an I/O command, continues to execute other instructions, and is interrupted by the I/O module when the latter has completed its work.
Transfer through processor, uses interrupts
Define
Direct memory access (DMA)
The I/O module and mm exchange data directly without processor involvement. Most efficient method for moving large volumes of data.
Transfer straight to main memory, uses interrupts
Describe
Drawbacks of Programmed and Interrupt-drive I/O
- The I/O transfer rate is limited by the speed with which the processor can test and service a device.
- The processor is tied up in managing an I/O transfer; a number of instructions must be executed for each I/O transfer
List and define
Four types of I/O commands
- Control – used to activate peripheral and tell it what to do
- Test – tests status conditions of I/O and peripherals
- Read – obtains data from peripheral and places in internal buffer
- Write – causes I/O module to take data from data bus and transmit to peripheral
Define
I/O mapping summary
two types
Memory mapped I/O – devices and memory share an address space. I/O looks just like r/w, no special commands.
Isolated I/O – separate address spaces. Needs I/O or memory select lines. Special commands (limited set)
Describe
Two design issues with implementing interrupt I/O
- Because there will be multiple I/O modules, how does the processor determine which device issued the interrupt?
- If multiple interrupts have occured, how does the processor decide which one to process?
List
4 general categories of techniques to identify which device interrupted
- Multiple interrupt lines
- Software poll
- Daisy chain (hardware poll, vectored)
- Bus arbitration (vectored)
Define
Multiple interrupt lines
Between the processor and I/O modules. Most straightforward approach. Even if multiple lines are used, likely that each line will have multiple I/O modules attached to it.
Define
Software poll
When the processor detects and interrupt it branches to an interrupt service routine whose job is to poll each I/O module to determine which module caused the interrupt. Time consuming.
Define
Daisy chain
interrupts
The interrupt acknowledge line is daisy chained through the modules. Vector -address of the I/O module or some other unique identifier. Vector interrupt - processor uses the vector as a pointer to the appropriate device service routine, avoiding the need to execute a general interrupt service routine first.
Define
Bus arbitration
An I/O module must first gain control of the bus before it can raise the interrupt request line. When the processor detects the interrupt it responds on the interrupt acknowledge line. Then the requesting module places its vector on the data lines.