I/O Organization in Microprocessors
A computer system is comprised of three main functional
blocks:
- A central processing unit
- Main memory
- Input/output (I/O)
The I/O section of the computer can be broken down into
two parts.
- The I/O devices themselves (peripherals)
- The I/O modules
I/O Modules
It is not possible to simply connect I/O devices directly
to the system bus for several reasons.
- There are many different types of device, each with
a different method of operation, e.g. monitors, disk drives, keyboards.
It is impracticable for a CPU to be aware of the operation of every type
of device, particularly as new devices may be designed after the CPU has
been produced.
- The data transfer rate of most peripherals is much
slower than that of the CPU. The CPU cannot communicate directly with
such devices without slowing the whole system down.
- Peripherals will often use different data word sizes
and formats than the CPU.
For this reason a computer system must use I/O modules,
components which interface between the CPU and the peripherals. An I/O module
has several functions.
- Controlling the peripheral and synchronizing its
operation with that of the CPU
- Communicating with the CPU through the system bus
- Communicating with the peripheral through an I/O
interface
- Buffering data
- Error detection
An I/O module consists of several parts.
- A connection to the system bus
- Some control logic
- A data buffer
- An interface to the peripheral(s)
The following diagram shows a system configuration for
a CPU with two I/O devices connected to it:

NEXT
STOP: I/O Concepts: Implementation Alternatives:
Programmed I/O