Innerhalb eines Computersystems nimmt die Zentraleinheit (CPU) eine herausragende Stellung ein. Sie agiert als Hauptzentrum und Verarbeitungsinstanz für Befehle, die von Anwendungen, dem Betriebssystem und anderen Hardwarekomponenten generiert werden.
Die Welt der Einsen und Nullen
Die stetige Entwicklung leistungsfähigerer CPUs hat es ermöglicht, dass wir uns von einfachen Bilddarstellungen auf Bildschirmen zu komplexeren Anwendungen wie Streamingdiensten, Video-Chats und immersiven Videospielen bewegt haben.
Obwohl die CPU ein technisches Meisterwerk darstellt, basiert sie grundlegend auf der Interpretation binärer Signale (1 und 0). Moderne CPUs nutzen jedoch winzige Transistoren anstelle von Lochkarten oder Vakuumröhren. Diese Transistoren verarbeiten Daten und ermöglichen die Ausführung komplexer Aufgaben.
Grundlagen der CPU-Technologie
Die Herstellung einer CPU ist ein komplexer Prozess. Entscheidend ist, dass jede CPU aus Silizium besteht (entweder einem einzelnen Stück oder mehreren), das eine Vielzahl von mikroskopisch kleinen Transistoren enthält.
Diese Transistoren nutzen elektrische Signale, um den binären Maschinencode in Form von Einsen und Nullen darzustellen. Die hohe Anzahl dieser Transistoren ermöglicht es CPUs, komplexe Aufgaben mit beachtlicher Geschwindigkeit auszuführen.
Die reine Anzahl an Transistoren ist nicht der alleinige Indikator für die Geschwindigkeit einer CPU, sie spielt dennoch eine entscheidende Rolle. Sie ist ein wesentlicher Faktor für die hohe Rechenleistung von Smartphones, die heute deutlich höher ist als die Rechenkapazität, die beispielsweise die NASA bei ihren ersten Mondmissionen zur Verfügung hatte. Ein Vergleich zur Mondlandung.
Bevor wir die architektonischen Feinheiten von CPUs weiter untersuchen, wollen wir uns die Funktionsweise der Befehlsausführung basierend auf Maschinencode, dem sogenannten „Befehlssatz“, ansehen. CPUs unterschiedlicher Hersteller können verschiedene Befehlssätze verwenden, was aber nicht immer der Fall ist.
Die meisten Windows-PCs und aktuellen Mac-Prozessoren verwenden den x86-64 Befehlssatz, unabhängig davon, ob es sich um eine Intel- oder eine AMD-CPU handelt. Neuere Macs hingegen verwenden ARM-basierte CPUs mit abweichenden Befehlssätzen, und auch einige wenige Windows 10-PCs sind mit ARM-Prozessoren ausgestattet.
Kerne, Caches und Grafikfunktionen
Betrachten wir nun die physikalische Struktur des Siliziums. Die obige Abbildung, aus einem Whitepaper von Intel aus dem Jahr 2014, zeigt beispielhaft die Architektur der Core i7-4770S CPU. Es ist wichtig zu verstehen, dass das Layout bei anderen Prozessoren variieren kann.
In dieser Darstellung sehen wir einen Vier-Kern-Prozessor. In der Vergangenheit hatten CPUs nur einen einzigen Kern, aber durch die Nutzung mehrerer Kerne können Anweisungen nun deutlich schneller verarbeitet werden. Einige Kerne verfügen auch über Hyper-Threading oder Simultaneous Multi-Threading (SMT), was bewirkt, dass ein einzelner Kern für das System wie zwei Kerne erscheint, was die Verarbeitungsgeschwindigkeit weiter verbessert.
Die Kerne in dieser Abbildung teilen sich einen L3-Cache, der sich als Onboard-Speicher innerhalb der CPU befindet. Darüber hinaus verfügen CPUs über L1- und L2-Caches, die in jedem Kern integriert sind. Register stellen eine weitere Form von Low-Level-Speicher dar. Detaillierte Informationen zu den Unterschieden zwischen Registern, Caches und System-RAM finden sich in dieser Antwort auf StackExchange.
Die CPU enthält zudem den System Agenten, den Speichercontroller und andere Komponenten, die für die Verwaltung der Daten verantwortlich sind, die in die CPU gelangen und diese verlassen.
Schließlich gibt es noch die integrierte Grafikeinheit, die die visuellen Elemente erzeugt, die auf dem Bildschirm erscheinen. Es ist wichtig zu erwähnen, dass nicht alle CPUs über diese integrierten Grafikfunktionen verfügen. Einige AMD Zen-Desktop-CPUs benötigen eine dedizierte Grafikkarte, um visuelle Ausgaben zu generieren. Auch bestimmte Intel Core Desktop-CPUs werden ohne integrierte Grafikeinheit ausgeliefert.
Die CPU auf dem Mainboard
Nachdem wir uns die interne Struktur der CPU angesehen haben, betrachten wir nun ihre Integration in das Computersystem. Die CPU wird auf dem Mainboard in einem CPU-Sockel platziert.
Sobald sie sich im Sockel befindet, können andere Komponenten über sogenannte „Busse“ mit der CPU kommunizieren. Der RAM ist beispielsweise über einen eigenen Bus verbunden, während viele PC-Komponenten einen bestimmten Bus-Typ namens „PCIe“ verwenden.
Jede CPU verfügt über eine definierte Anzahl von „PCIe-Lanes“. AMDs Zen 2 CPUs haben beispielsweise 24 Lanes, die direkt mit der CPU verbunden sind. Diese Lanes werden von den Motherboard-Herstellern unter Anleitung von AMD aufgeteilt.
Typischerweise werden 16 Lanes für einen x16-Grafikkartensteckplatz verwendet. Weitere vier Lanes dienen der Anbindung von schnellen Speichergeräten wie M.2-SSDs. Alternativ können diese vier Lanes auch aufgeteilt werden, z.B. für eine M.2-SSD und ein langsameres SATA-Laufwerk, wie eine Festplatte oder eine 2.5-Zoll-SSD.
Diese Verteilung ergibt 20 belegte Lanes, während die restlichen vier dem Chipsatz vorbehalten sind, der als Kommunikationszentrum des Mainboards fungiert. Der Chipsatz selbst hat auch Busverbindungen, über die zusätzliche Komponenten angebunden werden können. Leistungsstärkere Komponenten haben in der Regel eine direktere Verbindung zur CPU.
Wie ersichtlich, übernimmt die CPU einen Großteil der Befehlsverarbeitung und gegebenenfalls auch die Grafikausgabe, sofern sie entsprechend konzipiert ist. Die CPU ist jedoch nicht die einzige Komponente, die Anweisungen verarbeitet. Andere Elemente, wie z.B. die Grafikkarte (GPU), haben ihre eigene integrierte Verarbeitungskapazität. Die GPU arbeitet oft in Zusammenarbeit mit der CPU, um Spiele und andere grafikintensive Anwendungen zu betreiben.
Der wesentliche Unterschied liegt in der Spezialisierung. Komponentenprozessoren sind für spezifische Aufgaben konzipiert, während die CPU ein Allzweckgerät darstellt, das jede Rechenaufgabe ausführen kann. Daher ist die CPU das zentrale Element im PC-System und die anderen Komponenten sind von ihrer einwandfreien Funktion abhängig.