Tax register (IT)
Control register (Engl. Control Register ) referred to in the computer science or electronics , a register to which the behavior of an associated electronic circuit can be influenced. The content of the control register can be influenced by a program running on the computer; thus the computer program can control said circuit via it. If control information consists of only one bit (i.e. only knows two states, for example on and off ), flags are also used. Usually several flags are combined in one control register. If the information is to flow in the opposite direction, i.e. from the electronic circuit to the computer program, a status register is used. Sometimes the linguistic separation between tax and status registers is not very tight.
One example is the control register in the control unit of a microprocessor . It contains various flags that can influence the behavior of the microprocessor. Which flags exist differs from processor to processor. Frequently occurring flags are:
- User Mode / System Mode: Controls whether the processor is in user or system mode .
- Interrupt Enable: Allows or forbids maskable exception handling or the acceptance of interrupts .
- Paging Enable: A flag to control virtual memory management .
- Trace flag: If this flag is set, a special trace routine is started after each command execution .
Often these flags are accommodated in a common register, which is usually simply called the status register, together with status flags, via which the computer program can find out something about the state of the processor or the ongoing data processing. See main article status register .
Peripherals connected to a computer (from English input / output also referred to as I / O) are ultimately controlled via control registers. Here, too, there is generally a flow of information in both directions, although the term control register or hardware control register is often used only for simplicity. Usually several functionally related control registers are contained in one peripheral module. The communication between software and control register takes place, for example, like that between software and main memory via a memory bus ( memory mapped I / O ) or its own I / O bus or at least its own I / O address space ( isolated I / O ). Other methods are, for example, interfaces such as Serial Peripheral Interface (SPI) or I²C (Inter IC Bus).
One example is a block that is used to control a parallel interface . In the simplest case, this has a control register with a bit for the signal state of each signal line (data register, port register) and another control register that defines the direction of the signal flow (input or output) for each signal line (data direction register). The timing of the communication protocol for the parallel interface must then be mapped by the software ( device driver ). Such or similar facial expressions are part of many I / O modules, for example the Versatile Interface Adapter 6522 (VIA) or the Z80-PIO module (PIO = Parallel Input Output).