A method of pre-aligning data for storage during instruction execution
improves performance by eliminating the cycles otherwise required for
data alignment. The method can convert data between ASCII and Packed
Decimal format, and between Unicode Basic Latin and Packed Decimal
format. Conversion to Packed Decimal format is needed for decimal
hardware in a microprocessor designed to generate decimal results.
Converting from Packed Decimal to ASCII and Unicode Basic Latin is
necessary to report Decimal Arithmetic results in a required format for
the application program. To further improve performance, all available
write ports in the fixed point unit (FXU) are utilized to reduce the
number of cycles necessary to store results. To prevent data fetching of
the unused destination data from slowing down instruction execution, the
destination locations are tested for storage access exceptions, but the
data for these operands are not actually fetched. A single read request
from the FXU to the operand buffers effectively reads the entire
destination address (up to 8 double-words of data) in a single cycle.