(DOCX, Unknown)

advertisement
REGISTERS
Register:
In a computer, a register is one of a small set of data holding places that are part of
a computer processor. A register may hold computer instruction, a storage address, or any kind of
data (such as a bit sequence or individual characters). Some instructions specify registers as part of the
instruction.
A register is a special, high-speed storage area within the CPU. All data must be represented in a register
before it can be processed. For example, if two numbers are to be multiplied, both numbers must be in
registers, and the result is also placed in a register. (The register can contain the address of a memory location
where data is stored rather than the actual data itself.)
The number of registers that a CPU has and the size of each (number of bits) help determine the power and
speed of a CPU. For example a 32-bit CPU is one in which each register is 32 bits wide. Therefore, each CPU
instruction can manipulate 32 bits of data.
Usually, the movement of data in and out of registers is completely transparent to users, and even to
programmers. Only assembly language programs can manipulate registers. In high-level languages, the
compiler is responsible for translating high-level operations into low-level operations that access registers.
There are two main types of register and then one of them splitting into 5 different subtypes. These two
registers are general purpose registers and dedicated registers. General purpose registers are used by
develops when they want certain data in there program(s) to be cached for fast access. They are not used for
any other system task to keep the computer running. The other type of register is called a dedicated register.
These types of registers are used by the system and cannot be accessed by programs or other user oriented
prompts. Dedicated registers can be split into 5 main groups; with each of these groups having their own use.
The five different types of dedicated registers are:
Program Counter (PC)
A incrementing counter that keeps track of the memory address of which instruction is to be
executed next.
Memory Address Register (MAR)
Holds the address in memory of the next instruction to be executed
Memory Data Register (MDR)
A two-way register that holds data fetched from memory (and ready for the CPU to process)
or data waiting to be stored in memory
Current Instruction register (CIR)
A temporary holding ground for the instruction that has just been fetched from memory
Accumulator Register (ACC)
Holds the data result of a current calculation
Download