Is Intel interested in imaging?
Andy Wilson Editor
Recently I received a phone call from an independent vendor of image-processing software. During the conversation, he expressed great delight that Intel (Santa Clara, CA) has decided to integrate a single-instruction multiple-data (SIMD) technique into its line of Pentium processors. Not only will this speed graphics, games, and desktop applications, but it may prove beneficial to image-processing packages. I decided to investigate.
Announced more than one year ago, Intel`s multimedia-extension (MMX) architecture uses a SIMD technique that lets the processor perform a calculation on several data elements simultaneously--up to eight at a time. This is done by packing data multiples into a single 64-bit register and operating on all the data in parallel.
MMX uses four data types, each of which uses 64 bits. These range from packed-byte data (8 bytes packed into 64 bits) to a packed quadword (a single 64-bit data type). Although the general-purpose registers on Intel processors handle only 32 bits, Intel engineers cleverly used part of the CPU`s 80-bit-wide floating-point registers to increase this to 64 bits. Because many image-processing routines, such as convolution, use the same instruction or instructions carried out on large data sets, MMX-based processors should run simple image-processing routines faster.
To take advantage of the SIMD technique, Intel`s MMX architecture adds 57 new instructions to the Pentium`s instruction set. Designed to speed the encoding, decoding, and processing of image, video, and audio functions, the instructions have been specifically developed to deal with SIMD programming. Most important, a saturation arithmetic instruction has been included that is designed to compensate for overflow--a feature that will result in more accurate representation of computed pixel values.
Unfortunately, because the MMX technique uses part of the processor`s floating-point registers, combining both floating-point and MMX instructions poses a real challenge to software developers who must carefully re-engineer their existing PC code to take advantage of MMX technology. In the long term, the question is whether this will prove cost-effective, with software manufacturers having to support MMX and non-MMX versions of their software.
The concept of MMX has been benchmarked by several independent sources. According to Paul McCready at the University of Strathyclyde, England, the MMX feature does deliver a performance increase over standard Pentiums. But Pentium Pros running Microsoft Windows NT outperform MMX machines with 99% of currently available software, he says. Although cynics may claim that Intel`s marketing department has gone into overdrive, MMX shows that Intel recognizes that superscalar, pipelined processors are not especially good at image processing and that SIMD architectures can tackle such tasks more effectively.
Other processor vendors are arriving at the same conclusion. With the introduction of its C6X DSP family of processors, Texas Instruments (Dallas, TX) has designed a very-long-instruction word architecture that allows the processor to perform many instructions in parallel. With the realization that different applications must be optimized with specific architectures, it may not be long before major semiconductor-processor vendors develop application-specific image-processing integrated circuits.