In the course of running a machine language program on the CSC-1, the control unit sets various control wires to 1 or 0 at the appropriate time in order to execute primitive instructions of a machine language program. All high level programs written in C, BASIC, FORTRAN, Java or the myriad of other programming languages, must ultimately be turned into a stream of primitive machine instructions, since this is all that the actual hardware understands. Doing just one instruction involves a lot of tiny steps. This is done millions of times per second on even personal computers nowadays. It is amazing to think of the myriad changes in the movements of electrons that occur in the fastest blink of an eye while typing on the keyboard, moving the mouse or watching the screen repaint itself. We will now dissect the steps that the hardware goes through when it performs just one instruction. This cycle, one complete instruction execution, is often called the fetch/decode/execute cycle, or just the machine cycle or the instruction cycle. The CSC-1 computer is typical of many computers so we will study it as a prototype. |