Da sind noch nicht so viele Antworten da – da hab ich mir gedacht, ich werfe das mal so rein, wie ich einem meiner AzuBi erklären würde.
Das Thema ist nicht so kompliziert, aber extrem komplex.
Frage zuerst: CPU / FPU / GPU – was ist das – sind doch alles Prozessoren. Was soll das mit den Cores? Ist da einer stärker / schwächer?
Was ist innen in einem Prozessor?
- ziemlich einfach (aber klitzklein): Halbleiter / Transistoren. So wie die angeordnet und verschaltet sind, legt man an bestimmten PINs Spannung an und kann an anderen PINs das Ergebnis ablesen. Daher sind CPU / GPU / FPU Prozessoren. Das passiert immer wieder und wird vom Motherboard (wo auch immer) angeregt – das ist der Takt. Bedeutet: Ein Takt, dann läuft Strom und am anderen Ende des Prozessors kommt unter Umständen ein Ergebnis raus. So einfach sind Prozessoren.
Die Cores ergeben sich daraus, dass man in einem Gehäuse (das Bauteil) mehrere dieser Prozessoren reingebaut hat. (Hyperthreading lasse ich mal raus).
Warum nehme ich für einen Computer denn nicht lieber mehrere GPU mit etlichen hundert Cores statt einige CPU-Cores und brauche dann auch noch GPU dazu?
Antwort:
- stärker / schwächer ist keiner, aber anders
- guck mal in Google und suche nach dem „von Neumann-Rechner“ und der „Turing-Maschiene“. Das ist bei uns der Einstieg in den ersten Tagen in die Prozessor-Technik.
Die CPU ist eine Turing-Maschine/von_Neumann-Rechner. Der ist dazu gebaut, nacheinander bestimmte Bits/Bytes aus dem Speicher zu holen im Zyklus Fetch-Decode-Execute-Store, den Befehl zu dekodieren und die Ergebnisse zurückzuschreiben. Die kann aber deshalb auch ein Programm (!) ausführen.
Eine GPU / FPU braucht genau die Angabe, was die Ausgangswerte sind und kann furchtbar schnell daraus irgendein komplexes Ergebnis berechnen. Mehr aber nicht.
Das Bild: stell dir ein Reisfeld vor. Du hast ein paar Aufseher (jeder ist ein CPU-Core), die vorgeben, was zu machen ist. Die kennen den Weg und passen auf und treiben an.
Auf dem Feld sind aber ein paar hundert Arbeiter. Die sind nicht schlau, beherrschen aber ihre Arbeit ganz genau und schnell. Jeder ist ein FPU-Core. Jeder kann ganz komplizierte Berechnungen, aber die Schuhe kann er sich nicht zubinden – dazu braucht er einen CPU-Core, der das macht. Stell dir mal vor, jeder hat einen Taschenrechner. Die Berechnungen, die er machen kann, sind aber nur ganz komplizierte grafische Berechnungen.
Jetzt läuft das Programm:
- die Aufseher gehen zu jedem der Arbeiter und sagen denen, was sie in ihren Taschenrechner eingeben müssen (dazu gibt es in bestimmten Compiler-Bibliotheken extra Routinen). Das macht also die CPU mit ihren Cores.
- dann kommt der nächste Takt – jeder der Arbeiter drückt die Taste und die Berechnung ist fertig (weil er das so schnell kann). Das ist die GPU.
- das Ergebnis kann im RAM oder im Video-RAM oder irgendwo abgelegt werden.
Bedeutet: GPU ohne CPU geht gar nicht. CPU ohne FPU geht, braucht aber viel länger.