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).