Wednesday, March 9, 2011

CPU Registers : Different CPU Registers

CPU Registers


The central processing unit contains a number of memory locations which are individually addressable and reserved for specific purpose. These memory locations are called registers.They accept, store and transfer data from CPU at a very high speed.All instuctions and data are loaded in the registers before sending to CPU.The results and intermediate results are also stored here before directing to any other components . Some of these registers are accessible to the programmer while some others are for the exclusive use of CPU. This latter set of registers is used for storage, interpretation and execution of instructions and the intermediate results. Total number of these registers varies among different computers. Widely used microprocessors have got eighteen 32-bit data registers which are used for storing instructions and operand of various sizes. One of these seven are 32-bit general purpose registers. These registers are accessible to the programmer and are used for holding addresses or as index registers for indexed memory addressing.

Every present-day CPU design includes registers for a variety of purposes, from storing the address of the currently-executed instruction to more general-purpose data storage and manipulation. CPU registers run at the same speed as the rest of the CPU; otherwise, they would be a serious bottleneck to overall system performance. The reason for this is that nearly all operations performed by the CPU involve the registers in one way or another.

The number of CPU registers (and their uses) are strictly dependent on the architectural design of the CPU itself. There is no way to change the number of CPU registers, short of migrating to a CPU with a different architecture. For these reasons, the number of CPU registers can be considered a constant, as they are changeable only with great pain and expense.

We know that register is a special- purpose memory. This memory is vital for moving data in and out of the main memory and to process the data. When CPU executes the instructions, there is a transfer of information between various units of the computer system. CPU uses these registers to handle the process of execution effectively and efficiently. They are a part of the central processing unit but can not be considered as a part of main memory. They can hold only one piece of data at a time. Registers receive the information, hold it temporarily and pass it on as directed by the control unit. The number of registers varies from computer to computer, each one designed to perform a specific function. Registers have a specific storage capacity normally 14 registers are present in a microcomputer. The most commonly used registers are:

(1) The first one is the program counter. This is 16-bit register. Its only function is to hold the memory address of the next instruction to be fetched, after executing the current instruction it is also called instructions address register, control register or sequence control register.((Program counter: holds the address of the next instruction to executed.))
(2) The second one is Instruction registers. It is 32-bit register. It is used to store the current instructions which are being executed. These registers are the part of the computer.(( Instruction register: holds the instruction while it is being executed.))
(3) MAR (Memory Address Register): The address on the memory location from which data has to be read is stored here.
(4) MRB (Memory Buffer Registers): The data read from the memory location is stored in this registers.
(5) General Purpose Registers: They are used asscratch pad by the CPU to store the result and the intermediate result during a processing.There may be about 8 of them in a CPU with accumulator register,the most importent of them.
(6) Accumulator: stores the result of the last processing step of the ALU.
(7) Address register: holds the location of the next piece of data.
(8) Storage register: holds the information on its way to and from the main memory.
(9) Input/output register: communicates with the input/output devices.

No comments:

Post a Comment

Please write your comments here on the above post(s).