Definition

controller (computing)

What is a controller (computing)?

A controller, in a computing context, is a hardware device or a software program that manages or directs the flow of data between two entities. In computing, controllers may be cards, microchips or separate hardware devices for the control of a peripheral device. In general, a controller can be thought of as something or someone that interfaces between two systems and manages communications between them.

Who uses controllers?

Anyone who uses a computing device, such as a laptop or smartphone, employs controllers to connect to devices and applications that are used for business or personal activities. Controllers extend a computer's processing power to resources that help improve a user's productivity.

What is the difference between a controller and a driver?

Think of a controller as a component interfacing with the central processing unit and moving data back and forth between the CPU and the device being controlled, such as a printer or disk drive. Controllers typically have a buffer to store data coming either from the CPU or the device being controlled. By contrast, a device driver is a software program that instructs the controller on how to operate. Figure 1 depicts the difference between a controller and a driver as implemented on a motherboard.

how device controllers work with drivers
Figure 1. Device controllers and drivers

Figure 1 depicts circuit boards that have both device drivers and controllers. The controller links to a device, while the driver links the controller with the computer's operating system (OS).

Examples of controllers in technology applications

Control systems and controllers come in many forms and applications. This table offers examples of controller applications.

Examples of Technology Controllers
Type of Controller Functions Performed
Graphics card Integrated circuit card in a computer or, in some cases, a monitor that provides digital-to-analog conversion, video RAM and a video controller so that data can be sent to a computer's display
Game controller Input device for playing video games
Network interface card (NIC) Computer circuit board or card that is installed in a computer so that it can be connected to a network
Wide area network interface card (WIC) Specialized NIC that enables devices to connect to a wide area network
Flash controller Part of flash memory that communicates with the host device and manages the flash file directory
Application delivery controller (ADC) Data center network device that helps manage client connections to complex web and enterprise applications
Baseboard management controller (BMC) Specialized service processor that monitors the physical state of a computer, network server or other hardware device using sensors and communicating with the system administrator through an independent connection
Session border controller (SBC) Device or application that governs the way calls, also called sessions, are initiated, conducted and terminated in a voice over IP network
Primary domain controller (PDC) Role that can be assigned to a server to manage access to a set of network resources -- e.g., applications, printers -- for a group of users
Backup domain controller (BDC) Role that can be assigned to a server to manage access to a set of backup resources -- storage devices -- for a group of users

The importance of controllers

Controllers and drivers provide important links between the computer and devices and applications being used. While the OS controls computer functions, controllers and their associated drivers extend OS functionality to specialized tools and resources that increase a user's productivity.

Learn about the benefits of application delivery controllers, and see what software-defined network data center controllers do in a network.

This was last updated in February 2023

Continue Reading About controller (computing)