*----------------------------------------------------------- Title[MemDefs.mc...October 16, 1982 3:13 PM...Taft]; * Memory system definitions *----------------------------------------------------------- MC[b0, 100000]; MC[b1, 40000]; MC[b2, 20000]; MC[b3, 10000]; MC[b4, 4000]; MC[b5, 2000]; MC[b6, 1000]; MC[b7, 400]; MC[b8, 200]; MC[b9, 100]; MC[b10, 40]; MC[b11, 20]; MC[b12, 10]; MC[b13, 4]; MC[b14, 2]; MC[b15, 1]; * B← NOT (FaultInfo') MC[fi.emuFault, b8]; * emulator made a fault MC[fi.numfaults, b9, b10, b11]; * nFaults-1 at time pipe read * B← Pipe4 (←Errors) constants and Values MC[pipe4.ref, b0]; MC[pipe4.notMapTrouble, b1]; MC[pipe4.wProtect,b2]; MC[pipe4.dirty, b3]; MC[pipe4.vacant, b2, b3]; * vacant is dirty & wProtect MC[m1pipe4.wpdref, b0, b2, b3]; * all the ref bits MC[pipe4.notMemError, b4]; MC[pipe4.notEcFault, b5]; MC[pipe4.quadWordMask, 1400]; MC[pipe4.syndromeMask,377]; * B← Pipe5 Constants and values MC[pipe5.MbufBusy, b0]; * map buf busy MC[pipe5.store', b4]; * MCR Constants and values Set[mcr.mcrVshift, 13]; * left shift "column" for position in mcr MC[mcr.noWake, b15]; * no faulttask wakeups MC[mcr.noReportSE, b14]; * don't report single errors MC[mcr.noRefHold, b9,b10]; * disable hold and memory references MC[mcr.noRef, b10]; * no storage references MC[mcr.disHold, b9]; * disable hold MC[mcr.disCF, b8]; * disable base registers MC[mcr.disBR, b8]; * disable cache flags MC[mcr.useMCRv, b2]; * use mcr for victim/next-victim MC[mcr.fdMiss, b1]; * force dirty victim * CFlags constants and values MC[cflags.dirty, b8]; MC[cflags.vacant, b9]; MC[cflags.wProtect, b10]; MC[cflags.beingLoaded, b11]; MC[cflags.mask, b8, b9, b10, b11]; Set[cflags.lshift, 4]; * B← Config -- Memory configuration definitions MC[ChipSize, b12, b13]; * bits per chip = 2↑(12 + 2*n) MC[M0bit, 200]; MC[M1bit, 100]; MC[M2bit, 40]; MC[M3bit, 20]; MC[anyModule, M0bit, M1bit, M2bit, M3bit]; MC[tsyn.econ, 200]; MC[TIOAvacantmapEntry, 140000]; MC[TIOAwProtect, 100000]; MC[TIOAusedMapEntry, 0];