6.3.2) CPU - Central Processing Unit

Der Prozessor, Hauptprozessor oder die CPU ist heutzutage das Herzstück eines jeden elektronischen Geräts. Er wird in Smartphones, Taschenrechnern und in Computern, für die er eigentlich erfunden wurde, eingesetzt. Eine Welt ohne diese Rechengenies ist undenkbar.
Die bekanntesten Prozessoren stammen von den Unternehmen Intel und AMD.

In einem Computersystem kann es mehrere Prozessoren geben. Wenn man vom Prozessor spricht, dann ist damit in der Regel immer der Hauptprozessor gemeint. Wegen seiner zentralen Stellung wird die Bezeichnung „Zentrale Verarbeitungseinheit“ verwendet.
Der Hauptprozessor ist die Funktionseinheit in einem Computer, der die eigentliche Verarbeitungsleistung erbringt. Der Hauptprozessor ist für die Informationsverarbeitung und die Steuerung der Verarbeitungsabläufe zuständig. Dazu holt sich der Prozessor aus dem Speicher nacheinander die Befehle und veranlasst die Informationsverarbeitung.
Neben dem Hauptprozessor gibt es noch weitere Prozessoren, die den Hauptprozessor von der Arbeit entlasten. Der Grafikprozessor (GPU) ist ein solcher Prozessor.

Prozessor-Hersteller

Es gibt 2 marktführende Prozessore Hersteller, AMD und INTEL.
Seit jeher gilt der Prozessor-Hersteller AMD als ewiger Zweiter im Kampf um die Marktanteile im PC-Prozessor-Markt. Dazu kommt, dass AMD lange Zeit von dem am stärksten wachsenden Markt, den Notebooks, abgekoppelt war. Mit wenigen Ausnahmen, waren die meisten AMD-Prozessoren in Low-Cost-PCs für Privatkunden verbaut. In den Bereichen, in denen richtig Geld verdient werden konnte, war Intel immer besser unterwegs.

Das Problem von AMD und INTEL ist, dass die Prozessoren von den beiden Herstellern jeweils komplett andere Sockel gebrauchen und somit ein Umstieg von einem Hersteller zum anderen auch meistens mit einem neuen Motherboard-Kauf einhergeht.

Mikroprozessor

Der Mikroprozessor ist ein Prozessor, der vollständig in einem einzigen Schaltkreis untergebracht ist. Der Prozessor im Personal Computer ist ein solcher Mikroprozessor.

⇒ Ein Mikroprozessor ist die Vereinigung von Rechenwerk und Steuerwerk eines Computers mit den dazugehörigen Daten-, Adress- und Steuerleitungen auf einem Chip

Mikrocontroller

Ein Mikrocontroller ist ein Prozessor, der über zusätzliche digitale Ein- und Ausgänge verfügt und für Steuerungsaufgaben vorgesehen ist. Er wird bereits als vollständiger Computer angesehen, der im Embedded-Bereich eingeordnet wird.

Moderne Prozessortechnik

Die Entwicklung der Prozessoren verlief lange Zeit nach einem scheinbar einfachen Gesetz. Man optimierte den internen Aufbau, verkleinerte die Strukturen, senkte die Spannung, erhöhte die Taktfrequenz oder verbesserte den Herstellungsprozess.
Schon war die nächste Prozessor-Generation geboren. Doch diesem Spiel sind enge Grenzen gesetzt. So muss mit zunehmender Chipgröße das Taktsignal immer längere Wege zurücklegen. Damit der Zeitunterschied der Taktflanken im akzeptablen Bereich liegt, muss der Takttreiber immer leistungsstärker werden. Dadurch erhöht er die Verlustleistung des Prozessors. Deshalb wird die Chipfläche regelmäßig verkleinert. Dabei werden zwischen den Schaltelementen immer dünnere Verbindungen eingesetzt. Dadurch steigt der Widerstand der Verbindungen und die Signale bewegen sich immer langsamer. Das führt unter Umständen dazu, dass die Signallaufzeit unter der Verarbeitungszeit der Gatter liegt. Die physikalischen Grenzen zeigten sehr schnell, dass insbesondere die Taktfrequenz nicht unendlich weit gesteigert werden konnte. Die Taktfrequenz bestimmt unter anderem die entstehende Verlustleistung und damit die Lebensdauer des Prozessors. Deshalb wurden sehr bald andere leistungssteigernde Techniken entwickelt.

Während vor Jahren die Geschwindigkeit eines Prozessors immens wichtig war, ist heute ein ausgewogenes System aus Prozessor, Arbeitsspeicher und Chipsatz das Maß für einen schnellen Computer. Immer weniger Anwendungen benötigen die volle Rechenleistung eines aktuellen Prozessors. Aus diesem Grund bieten die heutigen Prozessoren viel mehr als nur reine Rechengeschwindigkeit. Sie haben mehrere Kerne, nutzen Befehlssatzerweiterungen, intelligente Zwischenspeicher, verfügen über Virtualisierungstechnik und Grafikfunktionen.

