Computer System Interfaces
Computer System Interfaces
All computer systems must possess certain elements before they can be considered useful to human users. Computers require a processing unit, some memory, perhaps secondary storage, and interconnecting bus networks— but computers also need input/output (I/O) devices. Computers are programmed to execute algorithms on data and then make the results of these computations available. If a user cannot supply data to the computer through input devices and then see how the algorithms operate on it through output devices, then the computer is ineffective.
What makes dealing with input and output devices sometimes problematic is that they differ so much in shape and form, and they tend to operate at speeds that are extremely slow compared to the central processing unit (CPU) . Users prefer that the processor not be continually held up as it waits for tardy I/O devices to catch up with commands. A more satisfactory solution is to have the processor command the I/O devices to begin a lengthy operation of some sort and then busy itself with other activities while it waits for the slow I/O devices to complete their tasks. The I/O devices that are so necessary to make a computer system useful are connected to the rest of the computer by what are known as interfaces .
Strictly speaking, an interface is just a boundary or border line between two different objects. In the context of a computer system, an I/O interface is the physical dividing line between the computer system and its I/O devices. In order for an interface to connect two pieces of equipment successfully, several requirements must be met. First, the physical interconnections must match—there must be compatible plugs, sockets, cables, and connectors. Beyond this, there must be electrical compatibility across the interface—the electrical signals must be of consistent voltage and current levels. These signals must also be traveling in the correct directions. Lastly, they must also obey timing constraints. This last requirement can be quite an obstacle in practice, as specialized measuring instruments like oscilloscopes and logic analyzers are the only way to view the time domain characteristics of the electrical signals.
Fortunately, manufacturers of computer systems and input/output devices take care of much of the hard work. The manufacturers of all of the various pieces of equipment select an appropriate standard that is well documented and they build and test their equipment to this standard. The result is a guarantee that their products will inter-operate properly with others that are designed and built to meet the same standards.
Over time, various standards are introduced and adopted to facilitate all sorts of different interconnection schemes. Due to the underlying limitations of the technology, some common characteristics are present across these standards. For example, on a shared communication channel of some sort like a cable or bus, only one device can be permitted to be supplying (or transmitting) information at any one instant. This is because the electrical signals from two or more transmitters will clash, possibly resulting in component damage. Consequently, a standard that documents rules for managing an interface must include a definition of the rules of conversation between devices—otherwise known as a protocol . Usually, specialized electrical devices are included within the computer system to guarantee that the protocol is adhered to. These devices are called "arbiters" or "I/O controllers."
One of the most popular standards has been the small computer systems interface (SCSI) standard. This has been used in a variety of personal computers as well as industrial computers. SCSI was originally developed to support the connection of mass storage devices to computer systems— these have traditionally been hard disks and tape drives, but more recently have included CD-ROM (compact disc-read only memory) drives. Each device with a SCSI interface is connected to a flat ribbon cable with fifty conducting wires. Up to eight SCSI interfaces can share the one cable, although they all cannot be using it at the same instant.
One aspect that often catches the unwary when using SCSI devices is that the last SCSI device attached to the cable must have some special resistors installed on it. These resistors (often called terminating resistors) are needed to ensure that the electrical signals that pass along the cable are not reflected when they reach the end. If they are permitted to reflect, they can cause problems for the SCSI interfaces that might misinterpret them.
A modern alternative to the SCSI standard is that of the universal serial bus (USB), which permits simultaneous external connection of more than 100 input/output devices. Not just mass storage devices either, but computer mice and even more exotic devices like digital cameras, scanners, and games controllers.
The preceding descriptions involve the connection of input/output devices to the computer system, which primarily are external to the computer itself. Within the computer system though, the term "interfacing" takes on a more specialized meaning. It is also necessary to interface the processor to the various memory devices that it needs to access. In addition to this, the processor must be interfaced to various controller devices that manage bus networks internal to the computer.
The physical nature of the interface is usually less of an issue here, mainly because the devices are expected to be placed on a printed circuit board, and copper tracks and plastic sockets can be laid out to suit the geometry of the components. However the electrical and temporal characteristics must be correctly matched—just as before.
SCSI, USB, and other standards applicable to the connection of external devices are not really appropriate here, because those standards are intended for managing input/output devices that are slower in operation than the processor and usually involve comparatively large amounts of data. Instead, other standards are employed that permit high speed operation (at, or near, the natural operating speed of the processor) and usually smaller amounts of information in each transfer.
When the system designer is deciding how to interface networking devices to a processor, for example, then standards like the peripheral components interconnect (PCI) bus protocol might be used. Conversely, an interfacing standard like the accelerated graphics port (AGP) can be used when connecting a graphics device to a processor.
see also Central Processing Unit; Microcomputers.
Triebel, Walter A., and Avtar Singh. The 8088 and 8086 Microprocessors. Upper Saddle River, NJ: Prentice Hall, 1991.
"Accelerated Graphics Port (AGP)." The PC Guide. <http://www.pcguide.com/ref/mbsys/buses/types/agp-c.html> "
USB Info: Frequently Asked Questions." USB Implementers Forum Inc. <http://www.usb.org/faq.html>