691222_Extension_of_PDP 11_Instruction_Set_ _Floating_Point 691222 Extension Of PDP 11 Instruction Set Floating Point

User Manual: 691222_Extension_of_PDP-11_Instruction_Set_-_Floating_Point

Open the PDF directly: View PDF PDF.
Page Count: 2

Download691222_Extension_of_PDP-11_Instruction_Set_-_Floating_Point 691222 Extension Of PDP-11 Instruction Set - Floating Point
Open PDF In BrowserView PDF
momoomo
SUBJECT:

TO:

MEMORANDUM

INTEROFFICE

Extension of PDP-II Instruction
set - Floating pt.
Bruce Delagi

LOCATION:

DATE:

December 22, 1969

FROM:

Grant Saviers

LOCATION:

Assume that a floating pt processor (Multiply, Divide, Add,
Subtract, Float, Entier) is interfaced to the unibus.
Associate 6 memory (I/O) locations with the floating'pt functions.
Use the Move instruction to extend the instruction set, as follows:
MOV

address, function

where function is one of the six addresses associated with the
FP processor. The output word is an address pointer to a 3
word tabl~ of operand addresses.
Location of operand 1

Address

II

II

..

II

u

2

result

The FP processor then obtains operands and stores the result.
For multiple word operands, this technique is faster and requires
less core than distinct moves of addresses or operands.
Hand translating the expression.
F
Results

=

(A + (B * c)/(~ + B»* F
Address pointers

Code
Move z, mult
Move y, add
Move x, div
Move v, mult

B

z

C

tl

'y

A
B

t2
tl
t2

x

t3

w

A

t4

v

F

F

this would change example to

y

A
B

x

t2
tl
t3

w
CO~PO~ATION

•

MAYNARO. MASSACHUSET'TS

page two
December'22, 1969

, Note that the code is automatically l'optimized to eliminate
unnecessary saving of results (tn's) and that no Moves are
required, even for the replacement (=) operation.
ll

This technique has definite possibilities for common subexpression
evaluation/optimization.
It is clear that the I/O devices should have access to the
condition codes for this to really work.
For the anti-symmetric operators (-)/ it may not cost much (in
terms of instruction codes) to have the backwards operators.
e.g. normal/

backwards/

address list
A
B e : : 'A/B
C
A
B
C
B/A
C

=

G.E. apparently thought backwards operators useful enough to
include in instruction sets, to avoid swapping registers/core.
with 3 address instructions they may be superfluous.
Note that the end result looks suspiciously like a tistack" machine
with operators in one stack and operands in the other.
mentioned this technique to Ad van de Goor. He proposed putting
Qperators on same stack, but note that you still must have an
¥in~ruction to initiate the operation.
As a generalization, I believe one should always pass the address
at a descriptor table, so that the table may be completely general.
This also has the advantage that only one word1~ ~ved.
I

Ad suggests a micro-programmed arithmetic processor for things like
matrix multiply or even implementation of the floating point. Note
that for a 3 address pointer table, the instructions and table are
independent of arithmetic precision. Only actual reserved operand
locations are different.
Why mess around with other machines when such things are possible
on the ll?
/bca



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Modify Date                     : 2018:03:23 18:03:26-07:00
Create Date                     : 2018:03:23 18:03:26-07:00
Metadata Date                   : 2018:03:23 18:03:26-07:00
Format                          : application/pdf
Document ID                     : uuid:b9a0e2a4-eefa-e546-8482-f7bfc31bcaa8
Instance ID                     : uuid:7388687f-0d0b-a94b-82bd-414e43cfb314
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 2
EXIF Metadata provided by EXIF.tools

Navigation menu