<> <> <> <> <> <> <> DIRECTORY PLAOps; IFUPLAFetchControl: CEDAR DEFINITIONS = BEGIN FetchControlIn: TYPE = RECORD [ -- default must be zero for use initializing sigificance arg nextMacroJump: BOOL _ FALSE, reset: BOOL _ FALSE, iPReject: BOOL _ FALSE, jumpPendingIn: BOOL _ FALSE, iPFaultedIn: BOOL _ FALSE, iPFaulting: BOOL _ FALSE, fetchingIn: BOOL _ FALSE, fetchBytesM1: [0..32) _ 0, op: [0..8) _ 0 ]; -- 3 msbs of DragOpsCross.Inst FetchControlOut: TYPE = RECORD [-- default must be zero newFetch: BOOL _ FALSE, fetching: BOOL _ FALSE, instFault0: BOOL _ FALSE, fetchWtIndexCtl: FetchWtIndexCtl _ hold, opLengthb: [0..7] _ 0, -- B latched copy for pc adjustment jumpPending: BOOL _ FALSE, iPFaulted: BOOL _ FALSE, jumpOffset: JumpOffsetSel _ beta, opLength: [0..7] _ 0, -- A latched copy for fetch indexing notInstReady: BOOL _ FALSE ]; -- beginning of old FetchPreDecode out record FetchRdDecodeIn: TYPE = RECORD [ fetchRd: [0..16)_0]; FetchWtDecodeIn: TYPE = RECORD [fetching: BOOL _ FALSE, fetchWt: [0..4)_0]; FetchRdDecodeOut: TYPE = RECORD [fetchBufRdByte: [0..65535] _ 0]; FetchWtDecodeOut: TYPE = RECORD [fetchBufWtWd: [0..16) _ 0]; FetchWtIndexCtl: TYPE = MACHINE DEPENDENT {hold(0), inc(3), clear(5)}; JumpOffsetSel: TYPE = MACHINE DEPENDENT {beta(0), alpha(3), alphaBeta(5), xa(9)}; END.