Input Output Interface



Intro

Well if you think I/O is just a weird symbol, then you have come to the right place my friend. Input output(I/O) modules is the third key element of in a computer system, its job is to enable the user to communicate with the computer and vice versa. Unfortunately there are alot of peripherals and they are all slower than the CPU and RAM and there is a need to I/O modules.


External Devices

External devices are the tools that you use to interact with the computer, it exchange control, status and data with the i/o module. There are three main categories of external devices which are.
1. Human readable ( Keyboard, printer, SPEAKERS)
2. Machine readable ( Magnetic disk and tape systems)
3. Communication ( Network interface card)


External device block

The external device block contains
Control signals (determine the function that the device will perform)
Status signals ( indicate the state of the device)
Control logic ( associated with the device controls the device’s operation in response to direction from the I/O module)
Transducer ( converts data from electrical to other forms of energy doting output and input)
Buffer( to hold the data temporarily)


I/O Module Function

Control and Timing

Coordinate the flow of traffic between external devices and internal resource
Steps:

CPU checks I/O module device status
I/O module returns status
If ready, CPU requests data transfer
I/O module gets data from device
I/O module transfers data to CPU
Variations for output, DMA, etc.

Process communication

Command decoding in I/O module, data exchange and CPU assigning unique address for each I/O module.

Device communication

Involves commands, status information and data

Data Buffering

Buffer data in I/O module and sent to the peripherals at its data rate.

Error detection

Report errors to the processor.


Input Output Techniques

Programmed

1. Data are exchanged between the processor and the I/O module
2. CPU have direct control over I/O
3. CPU will Periodically checks for i.o to see if it needs the CPU's service
4. Waste CPU time

Interrupt driven

1. Overcomes CPU waiting
2. No repeated CPU checking of device
3. I/O module interrupts when ready

Direct Memory Access (DMA)

1. Interrupt driven and programmed I/O require active CPU intervention
2. DMA is the answer
3. Advantage: Alot of data can be transferred Between memory and the peripherals without severely impacting CPU performance

How the change happened

1. The CPU directly controls a peripheral device.
2. A controller or I/O module is added.  The CPU uses programmed I/O without interrupts.
3. Same configuration as in step 2 is used, but now interrupts are employed.  The CPU need not spend time waiting for an I/O operation to be performed, thus increasing efficiency.
4. The I/O module is given direct access to memory via DMA.  It can now move a block of data to or from memory without involving the CPU, except at the beginning and end of the transfer.
5. The I/O module is enhanced to become a processor in its own right, with a specialized instruction set tailored for I/O.
6. The I/O module has a local memory of its own and is, in fact, a computer in its own right.  With this architecture a large set of I/O devices can be controlled with minimal CPU involvement.

External Interface

-Connecting devices together
-Parallel vs. serial data transfers
  -Serial ports are used for serial data transfers especially for slower devices like mouse, keyboard and the         common standard.
  -Parallel ports are used for faster parallel devices like printer, scanner, zip drive.
-Others: USB, SCSI, Fire Wire

Conclusion

~I/O system consists of the I/O Module (interface), I/O devices, driver software to enable communication between OS with devices.
~Input / Output problems mainly stemmed from differences in terms of transfer rate and data formats from peripherals compared to CPU (processor).
~Generally, I/O devices (peripherals) are slower than CPU or RAM and need I/O modules to as an interface to the CPU and RAM via the System bus.
~3 Principal I/O techniques are programmed I/O, interrupt driven I/O and DMA.

About the author

Admin
Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus. Aenean fermentum, eget tincidunt.

0 comments:

Template by GagakHitam
Copyright © 2012 Gagak Hitam and Hishamuddin.