<<<    Index    >>>
8-10
PROGRAMMING WITH THE INTEL MMX™ TECHNOLOGY
8.5.5.1.COOPERATIVE MULTITASKING OPERATING SYSTEM
Cooperative multitasking operating systems do not save the FPU or MMX™ state when
performing a context switch. Therefore, the application needs to save the relevant state before
relinquishing direct or indirect control to the operating system.
8.5.5.2.PREEMPTIVE MULTITASKING OPERATING SYSTEM
Preemptive multitasking operating systems are responsible for saving and restoring the FPU and
MMX™ state when performing a context switch. Therefore, the application does not have to
save or restore the FPU and MMX™ state.
8.5.6.Exception Handling in MMX™ Code
MMX™ instructions generate the same type of memory-access exceptions as other IA instruc-
tions. Some examples are: page fault, segment not present, and limit violations. Existing excep-
tion handlers can handle these types of exceptions. They do not have to be modified.
Unless there is a pending floating-point exception, MMX™ instructions do not generate
numeric exceptions. Therefore, there is no need to modify existing exception handlers or add
new ones. 
If a floating-point exception is pending, the subsequent MMX™ instruction generates a numeric
error exception (interrupt 16 and/or FERR#). The MMX™ instruction resumes execution upon
return from the exception handler.
8.5.7.Register Mapping
The MMX™ registers and their tags are mapped to physical locations of the floating-point regis-
ters and their tags. Register aliasing and mapping is described in more detail in Chapter 10,
MMX™ Technology System Programming Model, in the Intel Architecture Software Devel-
oper’s Manual, Volume 3.
<<<    Index    >>>