This paper describes a sequence of assignments, each build-ing upon the next, leading students to a working simulation of a simple 8-bit CPU (Central Processing Unit). The de-sign features a classic Von Neumann architecture compris-ing a simple data path with a few registers, a simple ALU (Arithmetic Logic Unit), and a microprogram to direct all the control signals. The first step involves the design of the ALU which is capable of eight basic operations. The second step guides students to construct a datapath complete with several 8-bit registers. The third step involves the design and implementation of a control unit which uses a microprogram to implement machine code instructions. The microprogram implements nine basic machine language instructions which are sufficient for writing many simple programs. The fi-nal step involves adding program memory and an input and output device to form a simple working simulation of a com-puter. At this point, students may hand-assemble code for their CPU and simulate its execution. All simulations are performed using a free and open source simulator called Logisim which performs digital logic simu-lations with the ability to build larger circuits from smaller subcircuits. Students can set an adjustable clock rate and observe the internal CPU state and registers as it retrieves instructions and steps through the microcode. The basic CPU architecture provides many opportunities for more ad-vanced exercises, such as adding an instruction fetch unit, adding pipelining, or adding more machine language instruc-tions. The assignments were introduced in a second year course on computer organization, providing an effective hands-on approach to understanding how a CPU actually oper-ates. Copyright © 2013 ACM.
CITATION STYLE
Schuurman, D. C. (2013). Step-by-step design and simulation of a simple cpu architecture. In SIGCSE 2013 - Proceedings of the 44th ACM Technical Symposium on Computer Science Education (pp. 335–339). Association for Computing Machinery. https://doi.org/10.1145/2445196.2445296
Mendeley helps you to discover research relevant for your work.