Kleine Fragen zur Produktion


grond said:
Bei der Prozesstechnik ist Intel langsam aber sicher führend, IBM scheint mir auf einen guten zweiten Platz zurückgefallen zu sein.
Ist das tatsächlich so? Ich bin gerade nicht im Bilde, was das Komplexeste ist, das von IBM gefertigt wird.
Alleine an der Strukturgröße kann man den Fortschritt aber kaum festmachen. Da kommen ja noch diverse andere Faktoren hinzu. Die Chipkomplexität macht da ja auch viel aus. Eine "normale" CPU ist ja erheblich einfacher zu fertigen, als etwa eine High-End-GPU. Intel fertigt meines Wissens nach überhaupt nicht derart komplexe Chips, zumindest noch nicht.
Ein Speicherchip wiederum ist bei gleicher Transistorzahl und gleicher Strukturgröße einfacher zu fertigen, als eine CPU.
Abgesehen davon fertigt etwa TSMC auch bereits Chips in einem 40 nm-Prozess, wäre also, wenn man alleine die Strukturgröße als Kriterium nimmt, vorne.
Eine komplexe GPU in einem 55 nm-Prozess ist möglicherweise deutlich schwieriger zu fertigen als eine dazu vergleichsweise kleine CPU in 45 nm.
 
wejp said:
Ist das tatsächlich so? Ich bin gerade nicht im Bilde, was das Komplexeste ist, das von IBM gefertigt wird.

Ich verfolge die SSCC und die Electron Devices Meetings nicht mehr so genau, aber mir war aufgefallen, dass Intel haufenweise Papers zu 45nm hatte und auch Produkte in 45nm angekündigt hatte, als die anderen noch an 65nm gebastelt haben.

Die Chipkomplexität macht da ja auch viel aus. Eine "normale" CPU ist ja erheblich einfacher zu fertigen, als etwa eine High-End-GPU.

Das wäre mir neu. Eine GPU ist im wesentlichen eine Durchsatzarchitektur und daher ist es viel einfacher, die kritischen Pfade einander anzugleichen, als bei einer CPU. Auch die Caches werden bei der CPU immer schwieriger zu handhaben.

Intel fertigt meines Wissens nach überhaupt nicht derart komplexe Chips, zumindest noch nicht.

Hm, was ist "komplex", wenn nicht Chips mit einer halben Milliarde Transistoren?

Ein Speicherchip wiederum ist bei gleicher Transistorzahl und gleicher Strukturgröße einfacher zu fertigen, als eine CPU.

Speicherchips haben immer als erste die neuen Strukturen und machen auch viel mehr Shrinks als Logikprozesse. Eigentlich sind die DRAM- und Logikprozesse überhaupt nicht zu vergleichen.

Abgesehen davon fertigt etwa TSMC auch bereits Chips in einem 40 nm-Prozess

Sicher? Habe ich noch nichts von gehört.

Eine komplexe GPU in einem 55 nm-Prozess ist möglicherweise deutlich schwieriger zu fertigen als eine dazu vergleichsweise kleine CPU in 45 nm.

Glaube ich nicht. GPUs laufen mit eher niedrigem Takt, was Anforderungen an Metallisierungen und Taktverteilung massiv senkt. GPUs sind eigentlich dieselbe Hardware ein paar Dutzendmal nebeneinander auf demselben Chip. Der Logikkern einer CPU hingegen ist viel heterogener und muss extrem optimiert werden, was auch immer eine entsprechende Empfindlichkeit im Prozess nach sich zieht.
 
grond said:
Die Chipkomplexität macht da ja auch viel aus. Eine "normale" CPU ist ja erheblich einfacher zu fertigen, als etwa eine High-End-GPU.

