Difference between revisions of "KE11-A Extended Arithmetic Element"

From Computer History Wiki
Jump to: navigation, search
m (err, link)
(+registers)
Line 1: Line 1:
The '''KE11-A Extended Arithmetic Element''' is an autonomous [[UNIBUS]] [[peripheral]] which can perform a variety of arithmetic or logical operations:
+
The '''KE11-A Extended Arithmetic Element''' is an autonomous [[UNIBUS]] [[peripheral]] which can perform a variety of arithmetic or logical [[operator|operations]]:
  
 
* multiplication
 
* multiplication
Line 17: Line 17:
  
 
It was replaced by the [[KE11-B Extended Arithmetic Element]], a [[program compatible]] re-implementation on a single hex card.
 
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 [[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-777314; a second KE11-A, if present, is configured to addresses 777320-777334. 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
 +
! 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)===
 +
{{8bit-header}}
 +
| Overflow XOR Negative || Negative || AC=-1 || AC=0 || MQ=0 || AC=MQ=0 || AC=MQ15 || Carry
 +
{{8bit-bitout}}
  
 
==Hardware==
 
==Hardware==

Revision as of 17:39, 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

(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-777314; a second KE11-A, if present, is configured to addresses 777320-777334. 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

Template:PDP-11s