Multimedia Acceleration eXtensions

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Multimedia Acceleration eXtensions or MAX are instruction set extensions to the Hewlett-Packard PA-RISC instruction set architecture (ISA).

MAX was developed to improve the performance of multimedia applications that were becoming more prevalent during the 1990s.

MAX instructions operate on 32- or 64-bit SIMD data types consisting of multiple 16-bit integers packed in general purpose registers. The available functionality includes additions, subtractions and shifts.

The first version, MAX-1, was for the 32-bit PA-RISC 1.1 ISA. The second version, MAX-2, was for the 64-bit PA-RISC 2.0 ISA.

Implementations[edit]

MAX-1 was first implemented with the PA-7100LC in 1994. It is usually attributed as being the first SIMD extensions to an ISA. The second version, MAX-2, was for the 64-bit PA-RISC 2.0 ISA. It was first implemented in the PA-8000 microprocessor released in 1996.

MAX-1[edit]

Instruction Description
HADD Parallel add with modulo arithmetic
HADD,ss Parallel add with signed saturation
HADD,us Parallel add with unsigned saturation
HSUB Parallel subtract with modulo arithmetic
HSUB,ss Parallel subtract with signed saturation
HSUB,us Parallel subtract with unsigned saturation
HAVE Parallel average
HSHLADD Parallel shift left and add with signed saturation
HSHRADD Parallel shift right and add with signed saturation

MAX-2[edit]

MAX-2 instructions operate on multiple integers in 64-bit quantities. All have a one cycle latency in the PA-8000 microprocessor and its derivatives.

Instruction Description
HADD Parallel add with modulo arithmetic
HADD,ss Parallel add with signed saturation
HADD,us Parallel add with unsigned saturation
HSUB Parallel subtract with modulo arithmetic
HSUB,ss Parallel subtract with signed saturation
HSUB,us Parallel subtract with unsigned saturation
HSHLADD Parallel shift left and add with signed saturation
HSHRADD Parallel shift right and add with signed saturation
HAVG Parallel average
HSHR Parallel shift right signed
HSHR,u Parallel shift right unsigned
HSHL Parallel shift left
MIXH Mix
MIXW Mix
PERMH Permute

References[edit]