A register is an easily accessible place on a PC for the processor to store instructions. Instructions to execute a particular program are stored in the register and accessed when the appropriate signal happens to be present. Some registers can be read only and directly written to memory or executed as read/write commands, while others have special hardware features and can only be read or write-once. The register can also be linked with the memory where pointers to external programs are stored. The register is used to store all sorts of information, including numerical and logical values. A register can hold instructions to perform complex tasks such as searching a word or string stored in the registry, jump to another address or file, or perform arithmetic and logical operations.
A register contains a number of bits which are collectively referred to as an instruction pointer. Instructions are executed on a PC by first getting the permission from the executing application, then setting the execution state (enabled), getting the PC’s permission, and finally seeing if the instructions are permitted or not. The PC then executes the instructions one at a time through the instruction pointer thus saving time and improving throughput. Instructions can be divided into two groups: local and global. A local instruction means that it is located in a particular register.
Globally, the execution of the instruction happens at the address specified by the PC instruction. For instance, executing the DLL (Digital Light Processing) would set a PC register at the particular address and then jump to the main program code. A global register is a memory location that stores data. As soon as the next instruction is executed, the memory location is updated thus updating the data stored at that particular location.
PC’s can access many processor registers. When an instruction is performed, it gets the PC’s permission before it changes any of the data registers. Then, it stores the new value in the targeted PC register. Whenever subsequent instructions are executed, the new contents are also written to the targeted PC register. So, you could say that a PC is a collection of instruction and data registers.
In addition to PC’s instruction pointer and data registers, a PC also contains an instruction counter and a stack pointer. The PC’s instruction counter is used to jump to a specific function call when an instruction is executed. Each function has a single instruction pointer. Stack pointer has two purposes: it keeps track of how much stack space is currently available for use and it controls the execution of a particular instruction. If either of these pointers becomes invalid, the PC will halt the execution of the program.
Now that you know what a register refers to, let me explain how PC’s work with various instructions. A PC starts execution by first looking at the PC register that contains the start code. Then, the PC proceeds to execute the start instruction or any other instructions following this one. Finally, the PC checks the return value from the instruction. So, you could say that the PC works by repeatedly checking a few registers.