Register

From CDOT Wiki
Revision as of 20:55, 15 December 2013 by Chris Tyler (talk | contribs)
Jump to: navigation, search
Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.
A register is a high-speed memory location within a CPU.

Various types of registers are used in combination in various computer architectures:

  • General-purpose registers are used to temporarily store values.
  • Accumulators hold the results of mathematical operations (originally add/subtracts, but now any numerical operation).
  • Status registers (or Flag registers, or Condition code registers) contain flag bits, which are set/cleared/tested either explicitly (by instructions) or implicitly (as the result of other operations). For example, the ARM aarch32 "Z" flag is set ("1") if an operation has a non-zero result, and cleared ("0") if an operation has a non-zero result. This flag is one bit within the Application Processor Status Register (APSR).
  • Control registers alter the operation of the processor, such as by enabling binary coded decimal (BCD) math or toggling little-endian/big-endian mode.

The term register may also be used to refer to an IO port or a memory address within a memory-mapped input/output device, used to set/read device status and parameters.