Compiler

Welche Beschreibung von Software Pipelining ist richtig?

  1. ATechnik, die die Zahl der Stufen der CPU-Pipeline per Software erhöht
  2. BTechnik, die eine Schleife in Funktionen aufteilt und in mehreren Threads parallel ausführt
  3. CTechnik, die Verarbeitungen verschiedener Iterationen überlappt und Wartezeiten auffüllt
Antwort und Erläuterung anzeigen

Antwort: C. Technik, die Verarbeitungen verschiedener Iterationen überlappt und Wartezeiten auffüllt

Beim Software Pipelining wird die Verarbeitung einer Schleifeniteration in Stufen wie „Laden, Berechnen, Speichern“ zerlegt, und die Befehle werden so angeordnet, dass z. B. das Speichern der Iteration i, die Berechnung der Iteration i+1 und das Laden der Iteration i+2 innerhalb derselben Iteration stattfinden. Während der Wartezeit des Ladens kann die Berechnung anderer Iterationen voranschreiten, sodass die Recheneinheiten nicht brachliegen. Vor und nach der Schleife sind Code für Vorbereitung und Aufräumen (Prolog und Epilog) nötig. Es handelt sich nicht um eine Änderung der CPU-Stufenzahl oder um Thread-Parallelisierung.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Compiler

  1. Warum ordnet ein Compiler bei strenger Einstellung die Gleitkommaaddition (a + b) + c nicht eigenmächtig zu a + (b + c) um?
  2. Welche Befehlsart wird bei der automatischen Vektorisierung des Compilers verwendet?
  3. Welche grundlegende Bedingung muss die Optimierung eines Compilers einhalten?
  4. Welche Beschreibung der Befehlsauswahl (Instruction Selection), einer Phase der Codeerzeugung, ist richtig?
  5. Welche Beschreibung eines Cross-Compilers ist richtig?

Vergleiche zu diesem Thema