Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesMultimedia Instructions: The CPU Acts Like a DSP


April 1997 / International Features / Next-Generation Multimedia Desktops / Multimedia Instructions: The CPU Acts Like a DSP

Sun Microsystems was the first company to introduce CPU multimedia features, with its Visual Instruction Set (VIS) for its UltraSparc CPU. Now all major processor architectures (except PowerPC) have defined multimedia instruction extensions, which vary somewhat in scope and feature sets. These instructions accelerate calculations and make most 2-D and 3-D graphics and/or video, audio, voice-processing, and data communications tasks up to several times faster.

So-called multimedia extensions are actually instructions that deal with arithmetic and logic operations. These are done on packed data types, such as 8- by 8-bit bytes, 4- by 16-bit words, or 2- by 32-bit doublewords, all packed inside one 64-bit quadword.

Integrated Processing

Based on the single instruction/multiple data (SIMD) principle, multimedia extensions can process multiple sets of small operands and obtain multiple results with a single instruction. Operations include packing and unpacking, arithmetic, comparisons, logic, shifting, and (on SPARC and Alpha machines) motion estimation for motion-video encoding. The ultimate goal is the integrated real-time processing of multiple audio, video, and 2-D and 3-D graphics streams on a system CPU, although time is still needed to attain that level of performance.

Several multimedia extensions have been announced thus far: Matrix Manipulation Extensions (MMX) for the Intel x86, VIS for SPARC chips, Motion Video Instructions (MVI) for Alpha processors, and Mips Digital Me-dia Extensions (MDMX) for Mips processors. Intel's MMX focuses on augme nting the old, outdated x86 architecture so that it can handle basic multimedia. VIS, MVI, and MDMX build on more-solid RISC architectures with three-operand instructions and large sets of 64-bit registers (which are already present) to facilitate multimedia tasks.

On Intel's P55C and Klamath chips, the ALUs and eight 64-bit media registers are shared with the FPU, so MMX and floating-point instructions cannot be processed simultaneously. This is a problem during rendering operations, where the FPU is doing geometry calculation and MMX instructions are simultaneously trying to do texture mapping. Frequent switching between floating-point and MMX modes can impair performance.

With the Alpha, on the other hand, the 32 64-bit integer registers handle multimedia operations simultaneously with other integer instructions. Sun's VIS is similar to Digital Equipment's MVI in that it enables operation on an entire 4-by-4 matrix directly to its 32 registers, compared to only eight registers for Intel's MMX.

MMX2

Intel's current MMX is primarily focused on image, audio, and video processing. Intel is expected to introduce in the first half of 1998 the MMX2 set of instructions for the planned Katmai Pentium Pro processor. The 0.25-micron-line-width Katmai, running at up to 400 MHz, should have a 2- by 32-KB cache and offer faster floating-point performance than its MMX-only, 2- by 16-KB-cache sibling, Deschutes.

How? Because the MMX2 will focus on floating-point-intensive 3-D graphics acceleration, and thus have much heavier memory demands. In fact, MMX2 is expected to have extensions that are very similar to the new MDMX extensions for future Silicon Graphics Mips processors.


Up to the International Features section contentsGo to previous article: Multimedia Instructions: The CPU Acts Like a DSPGo to next article: Dedicated Graphics Chips for Multimedia ProcessingSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network