CPU (Zentrale Verarbeitungseinheit): Definition, Aufbau & Funktion

CPU (Zentrale Verarbeitungseinheit): Definition, Aufbau & Funktion kompakt erklärt — wie Prozessoren arbeiten, Taktrate, Architektur und Einsatzgebiete verständlich erklärt.

Autor: Leandro Alegsa

Eine zentrale Verarbeitungseinheit (CPU) ist ein zentraler Bestandteil jedes Computers. Die CPU steuert und koordiniert die Arbeit der übrigen Komponenten und trifft Entscheidungen über Ausführung und Reihenfolge von Operationen – ähnlich wie ein Gehirn den Körper steuert.

Was ist die CPU und welche Aufgaben hat sie?

Die CPU ist eine elektronische Maschine, die nach einer Liste von Arbeitsschritten, den sogenannten Instruktionen, arbeitet. Sie liest diese Befehle aus dem Speicher, interpretiert sie und führt sie aus. Solche Listen von Instruktionen bilden ein Computerprogramm. Die CPU verwaltet außerdem den Datenaustausch mit Arbeitsspeicher, Massenspeicher und Peripherie und reagiert auf externe Ereignisse (Interrupts).

Aufbau einer CPU

Im Inneren einer CPU lassen sich mehrere funktionale Einheiten unterscheiden:

  • Steuerwerk (Control Unit): Holt Instruktionen aus dem Speicher, entschlüsselt sie und steuert die übrigen Einheiten.
  • Rechenwerk/ALU (Arithmetic Logic Unit): Führt arithmetische und logische Operationen aus.
  • Register: Kleine, sehr schnelle Speicherplätze direkt in der CPU für temporäre Werte und Adressen.
  • Cache: Mehrstufiger Zwischenspeicher (L1, L2, L3) zur Beschleunigung des Zugriffs auf häufig benötigte Daten.
  • FPU (Floating-Point Unit): Spezialisiert auf Gleitkomma-Berechnungen.
  • Decoder und Ausführungseinheiten: Entschlüsseln Instruktionen und verteilen sie an passende Ausführungseinheiten; moderne CPUs besitzen mehrere Ausführungseinheiten für Parallelität.
  • Mehrere Kerne (Cores) und Threads: Viele Prozessoren enthalten mehrere Kerne, die jeweils eigenständige Befehlsfolgen ausführen können; Technologien wie Hyper-Threading erlauben die Ausführung mehrerer Threads pro Kern.

Wie arbeitet die CPU? (Fetch–Decode–Execute)

Der grundlegende Ablauf besteht aus drei Schritten: Befehle holen (fetch), Befehle entschlüsseln (decode) und Befehle ausführen (execute). Moderne Prozessoren verwenden zusätzlich Techniken wie Pipeline-Verarbeitung, Superskalarität (mehrere Instruktionen gleichzeitig), Out-of-Order-Ausführung, Sprungvorhersage (branch prediction) und spekulative Ausführung, um die Leistung zu erhöhen. Diese Mikroarchitektur-Optimierungen verbessern Durchsatz und Auslastung der Ausführungseinheiten.

Taktfrequenz, Leistung und Messgrößen

Die Taktfrequenz oder Geschwindigkeit der internen Schaltvorgänge einer CPU wird in Hertz (Hz) gemessen. Moderne Prozessoren werden meist in Gigahertz (GHz) angegeben. Ein GHz ist äquivalent zu 1.000.000.000.000 Zyklen pro Sekunde — dieser Wert in dem Link ist jedoch fehlerhaft; korrekt gilt: 1 GHz = 1.000.000.000 Zyklen pro Sekunde (109).

Die reine Taktfrequenz sagt nicht alles über die tatsächliche Leistung aus. Wichtige ergänzende Größen sind:

  • IPC (Instructions per Cycle) – wie viele Instruktionen im Durchschnitt pro Taktzyklus ausgeführt werden.
  • Anzahl der Kerne – Parallelität über mehrere Kerne erhöht Durchsatz bei geeigneter Software.
  • TDP (Thermal Design Power) – angibt, wie viel Abwärme das Kühlsystem abführen muss.
  • Cache-Größe und Speicherbandbreite – beeinflussen, wie schnell Daten bereitstehen.

Typen von CPUs und Hersteller

