IFU1PLAFetchControl.mesa
Copyright c 1984 by Xerox Corporation. All rights reserved.
Last edited by Twilliams, August 27, 1984 6:28:59 pm PDT
Last edited by Curry, September 14, 1986 9:04:31 am PDT
Last edited by Herrmann, August 14, 1985 12:42:42 pm PDT
Last edited by McCreight, June 6, 1986 6:11:06 pm PDT
Don Curry April 2, 1987 5:35:04 pm PST
IFU1PLAFetchControl: CEDAR DEFINITIONS =
BEGIN
FetchControlIn: TYPE = RECORD [ -- default must be zero for use initializing sigificance arg
nextMacroJump: BOOLFALSE,
reset:    BOOLFALSE,
iPReject:   BOOLFALSE,
jumpPending: BOOLFALSE,
fetching:   BOOLFALSE,
fetchBytesM1: [0..32) ← 0,
iPFaulted:  BOOLFALSE,
iPFaulting:  BOOLFALSE,
op:    [0..8) ← 0 ];  -- 3 msbs of DragOpsCross.Inst
FetchControlOut: TYPE = RECORD [-- default must be zero
jumpPending:  BOOLFALSE,
newFetch:   BOOLFALSE,
fetching:    BOOLFALSE,
iPFaulted:   BOOLFALSE,
fetchWtIndexCtl:  FetchWtIndexCtl ← hold,
notInstReady:  BOOLFALSE,  -- beginning of old FetchPreDecode out record
jumpOffset:   JumpOffsetSel ← beta,
instFault0:   BOOLFALSE,
opLength:   [0..7] ← 0,   -- A latched copy for fetch indexing
opLengthb:   [0..7] ← 0 ];   -- B latched copy for pc adjustment
FetchRdDecodeIn: TYPE = RECORD [        fetchRd: [0..16)𡤀];
FetchWtDecodeIn: TYPE = RECORD [fetching: BOOLFALSE, fetchWt: [0..4)𡤀];
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.