C. CPU Simulation
The CPU Simulation discussed in Chapter 6 teaches students how to simulate a hypothetical Von Neumann computer architecture at the register transfer level. The multimedia system, discussed in this paper, interacts with a commercially available simulation package called “CPU Sim” to do the simulation. CPU Sim is available from Intellimation. The student first specifies the details of the architecture to be simulated. The specifications include the following items:
names and lengths of all the registers that need to be provided in the machine to be simulated;
width and total number of memory locations;
instruction format to be used in the machine under simulation;
machine instruction set to be used;
micro-instruction set needed to implement the fetch/decode/execute cycles of the instructions considered;
input–output channels needed.
The lecture classes and the information presented in Chapter 6 of the multimedia system enable students to gain a complete understanding of the machine specifications that they need to develop. After inputting items given in the list of specifications, students develop the sequence of microinstructions needed for the fetch/decode cycle and the sequence of microinstructions needed for the execute cycles of the instructions defined in the machine instruction set. The multimedia system together with the CPU Sim provide students the opportunity to analyze the effect of adding new instructions to the instruction set, and enable students to gain hands-on experience in writing microcode.
Students can test the architecture they simulated by running test programs written in assembly language. During the test program run, the simulator displays the contents of all the registers and the memory locations used by the test program. The simulator also allows one to single step through the program execution, stopping the simulation after every clock cycle. The execution can be stopped at any time to inspect the state of the machine. One can also edit the contents of any component at any time and then continue, or even back up one instruction at a time all the way back to the initial state of the machine. This makes the simulation environment a powerful tool for enhancing the instruction on computer architecture and organization.