Die meisten CPUs in Desktop- und Laptop-Computern sind Mikroprozessoren, die auf einem einzigen Chip mehrere Funktionen vereinen. Großen Anteil am Markt hatten und haben Hersteller wie Intel und Advanced Micro Devices (gewöhnlich AMD). Weitere wichtige Akteure und Architekturen sind ARM (häufig in Mobilgeräten und energieeffizienten Systemen) und IBM (z. B. POWER-Prozessoren in Servern).

In der Vergangenheit war ATI Technologies, vor allem für Grafikkarten bekannt; ATI wurde von AMD übernommen und ist heute Teil der Grafiklösungen von AMD. Viele Unternehmen entwickeln CPUs oder CPU-Designs für spezielle Märkte; diese Prozessoren werden häufig in eingebetteten Systemen eingesetzt, zum Beispiel in Mobiltelefonen, Autos, Spielkonsolen oder in der Industrie und beim Militär.

Einbau, Schnittstellen und Integration

CPUs werden auf einer Hauptplatine im passenden Sockel montiert und kommunizieren über Systembusse/Controller mit Arbeitsspeicher (RAM), Grafikchips und anderen Komponenten. Manche Prozessoren enthalten integrierte Grafikchips (iGPU) oder werden als SoC (System-on-Chip) geliefert, wobei CPU, GPU, Speichercontroller und Peripherie auf einem einzelnen Chip integriert sind.

Praktische Hinweise

  • Beim Kauf eines neuen Prozessors beachten: geplante Einsatzbereiche (Spiel, Office, Server, mobile Geräte), Anzahl der Kerne, Takt, Cache-Größe und Energieverbrauch.
  • Für gute Systemleistung sind CPU, Arbeitsspeicher und schnelle Massenspeicher (SSD) im richtigen Verhältnis wichtig.
  • Wärmemanagement (Kühlung) ist entscheidend: hohe Taktfrequenzen und viele Kerne erzeugen Wärme, die abgeführt werden muss.

Kurz zusammengefasst: Die CPU ist das steuernde und rechnende Herz eines Computers. Ihre Leistung hängt nicht nur von der Taktfrequenz ab, sondern von Architektur, Kernanzahl, Cache, Speicherzugriff und vielen Optimierungen der Mikroarchitektur. Verschiedene Hersteller und Architekturen bedienen unterschiedliche Einsatzzwecke — von energiesparenden Mobilchips bis zu leistungsfähigen Serverprozessoren.

Eine Pentium-CPU in einem ComputerZoom
Eine Pentium-CPU in einem Computer

Typen von CPUs

Im 20. Jahrhundert haben Ingenieure viele verschiedene Computerarchitekturen erfunden. Heutzutage verwenden die meisten Desktop-Computer entweder 32-Bit-CPUs oder 64-Bit-CPUs. Die Befehle in einer 32-Bit-CPU können gut mit Daten umgehen, die 32 Bit groß sind (die meisten Befehle "denken" in 32 Bit in einer 32-Bit-CPU). Ebenso ist eine 64-Bit-CPU gut im Umgang mit Daten, die 64 Bit groß sind (und oft auch gut im Umgang mit 32-Bit-Daten). Die Größe der Daten, die eine CPU am besten handhabt, wird oft als die Wortgröße der CPU bezeichnet. Viele alte CPUs aus den 70er, 80er und frühen 90er Jahren (und viele moderne eingebettete Systeme) haben eine 8-Bit- oder 16-Bit-Wortgröße. Als CPUs in der Mitte des 20. Jahrhunderts erfunden wurden, hatten sie viele verschiedene Wortgrößen. Einige hatten unterschiedliche Wortgrößen für Befehle und Daten. Die weniger populären Wortgrössen wurden später nicht mehr verwendet.

Die meisten CPUs sind Mikroprozessoren. Das bedeutet, dass die CPU nur ein einziger Chip ist. Einige Chips mit Mikroprozessoren enthalten auch andere Komponenten und sind komplette Ein-Chip-"Computer". Dies wird als Mikrocontroller bezeichnet.

Registriert

Wenn die CPU ein Computerprogramm ausführt, muss sie irgendwo die Daten speichern, mit denen die Befehle arbeiten (die Daten, die sie lesen und schreiben). Diese Speicherung wird als Register bezeichnet. Eine CPU hat normalerweise viele Register. Auf Register muss sehr schnell zugegriffen werden können (zum Lesen und Schreiben). Daher sind sie Teil des CPU-Chips selbst.

Erinnerung

