Please enable JavaScript.
Coggle requires JavaScript to display documents.
CHAPTER 1: [THE COMPUTER SYSTEM] Understand I/O in Computer System -…
CHAPTER 1: [THE COMPUTER SYSTEM] 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 one or more
peripheral devices by tailored data links.
• Acts as an interface with the CPU and memory
via the system bus or central switch.
I/O Devices
Input devices
Microphone
Scanner
Keyboard
Mouse
Output devices
Printer
Projector
Speaker
I/O Data Transfer
Asynchronous Serial Transfer
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
Asynchronous serial transmission is character oriented.
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
• 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.
• 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.
Characteristic of Isolated and 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
Separate address spaces
Need I/O or memory select lines
Special commands for I/O
Limited set
Transfer Mode
• Programmed I/O
• 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.
• Is the method of transferring data between
the CPU and a peripheral such as a network adapter or an ATA storage device.
• 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
• 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
• Overcomes the processor having to wait long
periods of time for I/O modules.
• Direct Memory Access
• 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 is a method of
transferring data between peripherals and
memory without using the CPU
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.
• 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 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.
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
• There may be multiple DMA devices in one system
– Processor and I/O controllers contend for bus cycles and for memory