Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Branch Delay Slot – Wikipedia
Branch Delay Slot – Wikipedia 👆 Click Here!
aus Wikipedia, der freien Enzyklopädie
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.

In der Rechnerarchitektur ist eine Branch Delay Instruction ein Maschinenbefehl, der direkt einem bedingten Verzweigungsbefehl folgt. Unabhängig davon, ob die Verzweigung genommen wurde oder nicht, wird dieser Befehl immer ausgeführt. Die Position eines solchen Maschinenbefehls in der Pipeline heißt Branch Delay Slot (Warteplatz).

Motivation

[Bearbeiten | Quelltext bearbeiten]

Branch Delay Slots werden verwendet, um die Pipeline besser auszulasten. 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 überbrücken zu können, wird die Branch Delay Instruction verwendet. Sie wird in jedem Fall ausgeführt, unabhängig vom Resultat des Verzweigungsbefehls.

Code-Beispiel

[Bearbeiten | Quelltext bearbeiten]

Im folgenden Assemblercode werden nach jedem Sprungbefehl die nachfolgenden 3 Befehle unabhängig vom Ergebnis des Sprungs immer ausgeführt.

 do
   *r3++ = *r1++ + *r2++;
 while (--r4);
.repeat
    dec  r4
    brz  .repeat
    ld   r0,r1+    ; diese drei Befehle
    add  r0,r2+    ; werden immer ausgeführt
    st   r3+,r0    ; unabhängig vom Sprungbefehl

Die Effizienz dieser Optimierungsstrategie hängt davon ab, wie gut es gelingt, Anweisungen zu finden, die unabhängig vom Sprungergebnis sind. Im Extremfall gelingt dies nicht, und die Slots müssen durch NOPs aufgefüllt werden.

Nachteilig ist die schlechte Menschenlesbarkeit des Codes: Um das Programm richtig interpretieren zu können, muss ein menschlicher Entwickler wissen, wie viele Branch Delay Instructions (in diesem Beispiel: drei) nach dem Sprungbefehl folgen, was aus dem Code selbst nicht zweifelsfrei hervorgeht. Er benötigt also zwingend die Dokumentation des Befehlssatzes.

Prozessoren mit Branch Delay Slot

[Bearbeiten | Quelltext bearbeiten]

Das Branch Delay Slot stellt eine elegante und einfache Alternative zur Sprungvorhersage dar. Zur Sprungvorhersage ist viel Hardware-Aufwand (viele Transistoren) nötig, die wiederum viel Strom verbrauchen.

Daher wird diese Technologie hauptsächlich in energiesparenden oder kostengünstigen Prozessoren (u. a. Mikrocontrollern) eingesetzt, beispielsweise in:

  • RISC-Architekturen:
    • MIPS
    • PA-RISC
    • SPARC
    • SuperH
  • DSP-Architekturen:
    • µPD77230
    • TMS320C3x/TMS320C4x
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Branch_Delay_Slot&oldid=254451486“
Kategorie:
  • Rechnerarchitektur
Versteckte Kategorie:
  • Wikipedia:Belege fehlen

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id