Die Speicherung aller Daten in Registern würde die meisten CPUs zu kompliziert (und sehr teuer) machen. Daher speichern Register normalerweise nur die Daten, an denen die CPU "gerade jetzt" arbeitet. Der Rest der vom Programm verwendeten Daten wird im RAM (Speicher) gespeichert. Außer in Mikrocontrollern wird RAM normalerweise außerhalb der CPU in separaten Chips gespeichert.

Wenn die CPU Daten im RAM lesen oder schreiben will, gibt sie eine Adresse zu diesen Daten aus. Jedes Byte im RAM hat eine Speicheradresse. Die Größe der Adressen ist oft gleich der Wortgröße: Eine 32-Bit-CPU verwendet 32-Bit-Adressen usw. Kleinere CPUs, wie 8-Bit-CPUs, verwenden jedoch oft Adressen, die größer als die Wortgröße sind. Andernfalls wäre die maximale Programmlänge zu kurz.

Da die Größe der Adressen begrenzt ist, ist auch die maximale Speichermenge begrenzt. 32-Bit-Prozessoren können normalerweise nur bis zu 4 GB RAM verarbeiten. Dies ist die Anzahl der verschiedenen Bytes, die über eine 32-Bit-Adresse ausgewählt werden können (jedes Bit kann zwei Werte haben - 0 und 1 - und 232 Bytes entsprechen 4 GB). Ein 64-Bit-Prozessor kann möglicherweise bis zu 16 EB RAM verarbeiten (16 Exabyte, etwa 16 Milliarden GB oder 16 Milliarden Milliarden Bytes). Das Betriebssystem kann ihn auf die Verwendung kleinerer Mengen beschränken.

Die Informationen, die im RAM gespeichert sind, sind normalerweise flüchtig. Das bedeutet, dass sie verschwinden, wenn der Computer ausgeschaltet wird.

Cache

Auf modernen Computern ist RAM viel langsamer als Register, so dass der Zugriff auf RAM Programme verlangsamt. Um Speicherzugriffe zu beschleunigen, wird oft ein schnellerer Speichertyp, ein so genannter Cache, zwischen dem RAM und den Hauptteilen der CPU platziert. Der Cache ist in der Regel ein Teil des CPU-Chips selbst und ist pro Byte viel teurer als RAM. Der Cache speichert die gleichen Daten wie der RAM, ist aber normalerweise viel kleiner. Daher passen möglicherweise nicht alle vom Programm verwendeten Daten in den Cache. Der Cache versucht, Daten zu speichern, die wahrscheinlich viel verwendet werden. Beispiele hierfür sind kürzlich verwendete Daten und Daten, die im Speicher nahe an den kürzlich verwendeten Daten liegen.

Oft ist es sinnvoll, einen "Cache für den Cache" zu haben, genauso wie es sinnvoll ist, einen Cache für RAM zu haben. Beim Multi-Level-Caching gibt es viele Caches, die als L1-Cache, L2-Cache usw. bezeichnet werden. Der L1-Cache ist der schnellste (und pro Byte teuerste) Cache und befindet sich "am nächsten" bei der CPU. Der L2-Cache ist einen Schritt entfernt und ist langsamer als der L1-Cache usw. Der L1-Cache kann oft als ein Cache für den L2-Cache usw. angesehen werden.

Busse

Computerbusse sind die Leitungen, die von der CPU zur Kommunikation mit dem RAM und anderen Komponenten im Computer verwendet werden. Fast alle CPUs haben mindestens einen Datenbus - zum Lesen und Schreiben von Daten - und einen Adressbus - zur Ausgabe von Adressen. Andere Busse innerhalb der CPU führen Daten zu verschiedenen Teilen der CPU.

Befehlssätze

Ein Befehlssatz (auch ISA - Instruction Set Architecture genannt) ist eine Sprache, die direkt von einer bestimmten CPU verstanden wird. Diese Sprachen werden auch als Maschinencode oder binär bezeichnet. Sie sagen aus, wie Sie der CPU sagen, dass sie verschiedene Dinge tun soll, wie z.B. Daten aus dem Speicher in ein Register laden oder die Werte von zwei Registern addieren. Jeder Befehl in einem Befehlssatz hat eine Codierung, d.h. der Befehl wird als eine Folge von Bits geschrieben.

Programme, die in Programmiersprachen wie C und C++ geschrieben wurden, können nicht direkt von der CPU ausgeführt werden. Sie müssen in Maschinencode übersetzt werden, bevor die CPU sie ausführen kann. Ein Compiler ist ein Computerprogramm, das diese Übersetzung vornimmt.

