Original-URL des Artikels: https://www.golem.de/0812/63872.html    Veröffentlicht: 01.12.2008 18:27    Kurz-URL: https://glm.io/63872

Verwirrung um möglichen TLB-Bug in Intels Core i7

Erstes "Specification Update" für Nehalem-Architektur erschienen

Intels übliche Dokumentation von Fehlern in den eigenen Produkten sorgt im Falle des Prozessors Core i7 derzeit mehr für Verwirrung als für Klarheit. Der Chiphersteller spricht von Problemen mit dem TLB und einer Lösung per BIOS - schon fühlt man sich an den missglückten Start von AMDs Phenom erinnert.

In einer Reihe von Meldungen diverser Onlinemedien ist derzeit von einem "TLB-Bug" in Intels neuer Prozessorarchitektur mit den Modellen der Serie Core i7 die Rede. Auslöser dürfte wohl die berühmt-berüchtigte Webseite Fudzilla gewesen sein, die früh über das potenzielle Problem berichtete.

Fudzilla zitiert dabei Auszüge aus einem von Intels "Specification Updates". Dieses PDF-Dokument gehört zur regelmäßigen Dokumentation von Fehlern in Intel-Prozessoren, die Intel seit dem legendären FDIV-Bug des Pentium veröffentlicht. Jeder Prozessor enthält Fehler, die in der Regel nur bei unsinnigen Code-Kombinationen auftreten, wie sie in Betriebssystemen oder Anwendungen nicht vorkommen.

Zudem sind die meisten dieser von Intel "Errata" genannten Phänomene nur unter ganz bestimmten Randbedingungen zu beobachten, wie beispielsweise einer Kombination von Hardwarekomponenten, verschiedenen Spannungen für die Teile der CPU und Temperaturen.

Fehler im "Translation Lookaside Buffer", kurz TLB, waren durch AMDs K10-Prozessoren vom Typ Opteron und Phenom ins Licht der Öffentlichkeit gerückt. Zwar beteuerte AMD, dieser Fehler sei noch nie im Praxiseinsatz aufgetreten, veröffentlichte aber ein BIOS-Update, das den Prozessor rund 15 Prozent langsamer machte. Bei den Opterons mit Barcelona-Kern wurde sogar die Auslieferung gestoppt.

Intel schreibt in seinem Specification Update Ähnliches: " Unter seltenen Umständen kann die fehlerhafte Ungültigkeitserklärung von TLB-Einträgen zu einem unvorhersehbaren Verhalten des Systems wie Abstürzen oder ungültigen Daten führen.". Dafür gebe es ein BIOS-Update, das PC-Herstellern und BIOS-Programmierern bereits zur Verfügung gestellt werde.

Allerdings steht in diesem PDF auch, dass der Effekt nur auftreten kann, wenn Software selbst Einträge im TLB für ungültig erklärt. Die Aufgabe dieses sehr kleinen, aber sehr schnellen Speichers ist es, virtuelle Speicheradressen in physikalische umzusetzen. Der TLB kann so auch von einem Betriebssystem, das vollständigen Zugriff auf die CPU hat, zur Speicherverwaltung eingesetzt werden. Dass eine Anwendung den TLB manipulieren kann, ist sehr unwahrscheinlich.

Zwei Absätze vor dem Hinweis auf ein BIOS-Update auf Seite 36 des PDF steht zudem, dass Intel seine Unterlagen für Programmierer aktualisieren will, weil der Core i7 erstmals in einer Intel-CPU über Caches für "Page Tables" verfügt. Diese Tabellen für Speicheradressen, bei AMD auch "Nested Page Tables" genannt, sorgen für eine schnelle Umschaltung zwischen verschiedenen Zuständen des Prozessors, was beim Betrieb von virtuellen Maschinen mehr Geschwindigkeit bringt. Dass die Dokumentation angepasst werden muss, begründet das PDF wie folgt: "Diese Information ist notwendig, um Betriebssystemen dabei zu helfen, ungültige Page-Table-Strukturen richtig zu verwalten."

Bisher weist diese Seite zum Befehl "INVLPG - Invalidate TLB Entry" in Intels Entwicklerleitfaden schon darauf hin: "Der Befehl INVLPG ist von der Implementierung abhängig, und seine Funktion kann in künftigen Intel-Architekturen anders implementiert werden."

Damit ist noch nicht ganz geklärt, ob der TLB im Core i7 selbst Fehler produziert, oder ob es sich beispielsweise um eine Inkompatibilität mit älterer Virtualisierungssoftware handelt. Intel Deutschland wollte zu dem umstrittenen Eintrag im Specification Update nicht unmittelbar Stellung nehmen, dies soll durch die Entwickler der CPU und die Dokumentationsautoren in den kommenden Tagen geschehen.  (nie)


Verwandte Artikel:
Intel Active Management Technology: Kritische Sicherheitslücke in Serverchips ab Nehalem-Serie   
(02.05.2017, https://glm.io/127591 )
Schleichender Marktstart für Intels Core i7   
(17.11.2008, https://glm.io/63590 )
Phenom und Barcelona: Stepping B3 ohne TLB-Bug ist fertig   
(18.01.2008, https://glm.io/57118 )
Phenom: Kaum BIOS-Updates für ältere Mainboards   
(28.12.2007, https://glm.io/56726 )
Toshiba Portégé X30-E: Business-Notebooks bekommen neue CPUs und doppelten RAM   
(02.03.2018, https://glm.io/133102 )

Links zum Artikel:
Fudzilla - Nehalem also has a TLB bug: http://www.fudzilla.com/index.php?option=com_content&task=view&id=10707&Itemid=1
Intel - Beschreibung des Befehls INVLPG--Invalidate TLB Entry: http://www.intel.com/software/products/documentation/vlin/mergedprojects/analyzer_ec/mergedprojects/reference_olh/mergedProjects/instructions/instruct32_hh/vc142.htm
Intel - Specification Update 320836 zum Core i7: http://download.intel.com/design/processor/specupdt/320836.pdf

© 1997–2019 Golem.de, https://www.golem.de/