Courses in computer architecture, among other things, must address issues of CPU design and microprogramming. Real environments, if even available, provide very specialized, vendor specific architecture solutions. Computer architecture for this reason is often approached without the benefit of any hands-on experience. Simulation obviously provides a means of exploring "new" architectures. However, simulation tools in the architecture area tend to be highly specialized, typically dictating CPU design and microprogramming organization. If engineering-level concerns of speed or timing considerations are not at issue, APL provides a uniquely effective base for building a general simulation tool to implement both mundane and exotic microprogrammable CPU designs. The authors have conceived and developed such an environment using APL. Both students and instructor can use the simulation toolkit to "implement" CPU designs or install an existing CPU architecture. The user can specify registers and function modules activated by bits in the microinstructions. CPU bus structures, the microprogram store, main memory and its access scheme are user-definable. An interface guides the construction of microcode. The simulation can be operated one instruction at a time, one microinstruction at time, or integral multiples of either. A student-ready version has been successfully class tested during the 1989 Spring semester.
Read full abstract