News AMD zum 32C3: Einblicke in die Komplexität eines x86-Prozessordesigns

CB-Artikel: "Exakt das ist dieser Tage bereits die Regel, der Blick in die Fehlerlisten der Prozessorhersteller zeigt viele kleine Probleme, die jedoch nie eine Lösung auf Hardwareseite erfahren werden, dafür aber Workarounds enthalten, um die möglichen Probleme umgehen zu können.

klar warum teuer und aufwendig die ursache behandeln wenn billig und schnell die Symptome behandelt werden koennen....
 
Chesterfield
Ja was erlauben sich Hardware Firmen wie AMD, NV und Intel nur ! :o

Aber wahrscheinlich glaubst du, dass das nur bei AMD der Fall ist.

CCIBS schrieb:
​Außerdem darf man nicht davon ausgehen, dass Intel Milliarden von Transistoren per Hand plant, sondern auch ihre Blöcke haben, wo sie wissen"Die sind für das da" und "der Block für etwas anderes", aber die Blöcke dann halt per Hand zusammenfügen..

Prozessoren werden mit dem Top-Down oder Bottom-Up Verfahren entwickelt. Je nachdem werden dann Aufgaben so weit wie möglich in Unteraufgaben aufgebrochen. Das ist nicht nur in der Software sondern auch Hardware Branche üblich. Hierzu entwickelt man am Computer auf gewisse Entwicklungsumgebungen und nicht auf dem Stück Papier. Je nachdem kann man sicherlich Algorithmen und fertige Baustein-Gruppen nützten um ein Design zu entwerfen.

Es gibt immer den Unterschied zwischen Full Custom Design oder Semi-Custom Design.
Full Custom Design wäre, wenn man einen Chip komplett per Hand optimieren würde. Letzteres würde bedeuten, man nimmt gewisse fertige Baugruppen die schon mal in der Vergangenheit per Hand modelliert wurden und setzt sie mit anderen Gruppen zusammen ect.

Im Schnitt verschling ein Semi-Custom Design ca 15% mehr an Die Fläche. Die Performance muss am Ende aber gar nicht schlechter sein. Das kommt drauf an, wie gut ein fertiges Design passt.
Meist ist aber ein Semi-Custom Design durchgetestet, fertig und deshalb auch deutlich billiger. In den nächsten Generationen kann man hier dann ansetzten und das fertige Modul per Hand an optimieren.

Btw, AMD hat das letzte mal bei Carrizo nichts anders gemacht, als GPU-Bibliotheken für die Anordnung und aufbau der Transistoren verwendet. Hat für die TDP Klasse bis zu 35 Watt tdp (Desktop Variante kommt mit 65 Watt TDP) trotz dem ach so "bösen" PC Algorithmus die Effizienz gestiegen.
Und auch Intel wird mit Sicherheit bei Neu-Entwicklung nicht alles mit der Hand machen. Selbst Core Architektur hatte seine Wurzeln beim Pentium M. Und das dürfte auch bei MIC der Fall gewesen sein. Bei einfachen und besonders low-Power Prozessoren, so wie Jaguar oder ATOM, kann das aber durchaus der Fall sein, das ein groß Teil mit Hand entworfen wird. Da das Design verglichen zu einem Performance Chips, meist wesentlich simpler (abgespeckter) ist.
Den CoreM als "low-power" Chip gibt es ja auch nur deshalb, weil man schon x Generationen an Optimierungen und optimierte angepasste Fertigungstechnik hinter sich hat.
Und auch bei Excavator sieht man, was eigentlich beim Bulldozer alles rauszuholen ist.
 
Zuletzt bearbeitet:
Holt schrieb:
Wie muss man solche Worte des Hardware Security Architect von AMD verstehen? Ermahnen müsste die Entwickler im Hause, nicht die Zuhöhrer auf einem Kongress. Ist das eine unglückilche Übersetzung oder schon eine Vorbereitung auf abzusehende Verspätungen aufgrund von Fehlern, die Entwickler im Desin-Prozess eben verschiegen haben? Vielleicht aufgrund von Druck der Firmenleistung.

Nein sowas ist vollkommen normal in der Hardware Entwicklung.
Für diese Fälle hat man dann in der Regel alternative Leitungswege, die bis zu einem Gewissen grad dafür genutzt werden können.
Fehler passieren bei solch komplexen Sachen immer, auch wenn man es durch vorherige Simulationen viele Dinge vermeiden kann, es würde einfach zuviel Zeit und Geld kosten, wenn man wegen fehlenden "Backup" Schaltungen immer einen neues Bauteil (in dem Fall Chip) fertigen lassen müsste.

Im Vortrag waren es dann ein paar Wochen statt Monate und einige Millionen Dollar weniger an kosten.
 
boncha schrieb:
Gerade wenn jedes neue Design neu getestet werden muss, warum macht man die Produktpalette nicht schlanker?
Klar, die werden das auf jeden Fall durchdacht und vor allem durchgerechnet haben, ob sich das vom Aufwand finanziell lohnt.
Trotzdem ist es mir unverständlich dutzendende Verianten rauszubringen, wo eine ausreichen würde.

Die Entwicklung wird nur den Vollausbau betreffen, also den "bestmöglichen" Prozessor. Für die vielen unterschiedlichen Modelle verwendet man einfach teildeaktivierte Chips (die zB nicht fehlerfrei aus der Herstellung gekommen sind), bei denen halt nicht alle Kerne oder nur ein Teil des Cache funktionieren.

Und dann selektiert man noch über die Spannung und den Takt. Prozessoren die mit hohem Takt und geringer Spannung laufen werden entweder als OC Modelle oder als Mobile-Versionen verkauft. Der Rest wird als "normale" Desktop-Prozessoren angeboten und ggf. auch noch der Multiplikator gesperrt. Ebenso sind die ganzen "Low-Power"-Varianten auch einfach nur Exemplare, die sich halt mit etwas weniger Spannung zufrieden geben und trotzdem stabil laufen.

Hinter diesen ganzen Variationen steckt dann nicht mehr viel Entwicklungsarbeit sondern hauptsächlich Resteverwertung. Die Fehlerraten bei der Herstellung sind ja grob bekannt und man kann denke ich vorher ungefähr abschätzen, wie viel Prozent der CPUs was für einen (Herstellungs-)Defekt haben und zu was für einer Teildeaktivierung dies führt. Und damit bekommt man dann aus einer einzigen Maske wahrscheinlich gut ein Dutzend unterschiedliche Modelle raus ;)
 
Bei Intel werden alle CPU-Designs noch mit Kugelschreiber auf DinA4 erstellt. Deswegen sind die auch so teuer.
 
rg88 schrieb:
Fehler in einer Software sind vermeidbar und einfach falsch programmiert. Eine instabile Software, ohne einen gewissen Reifegrad auf den Markt zu werfen, ist eine Unverschämtheit. Sicherlich ist keine Software Fehlerfrei, aber ne Beta ist nun mal kein RC.

Fehler in Chips sind ebenso vermeidbar und einfach nur falsch verdrahtet... Software ist mittlerweile extrem komplex, muss auf den unterschiedlichsten Plattformen laufen (wenn nicht gerade für ne Konsole entwickelt wird) und es gibt jede Menge Fehler die ebenfalls nur unter speziellen Bedingungen auftreten (wie war das mit dem Bug in Fifa Soccer der nur auftrat wenn der PC Name eine bestimmte länge hatte? ;-)

Die Masse an Bugs die vor allem Spiele aktuell bei Release haben ist sicher eine Frechheit, aber ganz fehlerfrei wird sowas nie sein. Dafür müsste man sehr extreme Wege gehen und konsequent auf TDD usw. setzen. Das kann und will aber keiner Bezahlen, zumindest nicht bei Software die nicht den Status einer KKW-Steuerung hat...
 
Der Vortrag war interessant, größtes Plus war aber das Gequatsche mit den Zuhörern während des Vortrags und danach. Da sitzt ordentlich KnowHow rum.



@Volker

Bist du vor Ort und hast Kapazitäten? call 9580
 
Jesterfox schrieb:
Software ist mittlerweile extrem komplex, muss auf den unterschiedlichsten Plattformen laufen (wenn nicht gerade für ne Konsole entwickelt wird) und es gibt jede Menge Fehler die ebenfalls nur unter speziellen Bedingungen auftreten (wie war das mit dem Bug in Fifa Soccer der nur auftrat wenn der PC Name eine bestimmte länge hatte? ;-)
ich würde nicht sagen, software ist heutzutage komplex, ich würde sagen, softwarecode ist heuzutage noch immer noch extrem riesig und dadurch schwer zu handlen.

ich dachte im schreiben von programmen könnte meine zweite einnahmequelle, aber es macht mir einfach viel zu wenig spaß. ohne spaß am programmieren ist der job aufgrund des riesigen aufwandes nichts.
 
