Superskalarer Prozessor: Architektur, Pipelining, Typen und seine Anwendungen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In dieser Welt möchte jeder seine Sachen/Arbeiten schnell erledigen. Ist es nicht? Von Autos über Industrie- bis hin zu Haushaltsmaschinen möchte jeder, dass sie schneller arbeiten. Wissen Sie, was in diesen Maschinen steckt, damit sie funktionieren? Sie sind Prozessoren . Je nach Funktionalität können sie Mikro- oder Makroprozessoren sein. Der Basisprozessor führt im Allgemeinen einen Befehl pro Taktzyklus aus. Um ihre Verarbeitungsgeschwindigkeit zu verbessern, damit die Maschinen ihre Geschwindigkeit verbessern können, ist das entstanden Superskalarer Prozessor der über einen Pipeline-Algorithmus verfügt, mit dem er zwei Befehle pro Taktzyklus ausführen kann. Es wurde erstmals 1964 von Seymour Crays CDC 6600 erfunden und später 1970 von Tjaden & Flynn verbessert.


Der erste kommerzielle superskalare Ein-Chip-Mikroprozessor MC88100 wurde 1988 von Motorola entwickelt, später stellte Intel 1989 seine Version I960CA und 1990 die AMD 29000-Serie 29050 vor. Gegenwärtig ist der typische Superskalar-Prozessor je nach Prozessor der Intel Core i7 die Nehalem-Mikroarchitektur.



Trotzdem gehen die Implementierungen von Superskalaren in Richtung einer Erhöhung der Komplexität. Das Design dieser Prozessoren bezieht sich normalerweise auf eine Reihe von Verfahren, die es der CPU eines Computers ermöglichen, einen Durchsatz von über einem Befehl für jeden Zyklus zu erreichen, während ein einzelnes sequentielles Programm ausgeführt wird. Sehen wir uns in diesem Artikel weiter die SuperScalarprocessor-Architektur an, die ihre Ausführungszeit und ihre Anwendungen reduziert.

Was ist ein Superskalar-Prozessor?

Eine Art von Mikroprozessor, der verwendet wird, um eine Art von Parallelität zu implementieren, die als Parallelität auf Befehlsebene in einem einzelnen Prozessor bekannt ist, um mehr als eine Anweisung während eines CLK-Zyklus auszuführen, indem gleichzeitig verschiedene Anweisungen an spezielle Ausführungseinheiten auf dem Prozessor gesendet werden. EIN Skalarer Prozessor führt einen einzelnen Befehl für jeden Taktzyklus aus; Ein superskalarer Prozessor kann während eines Taktzyklus mehr als eine Anweisung ausführen.



Die Entwurfstechniken von Superskalar umfassen normalerweise parallele Registerumbenennung, parallele Befehlsdecodierung, Out-of-Order-Ausführungen und spekulative Ausführung. Daher werden diese Methoden normalerweise mit ergänzenden Designmethoden wie Pipelining, Verzweigungsvorhersage, Caching und Multi-Core in aktuellen Designs von Mikroprozessoren verwendet.

  Superskalarer Prozessor
Superskalarer Prozessor

Merkmale

Zu den Merkmalen von superskalaren Prozessoren gehören die folgenden.

  PCBWeg
  • Die superskalare Architektur ist eine parallele Rechentechnik, die in verschiedenen Prozessoren verwendet wird.
  • In einem superskalaren Computer verwaltet die CPU mehrere Befehlspipelines, um während eines Taktzyklus zahlreiche Befehle gleichzeitig auszuführen.
  • Superskalare Architekturen umfassen alle Verrohrung Funktionen, obwohl mehrere Befehle gleichzeitig in derselben Pipeline ausgeführt werden.
  • Superskalare Entwurfsmethoden umfassen normalerweise parallele Registerumbenennung, parallele Befehlsdecodierung, spekulative Ausführung und Ausführung außerhalb der Reihenfolge. Daher werden diese Methoden normalerweise mit ergänzenden Designmethoden wie Caching, Pipelining, Verzweigungsvorhersage und Multicore in neueren Mikroprozessordesigns verwendet.

Superskalare Prozessorarchitektur

Wir wissen, dass ein superskalarer Prozessor eine CPU ist, die mehr als eine Anweisung für jeden CLK-Zyklus ausführt, da Verarbeitungsgeschwindigkeiten einfach in CLK-Zyklen pro Sekunde gemessen werden. Im Vergleich zu einem Skalarprozessor ist dieser Prozessor sehr schnell.

