mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
The root cause was DTLB miss leads to page fault exception with concurrent I$ miss. The HPTW hits all entries in the D$ and quickly faults. However the I$ is still waiting on the main memory. The trap then interrupts the atomimicity of the bus fetch and breaks the next several instructions. The simplest solution is to use CommittedF to delay Exceptions like with Interrupts. Note this cannot happen with CommittedM. If the ITLB misses and the D$ also need to fetch a from the bus an ITLB page fault exception will not trigger the trap until a few stages later. |
||
---|---|---|
.. | ||
cache | ||
ebu | ||
fpu | ||
generic | ||
hazard | ||
ieu | ||
ifu | ||
lsu | ||
mdu | ||
mmu | ||
privileged | ||
uncore | ||
wally | ||
cvw.sv |