<> <> <> <<>> <> <<>> DIRECTORY SCUtils, Rope, SCPmCode, Sisyph USING [Context, Store]; SCInit: CEDAR PROGRAM IMPORTS SCUtils, SCPmCode, Sisyph ~ BEGIN SetCacheParms: PUBLIC PROC [cx: Sisyph.Context, numBitsPerByte, numBytesPerWord, numCyclesPerLine, numMemLines, numIOLines, numFIFOLines: NAT] ~ { numWordsPerCycle: NAT _ 2; -- this is fixed by the bus architecture <<>> <> BEGIN Sisyph.Store[cx, "numBitsPerByte", NEW[NAT _ numBitsPerByte]]; Sisyph.Store[cx, "numBytesPerWord", NEW[NAT _ numBytesPerWord]]; Sisyph.Store[cx, "numWordsPerCycle", NEW[NAT _ numWordsPerCycle]]; Sisyph.Store[cx, "numCyclesPerLine", NEW[NAT _ numCyclesPerLine]]; Sisyph.Store[cx, "numMemLines", NEW[NAT _ numMemLines]]; Sisyph.Store[cx, "numIOLines", NEW[NAT _ numIOLines]]; Sisyph.Store[cx, "numFIFOLines", NEW[NAT _ numFIFOLines]]; Sisyph.Store[cx, "numStackBits", NEW[NAT _ SCPmCode.NumStackBits]]; Sisyph.Store[cx, "numPCBits", NEW[NAT _ SCPmCode.NumPCBits]]; <> <> <> <> <> <> <<>> <> <> <> <> <> <> <<>> <> <> <> <> <> <> <<>> <> <> <> <> <> <> END; <> BEGIN numBitsPerWord: NAT _ numBitsPerByte*numBytesPerWord; numBitsPerCycle: NAT _ numBitsPerWord*numWordsPerCycle; numBitsPerLine: NAT _ numBitsPerCycle*numCyclesPerLine; numWordsPerLine: NAT _ numWordsPerCycle*numCyclesPerLine; logNumWordsPerLine: NAT _ SCUtils.Log2[numWordsPerLine]; numPageBits: NAT _ (22*numBitsPerWord)/32; numBlockBits: NAT _ numBitsPerWord-numPageBits-logNumWordsPerLine; numDevIdBits: NAT _ (10*numBitsPerCycle)/64; numBitsPerHeader: NAT _ 7+numDevIdBits+numBitsPerWord; Sisyph.Store[cx, "numBitsPerWord", NEW[NAT _ numBitsPerWord]]; Sisyph.Store[cx, "numBitsPerCycle", NEW[NAT _ numBitsPerCycle]]; Sisyph.Store[cx, "numBitsPerLine", NEW[NAT _ numBitsPerLine]]; Sisyph.Store[cx, "numWordsPerLine", NEW[NAT _ numWordsPerLine]]; Sisyph.Store[cx, "logNumWordsPerLine", NEW[NAT _ logNumWordsPerLine]]; Sisyph.Store[cx, "numPageBits", NEW[NAT _ numPageBits]]; Sisyph.Store[cx, "numBlockBits", NEW[NAT _ numBlockBits]]; Sisyph.Store[cx, "numDevIdBits", NEW[NAT _ numDevIdBits]]; Sisyph.Store[cx, "numBitsPerHeader", NEW[NAT _ numBitsPerHeader]]; END; }; END.