Anweisungsfenster
Ein Anweisungsfenster in Rechnerarchitektur bezieht sich auf den Satz von Anweisungen welches kann Ausgestattet ausführen in einem spekulativ Prozessor.
Insbesondere in einem konventionellen Design besteht das Anweisungsfenster aus allen Anweisungen in der Nachbestellpuffer (RAUBEN).[1] In einem solchen Prozessor kann jede Anweisung innerhalb des Anweisungsfensters ausgeführt werden, wenn die Operanden fertig sind. Außerreiche Prozessoren leiten ihren Namen ab, da dies möglicherweise außerhalb der Bestellung auftritt (wenn Operanden zu einer jüngeren Anweisung vor denen einer älteren Anweisung bereit sind).
Das Anweisungsfenster hat eine endliche Größe, und neue Anweisungen können das Fenster eingeben (normalerweise genannt versenden oder zuweisen) Nur wenn andere Anweisungen das Fenster verlassen (normalerweise genannt ausscheiden oder verpflichten). Die Anweisungen geben und lassen Sie das Anweisungsfenster in Programmreihenfolge ein und lassen Sie das Fenster nur, wenn es sich um die älteste Anweisung im Fenster handelt und es wurde abgeschlossen. Daher kann das Anweisungsfenster als Gleitfenster angesehen werden, in dem die Anweisungen außerordentlich werden können. Die gesamte Ausführung innerhalb des Fensters ist spekulativ (d. H. Nebenwirkungen werden außerhalb der CPU nicht angewendet), wenn sie sich verpflichtet ist, um asynchron zu unterstützen Ausnahmebehandlung wie Interrupts.
Dieses Paradigma ist auch als bekannt als eingeschränkter Datenfluss[2] Weil Anweisungen innerhalb des Fensters in der DataFlow -Reihenfolge (nicht unbedingt in Programmreihenfolge) ausgeführt werden, aber das Fenster, in dem dies auftritt, ist eingeschränkt (von endlicher Größe).
Das Anweisungsfenster unterscheidet sich von Pipelining: Anweisungen in einer in Ordnung pipeline befinden sich nicht in einem Anweisungsfenster im konventionell verstandenen Sinn, da sie nicht in Bezug aufeinander ausführen können. Außerreiche Prozessoren werden normalerweise um Pipelines basieren, aber viele der Pipeline-Stufen (z. B. Anweisungsstufen abrufen und dekodieren) werden nicht als Teil des Anweisungsfensters angesehen.