Controller (computing)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In computing and especially in computer hardware, a controller is a chip, an expansion card, or a stand-alone device that interfaces with a peripheral device. This may be a link between two parts of a computer (for example a memory controller that manages access to memory for the computer) or a controller on an external device that manages the operation of (and connection with) that device.

The term is sometimes used in the opposite sense to refer to a device by which the user controls the operation of the computer, as in game controller.

In desktop computers the controller may be a plug in board, a single integrated circuit on the motherboard, or an external device. In mainframes the controller is usually either a separate device attached to a channel or integrated into the peripheral.

Controller boards[edit]

Video display controller expansion board

Early desktop computers such as the IMSAI 8080 used expansion boards (or expansion cards) for all controllers, each handling a specific type of device. Examples of expansion board controllers are:

Controller chips[edit]

Intel C8251 Universal Synchronous/Asynchronous Receiver/Transmitter (USART) chip

As chip densities improved controllers were implemented as single chips and often located on the motherboard. Examples are:

Further integration enabled development of Super I/O chips — single chips that could control a variety of devices such as floppy disks, parallel ports, serial ports, keyboard, and mouse.

External controllers[edit]

A disassembled and labeled disk drive showing controller integrated into the drive.

Mainframe controllers[edit]

IBM 1311 Disk Drives. Model 3 (on right) contains an integrated controller for itself and up to 3 Model 2s (on left).[1]:p.2

In IBM terminology a controller is "a device that decodes the [channel] command and effects the operation of the device."[2]:p.5-1

In most mainframe systems a device-independent channel usually attaches to the CPU and to a controller or control unit which implements device-dependent logic for attaching specific devices. The functions performed by the control unit are similar to the functions performed by a device driver program on smaller systems. Some devices have integrated control units, which are logically discrete but are included with the device rather than requiring a separate box. Often a control unit can attach to multiple channels connected to a single or multiple systems. Some mainframe control units are:

See also[edit]


  1. ^ IBM Corporation. IBM Systems Reference Library IBM 1311 Disk Storage Drive (PDF).
  2. ^ IBM Corporation (1978). Introduction to IBM Data Processing Systems (PDF).

External links[edit]