Class CommonMemoryLocations

java.lang.Object
uk.ac.manchester.spinnaker.transceiver.CommonMemoryLocations

public abstract class CommonMemoryLocations
extends Object
Common memory locations. Note that many locations really come in both buffered and unbuffered varieties, but this class doesn't hold all standard locations and versions:
Buffered SDRAM means that writes go through a write buffer. Unbuffered means that they go directly to SDRAM. Reads are unaffected in general. If you are writing lots of data, it is unlikely to matter much since the write buffer is limited in size. Here you probably want to use Unbuffered anyway, as it will then block until the write is definitely done. Using Buffered writing means that the write may or may not have happened at the time of the response.
Author:
Donal Fellows
  • Field Details

    • UNBUFFERED_SDRAM_START

      public static final MemoryLocation UNBUFFERED_SDRAM_START
      Start of unbuffered access to SDRAM. Writes will block until they have completed.
    • ROUTING_TABLE_DATA

      public static final MemoryLocation ROUTING_TABLE_DATA
      Location of routing table data in transit. Reserved by SCAMP.
    • EXECUTABLE_ADDRESS

      public static final MemoryLocation EXECUTABLE_ADDRESS
      Where executables are written to prior to launching them. Reserved by SCAMP.
    • BUFFERED_SDRAM_START

      public static final MemoryLocation BUFFERED_SDRAM_START
      Start of buffered access to SDRAM. Writes will finish rapidly, but data may take some cycles to appear in memory.

      It doesn't matter too much when working from host; the time to do the network communications is rather longer than the normal buffering time for SDRAM.

    • ROUTER_BASE

      public static final MemoryLocation ROUTER_BASE
      Location of the bank of memory-mapped router registers. Buffered.
    • ROUTER_CONTROL

      public static final MemoryLocation ROUTER_CONTROL
      Location of the memory-mapped router control register (r0).
    • ROUTER_ERROR

      public static final MemoryLocation ROUTER_ERROR
      Location of the memory-mapped router error register (r5).
    • ROUTER_DIAGNOSTIC_COUNTER

      public static final MemoryLocation ROUTER_DIAGNOSTIC_COUNTER
      Where to write router diagnostic counters control data to (r11). Unbuffered.
    • ROUTER_FILTERS

      public static final MemoryLocation ROUTER_FILTERS
      Location of the memory-mapped router filtering registers (rFN).
    • ROUTER_DIAGNOSTICS

      public static final MemoryLocation ROUTER_DIAGNOSTICS
      Location of the memory-mapped router diagnostics registers (rCN).
    • ROUTER_P2P

      public static final MemoryLocation ROUTER_P2P
      The base address of a router's P2P routing table, 3 bits per route.
    • CPU_INFO

      public static final MemoryLocation CPU_INFO
      Where the CPU information structure is located. Buffered system RAM.
    • SYS_VARS

      public static final MemoryLocation SYS_VARS
      Where the system variables are located. Unbuffered system RAM.