Das wäre mir neu. Eine GPU ist im wesentlichen eine Durchsatzarchitektur und daher ist es viel einfacher, die kritischen Pfade einander anzugleichen, als bei einer CPU. Auch die Caches werden bei der CPU immer schwieriger zu handhaben.
Die Aussage mit den Caches passt aber nicht wirklich zu der Aussage, dass GPUs ja einfach ein paar Duzend mal das Selbe nebeneinander sind und deswegen einfacher zu fertigen sind. Das trifft auf SRAM noch viel mehr zu. Mir wäre neu, dass SRAM als besonders schwierig zu fertigen gilt. Einzig das Problem der schieren Menge an Transistoren führt halt dazu, dass, wenn ein Defekt auf dem Die vorhanden ist, die Wahrscheinlichkeit am höchsten ist, dass es einen Teil vom Cache betrifft. In solchen Fällen wurde ja gerne ein Teil des Caches deaktiviert und die CPU als günstigeres Modell mit halbem Cache verkauft.
Grafikchiphersteller hatten jedenfalls immer wieder mit hohen Ausschussraten bei High-End-Chips zu kämpfen, aufgrund der Komplexität. Mag sein, dass das bei CPUs auch in dem Maße der Fall war, man nur nicht so viel davon mitbekommen hat.
Intel fertigt meines Wissens nach überhaupt nicht derart komplexe Chips, zumindest noch nicht.

Hm, was ist "komplex", wenn nicht Chips mit einer halben Milliarde Transistoren?
Na z.B. eine GPU mit 1,4 Millarden Transistoren. Das ist immerhin etwa drei mal so viel, wie die größte Intel-CPU.
Ein Speicherchip wiederum ist bei gleicher Transistorzahl und gleicher Strukturgröße einfacher zu fertigen, als eine CPU.

Speicherchips haben immer als erste die neuen Strukturen und machen auch viel mehr Shrinks als Logikprozesse. Eigentlich sind die DRAM- und Logikprozesse überhaupt nicht zu vergleichen.
Das meinte ich ja.
Abgesehen davon fertigt etwa TSMC auch bereits Chips in einem 40 nm-Prozess

Sicher? Habe ich noch nichts von gehört.
Ja. Zumindest gab es dazu diverse News-Meldungen und auch auf der deutschen Wikipedia-Seite zu TSMC ist das nachzulesen, wie ich gerade festgestellt habe.
Eine komplexe GPU in einem 55 nm-Prozess ist möglicherweise deutlich schwieriger zu fertigen als eine dazu vergleichsweise kleine CPU in 45 nm.

Glaube ich nicht. GPUs laufen mit eher niedrigem Takt, was Anforderungen an Metallisierungen und Taktverteilung massiv senkt. GPUs sind eigentlich dieselbe Hardware ein paar Dutzendmal nebeneinander auf demselben Chip. Der Logikkern einer CPU hingegen ist viel heterogener und muss extrem optimiert werden, was auch immer eine entsprechende Empfindlichkeit im Prozess nach sich zieht.
Bei einer aktuellen Intel-CPU nimmt den größten Teil der Cache ein, insbesondere bei diesen CPUs mit 6 MB Cache, die dann auf Transistorenzahlen von ~410 Mio. kommen. Also ist bei so einer CPU der weitaus größte Teil extrem homogen. Viel homogener als die Strukturen einer GPU, die sich zwar auch wiederholen, aber an sich schon einzeln betrachtet, im Vergleich mit einer SRAM-Zelle, extrem komplex sind.
 
wejp said:
Die Aussage mit den Caches passt aber nicht wirklich zu der Aussage, dass GPUs ja einfach ein paar Duzend mal das Selbe nebeneinander sind und deswegen einfacher zu fertigen sind. Das trifft auf SRAM noch viel mehr zu. Mir wäre neu, dass SRAM als besonders schwierig zu fertigen gilt.

Es war verkürzt dargestellt. Die riesigen Caches machen die Wegstrecken lang, was die Signale auf diesen Wegstrecken Verzögerungen unterwirft, die besonders stark von Prozessvariationen abhängen. In einer GPU fließen die Daten zu einem großen Teil in einer Richtung, während sie in einer CPU sehr viel mehr im Kreis bewegt werden. Durchsatzarchitektur halt. GPUs können deswegen auch nahezu beliebig tiefe Pipelines haben, CPUs nicht.

Grafikchiphersteller hatten jedenfalls immer wieder mit hohen Ausschussraten bei High-End-Chips zu kämpfen, aufgrund der Komplexität. Mag sein, dass das bei CPUs auch in dem Maße der Fall war, man nur nicht so viel davon mitbekommen hat.

