KK11-A Cache Memory
Physically, it was a single hex board, the M8268, interfaced to the CPU through an 'over the back' connector. (This was likely because the PDP-11/34 could be field-upgraded from a KD11-E CPU, which did not support the cache, to a KD11-EA, which did - but the original DD11-P backplane was retained.)
The KK11-A contained 1024 cache entries of high-speed DRAM, in the form of 28 1024x1 DRAM chips. The cache was a direct-mapped cache (i.e. there was only one possible cache entry in which any given word of main memory could be found), with write-through, and a block size of one word.
Each cache entry was 28 bits wide, containing two data bytes; a tag field for cache entries, 7 bits wide (covering UNIBUS address bits 17-11); 3 parity bits (one for the tag); and two valid bits (to allow the entire cache to be cleared by switching to a previously cleared set of valid bits).
This is mostly covered here, but there is one KK11-A specific detail: a backplane jumper must be present from pin C01E1 to pin B02A1 (the 'cache hit' line).
A check is also required to make sure that the CPU's M8266 card is at the required ECO level - resistor 'R2' must be 1K ohms.
The cache registers are at the same locations as some of the memory/cache registers in the PDP-11/70, but they are generally incompatible with those in the /70, except as noted below.
|Cache Memory Error Register||CME||777744|
|Cache Control Register||CCR||777746|
|Cache Maintenance Register||CMR||777750|
|Cache Hit Register||CHR||777752|
In the register contents (below), read-write bits are shown in normal font, read-only in italics, and write-only in bold.
777744: Cache Memory Error Register (CME)
|Unused||High Byte Parity||Low Byte Parity||Tag Parity||Unused||CPU Abort|
Note: The manual says the 'CPU Abort' bit in the CME is bit 1, but the drawings show it as bit 0. Also, no indication is given as to whether these bits are read-only or not; likely they are.
777746: Cache Control Register (CCR)
|Unused||Valid Store In Use||Valid Clear In Progress||Unused||Write Wrong Parity Tag||Unconditional Cache Bypass||Flush Cache||Parity Error Abort||Write Wrong Parity Data||Unused||Force Miss High||Force Miss Low||Unused||Disable Cache Parity Interrupt|
777750: Cache Maintenance Register (CMR)
|Unused||Write Tag All Ones|
777752: Cache Hit Register (CHR)
|Tag Address||Unused||Hit Register|
Bit 0 refers to the most recent memory cycle. This field is the only one in the entire register set which is compatible with the -11/70.