0% found this document useful (0 votes)
35 views3 pages

Accesing IO

IO accessing methods in computer architecture

Uploaded by

muthukumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views3 pages

Accesing IO

IO accessing methods in computer architecture

Uploaded by

muthukumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Accessing I/O Devices

Accessing I/O Devices.: In computing, input/output, or I/O, refers to the


communication between an information processing system (computer), and the
outside world. Inputs are the signals or data received by the system, and outputs
are the signals or data sent from it. I/O devices are used by a person (or other
system) to communicate with a computer.
Some of the input devices are keyboard, mouse, track ball, joy stick, touch
screen, digital camera, webcam, image scanner, fingerprint scanner, barcode
reader, microphone and so on. Some of the output devices are speakers,
headphones, monitors and printers. Devices for communication between
computers, such as modems and network cards, typically serve for both input
and output. I/O devices can be connected to a computer through a single bus
which enables the exchange of information. The bus consists of three sets of
lines used to carry address, data, and control signals. Each I/O device is assigned
a unique set of addresses. When the processor places a particular address on the
address lines, the device that recognizes this address responds to the commands
issued on the control lines. The processor requests either a read or a write
operation, and the requested data are transferred over the data lines. Figure 5.1
shows the simple arrangement of I/O devices to processor and memory with
single bus.

Figure 5.1 A Single bus structure


Memory-mapped I/O: The arrangement of I/O devices and the memory share the
same address space is called memory-mapped I/O. With memory-mapped I/O, any
machine instruction that can access memory can be used to transfer data to or
from an I/O device. For example, if DATAIN is the address of the input buffer
associated with the keyboard, the instruction
Move DATAIN,R0
reads the data from DATAIN and stores them into processor register RO.
Similarly, the instruction
Move R0,DATAOUT
sends the contents of register R0 to location DATAOUT, which may be the output
data buffer of a display unit or a printer. Most computer systems use
memory-mapped I/O. Some processors have special In and Out instructions to
perform I/O transfers.

Figure 5.2 illustrates the hardware required to connect an I/O device to the bus.
The address decoder enables the device to recognize its address when this
address appears on the address lines. The data register holds the data being
transferred to or from the processor. The status register contains information
relevant to the operation of the I/O device. Both the data and status registers are
connected to the data bus and assigned unique addresses. The address decoder,
the data and status registers, and the control circuitry required to coordinate I/O
transfers constitute the device's interface circuit.
I/O devices operate at speeds that are vastly different from that of the processor.
When a human operator is entering characters at a keyboard, the processor is
capable of executing millions of instructions between successive character
entries. An instruction that reads a character from the keyboard should be
executed only when a character is available in the input buffer of the keyboard
interface. An input character is read only once.

For an input device such as a keyboard, a status flag, SIN, is included in the
interface circuit as part of the status register. This flag is set to 1 when a
character is entered at the keyboard and cleared to 0 once this character is read
by the processor. Hence, by checking the SIN flag, the software can ensure that it
is always reading valid data. This is often accomplished in a program loop that
repeatedly reads the status register and checks the state of SIN. When SIN
becomes equal to 1, the program reads the input data register. A similar
procedure can be used to control output operations using an output status flag,
SOUT.

You might also like