Typischerweise ist der Yield am Anfang im CPU-Bereich unterirdisch. Natürlich ist es immer die Herausforderung, den Yield so schnell wie möglich gut zu bekommen. Irgendwelche funktionierenden Chips bekommt man in einem neuen Prozess eigentlich immer, da ist man aber eben lange davon entfernt, diesen Prozess wirklich zu beherrschen. Aber natürlich ist das bei GPUs prinzipiell genauso.

Intel fertigt meines Wissens nach überhaupt nicht derart komplexe Chips, zumindest noch nicht.

Hm, was ist "komplex", wenn nicht Chips mit einer halben Milliarde Transistoren?
Na z.B. eine GPU mit 1,4 Millarden Transistoren. Das ist immerhin etwa drei mal so viel, wie die größte Intel-CPU.

Ja schon, aber teile das mal durch 48 Shader usw. Der einzelne Entwurf ist dabei nicht so komplex und es werden wohl nicht so viele Schweinereien wie dynamische Logik usw. gemacht.

Zumindest gab es dazu diverse News-Meldungen und auch auf der deutschen Wikipedia-Seite zu TSMC ist das nachzulesen, wie ich gerade festgestellt habe.

Interessant. Aber TSMC gehört sowieso in die Spitzengruppe nach Intel und IBM.

Bei einer aktuellen Intel-CPU nimmt den größten Teil der Cache ein, insbesondere bei diesen CPUs mit 6 MB Cache, die dann auf Transistorenzahlen von ~410 Mio. kommen.

Wieviele Transistoren haben denn 6MB Cache? 2*6*1024*1024*8 plus Ausleselogik und Cacheverwaltung, oder?
 
grond said:
Es war verkürzt dargestellt. Die riesigen Caches machen die Wegstrecken lang, was die Signale auf diesen Wegstrecken Verzögerungen unterwirft, die besonders stark von Prozessvariationen abhängen. In einer GPU fließen die Daten zu einem großen Teil in einer Richtung, während sie in einer CPU sehr viel mehr im Kreis bewegt werden. Durchsatzarchitektur halt. GPUs können deswegen auch nahezu beliebig tiefe Pipelines haben, CPUs nicht.
Dass die Pipelines bei CPUs relativ kurz sein sollten liegt ja in erster Linie daran, dass bei sehr langen Pipelines bei einem nicht korrekt vorhergesagten Sprung eben die ganze Pipeline geleert werden muss, was natürlich um so mehr auf die Performance schlägt, je länger die Pipeline ist. Das ist natürlich bei GPUs typischerweise ein viel geringeres Problem, weil sich Sprünge in typischem GPU-Code recht gut vorhersagen lassen.
grond said:
Na z.B. eine GPU mit 1,4 Millarden Transistoren. Das ist immerhin etwa drei mal so viel, wie die größte Intel-CPU.
Ja schon, aber teile das mal durch 48 Shader usw. Der einzelne Entwurf ist dabei nicht so komplex und es werden wohl nicht so viele Schweinereien wie dynamische Logik usw. gemacht.
Das schon. Dass jede einzelne Recheneinheit einer GPU weniger komplex ist, als eine normale CPU ist ja völlig klar, aber das ganze Konstrukt mit eben allen Einheiten ist eben doch ziemlich groß und auch nicht so homogen wie eben SRAM. Von den 410 Mio. Transistoren bei der Intel-CPU bleiben ohne den Cache übrigens auch "nur" noch etwa 138 Mio. Transistoren übrig (s.u.).
Wieviele Transistoren haben denn 6MB Cache? 2*6*1024*1024*8 plus Ausleselogik und Cacheverwaltung, oder?
So etwa dürften es 272 Mio. Transistoren für 6 MB sein. Ich habe das einfach am Wolfdale-Kern überschlagen, den es mit 3 MB (274 Mio Transistoren) und 6 MB (410 Mio Transistoren) Cache gibt.
Für den eigentlichen Prozessorkern bleiben also noch 138 Millionen Transistoren übrig.
 
