Controller (computing): Difference between revisions
Content deleted Content added
Thumperward (talk | contribs) convert to dab. this is not a subject in itself |
|||
Line 1: | Line 1: | ||
In [[computer hardware]], a '''controller''' may refer to: |
|||
{{Refimprove|date=October 2012}} |
|||
⚫ | |||
In [[computing]] and especially in [[computer hardware]], a '''controller''' is a [[Integrated circuit|chip]] (such as a [[microcontroller]]), an [[expansion card]], or a stand-alone device that [[interface (computing)|interface]]s with a more [[peripheral]] device. This may be a link between two parts of a computer (for example a [[memory controller]] that [[memory management|manages access to memory]] for the computer) or a controller on an external device that manages the operation of (and connection with) that device. |
|||
⚫ | |||
* [[host controller]] |
|||
⚫ | |||
* [[network controller]] |
|||
In desktop computers the controller may be a plug-in board, a single integrated circuit on the [[motherboard]], or an external device. In [[mainframe computer|mainframes]] the controller is usually either a separate device attached to a [[Channel I/O|channel]] or integrated into the peripheral. |
|||
==Host and peripheral controllers== |
|||
Controllers can be present on both sides of a [[computer bus]]. The controller on the host side (physically part of the host) is called a '''[[host controller]]''' or (in storage contexts) a '''host bus adapter'''. The controller on the peripheral side (physically part of the peripheral device) is called a '''peripheral controller'''; examples are [[disk controller]]s and [[flash memory controller]]s, which in modern systems are usually integrated into the drive. |
|||
This classification does not apply to [[network controller]]s, since systems participate as peers and neither system is clearly more central/peripheral. |
|||
==Controller boards== |
|||
[[Image:KL Genoa EGA.jpg|thumb|right|text-top|150px|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: |
|||
* [[Graphics controller]] or video display controller |
* [[Graphics controller]] or video display controller |
||
* |
* SCSI [[host bus adapter]] |
||
* [[Network interface controller]] (NIC) |
* [[Network interface controller]] (NIC) |
||
* [[Parallel port]] controller |
* [[Parallel port]] controller |
||
⚫ | |||
==Controller chips== |
|||
[[File:Ic-photo-Intel--C8251.JPG|thumb|right|text-top|150px|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: |
|||
* [[Microcontroller]] unit (MCU) |
* [[Microcontroller]] unit (MCU) |
||
* [[Keyboard controller (computing)|Keyboard controller]] |
* [[Keyboard controller (computing)|Keyboard controller]] |
||
Line 32: | Line 17: | ||
* [[Memory controller]], logic which manages the flow of data in a computer system |
* [[Memory controller]], logic which manages the flow of data in a computer system |
||
* [[Peripheral DMA controller]] |
* [[Peripheral DMA controller]] |
||
* [[Floppy disk controller]] |
* [[Floppy disk controller]] |
||
⚫ | |||
* [[Flash controller]], or SSD controller, which manages flash memory |
|||
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. |
|||
⚫ | |||
{{clear}} |
|||
==External controllers== |
|||
[[File:HardDiskAnatomy.jpg|thumb|right|text-top|150px|A disassembled and labeled disk drive showing controller integrated into the drive.]] |
|||
* [[Disk controller]], often integrated into modern [[Disk storage|disk drive]]s.<!-- important practical info, to distinguish disk controller from IDE controller or from HBA --> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
{{clear}} |
|||
==Mainframe controllers== |
|||
[[File:BRL64-IBM 1311 DiskDrives.jpg|thumb|right|text-top|150px|IBM 1311 Disk Drives. Model 3 (on right) contains an integrated controller for itself and up to 3 Model 2s (on left).<ref>{{cite book|last=IBM Corporation|title=IBM Systems Reference Library IBM 1311 Disk Storage Drive|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/140x/A26-5991-0_1311diskDrive.pdf}}</ref>{{rp|p.2}} |
|||
]]In IBM terminology a ''controller'' is "a device that decodes the [channel] command and effects the operation of the device."<ref>{{cite book|last=IBM Corporation|title=Introduction to IBM Data Processing Systems|year=1978|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/generalInfo/GC20-1684-4_IBMdpIntroJul78.pdf}}</ref>{{rp|p.5-1}} |
|||
In most mainframe systems a device-independent [[Channel I/O|''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: |
|||
* [[IBM 2821 Control Unit]], used to attach card readers, punches and line printers to IBM System/360 and IBM System/370 computers |
* [[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 270x]] and [[IBM 37xx]], used for telecommunications |
||
* [[ |
* [[IBM 3271#Controllers|IBM 3271, 3272, 3271, and 3174]], used to attach terminals (display devices) |
||
==See also== |
|||
* [[Adapter (computing)]] |
|||
* [[Computer bus]] |
|||
* [[Control unit (disambiguation)]] |
|||
* [[Device driver]] |
|||
* [[MIDI controller]] |
* [[MIDI controller]] |
||
* [[Programmable logic controller]] |
* [[Programmable logic controller]] |
||
⚫ | |||
==References== |
|||
{{Reflist}} |
|||
== External links == |
|||
*[http://www.webopedia.com/TERM/c/controller.html Controller description] at Webopedia, a computer term dictionary. |
|||
[[Category:Computer peripherals]] |
Revision as of 21:41, 23 January 2022
In computer hardware, a controller may refer to:
- Memory controller, a unit that manages access to memory
- Game controller, a device by which the user controls the operation of the computer
- host controller
- network controller
- Graphics controller or video display controller
- SCSI host bus adapter
- Network interface controller (NIC)
- Parallel port controller
- Microcontroller unit (MCU)
- Keyboard controller
- Programmable Interrupt Controller
- Northbridge (computing)
- Southbridge (computing)
- 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
- Disk array controller, also known as a RAID controller, a type of storage controller
- Flash controller, or SSD controller, which manages flash memory
- Terminal Access Controller
- 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)
- MIDI controller
- Programmable logic controller