MMX™ Technology Software Developer FAQs

Overview FAQs | Technical FAQs | Software Development | Trademark Guidelines


Intel announced details about MMXTM technology at intermediaWORLD on March 5, 1996. These FAQs are for software developers wanting more information about MMX technology. Please check our developer area on www.intel.com for more information.

Overview FAQs:

Q1. What is MMX technology?
A1. MMX technology is a major enhancement to the Intel Architecture that will make mainstream PCs richer multimedia and communications platforms. It is the most significant enhancement to the Intel Architecture since the i386TM processor. This enhancement includes 57 new instructions oriented to highly parallel operations with multimedia and communications data types. These instructions use a technique known as SIMD (Single Instruction, Multiple Data) to deliver better performance for multimedia and communications computation. Processors that provide MMX technology support will be fully compatible with previous generations of the Intel Architecture and the installed base of software.

Q2. Why is Intel adding these instructions to the architecture?
A2. Today’s Pentium(R) processors have provided the prime platform for multimedia to come into the mainstream of computing. MMX technology will build on this and provide even more functionality in the basic PC.

Q3. What will be possible with MMX technology that isn’t possible now?
A3. MMX technology will greatly improve the performance and quality of multimedia and communications applications. For example, games may use 24-bit true color instead of 8-bit color, and with high frame rates. MMX technology will also allow more simultaneous, real-time activities. An example would be multiple channels of audio, high-quality video or animation, and Internet communication, all running in the same application.

Q6. Which P6 family member will include MMX technology?
A6. On March 5 we introduced details of the technology, not details about products that implement the technology. MMX technology will be incorporated broadly into the P6 processor generation. We expect the first product in 1997.

Q7. Does Microsoft support MMX technology?
A7. Yes. Microsoft has announced support for MMX technology in upcoming releases of Visual C++, Direct 3D* API, and their software MPEG-1 decoder. We have been working very closely with Microsoft on this enhancement.

Technical FAQ’s:

Q1. How were these new instructions picked?
A1. Multimedia applications have begun to drive processor performance. Intel formed a group of chip architects and algorithms experts to analyze interactive video, virtual reality, and high quality 3D applications. We found that these seemingly different applications have a lot in common. They do lots of computation, lots of things in parallel, and tend to use small integer data types. These new instructions -- using a SIMD technique -- were specifically picked to help speed up these core algorithms and thus improve overall application performance.

Q2. What is SIMD?
A2. SIMD stands for Single Instruction, Multiple Data. This means that a single instruction operates on multiple pieces of data in parallel. For example, with a single MMX instruction, up to eight integer pairs can be added together in parallel. This parallel operation uses 64-bit registers. Depending on the operation, these are defined as eight 8-bit bytes, four 16-bit words, two 32-bit double words, or one 64-bit quad word.

Q3. What application types will benefit from MMX technology?
A3. Some of the application types that benefit from MMX technology are 2D/3D graphics, audio, speech recognition, video codecs, and data compression.

