Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
================================================================================
Note 39.0 KDJ11-A and KDJ11-B Differences No replies
FURILO::GIORGETTI 292 lines 4-SEP-1985 15:55
--------------------------------------------------------------------------------
+---------------+ +-----------------+
| d i g i t a l | | uNOTE # 039 |
+---------------+ +-----------------+
+----------------------------------------------------+-----------------+
| Title: Differences between KDJ11-A and KDJ11-B | Date: 8-Aug-85 |
+----------------------------------------------------+-----------------+
| Originator: Peter Kent | Page 1 of 5 |
+----------------------------------------------------+-----------------+
Purpose
The purpose of this MicroNote is to identify and discuss the differences
between the KDJ11-A and KDJ11-B CPU modules.
The table that follows lists the differences between the CPU modules.
Differences that require explanation follow the table and are marked *.
+------------------------+------------------+---------------------+
| FEATURE | KDJ11-A | KDJ11-B |
+------------------------+------------------+---------------------+
| Cache * | Single tag | Dual tag |
+------------------------+------------------+---------------------+
| PMI support * | No | Yes |
+------------------------+------------------+---------------------+
| On-board bootstrap * | No | Yes |
| and diagnostic ROM | | |
+------------------------+------------------+---------------------+
| Boot/diagnostics * | No | Yes |
| control status reg. | | |
+------------------------+------------------+---------------------+
| Boot page * | No | Yes |
| control register | | |
+------------------------+------------------+---------------------+
| Boot configuration * | No | Yes |
| and display register | | |
+------------------------+------------------+---------------------+
| Instruction implementation differences * |
+-----------------------------------------------------------------+
| DCJ-11 speed/FPJ11 differences * |
+-----------------------------------------------------------------+
| Backplane compatibility * |
+-----------------------------------------------------------------+
| Maintenance register differences * |
+-----------------------------------------------------------------+
cont'd
379
uNOTE # 039
Page 2 of 5
The differences between the CPU modules. cont'd:
+------------------------+------------------+---------------------+
| FEATURE | KDJ11-A | KDJ11-B |
+------------------------+------------------+---------------------+
| Module I.D. | M8192 | M8190 |
+------------------------+------------------+---------------------+
| Size | Dual | Quad |
+------------------------+------------------+---------------------+
| Power: 5 volt (12 Volt)| 4.5 | 5.5 (0.2) |
+------------------------+------------------+---------------------+
| AC loading | 3.4 | 2.3 |
+------------------------+------------------+---------------------+
| Console serial line | No | One |
+------------------------+------------------+---------------------+
Cache
For a full discussion of cache memory as used on the KJD11-A and KDJ11-B
refer to MicroNote #9 and the KDJ11-A and KDJ11-B User's Guides. Both
CPU modules have a similar cache organization using a nine bit tag.
This nine bit field contains information that is compared to the address
label, which is part of the physical address. When the physical address
is generated, the address label is compared to the tag field. If there
is a match it can be considered a hit provided that there is entry
validation and no parity errors. The KDJ11-B has an additional tag
store called the DMA tag. The DMA tag is an identical copy of the cache
tag store and is used to monitor the main memory DMA updates while the
cache tag store monitors the DCJ11 requirements. The presence of the
second tag store - DMA tag - allows the J-11 microprocessor to continue
processing after it has relinquished the system bus to a DMA device.
When the DMA tag detects a hit (main memory location written to by the
DMA device), the microprocessor stops and relinquishes the internal bus
to the cache controller to allow it to monitor further DMA activity on
the bus. The KDJ11-A, however, has only one tag store and stops
processing as soon as it relinquishes the system bus to a DMA device.
PMI support
The PMI or Private Memory Interconnect is described in MicroNote #30.
The PMI consists of 14 unique signals which use the CD interconnect side
of the backplane of certain Q-bus backplanes. PMI is used only with the
KDJ11-B and MSV11-J. PMI DATI and DATO bus transactions between the
KDJ11-B and MSV11-J are more than twice as fast as those between non-PMI
CPU and memory configurations. The KDJ11-A does not offer a PMI
capability.
The Unibus adaptor used with PDP11/84 systems enables the Unibus map if
a particular PMI signal - PMAPE (Unibus map enable) - is asserted and
disables the Unibus map when PMAPE is negated. The memory modules
associated with PMI (MSV11-J) do not use this signal. PMAPE is asserted
if Memory Management Register 3, bit 05 is set, and negates this signal
380
uNOTE # 039
Page 3 of 5
if MMR3 is clear. If there are devices which require this signal to
work, the KDJ11-A will not and cannot (without warranty violating
modifications) be made to issue this signal.
KDJ11-B boot/diagnostic ROM
The are basically 3 parts to the ROM code. The first part is the
diagnostic tests which are run at power up or at the initiation of the
operator. These tests perform checks on the CPU module, the memory
module(s), and the Unibus adaptor for Unibus systems. The second part
of the ROM is the boot code. The following devices can be booted from
the KDJ11-B: RA80/81/60, RD51/52, RX50, RC25, RL01/02, RX01/02, TU58,
RK05, TK25/50, TS05, TU81, DEQNA, DECnet DUV11, DECnet DLV11-E, DECnet
and DLV11-F. The boot code can also start programs stored in the EEPROM
or programs stored in M9312 type boot ROMs located on the KTJ11 Unibus
adaptor module. The third part of the the code allows the storing and
modification of parameters for the CPU, the Unibus adaptor, and the
system. This portion of the boot code also provides support for the
EEPROM itself. The user can also create (using a machine code editor)
his own custom boot code and save this code in the EEPROM.
Boot and diagnostic controller status register
The boot and diagnostic controller status register (BCSR) is both word
and byte addressable. The BCSR allows the boot and diagnostic ROM
programs to test battery backup and reboot status, to set parameters for
the PMG (processor mastership grant) counter and the line clock, to
enable the console halt on break feature and to enter or exit from stand
alone mode.
Boot page control register
The page control register is a read/write register which is both byte
and word addressable. The PCR high byte provides the most significant
ROM address bits when the 16 bit ROM sockets are accessed by bus address
1777300-17773776. The PCR low byte provides the most significant ROM
(or EEPROM) address bits when the 16 bit or 8 bit ROM sockets are
accessed by addresses 17765000-17765776.
Configuration and display register
The configuration and display register reflects the status of the eight
switches edge mounted at the top of the module. It also allows boot and
diagnostic programs to update the 8 bit LED display located at the top
of the KDJ11-B module.
Instruction set differences
Instructions which are required to do a read-modify-write are
implemented differently on the KDJ11-A and KDJ11-B. There are only 3
instructions which are defined by the PDP11 architecture to be
uninterruptible during its read- modify-write. They are the TSTSET,
381
uNOTE # 039
Page 4 of 5
WRTLCK, and ASRB instructions. The KDJ11-A will implement these
read-modify-write instructions differently than a KDJ11-B. The KDJ11-A
processor uses the AIO signal outputs of the J11 to determine whether it
performs either a 1) DATIO cycle or 2) a DATI cycle followed by a DATO
cycle. The KDJ11-A will ONLY do a DATIO Q-bus cycle when it executes a
TSTSET, WRTLCK or ASRB instruction. Past implementations of the PDP-11
architecture have also implemented other instructions doing a
read-modify-write cycle as being uniterruptable. The BIS (Bit Set)
instruction will be used as an example. This instruction requires the
CPU to READ a word from memory, possibly MODIFY that word, then WRITE
the word back to memory. A KDJ11-B uses a Q-bus DATIO cycle to
implement this instruction. Therefore, the instruction is not
interruptable between doing the READ and the WRITE. When it executes
other instructions which want to do a read-modify-write operation like
the BIS instruction, it will use two separate Q-bus cycles. This
implementation allows for an interrupt or DMA request to be granted
between the DATI and the DATO (case 2 above). There are third party
vendors whose equipment assume that a BIS instruction will use a DATIO
bus cycle. Those devices will work fine in a system with a KDJ11-B, but
will work intermittently in a system with a KDJ11-A because what they
assume to be uninterruptible is now interruptible and affects their
on-board firmware.
Speed and the FPA
+----------+---------+--------+----------------+--------------+---------+
| | 15 MHz | 18 MHz | FPA compatible | FPA on board | system |
+----------+---------+--------+----------------+--------------+---------+
| KDJ11-AA | Yes | No | No | No | Q18/Q22 |
+----------+---------+--------+----------------+--------------+---------+
| KDJ11-AB | Yes | No | Yes | No | Q18/Q22 |
+----------+---------+--------+----------------+--------------+---------+
| KDJ11-AC | Yes | No | Yes | Yes | Q18/Q22 |
+----------+---------+--------+----------------+--------------+---------+
| KDJ11-BB | Yes | No | Yes | No | 11/73 |
+----------+---------+--------+----------------+--------------+---------+
| KDJ11-BC | Yes | No | No | No | 11/73 |
+----------+---------+--------+----------------+--------------+---------+
| KDJ11-BF | No | Yes | Yes | Yes | 11/83 |
+----------+---------+--------+----------------+--------------+---------+
Notes on the above table
The 15 MHz or 18 MHz refers to the crystal frequency at which the DCJ-11
will run. FPA means the FPJ11 floating point accelerator chip. Refer
to MicroNote #25 for more information on upgrading with the FPJ11. The
KDJ11-A is a CPU module that is not sold as part of a package system.
The reference to Q18/Q22 refers to the fact that the KDJ11-A can be used
in any 18 or 22 bit Q-bus backplane. The notation 11/73 means that the
indicated KDJ11-B CPUs are used with the MicroPDP-11/73 systems and the
indicated KDJ11-B CPU are used with the MicroPDP-11/83 system.
382
uNOTE # 039
Page 5 of 5
Backplanes
The KDJ11-A CPU may be used in any Q18/Q22 slot. The KDJ11-B, being a
quad module must be accomodated in a backplane which has Q-bus in AB
slots and the CD interconnect in the CD slots. The KDJ11-B cannot be
used in a backplane (or that part of the backplane) where there is Q-bus
in both AB and CD slots.
Maintenance register differences
The maintenance register contains the following information in both the
KJD11-A and KDJ11-B: POK (power ok), power up mode selected, HALT
status, Module ID, FPA available, and Boot address. The module ID
number is a 4 bit code that differs between the KDJ11-A and KDJ11-B.
The ID number for the KDJ11-A is 0001 and 0002 for the KDJ11-B.
383