MOTOROLA
Chapter 3. Central Processing Unit
3-7
Levels of the MPC500 Architecture
3.4.4
Floating-Point Unit (FPU)
The FPU contains a double-precision multiply array, the floating-point status and control
register (FPSCR), and the FPRs. The multiply-add array allows the MPC565/MPC566 to
efficiently implement floating-point operations such as multiply, multiply-add, and divide.
The MPC565/MPC566 depends on a software envelope to fully implement the IEEE
floating-point specification. Overflows, underflows, NaNs (not a number), and
denormalized numbers cause floating-point assist exceptions that invoke a software routine
to deliver (with hardware assistance) the correct IEEE result.
To accelerate time-critical operations and make them more deterministic, the
MPC565/MPC566 provides a mode of operation that avoids invoking the software
envelope and attempts to deliver results in hardware that are adequate for most applications,
if not in strict compliance with IEEE standards. In this mode, denormalized numbers,
NaNs, and IEEE invalid operations are legitimate, returning default results rather than
causing floating-point assist exceptions.
3.5
Levels of the MPC500 Architecture
The MPC500 architecture consists of three levels. Adherence to the MPC500 architecture
can be measured in terms of which of the following levels of the architecture are
implemented:
User instruction set architecture (UISA) — defines the base user-level instruction
set, user-level registers, data types, floating-point exception model, memory models
for a uniprocessor environment, and programming model for a uniprocessor
environment.
Virtual environment architecture (VEA) — describes the memory model for a
multiprocessor environment, and describes other aspects of virtual environments.
Implementations that conform to the VEA also adhere to the UISA, but may not
necessarily adhere to the OEA.
Operating environment architecture (OEA) — defines the memory-management
model, supervisor-level registers, synchronization requirements, and the exception
model. Implementations that conform to the OEA also adhere to the UISA and the
VEA.
3.6
RCPU Programming Model
The MPC500 architecture defines register-to-register operations for most computational
instructions. Source operands for these instructions are accessed from the registers or are
embedded in the instruction opcode. The three-register instruction format allows
specification of a target register distinct from the two source operands. Load and store
instructions transfer data between memory and on-chip registers.