Messung und Instrumentierung
Umgang mit Datenpfadrisiken: Berechnungen und Lösungen in Mikroprozessor-Pipelines
Table of Contents
Gefahren durch Datenpfade sind häufige Probleme in Mikroprozessor-Pipelines, die zu einer falschen Ausführung von Anweisungen führen können.
Arten von Datenpfadrisiken
Die Gefahren für Datenpfade lassen sich hauptsächlich in drei Kategorien einteilen: Read After Write (RAW), Write After Read (WAR) und Write After Write (WAW). RAW-Gefahren treten auf, wenn eine Anweisung vom Ergebnis einer vorherigen Anweisung abhängt, die noch nicht abgeschlossen ist. WAR-Gefahren treten auf, wenn eine Anweisung an einen Ort schreibt, bevor eine vorherige Anweisung daraus gelesen wird. WAW-Gefahren treten auf, wenn zwei Anweisungen in unmittelbarer Folge an denselben Ort schreiben.
Berechnung von Gefahrenrisiken
Wenn beispielsweise die Anweisung 2 vom Ergebnis der Anweisung 1 abhängt und beide in überlappenden Pipeline-Stufen liegen, besteht eine RAW-Gefahren, die mit der Pipeline-Tiefe und dem Anweisungsdurchsatz zunehmen.
Lösungen für Datenpfadrisiken
Mehrere Techniken werden verwendet, um die Gefahren des Datenpfads zu verringern:
- Weiterleitung: Daten direkt von einer Pipeline-Stufe zur anderen übergeben, um Verzögerungen zu vermeiden.
- Stalling: Die Pipeline anhalten, bis die Gefahr behoben ist.
- Anweisungen neu ordnen: Befehlsreihenfolge ändern, um Konflikte zu verhindern.
- Pipeline Interlocks: Hardware-Mechanismen, die Gefahren erkennen und den Pipelinefluss steuern.