Was ist eine Anweisungspipeline?

Jeder Prozessorbefehl hat mehrere Stufen zu seiner Operation. Jede dieser Phasen benötigt einen einzigen CPU-Zyklus, um abgeschlossen zu werden. Diese Phasen sind Befehlsabruf, Befehlsdecodierung, Ausführung, Speicherzugriff und Rückschreiben. Diese erhalten jeweils die Anweisung, die abgeschlossen werden muss, trennen die Operation von den Werten, auf denen operiert wird, führen den Prozess aus, öffnen das Register, in das das Ergebnis geschrieben wird, und schreiben das Ergebnis in das geöffnete Register.

Historische In-Order-Prozessoren

In frühen Computern verwendete die CPU keine Befehlspipeline. In diesen CPUs musste jede Einzelzyklusoperation für jeden Befehl ausgeführt werden. Dies bedeutete, dass es fünf Taktzyklen dauerte, bis der durchschnittliche Befehl vollständig verarbeitet war, bevor der nächste gestartet werden konnte. Einige Operationen müssen möglicherweise kein Ergebnis in ein Register schreiben, was bedeutet, dass die Speicherzugriffs- und Rückschreibphasen übersprungen werden können.

Was ist eine Anweisungspipeline?

In einem subskalaren Prozessor ohne Pipeline wird jeder Teil jeder Anweisung der Reihe nach ausgeführt.

Es lauert jedoch ein Problem, wenn Sie eine vollständige Anweisung der Reihe nach ausführen, bevor Sie mit der nächsten Anweisung fortfahren können. Das Problem ist der Cache-Miss. Die CPU speichert Daten, die sie aktiv verarbeitet, in dem Register. Darauf kann mit einer Ein-Zyklus-Latenz zugegriffen werden. Das Problem ist, dass das Register winzig ist, weil es in den Prozessorkern eingebaut ist. Die CPU muss zum größeren, aber langsameren L1-Cache wechseln, wenn die Daten noch nicht geladen wurden. Wenn es nicht da ist, muss es wieder in den größeren und langsameren L2-Cache gehen. Der nächste Schritt ist der L3-Cache; Die letzte Option ist der System-RAM. Jede dieser Optionen benötigt mehr und mehr CPU-Zyklen zur Überprüfung.

Nun kann diese zusätzliche zusätzliche Latenzzeit ein großes Problem in einem System sein, das jede Anweisung der Reihe nach vollständig abschließen muss, bevor die nächste Anweisung gestartet wird. Was ein Prozessor mit 5 Zyklen pro Befehl war, kann plötzlich für Dutzende oder Hunderte von Taktzyklen an einem Befehl hängen bleiben. Währenddessen kann auf dem Computer nichts weiter passieren. Technisch kann dies etwas gemildert werden, indem man zwei unabhängige Kerne hat. Nichts hindert sie jedoch daran, dasselbe zu tun, möglicherweise gleichzeitig. Wenn Sie also die Multi-Core-Route hinuntergehen, wird dies nicht behoben.

Die klassische RISC-Pipeline

RISC steht für Computer mit reduziertem Befehlssatz . Es handelt sich um einen Stil des Prozessordesigns, der die Leistung optimiert, indem er die Dekodierung jeder Anweisung erleichtert. Dies steht im Vergleich zu CISC oder Complex Instruction Set Computer, der komplexere Befehlssätze entwirft, sodass weniger Befehle erforderlich sind, um dieselben Aufgaben auszuführen.

Das klassische RISC-Design enthält eine Befehlspipeline. Anstatt irgendeine der fünf Anweisungsstufen in einem gegebenen Zyklus auszuführen, ermöglicht die Pipeline die Ausführung aller fünf Stufen. Natürlich können Sie nicht alle fünf Stufen einer Anweisung in einem Zyklus ausführen. Sie können jedoch fünf aufeinanderfolgende Anweisungen mit einem Versatz von jeweils einer Stufe aneinanderreihen. Auf diese Weise kann in jedem Taktzyklus ein neuer Befehl ausgeführt werden. Bietet eine potenzielle 5-fache Leistungssteigerung bei einem relativ geringen Anstieg der Kernkomplexität.

Was ist eine Anweisungspipeline?

In einem Skalar-Pipeline-Prozessor kann jede Stufe einer Befehlsausführung einmal pro Taktzyklus durchgeführt werden. Dies ermöglicht einen maximalen Durchsatz von einem abgeschlossenen Befehl pro Zyklus.

