next up previous contents
Next: Hydra besitzt ausgeklügelte Cache-Hierarchien. Up: Datenlokalität - Wie Compiler Previous: Datenlokalität - Wie Compiler

Die CPUs HP-PA 7100 sind superskalare RISC-Prozessoren.

Diese Schlagworte sind heute in jedem Artikel über Prozessoren zu finden. Was bedeuten sie? RISC heißt ursprünglich: Der Befehlssatz eines Prozessors ist so aufgebaut, daß jeder Befehl in einem Takt ausgeführt werden kann. Dies vereinfacht Teile der CPU-Struktur derart, daß eine wesentliche Erhöhung der Verarbeitungs-Geschwindigkeit erreicht werden kann. Eine weitere Steigerung erzielt man durch Einführung von mehreren parallelen Arithmetik-Einheiten, so daß mehrere Berechnungen gleichzeitig ausgeführt werden, etwa eine Addition und eine Multiplikation beim PA-RISC-Prozessor. Dies bezeichnet man mit ``superskalar''. Schließlich zerlegt man die Abarbeitung eines Befehls in mehrere Teile (z.B. ``Holen'', ``Dekodieren'', ``Ausführen''), die jeweils von getrennten Funktions-Einheiten abgearbeitet werden. Dieses Verfahren heißt Pipelining. Auf diese Weise kann mit einem neuen Befehl schon angefangen werden, während der vorige in der zweiten Stufe der Pipeline ist - eine weitere Erhöhung der Geschwindigkeit ist die Folge.

Alle diese ausgeklügelten Verfahren haben aber einen großen Haken: Sie funktionieren in einem praktischen Programm oft nicht! Um etwa die Superskalarität ausnutzen zu können, muß man auch entsprechend viele unabhängige Multiplikationen und Additionen haben. Und die schönste Pipeline bringt nichts, wenn bei jedem Sprung im Programm plötzlich ganz andere als die schon vorbearbeiteten Kommandos gebraucht werden. An dieser Stelle wird nun dem Compiler ein Großteil der Arbeit aufgebürdet: Er soll herausfinden, wie man den Code so umstricken kann, daß all die schönen Prozessor-Tricks auch oft ausgenutzt werden können.



rztms 26.2.96