*-----------------------------------------------------------
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];