Information Technology Reference
In-Depth Information
Speicherkopplung (verschränkter Speicher)
Ein Vektorprozessor ist in der Lage eine große Anzahl an Operationen in kurzer Zeit
zu verarbeiten. Damit es zu keinem Engpass kommt, müssen Operanden bzw.
Ergebnisse genauso schnell zugreifbar sein, wie sich die Elementaroperationen aus-
führen lassen. Die Verwendung von Caches ist zwar prinzipiell möglich, in Vektor-
prozessoren jedoch nicht unbedingt sinnvoll, da die einzelnen Vektoren oft sehr viel
Speicherplatz benötigen und es daher schnell zu Cache-Überläufen kommt.
In vielen Realisierungen wird aus diesem Grund darauf verzichtet, Vektoreinheiten
mit Datencaches auszustatten. Damit trotzdem verzögerungsfrei gearbeitet werden
kann, muss die Kopplung an den Hauptspeicher jedoch so leistungsfähig sein, dass
sich darüber, zumindest im Durchschnitt, ein Zugriff pro Takt abwickeln lässt.
Erreicht wird das mit Hilfe eines technischen Tricks, der sog. Speicherverschrän-
kung ( interleaving ). Dabei unterteilt man den Hauptspeicher in möglichst viele
identisch aufgebaute Bänke , auf die dann zeitversetzt überlappend zugegriffen wird.
In Bild 3.7a ist die Registertransferschaltung eines vierfach verschränkten Speichers
exemplarisch dargestellt. Er ist so organisiert, dass aufeinander folgende Adressen
jeweils unterschiedliche Speicherbänke referenzieren. Die Auswahl geschieht,
indem man die unteren n Bits, hier konkret die unteren zwei Bits der Wortadresse,
durch D 1 decodiert und eine der 2 n (4) Selektionsleitungen, z.B. die mit a markierte,
setzt. Zusammen mit dem Signal strobe (b), das einen Zugriff des Prozessors
anzeigt, wird durch einen zur jeweils selektierten Speicherbank gehörenden Cont-
roller das mit c markierte Steuersignal aktiviert und so die Zwischenspeicherung der
verbleibenden Adressbits, eines ggf. auszugebenden Datums und der Transferrich-
tung, also ob der Speicher schreibend oder lesend zu adressieren ist, veranlasst.
Der möglicherweise mehrere Takte benötigende eigentliche Zugriff erfolgt auto-
nom, d.h. ohne Zutun des Prozessors, der in der Zwischenzeit parallel z.B. andere
Speicherbänke ansprechen kann. Auftretende Konflikte werden hierbei gelöst,
indem der Prozessor ggf. durch den zuständigen Controller über das Rücksignal
wait (d) angehalten wird, und zwar so lange, bis die den Konflikt verursachende
Speicherbank einen weiteren Zugriff bearbeiten kann.
Während aus Sicht eines Prozessors ein Schreibzugriff im Moment der Weitergabe
an die zuständige Speicherbank abgeschlossen ist, muss bei einem Lesezugriff ggf.
gewartet werden, bis das adressierte Datum verfügbar ist. Falls sich die aufeinander
folgenden Zugriffe auf unterschiedliche Speicherbänke beziehen, kann die erforder-
liche Wartezeit durch eine überlappende Arbeitsweise überbrückt werden. In seiner
Wirkung entspricht dies der in Abschnitt 2.2 beschriebenen Fließbandverarbeitung.
Statt jedoch die Teileinheiten in einem Fließband hintereinander anzuordnen, wer-
den nun mehrere parallel realisierte vollständige Einheiten zeitversetzt angesteuert.
Damit hierbei über den Multiplexer M 1 (e) jeweils die Speicherbank durchgeschal-
tet wird, auf die sich der einige Takte zuvor gestartete Lesezugriff bezieht, ist es
erforderlich, die für die Speicherbankauswahl verwendeten unteren Adressbits über
eine Kette von Registern zu verzögern (f). Die Länge dieser Kette ist so bemessen,
dass sie nicht schneller durchlaufen wird, als sich ein Lesezugriff bearbeiten lässt.
Search WWH ::




Custom Search