CIS Logo SVC Logo

   Computing & Information Systems


Schoology Facebook        Search CIS Site      Tutorials

Mic1 Microprogramming Simulator

As explained in the documentation file, this software simulates the execution of microprograms based on the example machine given in Ch. 4 of Andrew S. Tanenbaum's Structured Computer Organization, 3rd ed. (Prentice-Hall, 1990). Note that his memory-mapped I/O is not supported by the simulator and that the range of memory addresses handled is much more limited that what is used in his text. The simulator gives a visual display of what happens in each subcycle (or cycle, etc.) of the microprogram. This can be useful in introducing students to microprogramming, since it is something that they cannot usually try in practice. With Mic1, students (or the instructor) can run small test microprograms, or even Tanenbaum's Mic-1 microprogram which interprets Mac-1 programs. (Mac-1 refers to his example conventional machine level. Note that Tanenbaum's microprogram interpreter has been modified to handle a Mac-1 HALT instruction.)

The simulator can be used in several ways with students in computer architecture & organization classes. First, students can run some of the example microprograms provided with the simulator. Then they can write and run their own microprograms. By using the microprogram interpreter that implements the Mac-1 machine language, students can run Mac-1 machine language programs, whether those supplied with the simulator (such as mic003.txt) or ones they write themselves. The most challenging type of project, however, is to have students invent a new Mac-1 machine language instruction and then to implement it by rewriting the microprogram interpreter. The author has used this as a contest in which part of the goal is to have students demonstrate their creativity in designing a useful Mac-1 instruction.

The Mic1 simulator and associated sample programs are made available as freeware. The latest version of the Mic1 microprogramming simulator runs under most versions of Windows. It was directly tested on Windows 95, 2000, and XP.

Instructor: Br. David Carlson

Maintained by: Br. David Carlson
Last updated: April 03, 2014