X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMainMemoryDefinition.java;h=72153d6dfce722fef47400ff726457905b381c7a;hb=4ba119cab03498736851e6f3f32eec1957839a2e;hp=3128cdddb53ddbe0db2acc1dd96fefb81ab6d0d2;hpb=feb82d306e86ae48cf48e93e9e96f119c8195196;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java b/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java index 3128cddd..72153d6d 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java +++ b/net.mograsim.machine/src/net/mograsim/machine/MainMemoryDefinition.java @@ -1,45 +1,24 @@ package net.mograsim.machine; /** - * This interface provides a means to get information about the machines memory - * architecture. It is not bound to any actual memory. + * This interface provides a means to get information about the machines memory architecture. It is not bound to any actual memory. * * @author Christian Femers * */ -public interface MainMemoryDefinition { - - /** - * The number of bits that the main memory uses to address cells. Note that this - * does not need to equal {@link MachineDefinition#getAddressBits()}. - * - * @return the number of bits used to address a memory cell - * @author Christian Femers - */ - int getMemoryAddressBits(); - +public interface MainMemoryDefinition extends MemoryDefinition +{ /** - * The width in bits of an addressable memory cell/unit. This is often 8 (= one - * byte). The actual cells/lines of the memory may be a lot larger. + * The width in bits of an addressable memory cell/unit. This is often 8 (= one byte). The actual cells/lines of the memory may be a lot + * larger. * * @return the addressable unit width in bits * @author Christian Femers */ int getCellWidth(); - /** - * The minimal address possible to address/use. This is usually 0. - * - * @return the minimal possible address. - * @author Christian Femers - */ - long getMinimalAddress(); - - /** - * The maximal address possible to address/use. - * - * @return the maximal possible address as unsigned long - * @author Christian Femers - */ - long getMaximalAddress(); + public static MainMemoryDefinition create(int memoryAddressBits, int cellWidth, long minimalAddress, long maximalAddress) + { + return new StandardMainMemoryDefinition(memoryAddressBits, cellWidth, minimalAddress, maximalAddress); + } }