Pentium-F00F-Bug

Pentium-F00F-Bug
Intel Pentium 66MHz

Als F00F-Bug oder kurz F0-Bug wird ein Fehler in Mikroprozessoren der Typen Intel Pentium, Pentium MMX und Pentium OverDrive bezeichnet. Der Name bezieht sich auf die hexadezimale Darstellung des Assemblerbefehls, der den Fehler auslöst. Die offizielle Bezeichnung seitens Intel lautet invalid operand with locked CMPXCHG8B instruction[1] (deutsch: „Ungültiger Operand mit gesperrter 8-Byte-Exchange-Vergleichsanweisung“).

Beschreibung

Die namensgebende Anweisung (hexadezimal: 0xF00FC7C8) ist (in AT&T-Syntax): „lock cmpxchg8b %eax“ (wobei der Operand ein Register sein muss, aber nicht unbedingt EAX). Der Befehl „cmpxchg8b“ vergleicht den Inhalt der Register EDX und EAX mit einem 8-Byte-Wert im Speicher. In diesem Beispiel wird als Ziel ein 4-Byte-Register angegeben, was nicht ausreicht, um den 8 Byte großen Ergebniswert zu speichern.

Im Normalfall führt dieses Problem zu einer Exception; wird der Befehl aber mit dem Präfix „lock“ aufgerufen (welches eigentlich zur Realisierung von wechselseitigem Ausschluss gedacht ist), so wird der Exception-Handler nicht aufgerufen, das System bearbeitet keine Interrupts mehr und muss neu gestartet werden.

Der Befehl erfordert keine besonderen Rechte und galt seinerzeit wegen der großen Verbreitung von Intel-Prozessoren als kritisch. Zwar führte er nicht zu bleibenden Schäden, konnte aber unter bestimmten Umständen Datenverlust hervorrufen. Betriebssystemhersteller bauten daher Workarounds in ihre Produkte ein, die das Auftreten des Fehlers verhinderten.

Findet sich bei einem Linux-System in /proc/cpuinfo ein Eintrag der Art  f00f_bug: yes , ist die CPU betroffen.

Seit der Einführung des Pentium Pro ist kein Intel-Prozessor mehr von diesem Fehler betroffen gewesen.

Einzelnachweise

  1. Invalid Instruction Erratum Overview

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Pentium FDIV Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium-FDIV-Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium FDIV bug — The Pentium FDIV bug was a bug in Intel s original Pentium floating point unit. Certain floating point division operations performed with these processors would produce incorrect results. According to Intel, there were a few missing entries in… …   Wikipedia

  • F00f — (pronEng|ˈ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. Intel calls this issue the invalid operand …   Wikipedia

  • Pentium-Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Pentium — Infobox Computer Hardware Cpu name = Pentium caption = 75 MHz classic Pentium processor produced start = 1993 produced end = 1999 slowest = 60 | slow unit = MHz fastest = 300 | fast unit = MHz fsb slowest = 50 | fsb slow unit = fsb fastest = 66 | …   Wikipedia

  • FDIV-Bug — Als FDIV Bug wurde im November 1994 ein Fehler im damals bereits seit anderthalb Jahren auf dem Markt befindlichen Pentium Prozessor der Firma Intel bekannt. Der Fehler sorgt bei Gleitkomma Divisionen mit bestimmten Werten für falsche… …   Deutsch Wikipedia

  • Cyrix coma bug — The Cyrix coma bug is a design flaw in Cyrix 6x86, 6x86L, and early 6x86MX processors that allows a non privileged program to completely lock the computer. Contents 1 Discovery 2 Analysis 3 Workarounds 4 …   Wikipedia

  • F0 0F C7 C8 — F0 0F C7 C8  последовательность байтов, формирующих недействительную машинную команду процессоров семейства x86. В процессорах Pentium MMX и Pentium OverDrive, вследствие аппаратной недоработки, команда, будучи выполненной на любом уровне… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”