In diesem Beitrag erklären wir grundlegend und vereinfacht, die Funktionsweise eines Prozessors.
Der Begriff Prozessor sagt vielen Leuten etwas, nur wissen viele nicht, was dieser eigentlich macht und wie dieser funktioniert.
Der Prozessor
Ein Prozessor ist ein programmierbares Rechenwerk, also eine Maschine oder eine elektronische Schaltung, die mithilfe von übergebenen Befehlen andere Maschinen oder elektrische Schaltungen Algorithmen steuert. Der weitere Artikel beschreibt ausschließlich diese Bedeutung, am Beispiel des Prozessors eines Computers.
Am weitesten verbreitet sind Prozessoren heutzutage als integrierte Schaltungen in Form von Mikroprozessoren und Mikrocontroller in eingebetteten Systemen.
Die CPU – das Herzstück
Der Prozessor, auch CPU genannt, ist das Herzstück jeder Hardware, ohne ihn funktioniert nichts.
Jeder Befehl an den Prozessor, wird in einer Kombination aus den beiden Zahlen 0 und 1 gesendet. Diese Befehle werden nacheinander von der CPU abgearbeitet.
Hauptbestandteile eines Prozessors sind das Rechenwerk sowie das Steuerwerk. Neben diesen Hauptbestandteilen, die die Grundfunktionen bereitstellen, kann es weitere Recheneinheiten geben, die spezialisierte Funktionen zur Verfügung stellen und den eigentlichen Prozessor entlasten sollen – diese Einheiten werden meist als Koprozessor (en: Coprozessor) bezeichnet. In diesem Zusammenhang wird der zentrale Prozessor auch als Hauptprozessor bezeichnet.
Die moderne Form des Prozessors ist der Mikroprozessor, der alle Bausteine des Prozessors in einer integrierten Schaltung zusammenfasst. Moderne Prozessoren für Server, Desktop-Computer und Notebooks, aber auch für Smartphones und Tablet-Computer, sind oft Mehrkernprozessoren mit zwei, vier oder mehr Prozessorkernen. Die Prozessorkerne sind oft unabhängige “Prozessoren” mit Steuer-/Leitwerk und Recheneinheit auf einem Chip. Eine klare Abgrenzung der Begriffe Prozessor, Hauptprozessor, CPU und Prozessorkern gibt es nicht.
Prozessoren für eingebettete Systeme machen etwa 95 Prozent[1] des Prozessormarkts aus, wobei davon 90 Prozent sogenannte Mikrocontroller sind, die neben dem eigentlichen Prozessor weitere Funktionen enthalten.
Leistungsoptimierung
Um die Leistung der CPU zu verbessern, können mehrere Prozessorkerne auf einem Chip zusammengeschaltet werden.
Hersteller wie Intel oder AMD geben die Zusammenschaltungen dann wörtlich so an:
Ein Single-Core-Prozessor hat nur einen CPU-Kern, ein Dual-Core hat zwei. Vierkernprozessoren nennt man auch Quad-Core, Sechskernprozessoren Hexa-Core; eine Octa-Core-CPU hat sogar acht Prozessorkerne.
Je höher die Taktfrequenz einer CPU, desto mehr erhitzt sie sich. Um Schäden dementsprechend zu vermeiden, ist es daher wichtig, die CPU zu kühlen.
An gewöhnlichen Computern funktioniert dies per Lüftung, besonders leistungsstarke Prozessoren können auch mit Wasser gekühlt werden.
Wie funktioniert ein Prozessor?
Ein Prozessor besteht mindestens aus Registern bzw. Speichern, einer Recheneinheit, einer Steuereinheit und den Datenleitungen, die die Kommunikation mit anderen Komponenten ermöglichen. Insbesondere moderne Mikroprozessoren enthalten teilweise auch sehr viel feiner unterteilte Einheiten, die flexibel genutzt/zugewiesen werden können, sowie Einheiten, die mehrfach ausgeführt werden und die gleichzeitige Bearbeitung mehrerer Befehle ermöglichen (Mutlithreading). Die Speicherverwaltungseinheit und ein Cache sind in heutigen Prozessoren oft integriert.
Ein Prozessor besteht primär aus dem Steuer-/Leit- und dem Rechenwerk . Es gibt jedoch weitere Recheneinheiten, die zwar kein Steuer- bzw. Leitwerk enthalten, aber dennoch oft ebenfalls als Prozessor bezeichnet werden. Diese im Allgemeinen Koprozessor genannten Einheiten stellen in der Regel spezialisierte Funktionen zur Verfügung.
Zur Abgrenzung dieser Koprozessoren zu einem “echten” Prozessor mit Steuer- und Rechenwerk wird der Begriff CPU oder zu deutsch Hauptprozessor genutzt.
Mehrkernprozessoren bestehen aus mehreren voneinander unabhängigen Einheiten mit einem Rechen- und Steuerwerk, um die herum weitere Komponenten wie Cache und Memory Management Unit angeordnet sind. Diese Einheiten werden als Prozessorkern bezeichnet. Da die Kerne eigenständige Prozessoren sind, werden die einzelnen Kerne häufig auch als CPU bezeichnet.
Komponenten eines Prozessors
Ein normaler Mikroprozessor besteht, wie oben beschrieben, aus vier Funktionsgruppen.
Die Steuereinheit kümmert sich um das Lesen und Interpretieren der Programmanweisungen aus dem Speicher.
Es steuert dann das Rechenwerk an, welches den Befehl ausführt.
Die Steuereinheit und das Rechenwerk benötigen sehr schnelle Zwischenspeicher, in denen sie Operanden, Zwischenergebnisse und Statusinformationen kurzzeitig speichern können. Diese Zwischenspeicher sind die Register des Prozessors.
Verbunden sind die einzelnen Teile über ein internes Bussystem, das aus Daten und Adressbus und einzelnen Steuerleitungen bestehen.
Das interne Bussystem ist über ein Interface an den Systembus angeschlossen, über den der Prozessor auf Speicher und Peripheriegeräte zugreifen kann.
Sicherheitschwachstellen
Unser Cyber Security Researcher (CSR) Cedric, hat in einem seiner Blogs mehr über Sicherheitslücken in Prozessoren geschrieben: https://slsp.dev/vulnerabilities-in-processors/
Wer Interesse daran hat, kann dort gerne mal vorbei schauen.
Schlusswort
Die gesamte Prozessorfunktionalität in einem einzigen, übersichtlichen, Blogeintrag zu verfassen ist nicht möglich. Hier wurden nur die ersichtlichen und groben Funktionen angekratzt.
Wer sich umfassend mit dem Thema und dem Aufbau von Prozessoren auseinandersetzen möchte, dem empfehle ich sich z.B. die Bachelorarbeit von Christian alkzair, Altin Januzi & Andreas Blom anzuschauen. Diese haben die einzelnen Komponenten nochmal fein gegliedert erklärt: https://uu.diva-portal.org/smash/get/diva2:1217222/FULLTEXT01.pdf
[1] Buch: Grundlagen der Informatik (9783827373052)