Controller (computing)
This article needs additional citations for verification. (October 2012) |
In computing and especially in computer hardware, 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 an channel or integrated into the peripheral.
Controller boards

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:
- Graphics controller or video display controller
- SCSI controller, more properly called SCSI host bus adapter
- Network interface controller (NIC)
Controller chips
As chip densities improved controllers were implemented as single chips and often located on the motherboard. Examples are:
- Keyboard controller
- Programmable Interrupt Controller
- Northbridge (computing) – Intel memory controller chip
- Southbridge (computing) – Intel I/O controller chip
- Universal asynchronous receiver/transmitter (UART) communications controller chip
- Memory controller, logic which manages the flow of data in a computer system
- Peripheral DMA controller
- Floppy disk controller
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

- Disk controller, often integrated into modern disk drives.
- Disk array controller, also known as RAID controller, a type of storage controller
- Flash controller, or SSD controller, manages flash memory.
- Terminal Access Controller
Mainframe controllers

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 a controller or control unit implements device-dependent logic for attaching specific devices to the channel. Some devices have integrated control units. Often a control unit can attach to multiple channels connected to a single or multiple CPUs. Some mainframe control units are:
- IBM 2821 Control Unit, used to attach card readers, punches and line printers to IBM System/360 and IBM System/370 computers
- IBM 270x and IBM 37xx, used for telecommunications
- IBM 3271, 3272, 3271, and 3174, used to attach terminals (display devices)
See also
- Control unit (disambiguation)
- Adapter (computing)
- Programmable logic controller
- Computer bus
- MIDI controller
References
- ^ IBM Corporation. IBM Systems Reference Library IBM 1311 Disk Storage Drive (PDF).
- ^ IBM Corporation (1978). Introduction to IBM Data Processing Systems (PDF).
External links
- Controller description at Webopedia, a computer term dictionary.