Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
I/O (input/output), program, or device that transfers data to or from a computer. Typical I/O devices are printers, hard disks, keyboards, and mouses. In fact, some devices are basically inputonly devices (keyboards and mouses); others are primarily output-only devices (printers); and others provide both input and output of data (hard disks, CD-ROMs). You should know what's I/O before I start my presentation today im going to talk about how I\O really works .
IOP :
Communicate directly with all I/O devices Fetch and execute its own instruction Designed to handle the details of I/O processing
Ce ntral Pro c e s s ing unit (CPU) Me m o ry b u s Pe riphe ral de vic e s PD PD PD PD
Me mo ry unit
I/O bus
Command Instruction that are read form memory by an IOP Distinguish from instructions that are read by the CPU Commands are prepared by experienced programmers and are stored in memory Command words = IOP program
CPU operation Send instruction to test IOP path If status OK. send start I/O instruction to IOP CPU continues with another program
IOP operation Transfer status word to memory location Access memory for IOP program
Conduct I/O transfers using DMA ; prepare status report I/O transfer completed; Interrupt CPU Transfer status word to memory location
Request IOP status Check status word for correct transfer CONTINUE
The IOP takes care of all data transfers between several I/O units and the memory while the CPU is processing another program. *The IOP and CPU are competing for the use of memory, so the number of devices that can be in operation is limited by the access time of the memory. It is not possible to saturate the memory by I/O devices in most system, as the speed of most devices is much slower than the CPU. Some very fast units, such as magnetic disks, can use an appreciable number of the available memory cycles. In that case, the speed of the CPU may deteriorate because it will often have to wait for the IOP to conduct memory transfers.
The CPU communicate with channels in two ways: Directly : through dedicated control lines in a memory. Indirectly : through reserved storage areas in a memory.
A typical computer system configuration includes a number of channels. Each channel attached to one or more I/O devices . There are three types of channels :
channels
1-multiplexer
2-selector
3-Blockmultiplexer
Combines 1&2
A microcomputer system use the Intel 8089 as a IOP with the 8086 as a CPU IOP\CPU share common memory throw bus controller. IOP Use local bus to communicate with Interfaces units connected to I/O devices. The CPU initiates an I/O operation by building a message in memory that describes the function to be performed. The 8089 IOP reads the message from memory, carries out the operation, and notifies the CPU when it has finished.
8 08 6 CPU
attention
Interrupt
Channel
Select
S ys te m b us
Me m o ry unit
8 08 9 IO P
Lo c a l b us
In te rfa c e
In te rfa c e
In p ut d e vic e
O utp ut d e vic e
8086 CP U
Channel attention
Interrupt
Select
S ys te m b us
Me m o ry un it
busy flag indicates whether the IOP is busy or not. CCW (channel command word) indicate the type of operation. The parameter block contains variable data that the IOP program must use in carrying out its task The task block contains the actual program to be executed in the IOP.
8089 IO P
Lo c a l b us
In te rfa c e
In te rfa c e
In p ut d e vic e
Outp ut d e vic e
Parameter bloc k TB addres s Memory addres s Byte count Devic e addres s Trac k and s ec tor S tatus
Tas k block
PB addres s
How the CPU communicate with 8089 IOP ? 1-CPU check the busy flag & ensure that the IOP is available then obtain use of memory. 2- CPU fills in the information in the parameter block & writes a "start operation" command in the CCW. 3-The CPU write a message for IOP and enable the channel attention line. 4- The IOP starts executing the program in the task block using the information in the parameter block. 5- When the I/O operation is completed, the IOP stores its status bits in the status word location of the parameter block. 3-issues an interrupt request to CPU.