Instruction unit
The instruction unit, also called instruction fetch unit or instruction issue unit, in a central processing unit is responsible for organising program instructions to be fetched from memory, and executed, in an appropriate order. It is a part of the control unit, which in turn is part of the CPU.
In the simplest style of computer architecture, the instruction cycle is very rigid, and runs exactly as specified by the programmer.
In the instruction fetch part of the cycle,
the value of the instruction pointer register is the address of the next instruction to be fetched. This value is placed on the address bus and sent to the memory unit; the memory unit returns the instruction at that address, and it is latched into the instruction register ; and the value of the IP is incremented or over-written by a new value, ready for the next instruction cycle.
This becomes a lot more complicated, though, once performance-enhancing features are added, such as instruction pipelining, out-of-order execution, and even just the introduction of a simple instruction cache.