Cache.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
McCreight, September 10, 1986 5:34:24 pm PDT
Don Curry March 31, 1987 9:21:51 pm PST
DIRECTORY CacheOps, Core, Dragon, Ports, Random;
Cache: CEDAR DEFINITIONS
= BEGIN
PI: TYPE = {PhA, PhB, PData, PCmdA, PUserMode, PRejectB, PFaultB, ResetAB};
Create: PUBLIC PROC [ vm: CacheOps.VirtualMemory, nLines: NAT ← CacheOps.StdLinesPerCache, skipRejects: BOOLFALSE ] RETURNS [ ct: Core.CellType ];
CacheState: TYPE = RECORD [
phALast: BOOLFALSE, -- hack to improve simulation performance
cache: CacheOps.Cache,
randomStream: Random.RandomStream,
cycleNo: INT ← 0,
skipRejects: BOOLFALSE,
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: BOOLFALSE,
csPredicted, csNew: Dragon.HexWord ← 0
];
END.