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 .
Page Count: 2
Download | |
Open PDF In Browser | View 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 : 2EXIF Metadata provided by EXIF.tools