PC holds the address of the next instruction, e.g. 1, which gets passed to the MAR. the instruction gets fetched and passed to the MDR, which stores the instruction. A copy of the instruction is stored in the cache, incase it is later needed which is increases the speed of the computer, and the PC loads the next address. The control unit will decode the instruction that has just been fetched, this sequence continues repeating until the program reaches the location which tells the program to end.