Special Instructions for Graphics and Multi-Media Alexander Blood David Waterman CS 350 Dr. Abzug 3DNow!, Advanced 3DNow!, Athlon, and Duron, are trademarks of Advanced Micro Devices, Inc. Pentium, MMX, SSE, Pentium II, Pentium III, Pentium IV, and Celeron are trademarks of Intel Corporation.
We will be focusing on: a. Intel's MMX b. Intel’s SSE (MMX2) c. AMD's 3DNow!
Why Multimedia Instructions? • The main idea behind MMX and all of the new 'Multimedia Instructions Sets' is that a lot of data of the same type is processed • The software normally performs the same action on all of these things when it's processing them • Generally it's faster to deal with many of these things at once than to do them each one after the other
What is SIMD? • A SIMD machine takes advantage of a property of the data stream called data parallelism • “Data Parallelism is when you have a large mass of data of a uniform type that needs the same instruction performed on it”
How MMX works? • 57 new instructions • 8 64-bit registers • Registers can be subdivided into: • 8 elements x 8-bit integers (packed byte) • 4 elements x 16-bit signed or unsigned integers (packed word) • 2 elements x 32-bit signed or unsigned integers (packed double word) • Shares registers with floating-point operations
MMX Pros and Cons • Pros: • Deals with multiple calculations at once • Can hold different types of data • Cons: • Due to register sharing, cannot perform MMX and floating-point arithmetic at the same time • Requires new compiler to execute MMX instructions • Only works on integer values
3DNow! and Advanced 3DNow! • 8 128-bit registers • Backwards compatible with MMX • 21 Unique floating-point instructions • 24 Additional instructions for Advanced 3DNow! • New instructions allow data to be requested before being used, saving processor time
SSE (MMX2) • Additional 8 128-bit registers for floating-point instructions • 128-bit calculations broken down into 2 64-bit calculations • 64-bit calculations done separately, can take multiple clock cycles
Consumer processors and available SIMD features • AMD • 3DNow! • K6-2 • K6-3 • Advanced 3DNow! • Athlon • Duron • Intel • MMX: • Pentium MMX • Pentium Pro • Pentium II • Celeron • SSE: • Pentium III • Pentium IV • Celeron 2
Related Links • Intel Corporation • http://www.intel.com/ • Advanced Micro Devices, Inc. • http://www.amd.com/us-en/ • Ars Technica: 3 1/2 SIMD Architectures • http://www.arstechnica.com/cpu/1q00/simd/simd-1.html • MMX And Beyond • http://www.rojak-pot.com/Other_Articles/MMX_And_Beyond/MMX_And_Beyond_01.htm