X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMachineDefinition.java;h=02cf375709d0ed9f68b8b29d8c890803b42b4f7e;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=cfed1ef32937d583bfefddd8595ec1be73bfd90b;hpb=feb82d306e86ae48cf48e93e9e96f119c8195196;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java b/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java index cfed1ef3..02cf3757 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java +++ b/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java @@ -2,7 +2,10 @@ package net.mograsim.machine; import java.util.Set; -public interface MachineDefinition { +import net.mograsim.machine.mi.MicroInstructionMemoryDefinition; + +public interface MachineDefinition +{ /** * Creates a new instance of the machine @@ -13,8 +16,7 @@ public interface MachineDefinition { 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 @@ -30,9 +32,8 @@ public interface MachineDefinition { Set 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() @@ -47,4 +48,12 @@ public interface MachineDefinition { * @author Christian Femers */ MainMemoryDefinition getMainMemoryDefinition(); + + /** + * Returns the definition of the machines instruction memory. + * + * @return the {@link InstructionMemoryDefinition} that defines the instruction memory. + */ + MicroInstructionMemoryDefinition getMicroInstructionMemoryDefinition(); + }