| 1 | # Overview # |
| 2 | |
| 3 | I've started using my PDP-11 for instrument control and wanted faster floating |
| 4 | point (FP) calculations. My PDP-11/83 is based on the DCJ11 chipset which |
| 5 | provides a microcoded implementation of the PDP-11 FP instructions. However, |
| 6 | there was a hardware FP co-processor, the FPJ11, that was designed to work with |
| 7 | the DCJ11 and provides a 5x-8x speedup on FP operations. Unfortunately, the |
| 8 | documentation contains a few references that made me hesitant to simply |
| 9 | purchase an FPJ11 and plug it in. |
| 10 | |
| 11 | For example, DEC Micronote #25 mentions that |
| 12 | |
| 13 | An FPJ11-AA installed on a KDJ11-AA may APPEAR to work |
| 14 | but cache errors and parity errors may occur. |
| 15 | |
| 16 | Yikes! |
| 17 | |
| 18 | What follows is the compatibility information necessary to add an FPJ11 to a |
| 19 | DCJ11-based PDP-11. It has been condensed from various USENET postings and DEC |
| 20 | manuals. |
| 21 | |
| 22 | # DJC11/FPJ11 Compatibility # |
| 23 | |
| 24 | Commercially released DCJ11 chipsets ran at either 15 or 18 MHz and there were |
| 25 | two versions of the FPJ11 to match. The part number is written on the gold |
| 26 | cover in the middle of the ceramic package. If you have an 18 MHz DCJ11 but can |
| 27 | only find a 15 MHz FPJ11 it is possible to change the crystal on the CPU board |
| 28 | to 15 Mhz. This would require an extremely FP-heavy workload to be worthwhile. |
| 29 | |
| 30 | | FPJ11 | Speed | |
| 31 | | ----------- | ------ | |
| 32 | | 21-21858-05 | 15 MHz | |
| 33 | | 21-21858-06 | 18 MHz | |
| 34 | |
| 35 | In addition to clock speed, the earliest DCJ11s must be avoided as they are |
| 36 | simply incompatible. This part number is located on the white ceramic package, |
| 37 | between the DC334 Data chip and DC335 Control chip. |
| 38 | |
| 39 | | DCJ11 | Speed | FPA Compat? | |
| 40 | | ----------- | ------ | ----------- | |
| 41 | | 57-19400-04 | 15 MHz | No | |
| 42 | | 57-19400-08 | 15 MHz | Yes | |
| 43 | | 57-19400-09 | 18 MHz | Yes | |
| 44 | |
| 45 | |
| 46 | # KDJ11 CPU Board Compatibility # |
| 47 | |
| 48 | |
| 49 | Excluding the PDP-11/53 CPU boards that lack a socket for the FPJ11 and the |
| 50 | PDP-11/93 CPU board that always includes the FPJ11 leaves us with the following |
| 51 | set of CPU boards from the PDP-11/73 and /83 that are potential FPJ11 |
| 52 | recipients. |
| 53 | |
| 54 | | KDJ11-xx | M819x-xx | FPA Compat? | Notes | |
| 55 | | -------- | -------- | ----------- | ------------------------------------------------------------------------------------------ | |
| 56 | | KDJ11-AA | M8192 | No | DEC uNOTE #25 states this board was upgradeable. Some FPJ11-compatible versions may exist. | |
| 57 | | KDJ11-AB | M8192-YB | Yes | When the FPJ11 is installed this board magically becomes an M8192-YC/KDJ11-AC. | |
| 58 | | KDJ11-BC | M8190 | No | | |
| 59 | | KDJ11-BB | M8190-AB | Yes | When the FPJ11 is installed this board magically becomes an M8190-AC/KDJ11-BD. | |
| 60 | | KDJ11-BA | M8190-AD | Yes | When the FPJ11 is installed this board magically becomes an M8190-AE/KDJ11-BF. | |
| 61 | |
| 62 | # FPJ11 Testing # |
| 63 | |
| 64 | When the KDJ11-B detects an installed FPJ11 it flags bit 8 (counting from 0) in |
| 65 | the Maintenance Register located at `17 777 750`. Using ODT to test on a |
| 66 | freshly powered up Qbus system with FPJ11 installed: |
| 67 | |
| 68 | @17777750/000445 |
| 69 | |
| 70 | And on the same system with the FPJ11 removed: |
| 71 | |
| 72 | @17777750/000045 |
| 73 | |
| 74 | Note that your results may be different since this register also encodes |
| 75 | Unibus/Qbus, KDJ11 module type, BPOK status, power up mode, and halt/trap |
| 76 | options. Exact details can be found in the KDJ11-B CPU Module User's Guide |
| 77 | (EK-KDJ1B-UG-001) starting on page 1-43. |