Input/Output I/O Techniques - Programmed I/O - Interrupt-driven I/O - Direct memory access (DMA) o specialized I/O Processor External I/O Interfaces - FireWire - Infiniband I/O Module contains - logic for performing the communication function between the system bus and the specified peripheral devices - sufficient intermediate memory capacity to mediate the execution disparities between the peripheral devices and the system bus functions - interface to processor & memory via system bus or central switch - interface to the selected peripheral devices by tailored data links Control Lines Data Lines Address Lines System Bus Links to Selected Peripheral (External) DevicesExternal Devices (Peripheral Devices) - attached to the system via an I/O module designed for that particular type of device - link mediates the exchange of control, status & data between the I/O module and the device - human readable devices – video display units & printers - machine readable – magnetic disk units, tape units, DVD units, sensors, activators, etc. - communication – exchange data with remote devices, either human or machine readable Video display keyboard diskdrive printer External Device Buffer Transducer Control Logic Control Signals from I/O Module Status Signals to I/O Module Data Bits to & from I/O Module Device-unique Data to & from the Environment Control Signals - Determine function that the device will perform o Send data to I/O module o Receive data from I/O module o Report status o Perform control operation Data - Data bits sent to or received from the device Status Signals - Report the state of the device to perform tasks Control Logic - Transforms the control signals & status signals into active directions for the I/O module to execute Transducer - Converts data to & from electrical form to diverse forms required by the various external devices Keyboard - key code – left shift vs. right shift - character code – IRA code -- 7 bit code - user depresses key – electronic signal translated by transducer to IRA code - IRA code is transmitted to I/O Module - Text is transmitted to the computer Video Display Unit - Text is transmitted to the I/O Module - IRA code is transmitted to the transducer - Transducer sends the appropriate signal to the display unit to either paint the desired character on the screen or to perform the required control action Disk Drive - Fixed-head disk – transducer converts between magnetic patterns on disk to electronic bits in the device buffer - Moving-head disk – also cause he disk arm to move radially in & out across the disk surfaceI/O Modules - Functional Requirements o Control & Timing coordinate flow of information between internal & external devices e.g., control of data from an external device to the processor processor requests I/O module status report for attached device I/O module returns the requested status report If device is ready to transmit, processor requests transfer of data from I/O module I/O module obtains a unit of data from external device data is transferred from I/O module to the processor o Processor Communication Command Decoding Signals sent on Control Bus Disk Drive I/O Module Commands READ SECTOR WRITE SECTOR SEEK <track number> SCAN <record ID> Data Status Reporting Address recognition each I/O device attached to an I/O module has a unique address which must be transmitted along with any command directed to that device o Device Communication o Data Buffering data sent from main memory arrives as a rapid burst data is stored in the buffer & sent to an external device at its data rate data arrives from an external device at its data rate and accumulated in the buffer data is sent in a rapid burst from the buffer to main memory &/or the processor o Error Detection mechanical & electrical malfunctions reported by the external devices unintentional changes in the bit patterns which occur during transmission each action requires one or more bus arbitrations sent on data bus I/O Module External Device Interface Logic External Device Interface Logic I/O Logic Data Registers Status/Control Registers Data Lines Control Lines Address Lines Data Status Control Control Status Data System Bus Interface External Device InterfaceI/O Channel or I/O Processor (Main Frames) - I/O Module o that assumes detailed control and o which provides a high-level interface to the processor I/O Controller or Device Controller (Micro Computers) - a primitive I/O Module that leaves detailed control to the processor Overview Programmed I/O - processor is in direct control of I/O operations, i.e., responsible for o sending read, write commands o sensing device status o accessing data from memory for output o storing data in memory from input - processor must wait for I/O completion, i.e., waste CPU processing cycles Interrupt-Driven I/O - processor is responsible for o sending read, write commands o accessing data from memory for output o storing data in memory from input - processor o may execute other instructions while I/O operations are in progress o is interrupted by the I/O module when the I/O transfer is complete Direct Memory Access - processor sends memory base address, range, and I/O operation information to DMA unit - under the control of the DMA, the I/O Module & Memory exchange data directly without further processor involvement - after the I/O operation is complete, the DMA issues an interrupt for the processorProgrammed I/O - processor encounters an I/O instruction issues an address specifying a particular I/O module & external device issues an I/O command - I/O module performs the requested action sets appropriate bits in the I/O status register - processor must periodically check the I/O module status bits for indication of completion - I/O Commands o Control – activate a specific device & request a specific action o Test – check on specific status conditions, e.g., errors, ready, etc. o Read – causes I/O module to obtain a data item & place it in a the buffer; processor can obtain the data item by requesting the I/O module to place it
View Full Document