Hello!
Meet us again, discussing about another topic of Computer Organization and
Architecture called Input / Output Architecture. What is input? And what is
output? For sure, everybody know input devices right? It includes keyboard,
mouse, scanner, CD-Rom and also Game Controller. They are the devices the user
used to enter instructions to machine. In the other hand, output devices such
as monitor, printer, disk drive, floppy drive, CDRW-Rom and speakers are used
to produce the data from a machine.
Input/Output
devices can be characterized into behavior, partner and data rate. Behavior includes
input, output and storage. Partner is either the human or the machine, whereas
data rate is measured whether in bytes/sec or transfer/sec. The Input / Output
bus connection is figured out as below:
There
are 5 main functions of I/O modules that are control and timing, CPU communicating,
device communicating, data buffering and error detection.
In
‘control and timing’, CPU asks the module of I/O to check the status of
attached device. After the modules reports the ready status, CPU will request
for data transfer to module. The I/O modules will then gather the data before transferring
it to the CPU.
In
‘CPU communication’, there are four tasks which are Command Decoding, Device
Communication, Data Buffering and Error Detection. In command decoding, the
reading or writing of data exchange will take place. During this process, if
the peripherals are slow, status reporting will be executed. Address recognition
also take place in the mean time. Next, device communication usually includes
command, status information and data transfer. Data buffering is one needed to
solve speed problem. Lastly is the error detection such as paper jam and bad
data.
This
is the structure of Input / Output Module:
The
characteristic of I/O System is essential to be followed. The first one is
dependability, which is very important for storage devices. Next one is the
performance measures.
There
are two types of bus including Processor-Memory Buses and I/O Buses. Processor-memory
bus is short but has a high speed of data exchange, since its design matches
the memory organization. I/O bus is longer, allowing multiple connections and
is specified by standard for interoperability. This bus connect to
processor-memory bus through a bridge.
There
are several things in bus signals and synchronization. The data lines carry
address and data whether they are multiplexed or separated. The control lines
indicate the data type and also synchronize transactions. There are two type of
synchronization that is synchronous which uses a bus clock and asynchronous
that uses request control lines for handshaking.
Other
than that, I/O is mediated by the operating system. Five techniques of I/O are
programmed I/O (polling) which check I/O status periodically, interrupt driven
I/O, direct memory access which helps to free CPU from pure data transfer tasks,
memory mapped I/O in which address translation mechanism is used by the OS to
make register only accessible to kernel and also the isolated I/O which
separates the instructions to access I/O registers in kernel mode.
There
are two I/O transfer mode named as serial and parallel transfer. In serial
transfer, asynchronous clocking master clock the transfer and then slave derive
clock from the master, while the synchronous clocking is independent that makes
verification by synchronization pattern. In the other hand, data transfer in parallel
transfer involves sector reading and sector writing. The controlling includes
disk seek and then the transfer integrity transfer parity and also encodes the data.
I/O
performance depends on the hardware, software and workload that request rates
and patterns of the computer itself. I/O throughput is measured with constrained
response-time.
Amdahl’s
Law states that I/O performance can’t be neglected because parallelism
increases computer performance.
Next,
I/O system design must be satisfying latency requirements for time-critical
operations, maximization of throughput by balancing the remaining components in
the system and sufficient analysis according to system loading.
Those are everything to be said about input / output architecture. Now you see, it's not that hard to be mastered as long as you really want it. That's all for now. 'Till later!
^_^
No comments:
Post a Comment