Background:
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. Todays 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 isnt 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 FAQs:
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 wont
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 wont 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.
|