Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Multimedia Acceleration eXtensions

From Wikipedia, the free encyclopedia
"MAX-2" redirects here. For the video game, seeMechanized Assault & Exploration 2.

TheMultimedia Acceleration eXtensions orMAX are instruction set extensions to theHewlett-PackardPA-RISCinstruction 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-bitSIMDdata types consisting of multiple 16-bit integers packed ingeneral purpose registers. The available functionality includes additions, subtractions and shifts.

The first version,MAX-1, was for the32-bit PA-RISC 1.1 ISA. The second version,MAX-2, was for the64-bit PA-RISC 2.0 ISA.

Notability

[edit]

The approach is notable because the set of instructions is much smaller than in other multimedia CPUs, and also more general-purpose. The small set and simplicity of the instructions reduce the recurring costs of the electronics, as well as the costs and difficulty of the design. The general-purpose nature of the instructions increases their overall value. These instructions require only small changes to a CPU's arithmetic-logic unit. A similar design approach promises to be a successful model for the multimedia instructions of other CPU designs.[1][2][3] The set is also small because the CPU already included powerful shift and bit-manipulation instructions: "Shift pair" which shifts a pair of registers, "extract" and "deposit" of bit fields, and all the common bit-wise logical operations (and, or, exclusive-or, etc.).[2]

This set of multimedia instructions has proven its performance, as well. In 1996 the 64-bit "MAX-2" instructions enabled real-time performance ofMPEG-1 andMPEG-2 video while increasing the area of a RISC CPU by only 0.2%.[1]

Implementations

[edit]

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

The basic approach to the arithmetic in MAX-2 is to "interrupt the carries" between the 16-bit subwords, and choose between modular arithmetic, signed and unsigned saturation. This requires only small changes to the arithmetic logic unit.[2]

MAX-1

[edit]
InstructionDescription
HADDParallel add with modulo arithmetic
HADD,ssParallel add with signed saturation
HADD,usParallel add with unsigned saturation
HSUBParallel subtract with modulo arithmetic
HSUB,ssParallel subtract with signed saturation
HSUB,usParallel subtract with unsigned saturation
HAVEParallel average
HSHLADDParallel shift left and add with signed saturation
HSHRADDParallel shift right and add with signed saturation

MAX-2

[edit]

MAX-2 instructions are register-to-register instructions that operate on multiple integers in 64-bit quantities. All have a one cycle latency in thePA-8000 microprocessor and its derivatives. Memory accesses are via the standard 64-bit loads and stores.

The "MIX" and "PERMH" instructions are a notable innovation because they permute words in the register set without accessing memory. This can substantially speed many operations.[2]

InstructionDescription
HADDParallel add with modulo arithmetic
HADD,ssParallel add with signed saturation
HADD,usParallel add with unsigned saturation
HSUBParallel subtract with modulo arithmetic
HSUB,ssParallel subtract with signed saturation
HSUB,usParallel subtract with unsigned saturation
HSHLADDParallel shift left and add with signed saturation
HSHRADDParallel shift right and add with signed saturation
HAVGParallel average
HSHRParallel shift right signed
HSHR,uParallel shift right unsigned
HSHLParallel shift left
MIXMix 16-bit sub-words in a 64-bit word; MIX Left, Ra,Rb,Rc, Rc:=a1,b1,a3,b3; MIX Right, Rc:=a2,b2,a4,b4[2]
MIXWMix 32-bit sub-words in a 64-bit word; e.g. MIXW Left, Ra,Rb,Rc, Rc:=a1,a2,b1,b2; MIXW Right, Rc:=a3,a4,b3,b4[2]
PERMHPermute 16-bit sub-words of the source in any possible permutation in the destination register, including repetitions.[2]

References

[edit]
  1. ^abcLee, Ruby B. (August 1996)."Subword Parallelism with MAX-2"(PDF).IEEE Micro.16 (4):51–59.doi:10.1109/40.526925. Retrieved21 September 2014.
  2. ^abcdefgLee, Ruby; Huck, Jerry (February 25, 1996). "64-bit and multimedia extensions in the PA-RISC 2.0 architecture".COMPCON '96. Technologies for the Information Superhighway Digest of Papers. pp. 152–160.doi:10.1109/CMPCON.1996.501762.ISBN 0-8186-7414-8.S2CID 13081443.
  3. ^Lee, Ruby B. (April 1995)."Accelerating Multimedia with Enhanced Microprocessors"(PDF).IEEE Micro.15 (2):22–32.doi:10.1109/40.372347. Retrieved21 September 2014.
SIMD (RISC)
SIMD (x86)
Bit manipulation
  • BMI (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012)
  • ADX (2014)
Compressed instructions
Security andcryptography
Transactional memory
Virtualization
Suspended extensions' dates arestruck through.
Products
Personal computers
Desktops
Laptops
Workstations and servers
Mobile devices
Printing and imaging
Microprocessors
Computer buses
Other hardware
Services
CEOs
Assets
Acquisitions
Spin-offs
Related
  • Asterisk (*) denotes product lines continued byHP Inc.
  • Double asterisk (**) denotes product lines and companies now property ofHewlett Packard Enterprise
  • Dagger (†) denotes assets or companies divested and sold off
Retrieved from "https://en.wikipedia.org/w/index.php?title=Multimedia_Acceleration_eXtensions&oldid=1305211843"
Categories:

[8]ページ先頭

©2009-2025 Movatter.jp