Information about Processor Register
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. 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, that is the same values are often accessed repeatedly; and holding these frequently used values in registers improves program execution performance.
Processor registers are at the top of the memory hierarchy, and provide the fastest way for a CPU to access data. 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. 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 contain many more registers than just these eight.
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.
A processor often contains several kinds of registers, that can be classified according to their content or instructions that operate on them:
Processor registers are at the top of the memory hierarchy, and provide the fastest way for a CPU to access data. 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. 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 contain many more registers than just these eight.
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.
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". 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 processor often contains several kinds of registers, that can be classified according to their content or instructions that operate on them:
- User-accessible Registers - The most common division of user-accessible registers is into data registers and address registers.
- Data registers are used to hold numeric values such as integer and floating-point values. In some older and low end CPUs, a special data register, known as the accumulator, is used implicitly for many operations.
- Address registers hold addresses and are used by instructions that indirectly access memory. In some CPUs, a special address register is an index register, although often these hold numbers used to modify addresses rather than holding addresses.
- Conditional registers hold truth values often used to determine whether some instruction should or should not be executed.
- General purpose registers (GPRs) can store both data and addresses, i.e., they are combined Data/Address registers.
- Floating point registers (FPRs) store floating point numbers in many architectures.
- Constant registers hold read-only values such as zero, one, or pi.
- Vector registers hold data for vector processing done by SIMD instructions (Single Instruction, Multiple Data).
- Special purpose registers hold program state; they usually include the program counter (aka instruction pointer), stack pointer, and status register (aka processor status word).
- Instruction registers store the instruction currently being executed.
- Index registers are used for modifying operand addresses during the run of a program.
- In some architectures, model-specific registers (also called machine-specific registers) store data and settings related to the processor itself. Because their meanings are attached to the design of a specific processor, they cannot be expected to remain standard between processor generations.
- Control and status registers - It has three types. Program counter, instruction registers, Program status word (PSW).
- Registers related to fetching information from RAM, a collection of storage registers located on separate chips from the CPU (unlike most of the above, these are generally not architectural registers):
- Memory buffer register
- Memory data register
- Memory address register
- Memory Type Range Registers
Some examples
The table below shows the number of registers of several mainstream processors. 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.| Processors | Integer registers | Double FP registers |
|---|---|---|
| Intel Core Duo | 8 | 8 |
| Intel Core 2 | 16 | 16 |
| Pentium 4 | 8 | 8 |
| Pentium 4 with EM64T | 16 | 16 |
| Athlon 64 | 16 | 16 |
| Athlon MP | 8 | 8 |
| Opteron 240 | 16 | 16 |
| Itanium 2 | 128 | 128 |
| UltraSPARC IIIi | 32 | 32 |
| POWER3 | 32 | 32 |
| 6502 | 3 | 0 |
See also
CPU technologies |
|---|
| Microarchitecture, ISA • RISC, CISC, EPIC, VLIW • Pipelining, Superscalar, Out-of-order execution, Speculative execution, Multithreading, Multiprocessing • ALU, FPU, Vector processor, SIMD • 32-bit/64-bit, Registers, Cache • ASIC, FPGA, DSP, Microcontroller, ASIP, SoC |
computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer —
..... Click the link for more information.
..... Click the link for more information.
Computer data storage, computer memory, and often casually storage or memory refer to computer components, devices and recording media that retain digital data used for computing for some interval of time.
..... Click the link for more information.
..... Click the link for more information.
central processing unit (CPU), or sometimes simply processor, is the component in a digital computer capable of executing a program.(Knott 1974) It interprets computer program instructions and processes data.
..... Click the link for more information.
..... Click the link for more information.
reduced instruction set computer (RISC, pronounced like "risk") is a CPU design philosophy that favors an instruction set reduced both in size and complexity of addressing modes, in order to enable easier implementation, greater instruction level parallelism, and
..... Click the link for more information.
..... Click the link for more information.
A computer program is one or more instructions that are intended for execution by a computer. Specifically, it is a symbol or combination of symbols forming an algorithm that may or may not terminate, and that algorithm is written in a programming language.
..... Click the link for more information.
..... Click the link for more information.
In computer science, locality of reference, also called the principle of locality, is the term applied to situations where the same value or related storage locations are frequently accessed.
..... Click the link for more information.
..... Click the link for more information.
memory hierarchy. It is designed to take advantage of memory locality in computer programs. Each level of the hierarchy has the properties of higher speed, smaller size, and lower latency than lower levels.
..... Click the link for more information.
..... Click the link for more information.
central processing unit (CPU), or sometimes simply processor, is the component in a digital computer capable of executing a program.(Knott 1974) It interprets computer program instructions and processes data.
..... Click the link for more information.
..... Click the link for more information.
instruction set is (a list of) all instructions, and all their variations, that a processor can execute.
Instructions include:
..... Click the link for more information.
Instructions include:
- arithmetic such as add and subtract
- logic instructions such as and, or, and not
..... Click the link for more information.
The generic term x86 refers to the "CISC" type instruction set of the most commercially successful CPU architecture[1] in the history of personal computing, used in processors from Intel, AMD, VIA, and others.
..... Click the link for more information.
..... Click the link for more information.
central processing unit (CPU), or sometimes simply processor, is the component in a digital computer capable of executing a program.(Knott 1974) It interprets computer program instructions and processes data.
..... Click the link for more information.
..... Click the link for more information.
In compiler optimization, register allocation is the process of multiplexing a large number of target program variables onto a small number of CPU registers. The goal is to keep as many operands as possible in registers to maximise the execution speed of software programs.
..... Click the link for more information.
..... Click the link for more information.
compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language).
..... Click the link for more information.
..... Click the link for more information.
code generation is the process by which a compiler's code generator converts some internal representation of source code into a form (e.g., machine code) that can be readily executed by a machine (often a computer).
..... Click the link for more information.
..... Click the link for more information.
BIT is an acronym for:
..... Click the link for more information.
- Bannari amman Institute of Technology
- Bangalore Institute of Technology
- Beijing Institute of Technology
- Benzisothiazolinone
- Bilateral Investment Treaty
- Bhilai Institute of Technology - Durg
..... Click the link for more information.
8-bit integers, memory addresses, or other data units are those that are at most 8 bits (1 octet) wide. Also, 8-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
..... Click the link for more information.
..... Click the link for more information.
In computer architecture, 32-bit integers, memory addresses, or other data units are those that are at most 32 bits (4 octets) wide. Also, 32-bit CPU and ALU architectures are those that are based on registers, address buses, or data buses of that size.
..... Click the link for more information.
..... Click the link for more information.
A register file is an array of processor registers in a central processing unit (CPU). Modern integrated circuit-based register files are usually implemented by way of fast static RAMs with multiple ports.
..... Click the link for more information.
..... Click the link for more information.
flip-flop, is a kind of bistable multivibrator, an electronic circuit which has two stable states and thereby is capable of serving as one bit of memory. Today, the term flip-flop has come to generally denote non-transparent (clocked or
..... Click the link for more information.
..... Click the link for more information.
Magnetic core memory, or ferrite-core memory, is an early form of computer memory. It uses small magnetic ceramic rings, the cores, to store information via the polarity of the magnetic field they contain.
..... Click the link for more information.
..... Click the link for more information.
Thin film memory is a high-speed variation of core memory developed by Sperry Rand in a government-funded research project.
Instead of threading individual ferrite cores on wires, a thin film (4 millionths of an inch thick) of iron-nickel alloy (called permalloy) was
..... Click the link for more information.
Instead of threading individual ferrite cores on wires, a thin film (4 millionths of an inch thick) of iron-nickel alloy (called permalloy) was
..... Click the link for more information.
In computer science, the term integer is used to refer to any data type which represents some subset of the mathematical integers. These are also known as integral data types.
..... Click the link for more information.
..... Click the link for more information.
Computer data storage, computer memory, and often casually storage or memory refer to computer components, devices and recording media that retain digital data used for computing for some interval of time.
..... Click the link for more information.
..... Click the link for more information.
An index register in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations. Index registers were first used in the British Manchester Mark I computer, in 1949.
..... Click the link for more information.
..... Click the link for more information.
In logic and mathematics, a logical value, also called a truth value, is a value indicating the extent to which a proposition is true.
In classical logic, the only possible truth values are true and false.
..... Click the link for more information.
In classical logic, the only possible truth values are true and false.
..... Click the link for more information.
In computing, floating-point is a numerical-representation system in which a string of digits (or bits) represents a real number. The most commonly encountered representation is that defined by the IEEE 754 Standard.
..... Click the link for more information.
..... Click the link for more information.
Editing of this page by unregistered or newly registered users is currently disabled due to vandalism.
If you are prevented from editing this page, and you wish to make a change, please discuss changes on the talk page, request unprotection, log in, or .
..... Click the link for more information.
If you are prevented from editing this page, and you wish to make a change, please discuss changes on the talk page, request unprotection, log in, or .
..... Click the link for more information.
vector processor, or array processor, is a CPU design that is able to run mathematical operations on multiple data elements simultaneously. This is in contrast to a scalar processor which handles one element at a time. The vast majority of CPUs are scalar (or close to it).
..... Click the link for more information.
..... Click the link for more information.
Flynn's Taxonomy
Single
Instruction Multiple
Instruction
Single
Data SISD MISD
Multiple
Data SIMD MIMD In computing, SIMD (Single Instruction, Multiple D
..... Click the link for more information.
Single
Instruction Multiple
Instruction
Single
Data SISD MISD
Multiple
Data SIMD MIMD In computing, SIMD (Single Instruction, Multiple D
..... Click the link for more information.
The program counter (also called the instruction pointer, part of the instruction sequencer in some computers) is a register in a computer processor which indicates where the computer is in its instruction sequence.
..... Click the link for more information.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus