Was ist der Unterschied zwischen skalaren und superskalaren Prozessoren?
Für Computer stehen verschiedene Arten von Zentraleinheiten (CPUs) zur Verfügung. Diese CPU-Typen unterscheiden sich in Bezug auf Verarbeitungshardware und -architektur nicht wirklich. Die meisten von ihnen führen die grundlegenden Aufgaben einer CPU aus, wie z. B. Lesen und Schreiben von Daten, Grundrechenarten und Adressenspringen. Sie können sich jedoch hinsichtlich Busgröße und Prozessorarchitektur unterscheiden. Es sind verschiedene Arten von Computerprozessorhardware verfügbar, von denen zwei die skalaren und superskalaren Prozessoren sind.
Ein Prozessor, der skalare Daten ausführt, wird als skalarer Prozessor bezeichnet. Mit Hilfe von Festkommaoperanden werden Integer-Anweisungen von Skalarprozessoren auch in ihrem einfachsten Zustand ausgeführt. Leistungsstärkere Skalarprozessoren führen normalerweise sowohl Gleitkomma- als auch Ganzzahloperationen aus. Kürzlich produzierte Skalarprozessoren enthalten sowohl eine Gleitkomma- als auch eine Ganzzahl-Einheit auf demselben CPU-Chip. Die meisten dieser modernen Skalarprozessoren verwenden Anweisungen der 32-Bit-Art.
Der Superskalar-Prozessor führt dagegen aufgrund seiner mehrfachen Anzahl von Pipelines mehrere Befehle gleichzeitig aus. Diese CPU-Struktur implementiert eine Parallelität auf Befehlsebene, die eine Form der Parallelität in Computerhardware ist, in einem einzelnen Computerprozessor. Dies bedeutet, dass ein schneller CPU-Durchsatz möglich ist, der in anderen Prozessoren, die keine Parallelität auf Befehlsebene implementieren, nicht einmal remote möglich ist. Anstatt einen Befehl gleichzeitig auszuführen, verwendet ein superskalarer Prozessor seine redundanten Funktionseinheiten bei der Ausführung mehrerer Befehle. Diese Funktionseinheiten sind keine separaten CPU-Kerne, sondern die Erweiterungsressourcen einer einzelnen CPU wie Multiplikatoren, Bitschieber und arithmetische Logikeinheiten (ALUs).
Unterschiede zwischen skalaren und superskalaren Prozessoren beschränken sich im Allgemeinen auf Menge und Geschwindigkeit. Ein Skalarprozessor, der als der einfachste aller Prozessoren angesehen wird, verarbeitet jeweils ein oder zwei Computerdatenelemente. Der Superskalarprozessor arbeitet mit mehreren Befehlen und mehreren Gruppen von mehreren Datenelementen gleichzeitig. Skalare und superskalare Prozessoren arbeiten in Bezug auf die Manipulation von Daten auf die gleiche Weise. Der Unterschied besteht jedoch darin, wie viele Manipulationen und Datenelemente sie in einer bestimmten Zeit bearbeiten können. Superskalare Prozessoren können mehrere Anweisungen und Datenelemente verarbeiten, während der skalare Prozessor dies einfach nicht kann, wodurch der erstere zu einem leistungsstärkeren Prozessor als der letztere wird.
Skalare und superskalare Prozessoren haben einige Ähnlichkeiten mit Vektorprozessoren. Wie ein Skalarprozessor führt auch ein Vektorprozessor jeweils einen einzelnen Befehl aus. Statt jedoch nur ein Datenelement zu bearbeiten, kann sein einzelner Befehl auf mehrere Datenelemente zugreifen. Ähnlich wie der Superskalarprozessor verfügt ein Vektorprozessor über mehrere redundante Funktionseinheiten, mit denen mehrere Datenelemente bearbeitet werden können, die jedoch jeweils nur einen Befehl bearbeiten können. Im Wesentlichen ist ein Superskalarprozessor eine Kombination aus einem Skalarprozessor und einem Vektorprozessor.