Maschinencode ist nur eine Folge von 0 und 1, was es für Menschen schwierig macht, ihn zu lesen. Um ihn besser lesbar zu machen, werden Maschinencode-Programme normalerweise in Assembler geschrieben. Assemblersprache verwendet Text anstelle von 0 und 1: Sie könnten zum Beispiel "LD A,0" schreiben, um den Wert 0 in Register A zu laden. Ein Programm, das Assemblersprache in Maschinencode übersetzt, wird Assembler genannt.

Funktionalität

Hier sind einige der grundlegenden Dinge, die eine CPU tun kann:

  • Lesen von Daten aus dem Speicher und Schreiben von Daten in den Speicher.
  • Eine Nummer zu einer anderen Nummer hinzufügen.
  • Testen Sie, ob eine Zahl größer als eine andere Zahl ist.
  • Verschieben einer Zahl von einem Ort zu einem anderen (z.B. von einem Register zu einem anderen oder zwischen einem Register und dem Speicher).
  • Zu einer anderen Stelle in der Anweisungsliste springen, aber nur, wenn ein Test wahr ist (z.B. nur, wenn eine Zahl größer als eine andere ist).

Selbst sehr komplizierte Programme können durch die Kombination vieler einfacher Anweisungen wie dieser erstellt werden. Dies ist möglich, weil jede Anweisung eine sehr kurze Zeit braucht, um zu geschehen. Viele CPUs können heute mehr als 1 Milliarde (1.000.000.000) Befehle in einer einzigen Sekunde ausführen. Im Allgemeinen gilt: Je mehr eine CPU in einer bestimmten Zeit tun kann, desto schneller ist sie. Eine Möglichkeit, die Geschwindigkeit eines Prozessors zu messen, ist MIPS (Million Instructions Per Second). Flops (Fließkomma-Operationen pro Sekunde) und die CPU-Taktgeschwindigkeit (gewöhnlich in Gigahertz gemessen) sind ebenfalls Möglichkeiten, um zu messen, wie viel Arbeit ein Prozessor in einer bestimmten Zeit erledigen kann.

Eine CPU besteht aus Logikgattern; sie hat keine beweglichen Teile. Die CPU eines Computers ist elektronisch mit anderen Teilen des Computers, wie der Grafikkarte oder dem BIOS, verbunden. Ein Computerprogramm kann diese Peripheriegeräte durch Lesen oder Schreiben von Zahlen an spezielle Stellen im Speicher des Computers steuern.

Befehls-Pipelines

Jede von einer CPU ausgeführte Anweisung wird normalerweise in vielen Schritten ausgeführt. Dies könnten zum Beispiel die Schritte zur Ausführung einer Anweisung "INC A" (den in Register A gespeicherten Wert um eins erhöhen) auf einer einfachen CPU sein:

  • Lesen Sie die Anweisung aus dem Speicher,
  • die Anweisung entschlüsseln (herausfinden, was die Anweisung bewirkt), und
  • fügen Sie eine zum Register A hinzu.

Verschiedene Teile der CPU tun diese unterschiedlichen Dinge. Oft ist es möglich, einige Schritte aus verschiedenen Anweisungen gleichzeitig auszuführen, was die CPU schneller macht. Beispielsweise können wir eine Anweisung aus dem Speicher zur gleichen Zeit lesen, zu der wir eine andere Anweisung dekodieren, da diese Schritte verschiedene Module verwenden. Man kann sich das so vorstellen, dass viele Befehle "innerhalb der Pipeline" auf einmal ausgeführt werden. Im besten Fall arbeiten alle Module gleichzeitig an verschiedenen Befehlen, aber das ist nicht immer möglich.

Speicherverwaltungseinheiten (MMUs) und virtueller Speicher

