Input and output or I/O 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.
INPUT DEVICE
- Any machine that feeds data into a computer.
Example of input device is :
- keyboard : a typewriter-style device, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches.
image of keyboard |
- mouse : a pointing device that detects two-dimensional motion relative to a surface. This motion is typically translated into the motion of a pointer on a display, which allows for fine control of a graphical user interface.
image of mouse |
OUTPUT DEVICE
- any piece of computer hardware equipment used to communicate the results of data processing carried out by an information processing system (such as a computer) which converts the electronically generated information into human-readable form.
Example of output device
- disk drive : a device implementing such a storage mechanism and is usually distinguished from the disk medium.
I/O Bus Connection
- The Bus is simply a common set of wires that connect all the computer devices and chips together. Some of these wires are used to transmit data. Some send housekeeping signals, like the clock pulse. Some transmit a number (the "address") that identifies a particular device or memory location. The computer chips watch the address wires and respond when their identifying number is transmitted. They then transfer data on the other wires.
INPUT OUTPUT MODULE
I/O modules have their own function. and what is that?
FUNCTION OF INPUT OUTPUT MODULES
- Control and Timing - CPU ask I/O module check status attached device,then I/O module tell the status, After that if device already,CPU request for data transfer lastly I/O module gathers the data and transfers to the CPU.
- CPU Communicating - Can use Command Decoding,data,status reporting and Address recognition for the devices connected to it.
- Device Communication - Involves command, status information and data transfer.
- Data Buffering - To overcome speed mismatch.
- Error Detection - Allow detecting such errors, Like paper jam,bad data etc.
PREPARED BY : SITI ROSNIEZA EILISA BINTI JAMAL (B031410230)
INPUT/OUTPUT MODULE STRUCTURE
I/O Module
• I/O is functionally similar to memory, but usually much slower
• Like memory can read and write, but a single I/O module may handle more than one device
• Each interface of an I/O device is referred to as a port and given a unique address
• I/O devices also have external connections
• Ports numbered 0 to M-1 for M ports
• Think of port as an address in I/O space
• I/O devices can also generate interrupts
I/O SYSTEM CHARACTERISTICS
- Dependability is used
for storage devices and it is important.
- Performance measures based on latency or
response time,throughput(bandwidth) and embedded systems
- I/O bandwidth (throughput) – amount of information that can be input (output) and communicated across an interconnect (e.g., a bus) to the processor/memory (I/O device) per unit time
- I/O
response time (latency)
– the total elapsed time to accomplish an input or output operation
Important metrics for an I/O system
- Performance
- Expandability
- Dependability
- Cost, size, weight
INTERCONNECTING COMPONENTS
1.Need interconnections between
·
CPU, memory, I/O
controllers
2.Bus: shared communication channel
·
Parallel set of wires
for data and synchronization of data transfer
·
Can become a bottleneck
3.Performance limited by physical factors
- Wire length, number of connections
4.More recent alternative: high-speed serial
connections with switches
- Like networks
BUS : Interconnecting Components
Bus shared communication channel
·
Parallel set of wires
for data and synchronization of data transfer
Advantages of a bus:
·
Easy to add new devices
because the same set of shared wires connect all components
·
Low cost due to the shared wired
Disadvantage
·
Bottleneck: performance
of the system limited by the bus
BUS TYPES
1. Processor(Memory buses):
- Short, high speed
- Design is matched to memory organization
2. I/O buses:
- Longer, allowing multiple connections
- Specified by standards for interoperability
- Connect to processor-memory bus through a bridge
I/O SYSTEM
The south bridge connects a large number of different devices with the CPU and RAM.
I/O devices
- The I/O buses run all over the
motherboard
- connect a large number of
different I/O devices
- The south bridge controllers
connect all the I/O devices to the CPU and RAM.
Name
|
Devices
|
KBD, PS2, FDC, Game
|
Keyboard, mouse, floppy disk drive, joystick, etc.
|
BIOS, setup, POST.
|
|
ATA
|
Hard disk, CD-ROM/RW, DVD etc.
|
PCI and
PCI Express |
Network card, SCSI controller, video grapper card, sound cards
and lots of other adapters.
|
USB
|
Mouse, scanner, printers, modem, external hard disks and much
more.
|
Firewire
|
Scanner, DV camera, external hard disk etc.
|
SCSI
|
Hard disks, CD-ROM drives, scanners, tape devices etc. (older)
|
LPT, COM
|
Parallel and serial devices such as printers, modems, etc.
|
Various
types of I/O devices
I/O HIERARCHY
BUS SIGNALS AND SYNCHRONIZATION
Synchronous
1. Uses a bus clock among the control lines and a fixed protocol for communication.
For example, for a memory read operation:
· transmit the address and read command on 1st clock tick
· require memory unit to respond with the requested data word on the 5th clock tick
.
2. A fixed protocol for
communicating that predetermines
the actions in different
clock cycle
- 3. E.g., transmit address and read command in first cycle, memory transmits data on 5th cycle …
as a small FM.Bus can run fast.
5. Every device on bus must
run on same clock rate.
6. Clock skew issues limit the
physical length or the speed of the bus
Asynchronous
- Uses request/acknowledge
control lines for "handshaking"
- No clock signal is used
(hence, asynchronous).
- Wide variety of devices
can be connected on same bus.
- Bus can have greater
(but not unlimited) length.
http://www.karbosguide.com/books/pcarchitecture/chapter24.htm
https://www.ida.liu.se/~725G45/info/Lecture8.pdf
PREPARED BY: WAN NORAQILAH BINTI A.RAZAK
I/O BUS
The input/output bus or io bus is the pathway used for input and output devices to communicate with the computer processor.
A bus is a shared communication link,which uses one set of wires to connect multiple subsystems.
Bus is a set of wires connecting multiple modules(processor,memory,IO devices)
Example of I/O Bus
Bus
|
Description
|
PC-XT
from 1981 |
Synchronous 8-bit bus which followed the CPU clock frequency of 4.77 or 6 MHz.
Band width: 4-6 MB/sec. |
ISA (PC-AT)
from 1984 |
Simple, cheap I/O bus.
Synchronous with the CPU. Band width: 8 MB/sec. |
MCA
from 1987 |
Advanced I/O bus from IBM (patented). Asynchronous, 32-bit, at 10 MHz.
Band width: 40 MB/sec. |
EISA
From 1988 |
Advanced I/O bus (non-IBM), used especially in network servers.
Asynchronous, 32-bit, at 8.33 MHz. Band width: 32 MB/sec. |
VESA Local Bus
from 1993 |
Simple, high-speed I/O bus.
32-bit, synchronised with the CPU’s clock frequency: 33, 40, 50 MHz. Band width: up to 160 MB/sec. |
PCI
from 1993 |
Advanced, general, high-speed I/O bus. 32-bit, asynchronous, at 33 MHz.
Band width: 133 MB/sec. |
USB and Firewire, from 1998
|
Serial buses for external equipment.
|
PCI Express
from 2004 |
A serial bus for I/O cards with very high speed. Replaces PCI and AGP.
500 MB/sec. per. Channel. |
INPUT/OUTPUT TECHNIQUES
The input/Output operations can be performed by three basic techniques. These are:
The input/Output operations can be performed by three basic techniques. These are:
- Programmed Input/Output
- Interrupt driven Input/Output
- Direct memory Access (DMA)
- Memory mapped I/O
- Isolated I/O
PROGRAMMED INPUT/OUTPUT
In this method, the CPU is totally in charge of data transfer. It first transfers a data byte from the memory to the CPU and then sends it to the device. The CPU for every data byte does these actions, with appropriate instructions in the program. The functions to be performed by the program for a output device are:
- Checking whether the device is powered ON.
- Reading device status.
- Checking if the device is ready.
- Reading data from the device.
- Storing data in memory.
- Checking whether the device is ready with the next byte of data transfer.
- If ready, repeating steps 4 to 6.
- If not ready, loop on the step 6.
prepared by:siti norhayati bt mashudi
- http://www.scribd.com/doc/35486748/Input-Output-Techniques
- http://www.karbosguide.com/books/pcarchitecture/chapter24.htm
INTERRUPT DRIVEN I/O
The biggest problem of programmed I/O is CPU waste of time in waiting for data to be
read/written or checking status of I/O module
Solution:
- CPU issues commands to device and continues with other activities
- No waiting time for CPU
- No repeated CPU checking of device
- I/O module interrupts when ready
When a device is ready or error occurs
◦ Controller interrupts CPU
Interrupt is like an exception
◦ But not synchronized to instruction execution
◦ Can invoke handler between instructions
◦ Cause information often identifies the interrupting
device
Priority interrupts
◦ Devices needing more urgent attention get higher
priority
◦ Can interrupt handler for a lower priority interrupt
INTERRUPT DRIVEN I/O BASIC OPERATION
• CPU issues read command to I/O module
• I/O module gets data from the peripheral while CPU does other work
• When data have been received I/O module interrupts CPU
• CPU requests data to I/O module
• I/O module transfers data to CPU
INTERRUPT PROCESSING
CPU VIEWPOINT
• Issue read command
• Do other work
• Check for interrupt at end of each instruction
cycle
• If interrupted:
Save context (registers)
Serve the interrupt signal
• Proper interrupt routine: fetch data & store
INTERRUPT DRIVEN I/O CYCLE
INTERRUPT DRIVEN DATA TRANSFER
I/O DATA TRANSFER
Polling and interrupt-driven I/O
◦ CPU transfers data between memory and I/O data
registers
◦ Time consuming for high-speed devices
Direct memory access (DMA)
◦ OS provides starting address in memory
◦ I/O controller transfers to/from memory
autonomously
◦ Controller interrupts on completion or error
DIRECT MEMORY ACCESS(DMA)
• Interrupt driven and programmed I/O require active CPU intervention
• CPU is tied up with transferring data in e out
• Transfer rate is limited since CPU is not fully serving the device
• DMA is the answer
• Additional Module (hardware) on bus
• DMA controller takes over CPU for I/O
DMA OPERATION
• CPU tells DMA controller
• Read/Write
• Device address
• Starting address of memory block for data
• Amount of data to be transferred
• CPU carries on with other work
• DMA controller deals with transfer
• DMA controller sends interrupt when finished
DMA CYCLE STEALING
• DMA controller takes control over system bus for one (or more) clock cycle(s)
• One word of data is transferred for each stolen cycle
• Not an interrupt
• CPU does not switch context
• CPU is suspended just before it accesses bus
• i.e. before an operand or data fetch or a data write
• Slows down CPU but not as much as CPU doing transfer
- http://www.mat.uniroma2.it/~nardelli/architettura-calcolatori/Ch_6_95-rev3-1.pdf
Prepared by : Masturah Bt Mohammad Liza , B031410271
INPUT OUTPUT
TRANSFER MODE
~ Serial
In band signaling
Bit oriented
Bit/byte word translation
~ parallel
Byte word oriented
Out of band signalling
IDE,SCSC
Measuring input output performance
~ I/O performance depends on
◦ Hardware: CPU, memory, controllers, buses
◦ Software: operating system, database management
system, application
◦ Workload: request rates and patterns
~I/O system design can trade-off between
response time and throughput
◦ Measurements of throughput often done with
constrained response-time
server computer
~ Servers are computer programs running to serve the
requests of other programs, the clients. Thus, the server performs some tasks on behalf of
clients. It facilitates the clients to share data, information or any hardware
and software resources.
~ Nowdays,most of all application are run on servers.
Exp:office search,virtual worlds, and web search,…
Its need large of data,multiple processors,network connections,massive storage,space and power constraints.
rack mounted server
prepared by:NOR FADILA MOHD YUNUS,B031410253
https://www.youtube.com/watch?v=TQQA8RpKxqg
http://thegioibansi.com/Uploads/Logos/logo-Rack%20mount.jpg
thank you for the info..it's really help me in understanding the basic of programming..hope this blog will post the further information about programming..thank you for those who create this blog...i mean it
ReplyDeleteI think this blog is very good.it can help me to know the basic of programming.
ReplyDeleteVery informative. These informations shall be included within my own assignments regarding computer architecture. Thanks..
ReplyDelete