Information Technology Reference
In-Depth Information
sen. Entsprechend dieser freien Definition bezieht sich die Skalierbarkeit auf ein-
zelne Merkmale und nicht auf eine Prozessorarchitektur insgesamt. Eine solche Ein-
schränkung ist sinnvoll, weil in einer als skalierbar geltenden Prozessorarchitektur
i.Allg. nicht sämtliche darin enthaltenen Komponenten bzw. verwirklichten Eigen-
schaften skalierbar sind. Hinzu kommt, dass die Verfahren zum Erreichen von Ska-
lierbarkeit als von den Komponenten und Eigenschaften abhängig, besser separat
betrachtet werden sollten, was im Folgenden geschieht.
Es ist möglich, Skalierbarkeit zu erreichen, ohne dies explizit beim Entwurf einer
Prozessorarchitektur berücksichtigen zu müssen, nämlich dann, wenn das Vorhan-
densein einer Komponente bzw. Eigenschaft nicht oder nur rudimentär auf das
jeweilige Programmiermodell wirkt, aus Programmierersicht also transparent ist.
Zum Beispiel zeichnen sich Caches durch eine gute Skalierbarkeit aus, da sich allein
durch Vergrößerung der jeweiligen Speicherkapazität die Geschwindigkeit, mit der
ein entsprechend ausgestatteter Prozessor arbeitet, vergrößern lässt. Die auszufüh-
renden Programme müssen hierzu weder modifiziert noch neu codiert werden.
Im Allgemeinen ist beim Entwurf der Komponenten einer Prozessorarchitektur
jedoch explizit auf Skalierbarkeit zu achten. Die Umsetzung geschieht dabei mit
denselben Techniken, die auch zum Erreichen von Kompatibilität verwendet wer-
den. Zum Beispiel lässt sich die Mikroprogrammierung nutzen, um eine zeitsequen-
tiell arbeitende skalierbare Multiplikationseinheit zu realisieren, die mit steigender
Integrationsdichte durch ein einschrittig arbeitendes Multiplikationsschaltnetz
ersetzt werden kann, um so die Ausführungsgeschwindigkeit von existierenden Pro-
grammen, die die Multiplikation verwenden, zu verbessern. Voraussetzung ist natür-
lich, dass ein Multiplikationsbefehl von Anfang an im Befehlssatz des Prozessors
vorgesehen, die Skalierbarkeit also geplant wird.
Das Beispiel ist insofern unglücklich, weil die Realisierung einer zeitsequentiell
arbeitenden Multiplikationseinheit oft einen anderen Sinn als eine gute Skalierbar-
keit hat, nämlich den, die Programmierung des entsprechenden Prozessors zu ver-
einfachen. Interessanter sind Techniken, die den ausschließlichen Zweck haben,
Skalierbarkeit zu erreichen. Im Zusammenhang mit VLIW-Prozessoren sind hier
vor allem Verfahren zu nennen, mit denen sich das Maß an Operationsparallelität
skalieren lässt. Im Idealfall sollte dabei die Ausführungsgeschwindigkeit von Pro-
grammen durch das zukünftige Hinzufügen parallel arbeitender Verarbeitungsein-
heiten proportional steigen.
Da in VLIW-Prozessoren die Operationsparallelität explizit codiert ist, bedeutet dies
jedoch auch, dass aktuelle Programme bereits mit einem Maß an Parallelität codiert
sein müssen, das erst in zukünftigen Realisierungen der Prozessorarchitektur tat-
sächlich nutzbar ist. Für einen aktuellen Prozessor hat dies schließlich zur Folge,
dass die Semantik parallel auszuführender Operationen sequentiell nachgebildet
werden muss. Die notwendigen Modifikationen sollen anhand der in Bild 3.17a dar-
gestellten Registertransferschaltung beschrieben werden. Das Bild zeigt einen in
drei Fließbandstufen unterteilten Datenpfad, der als Teil eines VLIW-Prozessors
eine Operation verarbeitet. Datenflusskonflikte zu bereits erzeugten, jedoch noch
nicht in den Registerspeicher geschriebenen Ergebnissen werden mit Hilfe der
Search WWH ::




Custom Search