Chapter7 Input Output Organization PDF
Chapter7 Input Output Organization PDF
Chapter7 Input Output Organization PDF
Chapter – 7
Input-Output organization
7.1 Peripheral devices
In addition to the processor and a set of memory modules, the third key element of a
computer system is a set of input-output subsystem referred to as I/O, provides an
efficient mode of communication between the central system and the outside
environment.
Programs and data must be entered into computer memory for processing and results
obtained from computations must be recorded or displayed for the user.
Devices that are under the direct control of the computer are said to be connected on-
line. These devices are designed to read information into or out of the memory unit
upon command from CPU.
Input or output devices attached to the computer are also called peripherals.
Among the most common peripherals are keyboards, display units, and printers.
Perhaps those provide auxiliary storage for the systems are magnetic disks and tapes.
Peripherals are electromechanical and electromagnetic devices of some complexity.
We can broadly classify peripheral devices into three categories:
o Human Readable: Communicating with the computer users, e.g. video
display terminal, printers etc.
o Machine Readable: Communicating with equipments, e.g. magnetic disk,
magnetic tape, sensor, actuators used in robotics etc.
o Communication: Communicating with remote devices means exchanging
data with that, e.g. modem, NIC (network interface Card) etc.
Control logic associated with the device controls the device's operation in
response to direction from the I/O module.
The transducer converts data from electrical to other forms of energy during
output and from other forms to electrical during input.
Buffer is associated with the transducer to temporarily hold data being transferred
between the I/O module and external devices i.e. peripheral environment.
Input Device
Keyboard
Optical input devices
o Card Reader
o Paper Tape Reader
o Optical Character Recognition (OCR)
o Optical Bar code reader (OBR)
o Digitizer
o Optical Mark Reader
Magnetic Input Devices
o Magnetic Stripe Reader
o Magnetic Ink Character Recognition (MICR)
Screen Input Devices
o Touch Screen
o Light Pen
o Mouse
Analog Input Devices
Output Device
Card Puncher, Paper Tape Puncher
Monitor (CRT, LCD, LED)
Printer (Impact, Ink Jet, Laser, Dot Matrix)
Plotter
Analog
Voice
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 2
Computer Organization and Architecture Chapter 7 : Input-Output Organization
o Synchronizes the data flow and supervises the transfer rate between peripheral
and CPU or Memory
I/O commands that the interface may receive:
o Control command: issued to activate the peripheral and to inform it what to do.
o Status command: used to test various status conditions in the interface and the
peripheral.
o Output data: causes the interface to respond by transferring data from the bus into
one of its registers.
o Input data: is the opposite of the data output.
Memory-mapped I/O
o A single set of read/write control lines (no distinction between memory and I/O
transfer)
o Memory and I/O addresses share the common address space which reduces memory
address range available
o No specific input or output instruction so the same memory reference instructions can
be used for I/O transfers
o Considerable flexibility in handling I/O operations
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 6
Computer Organization and Architecture Chapter 7 : Input-Output Organization
Information in each port can be assigned a meaning depending on the mode of operation
of the I/O device
o Port A = Data; Port B = Command; Port C = Status
CPU initializes (loads) each port by transferring a byte to the Control Register
o Allows CPU can define the mode of operation of each port
o Programmable Port: By changing the bits in the control register, it is possible to
change the interface characteristics
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 7
Computer Organization and Architecture Chapter 7 : Input-Output Organization
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 8
Computer Organization and Architecture Chapter 7 : Input-Output Organization
I/O device places the data on the I/O bus and enables its data valid signal
The interface accepts the data in the data register and sets the F bit of status
register and also enables the data accepted signal.
Data valid line is disables by I/O device.
CPU is in a continuous monitoring of the interface in which it checks the F bit of
the status register.
o If it is set i.e. 1, then the CPU reads the data from data register and sets F
bit to zero
o If it is reset i.e. 0, then the CPU remains monitoring the interface.
Interface disables the data accepted signal and the system goes to initial state
where next item of data is placed on the data bus.
Characteristics:
Continuous CPU involvement
CPU slowed down to I/O speed
Simple
Least hardware
Polling, or polled operation, in computer science, refers to actively sampling the status of an
external device by a client program as a synchronous activity. Polling is most often used in terms
of input/output (I/O), and is also referred to as polled I/O or software driven I/O.
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 9
Computer Organization and Architecture Chapter 7 : Input-Output Organization
The problem with programmed I/O is that the processor has to wait a long time for
the I/O module of concern to be ready for either reception or transmission of data.
The processor, while waiting, must repeatedly interrogate the status of the I/O
module. As a result, the level of the performance of the entire system is severely
degraded. An alternative is for the processor to issue an I/O command to a module
and then go on to do some other useful work. The I/O module will then interrupt the
processor to request service when it is ready to exchange data with processor. The
processor then executes the data transfer, and then resumes its former processing. The
interrupt can be initiated either by software or by hardware.
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 10
Computer Organization and Architecture Chapter 7 : Input-Output Organization
Priority Interrupt
Determines which interrupt is to be served first when two or more requests are
made simultaneously
Also determines which interrupts are permitted to interrupt the computer while
another is being serviced
Higher priority interrupts can make requests while servicing a lower priority
interrupt
2. Parallel Priority
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 12
Computer Organization and Architecture Chapter 7 : Input-Output Organization
Priority Encoder
Determines the highest priority interrupt when more than one interrupts take place
Interrupt Cycle
At the end of each Instruction cycle
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 13
Computer Organization and Architecture Chapter 7 : Input-Output Organization
The transfer of data between the peripheral and memory without the interaction of CPU
and letting the peripheral device manage the memory bus directly is termed as Direct
Memory Access (DMA).
The transfer of data between the memory and I/O of course facilitates in two ways which
are DMA Burst and Cycle Stealing.
DMA Burst: The block of data consisting a number of memory words is transferred at a
time.
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 14
Computer Organization and Architecture Chapter 7 : Input-Output Organization
Cycle Stealing: DMA transfers one data word at a time after which it must return control
of the buses to the CPU.
CPU is usually much faster than I/O (DMA), thus CPU uses the most of the
memory cycles
DMA Controller steals the memory cycles from CPU
For those stolen cycles, CPU remains idle
For those slow CPU, DMA Controller may steal most of the memory cycles
which may cause CPU remain idle long time
DMA Controller
The DMA controller communicates with the CPU through the data bus and control lines.
DMA select signal is used for selecting the controller, the register select is for selecting
the register. When the bus grant signal is zero, the CPU communicates through the data
bus to read or write into the DMA register. When bus grant is one, the DMA controller
takes the control of buses and transfers the data between the memory and I/O.
The address register specifies the desired location of the memory which is incremented
after each word is transferred to the memory. The word count register holds the number
of words to be transferred which is decremented after each transfer until it is zero. When
it is zero, it indicates the end of transfer. After which the bus grant signal from CPU is
made low and CPU returns to its normal operation. The control register specifies the
mode of transfer which is Read or Write.
DMA Transfer
DMA request signal is given from I/O device to DMA controller.
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 15
Computer Organization and Architecture Chapter 7 : Input-Output Organization
DMA sends the bus request signal to CPU in response to which CPU disables its current
instructions and initialize the DMA by sending the following information.
o The starting address of the memory block where the data are available (for read)
and where data to be stored (for write)
o The word count which is the number of words in the memory block
o Control to specify the mode of transfer
o Sends a bust grant as 1 so that DMA controller can take the control of the buses
o DMA sends the DMA acknowledge signal in response to which peripheral device
puts the words in the data bus (for write) or receives a word from the data bus (for
read).
DMA Operation
CPU tells DMA controller:-
o Read/Write
o Device address
o Starting address of memory block for data
o Amount of data to be transferred
CPU carries on with other work
DMA controller deals with transfer
DMA controller sends interrupt when finished
A computer may incorporate one or more external processors and assign them the task of
communicating directly with the I/O devices so that no each interface need to communicate with
the CPU. An I/O processor (IOP) is a processor with direct memory access capability that
communicates with I/O devices. IOP instructions are specifically designed to facilitate I/O
transfer. The IOP can perform other processing tasks such as arithmetic logic, branching and
code translation.
The memory unit occupies a central position and can communicate with each processor by
means of direct memory access. The CPU is responsible for processing data needed in the
solution of computational tasks. The IOP provides a path for transferring data between various
peripheral devices and memory unit.
In most computer systems, the CPU is the master while the IOP is a slave processor. The CPU
initiates the IOP and after which the IOP operates independent of CPU and transfer data between
the peripheral and memory. For example, the IOP receives 5 bytes from an input device at the
device rate and bit capacity. After which the IOP packs them into one block of 40 bits and
transfer them to memory. Similarly the O/P word transfer from memory to IOP is directed from
the IOP to the O/P device at the device rate and bit capacity.
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 17
Computer Organization and Architecture Chapter 7 : Input-Output Organization
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 18
Computer Organization and Architecture Chapter 7 : Input-Output Organization
A data communication (command) processor is an I/O processor that distributes and collects data
from remote terminals connected through telephone and other communication lines. In processor
communication, processor communicates with the I/O device through a common bus i.e. data
and control with sharing by each peripherals. In data communication, processor communicates
with each terminal through a single pair of wires.
The way that remote terminals are connected to a data communication processor is via telephone
lines or other public or private communication facilities. The data communication may be either
through synchronous transmission or through asynchronous transmission. One of the functions of
data communication processor is check for transmission errors. An error can be detected by
checking the parity in each character received. The other ways are checksum, longitudinal
redundancy check (LRC) and cyclic redundancy check (CRC).
Data can be transmitted between two points through three different modes. First is simplex
where data can be transmitted in only one direction such as TV broadcasting. Second is half
duplex where data can be transmitted in both directions at a time such as walkie-talkie. The third
is full duplex where data can be transmitted in both directions simultaneously such as telephone.
The communication lines, modems and other equipment used in the transmission of information
between two or more stations is called data link. The orderly transfer of information in a data
link is accomplished by means of a protocol.
Compiled By: Er. Hari Aryal [[email protected]] Reference: M. Mano & W. Stallings | 19