Emumaker86
Michael David Black, Nathaniel Waggoner · 2013
This paper describes a new GUI-based tool to teach undergraduate students to design their own CPUs. The tool was purpose-built to teach a wide range of computer organization topics, including digital logic, instruction set encoding, datapath and control units, and pipelining. A datapath builder allows microarchitecture building blocks, such as registers, ALUs, and multiplexors, to be laid out, wired together, and simulated. A control builder allows students to develop control states and microinstructions for the datapath. Both units are integrated with a full PC emulator, allowing student-designed processors to use emulated devices, such as drives, video, and I/O ports. A tutorial teaches students to use the simulator to build a pipelined RISC processor.