wejp said:
Dass die Pipelines bei CPUs relativ kurz sein sollten liegt ja in erster Linie daran, dass bei sehr langen Pipelines bei einem nicht korrekt vorhergesagten Sprung eben die ganze Pipeline geleert werden muss

Ja, schon, aber wenn ich jeden kritischen Pfad zähmen kann, indem ich einfach eine weitere Registerstufe einbaue, entspannt das die Anforderungen an den Prozess massiv. Die unglaublichen Leistungsaufnahmen von GPUs bei popligen Taktraten von irgendwas um die 500 MHz (DC sozusagen), zeigen, dass das offenbar auch gemacht wird. Ich bin Schaltungsentwickler, kein Prozesstechniker, deswegen kann es durchaus sein, dass ich die Schwierigkeiten bei der Fertigung von GPUs respektive CPUs falsch einschätze. Als wir mit einem damals noch zu entwickelnden 120nm-Prozess 10 GHz-Schaltungen entwickelt haben (Intel und AMD haben zu der Zeit mit vergleichbaren Prozessen gerade die 1 GHz-Grenze durchbrochen), haben die Schaltungen in der Simulation mit den prognostizierten Prozessparametern gut funktioniert. Dann wurde uns regelmäßig von den Prozessentwicklern ein neuer Parametersatz untergejubelt (ohne jede Ankündigung die entsprechenden Dateien geändert) und nichts ging mehr, wir konnten von vorne anfangen. Der Prozess hat sich leider mindestens zweimal um jeweils 30% Geschwindigkeit verschlechtert, was bei 10 GHz ein wenig unangenehm ist, bei Logikschaltungen bei ein paar hundert MHz aber überwiegend egal wäre. Das bedeutet aber auch, dass eine langsamere Schaltung auf reale Prozessschwankungen während der Fertigung viel weniger problematisch reagiert als eine Schaltung im GHz-Bereich (dafür wird bei CPUs viel massiver "binning" betrieben als bei GPUs, was diese Schwankungen wieder wenigstens teilweise ausgleicht, aber für den Hersteller dennoch unbefriedigend ist). Also wären CPUs "schwieriger" zu fertigen. Andererseits hast Du offenbar recht, was die Defektproblematik angeht. Hier sind GPUs wegen der wesentlich größeren kritischen Fläche sicher viel anfälliger als CPUs (wo, wie Du zurecht bemerkst, kaputte Cachelines per Fusing ausgeschaltet werden könnten). Es gibt also zwei unterschiedliche Probleme bei der Fertigung, die jeweils einen Schaltungstyp stärker betreffen als den anderen.
 
grond said:
Es gibt also zwei unterschiedliche Probleme bei der Fertigung, die jeweils einen Schaltungstyp stärker betreffen als den anderen.
Völlig richtig. Ohne genauste Kenntnisse über die Details bei beiden Fällen, kann man vermutlich kaum eine wirklich korrekte Aussage darüber machen, was nun wirklich problematischer bei der Fertigung ist. Sowohl CPU- als auch GPU-Hersteller werden sehr wahrscheinlich versuchen, bei ihren High-End-Produkten das Machbare möglichst komplett auszureizen.
 
Future said:
double7 said:
Weihnachten wirds wohl nichts mehr werden, peilen wir mal optimistisch Ostern an - und wenn das auch nicht klappen sollte, dann wird es ja vielleicht doch was mit der Pandora unterm Weihnachtsbaum...

ja klar ;)
ostern oder weihnachten, :wink:
träum weiter <_<
wir werden die pandoras wohl spätestens
ende februar bzw. anfang märz bekommen.
ich tippe aber eher auf januar.

Ich denke ich hab mir damit ein T-Shirt verdient, auf dem in grossen freundlichen Buchstaben steht:

Pandora
Ich bin Realist!


;)

Also bis Weihnachten wird es sicher was, die aktuellen Fortschritte sind ja sehr gut. Hoffen wir das die Hürden der CE Zertifizierung schnell genommen sind und nicht noch weitere Nacharbeiten erforderlich sind. Ich denke vor April wird es nichts mehr, aber wenn es Mai wird bin ich wirklich langsam mit meiner Geduld am Ende.
 
Back
Top