Die superskalare Prozessorarchitektur umfasst hauptsächlich parallele Ausführungseinheiten, wobei diese Einheiten Befehle gleichzeitig implementieren können. Daher wurde diese parallele Architektur zunächst in einem RISC-Prozessor implementiert, der einfache und kurze Anweisungen zur Ausführung von Berechnungen verwendet. Also normalerweise aufgrund ihrer superskalaren Fähigkeiten RISIKO Prozessoren haben im Vergleich zu CISC-Prozessoren, die mit demselben Megahertz laufen, eine bessere Leistung erbracht. Aber vorallem CISC Prozessoren wie der Intel Pentium umfassen jetzt auch eine RISC-Architektur, die es ihnen ermöglicht, Anweisungen parallel auszuführen.

  Superskalare Prozessorarchitektur
Superskalare Prozessorarchitektur

Der superskalare Prozessor ist mit mehreren Verarbeitungseinheiten ausgestattet, um verschiedene Anweisungen parallel in jeder Verarbeitungsstufe zu verarbeiten. Durch die Verwendung der obigen Architektur beginnt eine Reihe von Anweisungen mit der Ausführung innerhalb eines ähnlichen Taktzyklus. Diese Prozessoren sind in der Lage, eine Befehlsausführungsausgabe des obigen einen Befehls für jeden Zyklus zu erhalten.

Im obigen Architekturdiagramm wird ein Prozessor mit zwei Ausführungseinheiten verwendet, von denen eine für Ganzzahlen und die andere für Gleitkommaoperationen verwendet wird. Die Befehlsabrufeinheit (IFU) ist in der Lage, Befehle gleichzeitig zu lesen und sie in der Befehlswarteschlange zu speichern. In jedem Zyklus holt und dekodiert die Dispatch-Einheit bis zu 2 Anweisungen von der Warteschlangenfront. Wenn es eine einzelne Ganzzahl, eine einzelne Fließkommaanweisung und keine Gefahren gibt, dann werden beide Anweisungen innerhalb eines ähnlichen Taktzyklus abgesetzt.

Verrohrung

Pipelining ist das Verfahren, bei dem Aufgaben in Teilschritte zerlegt und in verschiedenen Prozessorteilen ausgeführt werden. In der folgenden superskalaren Pipeline können zwei Befehle gleichzeitig abgerufen und versendet werden, um maximal 2 Befehle pro Zyklus abzuschließen. Die Pipeline-Architektur in dem skalaren Prozessor und dem superskalaren Prozessor ist unten gezeigt.

Die Befehle in einem superskalaren Prozessor werden von einem sequentiellen Befehlsstrom ausgegeben. Es muss mehrere Anweisungen für jeden Taktzyklus zulassen, und die CPU muss dynamisch auf Datenabhängigkeiten zwischen Anweisungen prüfen.

In der nachstehenden Pipeline-Architektur wird F abgerufen, D wird decodiert, E wird ausgeführt und W ist ein Register-Rückschreiben. In dieser Pipeline-Architektur sind I1, I2, I3 und I4 Anweisungen.

Die Pipeline-Architektur des Skalarprozessors umfasst eine einzelne Pipeline und vier Stufen zum Abrufen, Decodieren, Ausführen und Zurückschreiben des Ergebnisses. In dem Einzel-Pipeline-Skalarprozessor arbeitet die Pipeline in der Anweisung 1 (I1) wie folgt: in der ersten Taktperiode I1 holt es, in der zweiten Taktperiode dekodiert es und in der zweiten Anweisung holt I2. Der dritte Befehl I3 in der dritten Taktperiode wird abgerufen, I2 dekodiert und I1 wird ausgeführt. In der vierten Taktperiode wird I4 abrufen, I3 decodieren, I2 ausführen und I1 in den Speicher schreiben. In sieben Taktperioden werden also 4 Befehle in einer einzigen Pipeline ausgeführt.

  Skalares Pipelining
Skalares Pipelining

Die Pipelinearchitektur des superskalaren Prozessors umfasst zwei Pipelines und vier Stufen zum Abrufen, Decodieren, Ausführen und Zurückschreiben des Ergebnisses. Es handelt sich um einen superskalaren Prozessor mit zwei Ausgaben, was bedeutet, dass jeweils zwei Befehle abgerufen, dekodiert, ausgeführt und das Ergebnis zurückgeschrieben werden. Die beiden Befehle I1 und I2 werden gleichzeitig in jeder Taktperiode abgerufen, dekodiert, ausgeführt und zurückgeschrieben. Gleichzeitig werden in der nächsten Taktperiode die verbleibenden zwei Befehle I3 und I4 gleichzeitig abgerufen, dekodiert, ausgeführt und zurückgeschrieben. In fünf Taktperioden führt es also 4 Befehle in einer einzigen Pipeline aus.

  Superskalares Pipelining
Superskalares Pipelining

Somit gibt ein Skalarprozessor einen einzelnen Befehl pro Taktzyklus aus und führt eine einzelne Pipelinestufe pro Taktzyklus aus, wohingegen ein Superskalarprozessor zwei Befehle pro Taktzyklus ausgibt und zwei Instanzen jeder Stufe parallel ausführt. Die Befehlsausführung in einem Skalarprozessor dauert also länger, während in einem Superskalar weniger Zeit zum Ausführen von Befehlen benötigt wird .

Arten von superskalaren Prozessoren

Dies sind verschiedene Arten von superskalaren Prozessoren, die auf dem Markt erhältlich sind und nachstehend erörtert werden.

Intel Core i7-Prozessor

Intel Core i7 ist ein superskalarer Prozessor, der auf der Nehalem-Mikroarchitektur basiert. In einem Core i7-Design gibt es verschiedene Prozessorkerne, wobei jeder Prozessorkern ein superskalarer Prozessor ist. Dies ist die schnellste Version des Intel-Prozessors, der in Computern und Geräten für Verbraucher verwendet wird. Ähnlich wie der Intel Corei5 ist dieser Prozessor in die Intel Turbo Boost Technology eingebettet. Dieser Prozessor ist in 2 bis 6 Varianten erhältlich, die bis zu 12 verschiedene Threads gleichzeitig unterstützen.

  Intel Core i7-Prozessor
Intel Core i7-Prozessor

Intel Pentium-Prozessor

Die superskalare Pipeline-Architektur des Intel Pentium-Prozessors bedeutet, dass die CPU mindestens zwei oder mehr Befehle für jeden Zyklus ausführt. Dieser Prozessor wird häufig in Personalcomputern verwendet. Geräte mit Intel Pentium-Prozessoren sind normalerweise für die Online-Nutzung, Cloud-Computing und Zusammenarbeit konzipiert. Dieser Prozessor funktioniert also perfekt für Tablets und Chromebooks, um eine starke lokale Leistung und effiziente Online-Interaktionen bereitzustellen.

  Intel Pentium-Prozessor
Intel Pentium-Prozessor

IBM PowerPC601

Der superskalare Prozessor wie IBM Power PC601 stammt aus der Familie der PowerPC RISC-Mikroprozessoren. Dieser Prozessor ist in der Lage, drei Befehle für jeden Takt und einen für jede der drei Ausführungseinheiten auszugeben und zurückzuziehen. Anweisungen sind für eine verbesserte Leistung völlig außer Betrieb; aber der PC601 sorgt dafür, dass die Ausführung der Reihe nach erfolgt.

  IBM PowerPC601
IBM PowerPC601

Der Power PC601-Prozessor bietet logische 32-Bit-Adressen, 8-, 16- und 32-Bit-Integer-Datentypen und 32- und 64-Bit-Gleitkomma-Datentypen. Für die Implementierung von 64-Bit-PowerPC bietet die Architektur dieses Prozessors 64-Bit-basierte ganzzahlige Datentypen, Adressierung und andere Funktionen, die zur Vervollständigung der 64-Bit-basierten Architektur erforderlich sind.

MC88110

Der MC 88110 ist ein Ein-Chip-RISC-Mikroprozessor der zweiten Generation, der fortschrittliche Methoden verwendet, um die Parallelität auf Befehlsebene auszunutzen. Dieser Prozessor verwendet mehrere On-Chip-Caches, superskalare Befehlsausgaben, Aufzeichnung begrenzter dynamischer Befehle und spekulative Ausführung, um maximale Leistung zu erzielen, sodass er idealerweise als Zentralprozessor in kostengünstigen PCs und Workstations verwendet wird.

  MC88000
MC88000

Intel i960

Intel i960 ist ein superskalarer Prozessor, der in der Lage ist, während jedes Prozessortaktzyklus verschiedene unabhängige Anweisungen auszuführen und zu versenden. Dies ist ein RISC-basierter Mikroprozessor, der in den frühen 1990er Jahren als eingebetteter Mikrocontroller sehr berühmt wurde. Dieser Prozessor wird kontinuierlich in einigen militärischen Anwendungen verwendet.

  Intel i960
Intel i960

MIPS R

Der MIPS R ist ein dynamischer und superskalarer Mikroprozessor, der zur Ausführung der 64-Bit-MIPS-Architektur mit 4 Befehlssätzen verwendet wird. Dieser Prozessor ruft und dekodiert 4 Anweisungen für jeden Zyklus ab und gibt sie an fünf vollständig gepipelinete Ausführungseinheiten mit niedriger Latenz aus. Dieser Prozessor wurde speziell für leistungsstarke, große und reale Anwendungen mit schlechter Speicherlokalität entwickelt. Bei ungefährer Ausführung berechnet es einfach Speicheradressen. MIPS-Prozessoren werden hauptsächlich in verschiedenen Geräten wie dem Nintendo Gamecube, der Produktlinie von SGI, der Sony Playstation 2, den PSP- und Cisco-Routern verwendet.

  MIPS R
