Professional Documents
Culture Documents
1
I/O Modules
2
Programmed I/O
Advantages
I/O operation in which CPU issues the I/O – Simple to implement
command to the I/O module – Requires very little special software or
CPU is in direct control of the operation hardware
– CPU waits until the I/O operation is completed
before it can perform other tasks
– Completion indicated by a change in the
module status bits
– CPU must periodically poll the module to check
its status
As a result of the speed difference between
a CPU and the peripheral devices (orders
of magnitude), programmed I/O wastes an
enormous amount of CPU processing
power
– Very inefficient
– CPU slowed to the speed of the peripheral
3
Interrupt-Driven I/O
4
Figure 6.4b Interrupt-driven I/O Figure 6.6 CPU’s response to an interrupt
5
Design issues -- with multiple modules and
thus multiple interrupts
– How does the CPU determine which device
caused the interrupt?
– If multiple interrupts occur at the same time,
which is processed first?
Interrupt determination
– Provide multiple interrupt signal lines for a
system
» Practical only for small numbers of
interrupts
– Use 1 interrupt for more than 1 device
» Must perform some sort of device polling to
determine which requested service
» Requesting device can place an ID on the
bus -- vectored interrupts
» Bus arbitration and vectored interrupts
Determination scheme prioritizes multiple
interrupts
Intel 8259 Interrupt Controller
6
Direct Memory Access
7
External Interface
DMA operates by “stealing” bus cycles
from the CPU The external interface, made with the I/O
– In practice, it uses the bus when the CPU is not module, must be tailored to the nature and
using it -- no impact on the CPU performance operation of the peripheral
– Accesses memory to retrieve a data word – Parallel vs. serial data transfers
– Forwards the word to the I/O peripheral – Data format conversions
– Transfer rates
– Number of devices supported
Examples
– RS-232 serial ports
– Game ports
– High speed I/O buses
» Support external mass storage devices and
multimedia devices
8
Small Computer System Interface (SCSI) P1394 High Performance Serial Bus
– Introduced by Apple in 1984 – High speed, low cost serial link
– Used to interface a wide variety of high speed – Gaining support in consumer electronics
devices to the computer system products as well as computer systems
– While called a “bus” it is really a mechanism to – Deliberately move away from parallel
daisy chain devices together connections with associated high cable and
– SCSI-1 connector costs
» Used 8-bit data bus width – Provide high speed serial link (25-400 Mbps)
» 5 MHz clock -- transfer rate of 5 MB/sec that is able to connect to many devices
» Supported up to 7 devices (compare to the 2 – Daisy chain up to 63 devices together on 1 bus,
of a typical IDE configuration) interconnect up to 1022 buses together through
bridging techniques
– SCSI-2
– Communication is based on a 3-layer protocol
» Current standard
» Physical layer
» Expands the bus width to 16 or 32 bits
» Link layer
» Clock rate of 10 MHz
» Transaction layer
» Supports wide variety of device types,
making I/O software in the host simplier