Sunday 16 December 2012

Input/Output Architecture


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