9.2 SMP Design Philosophy

<< Click to Display Table of Contents >>

Navigation:  ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 9 - SMP Architecture >

9.2 SMP Design Philosophy

EMulatR follows five core SMP principles:

 

1.True symmetry — all CPUs are peers. There is no "master" CPU. Any CPU can boot, handle interrupts, or execute PAL code.

2.Per-CPU execution, shared memory — each CPU runs independently in its own thread but observes a shared physical address space (one global GuestMemory instance).

3.Weak ordering by default — memory ordering is not implied across CPUs. Without explicit barriers, a store on CPU 0 may be observed at any time (or never) by CPU 1.

4.Explicit synchronization — ordering and coordination occur only through defined mechanisms: barriers (MB/WMB), IPIs, PAL operations, and atomic instructions (LL/SC).

5.Deterministic correctness over speculative cleverness — the emulator prioritizes verifiable correctness over performance optimization, making SMP behavior observable and debuggable.

 

See Also: 5.2 Design Philosophy (weak ordering).