Cache:
PUBLIC
PROC [ vm: CacheOps.VirtualMemory, nLines:
NAT ← CacheOps.StdLinesPerCache, skipRejects:
BOOL ←
FALSE ]
RETURNS [ ct: Core.CellType ];
CacheState:
TYPE =
RECORD [
phALast: BOOL ← FALSE, -- hack to improve simulation performance
cache: CacheOps.Cache,
randomStream: Random.RandomStream,
cycleNo: INT ← 0,
skipRejects: BOOL ← FALSE,
rejectCycles: NAT ← 0,
cmdAB: Dragon.PBusCommands ← NoOp,
address, fetchData, storeDataBA: Dragon.HexWord ← 0,
cmdType: {noOp, reset, fetch, specialFetch, store, ioStore} ← noOp,
fault: Dragon.PBusFaults ← none,
firstBOfCmdBA: BOOL ← FALSE,
csPredicted, csNew: Dragon.HexWord ← 0
];