|
<< Click to Display Table of Contents >> Navigation: ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 12 – AlphaCPU Core > 12.10 CPU-Local Events |
AlphaCPU manages CPU-local pending events via PendingEvent_cpuLocal — a lightweight structure separate from FaultDispatcher's architectural events. These are implementation-level events, not architectural exceptions:
enum class PendingEventType { None, CodeModification, CacheInvalidation };
struct PendingEvent_cpuLocal {
PendingEventType type;
quint64 startPC, endPC, eventData;
};
handlePendingEventInLoop() processes these at the top of each iteration: CodeModification flushes the pipeline and invalidates the IBox decode cache (m_iBox→invalidateDecodeCache()); CacheInvalidation invalidates the decode cache without a pipeline flush.
handleCodeModification(startPC, endPC) queues a code modification event — called when a store modifies memory that may contain cached decoded instructions (self-modifying code support).
See Also: 4.4 IBox - Instruction Box (decode cache).