Multi-Core-Prozessoren

Multi-Core bedeutet, dass in einem Prozessor mehrere Prozessor-Kerne eingebaut sind. Man bezeichnet diese Prozessoren als Multi-Core- oder Mehrkern-Prozessoren. Rein äußerlich unterscheiden sich Multi-Core-CPUs nicht von Single-Core-CPUs. Der Rechenkern ist bei Multi-Core-CPUs einfach mehrfach vorhanden. Innerhalb des Betriebssystems wird der Multi-Core-Prozessor wie mehrere Recheneinheiten behandelt.

Je nach Anzahl der Kerne gibt es abgewandelte Bezeichnungen, die darauf hindeuten, wie viele Kerne im Prozessor integriert sind.

Unterschied Mehrprozessorsysteme vs. Mehrkernprozessor

Ein Mehrprozessorsystem ist ein Computersystem, das mehr als einen Prozessorsockel auf der Multi-Prozessor-Hauptplatine besitzt, und in dem mehr als einer dieser Sockel auch bestückt ist.

Ein Mehrkernprozessor ist ein Prozessor mit mehreren Kernen.

In der obigen Abbildung ist erkennbar, dass dies 2 Prozessoren mit jeweils 2 Kernen sind. Also für das Betriebssystem insgesamt 4 Kerne zur Verfügung stehen!

Vom Takt-orientierten Prozessor zum Mehr-Kern-Prozessor

Um einen Prozessor schneller zu machen war die Taktfrequenz lange Zeit der maßgebliche Faktor, um mehr Rechenleistung aus einem Prozessor heraus zu bekommen. Leider hat die Erhöhung der Taktfrequenz auch Nachteile, die zu Folgeproblemen führen, die nur sehr schwer zu lösen sind.

Schon eine minimale Leistungssteigerung führt zu einem dramatisch höheren Energieverbrauch. Die damit verbundene Leistungsaufnahme verhält sich proportional zur Taktfrequenz. Zusätzliche Transistoren und kleinere Halbleiterstrukturen erhöhen zusätzlich die Wärmeentwicklung. Die Anforderungen an die Kühlung sind mit den herkömmlichen Mitteln nicht mehr zu leisten. Gleichzeitig verringert sich die Stabilität und Lebensdauer des Prozessors.

Eine Alternative zu immer höheren Taktraten sind mehrere Rechenkerne. Das bedeutet mehr Leistung bei gleichzeitig geringerer Leistungsaufnahme. Dabei werden die einzelnen Kerne weit geringer getaktet, als ein einziger Rechenkern. Insgesamt steigt jedoch die Leistungsfähigkeit des Prozessors mit jedem weiteren Rechenkern.

Problematik

Grundsätzlich kann man die Rechenleistung mehrerer Kerne nicht „addieren“. Das würde voraussetzen, dass sich die vorliegenden Rechenaufgaben parallelisieren lassen. Die effektive Nutzung mehrerer Kerne erfordert es, dass die Software so geschrieben ist, dass sie Daten parallel verarbeitet und so zum Beispiel mehrere Kerne gleichzeitig genutzt werden. Das heißt, ein Problem bzw. die Ausführung eines Programms muss in mehrere kleine Teilaufgaben zerlegt werden, damit diese auf mehrere Kerne verteilt werden können. Doch leider sind die üblichen Anwendungen nicht auf parallele Ausführung ausgelegt und meist auch nicht notwendig.

Auswirkungen auf die Prozessor- und Computer-Architektur

In einer Multi-Core-Architektur müssen sich mehrere Rechenkerne die vorhandenen Resourcen teilen. Zum Beispiel Arbeitsspeicher, Schnittstellen usw. Je mehr Kerne ein Prozessor hat, desto mehr Speicher und mehr Bandbreite zum Speicher ist erforderlich. Aus diesem Grund ist der Speicher-Controller nicht mehr im Chipsatz, sondern im Prozessor verankert.

Arbeitsspeicher / Hauptspeicher

Gleichzeitig besteht das Problem, dass sich die Rechenkerne darüber abstimmen müssen, wer gerade welche Daten im Cache hält. In der Regel arbeiten die Rechenkerne mit einer hierarchischen Cache-Struktur. Dabei bekommt jeder Kern einen eigenen L1- und L2-Cache. Den L3-Cache müssen sich die Kerne teilen. Ein Cache-Kohärenz-Protokoll sorgt dafür, dass sich die Prozessorkerne bei der Nutzung des L3-Caches nicht in die Quere kommen.

Typische Anwendungen für Single-Core-Prozessoren

Typische Anwendungen für Multi-Core-Prozessoren

Gut parallelisierbare Anwendungen sind Schneiden von 4K-Videos, Computergrafiken mit Raytracing erzeugen oder aufwendige Softwareprojekte kompiliert. In diesen Fällen können im Prozessor nicht genug Kerne enthalten sein.