Citizendia
Your Ad Here

In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere. In Computer engineering, computer architecture is the conceptual design and fundamental operational structure of a Computer system Computer data storage, often called storage or memory, refers to Computer components devices and recording media that retain digital Most, but not all, modern computer architectures operate on the principle of moving data from main memory into registers, operating on them, then moving the result back into main memory—a so-called load-store architecture. A common property of computer programs is locality of reference: the same values are often accessed repeatedly; and holding these frequently used values in registers improves program execution performance. Computer programs (also software programs, or just programs) are instructions for a Computer. In Computer science, locality of reference, also known as the principle of locality, is the phenomenon of the same value or related storage locations

Processor registers are at the top of the memory hierarchy, and provide the fastest way for a CPU to access data. The Hierarchical arrangement of storage in current Computer architectures is called the memory hierarchy. The term is often used to refer only to the group of registers that are directly encoded as part of an instruction, as defined by the instruction set. An instruction set is a list of all the instructions and all their variations that a processor can execute More properly, these are called the "architectural registers". For instance, the x86 instruction set defines a set of eight 32-bit registers, but a CPU that implements the x86 instruction set will often contain many more registers than just these eight. See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal

Allocating frequently used variables to registers can be critical to a program's performance. This action, namely register allocation is performed by a compiler in the code generation phase. In Compiler optimization, register allocation is the process of Multiplexing a large number of target program Variables onto a small number of A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another In Computer science, code generation is the process by which a Compiler 's code generator converts some internal representation of Source code

Categories of registers

Registers are normally measured by the number of bits they can hold, for example, an "8-bit register" or a "32-bit register". A bit is a binary digit, taking a value of either 0 or 1 Binary digits are a basic unit of Information storage and communication Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their Address space is limited to 64 KBs This is not a "natural The range of Integer values that can be stored in 32 bits is 0 through 4294967295 or −2147483648 through 2147483647 using Two's complement encoding Registers are now usually implemented as a register file, but they have also been implemented using individual flip-flops, high speed core memory, thin film memory, and other ways in various machines. A register file is an array of Processor registers in a central processing unit (CPU. In Digital circuits a flip-flop is a term referring to an Electronic circuit (a Bistable Multivibrator) that has two stable states and thereby Magnetic core memory, or ferrite-core memory, is an early form of Random access Computer memory.

A processor often contains several kinds of registers, that can be classified according to their content or instructions that operate on them:

Hardware registers are similar, but occur outside CPUs. The Memory Buffer Register (MBR is the register in the central processor that stores the data being transferred to and from the immediate access store The' memory data register' (MDR is the register of a Computer 's Control unit that contains the data to be stored in the Computer storage (e The memory address register holds the address of the next memory location where the next instruction is to be executed Memory Type Range Registers (MTRRs are Control registers that provide System software with control of how accesses to memory ranges by the CPU In Digital electronics, especially Computing, a hardware register stores bits of information in a way that all the bits can be written to or read out simultaneously

Some examples

The table below shows the number of registers of several mainstream architectures. Note that the stack pointer (ESP) is counted as an integer register on x86-compatible processors, even though there are a limited number of instructions that may be used to operate on its contents. Similar caveats apply to most architectures.

Processors Integer registers Double FP registers
x86 8 8
x86-64 16 16
Itanium 128 128
UltraSPARC 32 32
POWER 32 32
Alpha 32 32
6502 3 0
PIC microcontroller 1 0

See also

See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal x86-64 is a Superset of the x86 instruction set architecture. Itanium is the brand name for 64-bit Intel Microprocessors that implement the Intel Itanium architecture (formerly called IA-64) SPARC (from Scalable Processor Architecture is a RISC Microprocessor Instruction set architecture originally POWER is a RISC Instruction set architecture designed by IBM. Alpha, originally known as Alpha AXP, was a 64-bit Reduced instruction set computer (RISC Instruction set architecture (ISA developed The MOS Technology 6502 is an 8-bit Microprocessor that was designed by Chuck Peddle for MOS Technology in 1975 PIC is a family of Harvard architecture Microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument In Digital circuits a shift register is a group of flip flops set up in a linear fashion which have their inputs and outputs connected together in such a way that the In Compiler optimization, register allocation is the process of Multiplexing a large number of target program Variables onto a small number of
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic