When a program is run on the CPU it must do a number of tasks. This is known as the fetch-decode-execute-reset cycle. First of all the instruction must be fetched from main memory, intermediate access store (IAS). Then the instruction must be decoded. Once decoded it can be ran and then finally the whole cycle starts again.

We shall look, in some detail, how this process happens. It is also important to know, in more detail, how registers and stacks play a part in normal execution of software.