5.13 Interaction with Pipeline

<< Click to Display Table of Contents >>

Navigation:  ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 5 - Memory System Architecture >

5.13 Interaction with Pipeline

The memory system interacts with the pipeline through well-defined contracts:

Memory access occurs in the EX stage — MBox performs all loads and address computation for stores during grain->execute()

MEM stage is a bookkeeping stage — commitPending() writes the deferred register result; barrier completion flags are checked

WB commits architectural visibility — store data is written to GuestMemory; LL/SC reservations are invalidated on store commit

Barriers stall fetch and advancement — CBox sets slot.stalled and slot.needsMemoryBarrier/needsWriteBufferDrain flags

Exceptions flush the pipeline — memory faults trigger pipeline flush from WB

 

Memory does not advance the pipeline — it constrains it. The pipeline controls when instructions move forward; the memory system determines what happens when they execute and whether stalls are required.

 

See Also: Chapter 3 - Pipeline Architecture; 3.7 Execute Stage (EX).