Digital PDFs
Documents
Guest
Register
Log In
DEC-15-HQFA
1971
76 pages
Original
7.0MB
view
download
Document:
D FP15vol1Jun
Order Number:
DEC-15-HQFA
Revision:
Pages:
76
Original Filename:
http://bitsavers.org/pdf/dec/pdp15/hardware/DEC-15-HQFA_D_FP15vol1Jun71.pdf
OCR Text
Digital Equipment Corporation Maynard, Massachusetts PDP-15 Systems DEC-15-HQF A-D PDP-15 SYSTEMS FP15 FLOATING POINT PROCESSOR MAINTENANCE MANUAL VOLUME 1 DIGITAL EQUIPMENT CORPORATION • MAYNARD, MASSACHUSETTS 1st Edition June 1971 Copyright © 1971 by Digital Equipment Corporation The material in this manual is for informational purposes and is subject to change without notice. The following are trademarks of Digital Equipment Corporation, Maynard, Massachusetts: FLIP CHIP PDP FOCAL DIGITAL COMPUTER LAB DEC CONTENTS Page Page CHAPTER 1 INTRODUCTION 1.1 General 1-1 1.2 Floating-Point Processor Physical Description 1-1 1.3 Functional Description 1-2 1.3. 1 Operating Cycles 1-2 1.3.2 Major Register Functional Descriptions 1-3 3.7 .4 Extended Integer 3-12 3.7.5 Single-Precision Integer 3-12 3.8 Interrupt Cycle Interface 3-14 3.8. 1 INT 1 Cycle 3-14 3.8.2 INT 2 Cycle 3-14 3.9 Interrupt Cyc Ie 3-15 3.10 FP15/CPU Control 3-17 CHAPTER 4 INSTRUCTION SET CHAPTER 2 MODULE DESCRIPTIONS 2.1 General 2-1 4.1 Introduction 4-1 2.1.1 M238 Synchronous Up/Down Counter 2-1 4.2 Converting Negative Integers To Sign and Magnitude Format 4-1 2.1.2 M159 Arithmetic Logic Unit 2-1 4.3 Normalize 4-1 2.1.3 M 191 Carry Look-Ahead Generator 2-2 4.3.1 Normalization (Except Store, Divide, or Reverse Divide) 4-2 2.1.4 M248 Right-Shift Parallel Load Register 2-3 4.3.2 Store, Divide, or Reverse Divide 4-2 2.1.5 M 1701 Data Selector 2-3 4.4 Rounding 4-2 2.1.6 M1713 16-To-1 Data Selector 2-4 4.5 Guard Bit 4-6 4.6 Floating-Point Addition and Subtraction 4-6 4.6.1 EXP Cycle 4-6 CHAPTER 3 FP15/PDP-15 INTERFACE 4.6.2 FUN Cycle 4-8 3. 1 Introduction 3-1 4.6.3 Processing of Subtracted Quantities 4-10 3.2 FETCH Cycle Interface 3-1 4.6.3. 1 Overflow 4-10 3.3 FETCH Ondirect) Cycle Interface 3-3 4.6.4 Processing of Added Quantities 4-10 3.4 FETCH Cycle Description 3-3 4.6.4. 1 Overflow Interrupt Due to Addition or Subtraction 4-10 3.5 OPAND Cycle Interface 3-7 4.6.4.2 Overflow Interrupt Due to Rounding 4-10 3.6 OPAND Cycle Description 3-8 4.6.4.3 Underflow Interrupt Due to Normal izing 4-11 3.6.1 Double-Precision Floating-Point Format 3-8 4.7 Integer Add and Subtract 4-12 3.6.2 Single-Precision Floating-Point Format 3-8 4.7 .1 EXP Cycle 4-12 3.6.3 Extended I nteger Format 3-8 4.7.2 FUN Cycle 4-12 3.6.4 Single-Precision Integer Format 3-12 4.7.3 Overflow 4-13 3.7 WRITE Cycle 3-12 4.7.4 Integer Reverse Subtraction 4-13 3.7.1 Store JEA 3-12 4.8 Floating-Point and Integer Multiply 4-13 3.7.2 Double-Precision Floating Point 3-12 4.8. 1 Calculation of Exponents 4-13 3.7.3 Single-Precision Floating Point 3-12 4.8.2 Determining Sign of Product 4-13 iii CONTENTS (cont) Page iv Page 4.8.3 Multiplication of the Mantissas 4-13 4.15 Swap, Load and Swap 4-26 4.8.4 Multiply Algorithm 4-14 4.15. 1 Underflow Interrupt 4-26 4.8.5 Floating-Point Overflow 4-16 4.16 Float, Load and Float FMA 4-26 4.8.5.1 Overflow Interrupt - EXP Cycle 4-16 4.17 Fix, Load and Fix 4-28 4.8.5.2 Underflow Interrupt - EXP Cycle 4-16 4.18 Load JEA and Store JEA 4-28 4.8.5.3 Overflow Interrupt - NOR Cycle 4-16 4.19 Branch 4-28 4.8.5.4 Underflow Interrupt - NOR Cycle 4-16 4.20 Modify FMA 4-30 4.8.5.5 Integer Overflow 4-19 4.20. 1 Underflow Interrupt Due to Normalization 4-30 4.9 Floating-Point Division 4-19 4.21 Diagnosti c Instructions 4-30 4.9.1 Calculation of Exponents 4-19 4.21. 1 Diagnosti c Read 4-31 4.9.2 Determining Sign of Quotient 4-19 4.21.2 Diagnostic Step and Read 4-34 4.9.3 Division of the Mantissas 4-19 4.9.4 Divide Algorithm 4-20 4.9.5 Interrupts 4-21 CHAPTER 5 INSTALLATION AND MAINTENANCE 4.9.5.1 Overflow Interrupt - EXP Cycle 4-21 4.9.5.2 Underflow Interrupt - EXP Cycle 4-21 5.1 Installation 5-1 4.9.5.3 Overflow Interrupt - FUN Cycle 4-21 5.1. 1 Field Installation Procedures 5-1 4.9.5.4 Underflow Interrupt - FUN Cycle 4-21 5.1.2 Indicator Panel/power Supply Wiring 5-2 4.9.5.5 Abnormal Divide - FUN Cycle 4-21 5.1.3 H721 Power Supply Wiring 5-2 4.10 Floating-Point Reverse Divide 4-21 5.1.4 Signal Cable Connections 5-2 4.11 Integer Division 4-22 5.1.5 Indicator Bus Cable Connections 5-2 4.11.1 EXP Cycle 4-22 5.1.6 Handwire list 5-2 4.11. 2 FUN Cycle 4-22 5.1.7 Post instal loti on Checks and Tests 5-3 4.11.3 Divide Algorithm 4-22 5.2 Maintenance 5-3 4.11.4 Interrupt Exception - Abnormal Divide 4-25 5.2.1 FP15 Indi cator Pane I 5-3 4.12 Integer Reverse Division 4-25 5.2.2 Diagnostic Programs 5-4 4.13 Integer Store 4-25 5.2.3 Instruction Tests 5-4 4.13. 1 Overflow Interrupt 4-25 5.2.4 Random Exerc iser 5-4 4.14 Floating-Point Store 4-25 5.3 Engineering Drawings 5-5 4.14.1 EPA Underflow or Overflow Interrupt 4-26 4.14.2 Underflow Interrupt Due to Normalize 4-26 4.14.3 Overflow Interrupt Due to Rounding 4-26 APPENDIX A SIG NAL GLOSSARY ENGiNEERiNG DRAWiNGS ILLUSTRATIONS Title Page Title Art No. Page Drawing No. 1-1 Cabinet Housing FP15 Logic 15-0568 i-i D-FD-FP15-0-45 Fetch Cycie Flow 1 3-4 1-2 System Interconnecting Cabl ing 15-0575 1-2 D-FD-FP15-0-46 Fetch Cycle Flow 2 3-5 1-3 FP15 Functional Block Diagram 15-0574 1-3 D-FD-FP15-0-47 Fetch Cycle Flow 3 3-6 2-1 M238 Synchronous Up/Down Counter 15-0573 2-1 D-FD-FP15-0-48 Opond Cycle Flow 1 3-9 2-2 M159 Arithmetic Logic Unit 15-0571 2-2 D-FD-FP 15-0-49 Opond Cycle Flow 2 3-10 2-3 M191 Corry Look-Ahead Generator 15-0576 2-2 D-FD-FP15-0-50 Opond Cycle Flow 3 3-11 2-4 36-Bit ALU, Full-Corry Look-Ahead in Three Levels 15-0577 2-2 D-FD-FP15-0-51 Write Cycle Flow 3-13 D-FD-FP15-0-62 Interrupt Flow 3-16 2-5 M248 Right-Shift Parallel Load Register 15-0572 2-3 D-FD-FP15-0-58 NOR TS1 Cycle Flow 4-3 2-6 M1701 Data Selector 15-0569 2-4 D-FD-FP15-0-59 NOR T52 Cycle Flow 4-4 2-7 M1713 16-To-1 Data Selector 15-0570 2-5 D-FD-FP15-0-57 Float & Integer Div Fun Cycle 4-5 3-1 Major Signal Interface Diagram 15-0567 3-1 D-FD-FP15-0-52 Add, Sub, Rev Sub, Exp Cycle 4-7 3-2 Memory Interface--FETCH Cycle 3-2 D-FD-FP15-0-53 Add, Sub, Rev Sub, Sub Cycle 4-9 3-3 Memory Interface--FETCH Cycle (Indirect) 3-3 D-FD-FP15-0-54 Floating Mul & Div Exp Cycle 4-17 3=4 Memory Interface--OPAND Cycle 3-7 D-FD-FP15-0-55 Float & Integer Mul Fun Cycle 4-18 3-5 INT 1 Cycle Interface Diagram 3-14 D-FD-FP 15-0-56 Integer Divide Exp Cycle 4-23 3-6 INT 2 Cycle Interface Diagram 3-15 D-FD-FP15-0-57 Float & Integer Div Fun Cycle 4-24 3-7 CPU;tP15 Sample Program 3-17 D-FD-FP15-0-60 ASIG N Swap & Float Control 4-27 4-1 Converting Negative Integers to Sign and Magnitude 4-1 D-FD-FP15-0-61 Fix Flow 4-29 4-2 Guard Bit and Rounding D-FD-FP15-0-63 Maint Flow 1 4-32 4-3 Flow Diagram for Setting Guard 15-0580 4-6 D-FD-FP15-0-64 Maint Flow 2 4-33 4-4 Multiply Simplified Flow Diagram 15-0581 4-14 4-5 Multiply Algorithm 4-6 Floating-Point Divide Simplified Flow Diagram 4-7 Floating Point Divide Algorithm 4-20 4-8 Integer Divide Algorithm 4-25 4-9 Branch Instruction Flow Diagram 15-0583 4-30 5-1 H963E Cabinet (Boy lR), Rear View with Mounti ng Panel Door Open 15-0568 5-1 5-2 FP15 Indicator Bus Connections 15-0585 5-2 Figure No. 15-0578 4-2 4-15 15-0582 4-19 TABLES Title Page 1-1 FP15 System Characteristi cs 1-1 1-2 FP15 System Features 1-2 1-3 Operand Transfer and Cycle Time 1-2 5-1 FP15 Floating-Point Processor Major Components 5-1 5-2 Signal Cable Connections 5-2 5-3 FP15 Floating-Point Processor Engineering Drawings 5-5 Table No. v CHAPTER 1 INTRODUCTION 1.1 Table 1-1 (Cont) FP15 System Characteristics GENERAL This chapter provides a physical and functional description of the FP15 Floating-Point Processor. The physical description includes lists of FP15 system parameters and special features. Physical Characteristics Size 19-in. wide by 21-in. high Weight 50lb The FP15 Floating-Point Processor consists of four racks of Medium Scale Integrated logic (MSI) and No. of Racks 4 TTL logic located as shown in Figure 1-1. The interconnecting cabling associated with the FP15 is Type of Logic TTL and MSI 1.2 FLOATING-POINT PROCESSOR PHYSICAL DESCRIPTION shown in Figure 1-2. The floating-point processor logic uses an operating voltage of +5 Vdc that is supplied from an H721 Power Supply, with 115V or 220V input and +5 Vdc output fused at 20A. A 716 Power Supply provides the power for the indicator panel. The operating characteristics of the FP15 are listed in Table 1-1; Table 1-2 includes some of the more significant features of the FP15. Table 1-1 FP15 System Characteristics H963E BAY lR BB15 INDICATOR PANEL FP15 INDICATOR PANEL 1-----------I-- - Operating Characteristics BB15 OPTION Power Requirements 115V, ±15% 12A 50± 1 Hz, 60± 1.2 Hz Single Phase 230V, ±15% PANEL -FP15 LOGIC - - - - 1-----------H721 POWER SUPPLY DISPLAY (OPTIONAL) 734B POWER SUPPLY PC05 READER PUNCH 6A 50 ± 1 Hz, 60 ± 1. 2 Hz Single Phase - BLANK FANS BAIS H721 POWER SUPPLY Power Consumption 1.4 kW max OWlS LOGIC 841-C POWER CONTROL Temperature Range 50° - 120°F a2a POWER RECEPTACLE BLANK Relative Humidity 10 - 95% FRONT REAR Heat Dissipation 4800 btu/hr 15-0568 Figure 1-1 Cabinet Housing FP15 Logic 1-1 1.3 FUNCTIONAL DESCRIPTION The FP15 Floating-Point Processor functional block diagram is shown in Figure 1-3. Before describing 716 P0WER SUPPL Y INDICATOR PANEL H721 POWER SUPPLY I-- each of the major elements in the diagram, it is necessary to introduce the various operating cycles in the FP 15; they are: 1 "8B15 OPTION --, MEMORY ; , FLOATING POINT PROCESSOR i t f isB CONTROL CABLEj 1 a. b. c. d. e. f. g. PDP-15 CENT RAL PROCESSOR FP15 '--- MDL CABLE i MEMORY CONTROL CABLE · I f BB option is not installed, cables are directly routed to memory. FETCH OPAND EXP FUN NOR WRITE INTERRUPT 15·0575 Figure 1-2 System Interconnecting Cabling 1.3.1 Operating Cycles During a floating-point instruction, the FP15 is in one of the operating cycles. Each cycle is approxTable 1-2 FP15 System Features imately 900 ns and is divided into three time states (300 ns per time state). The cycles can be extended in time due to shifting and al igning. In turn, each time state is subdivided into four phases (75 ns per phase). The following paragraphs provide a brief description of the major events that occur o Directly or indirectly addressable up to 128K of core. during each cycle. o Performs arithmetic operations on 18- or 36-bit integers and 36- or 54-bit floatingpoint numbers. FETCH - In the FETCH cycle the instruction word (first word) is loaded into the FP15 Instruction Regis- o Allows execution of in-line code--CPU instructions and floating-point instructions may be interspersed as desired. o I/O Processor can access memory on a shared basis with the floating-point processor; however, the I/O Processor takes priority over the FP15. o When an undesired condition (Underflow I Overflow, Abnormal Division, or Memory Protect Violation) occurs, the FP15 interrupts the CP stored program and automatically identifies the source of the interrupt. o Worst-case multiplication and division times on normalized operands do not exceed 24 fJs. o Possesses ability to convert floating-point numbers to integers and integers to floating-point numbers. o Remainder, product, and align bits in FMQ are accessible by appropriate software. o Unnormalized and unrounded arithmetic may be specified. o A class of non-memory reference instructions is available. These instructions use existing contents of FMA and FMB and require no memory reference. o o Built-in maintenance logic (maintenance mode) allows single or multiple substeps of an instruction. All major registers and control can be examined at the end of each step. Designed to operate with existing PDP-15 options (Memory Protect, Memory Relocate, etc.) with no increase in cycle time. ter (IR) and the address of the operand is loaded into the FP15 Address Register (AR). If indirection (indirect addressing) is requested, the FP15 remains in the FETCH cycle to obtain the effective address. OPAND - In the OPAND cycle the operand(s) is transferred from memory to the FP15, The number of operands transferred depends on the format in Table 1-3. Table 1-3 Operand Transfer and Cycle Time No. of Operands Cycle Time Single-precision integer One operand (1) 1 .2 fJs Double-precision integer and Single-precision floating-point Two operands (2) 2.4 fJS Double-precision floating-point Three operands (3) 3.6 fJS Format If non-memory reference instructions are specified, the OPAND cycle is bypassed and no operands are transferred from memory to the FP15. 1-2 M~~~ ~M=E=M~OR~Y~B~U~S __ r~___________~~~5 FUN - In the FUN cycle, the actual arithmetic or logical operation is performed. The cycle time re- ________ quired is the basic 900 ns, plus the additional time required for shift, multiply, and divide operations. I ! NOR - In the NOR {normalize} cycle, the FMA is normalized by shifting. Rounding may also be re- r- - - - - - - - - - - - - - ~---------- quested. The basic NOR cycle requires 900 ns, plus an additional 150 ns for each shift necessary to F P15 FLOATING P 01 NT PROCESSOR 7-BIT DIR I-- 1 15-BIT DAR J--- I normalize. J WRITE - During the WRITE cycle, the operands are transferred to memory. The operands transferred ~ (JMS EXIT ADDRESS) I from the FP15 to memory are: CONTROL A SIGN ... I~ MX FP15 CONTROL I I L __ J I 36-BIT BUFFERED MEMORY BUFFER (BMB) f+- I r---, 12-BIT INSTRUCTION REGISTER f+(IR) 17-BIT ADDRESS REGISTER (AR) 15-BIT JEA REGISTER B Single-precision integer--one 2's complement operand TO ALL MA JOR REGISTERS Double-precision integer--two 2 ' s complement operands Single-precision floating-point--2 's complement exponent and high-order mantissa Double-precision floating-point--2 's complement exponent and high-order and low-order mantissas. SIGN CONTROL lliJ I Each transfer requires about 1. 2 IlS. 36- BIT ARITHMETIC LOG I CAL UNIT (ALU) 1.3.2 18,BIT - 18-BIT EPB EPA Buffered Memory Buffer Register (BMB) - The 36-bit Memory Buffer Register is loaded from the memory f- bus 18 bits at a time. The output of this register is connected to the ALU, the instruction register, , I I ALU and the address register. All inputs from the memory pass through the memory buffer. BUS '-- Major Register Functional Descriptions 35-BIT FMA 35-91T FMB Instruction Register OR) - The 12-bit Instruction Register stores bits 6 through 17 of the instruction I-- word retrieved from memory during the FETCH cycle. Bits 6 through 17 remain in the IR until another I - instruction is fetched from memory. 18-BIT SHIFT REGISTER (SC) 35-BIT FMQ L ________________ Address Register (AR) - The 17-bit Address Register stores the effective address used in fetching or ~ 15-0~74 Figure 1-3 FP15 Functional Block Diagram . EXP - In the EXP cycle, during floating-point addition and subtraction, the mantissa with the smaller exponent is aligned with the mantissa having the larger exponent. Alignment occurs by right-shifting the smaller mantissa. storing operands. Arithmetic Logic Unit (ALU) - The 36-bit ALU performs both arithmetic and logic operations in the FP15. The output of the ALU is connected to all major registers via the AlU bus. Most major registers are available as inputs to the AlU • EPA - The 18-bit EPA is a synchronous up-down counter used to store the 2 ' s complement exponent associated with the mantissa loaded in the FMA. The most significant bit of the EPA represents the In the EXP cycle, during floating-point multiplication and division, the exponent is calculated. In sign of the exponent. For single-precision floating-point format, the most significant bit of the ex- integer format, negative integers in 2 ' s complement format are converted to sign and magnitude num- ponent is bit 9. The value of this bit is extended from bit 9 through bit o. The EPA is loaded from bers during the EX P cycle. the AlU bus and keeps track of the exponent associated with the mantissa in the FMA. 1-3 FMA - The 35-bit FMA stores an integer operand during integer arithmetic or a mantissa during B SIGN - The 1-bit B SIGN register stores the sign of the operand loaded into the FMB. A 1 in this floating-point arithmetic. The FMA is loaded from the ALU and can be shifted left or right. The register represents a negative mantissa; a 0 represents a positive mantissa. FMA can also be loaded and shifted simultaneously from the ALU bus during multiplication and division. The EPA and A SIGN/FMA are the floating-point accumulator. Shift Counter - The shift counter perfoli11s the following functions: a. Keeps track of the number of words to be fetched from memory during the 0 PAND cycle. b. Keeps track of the number of words written into memory during the WRITE cycle. FMQ - The FMQ is a 36-bit extension of the FMA or FMB and is used primarily during arithmetic op- c. Keeps track of the number of shifts required for multiply and divide operations. erations. Bits shifted out of the FMA or FMB, during alignment for addition and subtraction, are d. limits the number of shifts during normalizing to a maximum of 35 shifted into the FMQ. The most significant bit in the FMQ is used for rounding, if requested. The e. Controls the number of shifts required during al ignment. FMQ can be loaded from the ALU bus, or directly from the FMA, and has a shift-left and shift-right f. Checks for exponen ts having di fferences wh i ch exceed 35 A SIGN - The l-bit A SIGN register stores the sign of the operand loaded into the FMA. A 1 in this register indicates a negative number; a 0 indicates a positive number. 10 10 , , capabi lity. JEA - The 15-bit JEA address register points to the interrupt handling routines in core that service the EPB - The la-bit EPB register is loaded from the ALU bus and stores the 2 1s complement exponent associated with the mantissa loaded in the FMB. The most significant bit of the EPB represents the sign of floating-point interrupts (underflow, overflow, abnormal divide, and FP memory trap). This register is loaded by software control. the exponent. For single-precision floating-point format, the most significant bit of the exponent is bit 9. The value of this bit is extended from bit 9 through bit O. Diagnostic Instruction Register (DIR) - The 7-bit DIR determines the number of steps through which an instruction is to be sequenced. FMB - The 35-bit FMB register stores an integer operand during integer arithmetic or a mantissa during floating-point arithmetic. Unlike the FMA, the FMB can only be shifted right for alignment. The Diagnostic Address Register (DAR) - The 15-bit DAR specifies the address in core where the contents FMB is loaded directly from the ALU bus. The EPB and B SIGN/FMB are a second operand register. of the registers are to be stored. 1-4 CHAPTER 2 MODULE DESCRIPTIONS 2.1 The M238 Counter is used in the EPA, DIR, and DAR registers in the FP15 Floating-Point Processor. GENERAL This chapter provides descriptions of the following modules used in the FP15 Floating-Point Processor: Figure 2-1 is an example of how the M238 Counter is used in the DIR register (see drawing D-BS-FP15-0-14). M238 M159 M191 M248 M1701 M1713 2.1.1 SYNCHRONOUS UP/DOWN COUNT ER ARITHMETIC LOGIC UNIT CARRY LOOK-AHEAD GENERATOR RIGHT -SHIFT PARALLEL LOAD REGISTER DATA SELECTOR 16-To-l DATA SELECTOR NOTE The up count is inhibited by +3V in the DIR register, indicating that this register can only be decremented. CARRY L El M238 Synchronous Up/Down Counter BORROW L Fl FP15-0-14 M238 The M238 Synchronous Up/Down Counter consists of two DEC 74193 4-bit synchronous up/down count- H24 ( ers. Synchronous operation is provided by having all Aip-flops in the counter clocked simultaneously DATA INPUTS so that the outputs change at the same time. The flip-flops are master-slave fl ip-flops and the outputs { MD 14 02 Mo 15 Mo 16 E2 K1 MD 17 J1 LOAD LD DIR H 01 L CLEAR GNo Hl CLR are triggered by a positive-going transition of one of two count (clock) inputs. One input is desig- F2 H2 L1 DIR 14 (1) H } DIR 15 (1) H DIR 16 (1) H DATA OUTPUTS L2 D I R 17 (1) H nated U (up count); the second input is designated D (down count). The direction of counting is determined by the count input that is pulsed whi Ie the other count input is high. UP COUNT DOWN COUNT The outputs of the flip-flops may be preset to any desired state by entering the data at the data inputs {+3V H 19 Ul J2 01 R OWN P L -:.K=2_ _ _ _- - ' 15-0573 while the load input (L) is low. The output wi II change to reflect the input, regardless of the count Figure 2-1 pulses. M238 Synchronous Up/Down Counter A clear input (CLR) forces all outputs low on receipt of a high clear input. The clear input is independent of the count and load inputs. 2.1.2 M 159 Arithmetic Logic Unit The M1S9 4-bit Arithmetic Logic Unit (ALU) contains a single DEC 74181 integrated circuit. Nine of Both borrow and carry outputs are available for cascading the up-counting and down-counting opera- these ALU modules are used in the FP1S Floating-Point Processor to perform 36-bit arithmetic and logic tions. When counter underflow occurs, the borrow output produces the same width pulse as the down- operations, as shown on drawings D-BS-FP1S-0-19 through D-BS-FP1S-0-27. count input. When counter overflow occurs, the carry output produces the same width pulse as the count-up input. Cascading is accomplished by connecting the borrow and carry inputs to the count- This integrated circuit performs 16, 4-bit arithmetic operations when the MODE control (MC) input is down and count-up inputs, respectively, of the next counter. low and 16 logic functions when the MC input is high. The functions are selected by applying 2-1 combinations of function select inputs 50 through 53. For FP15 appl ications, the function select and E2 MC inputs are generated by the ALU control logic shown on drawing D-B5-FP15-0-33. FP'5-0-19 Only two arithmetic operations, A plus B and A minus B minus 1, are selected in the FP15; five logic A3 J, A2 F3 J2 F2 N2 A' AO F' FO R2 L2 83 CN K1 82 HI e' eO F1 functions, A, -A, B, -B, and logical 0 are performed in the FP15. The combined ALU truth table for S1 INPUTS FROM M1701 DATA SELECTORS FP15 arithmetic operations and logic functions is listed as follows: I Function Select Inputs M159 D03 M2 L1 "'- 53 52 51 T2 S2 H2 Output Function Mode Control P2 F2 50 K2 l ADD 00 H ADD 01 H J ADD 02 H OUTPUTS ADD 03 H CN08 CARRY MODE MODE CONTROL IN A=8 P CARRY PROPAGATE G CARRY GENERATE R1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 FUNCTION A plus B {arithmetic operation} A minus B minus 1 (arithmetic operation) A (logic function) -A (logic function) B (logic function) -B (logic function) Logical 0 (logic function) ~~~Gg { ~~: -'P-',_ _ _-' 51 H ....;N-'-"_ _ _ _- - ' SO H _M_'_ _ _ _ _ _--' 15"0571 Figure 2-2 M159 Arithmetic Logic Unit FP15-0-28 In addition, a comparator output, A=B, is provided when the four A inputs are equal to the four B inputs if the function A=B=l is selected. A full-carry look-ahead provides fast, simultaneous carry gen- FP24 P03 L H2 FP 24 G03 L J2 FP25 P02 Jl FP25 G02 HI FP 26 PO, L Ll eration by the M 191 module. FP26 GOI L Kl Figure 2-2 shows the ALU configuration for bits 00 through 03 in the FP15 Floating-Point Processor. FP33 CNOO L Fl FP 27 POD L K2 FP27 GOO L L2 P3 G3 P2 G2 15 M191 E13 G Pi Gi PO CN+Z GO CN+X CN+V F2 FP28 PPoo L E2 FP28 GGOO L 02 FP28 CN03 H 01 FP28 CN02 H E1 FP28 CNOI H CN , 5-0576 2.1.3 M191 Carry Look-Ahead Generator Figure 2-3 M 191 Carry Look -~head Generator The M 191 Carry Look-Ahead Generator, consisting of two DEC 74182 integrated circuits, is a highspeed generator capable of anticipating a carry through a group of ALUs. A 13-ns delay occurs for M159-ALU'S each look-ahead level. The M 191, when used in conjunction with the M159 ALU, provides carry, generate-carry, and propagate-carry functions for 36-bit words. Figures 2-3 and 2-4 show how the M191 is used. __------------------~A~-----------------~ r III eN I Each carry look-ahead circuit is associated with four ALUs (16 bits). Each circuit generates the an- M19' ticipated carry through its respective group of ALUs, as well as providing a Generate (G) and PropaMI91 gate {P} input to a third carry look-ahead circuit associated with the last ALU; hence, the term fullcarry look-ahead in three levels (36 bits). 15"0577 Figure 2-4 Depending on the selected function of the ALUs, the carry look-ahead circuitry determines whether a carry will be propagated through the particular ALU, or whether the selected function will generate a 2-2 36-Bit ALU, Full-Carry Look-Ahead in Three Levels carry. If a carry is produced, it is directed into the next ALU in line. This seQuence is continued for where each of the four ALUs in the section. The carry look-ahead circuitry then "Iooks" at the G and P sig- C na!s of a!! fOUi ALUs and deh~imines whether a cany should be inseited into the next four ALUs and into the third level of carry look-ahead. This process is continued for the second section of ALUs (next 16 bits). Finally, the third level of carry look-ahead determines whether a carry should be in- NXX GXX True H PXX True H GGXX= True H serted into the final ALU by examining the resulting G and P inputs of the other two look-ahead cir- PPXX cuits. The truth table for the First-stage carry is as follows: True L 2.1.4 = True H M248 Right-Shift Parallel Load Register The M248 Right-Shift Parallel Load Register consists of two 4-bit DEC 7495 Right-Shift Parallel Load True Carry Insert = L Registers connected to allow right-shifting between 4-bit sections. The registers perform load or rightPOO L L H L GOO C L L H H shift operations, depending on the logical input to the MC. When a logical 0 is applied to the MC NOD C N +X L H H L H H L L input, the output of each flip-flop is connected to the succeeding flip-flop and right-shift operation is perfonned by clocking at the input designated RS. During this time, the input designated LS is inhibited. When a logical 1 is applied to the MC input, the flip-flops are decoupled (to prevent right-shift); the register is loaded with parallel inputs when the input designated LS is clocked. The register can be configured for left-shift operation by connecting the output of each flip-flop to the parallel input of the previous flip-flop. True Carry Insert = Low The M248 Right-Shift Parallel Load Register is used in the EPB, FMA, FMB, and FMQ registers in the POD GOO C NOD C N +X FP15 Floating-Point Processor. Each module is capable of handling 8 bits. Figure 2-5 shows a sample of the application of this module in the FP15 Floating-Point Processor. L H L H L H L H L L H H L L H L L L L H H H H H H H L L H H H L FPI5-0-1B A 51 H} VI A ADO 21 (H) ADO 22 (H) V2 B U2 C B Rl C PI EPB 02 (1) EPB 03 (1) H EPB 04 (1) H. ADD 23 (H) S2 D D Nl EPB 05 (11 H SERIAL INPUT EPB 01 (H) UI SI RIGHT SH I FT EPB LOAD EB RS H EPB LD P2 RS N2 LS MODE CONTROL -EPB MC H R2 MC DATA I NPUT5 The following are the logic equations for a carry look-ahead stage: M24B E07 ADO 20 (H) { DATA OUTPUTS , 5-0572 CNOl = C NOO * GO + GO * Po C N02 = G l *~ + Po*G Figure 2-5 *G J + G 1*G *C o o N M248 Right-Shift Parallel Load Register C N03 = P2*G 2 + G 1*G 2 *P 1 +GO+G1*G2*PO+GO*G1*G2*CN 2.1.5 GGOO= P3*G 3 + P2 *G 3 *G 2 +P1*G3*G2*Gl+G3*G2*G1*GO The M 1701 Data Selector contains two DEC 74153 Dual 4-Line-to-1-Line Data Selector/Multiplexer PPOO = P3+ P2 + ~+Po M1701 Data Selector integrated circuits. These integrated circuit modules comprise input multiplexers A and B of the 2·3 36-bit ALU in the FP15 Floating-Point Processor. They are also used as input multiplexers to the shift counter, MPO, FMA, and FMQ registers. A complete block schematic of the input multiplexers is shown on drawings D-BS-FP15-0-19 through D-BS-FP15-0-27. 2.1.6 M1713 16-To-l Data Selector The M 1713 16-To-1 Data Selector contains a single DEC 74150 integrated circuit. It is used in the output multiplexer section of the FP15 Floating-Point Processor, where up to 16 major register outputs For each section of each IC, one of four data inputs is selected by combinations of address input signals A and B. The selected data input is strobed to the output by a low strobe signal. Refer to the following truth table for a typical input multiplexer A section. are selected for transfer to the common MPO bus. The block schematic of the output multiplexer is shown on drawing D-BS-FP15-O-03. Data inputs are selected by combinations of data select signals MXA, MXB, MXC, and MXD, which are generated by the multiplexer control logic shown on drawing D-BS-FP15-0-05. The strobe inputs Data Inputs Address Inputs Output Strobe A B 0 1 2 3 x 0 0 1 1 x 0 0 0 0 1 1 1 1 x 0 1 x x x x x x x x x 0 1 x x x x x x x x x x x x x x x x 1 0 0 0 0 0 0 1 0 1 MXD a a 0 1 0 1 0 1 0 0 0 0 0 a 0 1 1 a 1 x x lector follows: a a Address input signals A and B are common to both sections of each IC. Figure 2-6 is a typical application of the M1701 Data Selector in the FP15 Floating-Point Processor. { DATA INPUTS ADD 0 ' " FMQ 04 (1) H FMA 03 (1) H FP15-0-19 THRU H2 1.11701 A03 J2 K2 L2 COMMON { SELECT INPUTS MXBI { ADD 02 H FMQ 03 (1) H FMA 02 (1) H MXAI 0 1 FP15-0-27 L1 HI E2 Dl El Fl Jl S B OUTPUTS A 0 1 02 2 3 S 15-0569 Figure 2-6 M1701 Data Selector 0 0 1 1 1 MXC MXB MXA 0 a a 0 1 a a 0 1 1 1 1 a a 0 1 a 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 a 1 1 1 a 1 0 1 a 1 a 1 0 1 a * Signal mnemonics vary as shown on drawing D-BS-FP15-0-03. F2 2 3 Kl DATA INPUTS Data Select Inputs a x indicates irrelevancy. 2-4 are wired to ground so that each IC is always enabled. A typical truth table for the 16-to-1 Data Se- Data Input* Selected DIR12 JEA12 ADD30 ADD12 FMQ30 FMQ12 FMB30 FMB12 EPB12 FMA30 FMA12 EPA12 IR12 BMB30 BMB12 MPIl2 Figure 2-7 is a typical example of the manner in which the M1713 Data Selector is utilized. FPI5-0-03 r S2 BUSY { " H A SIGN (1) H ADD 18 H A SIGN (1) H FMQ 18 (1) H B SIGN (1) H FMB 18 (1) H I N PUTS BSIGN(I)H EPBOO(l)H FMA 1 B (1) H A SIGN (1) H EPA 00 (1) H SC12 (1) H BMB 18 (1) H BMB 00 (1) H MPI 00 (1) H SELECT LI N ES TO SELECT ONE OF 16 INPUTS 1r MXA L MXB L MXC L MXD L D12 M1713 T2 Ml Nl PI Rl SI Ll Fl HI Jl P2 MPO 00 L OUTPUT Kl M2 L2 K2 E2 F2 H2 J2 N2 STROBE 15·0570 Figure 2-7 M 1713 16-T0-1 Data Selector 2-5 CHAPTER 3 FP15/PDP-15 INTERFACE 3.1 INTRODUCTION 3.2 FETCH CYCLE INTERFACE This chapter describes the interface between the CPU, FP15, and memory. This interface is described Prior to the FETCH cycle, the floating-point instruction from memory is strobed into the FP15 8MB. by discussing the major events that occur during the FETCH, OPAND, WRITE, and Interrupt (INT) cy- During the FETCH cycle, the operand address is strobed into the FP15 Address Register (AR) (see Fig- cles, followed by a flow diagram description of each cycle. The EXP, FUN, and NOR cycles, inter- ure 3-2). If indirection is specified, a second FETCH cycle is performed to obtain the effective ad- nai to the FP15, are described in Chapter 4. Figure 3-1 shows the various control signals associated dress. with the interface. Every instruction is monitored by both the CPU and the FP15, which are in parallel on the memory bus. Bits 00 through 05 of the instruction are examined for an octal code of 71. The 71 is recognized by the CPU as a Nap and by the FP15 as a floating-point instruction. The CPU strobes the instruction MEMORY into the memory input (MI) register and then into the instruction register (IR), whi Ie the FP15 strobes the instruction into the BMB register. :.:: u :;;1 « t- CIl 0:: ..J 0:: en 0 0 0:: IIJ CIl 0:: ::IE 0:: ::IE ..J ~ 0:: u « ::IE 0 0:: U._ a. u. a. ~ « or- The CPU executes the 71XXXXa (NaP) and makes a second memory reference to the next location, as if it were fetching the next instruction. This memory request (M REQ) actually fetches the operand :.:: a. ~ 0:: u. u a. u « , 3: « u.« 0 0 ::IE 0 IIJ 0:: ::IE 0:: 0 0 c( CIlCll 0:: 0 ..J ..J..J ::IE ::IE ::IE u. ::IE ::IE ex: ex: a. 0 address that is the second half of the two-word FP15 instruction. The normal interface signals between 0 ex: the CPU and memory take place; i.e., the CPU specifies an address, READ cycle, and issues M REQ. After M REQ is placed on the memory bus, the contents of the 8MB in the FP15 are strobed into the IR; FP15 FLOATING POINT PROCESSOR CPU the DIS CP ACT and DIS CP RD RST signals are generated to inhibit the CPU from making further memory requests. Address Acknowledge (ADDR ACK) is returned from memory to clear M REQ in the CPU. The memory then places the operand address on the memory data line (MDl) and issues RD RST. The t DIS CP ACT I operand address is strobed into the BMB in the FP15. DIS I/O ACT DIS CP RD RST 15-0567 Figure 3-1 Major Signal Interface Diagram The CPU does not see the operand address because DIS CP RD RST prevents RD RST from loading the MI and halts the CPU in Time State 3, Phase 3 (TS03*PH03). 3-1 CENTRAL PROCESSOR SUBCYCLE MEMORY FLOATING POINT UNIT M REQ,ADDR, RD I o -M REQ .. REMOVE ADDR FROM MDL SET FETCH ~Z 00 71XXXX a .. MI MRLS e>b 0 .. MRLS· I- Q..- Z=> I-ADDR ACK ! i- 71XXXXa ... BMB I I -MRLS ACK I _0=:: I - I- «tn OZ ...,JLL 1 .. 0 71XXXXa - IR (EXECUTED AS NOP) M REQ tn tn w o -M REQ" 0 0 0 I I . DIS CP ACT, DIS RD RST i.ADDR ACK I I BMB - IR 1- 0 - ADDR ACK ~ISSUED Z «0=:: w ;.-MRLS ACK Q.. 0- FP MRDA" BMB - AR 0 Q.. => I- 710000a - MI ..... ~ ~ MRLS 0 0- MRLS" => I - 0 - MRLS ACK REMOVE DIS CP RD RST FPU ISSUES FP RD RST ,WITH 7100008 ON MDl ~FP MRLS ACK I--0 - FP MRLS ACK Figure 3-2 3-2 MRlS ACK MDl ~ BMB====roPERAND ADDR ON FP MRDA MOL & RD RST « >- ~ CPU REQUESTS MEM. CYCLE MEM. ACKNOWLEDGES ADDRESS CPU REMOVES ADDR FROM MDL MEM PLACES INSTR. ON MDL 71XXXXa RECOGNIZED AS FLOATING POINT INSTR. AND IS STROBED IN BMB OF FPU AND MI OF CPU. CPU COMPLETES REST OF MEM CYCLE. 71XXXXa STROBED INTO IR IN CPU 0=:: w tn 0 .. ADDR ACK INSTR ON MDL AND RD RST ISSUED REMARKS Memory Interface--FETCH Cycle . M REQ IS MADE FOR LOCATION CONT AINING OPERAND ADDR. CPU RD RST IS DISABLED, WHICH INHIBITS RD RST FROM RESTARTING CPU CLOCK. OPERAND ADDR STROBED INTO BMB. 71XXXXa STROBED INTO IRINFPU. REST OF MEM CYCLE COMPLETED. OPERAND ADDR STROBED INTO AR CPU BECOMES ACTIVE FP RD RST LOOK S UK E RD RST TO CPU. CPU STROBES 710oo0 a INTO MI. THE EXECUTION OF THE 710000 INSTRUCTION WAITING FOR CPU ACTIVE TO SET rN AIlING TO ISSUE M REQ) The FP15 now issues MRDA (Memory Release and Data Acknowledge) which releases the memory for 3.4 FETCH CYCLE DESCRIPTION additional requests and acknowledges receipt of the data (operanda ddress). The memory cycle is com- MR' ArK , ~I.p;n"", p!eted wh .... en t ..he memory •Issues .• , ....c::. .--._. _ __ _ ,A_A,D"nA . _.. :,-,. ",L,,:::._ 1'15 which, in tUm, clears MRLS ACK , .!!"!Srruc.!on t' h '.' ttA1"'I1 L'" L 1''11: __ 0 - -nvv)()( · The FP15 detects a fl. oatmg-pomt _y monl.ormg .... h., ....... .I,;; M vv "h II r0 ugn V.J t. for 'I/\,/\,,,,,S 1. 1:. (Memory Release Acknowledge). The operand address, which was loaded into the BMB, is now strobed into the FP15 AR. Since the CPU did not receive the operand address, it is sti II waiting for data from memory. The FP15 places a 710000S on the MOL, clears DIS RD RST, and sends RD RST to the CPU. The CPU loads the 710000S into the MI and generates MRLS. ihe FPi5 generates MRLS ACK to aiiow the CPU to complete its cycle. The CPU executes the 7100008 but is prevented from making a M REQ because of DIS CP ACT. The CPU waits in TS03*PH02 until completion of the FP15 instruction. The memory interface is now free for I/O memory requests. 3.3 while FP SET FETCH is true (see drawings D-FD-FP15-0-45 through D-FD-FP15-0-47), FP SET FETCH indicates that the CPU is fetching an instruction. When the 71XXXXS is detected, the contents of the MDLs are strobed into the FP15 BMB bits lS through 35 and the floating-point operation is started. The PI and API feci Uties are disab!ed at this point, to prevent an interrupt during the fioating-point instruction. The CPU executes the 71XXXX S as a NOP and makes a memory request for the next instruction that is actually the operand address associated with the floating-point instruction. The FP15 sets BUSY, DIS CP ACT, DIS RD RST, and loads the contents of BMB bits lS through 35, which contain the floating-point instruction, into its IR. BUSY starts the floating-point phases and time states and FETCH (INDIRECT) CYCLE INTERFACE DIS RD RST prevents the CPU from seeing the RD RST or the memory request for the operand address. If bit 00 of the second FP15 word {address} is a 1, specifying indirection, a second FETCH (indirect) cycle is performed. This word, which is in the FP15 AR, and is the address of the effective address, is placed on the MDL (see Figure 3-3). The FP15 requests a memory cycle and the contents of the operand address {effective address} are accessed from memory I placed on the MDL, and RD RST issued. The CPU waits in TS03*PH03 for RD RST. When RD RST is retumed by memory, the FP15 strobes the contents of the MDL into BMB bits lS through 35 and issues MRDA to memory. The memory responds by issuing MRLS ACK which clears MRDA. The FP15 now completes the CPU memory request by clearing DIS RD RST, enabling 710000 (NOP) onto the MDL, and issuing FP RD RST, which strobes the 8 The address is then strobed into the BMB register. The FP15 issues FP MRDA to memory, which releases memory for further req~ests. The effective address, which was transferred into the BMB, is now NOP into the CPU's MI. The CPU responds with MRLS and the FP15 returns MRLS ACK. The CPU begins to execute the NOP but cannot issue a M REQ because DIS CP ACT holds the CPU in TS03*PH02, strobed into the AR and represents the address of the first operand. thus allowing I/O memory requests to be made. If bit 00 of the second FP15 word (address) is a 0, no indirection i~ specified and this cycle is omitted. The FP15 loads BMB bits lS through 35 (operand address) into the AR and determines if an I/O memory SUBCENTRAL FLOATING-POINT UNIT CYCLE PROCESSOR MEMORY REMARKS request is pending. If one is pending, the FP15 waits; if not, the FP15 determines if indirection has been requested. When indirection has not been requested, the FP15 enters the OPAND cycle, if an AR .. MDl-___ ~ V'l V'l W 0:::: o o < ~ 6 w THIS IS THE INDIRECT CYCLE AND THE INDIRECT ADDRESS IS STROBED INTO AR. M REQ, ADDR, MRD I ADDR ACK 0" M REQ __ REMOVE ADDR FROM MDL o .. ADDR ACK OPERAND ADDR PLACED DDR ON MOL AND ON MDL AT RD RST. RD RST ISSUED REST OF MEMORY CYCLE COMPLETED MOL - BMB FPMRDA~_ _ . I.L. I.L. W operand FETCH is requested, or the EXP cycle, if no operand FETCH is requested. If indirection has been requested, the FP15 places the contents of the AR onto the MDL and issues M REQ. When RD RST is received from the memory, the contents of the MDL are strobed into BMB bits lS through 35 and then loaded into the AR. The FP15 then enters OPAND or EXP, as described above. RLS ACK 0 .. MRlS ACK BMB .. AR If bit 00 of second word is 0 (Direct Addressing) omit indirect cycle. Two other operations are also performed in the FETCH cycle. If the instruction is ADD, SUBTRACT, or FIX, the FMQ is cleared during TS03 of the FETCH cycle. If the instruction is a Reverse Divide, the FMA is loaded into the FMQ; if the instruction is a Reverse Subtract, the FMA is loaded into the FMB Figure 3-3 Memory Interface--FETCH Cycle (Indirect) during TS02. 3-3 6 7 8 3 4 5 arty of Ot&<taI EQuipment COflMdtJOn and ..sll nat be ret:lroduced Of copted or u'lild in wttoNor in p.lrtn ~~tt:~;:;:,:~o~.nUfactLl,.. or ..... or items without D D YES FPI P FP¢8 8MS SET _ D Ie -.35 c FPII MDL FP/~ I I/O EN c 015 ~CT FP/I NOTE. : POPI5 'f( T5(11? PH03 .... I RI ~ - I -If r_~_E_S_ _ _ _ _... SroR.E NO RD R57 tD B 0.... LL B N OiE I SEE PFt~E. F£TCH .3 2 OTY. ITEM NO. DESCRIPTION PARTS LIST ~BmDDmaEQU I •• > '" - PMENT :'~~!'~.~A~~I.::~ DECIMALS A A .x)(x· .005 .xx '".02 CYCL[ ~ ~ MATERIAL NUMBER r '""I Dte tQR"M NO DR!? 10'2~e 3-4 FINISH SCALE SHEET 8 7 6 5 4 3 2 OF 8 6 7 5 4 3 TI1,scjr...... m• • nds(»CifICftJon... IM.... n,.tottMIprop. ltrtyofDlIif!ajEQlllpr!'Mlfttcorl)O~lon.ncI~lInot:be reproduced or (WoPl«! or U * In IIIrfIoI4 Qr 1ft pert " the /).Is" lor the m."~.etu,. M ule or It.rn. Mthout ~~F_P ______. -______ written permISSIOn. .1 D D FP¢~ T 3 "* P 2 *>-_"'..::.'.;:0:.....1 RO F'.S yt:"s c c p¢ to i '" I Z I LD B CL lL. :<;0 8lL. ~C B FIRST USED ON OPTION/MODEL QTY. DESCRIPTION ITEM NO. UNLESS OTHERWISE SPECIFIED DIMENSION IN INCHES. TOLERANCES 0: DECIMALS A .XXX ".005 .XX -.02 g .X ".1 "Z O! U:I: '" MATERIAL FINISH '"u I DRO 102-8 SCALE SHEET 8 7 6 5 4 3 OF 2 3-5 3 5 6 7 8 This dravu"ll and "'tlKl~'abO"'. helWtn. ~ the propo:rty of D'IiI,tDI Equ.pmentCofporatiOf1 .nc:I~.llnotlle 't!prnduce<l or COpIed or uYd ,n whole or 111 ~rt as the b;JI5f~ for the mlnu1,cturw oryte of itJIm, WIthout wr.tten permiSSIon D D =P!l!'1 I TSI!> I ONLY FOR FLOATING ADD t. . SVB + FIX FPrt>'1 PH 03 "\. [FP¢9 IS ¢3 Y c FP33 S¢ ..: H 51 = H 52. ,. L 53 ~ L- /V10DE. ~ H FP3~ rtJ- ADD ¢¢ -35 FP3' I'JOTE". B I IFP'}5 ADD SIJ8 IF P 32 CL-R + F£TC-H I IFP ¢9 PH¢ 3 I c I M L- S I ADDt/Jd 3Sl [ _PMQ FP// Drv FMA IS ON AOD ¢¢ -~S B FIRST USED ON OPTIONIMODEL ITEM DESCRIPTION NO. PARTS LIST ~DmDDmD UNLESS OTHERWISE SPECIFIED •• • E QUI P MEN T CORPORATION ........ "" .. "0 ....... $0'"' ':: ... ''' •• ,''' DECIMALS A A xxx- .005 .xx ,. .02 .X CY::L r:;:::LCW 3 "'.1 MATERIAL FINISH SCALE SHEET ORO 10J-1: 3-6 8 7 6 5 4 3 2 OF 3.5 OPAND CYCLE INTERFACE After the FETCH cycle, the FP15 enters the OPAND cycle. If an instruction is specified in which operands are not fetched from memory (bit 10 of the floating-point instruction word on a 1), the OPAND cycle is omitted completely and no memory reference is made. The current contents of the If bit 10 of first word (71XXXXS) is set, the OPAND cycle is omitted completely. If the bit is 00, the OPAND cycle is performed. However, certain operations in the OPAND cycle are excluded based on the following format: FMA are used as the operand. Double-Precision Floating Point - All Operations Performed Single-Precision Floating Point - Omit Low-Order Mantissa Double-Precision Inh.ger - Omit Exponent Single-Precision Integer - Omit Exponent and Low-Order Mantissa For memory reference instructions, the operand or operands from memory are transferred to the FP15 during the OPAND cycle. The number of operands is dependent on the format specified and is defined SUBCYCLE CENTRAL PROCESSOR FLOATING-POINT UNIT MEMORY REMARKS in the note associated with the OPAND cycle in Figure 3-4. This description assumes doubleprecision floating-point format in which the maximum number of operands (three) is transferred from memory. The first operand transferred is the exponent. The FP15 requests a memory cycle (M REQ) and transfers the effective address in the AR to memory via the MOL. Memory then places the first I- Z w Z o Q.. (S operand (the contents of the address specified) on the MDL and issues RD RST. The FP15 strobes the operand into the BMB and releases memory. AR - MOL M REQ, MRD 0- M REQ" REMOVE ADDRESS .ADDR ACK -----r- FROM MDL a - ADDR ACK transfer the second operand. The memory cycle is exactly like that described for the exponent operand. The third operand (low-order mantissa) is in the next sequential location (high-order mantissa plus BMB - EPA AR + 1 -AR ADDR REGISTER INCREMENTED I MDL - BMB FP MRDA one). The address in the AR is incremented a second time to obtain the third operand address. The ~O - MRLS ACK . I I &------+-. d o - FP MRDA- AR + 1 - AR memory cycle is like that described for the exponent operand. HIGH ORDER MANTISSA ON MDL & RD RST ISSUED I "MRLS ACK Co _ MRLS ACK AR - MDL M REQ, MRD & I ....ADDR ACK 0- M REQ • REMOVE ADDR FROM MDL~o _ ADDR ACK I MDL - BMB-FP MRDA 1 LOW ORDER MANTISSA ON MDL & RD RST ISSUED I_~RLS ACK r w o - FP MRDA-~I 0 _ MRLS ACK o BMB - FMA 00-35 o-' AR + 1 - AR ...: o ...: FP REQUESTS MEMORY CYCLE WITH INCREMENTED OPERAND ADDRESS HIGH-ORDER MANTISSA STROBED INTO FPU MEMORY BUFFER MEMORY CYCLE COMPLETED FP REQUESTS MEMORY CYCLE WITH TWICE-INCREMENTED OPERAND ADDRESS LOW-ORDER MANTISSA STROBED INTO FP MEMORY BUFFER MEMORY CYCLE COMPLETED CONTENTS OF BMB 00-35 STROBED INTO FMA i :;:: FPU REMOVES ADDRESS FROM MOL. FPU WAITS FOR EXPONENT EXPONENT TRANSFERRED TO FPU AND STROBED INTO BMB. MEMORY CYCLE COMPLETED ~~~~!~:~D~:D7ACK I~ dress plus one). As a result, the address in the AR is incremented so that the next memory access will FPU REQUESTS MEMORY CYCLE WITH CONTENTS OF AR ON MDL. EXPONENT ON MDL MOL - BMB~ AND RD RST FP MRDA-___ ISSUED o _ FP MRDA,.... MRLS ACK AR - MDL M REQ, MRD, The next operand (high-order mantissa) to be obtained is in the next sequential location (exponent ad- I i i Figure 3-4 Memory Interface--OPAND Cycle 3-7 3.6 OPAND CYCLE DESCRIPTION During the OPAND cycle, the FMB and/or EPB is loaded from memory if the instruction specified is an arithmetic instruction (Add, Subtract ~ Multiply, or Divide). For other types of instructions (including Reverse Subtract and Reverse Divide), the FMA and/or EPA is loaded. For integer format, the EPA is not loaded. The shift counter is decremented a second time to a count of O. The third memory reference is similar to the second except that the address is again incremented to fetch the third operand (low-order mantissa). The -STROBE signal loads the low-order mantissa into the low-order bits of the BMB. If the instruction is an arithmetic type, the B SIGN/FMB is loaded. If the instruction is a Fix, load, Float, Reverse Subtract, or Reverse Divide, the A SIGN/FMA is loaded. The A multiplexer is again selected after the fetch of the third operand so that the A SIGN/FMA or B SIGN/FMB can be loaded as a Drawings D-FD-FP15-0-48 through D-FD-FP15-0-50 are flow diagrams of the OPAND cycle. The cy- 36-bit word from the 36-bit memory buffer. cle is initiated when OPAND goes to 1. At TS02*PHOl of this cycle, an FP M REO is issued. The shift counter is decremented and now produces a borrow which indicates that all operands have Since a WRITE operation is inhibited (-All WRITE), a memory read will occur. The address of the op- been received. At this point, the OPAND cycle is cleared and the EXP cycle is enabled. erand, located in the AR, is gated onto the MDl via the output multiplexer (MPO). FP M REO, after a delay to allow the MDl to settle, produces M REO to initiate the memory cycle. When memory receives the address, it issues ADDR ACK I which clears FP M REO. The data (operand) and RD RST are then placed on the MDl by the memory. Before strobing the data into its memory buffer, the FP15 waits for FP CYCLE. This signal is delayed by RD RST Dl Y to allow time for the data to settle before it is strobed. When the data is strobed into the buffer, the FP15 issues FP MRDA and the memory responds with MRlS ACK, whi ch clears FP MRDA to complete the memory cycle. The data format must now be determined. For each format, the shift counter is loaded with one less than the number of operands to be transferred to the FP15, so that the shift counter will detect a borrow rather than a 0 condition. For example, in double-precision integer format the shift co~nter is loaded with 1. Transferring the first word to memory decrements the counter to 0; transferring the second word decrements the counter to produce a borrow indicating completion of the transfers. 3.6.1 Double-Precision Floating-Point Format 3.6.2 Single-Precision Floating-Point Format In single-precision Aoating-point format OR 11 = 0, IR 12 = 1), the shift counter is loaded in the FETCH cycle with a count of 1 (SC 16 = 0, SC 17 = 1). A memory reference is made just as for double-precision floating point and the exponent operand is strobed into the low-order bits of the BMB, , as a result of -STROBE. The B side of the AlU is selected for the first word of single-precision floatingpoint format. The first word consists of nine bits of exponent and nine bits of mantissa. The nine bits of exponent are loaded in the EPA or EPB. The value of bit 09 (exponent sign) is extended through bit 00. The nine bits of the mantissa remain stored in bits 18 through 26 of the BMB, since the A SIGN/FMA or B SIGN/FMB are loaded 36 bits at a time. The exponent bits in the BMB are cleared (bits 27 through 35). At the end of the memory reference, the shift counter is decremented to O. Since no borrow is detected, a second memory reference is initiated to fetch the 18 bits of high-order mantissa from memory. If double-precision, floating-point format is specified (IR 11 = 1, IR 12 = 1), the shift counter is The address in the FP15 AR is incremented to access the next sequential memory location. The 18 bits loaded, during the FETCH cycle, with a count of 2 (SC 16 = 1, SC 17 = 0). A signal designated of high-order mantissa are loaded into the high-order bits of the BMB by STROBE. The A side of the -STROBE loads the low-order bits (BMB bits 18-35) of the memory buffer with the operand. The A side AlU is selected and the A SIGN/FMA or B SIGN/FMB is loaded with the 27 bits of mantissa. of the AlU is selected. If the instruction is a Fix, load, Float, Reverse Subtract, or Reverse Divide, an MA SEl signal is generated that causes the EPA to be loaded. If an arithmetic instruction is speci- At the end of the cycle, the shift counter is decremented and produces a borrow indicating that the op- fied (Add, Subtract, Multiply, or Divide) MA SEl is not generated and the EPB is loaded. eration is complete. The OPAND cycle is cleared and the EXP cycle is enabled. The shift counter is decremented and, if no borrow is generated, the second memory reference of the OPAND cycle is initiated. The second memory reference is similar to the first. The address in the AR has been incremented to ac- 3.603 Extended Integer Format cess the next sequential memory location (high-order mantissa). The shift counter is now at a count of In extended integer format (IR 11 - 1, IR 12 = 0) the shift counter is loaded with a count of 1 1 (SC 16 = 0, SC 17 = 1). The STROBE signal loads the high-order bits of the memory buffer (BMB bits (SC 16 = 0, SC 17 = 1) during the FETCH cycle. The normal memory reference is made, and STROBE 00-17) with the second operand. causes the 18 bits from memory to be loaded into the high-order bits of the BMBo 3-8 5 6 7 FP/I 4 3 OPAND ... , 15~--------~---------------------------------------------------------------------------------------' o D <=P/2 -ALL WRITE.. 12~------------------~-------------, CI YES NO B FPI(J DIS CP RCT ~ "* -RT CP -/9L.[' v.lRITE B FP4Z -TRANSFER FIRST USED ON OPTIONIMODEL OTY. ITEM NO. DESCRIPTION PARTS LIST A mamODmD a •• ''""" • E U I PM E N T CORPORATION ............o ........... e .. u •• ,.,.. DECIMALS ~I .. A .xxx.- .005 .xx -.02 .x •. 1 CYCLE co z J: u MATERIAL .: FINISH J: u 8 7 6 5 4 3 SCALE SHEET OF 2 3-9 8 .4 5 6 7 3 n'ns draw,." a'1d SPf'Ctfi.c:abons.I'I"'n,." thII PfOI). erty ()I [)llbl [Qlr,ltpmcllt Cwporlbot'l and stIIIl! not be repl"Oducil!'d or co,..-dor useclin¥Who~o, '"~rtas the tlllS'S for tne manufacture Gr ...... ofiWnl.mt1out wnne" permiSSion e------- D D NO FP4e STOP YE'S 1£ ) e - - - - - - - - j 13, c c FPL/2 - STOP CL.II- FPI ¢ FP C YC.LE tD B Q.. LL Q 8LL FP33 5¢ ~O L. $1 1- S2 53 L B L- FIRST USED ON OPTIONIM0DEL OTY, UNLESS OTHERWISE SPECIFIED J~I A .xxx- .005 .XX -.02 •• 1 .X '"z0 ~I ~I Vi "" ~I C;;; MATERIAL II ~I FIWSH v, 8 3-10 7 6 5 .4 3 SCALE SHEET 2 DF 7 8 6 5 .4 3 -~., dr,.", ..Ri ~:'ld Spec:lfICI1IQn •. hlrlm . • re thl prop e"'!y o· Oli'~,11 E~I,,,p,,"ent Corpor.t,otl .line! s.hln not be 'epr~ci.,je.d C' eop.@(! or uMd II', ....nOlI' or 11'1 ~n: ~"e 0.1'5" '0 r thll!' :"". r.ur.C1lJ rl or WI'- ot IWmS. wlthOl.lt .1. ... "tten perM,",or. D D c c B B FIRST USED DN OPTIDNIMODEL QTY. DESCRIPTION ITEM NO. A MATERIAL FINISH oRD l02-E 8 7 6 5 4 3 SCALE SHEET OF 2 3-11 After completing the transfer, the shift counter is decremented to 0, no borrow is detected, the AR is The various types of store instructions are described below: incremented, and a second memory reference is initiated. The second memory reference causes the 18 bits in the next sequential memory location to be loaded into the low-order bits of the BMB by -STROBE. The A side of the ALU is selected and the FMA or FMB is loaded with the 35-bit integer. 3.7.1 Store JEA I f the instruction is Store JEA, the contents of the JEA are transferred to the output mu Itiplexer (MPO) and then to the MDL. After the transfer of the second word, the shift counter is decremented from 0 to a borrow condition. The OPAND cycle is cleared and the EXP cycle is enabled. 3.7.2 Double-Precision Floating Point In double-precision floating-point format, the shift counter is loaded with a count of 2. The first word 3.6.4 Single-Precision Integer Format (contents of EPA register) is transferred to the output of the multiplexer. When the shift counter is In singl-precision integer format (IR 11 = 0, IR 12 = 0) only one memory reference is made. The shift decremented to 1, the second word (high-order mantissa ADD 00-17) is transferred to the output of the counter is loaded in the FETCH cycle with a count of O. A memory reference is performed to obtain multiplexer. When the shift counter is decremented to 0, the third word (low-order mantissa ADD the operand. The operand is loaded into the low-order bits of BMB 18-35. The value of bit 18 (sign 18-35) is transferred to the output of the multiplexer. bit) is entered through bit 00. The A side of the ALU is selected and the A SIGN/FMA or B SIGN/ FMB is loaded. 3.7.3 Single-Precision Floating Point At the end of the cycle, the shift counter is decremented from 0 to produce a borrow that clears the In single-precision floating-point format, the shift counter is 1; EPA bits 09 through 17 and FMA bits OPAND cycle and enables the EXP cycle. 18 through 26 are transferred to the output of the multiplexer. When the shift counter goes to 0, FMA bits 00 through 17 are transferred to the output of the multiplexer. 3.7 WRITE CYCLE If a Store instruction is specified, the WRITE cycle is initiated. During the WRITE cycle the contents of the desired major registers are written into memory. Drawing D-FD-FP15-0-51 is a flow diagram of the WRITE cycle. At TS02*PH03 of the NOR cycle, the shift counter is loaded with one less than the number of words to be trans felTed to memory. The FP15 places the contents of the AR on the MOL and issues a delayed FP M REQ that allows for settl ing time. The AR contains the address where the first operand is to be stored. Memory receives the address on the MDL and issues ADR ACK indicating receipt of the address. This signal also clears FP M REQ and enables the data to be placed on the MDL. 3.7.4 Extended Integer The shift counter is loaded with a count of 1 for this format. When the shift counter is 1, the highorder bits (ADD 00-17) are transferred to the output of the multiplexer and, if the shift counter is 0, the low-order bits (ADD 18-35) are transferred to the output of the multiplexer. When an Integer Store instruction is specified, positive or negative integers are transferred from the FMA to the FMB and are l's complemented during FUN*TS02. At NOR*TS01, the FMB is incremented so the contents of the FMB are now a 2 1s complement representation of the integer in the FMA. During the WRITE cycle, the sign (A SIGN) of the FMA is examined. If the sign is positive, the integer is a positive integer and the contents of the FMA are stored in memory. If A SIGN is negative, however, the contents The particular word (depending on the count in the shift counter) is strobed on the MDL. FP MRDA of the FMB are stored in memory, since the FMB is the 2's complement of the FMA and negative inte- is delayed by ADDR ACK to allow address settling. The operand is strobed into memory by FP MRDA. gers are 2 1s complemented before being transferred to memory. Memory responds with MRLS ACK that clears FP MRDA to complete the cycle. The number of memory references during the WRITE cycle depends on the instructi on and/or data for- 3.7.5 Single-Precision Integer mat. When the shift counter produces a borrow, the WRITE cycle is terminated. BUSY and DIS CP When a single-precision integer Store instruction is specified, the contents of the FMA are transferred ACT signals are cleared and control is returned to the CPU. to the FMB and lis complemented during FUN*TS02. At NOR*TSOl, the FMB is incremented and now 3-12 6 7 8 5 4 3 This drPIIln1 and lI~tllQboN. herein••,. the pr0perty of DiS,tal £qui~ Corporation and shall not be rttpraducfCI or eopltd or UMc! in whOle or In Pilrt the boIlltafOf the manuf.ctu ... or ule of it.mswithout wrttt.n pe'mlSSlOn .1- D D NO FP3¢ LOAD Sc.. W.ITH COUNT 2 = 0 PI= 1- SPF-t DPI SPI + -JEI't <1;: NO STORE =I PP¢Cf 73 Of( P3 FPII FPAr2 -STOP CoLK FP4Z. -TRRNSFER B NOR FP¢~ EPA (/)"f- 17 PMFI /8 - 2,", ---+ * MPO c c FPI! LO !~ Z I L() B 0... LL :;;0 8LL ~Q B FIRST USED ON OPTIONIMODEL QTY. ITEM NO. DESCRIPTION PARTS LIST ~~JJI71 ~DmDDmD E QUI PM E N T DATE ::~£~~~':s~~~.:~~~ :,.,y: . •• ~ DECIMALS A DATE .XXX-.OO6 .xx ... .D2 .x 0 z WRITE CYCL E FLOW . CJ .i! I MATERIAL '" FINISH A 51¥. I -.1 u . TITLE NUMBER I u DRO 102-8 SCALE SHEET 8 7 6 5 4 3 OF 2 3-13 represents the 2's complement of the FMA. During the WRITE cycle, A SIGN is examined. If it is positive, the contents of the FMA are stored in memory; if it is negative, the 2's complement of the SUBCYCLE CENTRAL PROCESSOR FLOATI NG-POINT PROCESSOR REMARKS MEMORY negative integer are stored in memory. This 2's complement is contained in the FMB and! consequently! the contents of the FMB are stored in memory. 0 .. DIS CP ACT M REQ ·CP ACT- 3.8 1 • DIS~ADDR ACK ~DISRDRST INTERRUPT CYCLE INTERFACE 0 .. M REQ ~ ~ ADDRACK The following conditions in the FP15 can cause an interrupt in the CPU. a. b. c. d. Overflow Underflow Abnormal division (divide by zero) Memory violations (trap) :c FPMRDA~ uatu 0 .. FPMRDAd -~~ o - DIS RD RST -Z e 120000S .. MDL VFP RD RST ........ w ....J >- -II u. UV')>- ....... t'Q .. MRLS ACK :::J cycle, where the arithmetic operation is being performed, or during the NOR cycle, where the result 1200008 .. MI ~ of an arithmetic operation is being normalized. An abnormal divide interrupt can occur only during MRLS~ the FUN cycle; a memory violation interrupt can occur during the FETCH, OPAND, or WRITE cycles. FP MRLS ACK 0 .. MRLScr--~O - MRLS ACK MI ... IR o .. DIS CP ACT If an interrupt should occur while an FP15/CPU cycle is in progress, the cycle is completed, the remaining sequence is aborted, and INT 1 and INT 2 interrupt cycles are initiated. RD RST MRLS ACK U t-"""l::;E An interrupt generated as a result of an overflow or underflow condition can occur during the FUN CPU CONTINUES FROM TS03*PH02 CPU MAKES MEMORY REQUEST FP15 COMPLETES MEMORY CYCLE FP15 FORCES JMS*O (1200008) ON MDL AND COMPLETES CPU CYCLE 1200008 (JMS*O) LOADED IN IR If an interrupt caused by a memory violation occurs in the OPAND cycle while the exponent is being Figure 3-5 fetched, this part of the sequence is completed, fetching of the high-order and low-order mantissas is INT 1 Cycle Interface Diagram aborted, and the interrupt occurs. If the interrupt occurs during fetching of the high-order mantissa, 3.S.2 INT 2 Cycle The FP15 completes this part of the cycle and aborts fetching of the low-order mantissa. The FP15 initiates a second dummy setup that forces the CPU to accept the JEA (JMS Exit Address) instead of the contents of location 0 (see Figure 3-6). The JEA address is under programmer control and will vary depending on the cause of the interrupt. 3 •S. 1 I NT 1 C ycl e When a floating-point interrupt is raised, the FP15 forces a JMS*O to the CPU by placing 120000 on 8 the MDL. Figure 3-5 shows the communication between the CPU and FP15. It is assumed that a mem- EXIT ADDRESS +0 +1 +2 +3 +4 +5 o JMP OVR /GO TO OVERFLOW o JMP UND /GO TO UNDERFLOW JMP DIV +6 °o /GO TO DIVIDE mantissa has been fetched, the OPAND cycle is aborted and a dummy setup initiated. The FP15 removes DIS CP ACT and the CPU is allowed to make a memory request. DIS RD RST is raised and the +7 JMP TRAP /GO TO MEMORY VIOLATION ory violation interrupt occurred during the fetching of the high-order mantissa. When the high-order FP15 completes the memory cycle. The FP15 then removes DIS RD RST, places 120000 (JMS*O) on 8 the MDL, and issues FP RD RST. The 1200008 is strobed into the MI in the CPU and then executed. In the example presented, where a memory violation caused the interrupt, the JEA address +6 will con- The remainder of the cycle between the FP15 and CPU is completed. a jump instruction to an entry of a service routine associated with the interrupt. 3-14 tain the address of the PC (71XXXXS instruction) +3 when the JMS is complete. JEA +7 may contain 3.9 INTERRUPT CYCLE SUBCYCLE CENTRAL PROCESSOR On entering INT 1, DIS CP ACT is removed; this allows the CPU to continue (see drawing FLOATING POINT UNIT D-FD-FP15-0-62). When CP Active is clocked high, and a M REQ is made by the CPU to obtain the next instruction, the FP15 is set up to take control over memory. In addition, DIS RD RST is raised to M REQ·CP ACT-L rl-~~DI~S~C~P~A~~~T-~-lADDRACK I ~ ~ DIS RD RST 0 .... M REQ~ I CPU MAK ES MEMORY REQUEST FP15 COMPLETES MEMORY CYCLE I I .,0 ~ ADDR ACK I U wIw uu.. >->- -I U~ N~ I-=> ZQ -~ ""'l ~RDRST FPMRDA~ J ----"'MRLS ACK 0- FPMRDAC] O-MRLSACK ° - DIS RD RST JEA +0. OVR} fJEA ADDRESS .- MOL 2 UND MI FP RD RST FP15 FORCES JEA ADDRESS ON MDL 4 DIV AND COMPLETES CPU CYCLE 6 TRAP MRLS ______ J ....-:::tFP MRLS ACK 0 .... MRLS~ I ~O .... FP MRLS ACK JEA ADDRESS IS ACCEPTED BY CPU AS IF IT WERE CONTENTS OF 0- DIS CP ACT LOCATION 0000008 • q inhibit communication between the CPU and memory, and DIS CP ACT is raised to temporarily suspend the CPU. Memory responds to the CPU M REQ with ADDR ACK, places the contents of the specified address on the MDL, and issues RD RST. The CPU never sees the contents of the address because of DIS RD RST. The FP15 issues MRDA and the memory responds with MRLS ACK to complete the cycle. Control is returned to the CPU. The FP15 then initiates a dummy setup that places 1200008 on the MDL via the input multiplexer (MPI) and output multiplexer (MPO). FP RD RST is also placed on the MDL. At this point, the FP15 simulates memory and communicates with the CPU to complete the cycle. The 1200008 is loaded into the MI register in the CPU. When the CPU receives the 12000°8, it issues MRLS. The FP15 responds with FP MRLS ACK, both are then cleared and the INT 2 cycle is initiated. . The INT 2 cycle is similar to INT 1 except that the JEA address, instead of 1200008' is placed on the MOL, the CPU executes the 1200008 as a JMS*O and makes a second M REQ. The FP15 again suspends the CPU with DIS RD RST, gains control of memory, and completes the memory cycle. The JEA address is placed on the MOL along with FP RD RST. At this point, the FP15 releases control to the CPU and simulates a memory so the CPU can load the JEA address into the MI register. The CPU can Figure 3-6 iNT 2 Cycie interface Diagram now complete it~ cycle which was initially suspended by the FP15. The action is concluded by BUSY and DIS CP ACT being cleared, thereby returning control to the CPU. 3-15 8 7 5 6 4 3 TrU$ (fr ..... ,n. ano sptC,flcatlOllt.. tI~ .... n. are the Drop erty of DlI'loIl EqUipment Corporation .. nit -shan not 1M ;~:~~~~orO~~O~~;;~~ O'~ a"':": I~~ :~o~~ o I o o FP¢ 3 MPI_MPo M PO ML.D 120000 _MDL ~~t35fJr;;~~:::/~B ~MPo JEA + ¢,2, +, OR" .-40MLD c c MMI5 Iv! R LS ACK B FPJrI EXIT INT ,.. BRANCH NO B DO"JE C P TAKES OVER HERE ITEM NO. NO 2. A > UNLESS OTHERWI E SPECIFIEO '" UNLESS OTHERWISE SPECIFIED DIWENStOH IN INCHES TOLERANCES g DECIMALS FRACTIONS ::: 005 :: 1(64 ~ 0"30· RfMO:~":~R~~Ft:~~[ B~~~~T~Hip .'" I NT ERI:\UPT CORNERS z FLC\\ MATERIAL :t: u A TITLE ANGLES REV FINISH '"iSl Dle tORM NO DRDJO:O" 3-16 SCALE SHEET 8 7 6 5 3 OF 2 3.10 FP15/CPU CONTROL As an aid in understanding the exchange of control between the CPU and the FP15, Figure 3-7 shows a typical program describing what instructions the CPU would see and what instructions the FP15 would see if the program were executed. The first instruction (DAC 500) is recognized by the CPU and the contents of the accumulator are deposited in location 000500. The second instruction is a floatingpoint instruction that is recognized by both the CPU and FP15. The next three sequential locations (000110,000111, and 000112) are recognized by the FP15. The FP15 takes control and forces a 710000 NOP on the MDL so that the CPU does not use the floating-point operand address as an instruction. Consequently the CPU waits, since the FP15 has control of memory. When the FP15 completes the instruction, both the CPU and FP15 again monitor the next instruction fetched from core. A similar process can be traced through the remaining steps in the program. DLD = Double Precision Floating Point Load DAD = Double Precision Floating Point Add DST = Double Precision Floating Point Store 000097 000100 000101 000102 000103 000104 000105 000106 000107 000110 000111 000112 000113 000114 000115 000116 000117 000120 000130 000500 CP SEES 040500 XXXXXX 713150 710000 CP WAITS 716140 710000 CP WAITS 713750 710000 CPU WAITS 040500 713150 000110 716140 000113 713750 000116 200130 740040 XXXXXX XXXXXX xxx xxx xxx xxx XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX DAC SOO DLD no DAD 113 DST 116 LAC 130 HLT EXP A HIGH MANTISSA AUGEND LOW MANTISSA EXP B HIGH MANTISSA ADDEND LOW MANTISSA EXPONENT } HIGH MANTISSA SUM LOW MANTISSA /CPU INSTRUCTION /FPU INSTRUCTION /OPERAN D ADDRESS /FPU I NSTRUCTIO N /OPERAN D ADDRESS /FPU I NSTRUCTIO N /SUM STORED /CPU INSTRUCTION /CPU INSTRUCTION 77m7 000000 FPU SEES /CPU INSTRUCTION /CPU WRITES INTO lOC 500 jFPU INSTRUCTION /FPU FORCES 710000 TO CP /FPU SEES CONTENTS /OF 000110, 000111 & 000112 713150 000110 XXXXXX XXXXXX XXXXXX 716140 000113 XXXXXX XXXXXX XXXXXX 713750 000116 XXXXXX XXXXXX XXXXXX jFPU I NSTRUCTIO N /FPU FORCES 710000 TO CP jFPU SEES CONTENTS /OF 000113, 000114 & 000115 /FPU INSTRUCTION /FPU FORCES 710000 TO CP /FPU WRITES INTO LOC. /000116, 000117 & 000120 200130 777777 740040 jCPU INSTRUCTION /CONTENTS OF 000130 jPROGRAM HALTS Figure 3-7 CPU/FP15 Sample Program 3-17 CHAPTER 4 INSTRUCTION SET 4.1 INTRODUCTION EXIT The following paragraphs describe the classes of instruction used in the FP15. Several functions are FMA CONVERSION applicable to many classes; these wi! I be described first. The flow diagrams of the instructions specify where these functions occur, if applicable. These functions include: converting negative integers to NO sign and magnitude format I normalizing, and rounding. 4.2 NO CONVERTING NEGATIVE INTEGERS TO SIGN AND MAGNITUDE FORMAT When a 2's complement negative integer is loaded into the FMA during the OPAND cycle, it is converted to sign and magnitude format during the EXP cycle. Two's complement positive integers are already in sign and magnitude format and require no conversion. If the instruction requires no memory reference, the number in the FMA is in sign and magnitude format. Two's complementing the number again is undesirable, since it would convert the sign and magnitude number back to a 2's complement number. DONE 15-0576 For FMA conversion during TS01 of the EXP cycler FMA is complemented as a result of COMP MA Figure 4-1 Converting Negative Integers to Sign and Magnitude (see Figure 4-1). This signal takes the l's complement of the integer in the FMA and puts it on the ALU bus. During PH03*TS01, the number on the ALU bus is strobed back into the FMA. In EXP*TS02, INCB is generated which puts the contents of the FMB plus one on the ALU bus. This number is strobed back to the FMB during PH03*TS02. The number now in the FMB is the 2's comple- When the FP15 sequences to TS02 of the EXP cycle, INCA is generated; this puts the contents of the ment of the number originally contained there and is a negative number in sign and magnitude format. FMA plus one on the ALU bus. During PH03*TS02, INCA-P is generated, and the output of the ALU bus is strobed back to the FMA. The number now in the FMA is the 2's complement of the number initially contained there and is a negative number in sign and magnitude format. 4.3 NORMALIZE Normalizing a mantissa in the FMA consists of left-shifting the FMA until the most significant bit is a For FMB conversion, during TS01 of the EXP cycle, the FMB is complemented as a result of COMP MB. 1, which eliminates all leading zeros. For every left-shift of the FMA, the EPA is decremented. If This signal takes the l's complement of the integer in the FMB and puts it on the ALU bus. In the specified instruction is a Store or Divide, and normalizing is requested, the mantissa is normalized PH03*TS01, COMP MB P is generated which strobes the l's complement integer back into the FMB. during FUN*TSOI. Otherwise, the mantissa is normalized in NOR*TS01. 4-1 4.3.1 Normalization (Except Store, Divide, or Reverse Divide) If the specified instruction is not a Store or Divide type instruction, and normalizing is requested, the normalizing process occurs in NOR*TS01. Prior to this time, the shift counter is loaded with 428 (at FUN*TS03*PH03 Time). The NOR SEL signal sets up the conditions for the NORM P pulses that actually cause the normalizing. For each NORM P pulse, the FMA is shifted left and the EPA and shift counters are decremented. If the instruction specified is not a Multiply, zeros are shifted into the least significant positions of the FMA. If a Multiply instruction is specified, the NORM P pulses shift the FMQ left as well as the FMA. As a result, FMQ 01 is shifted into FMA 35 and 0 is shifted into A second round can occur during floating-point addition if the addition produced a carry out of the ALU (see Figure 4-2). When this occurs, the FMA is right-shifted and the EPA is incremented, putting the correct number back into the FMA. The bit shifted out of the least significant bit of the FMA is shifted into a guard bit and, if rounding is requested, +1 is added to the least significant bit of the FMA. The following example shows two numbers being added resulting in a carry. The EPA is incremented and the FMA right-shifted. Since the least significant bit of the FMA is a 1, the guard bit is set. When rounding is requested, +1 is added to the least significant bit of the FMA. FMQ 35. Example: When FMA 01 goes to 1 (NORM DONE), or when the shift counter produces a borrow (SC BORROW), normalizing is terminated and the logic on FP09 is reset to allow the phases and time states to continue. . 101 + .110 = ? Three-bit registers assumed for simplicity. 2 2 ADDITION A borrow indicates that normalization is not possible because the number is O. Refer to Drawings FMB FMA D-FD-FP15-0-58 and D-FD-FP15-0-59 for a detailed flow of normalize. I I I 1 I0 0 4.3.2 Store, Divide, or Reverse Divide When a Store or Divide instruction is specified, and normalizing is requested, a NOR SEL signal • (FP40) is generated that enables NORM P to left-shift the FMA and to decrement the EPA for each left-shift (refer to Drawing D-FD-FP15-0-57). The FP15 sequences to PH03*TSOl of the FUN cycle and remains "stopped" in this state until normalizing is completed. Before generating NORM P, the shift counter is loaded with octal 43 (35 ) if the specified instruc10 tion is a Divide or Reverse Divide, and is loaded with 428 (34 ) if the specified instruction is a Store. 10 Carry1 I I I I 0 ~~"G01~rdl and increment For each NORM P pulse, the FMA is shifted left and both the EPA and shift counter are decremented. Zeros are shifted into the least significant positions of the FMA. Normalizing is complete when ROUNDING FMA 01 goes to a 1 (NORM DONE), or when the shift counter produces a borrow (SC BORROW). In either case, the logic on FP09 is "reset" and the phases and time states are allowed to continue. 4.4 ROUNDING The FP15 can specify rounded or unrounded arithmetic by IR14 of the instruction word. During alignment of the mantissas in floating-point addition, either the FMA or FMB (depending on which has the smaller exponent) is shifted right. Bits shifted out of either register are shifted into the o = .110x2 1 FMQ. If rounding is requested, and FMQ 01 is a 1, +1 is added to the least significant bit of the FMA or FMB, whichever was being shifted. 4-2 Figure 4-2 Guard Bit and Rounding EPA erty of OI,d.~1 EQuipment CorPOr_tlon and ~III not be reproducedorcopMldofl,l~.nwf'l(JleOtlnpart ... th. NIl' for tt\e manufactur. Df gil 0'1' lWni Wltt10ut wntun perml:lo5lOI"l. INITIALL Y IN THE IF P I I FUN (Il H ~UN .4 5 6 7 8 ThIS dr .... 'r.1 and s!)eCI#!Clltioni. h..... n, Ire 1h. prop· 3 C. YC LE r-=-:::-::-:---:F"=-:-'X:;----, NOR CYCLE TS -* THLS I::; ACTUALLY A 0+8 ... 1 c,OMPLE,ING THE 2'5 COMPLEMeNT FORMATJNG - TilE t>5 C'OMPt..t:M~/yT W.<i>5 PERFORM~j) IN THE F(/N CYCt.6f. DURING Z/vTt7.G£A. 57ZN'?E INSmU(!T.?O#S, Tile FM.19 COIVTI9INS T/l6" /YON COMP~E/U:/t'TEj) RES(/t..T ""'AID TilE F.MB CONT.I9ZNS 7#E D D 2'5 COMPt.EMe#TcD /fe-SUiT A"'B NO~ 3 H FP35 Sn>RE RND c TO WRITE c CYCLE: o AUA I YES W/-/ICH PLACEt;, 4()() eN aSIDE OF 19c.u NO IF ROUNDING CARRY FMI! RT B CAUSE~ A PROM MSB, TIIGN SHTO Of EPI'I INC I'l. MMC FMo.r.s ALSO LEFT SHrFTED A& !'iN FMA EXTENSI. TO WRxn: CYCLE FIRST USED ON OPTIONIMODEL B ITEM NO. DESCRIPTION QTY. PARTS LIST mamaDmD •• ., ~~!!~..~.~a~~~~ UNLESS OTHERWISE SPECIFIED E QUI PM E N T > '" A CYCLE FLOW TSI .xx -.02 0 .X z - .1 l'l z <t: I u MATERIAL " FINISH A NUMBER J: u ORDI02-S 8 7 6 5 3 SCALE SHEET OF 2 4-3 8 7 4 5 6 3 Th 5 dra .... '''s a"d spec·f,ca1ions;, hereu", are th't prop !""1'y c.1 D,c:!t;I!H EQUipment CcrpOrat,on and shill not be ",.prcx:l'Jceci or ccpu'!d or used In w!'lole or 1'1 pari as tl e O.lS15 for tfJe manufacture or sal!.' of ,tems without NORTS2. D D YE"S l-----------""""FFPP'l3;:-:o,~c:::NN~~~¢1iLL:-1 ~~i{ 1~9/fA"J~~ 1"Y~·iPDt~~SB ,S~r ~;,/'J~~~) FOR MULTI PL '( OR DIVIOE OR FIX FP/3 IR,"t (¢) FP-Io RN D c c CHECK OF FM A PHASE 3 (I) #' FLOATIN G FP+¢ FIX + FLO"', POINT INSTRUCTION FP'/J"I PHASE. ..3 (I) IFP2'f - BRANC H -+ IN, jF'P/I NOR B rp¢>"1 TS :2 (I) H~ PH ~3 (I) H J (I) INOR T2 FPTB IFP;'I A-BI- J 1r::'-:-;;r;:-;P;-;'-;I-;C-;S;:-:T;:;O~R~El---~"'~--I FPII NQR (I~ HI ~ C ON /FP32 HJ P3 STOl'<.E IFP'I EX IT NORJ F'P32, I B J ~ IFP32 A ~ERO"" ~ ITEM DESCRtPl10N NO. ORAWIN UftL£SS OTHERWISE SPECIfiED ~ DlMIENIION IN tNCHD A ...,...... g 2:.GOI TOLEIWICES RUCT10HS ANGUS :t: 11M :!:: D"'Xr fIfW. IUllfAC[ ClUAIJTY '"'"Z < CYCLE I It£MOY[ 1lI_'" AND ."UK !lHAltp DlIIINf]11'S F LOyV MATERIAl J: U " J: U DEC FO~M NO ORO 100 4-4 Of SHEET 8 7 6 5 4 3 2 5 6 7 3 4 FUN 'DLV~ )/( MQZ ~ q) 75! IFP3S F'P3lJ FPS2 I""P.!12 D FMA It FMQ ARE. SHIFTED LEFT M)(.£lj FP33 Sort ,$1, MODE y: .... n~U eus FP38 FP39 FP.3¢J D )( PH.ASE 2 MQ7.. P IFP38 FP2.7 ,cP3¢ I FP32 f F 43 FP3¢ , - - - - ' - - - - - - , F F Ii FP4-.3 BRANC~+I'NT IFP/! T3 c ~ ~ I .p, FP¢9 FP.39 FP43 .en; FP.38 C FP32. FP41/J TO JNTERRUPT FLOW r---~"-------,FP4 4 ~ L() ~ I ,---~~-~-. ;~ FP38 ~ I ID , - - - - - ' ' - - - - - - , FI" 32 B n: lL. ~o SlL. ~Q FP.39 , - - - - - ' ' ' - - - - - - , FP.3 9 ,---~"--~--. ,------->"-------, FP 32 FP32. FP39 B , - - - - " ' - - - - - - , F P 33 ,-------'''-------, F P 32 I ~ ~I, DESCRIPTION PDPI5 PART NO ITEM NO. PARTS LIST UNLESS OTHERWI E SPECIFIED UNLESS OTHERWISE SPECIFIED DfMENSIDN IN INCHES A TOLERANCES DECIMALS ~ 121 .;;1 & INTEGER DIV FUN :YC LE CORNERS MATERIAL k FINISH It) DflDIOZII. ANGLES ::: 0"30' RE~;N;~R~~R=~E B~~~~r;H'p I~ DEC ,QlH,.. NO FRACTIONS :: l/GC. .005 8 7 6 5 4 3 / / SCALE SHEET OF 2 4-5 If the +1 added to the FMA causes a carry out of the ALU, the FMA is right-shifted and the EPA is in- MULTIPLY OR DIVIDE OR FIX ADD OR SUBTRACT FP12(NOR .. T1).FP40(FLOAT + FIX) FP36 ADD+SUB SEL cremented. LOAD JEA FP31 MPY+DIV+ FIX For floating-point Multiplication and Division, rounding can occur. If the multiplication or Division FMC 01 (1) operation causes FMQ 01 to go to a 1, the guard bit is set. With this bit set, and rounding requested, BMB BIT 19 (1) +1 is added to the least significant bit of the FMA. For a Fix instruction, bits in the FMA and FMQ are right-shifted. If, upon termination of the shifting process, FMQ 01 is set, the guard bit is set. A rounding request will then cause +1 to be added to the least significant bit of the FMA. 4.5 GUARD BIT The guard bit is used to determine whether rounding should occur if rounding is requested (see Figure 15-0580 4-3). This bit is set under the following conditions: a. During floating-point Addition, when a carry is produced out of the ALU, the FMA is right-shifted and, if the least significant bit of the FMA is a 1, the guard bit is set. b. During floating-point multiplication and division, if FMQ 01 is a 1 after the multiplication or division operation, the guard bit is set. c. During a Fix instruction, upon completion of the shifting process, if FMQ 01 is a 1, the guard bit is set. Figure 4-3 Flow Diagram for Setting Guard EPA/A SIGN/FMA are transferred to the EPBjB SIGN/FMB during the FETCH cycle and the Reverse Subtract instruction loads the minuend into the EPA/A SIGN/FMA. 4.6.1 EXP Cycle The first function performed in the EXP cycle for floating-point addition or subtraction is a check to d. The contents of the guard bit are saved in bit 01 of the JEA word on a Store JEA instruction . determine if the specified instruction is an Add, Subtract, or Reverse Subtract (see Drawing e. The Load JEA instruction restores the guard bit to a 1 if bit 01 of the JEA operand fetched from memory is set. the FMA and 0 indicates that the FMB is disabled from the ALU. A test is now made to determine if D-FD-FP15-0-52). If it is a Reverse Subtract, A-0-1 is transferred to the ALU bus where A represents A=B; if so, the FMA is known to be 0 and STOP AUGN (1) is set. If the ,specified instruction is Add When the next instruction is specified (provided it is not a Floating-Point Test, Load JEA, Store JEA, or Subtract, 0-B-1 is transferred to the ALU bus, where 0 indicates that the FMA is disabled from the or Branch), the guard bit is cleared. ALU and B represents the FMB. A test is made to determine if A=B; if it does, the FMB must be equal to 0 and STOP ALIGN (1) is set. In effect, then, no alignment will occur for a zero FMA or zero FMB and the FUN cycle is initiated. Also, if the difference between the EPA and EPB is greater than 4.6 FLOATING-POINT ADDITION AND SUBTRACTION and double-precision floating-point numbers. The manner in which these arithmetic operations are 42 , STOP AUGN (1) is generated, no alignment occurs, and the FUN cycle is initiated. Howev~r, 8 if the FMA and FMB are non-zero and the difference between the EPA and EPB is less than 42 , align8 ment is initiated. EPA-EPB-l is placed on the ALU bus and, if the exponents are equal, the mantissas implemented is similar and will be described, with differences pointed out as they occur. are already aligned and the FUN cycle is initiated. In floating-point subtraction, the minuend is loaded into the EPA/A SIGN/FMA via the Load instruc- If the exponents are not equal, the sign of the result of EPA-EPB is determined. A negative sign tion and the subtrahend is loaded into the EPB/B SIGN/FMB via the subtract instruction. If, as a re- (ADD1BH) indicates that the EPB is greater than the EPA and the FMA must be aligned. A positive sult of some previous computation, the proposed subtrahend for the next subtraction is in the FMA, a sign (ADD18L) indicates that the EPA is larger than the EPB and the FMB must be aligned. At this Reverse Subtract instruction can be issued. In this event, the contents (subtrahend) of the point, the shift counter is loaded with EPA-EPB-1, if the EPA is larger than the EPB or with EPA-EPB-l The FP15 can perform floating-point addition, subtraction, and reverse subtraction for both single- 4-6 6 7 8 4 5 IFP" EX P (I) Tb., OUlwlnl .nd lJ*:ifi9tioM. Mrwill.. art tIM ptOj:I· etty at OiIltal EQ\lII:wntlltCorporation and shall not 1M rtProducldorcopiedQl''''',n~Or,nPlrt.' r-----------------------------------------------~I~N~T~C~G~EN~R~O-<~ tl'1. ba.islortIMI m.nu'ld\.Irtor .... of itWm. withOUt w[llWn poIrtnlilion. FORM!l1 FORMA, I 3 I 14LL OTHi::r:. CONOITI?/yS FLOATING r-:-._:---:--I7-=-=----,POI N T FOR M 1'1 T I o o J , --'-N'-'o'-<:A NO c r DURING THE OPAND IC"'-CLE OF"~IOD OR SuB r-____________ THE FMB rs LOADED WIT/..I THE ARGUMENT FOR REV THE sva FMA I5 LOADED I FP37 5 A 1-1 IS SMALLER iHAN EP8 FMA SELECTED FP37 EPA EPB IS 5MA LLE THAN EPA FM8 SELECTED !=OR !=OR SHlFTING 58 H SHIFTING ;:P37 STOP ALIGN WILL BE NO SET IF FP'32 A Z€RO OR FP.' B ZERO IS SET OR:;:F EPA-£PB>3$IO TSall ~----~PH¢3------~ c c FMB COvNTER, SHIFT RIGHT) PM 6 'Os -FMQ ¢/ TS¢2. C\J 1.0 PH (63 TS¢2 "I YES PHr/J3 ~~ ~ I 1.0 B CL I.L.. cO 8LL ~Q TO PUN eye LE B DESCRIPTION PART NO ITEM NO. PARTS LIST > UNLES '" UNLESS OTHERWISE SPECIFIED OTHERWI E SPECIFIED A DECIMA.lS :!:: JlO5 ~ FRACTIONS ::!: 1/64 "'DIIIDD~D E QUI P MEN T If~~~~--~~~~~~f·---~-----~-·---~-·?-N-~-~-~O-.,-~-~-;-W~-~-.N_,~ A I; TOLERANCES TITLE ANGLES :!: 0"]0' ADD) S~ 3)~=- V SUB R[MO::N:~R~~R::OE 8~~~T;Hip w . "z CORH£AS MATERIAL :t: U ~F~IN~IS~H~------------~~~LE~------------~D '"<.> :I: DEC }.QRM NO ORD 10;" SHEET 8 7 6 5 3 OF 2 4-7 and carry insert (EPA-EPB+l-1) if the EPB is Jarger than the EPA. This is to set up the shift counter so to -1 and the second to all zeros, which is detected as an SC CARRY. This indicates termination of the proper amount of shifts are performed to align the exponents. mantissa alignment. To determine whether the FMA or FMB is to be selected for shifting, the signs of EPA and EPB are ex- If the FMB is selected for shifting as a result of EPB being smaller than EPA, SA will be low and the amined, in addition to the sign (ADD18) of the result of EPA-EPB. The three cases, in which the FMA shift counter is loaded with EPA-EPB-1. This quantity is a positive number and the counter is decre- is selected for shifting, are listed below: mented for each shift until an SC BORROW is detected; this is why EPA-EPB-l is required rather than a. is loaded with EPA-EPB-l or 1. The first shi ft of the FMB decrements the counter to zero, and the Example: second shift of the FMB decrements the counter to all ones, which is detected as SC BORROW to con- +3 -(+5) -2 b. EPA EPB -5 -(-3) -2 clude the alignment. EPA-EPB Negative EPA, negative EPB, and a negative sign for EPA-EPB. In this case, EPA is smaller (more negative) than EPB in order for a negative sign to occur. Example: c. EPA-EPB. For example, assume that the EPA contains +3 and the EPB contains + 1. The shift counter Positive EPA, positive EPB, and a negative sign as a result of EPA-EPB. With both quantities positive and a negative result for EPA-EPB, the EPA is smaller than the EPB. EPA EPB Since the exponent associated with the mantissa not being shifted is the true exponent of the result, it is necessary to load the EPB into the EPA, if the FMA was selected for shifting. While alignment is taking place, the time state generator is disabled. On completing the alignment process, the time state generator is restarted, and the FUN cycle is initiated. EPA-EPB EPA negative and EPB positive. The sign in this case is always negative indicating that the EPB is larger (more positive) than the EPA. 4.6.2 Example: In the FUN cycle, the A side of the AlU is disabled if the FMA is 0 and the B side of the AlU is dis- -5 -(+2) -7 EPA EPB EPA-EPB FUN Cycle , 10 the side of the AlU associated with the smaller exponent is disabled. This prevents additional shifting abled if the FMB is 0 (see Drawing FP15-0-53). When the EPA differs from the EPB by more than 35 For all other possibilities, the FMB is selected for shifting. Up to this point, the FMA and FMB have and is time saving. For example, if EPB is greater than EPA by 1000, EPA has to be shifted 1000 been examined to see if either is 0; the shift counter has been loaded with EPA-EPB (if EPA < EPB) or times and is, thus, a very small number compared to EPB. In fact, the number is so relatively small it EPA-EPB-1 (if EPA> EPB) to provide an accurate count of the number of shifts required to align expo- can be considered O. Consequently, the B side of the AlU is disabled, the 1000 shifts are prevented, nents; and the mantissa register associated with the smaller exponent has been selected for shifting. and the time necessary to perform these shifts is saved. If STOP ALIGN is set, this indicates that mantissa alignment is not necessary as a result of one of the The following two rules of addition and subtraction with respect to the sign are used. following conditions: a. b. c. Zero FMA Zero FMB, or EPA-EPB > 35 a. During addition, quantities with like signs are added, whi Ie quantities with unlike signs are subtracted. Examples: 10 -5 +5 +(+2) +(+2) +7 -3 If STOP ALIGN is not set, alignment is performed, and either the FMA or FMB is selected for shifting. NOTE The mantissa with the smaller exponent is selected for shifting. If the EPA is less than the EPB, SA H In the example on the right the two quantities are subtracted although the operation specified is addition. is generated and the FMA is shifted. The shift counter is loaded with EPA-EPB, which wi II be a negative number in this case. The counter wi II be incremented with each shift until an SC CARRY is detected (counter going from all ones to all zeros). For example, if the EPA contained +2 and the EPB contained +4, the shift counter is loaded with -2. The first shift of the FMA increments the counter b. During subtraction, quantities with like signs are subtracted, while quantities with unlike signs are added. (continued on page 4-10) 4-8 £~- 0 -~Id 3 5 6 7 8 ~3B~nN Thi, drawllll,,1Id ~ MNIIn. ..,. .... JIftIpo tft)'01 0WtaI EQuipntnt~-.onand .... notbi reptOd!olC«fCM'copitclorUMCIln'llholtorln,.rtn !he Nsis far IhI rnaNectafl or U" Of iWnI wilhaut wriftln pennJUioa. IF T#ERE W,09S NO OVcI?F~OW T#~ NO nEW, T IS Two'S o o COMI"'t.I!!ME/Vr€D NO YES FC"'33 NO FP3"3 AUS H :HE A SIDE (FMA) OF7lf. ALU WILL 8£ A 1 E 8 SIDE (FMS)tFTI-i ;CtL (; WILL BE 1"1 ~OGIc..AI.. ZERO IHROUGH '-HE ,cUN eye. LE LOGICAL ZERO THROt)6H THE FI..)N eye LE IS 1$1 PH t/ 3 NO c c TO NRD +1 INT eYc-!..: L WIt.L Be 7Rvc w~/V A'OuNDlM lis NOT'i'EQvE'::'TED Q.li" ZF FMQ (2l/ (~) OFf IF sst.. B B TO NOR CYCLIO QTY. DESCRIPTION PART NO. ITEM NO. PARTS LIST > '" A 0 z '-' z "" MATERIAL I U FINISH '"I u SCALE SHEET 8 7 6 5 3 OF 2 4-9 b. Examples: (cont) +5 -(+2) +5 -(-2) Example: -3 (with overflow) -(-6) +3 +7 +3 Sign 1 1 o0 1 1 FMA FMB o1 1 0 1 1 0 1 t NOTE Overflow I 2's complement result, complement sign In the example on the right the two quantities are added although the operation specified is subtraction. o t Referring to the flow diagram again, quantities with unlike signs during addition and like signs during Sign complemented o0 1 1 = +3 t 2's complement of result subtraction are actually subtracted. Thus A-B-1 is put on the ALU bus for these cases. Conversely, quantities with like signs during addition and unlike signs during subtraction are actually added. In If rounding is not requested or FMQ 01 is a 0, 1 is added to the FMA to compensate for the incorrect these cases, A+B is put on the ALU bus. result. The result is then loaded into the FMA. 4.6.3 4.6.4 Processing of Subtracted Quantities Processing of Added Quantities If the quantities are being subtracted and the FMB contains the mantissa with the smaller exponent, it When two quantities are to be added (addition with like signs or subtraction with unlike signs), A+B is must be determined if rounding has been requested and whether FMQ 01 is a 1. I f both conditions are put on the ALU bus as described previously. If FMQ 01 is a 1 and rounding is requested, +1 is added true, A-B-1 is put on the ALU bus. An additional 1 is subtracted to account for the rounding of the to the least significant bit of the FMA. FMB (A-B-1 =A-[B+l]). This is accomplished by putting A-B-1 on the ALU bus rather than just A-B. If rounding has not been requested, or FMQ 01 is a 0, a carry insert of +1 is added and A-B-1+1, or simply A-B, is put on the ALU bus. This quantity, in both cases, represents the result that is loaded into the FMA. However, if overflow occurs, it indicates a wrong assumption was made and the result in the FMA is incorrect. This is explained in detail in the following paragraphs. A check is now made for an overflow condition. A floating-point overflow causes a signal designated GRT to be issued. The FMA is right-shifted to transfer the overflowed bit back into the FMA; the EPA is incremented to compensate for the shift. ADD 35 is examined prior to the right-shift--if this bit is a 1, FMQ 01 becomes a 1 after the right-shift and the guard bit is set. The FMA is now loaded with the results of A+B on the ALU bus. If no overflow occurs, the FMA is not right-shifted, the guard bit is not set, the EPA is not incremented, and the FMA is loaded directly with A+B from the ALU 4.6.3.1 Overflow - For quantities that are actually subtracted (addition with unlike signs or subtrac- bus. tion with like signs), the sign of the result is assumed to be the same sign as in the FMA. If no overflow occurs, the sign of the result is correct. If overflow occurs, it indicates an incorrect sign has been assumed. If this occurs, the assumed sign is complemented and the actual result is 2's comple- 4.6.4. 1 Overflow Interrupt Due to Addition or Subtraction - If the addition or subtraction operation mented. Two examples follow--the first shows that the assumed sign is correct, the second shows that results in an exponent greater than 217_1 (3m77a)' a temporary overflow occurs. The result contained in the EPA, after the overflow, is no longer the true result. However, the true result can be the assumed sign is incorrect. calculated by adding the contents of the EPA, after the overflow, to 217. The contents of Example: (no overflow) Sign +6 o -3 1 +3 o o1 10 o0 1 1 o0 1 1 A SIGN/FMA are unchanged. FMA FMB = +3 tNo overflow, sign correct, res!)! t correct 4-10 4.6.4.2 Overflow Interrupt Due to Rounding - If rounding is requested, and the rounding operation produces a carry out of the ALU, the FMA is right-shifted and the EPA is incremented. If the EPA ,.nn"nins 177 w , .7 778 ... nd ic incremented I an ,... .....rfl,...w ;........ rr" ..... """c"'" vii ... a ... ...1 .. h... :n+e ..r.·p+ "'y,.l e is : ... :+:a+ ... ...1 _ _111_1.1 ~II .,... • I ........... __ •• , . _ . _ , . . . . . . . . ,... 1'- ........ II' I ..., I ,.,. _I • 11111 . . . . . . """. 4.6.4.3 Underflow Interrupt Due to Normalizing - Normalizing is accomplished by left-shifting the FMA and decrementing the EPA for each left-shift. If, during this process, the EPA contains 4000008 cmd is decremented to 377m , an underflow interrupt occurs. ihe contents of the A SIGNiFMA are 8 18 correct. The EPA no longer contains the true result; however, this can be obtained by adding _2 to the contents of the EPA after the underflow occurs. Example: EPA 40000°8 -1 Resutt left in EPA 18 True result = -2 + 377m8 377777 • 8 It is possible for the underflow to eliminate the condition that causes the temporary overflow during the addition or subtraction. If underflow does not remove this condition, the overflow interrupt becomes a permanent interrupt and enters an interrupt cycle (see Paragraphs 3.8 and 3.9). 4-11 4.7 INTEGER ADD AND SUBTRACT The FP1S can perform addition, subtraction, and reverse subtraction using either single-precision or extended-precision data formats. Addition, subtraction, and reverse subtraction are performed in a similar manner and will be explained using Drawings D-FD-FP1S-0-S2 and D-FD-FP1S-0-S3 for reference. One of the last things performed in integer addition or subtraction is to determine the sign of the result. This is accomplished by assuming the previous sign of the FMA is correct. If so, there is no carry generated out of the ALU, and the addition or subtraction of the FMA or FMB is done in the normal manner. The A SIGN represents the sign of the result and the contents of the FMA yield the true number. However, if a carry occurs out of the ALU, this indicates that the sign has been assumed incorrectly. If this is the case, the existing contents of the FMA are 2's complemented and the A SIGN is complemented. Several simplified examples follow that illustrate this concept. Note that a bad assumption 4.7 . 1 EXP Cycle can only be made when the ALU is specified to do an A-B function. In the EXP cycle, negative integers (stored in memory in 2's complement format) are converted to sign and magnitude format. For example, if the specified instruction is a Load or Reverse Subtract with a Example: Bad Assumption (Integer Add) negative argument, the argument is converted to sign and magnitude format and loaded into the FMA. If the instruction is an Add or Subtract I with a negative argument I the argument is converted to sign A SIGN QJ B SIGN ~+ 0 0 0 and magnitude format and loaded into the FMB. The negative integers are converted from 2's complement to sign and magnitude format by l's complementing and incrementing the 2's complement integer. 0 0 FMA -2 FMB +(5 ) 8 Result (incorrect) ? 8 ALU Performing A-B Function For example, the number -58 in 2's complement format is 1.011. One's complementing and incrementing this number yields 1. 101, which represents -S8 in sign and magnitude format. 1 I t Bad assumption (ADD 00 H) (2's complement FMA) 4.7.2 FUN Cycle In the FUN cycle, the signs of the operands are compared. If the specified operation is an integer (Complement A SIGN) A SIGN ~ Result +3 8 (correct) 0 add and the signs are unlike or an integer subtract and the signs are alike, the ALU is selected for A-B-l operation (a straight A-B function is not possible). The -1 is compensated for by a carry insert which puts +1 in the ALU bus along with the contents of the FMA. Actually, the ALU performs an A-B-l+1 function which reduces to A-B. A represents the FMA, and B represents the FMB. The FMB is subtracted from the FMA and the result is loaded into the FMA. If the specified operation is an integer add and the signs are alike or an integer subtract and the signs are unlike, the ALU is selected to perform an A+B function which really adds the contents of the FMA to the FMB and puts the results into the FMA. If the two quantities are positive and added together, it is possible for an integer overflow to occur. Example: Good Assumption (Integer Add) A SIGN B SIGN QJ QJ QJ + 0 I 0 0 Good assumption (ADD 00 L) This is detected as a carry out of the ALU (ADD 00 high). If this occurs, the FP15 goes into an inter- (Do not 2's complement FMA) rupt cycle. (Do not complement A SIGN) 4-12 o 0 FMA -2 8 ALU Performing A+B Function 0 Result -3 (correct) 8 the EXP and FUN cycles, operation is similar since the subtrahend is in the FMA and the minuend is in Example: Bad Assumption (Integer Subtract) A SIGN B SIGN the FMB for both integer reverse subtraction and integer subtraction. ~ FMA 0 0 0 +5 8 FMB -(+6 ) 8 ALU Performing A-B Function 35 However, the correct result can be computed by adding 2 to the existing contents of the FMA after the interrupt. The A SIGN remains unchanged. Example: D 1 Result (i ncorrect) t ? Bad assumption (ADD 00 H) (2's complement FMA) (Complement A SIGN) [!] 0 Result -1 8 (correct) 0 4.8 A SIGN (0) FMA 3000078 B SiGN (0) FMB 07m7 8 A SIGN (1) 400006 Result left in FMA 35 Correct Result = 2 + 000006 8 8 000006 8 FLOATING-POINT AND INTEGER MULTIPLY In order to multiply two numbers in floating-point format, the following basic functions are performed: calculation of exponent, determination of the sign of the product, and multiplication of the mantissas. Example: Good Assumption (Integer Subtract) A SIGN These are described in the following paragraphs. [i] 0 B SIGN G 0 [!] 0 0 t 0 FMA -6 8 FMB -(+1 ) 8 ALU Performing A+B Functi on 4.8.1 Calculation of Exponents During the EXP cycle, the contents of the EPA and EPB are gated into the ALU where the EPA is added to the EPB (see Figure 4-5). The sum is strobed back into the EPA. In floating-point multiplication -7 8 Good assumption (ADD 00 L) operations, recall that the exponents are added while the mantissas are multiplied. In integer multiplication, there is no exponent calculation. (Do not 2's complement FMA) (Do not comp Iement A SI G N) 4.8.2 Determining Sign of Product The sign of the product is determined in the EXP cycle before the mantissas are multiplied. If the multiplier and multiplicand have the same sign, the sign of the product is positive. If the signs differ, 4.7.3 Overflow the resultant sign af the product is negative. In either case, the resultant sign is strobed into the 35 If the addition or subtraction operation results in a magnitude greater than 2 -1, an overflow inter- A SIGN. Negative integers are converted to sign and magnitude format; positive integers are already rupt will occur. The result contained in the FMA, after the overflow, is no longer the correct result. in sign and magnitude format. 4.8.3 4.7.4 Integer Reverse Subtraction Multiplication of the Mantissas The mantissas are multiplied by a series of additions and right-shifts of the FMA during the FUN cycle. Integer reverse subtraction and integer subtraction are simi lar to each other except for the fact that, in Before the actual multiplication occurs, however, the shift counter is preloaded with a constant of integer reverse subtraction, the contents of the FMA are transferred to the FMB during the FETCH cycle 428 (34 and the FMA is loaded with the subtrahend when the integer reverse subtraction is specified. During ), the contents of the FMA are transferred to the FMQ, and the FMA is then cleared. The 10 rules for multiplication of the mantissas are: 4-13 1. 2. 3. Test the least significant bit of the FMQ. a. If FMQ 35 is a 1, add the contents of the FMB to the contents of the FMA and shift and load the FMA and shift the FMQ right as one 70-bit register. b. If FMQ 35 is a 0, do not load the FMA with A+B, but merely shift the FMA and FMQ right. EXP CYCLE NOTE' No EXP cycle for Integer Multiply. Decrement the shift counter and test for a borrow. a. If a borrow is detected, the multiplication is complete. b. If no borrow is detected, repeat the fj rst step. After a borrow has been detected, the multiplication is complete if it is a floatingpoint multiply. If it is an integer multiply, the contents of the FMA and FMQ are swapped and the multipl ication is complete. FUN CYCLE NOTE' Figure 4-4 shows a simplified flow diagram of the above rules. For floating-point multiplication, the most significant bits of the product are retained in the FMA. For integer multiplication, as a result of Shift counter looded with 3410' However, 3510 counts will occur before borrow is produced, ' - - _ - - , ._ _.... DONE the swap, however, the most significant bits of the product are retained in the FMQ. NOTE: Floating point multiplymost significant bits-FMA 4.8.4 Integer multiplyrTlOSt sign if icont bits-FMO Multiply Algorithm In order to depict the multiply algorithm, Figure 4-5 Shows a simplified example where the number 5 (101 ) is to be multiplied by the number 4 (100 ). EPA and EPB are both equal to 3, so in the final 2 2 product, the binary number wi II be shifted six places to the right. Initially, the shift counter is loaded with 2, the FMA is transferred to the FMQ, and the FMA is cleared. NOTE The shift counter is loaded with one less than the number of stages in the FMQ. Since the example uses a three-stage FMQ, a count of 2 is preloaded into the shift counter. In the case of the FP1S, the shift counter is loaded with 428 (34 10), actually 35 10 shifts may occur before a borrow is produced. NO In the first step, the least significant bit of the FMQ is tested. Since it is a 1, the contents of the YES FMB are added to the contents of the FMA and the entire FMA and FMQ are shifted right as one 6-bit register. Each time a shift occurs, the shift counter is decremented. The shift counter now contains a count of 1. In Step 2, the least significant bit of the FMQ is tested again. Since it is a 0 in this case, the FMA and FMQ are merely shifted right. The shift counter is again decremented (this time to 00). 4-14 15-0581 Figure 4-4 Multiply Simplified Flow Diagram Initial Conditions: 10<l2 In Step 3, the least significant bit of the FMQ is tested again and is a 1. Consequently, the contents x 101 2 = ? 410 x of the FMB are added to the contents of the FMA and the FMA and FMQ are shifted right. The shift 510 = 20 10 counter is again decremented to ii, indicating a borrow condition. This signifies that the multiplica- EPA = 3 EPB = 3 FMB = 100 FMA = 101 FMQ = 000 tion is complete and the product is .010100 x 26. This number is 010100. in binary after the binary point has been shifted six places to the right. After Swap If this were an integer multiply, the FM.A end FMQ would be swapped. In the example presented, a 1 FMA = 000 FMQ = 101 is contained in the FMQ after the swap. For integer multiply, any 1 contained in the FMQ after the swap r~sults in an overflow interrupt. Therefore, a product up to a maximum of 35 bits in length After Swap FMA = 000 FMQ = 101 (length of the FMA) is possible in the FP15 for integer Multiplication. Drawings D-FD-FP15-0-54 and FMA FMQ ~, A D-FD-FP15-0-55 represent flow diagrams of multiplication in the EXP and FUN cycles, respectively. Step 1 a Test least significant bit (LSB of FMQ) If i, add FMB to FMA FMB FMA I Ia Ia I1 Ia I I FMA I and I Ia I Decrement Shift Counter Ia Step 2 FMQ 01' l'tI'aI'I~~Q and Shift FMA and FMQ right a Shift Counter I Sh ift Counter I i i I i i I Test LSB of FMQ FMA I 0 I 1 I a I 0 I 1 I 0 I FMQ If 0, shift FMA and FMQ right FMA !0 and (o't, ~I'oI'2hMQ I ° I I Shift Counter Decrement Shift Counter °I° Sh ift Counter Step 3 o Test LSB of FMQ If 1, add FMB to FMA + o ° o -----L.._0----L-_O--J L-I and Shift FMA and FMQ right and o Decrement Sh i ft Counter ° SC Borrow EPA + EPB = 3 + 3 = 6 Multiply Complete 6 Answer = .010100 x 2 = 10100 = 24 8 2 Figure 4-5 = 20 10 Multiply Algorithm 4-15 4.8.5 Floating-Point Overflow It is possible that this temporary underflow can be eliminated during the NOR cycle if rounding is re- The following paragraphs describe the interrupt exceptions which can occur during floating-point mul- quested. This is possible only if the EPA just underflowed, since rounding can only increment the EPA tiplication. An overflow or underflow in the EXP cycle is temporary, since it can be removed by an once and only if a carry was generated out of the ALU. If the underflow condition is not removed, an underflow or overflow, respectively, in the FUN cycle. underflow interrupt will occur at NOR*TS02. In effect, two negative quantities are added with a result too small to be shown in the register. The 4.8.5. 1 Overflow Interrupt - EXP Cycle - A temporary overflow can occur if a positive EPB is added to a positive EPA with a negative result. An example of this is: change of sign in the EPA from negative to positive is detected as an underflow. The bit (EPA 00 going from a 1 to a 0) is preserved until the NOR cycle, where it is possible for rounding, if requested, to eliminate the condition causing the interrupt. 3777778 EPA EPA 00 .. (SIGN) 0.11 111 0000018 EPB 0.00 400000 = Result 111 111 111 111 4.8.5.3 000 000 000 000 001 set, and rounding is requested, 1 is added to the least significant bit of the FMA. If this operation 1.00 000 l.SIGN 000 000 000 000 produces a carry out of the most significant stage of the AlU, the FMA is right-shifted and the EPA is Overflow Interrupt - NOR Cycle - At NOR*TS02, the guard bit is examined. If the bit is incremented. If the EPA contains 377m 8 before it is incremented, an overflow interrupt wi II occur The overflow condition is detected as a result of the sign bit (EPAOO) going from 0 to 1. It is possible that this temporary overflow can be eliminated during the NOR cycle if normalize is re- quested. Decrementing the EPA during normalize may reduce the number so that it can be contained in the EPA. If so, the temporary overflow condition is eliminated. If the condition is not removed, an and the interrupt cycle is initiated. It is possible during rounding that incrementing the EPA will remove the condition causing the tempo- rary underflow in the EXP cycle. If the condition is not removed, the interrupt flag is raised. For example, assume that the EPA contained 3m778 in the EXP cycle due to underflow and that a rounding request was made. The rounding caused a carry out of the ALU that necessitated right-shifting the overflow interrupt will occur at NOR*TS03. FMA and incrementing the EPA. Incrementing the EPA to 400000 removed the temporary underflow. 4.8.5.2 Underflow Interrupt - EXP Cycle - A temporary underflow can occur if a negative EPB is 4.8.5.4 added to a negative EPA with a positive result. An example of this is: Underflow Interrupt - NOR Cycle - If normalize is requested, it is performed during the NOR cycle for floating-point multiplication. As the mantissa is being left-shifted, the EPA is being decremented. During normalize, if the EPA should be decremented from 400000 to 377777, an under- 400000 EPA EPA 00 (SIGN) 1.00 000 400000 EPB 1.00 000 000 000 000 000 1000000 Result 10.00 000 000 000 000 000 f 4-16 ~SIGN flow interrupt wi II occur at NOR*TS03 and the interrupt cycle is initiated. This is detected as a re000 000 000 000 sult of EPA 00 going from 1 to a O. It is possible during normalize that decrementing the EPA wi II remove the condition causing the temporary overflow in the EXP cycle. If the condition is not removed, the interrupt flag is then raised. 8 6 7 5 .4 3 Th,s drlwlnlij: ancllpe<:I'Ic.atlOnS. heretn, Ire the prop- erty of Dliltal EQUIPmentCOfPOratlon And ,hall not be "epr:)d"ced. or COPied or uMd in whol4!J or In part as t'1e b .... I' forth. manulactur&orllleollttmswlthOtlt o o c c FP~3 1-+ UND SYNC. SJlVE VNDEf(FLOW FOR POSo;,IBLE llllT ERRU T IN NO • TO TO FvN CYC.LE. FUN CYCLE FP38 !CSl !,(') B 0... l..t.... :SO 8l..t.... ~a B TO FVN CYCL..E DESCRIPTION DO NOT SCAlE DRAWING UHLESS OTHERWISE SPECIFIED ~ DlMEHIION 1M INetta A TOLERANCES Il€CMIIoLI ",.cos g =0"30" MATERIAl. '"::c AHISH u u 8 7 6 5 .4 3 IP M E NT rvUL ~ JI\! EXP CYCLE CORNERS ::c ORO 100 ANGI.U ",1/64 ItD-DU-OEQU NO. ~~~~~~~~~mD~F·~~~~~~gu~~:~·~~~~~~~·MO~··~~~·~~~~~~~~~~A '"<01. SUllfACf QUALITY / IIDIOft . . . . . AND -.rAA ....... ...'"Z DEC FORM NO fIW:TIDIIS ITEM PAAT NO. PAATS UST SCALE SHEET OF 2 4-17 8 6 7 3 5 Tnl'$ dt'lw>n. ilMJ sp6Ctftcat:io"", ~in. aew ~ ~. el'ty Of 0111111: Eaulpmenc Corpontlon _ncllh.1I not be rot-pfQd~l'dorcopoedoruSll!dln~O'I"INI"" ttI.~lsf()rtMm.nL1l.ctu1W0f1l"ofdllmsW1lI\ou1 .r,nen permlPlOn 0 0 FP¢9 FUN FP.38 FP.Jj FP.33 FP38 FPj2 FP.3I/J FP.33 FP39 FP38 FP32 FP32. FP32 C FP.38 FP39 C FP39 FP.39 FP39 FP39 FP39 FP32 FP.32 ,--_ _---'1<--_ _- - , F p J~ TO NOR Ct'C L£ B B DESCRIPTION PDPi5 >. UNLESS OTHERWISE SPECIFIED 0: DIMENSiON IN INCHES A TOLERANCES DECIMALS %.0QI!5; ~ " LOAT & INTEGER "" MUL FU N CYCLE M~TERIAL J: U / '"ru 4-18 ANGLES ::!:: 0-30' CORNERS Z DEC FOR" NO ORO lO2~ FRACTIONS ::!:: 11M REMOV~N:~R:'''~~~E .~~~~H~P / -r---i','- 8 7 6 5 3 SCALE SHEET OF 2 ITEM 1'10. 4.8.5.5 Integer Overflow - The only interrupt possible during integer multiply is an integer over- flow. After the FMA and FMQ are swapped, the FMQ is examined. If the FMQ is not zero, an overflow interrupt occurs and the inten"upt cycle is initiated. NOR CYCLE 4.9 FLOATING-POINT DIVISION To perform floating-point division in the FP15, both the dividend and divisor must be normalized. The dividend is normalized in the FUN cycle. The basic functions performed in the division process include calculation of exponents, determination of the sign of the quotient, and division of the mantissas. These are described in detail in the following paragraphs. Refer to Figure 4-6 which represents a simplified flow diagram of floating-point division. 4.9. 1 01 SABLE SHIFT COUNTER Calculation of Exponents During the EXP cycle, the contents of the EPA and EPB are gated onto the ALU where the EPB is subtracted from the EPA. The difference is loaded back into the EPA. In floating-point division, the exponent associated with the divisor is subtracted from the exponent associated with the dividend. 4.9.2 Determining Sign of Quotient The sign of the quotient is determined in the EXP cycle before the mantissas are divided. If the dividend and divisor have the same sign, the sign of the quotient is positive. If the signs are different, the quotient is negative. In either case, the sign of the quotient is stored in A SIGN. 4.9.3 Division of the Mantissas The dividend mantissa is divided by the divisor by a series of subtractions and left-shifts of the FMA. LEFT SHIFT AND LOAD FMA WITH RESULT OF SUBTRACTION This process is performed in the FUN cycle and can be reduced to the following rules: 1. Normalize the dividend and divisor. If the divisor is not normalized, an abnormal divide interrupt will occur. To keep track of the number of shifts as a result of normalize, the shift counter is loaded with an octal count of 438 (3510). Each shift decrements the counter and, on completion of normalize, the counter is disabled. If more than 35 shifts occur and the number is not normalized, the FMA is O. 1 2. Subtract the FMB from the FMA and test the sign of the difference (located in ADD 00): a. Figure 4-6 s- 0582 Floating-Point Divide Simplified Flow Diagram If the sign is positive, • Shift a 1 into the least significant bit of the FMQ. Left-shift and load the FMA with the difference just obtained. (continued on page 4-20) 4-19 a. (continued) NOTE 10 If this is first subtraction, and a 0 sign is produced, the EPA is incremented. This condition applies only to the first subtraction. b. b. 4. 4.9.4 10 Exponent calculation and sign of result are determined in EXP cycle and are not shown here. 0.111 O. 101 0 0 0 STEP 1 • Shift a 0 into the least significant bit of the FMQ. Subtract FMB from FMA Test sign If 0, (0) increment EPA (only for first subtraction) (b) shift 1 into LSB of FMQ (c) left shift and load difference - FMA Test whether the most significant bit of the FMQ is a 1. a. FMA FMB EPA EPB FMQ = If the sign is negative, Left-shift the FMA. 3. NOTE Example: O. 111 7 O. 101 = ? (.875 7 .625 '" 1.4) If the bit is 1, the division function is complete. Before this fact is detected, the FMA is left-shifted and loaded (if a negative sign) or leftshifted (if a positive sign) and should not have been. It is therefore necessary to shift the FMA right. Otherwise the bit shifted out of the MSB of the FMA wi II be lost. If the bit is 0, repeat Steps 2 and 3. Swap the FMA and FMQ. will contain the remainder. I o· - I o. I I0 I II O. I 0 I 1 I 0 • ___________ :~~_Il~f 0 Subtract FMB from new FMA Test sign If 1, (a) shift 0 into LSB of FMA (b) left shift FMA (no load) - 1 O. 1 0 The FMA will now contain the quotient and the FMQ 10) I Difference I FMA Left-shifted FMA STEP 3 floating-point division. Figure 4-7 is an example of how the divide algorithm is implemented. The Subtract FMB from FMA Test sign If 0, (0) shift 1 into LSB of FMQ (b) left shift and load difference - FMA FMB, respectively ~ According to the rules just described, the first step is to subtract the FMB from the I I I 1. - I o. J a 0 to be shifted into the FMQ, and the FMA to be shifted left. The most significant bit of the FMQ is still not a 1, so the process continues. The third subtraction produces a 0 sign which causes: a. b. a i to be shifted into the FMQ, and the result of the subtraction to be left-shifted and ioaded into the FMA. 0 New FMA r' o. o FMB Difference 0 SIGN I O. I 0 I 1 I 1 I right FMA after shift FMA The most significant bit of the FMQ is not a 1, so the process continues. The second subtraction a. b. 0 (.1- o 1)~r-Io-",'T""I-1~"'I-l~~I-0;L:--'New FMA FMQ * the EPA to be incremented, a 1 to be shifted into the FMQ, and the result of the subtraction to be left-shifted and loaded into the FMA. (FMA-FMB) produces a sign of 1 which causes: 0 SIGN FMA, since both numbers are already normalized. The first subtraction produces a 0 sign which causes: a. b. c. New FMA SI G N Divide Algorithm number 0.111 2 (0.875 10) is divided by 0.101 2 (0.62510)' These numbers are loaded in the FMA and Difference 1 0 1 til.l I I _...-----.--.. FMQ (. 11 FMB J----- I o. I I I I STEP 2 Drawings D-FD-FP15-0-54 and D-FD-FP15-0-57 are flow diagrams of the EXP and FUN cycles during 4-20 SIGj/1 / FMA °1 FMB;FMQ after swap 1 I 0 FMQ I 1 I ,--I0--,--1_0 ",,&,,---1------' NOTE EPA was incremented due to 0 sign from fj rst subtraction. The binary point is thus relocated from .101 to 1.01 or 2 1.2510' The true answer should be 1.4 but this number cannot be represented with three binary bits., The closest answer without exceeding the true answer is 1.25 10 • -----------------* MSB of FMQ = 1 Division complete Figure 4-7 Floating Point Divide Algorithm This condition causes a 1 to appear in the most significant bit of the FMQ indicating the division is 4.9.5.2 complete. However, the FMA has been left-shifted and loaded with the result of the last subtraction. subtracted from a negative EPA with a positive result. An example of this is: Underflow Interrupt - EXP Cycle - An underflow interrupt can occur if a positive EPB is This occuinsd befons it WCiS detected that the divide was complete. As a result, a bit was shifted out of the MSB erroneously. Consequently, the FMA is right-shifted to restore the bit and then the contents of the FMA and FMQ are swapped. The FMA now contains the quotient and the FMQ contains the remainder. 477777 EPA 377777 EPB 077776 three bits it is impossible to represent 1.4 in binary form; the closest approximation to this number without exceeding it is 1.25. Much greater accuracy is obtained in the FP15 which uses 36-bit man- 111 111 111 111 011 111 111 111 111 111 000 111 111 111 111 110 f t. SIGN Since the EPA was incremented in the first step, the final answer of .101 2 if the FMA is adjusted to 1.01 2 , This yields a decimal number of 1.25, whereas the true answer should be 1.4. However, with (EPA 00) SIGN 111 100 In effect, two negative quantities are added with a result too small to be shown in the register. The change of sign in the EPA from negative to positive is detected as an underflow. The sign bit (EPA 00 going from a 1 to a 0) is preserved until the NOR cycle where it is possible (if rounding is requested) tissas. to eliminate the condition causing the underflow. This is possible only if the EPA underflowed by 1 During the NOR cycle, several additional events happen (refer to Drawing D-FD-FP15-0-59). If the since rounding only increments the EPA once and only if there was a carry generated out of the ALU. MSB of the FMQ is a 1 after the FMA and FMQ are swapped, the guard bit is set I and rounding is re- If the underflow condition is not removed, an underflow interrupt will occur at NOR*TS02. quested, +1 is added to the least significant bit of the FMA. If the guard bit is 0, the FMA is checked at NOR*TS02 to see if the FMA is O. This is done by selecting the ALU for A-B-1 operation, where A 4.9.5.3 Overflow Interrupt - FUN Cycle - It is possible to get an overflow interrupt during the first represents the FMA, and B = 0 (by being disabled from the ALU). If A = B is true, FMA = O. In this shift of the divide operation. If the first subtraction produced a 0 SIGN, the EPA is incremented. If case, EPA/A SIGN is cleared. With the guard bit set, the zero check of the FMA is not performed. the EPA contained 3777778 and is incremented to 4000008, an overflow interrupt wi II occur at NOR*TS03. This is detected as a result of the sign bit (EPA 00) going from a 0 to 1 condition. 4.9.5 Interrupts 4.9.5.4 Underflow Interrupt - FUN Cycle - If normalize is requested, it is performed during the Five possible interrupt exceptions can occur during floating-point Division: EXP cycle overflow and FUN cycle for floating-point Division. As the mantissa is left-shifted,the EPA is decremented. Dur- underflow and FUN cycle overflow, underflow, and abnormal divide. The conditions causing each ing normalize, if the EPA should be decremented from 400000 to 377m, an underflow interrupt wi II type are described below. occur at NOR*TS03. This is detected as a result of EPA 00 going from a 1 to a O. 4.9.5.1 4.9.5.5 Overflow Interrupt - EXP Cycle - An overflow interrupt can occur if a negative EPB is sub- Abnormal Divide - FUN Cycle - If the most significant bit of the divisor (FMB) is not a 1, an abnormal divide interrupt is initiated indicating an unnormalized or 0 FMB. This interrupt is not tracted from a positive EPA with a negative result. An example of this is: delayed until NOR*TS03 as is the case with overflow and underflow interrupts. The interrupt is raised 3000028 EPA 4000008 EPB 7000028 Result ,SIGN = 0.11 000 000 000 000 010 1.00 000 000 000 000 000 = 1.11 000 000 000 000 010 immediately at FUN*TSOl . 4.10 FLOATING POINT REVERSE DIVIDE In a Divide instruction, the dividend is loaded into the FMA by a Load instruction and the divisor is The sign bit (EPA 00) going from 0 to 1 is preserved until the FUN cycle. If normalize is requested, it loaded into the FMB by the Divide instruction. However, assume that as a result of some previous op- is possible that decrementing the EPA during normalize will remove the overflow condition. If so, an eration, a number which is to be used as a divisor is left in the FMA. In this case, a Reverse Divide overflow interrupt will not occur. If the overflow condition is not removed, an overflow interrupt will instruction can be issued that gates the divisor from the EPA/A SIGN/FMA to the EPB/B SIGN/FMB occur at NOR*TS03. during the FETCH cycle and loads the dividend into the EPA/A SIGN/FMA. 4-21 4.11 4.11.2 INTEGER DIVISION FUN Cycle Integer division in the FP15 is accomplished during the EXP and FUN cycles. The most significant bits In the FUN cycle, the actual division process consists of a series of subtractions which, depending on of the dividend and divisor must be 1s {normalized} before the actual division can be performed. Be- the sign of the difference, cause the FMA to be (1) left-shifted or (2) left-shifted and loaded with the cause of the integer divide algorithm, the dividend must be larger than the divisor for integer division; difference just obtained. Again, depending on the sign, FMQ 35 is set temporarily storing the quo- otherwise, the quotient is fractional and the FMA is ultimately zeroed. tient. The algorithm can be reduced to the following set of rules: The dividend is loaded into the A SIGN/FMA as a result of the Load instruction; the divisor is loaded into the B SIGN;'FMB as a result of the Integer Divide (IDV or EDV) instruction. If the divisor is a. Load the shift counter with the value of the EPA obtained during the EXP cycle. b. Clear the FMQ. c. Subtract the FMB from the FMA. negative, it is converted to sign and magnitude format. 1. 4.11. 1 EXP Cycle If the sign of the difference (AD 00) is positive: . Transfer 1 to the LSB of the FMQ Normalization of the dividend and divisor is performed in the EXP cycle. The FMA contains the divi- Left-shift and load the FMA with the difference obtained dend and the FMB contains the divisor; the contents of the FMB are then transferred to the FMQ. Increment the EPA, if this is the first subtraction. This increment of the EPA is performed merely as a matter of routine for integer divide, and is primarily used for floating-point Division. If the most significant bits of the FMA and FMQ are ls, nothing further occurs during the EXP cycle 2. except that the contents of the FMQ are transferred back to the FMB. Three other possible conditions If the sign is negative: . Transfer a 0 to the LSB of the FMQ that can occur are: Left-shift the FMA a. If the MSB of the FMA is a 1 and the MSB of the FMQ is not a 1, the FMQ is shifted left. Each left-shift causes the EPA to be incremented. The process is terminated when the MSB of the FMQ becomes a 1. d. Example: o 0 o o o b. c. FMQ FMA EPA 0 o o 0 o o o o o o 0 o o o If the MSB of the FMQ is a 1 and the MSB of the FMA is not a 1 the FMA wi" be cleared since the divisor is larger than the dividend. No integer divide will occur. If neither the MSB of the FMA nor FMQ is a 1 both are shifted left. If the MSB of the FMQ becomes a 1 before the MSB of the FMA, this relates back to Step 2 and no integer divide can occur. If the MSB of the FMA becomes a 1 before the FMQ, the FMQ will continue to be shifted left; however, the EPA is incremented for each left-shift of the FMQ not accompanied by a left-shift of the FMA. When both the MSB of the FMA and FMQ are ls, the contents of the FMQ are transferred back to the FMB and the EXP cycle is concluded. 4-22 e. 4.11.3 If the division is integer, decrement the shift counter and check for a borrow. 1. I f no borrow occurs, go back to Step 3 and repeat the process. 2. If a borrow is generated, the divide function is completed. However, the last left-shift or left-shift and load was performed before the borrow was detected; this causes the MSB to be shifted out of the FMA and an erroneous remainder would result. The FMA is shifted right to correct the condition. Swap the contents of the FMA and FMQ. The quotient is now in the FMA and the remainder in the FMQ. Divide Algorithm Drawing D-FD-FP15-0-56 is a flow diagram of integer divide during the EXP cycle and Drawing D-FD-FP15-0-57 show; the flow during the FUN cycle. A better understanding of integer divide can be obtained by reviewing the rules just described using the flow diagram for reference. An example of integer divide using two 3-bit numbers is shown in Figure 4-8. For clarity, only those registers that change as a result of a particular action are shown. 8 7 5 6 3 tttyofDiattlllEquiprMfttCcrpondioftandshlllnatt. reorodUctd oreQDII!CI or uadin . . . . or In J\IIrt as th.b.... tortt.ma"ufactuNor .... oIit11m11witt1out wnttcn permlQlOn. r---~~~------, FP39 ,-----""-----, FP 3¢ o o FP31 FP31 FP39 FP43 FP32 FP39 C FP34 FP34 FP33 FP33 FP.32 , c FP3e FP39 FP43 SC:-7ccRO sroP SHIFTING ANSWER ~ ZERO FP34 FP3e FP.J4FP32. TSI/J2 T5¢Z FP34 FP34 f'"P.39 FP33 FP.33 FP33 FP3~ FP43 1 TO FUN CYCLE B FP34 FP34 FP39 FP32. FP38 FP32 FP32. B FP1J9 ,----"''-::----, FP39 r - - - - - > " - - - - - - . F P32 ITEM NO. DESCRIPTION UNLE S OTHERWI E SPECIFIED UNLESS OTHERWISE SPECIFIED ~=;':';';'==---~.,."..----l TO FUNCYCLE A DI"ENSJDN IN INCHES TOLERANCES DEtlMALS FRACTIONS ::!: .00!i ::!: 1/64 ....NGLES ::!: o-JO' INTEGER DIVIDE .•...;~N~.:.~::~~~HI.P EX? CYCLE MATERIM. ( } FINISH '" J: U DE:C fOF.M NO ORO J02A , 7 8 7 6 5 4 3 ( ) ( I SHEET Of 2 4-23 8 7 6 5 4 3 ertyo1' DIt;.,al Equ,pmelltCOf'pol'lltio" .IId $hall not be l~roduced or cop..:! or used rn wno~ O~ I!' part .5 ttieOUISfgrthcm.. nuf.ctureo f Mieof.tem.....l1:l'!out wrttte., permlss.on FP38 r-----~~----~FPJ2. FP43 D AO(l'Ij FMA 4 FMQ ARE SHIFTED LEFT D FP2.7 FUN"n· P2 1..0AD SC FP43 r-----~~----~ FP39 FP43 FP4-3 ~ c ____~L-____~ FP38 c w-------~------·FP32 TO INTERRUPT FLOW FP4-3 r-----~~----~FP4 4- P43 f!-.. Ll1 .. I ;~ FP.38 ~ I Ll1 B FPJ2 a... u.. :;: eLL FP.J9 I'P39 ~Q FP32. FP32 B FP3i!. ITEM DESCRIPTION 4- NO. TH RWI UNLESS OTHERWISE SPECIFIED ~=:..:....:l::1l::~:""-~~.!L.l DIUIN$KJN 'M IMeND A TOlERANCES DECIMALS FJtACTJONS 4NGL£S ±.005 ± '/000 '" 0']0' FLOAT ,,(";:~,,:It=E .:~~':.tip ~Mii1ATE5iRlAliF-====N'.='==f1P$~r:t:;ir~~~ / / FINISH DEC ~ORV NO 4-24 8 7 6 5 3 , SCAlE SHEET OF 2 &. I",\JI".r E('1....;::.- r.,.'{ ! 01 V FU N eye LE , 4.11.4 Interrupt Exception - Abnormal Divide The only interrupt that can occur as a result of performing integer division is abnormal divide. Ab~YD r v r l ~ -,.,., "'-. ' - ...... FMQ EPA 0 0 0 II FMB .. FMQ Shift FMQ left Increment EPA 0 0 II 0 0 II normal divide occurs if the most significant bit of the FMB is 0 (FMB 01=0). The abnormal divide in- FMB II 0 terrupt flag is raised immediately at FUN*TS01. 0 0 4.12 INTEGER REVERSE DIVISION 0 0 0 FMA 0 In a Divide instruction the dividend is loaded into the FMA with a Load instruction and the divisor is 0 loaded into the FMB by a Divide instruction. If, as a result of some previous computation, the pro0 FMQ .. FMB 0 posed divisor is in the FMA, a Reverse Divide instruction can be issued. This instruction causes the divisor to be gated from the FMA to the FMB during the FETCH cycle and causes the dividend to be loaded into the FMB. FUN CYCLE FMQ SC EPA .. SC 0- FMQ Increment EPA 1 .. FMQ Left shift and load FMA with difference Decrement SC 0 0 II 0 0 0 II 0 0 0 FMA 0 0 II I I II 0 FMB 0 II 0 I 0 0 4.13 INTEGER STORE For single-precision Integer Store instructions, A SIGN and bits 19 through 35 of the FMA are stored in 2 1s complement format at the argument address (refer to Drawing D-FD-FP15-0-58). For extended 0 0 integer Store, A SIGN and bits 01 through 35 of the FMA are stored in 2 1s complement format in two locations starting at the argument address. If the result of an arithmetic operation resulted in a nega- 0 0 0 0 tive answer, the answer is converted to 2 1s complement format prior to being written into memory. Two;s complementing is accomplished by lis complementing the negative answer in FUN*TS02 and incrementing this value in NOR*TS01. No operands are fetched from memory during a Store instruction. II 1 .. FMQ Left shift and load FMA with difference Decrement SC Right shift FMA II 0 0 0 0 0 0 0 4.13. 1 Overflow Interrupt If any of the high-order bits (bits 00-18) are a 1 during a single Integer Store, an overflow interrupt is ~ initiated at FUN*TS01. No interrupts are possible with double Integer Store instructions. 0 0 0 ~ Swap FMA and FMQ 0 0 0 II Remainder 0 4.14 I I 1 Quotient = 011 FLOATING-POINT STORE For single-precision floating-point Store instructions, the first word is stored in 2 1s complement format 2 3 10 at the argument address and consists of bits 09 through 17 of the EPA register and bits 18 through 26 of the FMA. The second word consists of A SIGN and bits 01 through 17 of the FMA and is staed in the Figure 4-8 Integer Divide Algorithm argument address plus one. For double-precision floating-point instructions, the first word is stored in the argument address and consists of bits 00 through 17 in the EPA register. The second word is stored in the argument address plus one and consists of A SIGN and bits 01 through 17 of the FMA. The third word is stored in the argument address plus two and consists of bits 18 through 35 of the FMA. Floating-point Store instructions require no fetch from memory. 4-25 Normalize, if requested, occurs at FUN*TS01 and rounding, if requested, occurs at NOR*TS01. Rounding of double-precision floating-point Store instructions cannot be specified. If rounding is requested for a single-precision floating-point Store instruction, bit 27 of the FMA is examined. If it is a 1, 1 is added to the FMA, bit 26. If bit 27 is a 0, no rounding occurs. Bits 27 through 35 are then 4.15 SWAP, LOAD AND SWAP The Swap instruction swaps the contents of the FMA and the FMQ. If the instruction is a Load and Swap, the operand from memory is loaded into the FMA and then the contents of the FMA and FMQ are swapped. zeroed. The following interrupt exceptions can occur during a single-precision floating-point Store instruction. The only interrupt exception that can occur during a double-precision floating-point Drawing D.-FD-FP15-:-0-60 is a flow diagram of the Swap instruction. The swap occurs at Store instruction is an underflow interrupt due to normalize, which occurs at NOR*TS03. FUN*TS01 *PH03. The contents of the FMQ are gated to the A side of the ALU bus, and the contents of the FMA are gated into the FMQ. The A side of the ALU bus is enabled through the ALU by de- 4.14.1 EPA Underflow or Overflow Interrupt fault (nothing specified), and the ALU output is strobed into the FMA completing the swap. During a single-precision floating-point Store instruction, either an EPA overflow or EPA underflow interrupt can occur at NOR*TS02*PH03. If the EPA is positive, the high-order bits (bits 01 through 4.15. 1 Underflow Interrupt 08) of the EPA are checked. A 1 in any of these bit positions initiates a temporary overflow. If the If, as a result of normalize, the EPA is decremented from 400000 to 377777 , an underflow interrupt EPA is negative, then the high-order bits of the EPA are checked for Os. A 0 in anyone of these bit will occur and the interrupt cycle is initiated. 8 8 positions initiates a temporary underflow. 4.16 4.1402 Underflow Interrupt Due to Normalize If normalize is requested, the FMA is left-shifted and the EPA is decremented. If the EPA contains 400000 and is decremented to 377777 , an underflow interrupt occurs at NOR*TS03. It is possible 8 8 that the condition causing the EPA overflow interrupt at NOR*TS03*PH03 is eliminated when the EPA is decremented during normalize. If so, no interrupt is raised. If not, the temporary EPA overflow interrupt becomes permanent and is raised at NOR*TS03. The normalize underflow interrupt can occur for both single- and double-precision floating-point Store instructions. FLOAT, LOAD AND FLOAT FMA The two basic types of Float instructions are: a 0 Load and Float FMA, and b. Float FMA The Float class of instructions convert integer format to floating-point format. The Load and Float instructions require a memory reference cycle(s) to fetch an operand(s) from memory. The Float FMA instruction merely floats the existing contents of the FMA with no operand fetch involved. Floating an integer is accomplished simply by loading the EPA with 43 , which effectively relocates the binary 8 point to the left of the number. The integer is thus converted to a floating-point number--the mantissa 4.14.3 Overflow Interrupt Due to Rounding is contained in the FMA and the exponent of 35 If rounding is requested, for a single-precision floating-point Store instruction, FMA bit 27 is ex- is contained in the EPA. The following example 10 shows the integer 58 being converted to a floating-point number. The EPA is loaded with 3 since a amined. If it is a 1, 1 is added to FMA bit 26. Should a carry occur out of the ALU as a result of 3-bit integer and 3-bit EPA and FMA have been shown for simplicity. this operation, the FMA is right-shifted and the EPA is incremented. If the EPA contained 0003778 and is incremented to 000400 , an overflow interrupt is raised at NOR*TS03. 8 EPA=~ FMA = I 0.101 1= 0.101 2 x 2 3 = 58 It is possible that the condition causing the EPA underflow interrupt at NOR*TS02*PH03 can be elimi- Drawing D-FD-FP15-0-60 is a flow diagram of the Float instruction. If a Float instruction is specified, nated if the EPA is incremented during a rounding request. This condition can occur only if the EPA a signal called FLOAT SELECT is generated at FUN*TSOl. At FUN*TSOl*PH03, a Float Select P sig- just underflowed as the EPA can only be incremented once due to rounding. nal causes the EPA to be loaded from the ALU bus with a constant of 43 (35 ), 10 8 4-26 1 8 I 7 - -- - - - - - - - - I 6 - - - - - - - - - - - - 1 5 I 4 3 -I I FLOAT I D FMA SWAP AND FMQ. I IFP31 I i IFPl2.. F~N ~ TI i i I MQ. ALS FLOAT SG':I 1 I I I I I I I I I I j I ~3 (I) I IFP41 FLOATSELj IFP33 8 TO ALL!. !FP32 EPA I -~ c A I IRI'" I I I IFP30 I - A -I I R I i> (I) IF<. I r. (I) I \FPI3 J IFP32 FP/2 FUN "* T?> '* pal eLK PVLSS FP/2 FVN IFP'3 T3 -JI( P3 (I) IFP32 P. SIGN .... ¢ I FPI?i IRIG.(I)-+ .IRI? (I) * poS .IR 17 (I) FPT8 SIGN NEG I Po I 7 (;J) ASIGN IF< 17 ( I ) Ir;F;-p;;:;-3"2.::;--F;;r.P:-:;T:-;B;:;-I---..aI.~--~----1FPI2 FIJi'll n,n IF P I3- JR./7 R .sZGN CON'TIfO(. I FM 6\ ADDeR- OUTPuT BY DEFAULT ADDE'R-+ FM -9 8'( DEt:"liVL T ~ ALe;, B SIC:;N I FMA ~ FMQ. J MXBI) MLS FMQ-"ASIDE" OF ADDER; ALJfI COMP IF< I '" (I) I LD ~OROS ~3 La cP~; --- IFP32. MX8~ IFP33 AUJ9J IIFPn MLSJ \FPOq PH I c r-::--::-::-----,--I,.---:--"1 LFP41 --~ I 1 \FP41 SWAP IFP32 *- T! I I I 1';=--P-3--=-S-W'-:/7,--,p::---r---l ' - IF?!2 FUN I D FLOAT FPTB IR Ire (I) * T3 J FPI3 IR 17 (¢} I J FP32 eLK CL-K , PLJL.'So E PULSE PFiTA IFP32. ASIGN-P I \ B YES! - 1 I ASIGN---+ I J I ASI(,N-+ III I FP.32 FP32 FIRST USED ON OPTION/MODEL oTY·1 I DESCRIPTION NO. l iTEM PART NO. PARTS LIST UNLE~~:~~~~~~!~CIFIED ~rw~ ~/:~, 'D'!IDD~D ~g~~;R~~I~~ t--.- ~~TO~LER~~CE~S~~~~K~~~.~~~~~~~~~~~~¥'.N~'.D~¥",~,cHu~ • .,,~. '" r- A J--1'ECIMALS .xxx,.Q05 z z 0 '"z ~ "'" u MATERIAL rO"3/)' ENG ~fI S b ~ !?D;A':!E~ '/1"/7/ FTILTLEOAT. , A CON T R0 L NEXT HIGHER ASSY. s';1;00;1 ~=""""-----+=~--------1 0 ::- 0 r::- P 15 - (/) FINISH SCALE r-r- "'" NUMBER ~ 6e I . REV I-,r-t t-S='H:':'E:O:ET;----::O:::-F--.....,I-:D:-::IS::!:T,. .lr-"J-.lr-j'-'1-1r-,- U ORD 102-8 'ANGLES REMOVE BURRS AND BREAK.SHARP I ~\ . I D~!E I=CXl=:RN=E=RS=S=U=RF=A=CE=Q=U=AL='TY=V',==:j:I=¥ VlJJ==::,"-i-::: •• :.}:::!. ·~:::·•.•=tr=,,-==CJ,=I"=1=7/~ in D£CfORM NO I r.;::~::::::X:;::~: : 2::-::':::;:-=;-;;;-:;;-::;;-hPd~!;#:J1j~~~~~ U.AL...j::..r;;4~;U.y/~'7 SWAP ,A ND A~ I GN 0 8 I 7 I 6 I 5 f l 4 I 3 I 2 I J 1 4-27 In order to load the constant into the EPA, it is first specified at the input to the B multiplexer by a of the FUN cycle. At this time, the FMA and FMQ right-shifting process is initiated. Shifting is FIX or FLOAT SEL signal. An AUA 1 signal enables the 43 to the output of the ALU. This is accom8 plished by forcing SO and S2 low and Sl, S3 and MODE high. accomplished by the FIX SHMA P signal that is generated for each shift. The shift counter is incremented each time a shift occurs. The counter is tested after each shift to see if a carry is generated. If not, the FMA and FMQ are shifted until a carry is generated. At this 4.17 FIX, LOAD AND AX point, the FMA and FMQ have been shifted the required number of places to fix the floating-point The Fix or Load and Fix instructions convert floating-point format to integer format. If the instruction number. The operation is concluded by "resetting" the logic on FP09 to allow continuation of the is a Fix, no memory reference is required. An example of this is the FIX EPA (FMA) instruction that phase and ti me states. converts the existing contents of the FMA to integer format. If the instruction is a Load and Fix, a memory reference is requ i red to load the FMA wi th the operand from memory. 4.18 LOAD JEA AND STORE JEA The Load JEA instruction loads the JEA register (bits 07-17) from bits 21-35 of the BMB. The guard Drawing D-FD-FP15-0-61 is a flow diagram for the Fix type instruction. The diagram is divided into bit is loaded from BMB 19. two major branches--one for a positive EPA and one for a negative EPA. If the EPA contains a negative number, the floating-point number is a fraction that cannot be converted to an integer and the The JEA register is loaded by a LD JMS P signal that occurs during FUN*TS01. FMA is cleared. The Store JEA instruction occurs during the WRITE cycle where the operand is written into memory NOTE At FUN*TS01, FIX ZERO is generated if the EPA is negtive. This signal forces a logical zero on the ALU bus and at Phase 2, a FIX ZERO P signal strobes the ALU output (zero) to the FMA resulting in a zero FMA. If the EPA is positive, the floating-point number can be converted to an integer and the Fix operation is initiated. The ALU is selected for A-B-1 operation during the FUN cycle. "A" represents the EPA, and "B" represents a special constant that is 35 for a Fix instruction. At this point a test is 10 made to determine if the EPA is equal to 43 , If so, the Fix operation is completed. If not, 43 is 8 8 subtracted from the EPA and the difference is loaded into the shift counter from the ALU bus. If the difference is positive (EPA 43 ), the number cannot be fixed since 35 or more shifts would shift the 10 8 number completely out of the FMA; in this case, a Fix Overflow is generated and the Fix operation ceases. An interrupt sequence is initiated due to the overflow resulting from EPA 43 , The interrupt 8 sequence consists of INT 1 and INT 2 cycles that lead to a service routine in the CPU associated with the overflow. The interrupt sequence is described more fully in Chapter 3. (see Paragraph 2.10), JEA bits 03-17 are gated to MPO bits 03-17, and the A SIGN and guard bits are gated to MPO bits 00 and 01, respectively, 4.19 BRANCH The Branch instruction provides the programmer with a means of altering the program sequence. Bits 13-17 of the instruction word are used as a mask to test for certain conditions such as zero or non-zero FMA, positive or negative A SIGN, and FMA carry. Figure 4-9 is a simplified flow diagram of the instruction. As an example, assume the programmer wishes to test for FMA = 0 and to branch if it is. The test mask would have bit 17 on a 1 to test the FMA. If the FMA is 0 and a Branch instruction has been specified, the Branch test is successful. If indirection has been specified, the indirect cycle must be completed. This is indicated by CHANGE H which occurs when no indirection is specified or when indirection is specified and has been completed. The FP15 enters an INT 1 cycle that forces the CPU to begin execution of a JMP*O instruction. The INT 2 cycle is initiated and the FP15 forces the CPU to accept the contents of the address register that contains the address specified by the Branch instruction. If the Branch is not successful, the instruction is exited, and is cleared at the end of If the difference between the EPA and 43 is negat.ive, the operand can be converted from floating8 point to integer and the Fix operation proceeds. The shift counter is loaded with the negative quan- FETCH*TS03*PH03. Indirection, if specified, must be completed before BUSY is cleared. The INT 2 tity that results from EPA-43 (where EPA < 43 ), Logic on FP09 causes the FP15 to stop in TS02*PH03 8 8 microprogrammed on an inclusive OR basis. 4-28 cycle is completed at INT 2*TS03*PH03 to complete the instruction. The Branch instruction can be I 8 Th".'of.w'c.,a., n••Eq.;"""n, nd .... ;• . - .•. "" ........ 'hI.'1/ eused ...oo,,'in ;whoa. on .ndor....In1 not ..H rept'Oducil'd or copied 7 I 6 I l 5 .4 II 3 I m '9-'G-9'd.:Jlq~asI2 I J ~3B ..mN 1 300:) ,]lIS .rty pari O!f rntDolt., rortrM-man.uhlctul'tlor . . . oti'OlmswithOut .... l'Itten permlSSIOl't FIX FMA I FP:;S1 0 rz >< 1 0 ') 1 FPI/ FUN(/) H 9 YEI:2> EPA NEG? P-fl frP"1-' FIX 1 SEL I FIX ?ERO I 1 - I FP~E;'~L5 J..DS FMA WJTfI J }-lPH ... I I-- fn r.cROS 1 ~"qLU 1 [ LoGICP': 0 £p,q c r AUA NcGI9TIV€ -I9DD /8 ..... I 0 'FP 4-3 LFP 4-3 I I I jl:'IX OVR OW'? I FP 43 IN, A- - 4'~a I eN ¢¢ L I EPP - 4'38 IS NOT f 1 AUB PP33 I S-I of- F L 1 I 1 I FIX F"P+IOA T SI: L 1 r F'H 121 3 1 J I 1 I TS z.. rtJ FPI!J9 t--<) I LD I SC I F'P SiZ! I 1 eLR E"PA I -SEr 1-1 rP/!)9 SHII=T COC/A/reX' ,-O~O WITH' e-PI9 - cf3a l¢ - PSZGN FPq.3 I r ~ ... EP/9 FPI7 1 1 I I ~ - l I rps8 MM C I ~ ..-- I F"PSa. AM C I c::c I I'" 6T PI'IASE B 1 I I FIX P C FP~r/J !htlR* T.5<?7t GUI9I?D (0)1 ;:-P?-o IFP+I FJX 51-1M A FP~I f f- "-- l-rp3lA ~e H IFP41 FIX COUNT-I 1 A U A I , AU87J9l FP33 C:FNt!~ (I) H FP(/;9 P:p~ ~ (/) I P FP4/1 Z!ER 0 1 FIX FP09 f- "-- 1 F"Pc. l 1 NO "IJ< ~ HMA FP4fo1 ~ ::: I ~(S Z I I HFPC PI L() - 0... LL m 1 !':!Q I!'- IUPfiRS MRS COUNT T#E SC soc C~RR y B y~ I<SET - 1 SYNC. Ft=09 1(1)- s1 PHASe: F"pe.9 I I-- 1 FIRST USED ON OPTIONIMODEl OTY·I DESCRIPTION liTEM NO. PART NO. I PARTS LIST UNLESS OTHERWISE sPECIFIED ----r-r- - ,. DIMENSION IN INCHES. TOLERANCES ~ A I DECIMALS I .XXX-.OO5 .xx ".02 if> z 0 0 .X z w '~" ..'-'z ANGLES ±Oo30' -.1 REMOVE BURRS ANO BREAK SHARP CORNERS SURFACE QUALITY "vi'" I u MATERIAL l- I DEC ~ORM NO DRO lO2-E I FINISH ) 8 I 7 1 6 I 5 f .4 I 3 DATE ¥-Bo-)/ ~~;g; M,,t/...s ;>t~~/ ENGrJ I~Whl ~?~h, 1G.' Ir~,l~!f mDmDOmD a •• E U I PM E N T CORPORATION • "" ..... "' .... 0 "" ...... C ........ I!TTS TITLE A FIX FLOW P:~PG.~ ~h/ NEXT HIGHER ASSY. / '" i5 ~R~~ I L / -. L 1 SI;r;l, SCALE NCN E SHEET ( 2 OF I NUMBER o D FP15-0 -S! I DI5T. I I I I I I I I REV. l-rl 1 4-29 4.20 00 NOT BRANCH CLEAR BUSY AT FETCH * T3 -it P3 YES MODIFY FMA The class of instructions used to modify the FMA are: a. b. c. d. e. FP31 BRANCH Zero EPA (A SIGN) FMA Normalize EPA (A SIGN) FMA Make A SIGN positive Make A SIGN negative Complement A SIGN The flow diagram for control of A SIGN is shown in Drawing D-FD-FP15-O-5S. This diagram is applicable to making the A SIGN positive or negative, or complementing the A SIGN. If IR 16 and IR17 FORCE CPU TO BEGIN EXECUTING JMP*O of the instruction word are a 0 and 1, respectively, the A SIGN becomes 0 (positive) at FP32 FMA = 0 FUN*TS03*PH03. If IR16 is a 1 and IR17 is a 0, the A SIGN becomes a 1. If both IR16 and IR17 are FP13 IRI7 (1) ls, the A SIGN is examined and complemented at FUN*TS03*PH03. FP32 NEGATIVE ASIGN 4.20. 1 Underflow Interrupt Due to Normalization FPI3 IRIS 11) FP32 POSITIVE ASIGN FPI3 IR15 II) FP32 NON ZERO The only possible interrupt for this class of instructions is an underflow interrupt as a result of normal17 ize EPA/A SIGN/FMA. If t~e exponent of the result is less than 4OO000 (_2 ), an underflow interS rupt occurs since the resultant exponent cannot be correctly represented in the EPA. FORCE CPU TO ACCEPT CONTENTS OF FPI5 AR F~;A FP13 IR14 (1) 4.21 DIAGNOSTIC INSTRUCTIONS FP40 GUARD = I The FP15 maintenance mode provides the user with the capability of sequencing through any floating- FP13 IR13 (I) point instruction step by step_ Each instruction contains a number of steps determined by the format, type of instruction, and operand values. One step is counted at each of the following times. FETCH * TS03 * PH03 FETCH * TS03 * PH03 OPAND * TS03 * PH03 OPAND * TS03 * PH03 OPAND * TS03 * PH03 EXP * TS01 * PH03 EXP * TS02 * PH03 , 5·0583 Figure 4-9 Branch Instruction Flow Diagram EXP FUN FUN * TS03 * PH 03 * TS01 * PH03 * TS02 * PH03 FUN NOR * TS03 * PH 03 * TS01 * PH03 NOR NOR * TS02 * PH 03 * TS03 * PH03 (if indirection) (if not immediate) Depends on data format } (1, 2, or 3 words) (FMA and FMB aligned - 1 step count for every align shift.) (FMA and FMB are multiplied or divided here-1 step count per shift. FMA also fixed here-1 step count per every fix shift.) (FMA normalized here--l step count per every normalize shift.) (continued on page 4-31) 4-30 WRITE WRITE WRITE * T503 * PH03 * T503 * PH03 * T503 * PH03 (i f a Store type) (i f a Store type) (i f a Store type) } Depends on data format {1, 2, or 3 words} strobed into the FP15 address register. The FP15 executed instruction stops in TS03*PH03 of the FETCH cycle. When the dummy cycle is complete and stop clock is present, the signals that were previously inhibiting the CPU are cieared and controi is returned to the CPU. At this time, BUSY is a 1, For example, if a single-precision floating-point Add instruction was specified, a step is counted at the following times: the instruction has stopped executing at T503*PH03 of the FETCH cycle, stop clock is present, and maintenance mode is enabled. No. of Steps FETCH 1< The next floating-point instr.Jction fetched from core should logically be a maintenance instruction, iS03 'I< PH 03 OPAND * T503 * PH 03 OPAND * T503 * PH 03 * TS01 * PH03 EXP * T502 * PH 03 EXP * T503 * PH 03 EXP * T501 * PH 03 FUN * T502 * PH 03 FUN * T503 * PH03 FUN * T501 * PH 03 NOR * TS02 * PH 03 NOR * T503 * PH03 NOR such as a Diagnosti c Read or Diagnostic Step and Read. Since BU5Y is a 1, any floating-point in- Two OPAND cycles struction will be treated as a maintenance instruction. The instruction from core is now loaded into (1 step count for every align shift) 1 to 35* 1 1 1 1 1 to 35* 1 1 In the preceding example, the number of steps ranges from 11 to 79 and, depending on how many align shifts and normalize shifts, must be performed. The FP15 maintenance mode is initiated by a DMN (Diagnostic Mode On) instruction. CPU instructions are handled in the normal manner and are not affected by the FP15 ot this point. the DIR and the next word is loaded into the DAR. The CPU is again disabled by DIS CP RD RST and waits in TS03*PH03 for the next RD RST to occur. The CPU/memory reference cycle is completed, DIS CP RD RST is removed, the FP15 places a 710000 NOP on the MDL, the CPU strobes the NOP in the MI register, and the memory cycle is completed. Upon completion of the memory cycle, the FP15 goes into diagnostic operation. 4.21. 1 Diagnostic Read If bit 11 in the DIR is a 0, the instruction in the DIR is interpreted as a Diagnostic Read instruction. The FP15 instruction is only partially complete at this point; the contents of sixteen 18-bit words are transferred one at a time from the FP15 to memory starting at the argument address. The words are transferred in the following order: Drawings D-FD-FP15-0-63 and D-FD-FP15-0-64 are flow diagrams of the events occurring during maintenance mode. The first floating-point instruction received after the FP15 is in maintenance mode is handled in a manner similar to that described in the memory interface; in other words, the instruction is loaded into the CPU instruction register and the FP15 instruction register. The next word {operand address} is loaded into the FP15 8MB; a dummy cycle is initiated to prevent the CPU from sensing the operand address as an instruction. DIS RD RST prevents the CPU from accepting the operand address and the CPU is idle waiting for RD RST. The FP15 forces a 710000 NOP on the MDL; the FP15 now simulates memory to complete the CPU/memory reference. The operand address is then 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. BMB 00-17 {Buffered Memory Buffer} BMB 18-35 5C 12-17 and IR 06-17 (Shift Counter and Instruction Register) EPA 00-17 A SIGN and FMA 01-17 FMA 18-35 EPB 00-17 BSIGNandFMBOl-17 FMB 18-35 B SIGN and FMQ 01-17 FMQ 18-35 * Depends on operand va lues. 4-31 8 6 7 3 5 ThIs dr.wlnK and st»«=ifacec.on.. herein, .re --. prop ~rt)' of OIC".I Equ~ corpoqtUNI .nd ....U not tie repr~ced ~r coped or uMd in what. Of in IMrt •• thebat.o! fortll.man"factu.-.o, ..."otrt.msWlthout wlltten permtUlon 717::; II) WAS l S 5 U ED D D ""pcp DCH SYNG FP?l!. 10 SEJ. DIAG FP/4 LOfiD DIR c c FPq,{P MRLS AC K I-------.j I=Pr)u. fVlRfQ>-N_O_ _... FP.,.2 B srop eLK 1---'" B RETURNS CONTROL 70 CP WITH BilS Y ~ I, FETCH = I STOP CLK = I) MA1NT MODE" / LOAD SG FIRST USED ON OPTIONIMODEL UNlESSOTHEAWISE SPECIFIED A SCALE SHEET DRO 102-a 4-32 8 7 6 5 4 3 2 OF 7 6 5 4 3 o D SCJSY::'1J FP4-2. YES FP-fo2 IVO YeS BRS FP42.. c c R E:T!.I R N To C. P Fo R N EXT I N sr. NOTC:; MAINT MOD~ =1. BUSY MAY OR ~A'1' NOr"" I. IH15 Dt=TERMINES POIN7" OF £NTR Y. OR 0 STA R'T NO DIR /I = I B NO 8 FPI2. YES y/:s NOIE. £NTER NEW FETCH +OPAI'ID NO +EXPt- FUN +- DIR NOR+ INTTSrORE:+CL.R B 1/ eOR'ROW FP42 SUSY ~ FIRST USED ON OPTIONIMODEL aTY. ITEM DESCRIPTION NO. PARTS LIST 0>~ A '"z0 ~I FLOW 2 in <.:> z ~ uI« MATERIAL I I I "I FINISH U I 8 7 6 5 3 / / SCALE ,'WillE SHEET OF 2 4-33 12. 13. 14. 15. 16. ADD 00-17 (ALU) ADD 18-35 JEA 00-17 (JMS Exit Address) ST A 00-17 (see following Note) AR 00-17 (Address Register) indirection, the OPAND cycle is bypassed; if the instruction is integer, the EXP cycle is bypassed, etc. The FP clock, which was halted at TS03*PH03, is restarted (see D-FD-FP15-O-64). At this point, the flow sequences through a decision network that determines whether a step has occurred. The FP15 is stopped if any of the following conditions occur: A memory cycle is initiated for each transfer. Each time a word is transferred, the MPO counter is incremented. NOTE The STA 00-17 is a status word comprised of the following infonnation: STA 00 STA 01 STA 02 STA 03 STA 04 STA OS STA 06 STA 07 STA 08 STA 09 STA 10 STA 11 STA 12-17 FP15 BUSY FETCH CYCLE OPAND CYCLE EXP CYCLE FUN CYCLE NOR CYCLE WRITE CYCLE INT 1 INT 2 TIME STATE 1 TIME STATE 2 TIME STATE 3 DIR 12-17 -EXC*TS03*PH02 When FP15 is in TS03*PH02 and is not in the EXP, NOR, or FUN cycle. EXC*FPCA*PH02 When FP15 is in PH02, FP clock is present and an EXP, NOR, or FUN cycle is specified. ALIGN MA P When FP15 is doing an alignment to align mantissas. BRS When the FMB is doing a right shift. CARRY P During each shift that occurs in a multiply or d"ivide operation. INT DIVIDE P During an integer divide operation. SHMA P When the FMA is being shifted during a Fix instruction. NORM P When a normalize operation is taking place. For each of the preceeding steps that occurs, the DIR is decremented. The Diagnosti c Step and Read is initially loaded with a value 7101OO+n, where n is the desired number of steps. If the number of The DAR is also incremented; thus, the sixteen 18-bit words are transferred to 16 sequential memory locations starting at the argument address. When a count of 16 is reached, the MPO counter generates a carry that sets TRANS EN. TRANS EN clears the FP15 and control is returned to the CPU for the steps completed is less than n, the logic determines whether the FP15 is at the end of the NOR, or WRITE cycle, or in an interrupt sequence. If the FP15 is not in any of these states, the Diagnostic Step and Read causes another step to be performed. next instruction. The Diagnostic Read instruction may be executed indefinitely without affecting the partially completed instruction. If the FP15 is at the end of a NOR or WRITE cycle or in an interrupt sequence, and the instruction is not completed (BUSY=l), the clock is stopped and the current contents of the registers are transferred to memory. If the FP15 is at the end of a N OR or WRITE cycle or in an interrupt, and the instruc- 4.21.2 Diagnostic Step and Read tion has been completed, the clock is not stopped and the current contents of the registers are trans- If bit 11 of the word in the DIR is a 1, the instruction is handled as a Diagnostic Step and Read. The ferred to memory. When the 16 words have been transferred, an MX CARRY is generated, the memory instruction is sequenced through one or more steps and, depending on instruction type, format, and cycle is completed, the FP15 cleared, and control is returned to the CPU for the next instruction. If operand values, a new cycle may be entered. For example, if indirection is specified, the instruction the FP15 instruction is not completed (BUSY=l), the point of entry is via the diagnostic instruction is sequenced through another FETCH cycle; if a non-memory reference instruction is specified with no path. If the instruction has been completed, (BUSY=O) the point of entry is through the initial path. 4-34 CHAPTER 5 INSTALLATION AND MAINTENANCE 5.1 INSTALLATION The FP15 Floating-Point Processor is installed in the H963E Cabinet (Bay lR) of the PDP-15/20/30/40 716 INDICATOR POWER SUPPLIES {~ ------------ ---FP15 Systems. This cabinet contains the PC15 and BA15 and may also include the BB15. When the FP15 is included in a new system, it is completely installed and tested at the factory before the system is - - FP15 LOGIC - - ------------ shipped. The following paragraphs describe how to install, interconnect, and test an FP15 that is to H721 POWER SUPPLY be installed in an existing PDP-15 System. Table 5-1 summarizes the major components supplied as H734B POWER SUPPLY part of the FP15 Floating-Point Processor. A complete list is provided on drawing D-UA-FP15-0-0. Figure 5-1 shows the general location of the major components installed in the H963E Cabinet. BLANK H721 POWER SUPPLY Table 5-1 FP15 Floating-Point Processor Major Components Quantity Item 841-8 POWER CONTROL Part Number REAR CABINET 1 1 1 1 FP 15 Wi red Assemb Iy FP15 Indicator Panel H721 Power Supply 716 Indicator Power Supply D-AD-7007243-o-o D-UA-7006331-0-0 H721 716 15-0568 . Figure 5-1 H963E Cabinet (Bay lR), Rear View with Mounting Panel Door Open 5.1.1 Field Installation Procedures Step Procedure Remove the H950-P (5-1/4 in.) Cover Panel below the BB15 Indicator Panel. Install the FP15 Indicator Panel in this location. NOTE If the FP15 is to be installed in early PDP-15 Systems with 783 Power Supplies mounted on the rear door of the H963E cabinet, an H950-C 19-in. mounting panel door wi II be included and substituted for the original rear door of the H963E Cabinet. REAR DOOR 2 Install the 716 Indicator Power Supply on the inside right wall of the cabinet (as viewed from the rear). Mount the 716 directly below the existing 716 that provides power to the 8815 Indicator Panel. 3 Install the H721 Power Supply on the rear door of the cabinet directly above the existing 734D Variable Power Supply. 4 Locate the FP15 logic wired assembly directly above the H721 Power Supply on the rear door of the cabinet. Fasten securely to the rear door with the mounting hardware supplied. 8e sure to use the spacers. 5-1 5.1.2 Indicator Panel/power Supply Wiring Table 5-2 Signal Cable Connections Connect the FP15 Indicator Panel and associated 716 Indicator Power Supply as follows: Procedure Connect black wire between the FP15 Indicator Panel ground tab and the cabinet chassis ground. 2 5.1.3 Connect orange wire between the +6.5V tab on the FP15 Indicator Panel and the orange tab on the 716 Power Supply. 3 Connect both 716 Power Supplies to cabinet chassis ground. 4 Connect a red and white twisted pair between the AC tabs on the 716 Power Supplies. H721 Power Supply Wiring Connector Locations Cable Function KP15 BB15 FP15 MM15A OUT IN OUT IN OUT IN Memory Data Lines J02 H29 J29 B02 A02 B02 If BB15 does not conta inK M15, KTl5, or MP15, connect FP15J29 to MM 15A-B03 . Memory Control Lines J03 H30 J30 B03 A03 B03 Under conditions listed above, connect FP15-J30 to MM15AB02. API Control H03 H31 J31 B05 -- -- This cable is not required to be connected to memory. Procedure Step Connect the red and white twisted pair from the 841B Power Control to the H721 Power Supply ac input terminals (TB2-1 and 2). Refer to D-CS-H721-0-1 for internal connections. 2 Connect a black wire from TB2-8 to cabinet chassis ground. 3 Disconnect the console power switch lead from the existing H721 Power Supply (TB2-6) and connect it to the added 721 Power Supply at TB2-6. Connect a wire from TB2-6 on the original H721 to TB2-7 on the added H721. These connections will connect both H721 thermostat circuits in series with the console power switch. Remarks FP15 INDICATOR PANEL VIEWED FROM REAR 5.1.4 Signal Cable Connections Table 5-2 is a signal cable connection chart that indicates how to connect the FP15 into an existing PDP-15 System. NOTE The connections place the FP15 between the KP15 and the BB15. When the system does not include certain BB15 options (KM, KT, or MP), ignore the BB15 cable connections and connect the FP15 directly to the MM 15A as indicated in the table. 5.1.5 Figure 5-2 FP15 Indicator Bus Connections Indicator Bus Cable Connections Connect the FP15 Indicator Bus cables to the FP15 wired assembly indicator cable connector card lo- cations (J03, J04, J05, and J06) as designated in Figure 5-2. Dress the indicator bus cables between the FP15 wired assembly and the H721 Power Supply. 5-2 5. 1 .6 Handwi re List The KP15 must be modified per handwire list supplied in the FP15 Installation Kit. 5.1.7 Postinstallation Checks and Tests B SIGN, FMQ B SIGN denotes the sign of the FMB; FMQ 1 through 35 denotes the value of the quantity stored in the FMQ. MAJOR STATE, TIME STATE Denotes the current major state and time state of the FP15. The FP15 could be in the FETCH, OPAND, EXP, FUN, NOR, WRITE, INT 1, or INT 2 major states and in TS01, TS02, or TS03. The BUSY indicator indicates that the FP15 is iii the process of performing some functi on wh i ch it has not yet comp leted . For example, the FP15 may be sequenced through an instruction in Diagnostic Mode. DIR The DIR indicators denote the number of steps to be sequenced through for an instruction in Diagnostic Mode. The value represented by the indicators is decremented for each step which occurs. STAL The STAL indicator denotes that a 71XXXXa floating-point instruction has been detected by the FP15. TS4 The TS4 indicator, when on, denotes that the FP15 has control of memory and, when off, indicates that the FP15 is simulating a memory. ST PHAS This indicator denotes that the FP15 is temporarily halted and is not advancing through the various phases, time states, and major states. MDL EN This indicator 'denotes that the MDL lines are enabled and that data is about to be p Iaced on these lines. L MIT This indicator denotes that the FP15 is in the second FETCH cycle (indirection). MAINTENANCE The indi cator panel has five maintenance indi cators that perform the following functions: MAT This indicator denotes that a Maintenance (Diagnostic) instruction has been decoded. MANT MODE This indicator denotes that the FP15 is in Maintenance (Diagnostic) mode. SEL DIAG This indicator denotes that a Diagnostic instruction has been selected. DIAG This indicator denotes that a Diagnostic instruction is being executed. TRNS EN This indicator denotes that the sixteen 18bit words representing the contents of the various registers have been written into memory. (continued on page 5-4) Make a final check of the completed installation to ensure that: a. All modules are correctly installed in the FP15 wired assembly. b. Major components are securely mounted in the cabinet. c. Cable and wired connections are correct , and cables and harnesses are dressed and fastened within the cabinet. Apply primary power to the cabinet by closing the circuit breaker on the 841B Power Control. Test for +5V at any of the G829 modules. Run the FPU 01 Random Exerciser diagnostic program to test FP15 Floating-Point Processor operation. As a further test to ensure that the FP15 is correctly installed and operational, load and run the Instruction Test diagnostic program MAINDEC-15-DOTA. 5.2 MAINTENANCE The FP15 Floating-Point hardware includes built-in diagnostic hardware that allows any floating-point instruction to be sequenced through step-by-step and allows the user to obtain a printout of each register as each step of an instruction is performed. An indicator panel, also supplied with the FP15, providing a visual display of the major registers. The stepping of the instruction and the printout is accompiished under software control. The diagnosti c programs assume that the CPU and memory are functioning and operating properly, and are designed to minimize actual troubleshooting since malfunctions can be iso.lated before troubleshooting techniques have to be used. The following paragraphs describe the FP15 Indicator Panel and the diagnostic programs used. 5.2.1 FP15 Indicator Panel The FP15 Indicator Penel is used as a maintenance aid and is located directly above the BB15 Option Panel. The indicator penel consists of the following indicators. EPA JEA A SIGN, FMA Denotes the state of the 18 bits in the EPA register. Bit 00 denotes the state of A SIGN, bit 01 denotes the state of the GUARD bit; bit 02 is not used; bits 03 through 17 denote the JEA exit address in memory. A SIGN denotes sign of operand in the FMA; FMA 1 through 35 represents the value of the operand in the FMA. 5-3 DISABLES RD RST The FP15 indicator panel is equipped with the following three disable indicators: This indicator denotes that the CPU is inhibited from using the RD RST from memory. CP ACT This indicator denotes that the CPU is temporarily suspended from sequencing through phases and time states. I/O ACT This indicator denotes that the FP15 is doing a memory reference cycle (FETCH, OPAND, or WRITE). 5.2.3 Instruction Tests The instruction tests perform the following major functions: a. b. c. d. e. Verify that the diagnostic instructions ore operating correctly. Provide loop information for debugging. Check whether all FP15 registers can be cleared and then set to all 1s. Exercise the FP15 instructions in Diagnostic Mode in a general fashion. Run automat i ca II y unt i I an error is detected. The error is identified at a 6-digit location (address of program listing). A copy of the contents of the major registers can be obtained at the time of the error. For further isolation of a malfunction caus- FP MEMORY CONTROL COND The FP indicator panel has five indicators associated with the FP15 Memory Interface. These indicators are described below. This indicator denotes that an FP memory request is being made. The indicator remains on during the memory cycle. ing the error condition, a scope loop is uti lized. In order to run the instruction test, the program FPSTEP, which is a separate independent program, must be preloaded in core. The FPSTEP program allows diagnostic mode stepping of any FPU instruction. The operator must specify the instruction to be stepped and must specify either an argument or 5.2.2 MREQ This indicator denotes that an FP memory request is initiated. RD RST This indicator denotes that the FP15 is simulating memory and has placed data on the MDL. MRDA This indicator denotes that the FP15 has received data from memory and is releasing memory for additional requests. MRLS ACK This indicator denotes that memory is free to accept additional memory requests. data to be used with the instruction. The FP STEP program can perform the following major functions: 5.2.4 Diagnostic Programs In addition to the built-in diagnostic hardware and indicator panel, the following test programs are a. Scope loop any FP15 instruction at any step rate. b. Automatically step any FPU instruction to completion using a pre-set step rate, with or without typeouts of the FPU registers. c. Step any FP15 instruction with complete control over step rate and register typeouts between steps. d. Restart at any time without affecting the program. Random Exerciser The FP15 Floating-Point Processor Random Exerciser is a test program to simulate system usage for preventive maintenance. A PDP-15 Computer with 8,192 word memory and an FP15 Floating-Point Pro- available. cessor are necessary to run the program. The complete FP15 Instruction Test Hardware Diagnostic Instruction Test - Part 1 FPIT 01 MAINDEC-15-DOTA series should be run prior to running the random exerciser. The following system parameters are se- Instruction Test - Part 2 FPIT 02 MAINDEC-15-DOUA lected: Instruction Test - Part 3 FPIT 03 MAINDEC-15-DOVA Diagnostic Mode Stepping a. b. c. MAINDEC-15-DOWA Floating-Point Diagnostic Random Exerc iser FP STEP 50 or 60 Hz power API or no API The amount of memory to be initialized MAINDEC-1S-DOSA After system parameter selection, the instruction and data format are selected. Hardware operations These test programs are described in the following paragraphs. Before these programs are run, the and software calculations can then be performed on specified operands or on randomly selected func- System Exerciser should be run on a daily basis for preventive maintenance. tions. 5-4 Table 5-3 (Cont) The random exerciser contains a real-time clock (RTC) routine to keep track of time and uses a 24 hour clock (for example, 2:00 p.m. is 14:00). The program will print: Drawing No. Disable RTC Type in time When time is reached enable RTC Time Errors are detected in the random exerciser program by comparing a software calculated arithmetic result to the actual FPU completed result. Occurrence of an error condition causes an error typeout format to be printed. 5.3 ENGINEERING DRAWINGS Engineering drawings pertinent to the FP15 Floating-Point Processor are listed in Table 5-3 and included in a separate volume entitled FP15 Floating Point Processor, Engineering Drawings. Table 5-3 FP15 Floating-Point Processor Engineering Drawings Drawing No. D-UA-FP15-0-0 A-PL-FP15-0-0 D-DI...;FP15-0-67 D-AD-7007243-0-0 A-PL-7007243-0-0 D-MU-FP1S-0-66 A-PL-FP15-0-66 D-BS-FP15-0-01 D-BS -F P15-0-02 D-BS-FP15-0-03 D-BS-FP15-0-04 D-BS-FP15-0-05 D-BS-FP15-0-06 D-BS-FP15-0-07 D-BS-FP15-0-08 D-BS -FP 15-0-09 D-BS-FP15-0-10 D-BS-FP15-0-11 D-BS-FP15-0-12 D-BS-FP15-O-13 D-BS-FP15-0-14 D-BS-FP15-0-15 D-BS-FP15-0-16 D-BS-FP15-0-17 D-BS-FP15-0-18 No. of Sheets 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Title Floating Point Processor Floating Point Processor Drawing Index List (FP15) Wired Assy (FP15) Wi red Assy (FP 15) Module Uti lization Module Utilization Memory I nterface Cab les Memory Dri vers Output Multiplexer (MPO) Multiplexer Inputs (MPI) Multiplexer Control Memory Receivers Buffered Mem Bits 00-17 Buffered Mem Bits 18-35 Time State Generator Memory Interface Ctrl 1 Memory Interface Ctrl 2 Memory Interface Ctrl 3 Instruction Register (IR) Diagnosti c Inst Reg (DIR) Address Register (AE) Diagnostic Address Reg (DAR) A Exponent Register (EPA) B Exponent Register (EPB) D-BS-FP15-0-19 D-BS-FP15-0-20 D-BS-FP15-0-21 D-BS-FP15-0-22 D-BS-FP15-0-23 D-BS-FP15-0-24 D-BS-FP15-0-25 D-BS-FP15-0-26 D-BS-FP15-0-27 D-BS-FP15-0-28 D-BS-FP12-0-29 D-BS-FP15-0-30 D-BS-FP15-0-31 D-BS-FP15-0-32 D-BS -FP 15-0-33 D-BS -FP 15-0-34 D-BS-FP15-0-35 D-BS-FP15-0-36 D-BS-FP 15-0-37 D-BS -FP 15-0-38 D-BS -F P15-0-39 D-BS-FP15-0-40 D-BS-FP15-0-41 D-BS-FP15-0-42 D-BS-FP15-0-43 D-BS-FP15-0-M A-SP-FP15-0-70 A-SP-FP15-0-71 A-SP-FP15-O-72 D-CS-H721-0-1 C-CS-716-0-1 D-FD-FP 15-0-45 D-FD-FP 15-0-46 D-FD-FP15-0-47 D-FD-FP1S-0-48 D-FD-FP 15-0-49 D-FD-FP15-0-50 D-FD-FP15-0-51 D-FD-FP lS-o-52 D-FD-FP1S-0-53 D-FD-FP15-0-54 D-FD-FP1S-o-55 D-FD-FP1S-o-S6 D-FD-FP 15-0-57 D-FD-FP lS-0-S8 D-FD-FP 15-0-59 D-FD -FP 15-0-60 D-FD-FP lS-o-61 D-FD -FP lS-o-62 D-FD-FP1S-0-63 D-FD-FP1S-0-64 Noo of Sheets 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 , I 10 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Title I Arith Logic Unit 00-03 Arith Logic Unit 04-07 Ari th Log i c Un it 08- 11 Arith Logic Unit 12-15 Arith Logic Unit 16-19 Arith Logic Unit 20-23 Arith Logic Unit 24-27 Arith Logic Unit 28-31 Arith Logic Unit 32-35 Carry Look Ahead JMS Exit Address Reg (JEA) Shift Counter (SC) Instruction Decoder Mantissa & Exponent Ctrl Adder Control Load & Store Control 1 Load & Store Control 2 Add & Subtract Ctrl 1 Add & Subtract Ctrl 2 Multiply & Divide Ctrl 1 Multiply & Divide Ctrl 2 Normalize Control Misc Inst Control Diagnostic Control Error Check Indicator Cables Acceptance Specification Installation Specification FP15 Hand Wire List H721 Power Supply 716 Power Supply Fetch Cycle Flow 1 Fetch Cycle Flow 2 Fetch Cycle Flow 3 Opand Cycle Flow 1 Opand Cycle Flow 2 Opand Cycle Flow 3 Write Cycle Flow Add, Sub, Rev Sub, Exp Cycle Add, Sub, Rev Sub, Sub Cycle Floating Mul & Div Exp Cycle Float & Integer Mul Fun Cycle Integer Divide Exp Cycle Float & Integer Div Fun Cycle NOR TS1 Cycle Flow NOR TS2 Cycle Flow ASIGN Swap & Float Control Fix Flow Interrupt Flow Maint Flow 1 Maint Flow 2 5-5 APPENDIX A SIGNAL GLOSSARY Function Signal Mnemonic logic Print Address Acknowledge or Power Clear. BIT 02 SEL FP15-0-D4 Sets bit 02 to indicate JMS type instruction. FP15-0-36 Indicates an addition of two quantities with like signs. BMB 00-35 FP15-0-35 ADD 00-17 SEL FP15-0-35 Used for selecting MPO address lines during a Store instruction. ADD S FP15-0-36 Indicates addition of two quantities with unlike signs (actually a subtraction). Used for loading the FMA during a non-arithmetic function and for loading the FMB during an arithmetic function. This signal generates AUB on D-BS-FP15-0-33 to select the A side of the ALU. BRANCH EN FP15-0~41 Indicates that a successful branch test has occurred. ADD 18-35 SEL FP15-0-35 Used for selecting MPO address lines during a Store instruction. BMB 27-35 SEl FP15-0-35 ADR ACK (1) B FP15-0-01 Notifies the peripheral devices of receipt of MREQ, memory address, and mode of operation (read or write). A signal used to load bits 27 through 35 of the BMB into the EPA or EPB when single-precision floating-point format is specified. ALIGN MA FP15-0-37 Indicates that FMA is to be aligned during addition or subtrcction. Also indicates that the exponent associated with the FMA, in this case, is less than the exponent associated with the FMB. BRANCH TEST FP15-0-41 Indicates a successful branch test was made and a branch is to be performed . BRS FPi5-0-37 ALIGN MB FP15-0-37 Indicates that FMB is to be aligned during addition or subtraction. Also indicates that the exponent associated with the FMB, in this case, is less than the exponent associated with the FMA. In EXP cycie during addition or subtraction, BRS (FMB Right Shift) causes shifting of FMB to al ign mantissas. BUSY FP15-0-11 Indicates that the FP15 is busy and sets up certain conditions for floating-point operation. Signal Mnemonic Logic Print AA + PC FP15-0-05 ADDA Function ALL WRITE FP15-0-12 Indicates that the FP15 is in a WRITE cycle or a diagnostic routine. CARRY P FP15-0-39 Generates the strobe that loads the FMA or FMQ after each sh ift. -ALL ZEROS FP15-0-37 Indicates that the difference between EPA and EPB is not greater than 35 10 • C DIV (Combined Divide) FP15-0-31 This signal represents the OR of Divide and Reverse Divide. AR LOAD FP15-0-15 A signal used to load the AR at FETCH*T3*P3. C DIV INT P FP15-0-38 A SE~, B SEL FP15-0-05 Used to select one of four inputs to be gated through M 1701 Data Selector. Used in the EXP cycle of Integer Divide for negative integers to increment the FMB containing the negative integer. CHANGE FP15-0-11 Indicates that the FP15 has finished the FETCH cycle. A SIGN, B SIGN FP15-0-32 The sign bits of the FMA and FMB, respectively. CHECK EN FP15-0-37 AUA, AUB FP15-0-33 Address lines for selecting the A side of ALU. Determines whether format is floating-point or integer addition or subtraction. AUA1, AUB1 FP15-0-33 Address lines for selecting the B side of ALU. ClK 00-17 FP15-0-07 A signal used to clock bits 00 through 17 of the BMB. AUS FP15-0-33 Strobe line for multiplexer connected to the A side of ALU. ClK 18-35 FP15-0-08 A signal used to clock bits 18 through 35 of the BMB. AUS1 FP15-0-33 Strobe line for multiplexer connected to the B side of AlU. ClR BMB 00-17 FP15-0-35 A ZERO, B ZERO FP15-0-32 Used to detect whether the FMA or FMB registers, respectively, are cleared. (Equal to Zero.) Clears bits 00-17 when a positive 2 15 complement singleprecision integer number is loaded into the BMB. ClR EPA P FP15-0-40 BIT 00-01 DIS FP15-0-04 Sets bits 00 and 01 to indicate jump type instruction. During normalize, FMA is checked to see if it is O. If so, ClR EPA P clears EPA and A SIGN. A-I Signal Mnemonic logic Print Function Signal Mnemonic logic Print Function CLR EXC FP15-0-29 A signal used to clear EXP, FUN, or NOR cycle upon receipt of an interrupt or Branch instruction. DIV COUNT SEl FP1S-0-39 Enables EPA to inputs of shift counter during FUN cycle of Integer Divide. CaMP FP15-0-36 Indicates that an overflow has occurred during subtraction. DlV EXP FP1S-0-39 Initiates EXP cycle during floating-point division. DIV EXP P FP1S-0-39 Used in detecting possible overflow or underflow in the EXP cycle during division. DIVIDE (1) H FP1S-0-43 Indicates abnormal divide has been detected. DlV INC P FP1S-O-38 Used to produce EPA UP on first shift of divide if first subtraction result is positive. DlVMQ FP1S-O-38 Produces AUA to enable FMQ to ALU bus for subsequent swap of the FMA and FMQ at the end of the divide. CaMP MA CaMP MB P FP15-0-34 FP15-0-34 1 Used during integer arithmetic when a negative 2 s complement number is used. This number is converted to sign and magnitude by complementing and incrementing the FMA. CaMP MA complements the FMA. Used during integer arithmetic when a negative 2 1s complement number from memory is used. The number is converted to sign and magnitude format by complementing and incrementing the FMB. CaMP MB complements the FMB. CaMP SUB FP15-0-36 Complements the result if an overflow occurred during a subtraction. DlV MQ SH FP1S-0-38 Produces MXA 1 which enables FMQ to be shifted left in the FUN cycle during division. CN 00 FP15-0-33 Indicates a carry input to the least significant stage of the ALU. DlVP FP1S-0-38 CN 01-08 FP15-0-28 Carry inputs to each AlU from the carry look-ahead generator. A pulse used to produce ALS and MLS during division in order to strobe the FMA and FMQ. A DIV P pulse is produced for each shift during Divide. COND FP15-0-11 Indicates that the FP1S is making a memory request. DIV SHRT P FP1S-0-38 COUNT A LT P FP15-0-39 Shifts FMA and FMQ left during EXP cycle of Integer Divide. Produces ARS which shifts the FMA right one place at the end of the divide process and prior to the swap. CP ACT DIS FP15-0-0l Disables CPU cycle to allow FPU to communicate with memory. DlV SWAP P FP1S-O-38 CP RD RST DIS FP15-0-01 Inhibits CPU from seeing data on MDL. Produces ALS and MlS which causes the contents of the FMA and FMQ to be swapped. C SUB FP15-0-31 This signal represents the OR of Subtract and Reverse Subtract. DIV ZERO FP1S-O-43 A divide-by-zero operation has been attempted. DUMMY EN FP1S-O-05 A signal used in the dummy fetch of the FETCH cycle. DAR ClK FP15-0-16 A signal used to increment the Diagnostic Address Register during Maintenance Mode. EPA GRT FP1S-0-36 Increments the EPA during a floating-point or Fix instruction due to a carry out of the AlU. DATA ACK L FP15-0-01 Notifies memory that it may remove the data from the bus. EPA LD FP1S-0-32 A signal that loads the EPA. DCH SYNC FP15-0-06 Indicates I/O Processor wants memory access. EPA MOVE P FP1S-0-35 DIAG FP15-0-42 Indicates next instruction fetched from core will be interpreted as a Diagnostic instruction Used during Reverse Divide or Reverse Subtract to load the contents of the EPA into the EPB. EPA UP FP1S-0-32 A signal (that increments the EPA). EPB SEL FP1S-0-37 Selects EPB to be inputted to B side of AlU when calculating exponent during multiplication and division. Also used to transfer EPB to EPA if EPB > EPA during addition or subtraction. EXC FP1S-O-ll Indicates that the FP15 is in the EXP, FUN, or NOR cycle, which are all internal cycles within the floating-point processor. EXIT INT + BRANCH FP1S-0-41 Indicates completion of interrupt or Branch instruction. EXP FP15-0-11 Denotes exponent cycle which is used to align or calculate exponents of the operands. EXP EXC (Exponent Exception) FP15-0-37 Used during exponent alignment and indicates that difference between exponents is too large to be aligned. EXP ONES FP15-0-37 Indicates EPB - EPA is greater than positive 35. EXP SEL FP15-O-33 A signal used to enable the EPA during shifting operations. EXP ZEROS FP15-0-37 Indicates EPA - EPB is greater than positive 35. 0 DIR DWN FP15-0-42 DIS CP ACT FP15-0-10 Used to disable the CPU in order to allow the FP1S to gain control of memory. DIS I/O ACT FP15-0-10 Used to prevent I/O from gaining control of memory bus during floating-point operations. DIS RD RST FP15-0-10 Used to disable the CPU from seeing a RD RST signal and allowing the FP1S to gain control of memory. DIV ADD SH FP15-0-38 Produces MXB during Divide if subtraction produces positive resuit. MXB shifts subtracted result left on inputs to FMA. DIV ASH FP15-0-38 Produces MXA during Divide if subtraction produces negative result. MXA enables FMA to be shifted left. DIY COUNT P FP15-0-39 Used to increment the EPA and left-shift the FMQ in the EXP cycle of Integer Divide. A-2 Decrements the DIR for each step of a Diagnostic Step and Read instruction. Signal Mnemonic Logic Print Function FETCH FP1S=O= 11 Denotes FETCH cycle \vhere the instruction is strobed into the FP15 Instruction Register. FIX COUNT FP15-0-41 Establishes the number of shifts required to fix the floatingpoint numbers. FIX + FLOAT SEL FP15-0-41 Indicates a Fix or Float instruction has been selected. FIX P FP15-0-41 Used to load the shift counter with the difference between 35,0 and the EPA and indicates the number of shifts required to fix the number. FIX SHMA FP15-0-41 Upcounts the shift counter and right shifts the FMA and FMQ during a Fix instruction. Signal Mnemonic , .... ,...A. '" Logic Print ""'.P" Function 11..... ~f\ r rrl':>-V-""" ..... J Used during integer arithmetic when a negative 2=s compiement number from memory is used. This number is converted to sign and magnitude by complementing and incrementing the FMA. INCA increments the FMA. INCB P FP15-0-34 Used during integer arithmetic when a negative 2 1s complement number from memory is used. This number is converted to sign and magnitude by complementing and incrementing the FMB. INCB increments the FMB. INT FP15-0-43 I ndi cates an interrupt has been detected. INT + API ST FP15-0-05 Indi cates that a Trap has been found. #'It. FIX SEL FP15-0-41 Indi cates a number greater than 1 wh i ch can be fixed. INT CHECK 1 FP15-0-43 Check for overflow of negative integer during single-precision Integer Store instruction. FIX ZERO FP15-0-41 Indicates a fractional number that cannot be fixed. A SIGN and EPA are cleared. INT CHECK 2 P FP15-0-43 Checks for overflow of positive integer during single-precision Integer Store instruction. INT COMP P FP15-0-35 Loads the complement of the FMA into the FMB during Integer Store. FLOAT + FIX FP15-0-40 Designates floating-point instruction or Fix instruction. FLOAT SEL P FP15-0-41 loads 438 in the EPA during a Float instruction. FLOCK FP15-0-11 Used to set up the FETCH cycle during the start of a floating point operation. INT DIY P FP15-0-39 Used during integer divide to generate signals indicating whether FMA, or FMQ, or both, are to be left-shifted. FMA STROBE FP15-0-36 This signal causes the FMA to be reloaded if an overflow occurs out of the ALU. INT DIY STOP FP15-0-39 Generated when both FMA and FMQ are normalized during Integer Divide. FPCA, FPC FP15-0-09 Floating-point clock outputs. INT INC P FP15-0-35 Used for incrementing the FMB during an Integer Store. FP MRDA FP15-0-10 Memory Release, Data Acknowledge. Used to indicate to memory that cycle is completed and data has been accepted. INT MPY OVR FP15-0-43 Indicates an overflow has occurred during Integer Multiply. FP15-0-10 FP15-0-10 A memory request made by the FP15. Memory senses the request as a CPU memory request. INTRP SYNC (1) H FP MREQ Used to disable program interrupt and API when STALL is set. INT " INT 2 FP15-0-11 This signal is raised during an overflow, underflow, or divide by zero condition to indicate entry to a Service routine in the CPU. I/O ACT DIS FP15-0-01 Disables I/O processor to allow FP15 to communicate with memory. IR ClK FP1S-0-13 A signal used to clock the IR. JMS SEL FP1S-0-43 Forces JMS exit address onto MDL lines: FP MRLS ACK FP15-0-10 Used to simulate MRLS ACK generated by the memory to complete memory cycle. FP RD RST FP15-0-10 Used to simulate Central Processor in order to complete memory cycle. FP WAIT FP1S-0-09 Locks floating-point processor in TS03*PHOl during the dummy FETCH. FUN FP15-0-11 Denotes function cycle which includes the actual instruction to be executed. LD DIY COUNT FP1S-O-39 Causes shift counter to be loaded with 438 in !"he EXP cycle during Integer Divide. GG 00, GG 01 FP15-0-28 Carry generate outputs from carry look-ahead logic used to speed up carry propagation !"hrough the ALU. LD EPA, LD EPB FP1S-O-35 Used to load the EPA or EPB register, respectively, during the OPAND cycle. G01-G07 FP15-0-20 through -26 Carry generate outputs of one of the 4-bit ALU circuits used in carry look-ahead circuitry. LD IR FP15-0-08 A strobe signal used to load the DIR when a floating-point instruction has been detected. GRT FP1S-0-36 Generated {greater than} when a carry occurs out of the MSB of the ALU during addition, subtraction, or rounding. LD JMS P FP15-0-41 A pulse used to load JMS during FUN*TS1. LD MA FP1S-0-35 Used to load the FMA during the OPAND cycle when a nonarithmetic or reverse arithmetic instruction is issued. LD MB FP15-0-35 Used to load the FMB during the OPAND cycle when an arithmetic instruction (except for Reverse Subtract or Reverse Divide) is issued. GUARD FP1S-0-40 Indicates that rounding is possible. HFPC FP1S-0-40 A clock pulse used for normalizing numbers - two HFPC pulses (half FPC) are required per shift during normalize. A-3 Si gna I Mnemon i c Logic Print Used to load the shift counter with 438 to limit the number of shifts during normalize. MPY SHRT FP1S-0-39 During floating-point or Integer Multiply, this signal causes FMA and FMQ to be right-shifted. FP1S-0-37 A pulse used to load the shift counter to check the number of shifts needed for alignment of mantissas. MPY SWAP P FP15-0-38 Produces ALSand MLS in order to zero the FMA and strobe the FMA into the FMQ at the beginning of the FUN cycle in multipli cati on. FP1S-0-36 Indicates A SIGN and B SIGN are both positive or both negative. MQ INT FP1S-0-39 Used in Integer Divide during the EXP cycle to enable the FMB to the ALU bus. MQINTP FP1S-0-39 Produces MLS which strobes the FMB into the FMQ. MRD FP1S-01 Selects read/restore memory cycle. Signal Mnemonic Logic Print Function LD NORM COUNT FP1S-0-40 LD SC P LIKE Function LIMIT FP1S-0-11 Allows FP15 to perform only one level of indirection. MA CHECK FP1S-0-37 Check to see if FMA is equal to O. MB CHECK FP1S-0-37 Checks to see if FMB is equal to O. MAINT MODE (1) H FP1S-0-41 When set, this signal indicates maintenance instructions are to be performed. MA MOVE P FP1S-0-3S Used during Reverse Divide or Reverse Subtract to load the contents of the FMA into the FMB. MREQ FP1S-0l The signal is generated by the CPU requesting start of a memory cycle. MAT CLR FP15-0-10 Indicates that the maintenance instruction is complete and the register contents have been written into memory. MRLS FP1S-0l The CPU issues this signal to release memory for additional requests. M CLR FP15-0-41 Indicates a Debreak instruction or a Power Clear condition. MRLS ACK (l) B FP15-01 Notifies device that memory has accepted data and is terminating memory cycle. MOLEN FP1S-0-11 Enables data from the FP15 to be placed on the MOL. MRS FP1S-0-32 A signal that causes the FMQ to be right-shifted. MOL OO-MDL 17 FP1S-0-Ol 18 memory data lines providing bidirectional transfer of address and/or data from memory. MWR FP15-01 Selects clear/write memory cycle. MPI 00-17 FP15-0-04 Each MPI line can receive one of four different input signals. Data on the output line is determined by select signals MOA and MOB. MXA,MXB FP15-0-32 Used as select signals to supply data from one of four sources to the FMA. MXA, MXB, MXC, MXD FP 15-0-05 Select lines to select one of 16 possible inputs to MPO. MXA1, MXBl FP15-0-32 Used as select signals to supply data from one of four sources of the FMQ. MPO 00-17 FP1S-0-03 18 output multiplexer I ines that transfer one of sixteen 18-bit words to memory. Memory Release, Data Acknowledge. Issued by the FP1S to indicate data has been received and to allow additional memory requests. MRDA M PWR-OK FP15-01 Memory power is applied to the memory circuits. MPY + DlV EXP P FP1S-0-39 Used to produce EPB LD which strobes ALU contents into EPB in the EXP cycle of Multiply or Divide. NOR FP15-0-11 Denotes normalize cycle, where an operand is to be normalized. NOREN FP 15-0-32 A signal which causes normalize to occur when requested. MPY + DlV ODD FP1S-D-38 This signal indicates negative quotient. NORM DONE FP1S-0-40 'Indicates FMA 01 is on a 1 and normalize is completed. MPY + DlV OVR P FP15-0-43 Indicates an overflow has been detected during multiplication or division. NORM P FP15-0-40 Pulse used for normalizing FMA. A NORM P pulse is generated for each normalize shift. MPY + DIV UND P FP1S-0-43 Indicates an underflow has been detected during multiplication or division. NOR SEL FP15-0-40 Indicates normalization has been requested. ODD FP 15-0-36 Indicates sign bits (A SIGN and B SIGN) are not equal. MPY EXP P FP15-0-39 Used in detecting possible underflow or overflow in the EXP cycle during multiplication. OPAND FP15-0-11 Denotes OPAND cycle in which the operand(s) is fetched from memory. MPY P FP1S-0-39 Used to produce ALS and MRS in order to load the FMA and shift FMQ right during multiplication. OPAND DWN P FP1S-0-12 MPY SEL FP1S-0-38 Produces A+B which strobes FMA + FMB into the ALU. Down counts the shift counter during the OPAND cycle. Up to three down counts are possible depending on number of operands required from memory. MPY SHAD FP1S-0-39 Produces MXA and MXB during floating-point and Integer Multiply which causes the added result to be shifted right at inputs to FMA and also enables FMQ for right-shift. OVR (1) H FP 15-0-43 Indicates an overflow has been detected. POl-P07 FP1S-0-20 through -26 Carry propagate outputs from the ALU where a carry is propagated at the output of a 4-bit ALU circuit. A-4 Signal Mnemonic logic Print Propagate output from the carry look-ahead circuitry used to indicate a carry was propagated from previous stage. STAll RESET FP1S-O-l0 Used to reset the STALL flip-flop as a result of a PI or API break. FP1S-0-3S Used to inh ibit the stepping of the sh ift counter during floatingpoint Divide (FUN cycle). PREP SC loads the shift counter at NOR*T3. STALL STB FP1S-0-06 Monitors MDL lines and strobes data into FP1S when 71XXXXS has been detected. STEP P FP1S-0-42 Indi cates first step of Diagnostic Step and Read instruction. RD RST (1) B FP1S-0l Notifies the CPU that the data from memory is on the bus and ready to be strobed into the MI register. STOP ALIGN FP1S-0-37 RND FP1S-0-40 Indicates that rounding has been requested and is about to take place. Used during EX P cycle of addition or subtraction when exponent difference is greater than 35 and denotes that alignment is completed or no alignment is to be performed. STOP ClK FP1S-0-42 RND+1 FP1S-0-36 Occurs during addition at FUN*T1 as a result of mantissa alignment. Halts the FP1S Clock to allow sixteen lS-bit words to be transferred to memory during a Diagnostic Step and Read or Diagnostic Read instruction. ROUND MA P FP1S-O-40 Indicates FMA is to be rounded if guard is set. STOP DIV FP1S-0-3S Stops the division process when the divisor is normalized. R SET (1) H FP1S-0-09 A si gna I that clears R SET SYNC wh i ch allows ST PHAS E to reset in order to start the phase and time state generator. STORE CaMP FP1S-0-3S Indi cates that the contents of the FMB are written into memory. This signal is raised for a negative integer. R SET SYNC FP1S-0-09 Used to reset ST PHASE in order to reset the FP clock. FP1S-0-41 RT CP FP1S-0-11 Allows CPU to complete cycle since the FP1S simulates an Nap which is transmitted to the CPU. STORE JEA STORE OVR P Used to store the JEA. Indicates that overflow has been detected during normalization of a single-precision floating-point Store instruction. SC ADDR A, SC ADDR B FP1S-O-30 Selects one of two address lines on the M1701 Data Selector which is outputted to the shift counter. STORE RND P FP1S-0-35 Used to round on a single-precision floating-point Store instruction. FP1S-O-3S FP 15-0-37 SEl A is ~enerated when the absolute value of EPA-EPB is greater than 2 7. SEl B is generated when the absolute value of EPA-EPB is greater than 217_ i . STORE SEl Used to select inputs to the multiplexer during a WRITE cycle. SEL A, SEL B STORE UND P FP1S-O-43 Indicates that underflow has been detected during normalization of a single-precision floating-point Store instruction. SEL C, SEl D FP1S-0-37 SEl C is generated when EPB is more positive than EPA and both are positive quantities. SEl D is generated when EPA is more negative than EPB and both quantities are negative. ST PHASE FP1S-O-09 Used to stop the phase during arithmetic operations. SUB A FP1S-0-36 Indicates a subtraction of two quantities with unlike signs (actually an addition). SUB S FP1S-0-36 Indicates a subtraction of two quantities with like signs. Signal Mnemonic logic Print Function PPOO, PPOi FP15-0-28 PREP SC FP1S-0-43 Function SEL DIAG FP1S-0-42 Maintenance mode is enabled and the instruction on which maintenance is to be performed was loaded. SWAP MQ P FP1S-0-41 Used to swap the contents of the FMA and FMQ. SET BMB 00-17 FP1S-0-3S Sets bits 00 through 17 to all lis when a negative 2 1s complement single-precision integer number is loaded into the BMB. TRANSFER FP1S-0-42 SET FP FP1S-0-10 Indicates that the CPU is fetching the address of the argument. TRANS EN FP1S-0-1O SET OVR FP1S-0-43 Detects overflow during multiplication or division. Enables Transfer P which initiates transfer of sixteen lS-bit words to memory. Used during Maintenance mode to indicate completion of transfer of data from sixteen registers to memory. TRANS EPB FP1S-0-37 SET SC 17 FP1S-0-30 Used to indi cate the number of operands or the number of write cycles to be performed. Transfers contents of EPB into EPA during exponent alignment when the EPB is greater than the EPA. TRANSFER P FP15-0-42 SET UND FP1S-0-43 Detects underflow during multipJi cation or division. Initiates transfer of sixteen lS-bit words to memory during Maintenance mode. SET ZERO FP1S-0-39 Indicates a zero quotient and also that shifting is halted. FP15-0-09 Various time state of the time state generator. SKIP ZERO FP1S-0-39 Decreases amount of time between carry pulses for multiplication when a shift rather than an add and shift is to be performed. TS 1 (1), TS 2 (1), TS 3 (1) UND (1) H FP15-0-43 Indicates an underflow has been detected. UND SYNC (1) H FP1S-0-43 Used for storage of temporary underflow condition. WRITE FP15-0-11 Denotes WRITE cycle in which data is written into memory. WRITE DWN P FP1S-O-02 Down counts the shift counter during the WRITE cycle. Up to three down counts are possible. . SO, Sl, S2, S3 STAll FP1S-0-33 FP1S-0-1O Address selection lines used to specify arithmetic or logical operations to be performed by AlU (see FP1S-0-33). Generated during detection of a 71XXXXS op code denoting an FP instruction. A-5
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies