SCPsuedoCode.tioga
Pradeep Sindhu November 19, 1985 10:41:36 pm PST
SCPsuedoCode
This document contains psuedo microcode for the small cache for the various operations from the P-Bus and the M-Bus sides.
P-Bus Side Operations
Defs:
CAMAccessCmd: Wire ← [Match←VMatch, Match←RMatch, CAMSelect←Match, CAMSelect←Victim];
RAMSelectCmd: Wire ← [RAMSelect←Match, RAMSelect←Victim];
LatchPBusAdr = {VAdrReg ← PBus.Data; PCmdReg ← PBus.Cmd};
MatchVAdr = {CAMDriveCmd.VPage ← Match; CAMDriveCmd.VLine ← Match; CAMDriveCmd.VDirty ← MatchAll; CAMDriveCmd.VValid ← Match};
MatchVPage = {CAMDriveCmd.VPage ← Match; CAMDriveCmd.VLine ← MatchAll; CAMDriveCmd.VDirty ← MatchAll; CAMDriveCmd.VValid ← Match};
ReadRAM = {RAMDriveCmd.Write ← 0; RAMMuxCmd.Write ← 0; RAMMuxCmd.SelPBusData ← 1};
PReadHit:
PhA:
LatchPBusAdr; VValid ← 1;
MatchVAdr;
CAMAccessCmd ← MatchVirtual;
PhB:
RAMSelect ← Match;
ReadRAM;
PReject ← FALSE;
PReadDataMissAdrsHit:
PhA:
LatchPBusAdr; VValid ← 1;
MatchVAdr;
CAMAccessCmd ← MatchVirtual;
Match ← VMatch;
PhB:
RAMSelect ← Match;
ReadRAM;
PReject ← TRUE;
PhA:
MRq ← 1;
MatchVPage;
CAMSelect ← VMatch;
PhB