User’s Manual
PPC440x5 CPU Core Preliminary
Page 54 of 589
prgmodel.fm.
September 12, 2002
• cause a Floating-Point Unavailable interrupt if the instruction is recognized as a floating-point instruction,
but floating-point processing is disabled; or
• cause an Unimplemented Instruction exception type Program interrupt, if the instruction is recognized as
a floating-point instruction and floating-point processing is enabled, but the instruction is not supported by
the implementation; or
• perform the actions described in the rest of this document, if the instruction is recognized and supported
by the implementation. The architected behavior may cause other exceptions.
The PPC440x5 core recognizes and fully supports all of the instructions in the defined class, with a few
exceptions. First, because the PPC440x5 is a 32-bit implementation, those operations which are defined
specifically for 64-bit operation are not supported at all, and will always cause an Illegal Instruction exception
type Program interrupt.
Second, instructions that are defined for floating-point processing are not supported within the PPC440x5
core, but may be implemented within an auxiliary processor and attached to the core using the AP interface.
If no such auxiliary processor is attached, attempting to execute any floating-point instructions will cause an
Illegal Instruction exception type Program interrupt. If an auxiliary processor which supports the floating-point
instructions is attached, the behavior of these instructions is as defined above and as determined by the
implementation details of the floating-point auxiliary processor.
Finally, there are two other defined instructions which are not supported within the PPC440x5 core. One is a
TLB management instruction (tlbiva, TLB Invalidate Virtual Address) that is specifically intended for
coherent multiprocessor systems. The other is mfapidi (Move From Auxiliary Processor ID Indirect), which
is a special instruction intended to assist with identification of the auxiliary processors which may be attached
to a particular processor implementation. Since the PPC440x5 core does not support mfapidi, the means of
identifying the auxiliary processors in a PPC440x5 core-based system are implementation-dependent.
Execution of either tlbiva or mfapidi will cause an Illegal Instruction exception type Program interrupt.
2.3.2 Allocated Instruction Class
This class of instructions contains a set of primary opcodes, as well as extended opcodes for certain primary
opcodes. The specific opcodes are listed in Appendix A.3 on page 557.
Allocated instructions are provided for purposes that are outside the scope of PowerPC Book-E, and are for
implementation-dependent and application-specific use.
PowerPC Book-E declares that any attempt to execute an allocated instruction results in one of the following
effects:
• Causes an Illegal Instruction exception type Program interrupt, if the instruction is not recognized by the
implementation
• Causes an Auxiliary Processor Unavailable interrupt if the instruction is recognized by the implementa-
tion, but allocated instruction processing is disabled
• Causes an Unimplemented Instruction exception type Program interrupt, if the instruction is recognized
and allocated instruction processing is enabled, but the instruction is not supported by the implementa-
tion
• Perform the actions described for the particular implementation of the allocated instruction. The imple-
mentation-dependent behavior may cause other exceptions.