Die CPU ist allgemein das Herzstück eines jeden Computers oder Smartphones. Heutzutage handelt es sich dabei um hochgradig komplexe Systeme, die auf winzigem physischem Raum die verschiedensten Dinge leisten können. Was macht eine CPU? Aus welchen Komponenten besteht eine typische CPU? Was sind Taktraten oder Prozessorkerne und was sagen sie über die Leistungsfähigkeit aus? Mit diesem Artikel aus unserer Artikel-Reihe Computer erklärt! beantworten wir euch die wichtigsten Fragen rund um dieses Thema.
CPU? Prozessor? SoC?
Jedes uns im Alltag bekannte digitale Gerät hat irgendeine Art von zentraler Recheneinheit. Auf Computern nennen wir das entsprechende Bauteil meist CPU (Central Processing Unit) oder einfach Prozessor. Auf Smartphones redet man stattdessen oftmals von SoCs, wie zum Beispiel die Snapdragon Reihe von Qualcomm oder die Kirin Reihe von Huawei. Ein SoC (System on a Chip) ist jedoch nicht einfach nur ein Prozessor, denn neben einem Prozessor umfasst dieses System noch viele weitere Komponenten, die aus Platzgründen auf der selben Platine wie der Prozessor integriert werden. Im folgenden geht es erstmal "nur" um Prozessoren.
Doch was macht eine CPU?
Einfach gesagt, rechnet sie. Und im Gegensatz zu dem aus dem Alltag bekannten Dezimalsystem nur im Binärsystem. Das Dezimalsystem enthält Ziffern von Null bis Neun (0-9), also zehn (Dezi) Zustände für ein Symbol. Eine größere Zahl ist dann eine Kombination aus mehreren Ziffern, also mehreren Zuständen. Aus zwei Ziffern im Dezimalsystem können schon 10^2 = 100 ((Zustände (Zahlen) dargestellt werden.
Das Binärsystem
Als die Computer erfunden wurden, ging es ja auch erst mal darum, Mathematik auf einer Maschine abzubilden. Wie oben schon veranschaulicht, sind Zahlen und Werte für eine Maschine einfach nur Zustände. Ein Stromkabel kann zum Beispiel zwei Zustände haben: Es fließt Strom, oder es fließt keiner. Genauso eine Glühbirne: Entweder das Licht ist an, oder es ist aus. Zwischenzustände sind also gerade im elektronischen Bereich schwierig eindeutig zu identifizieren. Aus diesem Grund rechnet ein Computer auch heute noch im Binärsystem.
Das funktioniert wie folgt: Statt der Ziffern 0-9 gibt es jetzt nur noch die Null und die Eins (0-1). Aus / An. Falsch / Wahr. Der Speicherplatz für so ein Zustand wird Bit genannt. Damit kann ein Computer umgehen: Liegt auf einer Leitung Spannung, oder nicht?
Um mehr Werte zu erhalten, können wir wie im Dezimalsystem auch die Zustände kombinieren. Klassischerweise gibt es im Computer dafür Bytes: ein Byte ist also ein zusammengefasster Zustand von acht Bits. Das ergibt einen Wertebereich von 0-255 (2^8 = 256). Mehr dazu gibts vielleicht irgendwann mal in einem Computer erklärt - Speicher - Beitrag 😉
Architekturen
In der Informatik gibt es im wesentlichen zwei anerkannte Architekturmodelle für einen PC. Dazu gehört die Harvard Architektur und die von Neumann Architektur. Beide Modelle besitzen die vier Komponenten Befehlsspeicher, Prozessor, Datenspeicher und ein Ein- und Ausgabesystem. Die Modelle unterscheiden sich durch die Verbindung, auch Bus genannt, der verschiedenen Komponenten.
Damit wir überhaupt verstehen können, wie eine CPU funktioniert, brauchen wir mindestens diesen Kontext der minimalen Rechnerarchitekturen.
Befehlsspeicher (Instruction memory): Hier wird der Programmcode gespeichert, das heißt, Maschinencode.
Datenspeicher (Data memory): Hier werden Daten gespeichert, also z.B. Medien.
I/O: Ein-/Ausgabe, Schnittstelle zur Außenwelt (andere Rechner oder Menschen).
CPU: Die zentrale Recheneinheit eines Systems.
Der wesentliche Unterschied zwischen der Harvard und der von Neumann Architektur: In der Harvard Architektur kann kompilierter Code dank getrennter Adressräume von Befehls- und Datenspeicher nicht direkt von der CPU ausgeführt werden. Stattdessen muss er erst in den Befehlsspeicher kopiert werden. Die meisten Rechner basieren heute auf der von Neumann Architektur.
Aufbau der CPU
Auch das Herz eines jeden Rechners, die CPU, kann schematisch vereinfacht dargestellt werden. Eine dieser Darstellung sieht folgende Komponenten vor: das Steuerwerk (Control Unit), das Businterface und das Operationswerk, welches sich wiederum in Adress- oder auch Leitwerk, Rechenwerk und Register unterteilen lässt.
Das Bussystem beschreibt die Kommunikationsschnittstelle an den Bus des Rechners.
Steuerwerk
Das Steuerwerk (Control Unit) ist schon nicht mehr so einfach zu erklären: Hier findet ein Großteil der Koordination statt. Das heißt: Maschinencode, der aus dem Befehlsspeicher über den Bus und das Businterface übertragen wurde, wird hier interpretiert. Man kann sich das als lange To-Do Liste an Aufgaben vorstellen: "Addiere diesen Wert mit jenem Wert", oder "Speichere diesen Wert unter dieser Adresse", usw. Die Aufgabe des Steuerwerks ist es (vereinfacht gesagt), diesen binär codierten Maschinencode mit dem verfügbaren Befehlssatz zu übersetzen.
Das Steuerwerk generiert daraus so genannte "Gating-Signale". Das ist am einfachsten erklärt, wenn ihr schonmal Minecraft gespielt habt. Jeder kennt dort Redstone und Redstone-Schaltungen. Ein Gating Signal kann man sich vorstellen, wie wenn ihr in Minecraft mit einem Minecart über eine Redstone Schiene fahrt, und damit irgendeine Aktion auslöst. Das Steuerwerk ist dabei wie eine Weiche, die entscheidet, wo das Minecart lang fahren soll.
Arithmetic Logical Unit
Die ALU (Arithmetic Logical Unit) ist anschließend für die wirklichen Berechnungen zuständig. In dem Beispiel oben also eine gigantische Redstone Schaltung, oder genauer einem Verbund vieler kleiner Schaltungen. Folgendes Bild zeigt eine einfache "NAND" Schaltung: Nur wenn beide Schalter "an" sind, leuchtet die Lampe. Eine ALU besteht aus großen Mengen dieser Schaltungen, die gleichzeitig und hintereinander geschaltet sein können. Welcher der Schalter "an" oder "aus" ist, entscheidet das Steuerwerk.
Register und Adresswerk
Das Register ist die für den Prozessor wichtigste Möglichkeit, Dinge schnell zwischen zu speichern. Das können temporäre Rechenergebnisse sein, oder aber Adressen. Die Größe eines Registers ist einer der ausschlaggebenden Faktoren, wenn es um die Klassifizierung der Architektur geht. Ein 64bit Prozessor hat dementsprechend 64-Bit große (Daten-)Register und kann damit 2 ^ 64 Byte an Arbeitsspeicher adressieren. Ein 32bit Prozessor kann maximal 2 ^ 32 Byte Daten ansprechen, das sind "nur" 4 Gigabyte.
Das Adresswerk ist dafür verantwortlich, Werte zu speichern und Werte, die für aktuelle Berechnungen benötigt werden, auszulesen.
Heutige CPUs
Auch wenn die eben erklärten Grundprinzipien für den Aufbau und die Funktionsweise einer CPU noch immer gelten, so hat sich in den letzten Jahrzehnten dennoch viel getan. Die Leistungsfähigkeiten haben sich vervielfacht. Die physischen Dimensionen und auch die preislichen haben sich drastisch verringert.
CPU Herstellungsgrößen
Wer den PC-Markt in den letzten Jahren beobachtet hat, wird immer wieder über Begriffe wie 14nm-Produktion, 10nm oder jüngst sogar 7nm gestolpert sein, immer im Zusammenhang mit Prozessoren und Prozessorherstellern. Technisch betrachtet sind die CPUs Schaltkreise (Circuits) auf einem Halbleiter Material. Deren Entwicklung und Herstellung ist hochgradig komplex und schwierig.
Grundlegend gilt dabei ein Grundsatz: Je mehr Fläche mit Schaltkreisen, desto höher ist der Stromverbrauch und die Abwärmeentwicklung. Beides gilt es möglichst gering zu halten, vor allem im Hinblick auf mobile Geräte wie Smartphones. Deswegen wird schon seit den 70ern versucht, die Schaltkreise auf einem Halbleiter zu verkleinern. Die Größenangabe beschreibt immer die kleinstmögliche Strukturgröße, mit der eine CPU produziert wird.
Intel und die 10nm
Intel beispielsweise hat jahrelang mit jeder zweiten neuen Generation Prozessoren die Herstellungsgröße verkleinert. Inzwischen jedoch hat Intel Probleme, von 14nm auf 10nm zu wechseln. Entsprechend sind die Preise von den Desktop CPU's der letzten 3 Jahre weniger gesunken als üblich, und auch die Leistungsfähigkeit konnte nur optimiert werden, nicht aber ernsthaft verbessert. Laut Intel kamen die eigenen Probleme bei der Umstellung auf 10nm durch ein "zu aggressives Vorgehen".
Anders sieht es im CPU Markt für mobile Prozessoren aus. Qualcomm war dort in den letzten Jahren ohne Frage Innovationsführer, mit beeindruckenden Leistungssteigerungen. Inzwischen sind Huawei mit dem iKirin 980 und Apple mit dem A12 Bionic sogar schon beim 7nm Verfahren angekommen. Das Resultat ist gesteigerte Leistung bei weniger Energieverbrauch.
Dennoch hat die "Verkleinerung" ein Ablaufdatum: kleiner als die 7nm oder eventuell noch 5nm ist es Stand heute technisch nicht möglich, Schaltkreise auf einem Halbleiter zu platzieren, auch wenn daran gearbeitet wird. Das Problem bei so kleinen Fertigungsverfahren ist physischer Natur und wird Quantum Tunneling genannt.
Wettbewerber am CPU Markt
Wer heute von CPUs spricht, kommt an der Marke Intel nicht vorbei. Seit Jahrzehnten baut Intel CPUs, primär für Server und Desktop Systeme. Jedoch ist Intel nicht immer die beste und einzige Option.
AMD
Einer der direkten Konkurrenten von Intel ist AMD. Auch AMD baut x86 und x64 Prozessoren primär für Server und Desktop Systeme. AMD hat es in den letzten Jahren geschafft, Intel immer wieder ein saftiges Kontra bieten zu können. Ausschlaggebend dafür ist sowohl die Leistung der aktuellen Prozessoren (Ryzen Reihe), als auch deren Preis-Leistungsverhältnis. In Spielen und Benchmarks sind AMD Prozessoren den Pendants von Intel meist geringfügig unterlegen, haben aber bei anderen (Multi-Core) Szenarien oft die Nase vorn.
Qualcomm
Einen Namen hat sich Qualcomm in den letzten Jahren im mobilen Markt gemacht. Immer wieder waren die CPUs und SoCs der Snapdragon Reihe leistungstechnisch ganz vorne dabei und setzten neue Maßstäbe. Qualcomm ist so erfolgreich, dass Intel zwischenzeitlich den mobilen Markt fast gänzlich aufgegeben hat. Doch dabei wird es wohl nicht bleiben. Durch Entwicklungen wie "Windows on ARM" verschiebt sich das Einsatzgebiet von Qualcomm Chips immer mehr in Richtung Desktop. Und die Entwicklung von Intel wieder verstärkt in Richtung Mobile.
Smartphone Hersteller
Hersteller wie Samsung, Apple und Huawei können sogar noch eigene Chipdesigns vorweisen. Während Apple die eigenen Designs jedoch extern herstellen lässt, so können Samsung und Huawei sogar selbst produzieren. Huawei besitzt dafür den Chiphersteller HiSilicon. Alle setzen auf ARM Chip Designs.
ARM / x86?
Halt, ARM und x86? Dazu hatten wir noch nichts! Dabei kommt man an beiden Begriffen im Kontext von Prozessoren nicht vorbei. Dahinter verbergen sich Bezeichnungen, die den Befehlssatz eines Prozessors beschreiben. Der Befehlssatz steckt, wie anfangs erklärt, im Steuerwerk. Damit ein Programmcode auf möglichst vielen verschiedenen Prozessoren läuft, ist es notwendig, dass all diese Prozessoren den selben Befehlssatz anbieten. Aus der Vergangenheit heraus sind diese beiden am populärsten geworden.
x86 oder auch x64 Chips werden oft für ihre Performance gelobt. Die Befehlssätze sind teilweise sehr komplex, können dafür aber auch komplexe Aufgaben lösen. Im Grunde geht es darum, ein "Befehl" ist "ein Durchlauf/Zyklus" im Prozessor.
ARM Chips haben einen sehr schlanken Befehlssatz. Komplexe Aufgaben können deswegen mehrere Durchläufe durch die CPU benötigen, also eine Kombination mehrerer Befehle. Wenn man sich ein Programm abstrakt als "Liste an Befehlen" vorstellt, dann wird auch klar, warum ARM und x86 nicht kompatibel sind. Wenn ein Prozessor auch nur einen Befehl nicht kennt, oder anders ausführt als vom Programm erwartet, so kann es sein, dass das ganze Programm abstürzt.
Diese "Schlankheit" bietet den ARM Chips jedoch auch einen gewaltigen Vorteil, den jeder im Alltag spürt. Sie sind unglaublich energiesparsam im Vergleich zu x86 Chips. Außerdem sind sie einfacher und günstiger zu produzieren.
Windows on ARM
Mit "Windows on ARM" hat Microsoft etwas unglaubliches geschafft: Den (verhältnismäßig) gigantischen x86 Befehlssatz zu "übersetzen" in den ARM Befehlssatz. Kann man sich vorstellen wie ein großes Wörterbuch. Und man kann damit verstehen, warum Windows on ARM nie so performant sein kann wie Windows auf der x86 Architektur. Bei jedem einzelnen Befehl muss das System in dieses Wörterbuch sehen, und die entsprechende Übersetzung an den Prozessor geben. Stellt euch vor, ihr könnt eine Sprache nicht, habt aber ein Wörterbuch. Nun sollt ihr damit mit einem Muttersprachler dieser Sprache reden. Das könnt ihr auch nicht in der selben Zeit wie in eurer Muttersprache 😉
Taktraten und Kerne
Geht es heute um den Kauf eines neuen Prozessors, so wird vor allem über zwei Dinge viel gesprochen: Anzahl der Kerne und Taktraten.
Ein CPU-Kern ist im Prinzip eine eigenständige Recheneinheit. Theoretisch heißt das, eine CPU mit 2 Kernen kann mit einem perfekt optimierten Programm eine Berechnung in der Hälfte der Zeit durchführen, wie eine CPU mit nur 1 Kern. In der Realität gibt es wenig Programme, die so gut optimiert sind, weswegen viele Kerne nicht pauschal mehr Geschwindigkeit bedeuten.
Neben den CPU Kernen gibt es auch "Threads". Damit gaukelt man einem Programm üblicherweise vor, es gibt doppelt so viele Kerne, wie in Wirklichkeit verbaut sind. Für eine einzelne Berechnung, die beispielsweise 1000 Rechenschritte (CPU Zyklen) braucht, bedeutet das keinen echten Vorteil. Falls aber mehrere Berechnungen gleichzeitig passieren sollen, so kann diese virtuelle Aufteilung spürbare Vorteile bringen.
Die Taktrate gibt an, wie viele Rechenschritte (Zyklen) der Prozessor in einer Zeiteinheit schafft. Hier gilt ganz einfach erstmal: Je höher die Taktrate, desto schneller der Prozessor. Hohe Taktraten implizieren jedoch eine Menge Probleme: Je höher der Prozessor getaktet ist, desto höher ist sein Stromverbrauch und seine Abwärme. Deswegen findet man besonders hoch getaktete Prozessoren fast nur in High-End Gaming PCs.
In den Prozessorangaben wird außerdem oft nur von der maximalen Taktrate gesprochen. Bei unzureichender Kühlung kann es sein, dass diese dem System nur für wenige Sekunden zur Verfügung steht. Dieses Phänomen ist oft bei Smartphones und schlanken Notebooks zu beobachten.
CPUs - das Herz eines Computers
Prozessoren sind unglaublich komplex, wichtig und faszinierend. Dieser Beitrag hat eine Menge Details rund um CPUs näher beleuchtet und erklärt - und doch zählt das wahrscheinlich nur als Spitze des Eisbergs. Vielleicht hat es dennoch dem ein oder anderen geholfen, etwas besser zu verstehen, was der Prozessor im Computer für eine Rolle spielt und wie er funktioniert.