f00f (pronounced /ˈfuːf/), an abbreviation of f0 0f c7 c8, is the hexadecimal encoding of an instruction that exhibits a design flaw in the majority of Intel Pentium, Pentium MMX, and Pentium OverDrive processors. For the HTML tag see HTML element. An abbreviation (from Latin brevis "short" In Mathematics and Computer science, hexadecimal (also base -, hexa, or hex) is a Numeral system with a The Pentium brand refers to Intel 's single-core x86 Microprocessor based on the P5 fifth-generation Microarchitecture. The Pentium brand refers to Intel 's single-core x86 Microprocessor based on the P5 fifth-generation Microarchitecture. The Pentium OverDrive was a Microprocessor marketing brand name used by Intel, to cover a variety of consumer upgrade products sold in the mid 1990s It
Intel calls this issue the "invalid operand with locked CMPXCHG8B instruction. "[1]
Contents |
The instruction represents:
lock cmpxchg8b eax
The operand could be a register other than eax. In Computer science, an instruction is a single operation of a processor defined by an Instruction set architecture. The cmpxchg8b instruction is used to compare the value in the edx and eax registers with an 8-byte value at some memory location. In Computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than storage In this example a 4-byte register is used as the destination operand, which is not big enough to store the 8-byte result. In Mathematics, an operand is one of the inputs (arguments of an Operator.
Under normal circumstances, this instruction would simply result in an exception; however, when used with the lock prefix (normally used to prevent two processors from interfering with the same memory location), the exception handler is never called, the processor stops servicing interrupts and the system must be rebooted to recover. Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of a condition that changes the normal flow of execution In Computing, an interrupt is an asynchronous signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change In Computing, booting ( booting up) is a bootstrapping process that starts Operating systems when the user turns on a Computer system
The instruction does not require any special privileges, and due to the proliferation of Intel microprocessors, was considered a serious issue at the time. Operating system vendors responded by implementing workarounds that detected the condition and prevented the crash. An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination A workaround is a bypass of a recognized problem in a system A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed
Although technically not an example of either, the f00f instruction is often considered an HCF instruction, or a killer poke. Halt and Catch Fire, known by the Mnemonic HCF, was originally a fictitious computer Machine code instruction claimed to be under development at IBM This article is about the hardware damage method For the WCW incident see The Fingerpoke of Doom. Since the f00f bug has become common knowledge, the term is sometimes used to describe similar hardware design flaws, such as the Cyrix coma bug. The Cyrix coma bug is a Design flaw in Cyrix 6x86, 6x86L, and early 6x86MX processors that allows a non-privileged
No permanent hardware damage would result from executing the f00f instruction on a vulnerable system, although depending on the file system, operating system, and other circumstances, it is possible for data loss to occur if the disk buffers had not been flushed, if drives were interrupted during a write operation, or if some other non-atomic operation was interrupted. In Computing, a file system (often also written as filesystem) is a method for storing and organizing Computer files and the data they contain to make An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination In the field of Information technology, data loss refers to the unforeseen loss of data or information In computing page cache, sometimes ambiguously called disk Cache, is a "transparent" buffer of disk-backed pages kept in Main memory (RAM by
No Intel processors since the introduction of the Pentium Pro have been affected by the bug. The Pentium Pro is a sixth-generation X86 -based Microprocessor developed and manufactured by Intel introduced in November 1995 The myB2 stepping fixed this issue. [1]
Information about this bug started spreading over the Internet on or about 7 November 1997 ([1]).