Instructions are exchanged between participating functional units. For example, the flow of instructions between a central processing unit and a memory unit occurs by the processor first fetching the instruction from memory, the instruction fetch(IF). The address of the next instruction to be executed is located in the program counter or instruction register. The instruction register delivers the instruction to the processor, which decodes it so that it recognizes what instruction it needs to execute. This instruction is called Instruction Decode( ID).
This is followed by the reading of the register, Register Read( RR). Then the processor executes the operation designated by the instruction, the Execute (EX), and writes the result to a register or RAM, the Write Back( WB). Then the processor updates the instruction register by incrementing the program counter.