Keyboard controller and AT-Keyboard jack on an AT-Mainboard

In computing, a keyboard controller is a device that interfaces a keyboard to a computer. Its main function is to inform the computer when a key is pressed or released. When data from the keyboard arrives, the controller raises an interrupt (a keyboard interrupt) to allow the CPU to handle the input.

If a keyboard is a separate peripheral system unit (such as in most modern desktop computers), the keyboard controller is not directly attached to the keys, but receives scancodes from a microcontroller embedded in the keyboard via some kind of serial interface. In this case, the controller usually also controls the keyboard's LEDs by sending data back to keyboard through the wire.

The IBM PC AT used an Intel 8042 chip to interface to the keyboard. This chip had two additional functions: it controlled access to the Intel 80286 CPU's A20 line in order to implement a workaround for a chip bug, and it was used to initiate a software CPU reset in order to allow the CPU to transition from protected mode to real mode because the 286 did not allow the CPU to go from protected mode to real mode unless the CPU is reset.[1] The latter was a problem because the BIOS and services provided by real mode operating systems such as MS-DOS and similar operating systems could only be called by programs in real mode. These behaviors have been used by plenty of software that expects this behavior, and therefore keyboard controllers have continued controlling the A20 line and performing software CPU resets even when the need for a reset via the keyboard controller was obviated by the Intel 80386's ability to switch to real mode from protected mode without a CPU reset. The keyboard controller also handles PS/2 mouse input if a PS/2 mouse port is present.

Modern interface

edit

Today the keyboard controller is either a unit inside a Super I/O device or is missing, having its keyboard and mouse functions handled by a USB controller and its role in controlling the A20 line becoming integrated into the chipset's northbridge and then later into the CPU's built-in integrated memory controller.

See also

edit

References

edit
  1. ^ "A20 - a pain from the past".
edit

📚 Artikel Terkait di Wikipedia

Keyboard controller

Keyboard controller may refer to: Keyboard controller (computing), a computer hardware which connects a keyboard to the main board In music, a MIDI keyboard

Controller (computing)

Microcontroller unit (MCU) Keyboard controller Programmable Interrupt Controller Northbridge (computing) Southbridge (computing) Universal asynchronous

Keyboard interrupt

by the keyboard in the text user interface A hardware interrupt generated when a key is pressed or released, see keyboard controller (computing) This disambiguation

Ergonomic keyboard

An ergonomic keyboard is a computer keyboard designed with ergonomic considerations to minimize muscle strain, fatigue, and other problems. The common

Model–view–controller

Model–view–controller (MVC) is a software architectural pattern commonly used for developing user interfaces that divides the related program logic into

PS/2 port

connector. "Keyboard and Auxiliary Device Controller" (PDF). Hardware Interface Technical Reference -Common Technical-. IBM. October 1990. PS/2 keyboard and mouse

Computer keyboard

and data output. The keyboard remained the primary, most integrated computer peripheral well into the era of personal computing until the introduction

Input device

virtual keyboard, or a projection keyboard. Ergonomic keyboard A keyboard placing design emphasis on ergonomics and comfort. Chorded keyboard A keyboard used