
3.0 Functional Description
(Continued)
Using the Addressing Mode fields within the Operation
Word, the CPU starts fetching operands and issuing them to
the FPU. To do so, it references any Addressing Mode ex-
tensions appended to the FPU instruction. Since the CPU is
solely responsible for memory accesses, these extensions
are not sent to the Slave Processor. The Status Code ap-
plied is 01 (Transfer Slave Processor Operand, Table 3-1).
After the CPU has issued the last operand, the FPU starts
the actual execution of the instruction. Upon completion, it
will signal the CPU by pulsing SPC low. To allow for this, the
CPU releases the SPC signal, causing it to float. SPC must
be held high by an external pull-up resistor.
Upon receiving the pulse on SPC, the CPU uses SPC to
read a Status Word from the FPU, applying Status Code 10.
This word has the format shown in
Figure 3-7 . If the Q bit
(‘‘Quit’’, Bit 0) is set, this indicates that an error has been
detected by the FPU. The CPU will not continue the proto-
col, but will immediately trap through the Slave vector in the
Interrupt Table. If the instruction being performed is CMPf
(Section 2.2.3) and the Q bit is not set, the CPU loads Proc-
essor Status Register (PSR) bits N, Z and L from the corre-
sponding bits in the Status Word. The NS32081 FPU always
sets the L bit to zero.
TL/EE/5234 – 18
FIGURE 3-7. FPU Protocol Status Word Format
The last step in the protocol is for the CPU to read a result,
if any, and transfer it to the destination. The Read cycles
from the FPU are performed by the CPU while applying
Status Code 01 (Section 4.1.2).
TABLE 3-1. General Instruction Protocol
Step
Status
Action
1
11
CPU sends ID Byte.
2
01
CPU sends Operation Word.
3
01
CPU sends required operands.
4
XX
FPU starts execution.
5
XX
FPU pulses SPC low.
6
10
CPU reads Status Word.
7
01
CPU reads result (if any).
3.5.2 Floating-Point Protocols
Table 3-2 gives the protocols followed for each floating-
point instruction. The instructions are referenced by their
mnemonics. For the bit encodings of each instruction, see
Section 2.2.3.
The Operand Class columns give the Access Classes for
each general operand, defining how the addressing modes
are interpreted by the CPU (see Series 32000 Instruction
Set Reference Manual).
The Operand Issued columns show the sizes of the oper-
ands issued to the Floating-Point Unit by the CPU. ‘‘D’’ indi-
cates a 32-bit Double Word. ‘‘i’’ indicates that the instruction
specifies an integer size for the operand (B
e
Byte, W
e
Word, D
e
Double Word). ‘‘f’’ indicates that the instruction
specifies a floating-point size for the operand (F
e
32-bit
Standard Floating, L
e
64-bit Long Floating).
The Returned Value Type and Destination column gives the
size of any returned value and where the CPU places it. The
PSR Bits Affected column indicates which PSR bits, if any,
are updated from the Slave Processor Status Word (
Figure
3-7 ).
Any operand indicated as being of type ‘‘f’’ will not cause a
transfer if the Register addressing mode is specified, be-
cause the Floating-Point Registers are physically on the
Floating-Point Unit and are therefore available without CPU
assistance.
TABLE 3-2. Floating Point Instruction Protocols
Mnemonic
Operand 1
Operand 2
Operand 1
Operand 2
Returned Value
PSR Bits
Class
Class
Issued
Issued
Type and Dest.
Affected
ADDf
read.f
rmw.f
f
f
f to Op. 2
none
SUBf
read.f
rmw.f
f
f
f to Op. 2
none
MULf
read.f
rmw.f
f
f
f to Op. 2
none
DIVf
read.f
rmw.f
f
f
f to Op. 2
none
MOVf
read.f
write.f
f
N/A
f to Op. 2
none
ABSf
read.f
write.f
f
N/A
f to Op. 2
none
NEGf
read.f
write.f
f
N/A
f to Op. 2
none
CMPf
read.f
read.f
f
f
N/A
N,Z,L
FLOORfi
read.f
write.i
f
N/A
i to Op. 2
none
TRUNCfi
read.f
write.i
f
N/A
i to Op. 2
none
ROUNDfi
read.f
write.i
f
N/A
i to Op. 2
none
MOVFL
read.F
write.L
F
N/A
L to Op. 2
none
MOVLF
read.L
write.F
L
N/A
F to Op. 2
none
MOVif
read.i
write.f
i
N/A
f to Op. 2
none
LFSR
read.D
N/A
D
N/A
N/A
none
SFSR
N/A
write.D
N/A
N/A
D to Op. 2
none
D
e
Double Word
i
e
Integer size (B, W, D) specified in mnemonic.
f
e
Floating-Point type (F, L) specified in mnemonic.
N/A
e
Not Applicable to this instruction.
12