386
7 Optimierung
regulären Fälle werden im then-Teil dieser Anweisung behandelt. Der eese-Teil
behandelt die relativ kleine Anzahl von übrigen Fällen.
∇
Zielestimation
Motion
detection
Cavity
Ausführungszeit [%]
QSDPCM
prozessor
A R M
( a r m )
D E C
A lp h a E V 4
P o w e r P C
G 3
P e n t iu m
S u n
100
80
60
40
20
0
T I C 6 x
A R M
( t h u m b )
Abb. 7.5 Ergebnisse für die Schleifenaufspaltung
Eine Schleifenaufspaltung kann
Laufzeiten für verschiedene Applikationen und Architekturen
reduzieren. Relative Laufzeiten werden in Abb. 7.5 gezeigt. Für die Bewegungsanalyse (engl. motion estimation)
verringert sich die Zyklenanzahl um bis zu ca. 75% (auf
25% des ursprünglichen Wertes). So sind signifikante Einsparungen möglich, die vielfach größer sind als für die
vorher vorgestellten einfachen
Transformationen. Die Schleifenaufspaltung kann beispielsweise vor der Übersetzung von Quellcode durch einen Compiler durchgeführt werden.
7.1.4 Falten von Feldern
Einige eingebettete Anwendungen, insbesondere im Multimediabereich, verwenden
große Felder (engl. arrays). Da der Speicherplatz in eingebetteten Systemen begrenzt
ist, sollten Möglichkeiten genutzt werden, die Speicheranforderungen von Feldern zu
vermindern. Abb. 7.6 stellt die Adressen, die von fünf Feldern verwendet werden, als
Funktion über der Zeit dar. Zu jedem einzelnen Zeitpunkt wird nur eine Teilmenge
der Feldelemente benötigt. Die maximale Anzahl benötigter Elemente wird das
Adressreferenzfenster genannt [123]. In Abb. 7.6 wird dieses Maximum durch
einen Pfeil mit zwei Spitzen dargestellt.
Adressen &A
&C
&D
&E
&B
t
t
t
t
t
Abb. 7.6 Referenzmuster für Felder
7 Optimierung
regulären Fälle werden im then-Teil dieser Anweisung behandelt. Der eese-Teil
behandelt die relativ kleine Anzahl von übrigen Fällen.
∇
Zielestimation
Motion
detection
Cavity
Ausführungszeit [%]
QSDPCM
prozessor
A R M
( a r m )
D E C
A lp h a E V 4
P o w e r P C
G 3
P e n t iu m
S u n
100
80
60
40
20
0
T I C 6 x
A R M
( t h u m b )
Abb. 7.5 Ergebnisse für die Schleifenaufspaltung
Eine Schleifenaufspaltung kann
Laufzeiten für verschiedene Applikationen und Architekturen
reduzieren. Relative Laufzeiten werden in Abb. 7.5 gezeigt. Für die Bewegungsanalyse (engl. motion estimation)
verringert sich die Zyklenanzahl um bis zu ca. 75% (auf
25% des ursprünglichen Wertes). So sind signifikante Einsparungen möglich, die vielfach größer sind als für die
vorher vorgestellten einfachen
Transformationen. Die Schleifenaufspaltung kann beispielsweise vor der Übersetzung von Quellcode durch einen Compiler durchgeführt werden.
7.1.4 Falten von Feldern
Einige eingebettete Anwendungen, insbesondere im Multimediabereich, verwenden
große Felder (engl. arrays). Da der Speicherplatz in eingebetteten Systemen begrenzt
ist, sollten Möglichkeiten genutzt werden, die Speicheranforderungen von Feldern zu
vermindern. Abb. 7.6 stellt die Adressen, die von fünf Feldern verwendet werden, als
Funktion über der Zeit dar. Zu jedem einzelnen Zeitpunkt wird nur eine Teilmenge
der Feldelemente benötigt. Die maximale Anzahl benötigter Elemente wird das
Adressreferenzfenster genannt [123]. In Abb. 7.6 wird dieses Maximum durch
einen Pfeil mit zwei Spitzen dargestellt.
Adressen &A
&C
&D
&E
&B
t
t
t
t
t
Abb. 7.6 Referenzmuster für Felder
