Was ist eine CPU?
Bei einer CPU bzw. einem Prozessor handelt es sich um das „Gehirn“ oder „Herzstück“ elektronischer Geräte. Eine CPU stellt einen unverzichtbaren und einen der wichtigsten Bestandteile aller elektronischer Geräte dar, die eine gewisse Rechenleistung erbringen müssen. Prozessoren kommen beispielsweise neben Computern auch in Smartphones, Tablet-PCs oder digitalen Kameras zum Einsatz. Ein Prozessor ist in der Lage, Milliarden von Rechenoperationen pro Sekunde auszuführen und wird nach seiner Performance und Architektur in unterschiedliche Klassen eingeteilt. Die bekanntesten CPU-Produzenten im Computer-Bereich sind AMD und Intel.
Welche Aufgaben übt eine CPU aus?
Die CPU ist eine der ersten Befehlsempfänger in einem elektronischen Gerät. Sie registriert, welche Aufgaben vom Anwender angefordert werden und leitet diese dann an die entsprechende Stelle bzw. die zuständige Komponente weiter. Der Hauptprozessor als zentrale Steuereinheit liest beispielsweise aus dem RAM-Speicher (Arbeitsspeicher) Daten aus und analysiert kontinuierlich alle Ein- und Ausgaben von Peripheriegeräten wie Tastatur, Maus oder Monitor. Darüber hinaus können einer Central Processing Unit explizit bestimmte Aufgaben zugeteilt werden. So können beispielsweise in einem Computerspiel bestimmte Inhalte nach Bedarf eingeblendet werden, die vom Programm angefordert werden. Die CPU oder die GPU (Grafikkarte) ist für die automatische Umsetzung dieser Inhalte zuständig.
Die Central Processing Unit hat folgende Aufgaben:
– Rechenoperationen: Der Hauptprozessor ist für einen Großteil der Aufgaben in einem elektronischen Gerät zuständig. Wann immer Rechenoperationen vom Anwender oder einer Anwendung angefordert werden, kommt der Prozessor zum Einsatz.
– Bus-Systeme: Die Datenübertragung in Bus-Systemen wird von der CPU gesteuert. Der Prozessor erkennt und analysiert die nacheinander eintreffenden Bits und setzt sie als kohärente Teile zusammen, um sie dann weiterzuverarbeiten. Alle Datenübertragungen über den Netzwerkadapter oder USB werden beispielsweise intern über die Central Processing Unit realisiert.
– Kontrolle: Der Hauptprozessor kontrolliert, ob die ihm zugeteilten Aufgaben rechtzeitig erfüllt werden können und schlägt ansonsten Alarm. Dabei gleicht die Central Processing Unit kontinuierlich die laufenden Vorgänge mit Zielstandards ab. Diese Verhaltensweise kann in folgenden Szenarien beobachtet werden: Der Prozessor kann beispielsweise bei einem aktiven Download den Download-Fortschritt anzeigen. Darüber hinaus gibt die CPU Fehlermeldungen aus, wenn zum Beispiel ein Befehl nicht ausgeführt werden konnte.
Woraus setzt sich eine CPU zusammen?
Ein Hauptprozessor setzt sich u. a. aus folgenden Hauptbestandteilen zusammen:
– Steuereinheit (Control Unit): Die Steuereinheit nimmt Anweisungen aus dem Arbeitsspeicher entgegen, decodiert diese und führt sie der Reihe nach aus. Die Control Unit koordiniert außerdem die Arbeit der übrigen Komponenten der CPU.
– Arithmetik-Logikeinheiten (Arithmetic Logic Unit): Diese Komponente ist für die Ausführung arithmetischer und logischer Operationen anhand der Anweisungen der Steuereinheit zuständig.
– CPU-Register: Diese Komponenten stellen den internen Hochgeschwindigkeits-Speicher dar, der für die temporäre Speicherung der zu verarbeitenden Daten zuständig ist.
– Busse: Hierbei handelt es sich Hochgeschwindigkeits-Datenleitungen, welche die Übertragung von Daten und Anweisungen zwischen den einzelnen CPU-Komponenten ermöglichen.
Wie diese Komponenten in den einzelnen Prozessorkernen implementiert sind, hängt in erster Linie von der Prozessorarchitektur ab.
Die Arbeitsweise eines Hauptprozessors
Eine Central Processing Unit arbeitet schrittweise in regelmäßigen Taktzyklen folgende Aufgaben ab:
– Anweisungen einholen (FETCH): In dem ersten Schritt holt der Prozessor aus dem Arbeitsspeicher die Anweisungen ein. Jede Anweisung in einem Programm kann bis zu einigen Millionen von CPU-Befehlen enthalten, die im Arbeitsspeicher an einer bestimmten Speicheradresse aufbewahrt werden. Die Central Processing Unit ist mit einem Programmzähler ausgestattet, der die Position des Prozessors im Programm verfolgt, also die Speicheradresse des Befehls, auf den die Central Processing Unit gerade zugreift.
– Anweisungen entschlüsseln (DECODE): Zum Zeitpunkt, wenn der Prozessor die Programmanweisungen einholt, sind diese in der sogenannten „Assemblersprache“ codiert. Ein sogenannter „Assembler“ übersetzt die Anweisungen in eigene Maschinensprache der Central Processing Unit.
– Anweisungen ausführen (EXECUTE): In diesem Schritt werden Aufgaben, wie zum Beispiel mathematische Kalkulationen, Abarbeitung von Daten oder Entscheidungen über die Abarbeitung weiterer Teile des Programms realisiert. Hier werden mathematische Aufgaben von der Control Unit an die Arithmetic Logic Unit delegiert.
– Resultate ausgeben (WRITEBACK): Der Prozessor schreibt die Resultate in den Speicher.
Unterschiedliche CPU-Architekturen im Überblick
Die Befehlssatzarchitektur (Instruction Set Architecture) wird von der CPU-Architektur und dem eingesetzten Softwarecode bestimmt. Die Instruction Set Architecture bildet eine Schnittstelle zwischen dem Prozessor und der Software und übt eine äußerst wichtige Rolle aus. Mit der Befehlssatzarchitektur werden u. a. die unterstützen Prozessor-Anweisungen, die nativen Datentypen, die Speicherarchitektur sowie die externen Ein- und Ausgaben explizit beschreiben. Zu den wichtigsten Typen von Befehlssatzarchitekturen gehören:
– RISC (Reduced Instruction Set Computing): Hierbei handelt es sich um eine Computing-Architektur, die auf einem reduzierten Befehlssatz basiert.
– CISC (Complex Instructions Set Computing): Hierbei handelt es sich um eine Computing-Architektur, die auf einem komplexen Befehlssatz basiert.
– Sparse-Matrix: Hierbei handelt es sich um einen neuartigen Befehlssatz für hochskalierbare CPU-Arrays, die in erster Linie in performanten Server-Systemen eingesetzt werden.
Die CISC-Architekturen zeichnen sich durch eine hohe Anzahl an spezialisierten Anweisungen aus, die möglichst viele Einsatzbereiche abdecken, während RISC-Architekturen einen anderen Ansatz verfolgen. Sie fokussieren sich auf Anweisungen, die besonders häufig aufgerufen werden und beschränken diese auf eine maximale Größe von 4 Bytes.
- Über den Autor
- Aktuelle Beiträge
Daniel Faust ist Redakteur im Content-Team der Biteno und betreut den Blog der Biteno GmbH.