Translate

Tuesday 25 November 2014

INPUT AND OUTPUT

In this post, we are sharing you about input and output.


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 :

  • keyboarda typewriter-style device, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches.

image of keyboard
  • mousea 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



  • scanner : an input device which scans the object into the computer.
image of scanner


image of CD-ROM



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

  • monitoran electronic visual display for computers.
image of monitor

  • printer : a peripheral which makes a persistent human-readable representation of graphics or text on paper or similar physical media.
image of printer

  • 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


 Interface to CPU and Memory

 Interface to one or more peripherals



  • Generic model of I/O 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

  1. Dependability is used for storage devices and it is important.
  2. 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.
ROM, CMOS
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 …
         4. Predetermined protocol allows, simple control logic, easily implemented 
             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://umcs.maine.edu/~cmeadow/courses/cos335/COA07.pdf
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.

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: 
  •  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:

  1.  Checking whether the device is powered ON.
  2. Reading device status.
  3. Checking if the device is ready.
  4. Reading data from the device.
  5. Storing data in memory.
  6. Checking whether the device is ready with the next byte of data transfer.
  7. If ready, repeating steps 4 to 6.
  8. If not ready, loop on the step 6.
The operations of an output device are similar except for the direction of data transfer. The CPU is totally dedicated for the data transfer. If the input or the output device is a slow device, the CPU time is wasted. The programmed mode is also know Polling.



       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




3 comments:

  1. 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

    ReplyDelete
  2. I think this blog is very good.it can help me to know the basic of programming.

    ReplyDelete
  3. Very informative. These informations shall be included within my own assignments regarding computer architecture. Thanks..

    ReplyDelete