Designfehler bei Intel schwer korrigierbar

Designfehler bei Intel schwer korrigierbar
Hardware

Fast jeder hat von dem Designfehler CPU-Skandal gehört, dessen Auswirkungen bis heute nicht deutlich abschätzbar sind. Es ist von einer IT-Katastrophe die Rede. Bisher kann an der CPU nichts korrigiert werden, als Lösungsansatz ist nur der völlige Austausch der CPU möglich. Dies bedeutet für Kunden, die eine neue CPU oder den Ankauf eines neuen Rechners geplant haben auch eine Überarbeitung ihres Zeitplanes.

Der Verbesserungsprozess ist teuer

Bereits bei wenigen Bytes wird die Grenze der Veränderungsmöglichkeiten gesetzt. Es können einzelne Instruktionen ausgetauscht werden oder die Ausrichtung des Branch justiert werden. Werden die Veränderungen weitreichender, hat das Einfluss auf alle anderen Bereiche. Damit erklärt sich auch, weshalb der Zeitrahmen für kleinste Veränderungen schon bei mehreren Monaten für einzelne Steppings liegt. Zudem ist die Zeit für die Testphase mit einzukalkulieren. Der bereits seit 50 Jahren bestehende Code der die CPU bisher unterstützt hat, wird nach seiner Änderung einem Regressionstest unterzogen.

Mit der darauffolgenden nötigen Produktion ist wiederum eine Zeitspanne von bis zu einem halben Jahr einzuplanen. Hinzu kommt die Zeit für die Auslieferung. Dabei ist noch nicht einmal klar, ob diese Vorgangsweise zur Reparatur der Designfehler ausreichen wird. Das hätte zur Folge, dass bei den Chipherstellern angesetzt werden muss um nach der erfolglosen Entwicklungsphase zurück in die Planungsphase zu gehen. Die bisher vermutete Durchführung von Steppings würde schon ein bis zwei Jahre dauern. Mit einer erneuten Entwicklungsphase würden daraus fünf bis sechs Jahre werden.

Intel-Interne Aufklärung

Auf dem Tweet des Intel Mitarbeiters Joe Fritz ist zu lesen, dass man für die Bewältigung dieses Designfehler Problems nicht von Monaten sondern eher von Jahren ausgehen sollte. So lange wird es voraussichtlich dauern, bis einwandfreies Silizium für die Kunden vorhanden sein wird. Die heutigen Prozessoren sind durch eine jahrelange und sehr aufwendige Entwicklung entstanden, daher kann das Layout auch nur in kleinsten Schritten verändert werden. Dabei ist zu bedenken, dass jeder dieser kleinen Schritte, auch Stepping genannt, einige Millionen Dollar kostet und Jahre an Arbeit in Anspruch nimmt. In der Softwareentwicklung ist dieser Vorgang als Build-Vorgang bekannt.

🔧Warum ein Stepping so lange dauertIntel-interne Einschätzung
💬Laut dem Intel-Mitarbeiter Joe Fritz ist für einwandfreies Silizium nicht mit Monaten, sondern mit Jahren zu rechnen – das Layout lässt sich nur in kleinsten Schritten ändern.
🔄Ein Stepping – Schritt für Schritt
🛠️
Layout ändern
nur kleinste Schritte
🧪
Testphase
Regressionstest
🏭
Produktion
bis zu ein halbes Jahr
🚚
Auslieferung
OEMs & Händler
💰
Mio. $
Kosten pro einzelnem Stepping
1–2 Jahre
Bei reiner Stepping-Durchführung
📅
5–6 Jahre
Mit erneuter Entwicklungsphase
🧰Warum nur kleinste Änderungen möglich sind
⚠️

Die enge Verzahnung der Komponenten sorgt dafür, dass die Änderung eines logischen Gatters weitreichende Regressionen auslöst

Möglich ist daher meist nur die Art der Anbindung der Gatter – keine grundlegende Neugestaltung
💡

Parallele zur Software: In der Entwicklung entspricht ein Stepping dem Build-Vorgang – nur dass hier jeder Durchlauf Millionen kostet und Jahre statt Minuten dauert.

Nach dem Stepping ist der Erneuerungsprozess noch nicht vollendet, denn die neu konzipierte CPU muss auch einen Testzeitraum durchlaufen. Zusätzlich nimmt dann die Auslieferung an die OEMs sowie an die Händler eine gewisse Zeit in Anspruch. Hinzu kommt die Problematik der Begrenzung des Steppings, die aus Überlegungen der Rentabilität entsteht. Auch die Änderungen am Layout sind nur begrenzt möglich, wenn es um die Größenweite je einzelnen Steppings geht. Es kann somit prinzipiell nicht davon ausgegangen werden, dass der Großteil der Entwicklungsschritte full layer steppings sind. Die Schwierigkeit liegt ebenfalls an der engen Verzahnung der einzelnen Komponenten, da die Änderung eines logischen Gatters weitreichende Regressionen verursacht. Hier ist lediglich die Änderung der Art, wie die Gatter angebunden sind, möglich.

Ein kostspieliger Fehler im Design

Die Firma Intel geht davon aus, dass mit hohen Verlusten beim Absatz der produzierten und auch der noch durch das Stepping zu korrigierenden CPUs zu rechnen ist. Hinzu kommen die Entwicklungskosten, die den Verlust nochmals erhöhen.

Ein kostspieliger Fehler im Design

Außerdem muss sich Intel bereits mit ersten Klagen herumschlagen, die ebenfalls ein großes Minus in die Kasse schlagen. Intel hat in den letzten Monaten nämlich bewusst schadhafte CPUs in Umlauf gebracht ohne die Kunden darüber zu informieren. Diese Nichtinformation ist der Gegenstand dieser Klagen.

Weitere Design-Fehler treten auf

Auch in weiterer Folge kommt die Firma Intel aufgrund schwerwiegender Designfehler nicht aus den negativen Schlagzeilen. Ein Blog, der bereits am 1. Januar 2018 erschienen ist, zeigt Fehler auf, die dem Anschein nach alle CPUs von Intel in den letzten Jahren betreffen. In diesem Blog gibt es zwar einige Fehler und auch Annahmen, die noch keiner Überprüfung unterzogen wurden – dennoch weist der Artikel in die richtige Richtung. Die Sicherheitslücke die sich aus diesem internen Fehler ergibt, kann nur durch weitreichende Änderungen behoben werden, da der Fehler nicht durch eine reine Änderung des Codes repariert werden kann.

Die bisher vorgenommenen Rettungsversuche

Die betreffenden Patches sind bei Linux teilweise in Kernel 4.15 inkludiert, weitere Patches sind für 4.16 geplant. Seit Kurzem ist der Kernel 4.14.11 mit einem Patch versehen. Ein anderes Zeitmanagement hat offenbar Windows, da hier bereits im letzten Jahr die Patches an die Benutzer von Fast Ring ausgeliefert wurden. Eine offizielle Auslieferung soll zeitnah am nächsten Patchday von Microsoft erfolgen. Von Apple konnte hinsichtlich des Krisenmanagements keine Stellungnahme entlockt werden. Es wird anscheinend bewusst an einer Verschleierung der technischen Hintergründe des Fehlers gearbeitet.