Information Technology Reference
In-Depth Information
der Reorganisationstabelle zu speichernden Elementnummern 5, 13, 21, und 29 ent-
spricht. Der Leser möge sich von der Richtigkeit dieser Behauptung überzeugen.
Eine noch offene Frage ist, ob eine Reorganisation für beliebige Schrittweiten mög-
lich ist, und zwar in der Weise, dass in jedem Takt auf alle zur Verfügung stehenden
Bänke zugegriffen wird. Dies muss verneint werden, da die hier als perfekt bezeich-
nete Reorganisation offensichtlich genau dann misslingt, wenn die Schrittweite z.B.
gleich der doppelten Anzahl der in einer Cache-Zeile speicherbaren Elemente ist 1 .
Hierbei wird nämlich nur jede zweite Bank adressiert, so dass sich entweder die
Bänke mit geraden oder die mit ungeraden Nummern bei einer Reorganisation nicht
mit einbeziehen lassen.
Zur Berücksichtigung solcher Sonderfälle sind die in den Reorganisationstabellen
gespeicherten Elementnummern um ein Gültigkeits- und Endebit zu erweitern. Das
Gültigkeitsbit zeigt jeweils an, ob der selektierte Transfer durchgeführt werden soll
oder nicht, das Endebit , ob der Transfer abgeschlossen ist. Letzteres ist erforderlich,
weil für einen Vektortransfer, abhängig vom erreichbaren Parallelitätsgrad, eine
mehr oder weniger große Anzahl von Takten benötigt wird. Ein abschließend zu
erwähnender Nachteil der Reorganisation von Zugriffen ist, dass unabhängig von
der Elementzahl der zu ladenden oder zu speichernden Vektoren immer die gesamte
in der Reorganisationstabelle gespeicherte Elementfolge bearbeitet werden muss, da
das erste Vektorelement möglicherweise erst im letzten Takt transferiert wird. Aus
diesem Grund lassen sich Speicherzugriffe nicht verketten.
3.1.4 Signalprozessoren
Signalprozessoren sind speziell dafür entwickelt, analoge Signale digital zu verar-
beiten. Da an die von Signalprozessoren verarbeiteten Programme normalerweise
Echtzeitanforderungen gestellt werden, müssen sie eine hohe Verarbeitungsge-
schwindigkeit aufweisen. Dies wird in vielen Realisierungen erreicht, indem man in
einem Befehl mehrere Operationen implizit codiert, die statisch parallel ausgeführt
werden. Zum Beispiel verfügen nahezu alle Signalprozessoren über einen Befehl
zur kombinierten Multiplikation zweier Operanden und Akkumulation der erzeug-
ten Ergebnisse ( mac-Befehl , multiply and accumulate), mit dessen Hilfe sich die oft
in signalverarbeitenden Algorithmen benötigte Produktsumme berechnen lässt
(siehe Beispiel 3.3). Neben den beiden Operationen Multiplikation und Addition
sind dabei meist zusätzliche Adressmanipulationen in den Befehlen codiert, um die
zu verarbeitenden Operanden iterativ lesen zu können. In Bild 3.11 ist exemplarisch
für den Signalprozessor TMS320C55x von Texas Instruments [184] veranschau-
licht, wie sich mehrere Operationen, hier zwei Multiplikationen, zwei Additionen
und drei Adressmanipulationen in einem Befehl kombinieren lassen.
1.
Für den Alpha EV8 wird die Frage etwas differenzierter in [40] beantwortet. Demnach ist eine
perfekte Reorganisation für den in 16 Bänken organisierten Cache genau dann möglich, wenn
die Schrittweite S der Bedingung S = σ
2 s mit σ gleich einer beliebigen, ungeraden ganzen
Zahl und s
4 genügt.
Search WWH ::




Custom Search