Please enable JavaScript.
Coggle requires JavaScript to display documents.
THE COMPUTER SYSTEM Part 3: Understand I/O in Computer System - Coggle…
THE COMPUTER SYSTEM
Part 3: Understand I/O in Computer System
I/O Module
The term I/O is used to describe any program,
operation or device that transfers data to or from a computer and to or from a peripheral
device.
Every transfer is an output from one device and
an input into another
Devices such as keyboards and mouses are
input-only devices while devices such as printers are output-only. A writable CD-ROM is both an
input and an output device.
I/O Module Function
Acts as an interface with the CPU and memory
via the system bus or central switch.
Acts as an interface with one or more
peripheral devices by tailored data links.
I/O Data Transfer
Asynchronous Serial Transfer
Asynchronous serial transmission is character oriented.
Each character transmitter consists of a start bit,
character bits, and stop bits.
The first bit is called the start bit. It is always a 0 and is used to indicate the beginning of a character
The last bit called the stop bit is always a 1. In
asynchronous transmission, binary information is sent only when it is available and the line remains idle when there is no information to be transmitted.
Asynchronous Communication Interface
Is the transmission of data without the use of an external clock signal, where data can be transmitted continuously rather than in a steady
stream.
The most significant aspect of asynchronous
communications is variable bit rate, or that the transmitter and receiver clock generators do not
have to be exactly synchronized.
Characteristic of isolated & memory mapped I/O
Isolated I/O uses a special class of CPU
instructions specifically for performing I/O. This is generally found on Intel microprocessors,
specifically the IN and OUT instructions which can read and write one to four bytes (outb, outw,
outl) to an I/O device.
The processor and the I/O device have different
memory located to each other
Memory mapped I/O is one where
the processor and the I/O device share the same memory location(memory).
Memory mapped I/O
Devices and memory share an address
space
I/O looks just like memory read/write
No special commands for I/O
Large selection of memory access
commands available
Isolated I/O
Need I/O or memory select lines
Special commands for I/O
Separate address spaces
Limited set
Transfer Mode
Programmed I/O
Interrupt-Initiated I/O
Direct Memory Access
Programmed I/O
Is the method of transferring data between
the CPU and a peripheral such as a network adapter or an ATA storage device.
In general, programmed I/O happens when
software running on the CPU uses instructions that access I/O address space to perform data
transfers to or from an I/O device.
The best known example of a PC device that
uses programmed I/O is the ATA interface.
Programmed I/O refers to using input and
output instructions to transfer data between memory and the registers on a peripheral
interface.
Data are exchanged between the CPU and the I/O
module.
The CPU executes a program that gives it direct
control of the I/O operation, including sensing device status, sending a read or write command
and transferring data.
When CPU issues a command to I/O module, it
must wait until I/O operation is complete.
If the CPU is faster than I/O module, there is
wastage of CPU time.
Advantage
Simple to implement
Disadvantage
CPU is tied up for the duration of the transfer
while doing a relatively simple task
Interrupt-Initiated I/O
Overcomes the processor having to wait long
periods of time for I/O modules.
The processor does not have to repeatedly
check the I/O module status.
Summary :
Overcomes CPU waiting
No repeated CPU checking of device
I/O module interrupts when ready
Direct Memory Access
Direct Memory Access is a method of
transferring data between peripherals and memory without using the CPU.
Sometimes, CPU may not be fast enough to
keep up with the peripheral.
In this case a special-purpose processor called
a DMA controller (DMAC) can be used to transfer data between memory and I/O
devices.
Direct Memory Access Controller (DMAC)
The DMA controller periodically takes over
control of the system bus from the CPU.
DMAC generates address, data and control
signals to transfer data between memory and I/O devices.
Direct Memory Access (DMA)
For high-bandwidth devices (like disks) interrupt-driven I/O would consume a lot of processor cycles
DMA – the I/O controller has the ability to transfer data directly to/from the memory without involving the processor
The processor initiates the DMA transfer by supplying the I/O device address, the operation to be performed, the memory address destination/source, the number of bytes to transfer
The I/O DMA controller manages the entire transfer (possibly
thousand of bytes in length), arbitrating for the bus
When the DMA transfer is complete, the I/O controller interrupts the processor to let it know that the transfer is complete
There may be multiple DMA devices in one system
Processor and I/O controllers contend for bus cycles and for
memory