Chapter 7. The AltiVec Technology Implementation
7-1
Chapter 7
The AltiVec Technology Implementation
The AltiVec technology, a short vector parallel architecture, extends the instruction set
architecture (ISA) of the PowerPC architecture. AltiVec technology is. The AltiVec ISA is
based on separate vector/SIMD-style (single instruction stream, multiple data streams)
execution units that have high-data parallelism. That is, the AltiVec technology operations
can perform on multiple data elements in a single instruction. The term vector in this
document refers to the spatial parallel processing of short, Txed-length, one-dimensional
matrices performed by an execution unit. It should not be confused with the temporal
parallel (pipelined) processing of long, variable-length vectors performed by classical
vector machines.
High degrees of parallelism are achievable with simple in-order
instruction dispatch and low-instruction bandwidth. However, the ISA is designed so as not
to impede additional parallelism through superscalar dispatch to multiple execution units
or multithreaded execution unit pipelines.
The AltiVec speciTcation describes, but does not require, many aspects of a preferred
implementation. The MPC7400 implements the following key features of a preferred
implementation:
¥
All data paths and execution units are 128 bits wide
¥
There are two independent AltiVec subunits, one for permute (VPU) and one for all
arithmetic and logical (VALU) instructions
¥
The memory subsystem is redesigned to provide very high bandwidth
¥
The data stream touch instructions,
dst
(
t
) (for loads) and
dstst
(
t
) are implemented
in their full, four-tag form.
The AltiVec instruction set both deTnes entirely new resources and extends the
functionality of the PowerPC architecture. These changes are described in the following
sections.
7.1 AltiVec Technology and the Programming Model
The following sections describe how the AltiVec technology affects features of the
programming model as described in Chapter 2, òProgramming Model.ó Although the
AltiVec speciTcation describes four optional user-mode SPRs for thread management, the
MPC7400 does not implement these registers.