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 March 14, 1987 4:40:33 pm PST
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)𡤀];
FetchWtDecodeIn: TYPE = RECORD [fetching: BOOL ← FALSE, 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.