EMMA is a simulation applet containing a model of a simple load/store, register-register arithmetic microprocessor designed for use in virtual laboratory exercises in computer design. The processor has a predefined instruction set but the applet contains almost none of the microcode required to implement it. Instructors can propose exercises in which students write microcode to implement all or parts of the instruction set together with assembly code programs to demonstrate that the microcode operates correctly.Return to HASE home page
EMMA exists in two versions, the Basic version (EMMA-1) can execute single-cycle arithmetic operations whilst the Enhanced version (EMMA-2) contains facilities to allow multiply and divide to be implemented in microcode.
EMMA-1 is a revision of the original EMMA in which the positions of the various fields in the Microcode Word have been re-arranged to allow compatibility with EMMA-2, which uses both the Standard Microcode format of EMMA-1 and an Alternative Microcode format to control the extra facilities needed to implement multiply and divide.
EMMA-1The HASE EMMA-1 website explains the design of the Basic version of EMMA and how the applet works. The applet can be accessed from the Website or can be downloaded directly:
EMMA-2The HASE EMMA-2 website explains the design of the Enhanced version of EMMA and how the applet works. The applet can be accessed from the Website or can be downloaded directly:
Original VersionThe original EMMA applet can still be accessed via the HASE EMMA-0 website.