Input Output Organization
Input Output Organization
INPUT/OUTPUT SUBSYSTEM
The I/O subsystem of a computer provides an efficient mode of communication between the
central system and the outside environment. It handles all the input-output operations of the
computer system.
PERIPHERAL DEVICES
Input or output devices that are connected to computer are called peripheral devices. These
devices are designed to read information into or out of the memory unit upon command from the
CPU and are considered to be the part of computer system. These devices are also called
peripherals.
For example: Keyboards, display units and printers are common peripheral devices.
1. Input peripherals: Allows user input, from the outside world to the computer.
2. Output peripherals: Allows information output, from the computer to the outside world.
1. CPU Interface
2. I/O Interface
INPUT-OUTPUT INTERFACE
Peripherals connected to a computer need special communication links for interfacing with CPU.
In computer system, there are special hardware components between the CPU and peripherals to
control or manage the input-output transfers. These components are called input-output
interface units because they provide communication links between processor bus and
peripherals. They provide a method for transferring information between internal system and
input-output devices.
1. Separate set of address, control and data bus to I/O and memory.
2. Have common bus (data and address) for I/O and memory but separate control lines.
3. Have common bus (data, address, and control) for I/O and memory.
In first case it is simple because both have different set of address space and instruction but
require more buses.
ISOLATED I/O
Then we have Isolated I/O in which we Have common bus(data and address) for I/O and
memory but separate read and write control lines for I/O. So when CPU decode instruction then
if data is for I/O then it places the address on the address line and set I/O read or write control
line on due to which data transfer occurs between CPU and I/O. As the address space of memory
and I/O is isolated and the name is so. The address for I/O here is called ports. Here we have
different read-write instruction for both I/O and memory.
1) Programmed I/O
Priority Interrupt
System that establishes a priority over the various sources to determine which condition is to be
serviced first when two or more requests arrive simultaneously.
Polling
VAD
Vector address in the data bus used by the CPU during the device interrupt cycle.
The communication between the IOP and the devices is similar to the program control method of
transfer. And the communication with the memory is similar to the direct memory access
method. In large scale computers, each processor is independent of other processors and any
processor can initiate the operation. The CPU can act as master and the IOP act as slave
processor. The CPU assigns the task of initiating operations but it is the IOP, who executes the
instructions, and not the CPU. CPU instructions provide operations to start an I/O transfer. The
IOP asks for CPU through interrupt. Instructions that are read from memory by an IOP are also
called commands to distinguish them from instructions that are read by CPU. Commands are
prepared by programmers and are stored in memory. Command words make the program for
IOP. CPU informs the IOP where to find the commands in memory.
The CPU sends a test I/O instruction to IOP to test the IOP path.
The responds by inserting a status word in memory location.
The CPU refers to the status word in memory. If everything is in order, the CPU sends the start
I/O instruction to start the I/O transfer.
· The CPU can now continue with another program while the IOP is busy with the program. Both
programs refer to memory by means of DMA transfer.
When the IOP terminates the execution of its program, it sends an interrupt request to the
CPU.
· The status word indicates whether the transfer has been completed satisfactorily or if any error
has occurred during the transfer.