X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMachineDefinition.java;h=b568e7e0830c7ade4a88461b227e9e84d8a00faf;hb=cc800d982ab9fe3e7d026655847a2160e34a5f8e;hp=8f1ee265b4d7c4450a31acda1d54e8a9a18bda08;hpb=e4320ff6606b0e8bc5184b8b1ae1e7cae95a5726;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java index 8f1ee265..b568e7e0 100644 --- a/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java @@ -1,8 +1,10 @@ package net.mograsim.machine; -import java.util.Set; +import java.util.List; import net.mograsim.machine.mi.MicroInstructionMemoryDefinition; +import net.mograsim.machine.registers.Register; +import net.mograsim.machine.registers.RegisterGroup; public interface MachineDefinition { @@ -15,6 +17,13 @@ public interface MachineDefinition */ String getId(); + /** + * Returns a human-readable description of the machine definition. + * + * @author Daniel Kirschten + */ + String getDescription(); + /** * Creates a new instance of the machine * @@ -32,12 +41,20 @@ public interface MachineDefinition ISASchema getISASchema(); /** - * Returns a set of all {@link Register}s present in the machine. + * Returns a set of all {@link Register}s present in the machine that are not part of a register group. * * @return all registers present in the machine. * @author Christian Femers */ - Set getRegisters(); + List getUnsortedRegisters(); + + /** + * Returns a set of all RegisterGroups that the machine contains + * + * @return all register groups present in the machine. + * @author Christian Femers + */ + List getRegisterGroups(); /** * 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