Grundlagen zu Intels Itanium (Teil I)

Tipps für die CPU

EPIC erlaubt es, der CPU Informationen etwa über Datenabhängigkeiten oder die wahrscheinlichste Verzweigung bei Fallunterscheidungen mitzuteilen. Zur Optimierung lässt man die erste Codeversion in einem Profiler ablaufen, der den bei einer Verzweigung meist benutzten Weg ermittelt. Eine erneute Compilation baut diese Informationen dann über so genannte Hints in den optimierten Code ein.

Zur statistischenVorhersage von bedingten Sprüngen verwendet der Itanium-Prozessor ebenso wie die Pentium-Prozessoren das zweistufige dynamische PAs-Verfahren nach Yeh-Patt. Für jeden Sprung im Instruktions-Cache wird das Verhalten der letzten Sprünge mitprotokolliert. Ein aus diesem Protokoll ermittelter Wert steuert das Pattern History Memory an. Dieser liefert dann eine Vorhersage, ob der bedingte Sprung wahrscheinlich ist oder nicht.

Trotz der Hinweise und einer ausgefeilten Sprungvorhersage stellen bedingte Sprünge immer noch ein Problem aktueller Prozessordesigns dar, da bei einem falsch vorhergesagten Sprung die gesamte Pipeline mit den zum Teil bereits abgearbeiteten Befehlen verworfen und neu geladen werden muss. Der Itanium begegnet diesem Problem mit den bereits erwähnten Predicated Instructions, der spekulativen Ausführung ganzer Befehlspfade und der relativ kurzen Pipeline.