1: At the fetch stage, the program counter is checked, as it holds the memory address of the next instruction to be executed
2: The address is sent along the address bus to main memory, where it waits to receive a signal from the control bus
3: The control unit sends a read signal along the control bus to main memory to read the data stored in the selected memory address
4: The contents stored in memory at the selected location are sent along the data bus to the memory data register
5: The data received by the memory data register is copied into the current instruction register
6: At the end of the fetch stage, the contents of the program counter is incremented so the address it contains points to the next instruction to be executed