Importing a bunch of pages from old websites.
[website_subgeniuskitty.com] / data / development / pdp-11 / references / fpj11_compat.md
CommitLineData
f6e94cb2
AT
1# Overview #
2
3I've started using my PDP-11 for instrument control and wanted faster floating
4point (FP) calculations. My PDP-11/83 is based on the DCJ11 chipset which
5provides a microcoded implementation of the PDP-11 FP instructions. However,
6there was a hardware FP co-processor, the FPJ11, that was designed to work with
7the DCJ11 and provides a 5x-8x speedup on FP operations. Unfortunately, the
8documentation contains a few references that made me hesitant to simply
9purchase an FPJ11 and plug it in.
10
11For 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
16Yikes!
17
18What follows is the compatibility information necessary to add an FPJ11 to a
19DCJ11-based PDP-11. It has been condensed from various USENET postings and DEC
20manuals.
21
22# DJC11/FPJ11 Compatibility #
23
24Commercially released DCJ11 chipsets ran at either 15 or 18 MHz and there were
25two versions of the FPJ11 to match. The part number is written on the gold
26cover in the middle of the ceramic package. If you have an 18 MHz DCJ11 but can
27only find a 15 MHz FPJ11 it is possible to change the crystal on the CPU board
28to 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
35In addition to clock speed, the earliest DCJ11s must be avoided as they are
36simply incompatible. This part number is located on the white ceramic package,
37between 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
49Excluding the PDP-11/53 CPU boards that lack a socket for the FPJ11 and the
50PDP-11/93 CPU board that always includes the FPJ11 leaves us with the following
51set of CPU boards from the PDP-11/73 and /83 that are potential FPJ11
52recipients.
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
64When the KDJ11-B detects an installed FPJ11 it flags bit 8 (counting from 0) in
65the Maintenance Register located at `17 777 750`. Using ODT to test on a
66freshly powered up Qbus system with FPJ11 installed:
67
68 @17777750/000445
69
70And on the same system with the FPJ11 removed:
71
72 @17777750/000045
73
74Note that your results may be different since this register also encodes
75Unibus/Qbus, KDJ11 module type, BPOK status, power up mode, and halt/trap
76options. Exact details can be found in the KDJ11-B CPU Module User's Guide
77(EK-KDJ1B-UG-001) starting on page 1-43.