MIPS R

Unterschied S/W Superskalar vs. Pipelining

Der Unterschied zwischen Superskalar und Pipelining wird unten diskutiert.

Superskalar

Verrohrung

Ein Superskalar ist eine CPU, die verwendet wird, um eine Form der Parallelität zu implementieren, die als Parallelität auf Befehlsebene in einem einzelnen Prozessor bezeichnet wird. Eine Implementierungstechnik wie Pipelining wird verwendet, wenn sich mehrere Anweisungen innerhalb der Ausführung überlappen.
Eine superskalare Architektur initiiert mehrere Anweisungen gleichzeitig und führt sie separat aus. Die Pipeline-Architektur führt nur eine einzelne Pipeline-Stufe für jeden Taktzyklus aus.

Diese Prozessoren hängen von räumlicher Parallelität ab. Es hängt von zeitlicher Parallelität ab.
Mehrere Operationen laufen gleichzeitig auf separater Hardware. Überlappung mehrerer Operationen auf gemeinsamer Hardware.
Dies wird durch Duplizieren von Hardwareressourcen wie Registerdateiports und Ausführungseinheiten erreicht. Dies wird durch Ausführungseinheiten erreicht, die mit sehr schnellen CLK-Zyklen tiefer gepipelinet sind.

Eigenschaften

Das superskalare Prozessoreigenschaften füge folgendes hinzu.

  • Ein superskalarer Prozessor ist ein Super-Pipeline-Modell, bei dem einfach die unabhängigen Anweisungen ohne Wartesituation seriell ausgeführt werden.
  • Ein superskalarer Prozessor holt und dekodiert gleichzeitig mehrere Befehle des eingehenden Befehlsstroms.
  • Die Architektur von superskalaren Prozessoren nutzt das Potenzial der Parallelität auf Befehlsebene.
  • Superskalare Prozessoren geben hauptsächlich die obige einzelne Anweisung für jeden Zyklus aus.
  • Das Nein. der erteilten Anweisungen hängt hauptsächlich von den Anweisungen innerhalb des Anweisungsstroms ab.
  • Befehle werden häufig neu geordnet, um besser zur Architektur des Prozessors zu passen.
  • Die superskalare Methode ist normalerweise mit einigen identifizierenden Merkmalen verbunden. Befehle werden normalerweise von einem sequentiellen Befehlsstrom ausgegeben.
  • Die CPU prüft zur Laufzeit dynamisch auf Datenabhängigkeiten zwischen Anweisungen.
  • Die CPU führt mehrere Anweisungen für jeden Taktzyklus aus.

Vorteile und Nachteile

Das Vorteile des superskalaren Prozessors füge folgendes hinzu.

  • Ein superskalarer Prozessor implementiert Parallelität auf Befehlsebene in einem einzelnen Prozessor.
  • Diese Prozessoren sind einfach dazu gemacht, jeden Befehlssatz auszuführen.
  • Der superskalare Prozessor mit Verzweigungsvorhersage bei Out-of-Order-Ausführung und spekulativer Ausführung kann einfach Parallelität über mehreren Basisblöcken und Schleifeniterationen finden.

Das Nachteile des superskalaren Prozessors füge folgendes hinzu.

  • Superskalare Prozessoren werden aufgrund des Stromverbrauchs nicht oft in kleinen eingebetteten Systemen verwendet.
  • Das Problem mit der Planung kann in dieser Architektur auftreten.
  • Der superskalare Prozessor erhöht die Komplexität beim Design von Hardware.
  • Die Befehle in diesem Prozessor werden einfach basierend auf ihrer sequentiellen Programmreihenfolge abgerufen, aber dies ist nicht die beste Ausführungsreihenfolge.

Superskalare Prozessoranwendungen

Die Anwendungen eines superskalaren Prozessors umfassen die folgenden.

  • Die superskalare Ausführung wird häufig von einem Laptop oder Desktop verwendet. Dieser Prozessor scannt einfach das Programm in der Ausführung, um Sätze von Anweisungen zu entdecken, die als eine ausgeführt werden können.
  • Ein superskalarer Prozessor enthält verschiedene Datenpfad-Hardwarekopien, die verschiedene Befehle gleichzeitig ausführen.
  • Dieser Prozessor ist hauptsächlich darauf ausgelegt, eine Implementierungsgeschwindigkeit von über einem Befehl für jeden Taktzyklus für ein einzelnes sequentielles Programm zu erzeugen.

Es geht also um alles eine Übersicht über den superskalaren Prozessor – Architektur, Typen und Anwendungen. Hier ist eine Frage an Sie: Was ist der Skalarprozessor?