Sonntag, 15. November 2009

CPU und GPU im Vergleich

Zur Begriffserklärung siehe Informatik-Vokabeln!
Wenn man die Daten von CPU und GPU vergleicht, fällt als erstes auf, dass eine GPU viel mehr Cores (Kerne in denen Berechnungen stattfinden) hat. Beispielsweise hat der Grafikchipsatz "ATI Radeon HD 5870" 1600 Steam-Prozessoren, wobei eine CPU höchsten 4 reale und somit bei CPUs mit Hyperthreading, 8 virtuelle Cores besitzt.

Dabei hat der Chipsatz einer GPU die Eigenschafft, nur gleiche Datenpakete in einem Takt zu bearbeiten. In einem Takt kann die HD 5870 somit 1600 gleichartige Datenpakete bearbeiten. Bei verschiedenen Datenarten ist aber die Schwäche einer GPU: Sie kann in einem Takt dann nur eine Datenart bearbeiten und ist somit der CPU unterlegen.

Eine CPU hat bei 8 Cores zwar weniger Kapazität für gleichzeitige Berechnungen, aber
kann verschiedene Pakete gleichzeitig berechnen. Wenn also 8 Pakete verschiedener Datentypen anstehen hat ein Prozessor mit 8 virtuellen Cores, alle in einem Takt bearbeitet. Eine GPU bräuchte 8 Takte. Würden allerdings 1600 gleiche Datenpakete anstehen, dann hätte die GPU alles in einem Takt fertig. Die CPU mit 8 Cores bräuchte 200 Takte.

Bei diesen Daten darf aber nicht aus den Augen verloren werden, dass die CPU eine viel höhere Taktrate hat. So hat ein AMD Phenom II X4 965 eine Taktrate von 3,4 GHz, was bedeutet, dass in einer Sekunde 3,4 Milliarden Takte stattfinden. Die ATI Radeon 5870 hat aber nur 850MHz, was 850 Millionen Takte pro Sekunde sind. Nebenbei haben eine GPU und eine CPU immer einen Speicher mit eigenem Takt, zudem wir uns aber jetzt nicht weiter vertiefen.

Was nützt uns diese Erkenntnis? Eine GPU wird bekannterweise für Grafikberechnungen verwendet, da dafür viele gleiche Datenpakete berechnet werden müssen. Eine CPU bearbeitet die anderen Prozesse, die unterschiedliche Berechnungen verlangen. Es gibt aber auch schon Projekte, in denen sich die Eigenschaften von GPU und CPU auf andere Weise zum Nutzen gemacht werden. So hat nVidia schon seit längerem "CUDA" veröffentlicht, was einen Übergriff der GPUs von nVidia auf Prozesse wie Videobearbeitung machen lässt. Auch der bald erscheinende Adobe Flash Player 10.1 soll die GPU nutzen, um die CPU so zu entlasten und auch Flash-Inhalte mit 1080p für Besitzer älterer CPUs möglich machen soll (siehe Artikel zu YouTube).

mfG newNewton!

MSN: j.gorzel@ymail.com

Keine Kommentare: