New Data Types And Instructions example essay topic

797 words
MMX TM Technology The MMX TM Technology extension to the Intel Architecture is designed to accelerate multimedia and communications software running on Intel Architecture processors (Peleg and Weiser). The technology introduces new data types and instructions that implement a SIMD architecture model and is defined in a way that maintains full compatibility with all existing Intel Architecture processors, operating systems, and applications. MMX technology on average delivers 1.5 to 2 times performance gains for multimedia and communications applications in comparison to running on the same processor but without using MMX technology. This extension is the most significant addition to the Intel Architecture since the Intel I 386 and will be implemented on proliferation of the Pentium processor family and also appear on future Intel Architecture processors. The media extensions for the Intel Architecture (IA) were designed to enhance performance of advanced media and communication applications. The MMX TM technology provides a new level of performance to computer platforms by adding new instructions and defining new 64-bit data types, while preserving compatibility with software and operating systems developed for the Intel Architecture.

The MMX technology introduces new general-purpose instructions. These instructions operate in parallel on multiple data elements packed into 64-bit quantities. They perform arithmetic and logical operations on the different data types. These instructions accelerate the performance of applications with compute-intensive algorithms that perform localized, recurring operations on small native data.

This includes applications such as motion video, combined graphics with video, image processing, audio synthesis, speech synthesis and compression, telephony, video conferencing, 2 D graphics, and 3 D graphics The MMX instruction set has a simple and flexible software model with no new mode or operating-system visible state. The MMX instruction set is fully compatible with all Intel Architecture microprocessors. All existing software continues to run correctly, without modification, on microprocessors that incorporate the MMX technology, as well as in the presence of existing and new applications that incorporate this technology. MMX technology provides the following new features, while maintaining backward compatibility with all existing Intel Architecture microprocessors, IA applications, and operating systems; New data types, eight MMX registers, enhanced instruction set. The performance of applications which use these new features of MMX technology can be exchanged. The principal data type of the IA MMX technology is the packed fixed-point integer.

The decimal point of the fixed-point values is implicit and is left for the user to control for maximum flexibility. The IA MMX technology provides eight 64-bit, general-purpose registers. These registers are on the floating-point registers. The operating system handles the MMX technology as it would handle floating-point. The MMX registers can hold packed 64-bit data types. The MMX instructions access the MMX registers directly using the register names MM 0 to MM 7.

MMX registers can be used to perform calculations on data. They cannot be used to address memory; addressing is accomplished by using the integer registers and standard IA addressing modes. The IA MMX instruction set supplies a rich set of instructions that operate on all data elements of a packed data type, in parallel. The MMX instructions can operate on either signed or unsigned data elements. The MMX instructions implement two new principles: Operations on packed data and saturation arithmetic.

The MMX instructions can operate on groups of eight bytes, four words, and two double words. These groups of 64 bits are referred to as packed data. The same 64 bits of data can be treated as any one of the packed data types. Data is cast by the type specified by the instruction. The MMX technology supports a new arithmetic capability known as saturating arithmetic. Saturation is best defined by contrasting it with wraparound mode.

In wraparound mode, results that overflow or underflow are truncated and only the lower or least significant bits of the result are returned. That is, the carry is ignored. In saturation mode, results of an operation that overflow or underflow are clipped or saturated to a data-range limit for the data type. The result of an operation that exceeds the range of a data-type saturates to the maximum value of the range. A result that is less than the range of a data type saturates to the minimum value of the range. This is useful in many cases, such as color calculations.

Saturation provides a useful feature of avoiding wraparound artifacts. In the example of color calculations, saturation causes a color to remain pure black or pure white without allowing for an inversion. instruction, reference and operate on two operands: the source and destination operands.

Bibliography

Intel Corporation. web mad. htm Feb. 1, 2000.
POD. web Feb. 1, 2000.
Ashkenazi, Yaron. web 1. htm Feb. 2, 2000.
Peleg and Weiser. web Feb. 2, 2000.