Although MMX technology will speed up multimedia applications on Pentium systems, some applications may actually run more slowly because of a limitation in the Pentium/MMX chip's architecture, an Intel executive says.
Operations that often switch between multimedia functions and floating-point arithmetic calculations will suffer a degradation in performance, says Sam Wilkie, a programme manager at Intel, in Santa Clara, California.
At the heart of the problem is the Pentium/MMX architecture, Wilkie says. To keep the Pentium/MMX compatible with existing OSes, Intel chose to share some aspects of floating-point and MMX functions so that the two types of instructions cannot be executed at the same time. The Pentium/MMX processor, formerly known as the P55C, takes about 50 clock cycles to switch between MMX and floating-point modes, Wilkie says.
Most software performs dozens of MMX instructions followed by dozens of floating-point operations or vice versa, Wilkie says. But software that mixes MMX and floating-point operations on an instruction-by-instruction basis will be slower.
"The switching time is a tiny percentage of the time the application is running," Wilkie says. "In all the traditional code we've seen, switching time doesn't matter."
Wilkie also says that the switching problem can be solved in future processor generations, and it is so minor that "users won't notice it".
That may not always be the case, says Gene Lee, research manager at International Data, in Mountain View, California.
"Sooner or later, somebody is going to come up against it," Lee says.
Mel Thomsen, principal analyst at Pathfinder Research, in San Jose, California, says entry-level PCs, which might not include a separate 3D graphics accelerator chip, could be affected adversely.
The problem could show up in multitasking environments, says a semiconductor industry rival. One program might require MMX and another floating point, and the time to switch between the two could make them both slower.