1 package net.mograsim.machine;
\r
4 * This interface provides a means to get information about the machines memory
\r
5 * architecture. It is not bound to any actual memory.
\r
7 * @author Christian Femers
\r
10 public interface MainMemoryDefinition {
\r
13 * The number of bits that the main memory uses to address cells. Note that this
\r
14 * does not need to equal {@link MachineDefinition#getAddressBits()}.
\r
16 * @return the number of bits used to address a memory cell
\r
17 * @author Christian Femers
\r
19 int getMemoryAddressBits();
\r
22 * The width in bits of an addressable memory cell/unit. This is often 8 (= one
\r
23 * byte). The actual cells/lines of the memory may be a lot larger.
\r
25 * @return the addressable unit width in bits
\r
26 * @author Christian Femers
\r
31 * The minimal address possible to address/use. This is usually 0.
\r
33 * @return the minimal possible address.
\r
34 * @author Christian Femers
\r
36 long getMinimalAddress();
\r
39 * The maximal address possible to address/use.
\r
41 * @return the maximal possible address as <b>unsigned long</b>
\r
42 * @author Christian Femers
\r
44 long getMaximalAddress();
\r