In computer hardware, a register is a memory location that is used to store and manipulate data values during the execution of machine instructions. Registers are a common feature of modern processor architectures and are usually at the top of the memory hierarchy. Almost all computers load items of data from main memory into registers, where they can be manipulated or tested by machine instructions before being stored back to primary memory. Registers typically use flip-flops to store the data, with the control logic enabling them to be accessed and manipulated at very fast speeds.
In electronics, the term “register” may also be used to refer to a set of logical memory locations that are connected to each other and form an array (a register file), which allows multiple bits to be accessed in a single instruction cycle, speeding up processing time. This type of memory is commonly found in DSP devices such as digital signal processors, and is a form of vector register.
A register may also be a system of records for some type of information, including a collection of facts or data, or a document that contains the official record of something. Examples of this would be a shareholder register, loan register or register of deeds. Registers are often used in financial transactions, computing, legal documentation and business operations to ensure accuracy, transparency and accountability.
There are several ways to communicate using the term register, depending on grammar, syntax and tone. In informal settings, the register can be relaxed and intimate, such as when conversing with a close friend or a family member. In professional or academic settings, the register can be formal and impersonal, such as when addressing an audience or in an interview. In technical communication, the register can be used to describe the extent to which a concept or idea has been understood or accepted.
The register of a CPU or other processor is the central storage and manipulation location for all data values during an operation. The number of available registers varies between different processors, but most follow the basic von Neumann architecture. Almost all registers are divided into data and address registers, with data registers holding numeric data values (integers and, in some architectures, floating-point numbers) and address registers used by instructions that indirectly access primary memory.
In embedded systems, registers are the main storage and manipulation location for all data within a small self-contained computer system. These systems are commonly found in consumer electronics like smart TVs and car audio systems, but can also be built into larger devices such as household appliances and medical devices. This approach enables the system to operate faster and at lower power consumption than systems that rely on main memory for all operations. For smaller computing devices, this solution is often the only practical one.