Prozessoren ohne Pipeline können immer nur subskalar sein, da sie keinen vollständigen Befehl pro Zyklus ausführen können. Mit dieser primären fünfstufigen Pipeline können Sie eine skalare CPU erstellen, die eine Anweisung für jeden Prozess ausführen kann. Indem Sie noch weitreichendere Pipelines erstellen, können Sie superskalare CPUs herstellen, die mehr als eine Anweisung pro Taktzyklus ausführen können. Natürlich gibt es immer noch mögliche Probleme.

Immer noch sequentiell

Nichts davon löst das Problem, viele Zyklen auf eine Antwort zu warten, wenn die verschiedenen Ebenen von Cache und RAM abgefragt werden müssen. Es führt auch ein neues Problem ein. Was ist, wenn sich eine Anweisung auf die Ausgabe der vorherigen Anweisung stützt? Diese Probleme werden selbstständig mit einem fortschrittlichen Dispatcher gelöst. Es plant die Ausführungsreihenfolge sorgfältig, sodass keine Anweisungen, die sich auf die Ausgabe eines anderen stützen, zu nahe beieinander liegen. Es handhabt auch Cache-Fehler, indem es eine Anweisung parkt und sie in der Pipeline durch andere Anweisungen ersetzt, die zur Ausführung bereit sind und ihr Ergebnis nicht benötigen, und die Anweisung wieder aufnimmt, wenn sie bereit ist.

Diese Lösungen können auf Prozessoren ohne Pipeline funktionieren, sind jedoch für einen superskalaren Prozessor erforderlich, der mehr als eine Anweisung pro Takt ausführt. Ein Verzweigungsprädiktor ist ebenfalls sehr nützlich, da er versuchen kann, das Ergebnis einer Anweisung mit mehr als einem möglichen Ergebnis vorherzusagen, und weiterhin davon ausgeht, dass es korrekt ist, sofern nicht das Gegenteil bewiesen wird.

Abschluss

Eine Pipeline ermöglicht die Verwendung aller unterschiedlichen Fähigkeiten des Prozessors in jedem Zyklus. Dies geschieht durch gleichzeitiges Ausführen verschiedener Stufen verschiedener Anweisungen. Dies fügt dem CPU-Design nicht einmal viel Komplexität hinzu. Es ebnet auch den Weg, um zuzulassen, dass mehr als eine Anweisung eine einzelne Stufe pro Zyklus durchführt.



Leave a Comment

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Wenn auf Ihrem Chromebook beim Konfigurieren des Netzwerks ein Fehler aufgetreten ist, aktivieren Sie die Netzwerkfreigabe, starten Sie Ihren Laptop neu und trennen Sie Ihren Router.

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Maskiertes Stereolithographiegerät (MSLA) ist eine modifizierte Form des SLA-Drucks und bietet zahlreiche Vorteile, einschließlich schnelleren Druckzeiten.

So finden Sie die IP-Adresse eines Druckers

So finden Sie die IP-Adresse eines Druckers

Erfahren Sie, wie Sie die IP-Adresse Ihres Druckers einfach und schnell herausfinden können.

Hinzufügen von Blink-Kameras von zwei Standorten aus

Hinzufügen von Blink-Kameras von zwei Standorten aus

Erfahren Sie, wie Sie Blink-Kameras zur Heimsicherheit von zwei Standorten aus hinzufügen können. Flexibles System mit einfacher Installation und Integration mit Alexa.

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Erfahren Sie, wie Sie Filament neu spoolen können, um Probleme wie Unterextrusion und Verwicklungen zu vermeiden. Hier sind einige nützliche Tipps und Techniken.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändern Sie das Zifferblatt Ihrer Fitbit Versa 4 einfach und kostenlos. Entdecken Sie neue Designs und gestalten Sie Ihre Uhr ganz nach Ihrem Geschmack.

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Erfahren Sie, wie Sie die Feststelltaste auf Ihrem Chromebook aktivieren und deaktivieren können. Mit 3 einfachen Schritten und nützlichen Tipps zur Tastaturkonfiguration.

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

Erfahren Sie, wie Sie PETG-3D-Drucke in 5 Schritten professionell glätten – von Schleifen bis Chemische Behandlung. Praxistipps mit Sicherheitshinweisen und Werkzeugempfehlungen.

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

Erfahren Sie, wie Sie Überwachungssoftware auf Arbeitsgeräten identifizieren + Tipps zum Schutz Ihrer Privatsphäre. Inklusive aktuellem Rechtsrahmen gemäß BDSG & DSGVO.

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Erfahren Sie, was eine Krempe beim 3D-Druck ist, warum sie nützlich ist und wie sie Ihnen hilft, das Verziehen von Filamenten zu vermeiden. Jetzt mit 5 praktischen Tipps zur optimalen Nutzung.