Difference between revisions of "KE11-A Extended Arithmetic Element"
(+registers) |
m (→Registers: typos) |
||
Line 20: | Line 20: | ||
==Registers== | ==Registers== | ||
− | The device has a number of [[register]]s, which can be configured to sequential locations in the I/O page; most are [[word]]s, but there are two [[byte]] registers. It is normally configured to [[address]]es 777300- | + | The device has a number of [[register]]s, which can be configured to sequential locations in the I/O page; most are [[word]]s, but there are two [[byte]] registers. It is normally configured to [[address]]es 777300-777316; a second KE11-A, if present, is configured to addresses 777320-777336. The operation to be performed is selected by the register which data is written to. Registers which hold results are readable, but many of the operation selection registers are write-only. In the register table (below), those which are read/write are shown in normal font; those which are read-only are in ''italics''; those which are write-only in '''bold''' (these return '0' when read). |
{| border=1 | {| border=1 | ||
Line 44: | Line 44: | ||
|} | |} | ||
− | Division takes as one [[operand] a 32-[[bit]] value held in the AC (high order) and MQ (low order); a remainder is left in the AC. Multiplication produces a 32-bit product in the AC (high order) and MQ (low order). | + | Division takes as one [[operand]] a 32-[[bit]] value held in the AC (high order) and MQ (low order); a remainder is left in the AC. Multiplication produces a 32-bit product in the AC (high order) and MQ (low order). |
% The SR is read-only as an individual byte, but can written as a word together with the SC. | % The SR is read-only as an individual byte, but can written as a word together with the SC. | ||
Line 50: | Line 50: | ||
===Status Register (SR)=== | ===Status Register (SR)=== | ||
{{8bit-header}} | {{8bit-header}} | ||
− | | Overflow XOR Negative || Negative || AC=-1 || AC=0 || MQ=0 || AC=MQ=0 || AC=MQ15 || Carry | + | | Overflow XOR Negative || Negative || AC = -1 || AC = 0 || MQ = 0 || AC = MQ = 0 || AC = MQ15 || Carry |
{{8bit-bitout}} | {{8bit-bitout}} | ||
Revision as of 16:41, 11 June 2020
The KE11-A Extended Arithmetic Element is an autonomous UNIBUS peripheral which can perform a variety of arithmetic or logical operations:
- multiplication
- division
- multi-bit shifts
- logical shift
- arithmetic shift
- normalization
(The last is used for implementation of floating point in software.)
It is implemented as several quad and dual boards, plugged into a custom four-slot system unit (details below).
The KE11-A was originally produced for use with the PDP-11/20, whose KA11 CPU did not have multiply, divide, or multi-bit shift operations. As a UNIBUS peripheral, not integrated into the CPU, it was also usable with other models, e.g. the PDP-11/05 and PDP-11/04, which likewise did not implement multiplication in hardware, etc.
The KE11-A can be operated with an optional KM11-A Maintenance Set in order to diagnose faults.
It was replaced by the KE11-B Extended Arithmetic Element, a program compatible re-implementation on a single hex card.
Registers
The device has a number of registers, which can be configured to sequential locations in the I/O page; most are words, but there are two byte registers. It is normally configured to addresses 777300-777316; a second KE11-A, if present, is configured to addresses 777320-777336. The operation to be performed is selected by the register which data is written to. Registers which hold results are readable, but many of the operation selection registers are write-only. In the register table (below), those which are read/write are shown in normal font; those which are read-only are in italics; those which are write-only in bold (these return '0' when read).
Register | Abbreviation | Address | Size |
---|---|---|---|
Multiply | MUL | 777310 | W |
Accumulator | AC | 777302 | W |
Multiplier-Quotient | MQ | 777304 | W |
Divide | DIV | 777306 | W |
Step Counter | SC | 777310 | B |
Status Register% | SR | 777311 | B |
Normalize | NOR | 777312 | W |
Logical Shift | LSH | 777314 | W |
Arithmetic Shift | ASH | 777316 | W |
Division takes as one operand a 32-bit value held in the AC (high order) and MQ (low order); a remainder is left in the AC. Multiplication produces a 32-bit product in the AC (high order) and MQ (low order).
% The SR is read-only as an individual byte, but can written as a word together with the SC.
Status Register (SR)
Overflow XOR Negative | Negative | AC = -1 | AC = 0 | MQ = 0 | AC = MQ = 0 | AC = MQ15 | Carry |
07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 |
Hardware
The KE11-A consists of 3 quad boards:
- M7210 Data Control
- M7211 Register Control
- M827 Clock and States
and a pair of M234 Register dual-height boards, plugged into the quad custom backplane.
Board locations
These are the board locations for the KE11-A (as seen from the board side of the backplane):
Connector | ||||||
---|---|---|---|---|---|---|
Slot | A | B | C | D | E | F |
1 | UNIBUS In | M7210 Data Control | ||||
2 | Unused | KM11-A | M234 Register (low byte) |
M234 Register (high byte) | ||
3 | G772 Power |
Reserved | M7211 Register Control | |||
4 | UNIBUS Out | M827 Clock & States |