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
-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.
0 comments: