Files
OpenExSys_NoC/doc/system_memory_map.md
2023-11-26 14:59:34 +01:00

1.8 KiB

System Memory Map

1 Home Node to Memory Channel

1.1 Range-based: non-hashed SN target ID

use reg to direct assign a range of memory address to specific memory channel or io device

1.2 Range-based: hashed SN target ID

1.2.1 UMA mode

use reg to assign a range of memory address, for 4 home node, 4 memory channel:

  1. use PA[7:6] to interleave among memony channels (cache line interleave)
  2. for unbalanced memory size among memory channels, use to smallest size channel to interleave, and other memory use direct assign
PA bit num msb ... 8 7 6 5 - 0
Interleaving type CH CH line offest

CH: Channel interleaving

1.2.2 NUMA mode

use reg to assign a range of memory address, for 4 home node, 4 memory channel:

  1. use PA[6] to interleave among memony channels (cache line interleave)
  2. use PA[msb] to interleave among nodes
  3. for unbalanced memory size among memory channels, use to smallest size channel to interleave, and other memory use direct assign
PA bit num msb ... 8 7 6 5 - 0
Interleaving type ND CH CH line offest

ND: Node interleaving, CH: Channel interleaving

2 Request Node to Home Node

2.1 Non-hashed regions

A given memory partition is assigned to an individual targetID (non-hashed), for:

  1. PLIC(highest priority);
  2. IO space;
  3. Directly assigned memory range

2.2 Hashed memory region or non-hashed mode of hashed memory region

2.2.1 NUCA mode

use reg to assign a range of memory address for one core/cluster to its nearest home node, it can be configured at reset.