import java.util.Set;
-public interface MachineDefinition {
+import net.mograsim.machine.mi.MicroInstructionMemoryDefinition;
+
+public interface MachineDefinition
+{
/**
* Creates a new instance of the machine
Machine createNew();
/**
- * Returns the schema that all possible ISAs (Instruction Set Architecture) must
- * be based on.
+ * Returns the schema that all possible ISAs (Instruction Set Architecture) must be based on.
*
* @return an {@link ISASchema} implementation fitting the machine
* @author Christian Femers
Set<Register> getRegisters();
/**
- * The number of bits used by the machine to address main memory. Note that this
- * should be the number of bits used in the CPU, not a possibly different one
- * used by the bus system.
+ * The number of bits used by the machine to address main memory. Note that this should be the number of bits used in the CPU, not a
+ * possibly different one used by the bus system.
*
* @return the number of bits used by the CPU
* @see MainMemoryDefinition#getMemoryAddressBits()
* @author Christian Femers
*/
MainMemoryDefinition getMainMemoryDefinition();
+
+ /**
+ * Returns the definition of the machines instruction memory.
+ *
+ * @return the {@link InstructionMemoryDefinition} that defines the instruction memory.
+ */
+ MicroInstructionMemoryDefinition getMicroInstructionMemoryDefinition();
+
}