Was ist load delay slot und branch delay slot?

... komplette Frage anzeigen

2 Antworten

Die Wikipedia erklärt das ganz gut:

https://de.wikipedia.org/wiki/Branch_Delay_Slot

Die englische noch deutlich besser:

https://en.wikipedia.org/wiki/Delay_slot

Delay slots sind Befehle, die vorher gegangene Ergebnisse nicht benötigen und daher unabhängig von ihnen sind. Genutzt wird das beim Zugriff auf Daten, was im Vergleich zum Prozessor-Takt sehr langsam ist - wärhend die Daten geladen werden wird schon ein weiterer Befehl ausgeführt. Das ist der "load delay slot".

Gleiches gilt beim Verzweigen durch bedingte Sprünge, die Entscheidung braucht auch eine Weile und daher kann man da auch einen Befehl ausführen, der die vorangegangen nicht benötigt oder beeinflusst.

Sinn macht das vorallen bei Pipelines in Prozessoren, wo Befehle in Stages abgearbeitet werden - beim Verzweigen müsste man die Pipeline anhalten bis man weiss wohin man springen will und dann weiter machen (technisch geht das IMHO nicht, es werden "Blasen" eingefügt", die keine Funktion haben ausser dass die Pipeline weiter läuft). 

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ashdashdashdh
22.06.2016, 23:24

danke für deine gute beschreibung:) wie sieht das beim "branch delay slot" aus?

0

Soweit ich weiß ist das das gleiche. Auf jeden Fall ist das ein Warteplatz für Befehle an den CPU

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?