32C3: Vortrag von AMD zeigt Komplexität moderner Prozessoren-Designs
Auf dem 32. Chaos Communication Congress (32C3) hat David Kaplan, Hardware Security Architect bei AMD, die Probleme beim Design moderner Hardware und insbesondere von x86-Prozessoren in einem Vortrag dargelegt. Die Entwicklung von Hardware dauere lang, sei sehr teuer und vor der Produktion kaum zu testen. x86-Prozessoren seien zudem extrem komplex, nutzen hohe Taktraten und müssen eigentlich immer funktionieren.
Schon auf der zweiten Seite seiner Präsentation beantwortet Kaplan seine eigene Frage "Sind CPUs perfekt?" mit einem klaren LOL. Als Gegenbeispiele nennt der den bekannten Pentium-Bug aus dem Jahr 1994 und auch den TLB-Bug der ersten Phenom-Prozessoren aus dem Jahr 2007. Tatsächlich haben Prozessoren aber sehr viele andere Fehler, die aber nur geringe Auswirkungen haben und so gut wie nie behoben werden.
Die Entwicklung sieht nach dem eigentlichen Design und vor der Herstellung der ersten Chips auch eine Überprüfung vor, ob das Design den Anforderungen entspricht, die Funktionen enthält und auch die Vorgaben zur Leistung und Energieaufnahme erfüllt. Ziel ist es, Fehler im Design noch vor der Prodzktion aufzudecken. Dabei helfen auch Emulatoren.
Manche Bugs sind recht einfach zu finden, da sie für fehlerhafte Funktionen oder falsche Ergebnisse sorgen, andere hingegen treten nur bei teilweise sehr seltenen Abläufen oder bei statistisch extrem unwahrscheinlichen Situationen auf. Fehler, die erst gefunden werden, wenn schon Chips hergestellt werden, lassen sich oft nur noch durch ein teures Redesign beheben oder aber durch das Deaktivieren von betroffenen Features. Letzteres ist meistens bei Funktionen aus den Bereichen Leistung oder Energieeffizienz der Fall. Dazu kann auch der Microcode des Prozessors über das in der CPU vorhandene "Patch RAM" verändert werden, um Workarounds zu implementieren.
Die für das Debugging von Prozessoren verwendeten Schnittstellen sind laut Kaplan auch ein Sicherheitsproblem und werden daher bei Start der Massenproduktion ganz oder auch nur teilweise deaktiviert oder lassen sich nur auf spezielle Weise aufrufen, beispielsweise mit einem signierten Microcode-Update. Die gesamte Präsentation von David Kaplan finden Sie unter dem Quellenlink.
Quelle: CCC

Auf.dem.32..Chaos.Communication.Congress..32C3..hat.David.Kaplan..Hardware.Security.Architect.bei.AMD..die.Probleme.beim.Design.moderner.Hardware.und.insbesondere.von.x86.Prozessoren.in.einem.Vortrag.dargelegt..Die.Entwicklung.von.Hardware.dauere.lang,.sei.sehr.teuer.und.vor.der.Produktion.kaum.zu.testen..x86.Prozessoren.seien .zudem.extrem.komplex..nutzen.hohe.Taktraten.und.müssen.eigentlich.immer.funktionieren.
Und hier der Direktlink zum Video auf media.ccc.de:
https://media.ccc.de/v/32...
Prozessoren.Designs
Auf.dem.32..Chaos.Communication.Congress..32C3..hat.David.Kaplan..Hardware.Security.Architect.bei.AMD..die.Probleme.beim.Design.moderner.Hardware.und.insbesondere.von.x86.Prozessoren.in.einem.Vortrag.dargelegt..Die.Entwicklung.von.Hardware.dauere.lang,.sei.sehr.teuer.und.vor.der.Produktion.kaum.zu.testen..x86.Prozessoren.seien .zudem.extrem.komplex..nutzen.hohe.Taktraten.und.müssen.eigentlich.immer.funktionieren.