William Stallings Computer Organization and Architecture 9 Edition
William Stallings Computer Organization and Architecture 9 Edition
William Stallings
Computer Organization
and Architecture
9th Edition
+
Chapter 7
Input/Output
+
Generic
Model
of an I/O Module
+
External Devices
Processor
Error detection communication
• Detects and reports • Involves command
transmission errors decoding, data, status
The major reporting, address
recognition
functions for an
I/O module fall
into the
following
categories:
+
+
I/O Commands
There are four types of I/O commands that an I/O module may receive when
it is addressed by a processor:
1) Control
- used to activate a peripheral and tell it what to do
2) Test
- used to test various status conditions associated with an I/O module and its
peripherals
3) Read
- causes the I/O module to obtain an item of data from the peripheral and place
it in an internal buffer
4) Write
- causes the I/O module to take an item of data from the data bus and
subsequently transmit that data item to the peripheral
Three
Techniques
for Input of a
Block of Data
I/O Instructions
With programmed I/O there is a close correspondence between the I/O-related instructions
that the processor fetches from memory and the I/O commands that the processor issues to
an I/O module to execute the instructions
Thus each I/O module There is a single address space for memory A single read line and a single write line are
must interpret the locations and I/O devices needed on the bus
address lines to
determine if the
command is for itself
+
I/O Mapping Summary
Isolated I/O
Separate address spaces
Need I/O or memory select lines
Special commands for I/O
Limited set
Memory
Mapped
I/O
Isolated
I/O
+
Interrupt-Driven I/O
The problem with programmed I/O is that the processor has to wait a long
time for the I/O module to be ready for either reception or transmission of
data
The I/O module will then interrupt the processor to request service when it
is ready to exchange data with the processor
The processor executes the data transfer and resumes its former processing
+
Simple Interrupt
Processing
+
Changes
in Memory
and Registers
for an
Interrupt
Design Issues
Intel
82C59A
Interrupt
Controller
+ Intel 82C55A
Programmable Peripheral Interface
+
Keyboard/Display
Interfaces to
82C55A
Drawbacks of Programmed and Interrupt-
Driven I/O
+
When large volumes of data are to be moved a more efficient
technique is direct memory access (DMA)
+
Typical DMA
Module Diagram
DMA
DMA
+
DMA Operation
+
Alternative
DMA
Configurations
8237 DMA Usage of System Bus
+
Fly-By DMA Controller
E/D = enable/disable
TC = terminal count
+
Evolution of the I/O Function
7.3
7.4
7.5
7.6
7.7
7.9
7.12
7.14
7.15
7.17
7.20