Q4. Will MMX technology work with Windows `95? What about Windows 3.1 and Windows NT?
A4. Yes. MMX technology is compatible with your current OS environment. In addition, the operating system needs no modification for MMX technology to function. We believe most applications will be developed for the Windows 95 environment as the consumer desktop has transitioned strongly to this operating system. However, MMX technology works with any operating system.

Q5. Since this is the single largest extension to the Intel Architecture since the I386 processor, how does Intel know there are no software or hardware compatibility issues?
A5. While significant in the scope of the instructions and their impact on applications performance, MMX technology does not add significant complexity to the processor. This enhancement does not alter the implementation of existing instructions. MMX technology does not create a new mode and no new state, so no change to operating system software is necessary for applications to run. MMX technology enabled processors, like all Intel processors, will undergo the most thorough validation and testing. Intel will also conduct extensive testing of current and MMX technology enabled applications.

Q6. Will MMX technology scale in performance in succeeding generations of the Intel Architecture?
A6. MMX technology was developed while several generations of Intel processors were well into development, so we were able to ensure that MMX technology provided strong benefits for all generations. The instructions are very simple and general purpose, so they will scale well with improvements we make with each new generation of Intel Architecture processors. Once developers integrate the new instructions into their applications, systems based on succeeding processor generations will also realize these performance benefits.

Q8. Will all applications benefit from MMX technology?
A8. No. The applications that benefit most when this technology is incorporated, tend to be multimedia and communications software with certain kinds of repetitive compute-intensive loops where the data can be organized to be processed in parallel.

Q9. Are MMX instructions backward compatible with i486TM and Pentium Processors?
A9. No, MMX instructions are new instructions. MMX technology support must be on the processor for these instructions to execute.

Q10. How should applications be written with MMX technology to avoid problems if run on a processor without MMX technology?
A10. Use the CPUID instruction at runtime to see if the processor has MMX technology support. If it does, use DLLs which use MMX technology, otherwise use the DLLs which use regular Intel Architecture instructions.

Q11. Will MMX technology enabled applications run on older Pentium processors? A11. It depends on how the applications are designed by the developer. Some software developers may deliver titles which will run just fine on any Pentium processor, but invoke additional features/capabilities that enhance the application when MMX technology is detected. This type of "scaleable" application is very common today -- for example, many apps on the market today will run just fine on an Intel486 processor, but run even better or do more when run on a Pentium processor. We do expect over time however that many applications will come to market which "require" MMX technology to deliver very high end multimedia & communications features which just won’t be possible or practical on a PC without MMX technology.

Q12. How will MMX technology improve or enrich the Internet experience?
A12. Internet users want to interact with the same rich environment, i.e., audio, video and graphics, as the multimedia user. We expect that MMX technology enhanced "plug ins" or helper apps will become very common and enable even richer internet content on PCs with MMX technology.

Software Development:

Q1. Do software developers have to completely rewrite their existing applications to take advantage of MMX technology?
A1. Typically, the compute-intensive portions of multimedia and communications applications represent a very small portion of the total code. Optimizing for MMX technology will usually involve modifying just this portion of the code. In addition, many applications will be improved with minimal effort by the application developer, as third-party libraries optimized for MMX technology become available.

Q2. My code currently uses integer math, do I need to change formats to take advantage of MMX instructions?
A2. No, the MMX instruction set was specifically designed to take advantage of 16 bit integer math operations. Four integer adds, subtracts, or multiplies can be processed in parallel using MMX technology. In addition, there are instructions provided to perform packed logical operations (i.e. ‘and’, ‘or’, etc.), arithmetic operations, data conversions to and from the packed data format, and 64 bit data transfers to and from the MMX registers and host memory.

Q3. Will Intel provide tools for application development?
A3. Intel is working with a variety of third-party tool developers and applications ISVs who are supporting MMX technology. Many of these will be outlined their plans for MMX technology beginning at Intermedia. See the complete listing of tools that are available for MMX technology development

Q4. Is Intel going to provide compilers? If not, who is?
A4. No. Commercial tools will be available from Microsoft, Powersoft/Watcom, and other leading vendors beginning in Q1. Performance tuning tools will be provided in the Intel VTune product in early Q2. See the complete listing of tools that are available for MMX technology development

Q5. Does Intel plan to provide libraries for compilers?
A5. Yes, Intel expects to provide libraries with MMX technology optimizations. We will distribute these via CD-ROM to the software community. Numerous other third party sources of libraries are also expected. Details on libraries and their availability may be found at our developer's web site .

Q6. What do software developers need to do to start using MMX technology?
A6. Generally, developers should only optimize the compute-intensive multimedia and communications-focused code in their applications. They should use a performance analyzer to find the "hot spots" in the code and start there. If these modules are optimized in assembly code now, they simply have to be converted to take advantage of MMX technology instructions.

Q7. Where can an ISV get more technical information about MMX technology?
A7. Intel will release more information about MMX technology to the software developer community through its developer web site . ISVs who sign up for our electronic mailing list at our site can also be alerted to new information postings on this technology.

Q8. What technical support does Intel provide to ISVs who want to develop applications with MMX technology?
A8. Intel has provided support to ISVs for years. We are encouraging ISVs to visit our developer's web site for regular updates.

Q9. Will Intel offer MMX technology training to ISVs?
A9. We expect to provide technical information and training materials to ISVs to use independently, as we have in the past. Developers should consult our web site regularly for any details on new training sessions or seminars.

Q10. When will ISVs be able to get systems for software development? From whom? Until then, what can ISVs do?
A10. We expect the first Pentium processors with MMX technology to be in initial production in Q4, with the volume ramp in 1997. If development systems become available earlier than that, we will provide details to ISVs through our web site. As an interim solution, we are also evaluating the release of a code emulator for MMX technology for ISVs to use on their current PC development systems. If we proceed with this option, details will be on our web site. In the meantime, we encourage ISVs to review the current technical information so they can identify the parts of their code which may derive the greatest benefit from MMX technology so they can provide this support quickly when development systems are available.

Q11. What should an ISV interested in adding MMX technology support to their applications do to get going?
A11. The first thing an ISV should do is check out our MMX technology developer web site for information about the MMX technology developer programs. They should also consult the tool pages at this site. In addition, contact your tool and library vendors for information about their specific MMX technology support plans and availability. Second, an ISV should begin serious evaluation and analysis of how MMX technology can help their applications coming out starting in late 1996 and beyond. Third, an ISV should have time set aside in their development schedules to enhance their apps for MMX technology.

Q12. Why should an ISV use MMX technology when there won’t be any significant installed base of Pentium® processor with MMXTM systems in 1996?
A12. We expect the first Pentium processors with MMX technology to be in initial production in Q4, with the volume ramp in 1997. As the number of systems with MMX technology increase, their wide availability will create tremendous consumer demand for software using this technology. We expect software developers to move quickly to address this market opportunity given the large number of platforms that will enter the market starting in 1997 and, as studies show, that owners of new PCs typically buy more software than owners of older PCs.

Trademark Guidelines:

Q1. What does the "MMX(TM)" mark stand for?
A1. The MMX mark is not an acronym. It is Intel's brand name for this extension to the Intel Architecture.

Q2. Will the MMX mark be trademarked globally?
A2. Yes, we have filed for the MMX(TM) trademark worldwide.

Legal Stuff © 1997 Intel Corporation
Free Web Hosting