Input/output systems
Processors need a source of input data anda destination for output data. Processors also require storage space for largevolumes of intermediate data. Thus the I/O system provides these storagefacilities by connecting the processor’s memory to the I/O devices. Thesedevices vary widely in latency and bandwidth, thus, a major function of the I/Osystem is to match their latencies and bandwidths to that of the memory system.I/O devices consist of such diverse items as keyboards, modems, and hard disks.Each of these devices has its own latency and bandwidth requirements that mustbe satisfied for a properly functioning system.
The major tasks of the I/O system are thefollowing:
(1) to establish the connectionbetween the memory and the I/O devices;
(2) to synchronize and manage thecontrol of the data transfer;
(3) to provide buffering when thesource and sink bandwidths and latencies differ;
(4) to perform code conversions ifrequired;
(5) to interrupt the processor whenrequired;
(6) to terminate the operation whenit is completed.
These tasks are accomplished by hardwareand software, in varying amounts of each. The more hardware-oriented, thehigher the performance and the higher the hardware cost. The moresoftware-oriented, the lower the performance and the lower the hardware cost.Control can be classified into two broad categories: programmed I/O andcoprocessor I/O.
Programmed I/O
Programmed I/O, also known as direct I/O,is accomplished by a program executing on the processor itself to control theI/O operations and transfer the data. With programmed I/O, shown in Fig. 1-6,there are several architectural registers (minimally an input register and anoutput register) that are addressed by special move instructions.
These move instructions move informationfrom the accumulator (for general-purpose register) to/from the I/O registers. Theperipherals are connected directly to the bits of these registers.
Memory-mapped I/O
Memory-mapped I/O is another form ofprogrammed I/O that maps the device connections to bits in memory addressspace. An output command is a normal store instruction that stores a pattern ofbits into a designated memory location. An input command is a normal loadinstruction that reads a memory location.
Memory-mapped I/O requires the fullparticipation of the processor, as with programmed I/O. Thus there is a similarloss of efficiency that is due to executing the I/O control program.
The Intel Pentium Pro supportsmemory-mapped I/O in addition to programmed I/O. Any of the processor’s instructionsthat reference memory can address memory-mapped I/O locations. An example of anallocation is shown in Fig. 1-8.
The move instruction can transfer databetween any of the processor’s registers and the spaces in memory allocated forI/O. Other operations such as ADD, AND, OR and test can also have one sourceargument in I/O space. The logical operations are useful for control of bits inthe control and status registers of an I/O device that is mapped into one ormore of the memory-address spaces.
Interrupt I/O
Because of the low efficiency of pureprogrammed or memory-mapped I/O in high-performance system, so interrupt isproduced. Early mainframe computers, such as the Univac 1103 and the IBM 701,were users of this technique.
The data connection between the I/O deviceand the processor memory is shown in Fig. 1-9 as a memory-mapped system. Theprocessor sends a command to the device, usually by means of a specialprogrammed I/O register, to start its operation. After the request is made tothe device, the processor returns to the main program. When the latency issatisfied and the device is ready to transfer, the device sends an interruptsignal to the processor and the processor services the interrupt and performsthe data transfer. Various status reports are send from the device to theprocessor by means of the programmed I/O paths.
Interrupt I/O can be used with bothprogrammed and memory-mapped I/O; the Intel Pentium Pro implements bothtechniques.
Coprocessor I/O
When the processor is being used to controlI/O and move the data, there is a loss of processor efficiency. Thus the ideanaturally arises to use a second processor or coprocessor for I/O. Theautonomous coprocessor first appeared in the IBM 709 in 1959, and it performedall the I/O tasks and freed the main processor for its tasks. Fig. 1-10 shows acoprocessor connecting an I/O device to the system bus. Control and statusinformation is passed between the processor and the coprocessor by means ofpaths similar to those of programmed I/O. The processor sends a command to thecoprocessor that autonomously performs the I/O operation.
The introduction of a coprocessor makesthis configuration a multiprocessor. The problems of any multiprocessor must beaddressed with coprocessor I/O. These problems include softwaresynchronization, hardware synchronization, memory protection, and memorycoherency.
There are two general types of thesecoprocessors: programmed I/O channel and direct memory access (DMA).
I/O devices
Interactive input
The idea of interactive input is to captureinformation directly into computers and get responses from computers as theinput occurs. This happens when you type on a keyboard and immediately see theresults of your work on a screen. It is so called as “screen-dependent”.
Keyboard entry may be too slow or awkwardfor some jobs, but the keyboard can be bypassed by using one of a number ofother interactive devices. Most of today’s microcomputers, for example, includea mouse or a trackball that lets you use natural arm or hand motions to movethe cursor.
Some screens themselves accept interactiveinput: The touch screen looks like a normal computer screen, but it can detectthe point at which you touch it.
Technical applications such as graphicarts, mapping, and engineering often require specialized input methods. Perhapsthe most natural tools are the light pen and the graphics tablet or digitizer.
Direct input
In an information system, the greatestmajority of delays, errors, and problems occur during the input phase. To attackthe problem, a number of methods have been developed to increase speed,accuracy and reliability of input. Collectively, these techniques have beenreferred to as source data automation. Scanning, voice input, and sensor inputare three types of direct input.
Scanners, also called optical scanners, aredevices that read printed material so that it can be put in computer-readableform without your having to retype, redraw, reprint or re-photograph thematerial.
Speech recognition
Speech-recognition or voice-input devicesaccept spoken words through a microphone and change the sounds intocomputer-readable signals.
Sensor input
Home computer users may link their systemsto thermometers, light detectors, and motion detectors to help control energyuse and deter vandalism. Input from these detectors is called sensor input. Sensorinput is used widely with microcomputers in factories and in scientific andmedical laboratories, too.
Display outputs
The most common output device is themonitor, a cathode-ray tube (CRT) that is basically a television tube adaptedto present text, data, or images generated by computers. High-quality colormonitors receive three separate color signals (red, green and blue) and thusare called RGB color monitors. The clarity or sharpness of the display istermed resolution. The resolution of a monitor indicates the number of imagepoints, or pixels (picture elements), on its screen.
The flat-panel displays used on portablecomputers are less bulky and required less power than CRT monitors. A commonelectronic imaging technique used in flat-panel displays is liquid-crystaldisplay (LCD). Two other flat-panel displays are the gas plasma display, whichuses electric current to cause gases to glow, and the electro-luminescentdisplay (ELD), which is similar to gas plasma but has layers of phosphor ratherthan gas.
Printers for document outputs
Document outputs are produced on printersand plotters, devices that produce images or text on paper. These outputs areknown as printouts or hard copy.
Printers and plotters are classified byseveral criteria, one of them is on impact and non-impact printing methods.
Impact printers
A common impact printer for microcomputersis the dot-matrix printer, which works by striking pins in a print elementagainst the ribbon and paper. The pins are formed into a matrix, and differentcombinations of pins in the matrix shape the character or image.
Nonimpact printers
Nonimpact printers use heat, laser, orspraying techniques to print characters and images.
The two major nonimpact techniques in usetoday are ink-jet and laser.
Processor’s memory 处理器所控制的内存
Latency 等待时间
Bandwidth 带宽
Modem 调制解调器
Hard disk 硬盘
Code conversion 代码转换
Programmed I/O 程序控制I/O
Coprocessor I/O 协处理器I/O
Memory-mapped I/O 存储器映射I/O
Interrupt 中断
Path 通路,路径
Multiprocessor 多处理器
Synchronization 同步化
Coherency 相关
Direct memory access (DMA) 直接存储器存取
Channel 信道,通道
Input/output system 输入输出系统
Buffering 缓冲
Accumulator 累加器
Peripheral 外围设备
Pattern of bits 位模式
Load 装入,加载