2-34
MPC7400 RISC Microprocessor Users Manual
Operand Conventions
For arithmetic instructions, conversion from double- to single-precision must be done
explicitly by software, while conversion from single- to double-precision is done implicitly
by the processor.
All PowerPC implementations provide the equivalent of the following execution models to
ensure that identical results are obtained. The deTnition of the arithmetic instructions for
inTnities, denormalized numbers, and NaNs follow conventions described in the following
sections.
Although the double-precision format speciTes an 11-bit exponent, exponent arithmetic
uses two additional bit positions to avoid potential transient overow conditions. An extra
bit is required when denormalized double-precision numbers are prenormalized. A second
bit is required to permit computation of the adjusted exponent value in the following
examples when the corresponding exception enable bit is one:
¥
¥
Underow during multiplication using a denormalized operand
Overow during division using a denormalized divisor
2.2.2 Data Organization in Memory and Data Transfers
Bytes in memory are numbered consecutively starting with 0. Each number is the address
of the corresponding byte.
Memory operands can be bytes, half words, words, or double words, quad words, or, for the
load/store multiple and load/store string instructions, a sequence of bytes or words. The
address of a memory operand is the address of its Trst byte (that is, of its lowest-numbered
byte). Operand length is implicit for each instruction.
2.2.3 Alignment and Misaligned Accesses
The operand of a single-register memory access instruction has an alignment boundary
equal to its length. An operands address is misaligned if it is not a multiple of its width.
The concept of alignment is also applied more generally to data in memory. For example,
a 12-byte data item is said to be word-aligned if its address is a multiple of four.
Some instructions require their memory operands to have certain alignment. In addition,
alignment can affect performance. For single-register memory access instructions, the best
performance is obtained when memory operands are aligned.
Instructions are 32 bits (one word) long and must be word-aligned.
The MPC7400 does not provide hardware support for oating-point memory that is not
word-aligned. If a oating-point operand is not word-aligned, the MPC7400 invokes an
alignment exception, and it is left up to software to break up the offending storage access
operation appropriately. In addition, some non-double-wordDaligned memory accesses
suffer performance degradation as compared to an aligned access of the same type.