Compatible FPU OPCODE – The BIOS Optimization Guide

Spread the love

Compatible FPU OPCODE - The BIOS Optimization Guide

Compatible FPU OPCODE

Common Options : Enabled, Disabled

 

Quick Review of Compatible FPU OPCODE

The Compatible FPU OPCODE BIOS feature determines how Pentium 4 and Xeon processors handle FOP codes using the FOP (final opcode) register.

When enabled, the Pentium 4 and Xeon will engage the FOP code compatibility mode, which stores the FOP of the last non-transparent instruction in the FOP register.

When disabled, the Pentium 4 and Xeon will turn off the FOP code compatibility mode and store only the FOP of the last non-transparent floating point instruction that had an unmasked exception. This allows for better FPU performance.

Therefore, it is recommended that you disable this feature for better FPU performance unless your software requires this feature to recover from FPU exceptions.

 

Details of Compatible FPU OPCODE

In Intel IA-32 (P6 family, Pentium 4, etc…) processors, the x87 FPU stores the opcode of the last executed non-control instruction (also known as the fopcode or FOP code) in an 11-bit register. This provides state information for exception handlers.

Since the first 5 bits of the first opcode byte are the same for all FPU opcodes, only the last 3 bits of the first opcode byte are stored in the register. The second opcode byte provides the remaining 8-bits of data.

Compatible FPU OPCODE - The BIOS Optimization Guide
Courtesy of Intel Corporation

In previous implementations, the final opcode (or FOP) to be stored in the FOP register is always the FOP of the last non-transparent floating point instruction executed before a FSAVE or FSTENV or FXSAVE instruction.

[adrotate group=”1″]

However, to improve FPU performance, the Pentium 4 and Xeon processors will only store the FOP of the last non-transparent floating point instruction that had an unmasked exception. For backward compatibility, the Pentium 4 and Xeon processors allow programmable control of the FOP register. This is where the Compatible FPU OPCODE BIOS feature comes in.

When enabled, the processor will revert to the FOP code compatibility mode and store the last non-transparent floating point instruction in the 11-bit FOP register. Intel recommends that this feature should only be enabled if the software was designed to use the fopcode to analyze program performance or to restart the program after an exception has been handled.

When disabled, the processor will turn off the FOP code compatibility mode and store only the FOP of the last non-transparent floating point instruction that had an unmasked exception. This allows for better FPU performance.

It is recommended that you disable this feature. This allows for better FPU performance although some older programs may require you to enable this feature to allow recovery from FPU exceptions.

Go Back To > The BIOS Optimization Guide | Home

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participating in the Tech ARP Forums, or even donating to our fund. Any help you can render is greatly appreciated!

About The Author

Leave a Reply