CacheMicroCodeC.mesa
Last Edited by: Barth, July 26, 1984 6:58:36 pm PDT
DIRECTORY CacheMicroMachine;
CacheMicroCodeC: CEDAR PROGRAM
IMPORTS CacheMicroMachine =
BEGIN OPEN CacheMicroMachine;
Master;
Sequence[0]; -- WriteQuad
Cycle[1, LIST[$MasterEnableMBusDrive, $MCmdDrive, $PageDriveMDataI, $BlockDriveMDataI, $VictimAddressBitsToMDataI, $MDataDrive, $VictimSelect, $DirtyBitsToMQSel, $ZeroMAdrCtr]];
Cycle[2, LIST[$SenseMBits, $DriveMDataI, $MasterEnableMBusDrive, $MDataDrive, $BCheckParity, $VictimSelect, $DirtyBitsToMQSel, $IncrementMAdrCtr]];
Cycle[3, LIST[$SenseMBits, $DriveMDataI, $MasterEnableMBusDrive, $MDataDrive, $BCheckParity, $VictimSelect, $DirtyBitsToMQSel, $IncrementMAdrCtr, $SenseReady]];
Cycle[4, LIST[$MIsDone, $SenseMBits, $DriveMDataI, $MasterEnableMBusDrive, $MDataDrive, $BCheckParity, $VictimSelect, $DirtyBitsToMQSel, $IncrementMAdrCtr]];
Cycle[5, LIST[$SenseMBits, $DriveMDataI, $MasterEnableMBusDrive, $MDataDrive, $BCheckParity, $Done, $DeleteDirtyBit, $FetchAddress, $FormAddress]];
Sequence[1]; -- IORead, map operation
Cycle[1, LIST[$MasterEnableMBusDrive, $MCmdDrive, $PageDriveMDataI, $MapBitsToMDataI, $MDataDrive, $ForceSlave, $Done]];
Cycle[2, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $CheckFaults, $ReleaseMBus, $MIsDone, $SuppressPSample, $RefreshToDecoder]];
Cycle[3, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $SuppressPSample, $RefreshToDecoder]];
Cycle[4, LIST[$MasterEnableMBusDrive, $MCmdDrive, $MCmdDriveToNoOp, $SuppressPSample, $FetchAddress, $FormAddress, $Done]];
END.