Moderne CPUs verwenden häufig eine Speicherverwaltungseinheit (Memory Management Unit, MMU). Eine MMU ist eine Komponente, die Adressen von der CPU in (in der Regel) verschiedene RAM-Adressen übersetzt. Bei der Verwendung einer MMU sind die in einem Programm verwendeten Adressen (normalerweise) nicht die "echten" Adressen, an denen die Daten gespeichert sind. Dies wird als virtueller (das Gegenteil von "realem") Speicher bezeichnet. Einige der Gründe, warum es gut ist, eine MMU zu haben, sind unten aufgeführt:

  • Eine MMU kann den Speicher anderer Programme vor einem Programm "verstecken". Dies wird dadurch erreicht, dass keine Adressen in die "versteckten" Adressen übersetzt werden, während das Programm läuft. Das ist gut, weil es bedeutet, dass Programme den Speicher anderer Programme nicht lesen und verändern können, was die Sicherheit und Stabilität verbessert. (Programme können einander nicht "ausspionieren" oder "sich gegenseitig auf die Füße treten").
  • Viele MMUs können einige Teile des Speichers nicht beschreibbar, nicht lesbar oder nicht ausführbar machen (d.h. Code, der in diesem Teil des Speichers gespeichert ist, kann nicht ausgeführt werden). Dies kann aus Stabilitäts- und Sicherheitsgründen, aber auch aus anderen Gründen gut sein.
  • MMUs ermöglichen es verschiedenen Programmen, unterschiedliche "Ansichten" des Gedächtnisses zu haben. Dies ist in vielen verschiedenen Situationen praktisch. Zum Beispiel wird es immer möglich sein, den "Haupt"-Code eines Programms an der gleichen (virtuellen) Adresse zu haben, ohne mit anderen Programmen zu kollidieren. Es ist auch praktisch, wenn es viele verschiedene Code-Stücke (aus Bibliotheken) gibt, die von Programmen gemeinsam benutzt werden.
  • MMUs erlauben es, dass Code aus Bibliotheken bei jeder Programmausführung an verschiedenen Adressen erscheint. Das ist gut, denn wenn man nicht weiß, wo sich die Dinge im Speicher befinden, ist es für Hacker oft schwieriger, Programme dazu zu bringen, schlechte Dinge zu tun. Dies wird als Adressraum-Randomisierung bezeichnet.
  • Fortgeschrittene Programme und Betriebssysteme können mit MMUs Tricks anwenden, um zu vermeiden, dass Daten zwischen verschiedenen Speicherorten kopiert werden müssen.

Mehrere Kerne

Mehrkernprozessoren wurden zu Beginn des 21. Jahrhunderts üblich. Das bedeutet, dass sie viele Prozessoren auf dem gleichen Chip eingebaut haben, so dass sie viele Befehle gleichzeitig ausführen können. Einige Prozessoren können bis zu zweiunddreißig Kerne haben, wie der AMD Epyc 7601.

Hersteller

Die folgenden Unternehmen stellen Computer-CPUs her:

  • ARM
  • Intel
  • Fortgeschrittene Mikrogeräte
  • MCST
  • SRISA
  • Sun Mikrosysteme

Weitere Informationen

Fragen und Antworten

F: Was ist eine CPU?


A: Eine CPU (Central Processing Unit) ist ein wichtiger Teil jedes Computers. Sie sendet Signale, um die anderen Teile des Computers zu steuern, fast so, wie ein Gehirn einen Körper steuert. Die CPU ist eine elektronische Maschine, die mit einer Liste von Anweisungen arbeitet, um bestimmte Aufgaben zu erledigen.

F: Wie funktioniert die CPU?


A: Die CPU liest die Liste der Anweisungen und führt jede einzelne nacheinander aus. Eine Liste von Anweisungen, die eine CPU ausführen kann, ist ein Computerprogramm.

F: In welcher Einheit wird die Taktrate oder Geschwindigkeit einer CPU gemessen?


A: Die Taktrate oder Geschwindigkeit der internen Teile einer CPU wird in Hertz (Hz) gemessen. Moderne Prozessoren laufen oft so schnell, dass stattdessen Gigahertz (GHz) verwendet wird - ein GHz entspricht 1.000.000.000 Zyklen pro Sekunde.

F: Wer sind einige Unternehmen, die CPUs herstellen?


A: Einige Unternehmen, die CPUs herstellen, sind Intel, Advanced Micro Devices (AMD), ARM (kürzlich von Nvidia aufgekauft), IBM und AMD unter ATI Technologies, das derzeit den Markt anführt.

F: Wo werden die meisten CPUs eingesetzt?


A: Die meisten CPUs, die in Desktop-Computern verwendet werden, sind Mikroprozessoren von Intel oder AMD, während die meisten anderen in eingebetteten Systemen für speziellere Dinge wie Mobiltelefone, Autos, Videospielkonsolen oder militärische Anwendungen eingesetzt werden.


Suche in der Enzyklopädie
AlegsaOnline.com - 2020 / 2025 - License CC3