Branch Delay Slot
In der Rechnerarchitektur ist eine Branch Delay Instruction ein Maschinenbefehl, der direkt einem bedingten Verzweigungsbefehl folgt und unabhängig davon, ob die Verzweigung genommen wurde oder nicht, immer ausgeführt wird. Die Position eines solchen Maschinenbefehls in der Pipeline heißt Branch Delay Slot (Warteplatz). Branch Delay Slots werden verwendet, um die Pipeline besser auszulasten. Sie können sowohl in verschiedenen RISC-Architekturen wie MIPS, PA-RISC, SPARC und SuperH als auch in DSP-Architekturen wie µPD77230 und TMS320C3x/TMS320C4x gefunden werden.
| Dieser Artikel wurde zur Löschung vorgeschlagen.
Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht. | |
| Begründung: Keine eigenständige Relevanz. Bereits vollumfänglich in Sprungvorhersage enthalten und dort besser erklärt. Hier ist es nur ein aus dem Zusammenhang gerissener Abklatsch, der daher unverständlich bleibt. Es sind keinerlei Quellen hinterlegt. --141.30.244.98 16:19, 17. Feb. 2024 (CET) |
Funktionsweise
Bei Prozessoren, die eine Pipeline verwenden, wird die Ausführung eines Befehls in mehrere Stufen aufgeteilt. Dabei werden mehrere Befehle parallel ausgeführt, wobei in jeder Stufe genau ein Befehl bearbeitet wird.
Bei Verzweigungsbefehlen tritt dabei ein sogenannter Hazard auf: wenn der nächste Befehl geladen wird, ist der Verzweigungsbefehl noch nicht fertig ausgeführt; deshalb ist nicht klar, welcher Befehl geladen werden soll. Daher muss nach einem Verzweigungsbefehl gewartet werden. Um diese Wartezeit ausnutzen zu können, wird die Branch Delay Instruction verwendet. Sie wird in jedem Fall ausgeführt, unabhängig vom Resultat des Verzweigungsbefehls.