Was mich interessieren würde: Wie designen die großen Hardwarehersteller wie AMD und Intel den Digitalteil ihres Chips? Erfolgt das auch über Hardwarebeschreibungssprachen alà VHDL/Verilog oder haben sie eigene Sprachen entwickelt? Oder machen die Jungs das noch komplett anders?
 
boncha schrieb:
Gerade wenn jedes neue Design neu getestet werden muss, warum macht man die Produktpalette nicht schlanker?
Klar, die werden das auf jeden Fall durchdacht und vor allem durchgerechnet haben, ob sich das vom Aufwand finanziell lohnt.
Trotzdem ist es mir unverständlich dutzendende Verianten rauszubringen, wo eine ausreichen würde.

Da konzentriere ich mich doch lieber auf wenige, habe weniger Aufwand, kann höhere Stückzahlen produzieren und habe mehr Qualitätssicherheit.
Die Antwort darauf wird sicher sein, dass 90% Qualität auch ausreichen und sich schlicht mehr Umsatz damit generieren lässt - yay

Wieso Dutzende Varianten verwechsel mal CPU Bezeichnung nicht mit DIE Varianten.

Intel zb. hat im Grunde bei den aktuellen normalen Consumer Chips aktuell 3? Verschiedene Dies.

Je einen 2Kern und 4Kern Skylake Die und einen Airmont Soc

Je nach Bedarf und Zustand des DIe bekommt der dann das passende Label verpasst und defekten oder ungewollten Funktionseinheiten werden deaktiviert.

Aus 2Kern Skylakes werden zb. Core M, i3-7u und wenn AVX Einheiten, Chache oder IGP Slices beschädigt sind Pentiums und Celerons
Die 4 Kern Skylakes werden zu Core i5 und i7 bzw i5 und i7 QM und wenn dort zb die IGP defekt ist wird ein Xeon ohne IGP
Auch so Airmont die gute Ausbeute wird zum Vollausbau x7 oder Pentium N die schlechteren zu x5 und Celeron und die ganz miesen zu den 2Kern Varianten im Celeron Bereich.
 
Das waren gute Einblicke in die Welt der CPU-Entwicklung. Allerdings total firmen-unspezifisch. Hätte auch ein Typ von Intel machen können mit denselben Infos. Da hatte ich bei der Ankündigung des Vortrags schon mehr erwartet bzw. eine Gratwanderung zwischen Offenheit und Interesse fürs Publikum.
 
Das Publikum war interessiert und der CCC ist oftmals nicht so über fachspezifisch in den Vorträgen. Die Nachgespräche, Workshops etc. hingegen sind mitunter richtig harte Kost. Die Vorträge sind echt der kleinste Teil. Wer live die Streams anschaut findet mituinter auch in den entsprechenden IRC Chats Zusatzinfos (english).
 
Intel könnte sich während einer Testphase theoretisch eine Fehlentwicklung leisten die so teuer ist wie AMDs gesamtes Vermögen, die würde das nicht stören, müssten das nicht einmal veröffentlichen. Somit sieht man immer nur die Erfolge.
 
Vor allem hat Intel zwei Entwicklerteams für CPUs, wenn eines mal daneben liegt, kann man immer noch auf den Entwurf des anderen zurückgreifen. Den Luxus kann AMD sich gar nicht leisten, wenn der Entwurf einen Fehler zeigt, sind sie aufgeschmissen und bei der Finanzlage und dem Versprechen in 2017 die Umsätze mit Zen CPUs hochzufahren, sind sie um Erfolg verdammt. Die können sich da keine spät entdeckten Fehler leisten, das Teil muss dann trotzdem raus, sonst ziehen die Investoren den Stecker, weil dann keiner da noch mehr gutes Geld schlechtem hinterhet werfen wird.
 
Holt schrieb:
Vor allem hat Intel zwei Entwicklerteams für CPUs, wenn eines mal daneben liegt, kann man immer noch auf den Entwurf des anderen zurückgreifen.

Das erinnert mich an Apple, die über Jahre hinweg bereits alles parallel auf x86/x64 entwickelt haben, um dann im Jahr 2005 schließlich den Schwenk weg von PowerPC und hin zu Intel-CPUs zu verkünden. Sehr krass, um nicht zu sagen: dekadent :D
 
Haben 2 Entwickler Teams bei Intel nicht schon lange Tradition?
Meine dazu schon etwas im Artikel zum Rückblick auf den 2/3/486 gelesen zu haben.
 
CCIBS schrieb:
@KnolleJupp
Ja, das war wirklich so. Glaube besonders dann bei Bulldozer. Intel benützt solche Dinger sicherlich auch, aber die setzten dich dann wohl dann nochmals anschließend hin und schauen, was das Programm da so machte und wo man es dann doch noch besser machen kann.

​Außerdem darf man nicht davon ausgehen, dass Intel Milliarden von Transistoren per Hand plant, sondern auch ihre Blöcke haben, wo sie wissen"Die sind für das da" und "der Block für etwas anderes", aber die Blöcke dann halt per Hand zusammenfügen.

​Ob AMD ZEN auch noch so wie Bulldozer per Software zusammengeklatscht wurde weiß man (noch) nicht. Vielleicht erfährt man dann mehr, sobald er mal draußen ist.

Woher kommt eigentlich die Annahme, dass AMD Logik in Form einer CPU "zusammenklatscht", also ohne jegliche Ambition auf Qualität, und Intel sich natürlich 1 Mrd Transistoren nochmal angeguckt, diese per Hand streichelt und gut zuredet. Ich würde gerne einmal interne Paper von beiden sehen

@Chesterfield

Sehe ich größtenteils auch so. Ich denke jedoch, dass bei Jaguar oder ATOM der Entwicklungsprozess genauso sein wird, wie bei größeren Chips. Der Unterschied wird nur sein, dass dann mit einer anderen Zielsetzung (TDP) das Layout generiert wird.

Meine Meinung zum Design von Chips von AMD und Intel. Aus sicht eines E-Techniker mit Vertiefung Mikroelektronik:

Ich denke, dass Intel als auch AMD vieles automatisch generieren lassen. Wie schon erwähnt im Top-Down Ansatz. Bottom Up findet man höchstes bei analogen HF Designs (>10-15GHz) bei vergleichsweise simplen aber dennoch sehr aufwendigen Designs. Wer weiß, wie lange eine Leiterplatte mit >1000 Leitungen (Faktor 1000000 kleiner als bei CPUs) dauert, weiß wieso.

Was meiner Meinung nach gleich sein wird: Im Grunde wird es bei beiden etwa in dieser groben Einteilung und Reihenfolge gemacht (Alternativen hierzu gibt es genug):
1. Logikminimierung und -optimierung (gleiche Funktionen/Befehle mit weniger Transistoren)
2. Technologie unbhängige Darstellung. Hier wird die Logik synthetisiert und mit Gattern dargestellt. Ob Intel und AMD beide Tools von Firmen wie Cadence, Mentor, Synopsys,... benutzen, weiß ich nicht. Ich halte es jedoch für wahrscheinlich.
3. Mapping auf die Technologieebene (FinFET usw.)

Der Unterschied wird sein, dass Intel seine eigenen Technologie-Bibliotheken hat und AMD eben nicht (Fabless), also der dritte Punkt. AMD wird sicherlich die von TSMC, Global Foundries oder Samsung nutzen (ich weiss nicht aus dem Stehgreif wo gefertigt wird).

Bei dem Technologiemapping benötigt man natürlich etwas, was vorher halbautomatisch generieriert wird. Niemand setzt sich und klickt 50 Mio Transistoren für Modul ABC, 47,3 Mio Transistoren für Modul XYZ zusammen. Das Layout eines Transistor wird per Hand erstellt, mit der Kenntniss was mit der Technologielinie für XX Mrd. Euro im Reinraum gemacht werden kann. Die Verschaltung der Transistoren erfolgt nahezu automatisch nach vordefinierten Regeln.

falkum schrieb:
Was mich interessieren würde: Wie designen die großen Hardwarehersteller wie AMD und Intel den Digitalteil ihres Chips? Erfolgt das auch über Hardwarebeschreibungssprachen alà VHDL/Verilog oder haben sie eigene Sprachen entwickelt? Oder machen die Jungs das noch komplett anders?

Die Technologie unbhängige Darstellung wird bestimmt mit VHDL/Verilog gemacht. Ich kann mir aber auch vorstellen, dass einige Teile der Logik mit einer Codegenerierung (aus MATLAB, C, C++,... nach VHDL/Verilog) erstellt werden. Ein Mitarbeiter von einem Halbleiterhersteller für Automotive ICs sagte mir mal, dass die den großen Teil mit automatischer Generierung machen (aus C++ nach VHDL). Jedoch ist dort die Integrationsdichte bzw. die Anforderung viel zu integrieren nicht hoch.
 
Jesterfox
Hast du auch einen anderen Link? PCGH ist für mich keine Option. Von mir bekommen die keinen Klick.
 
Zurück
Oben