7.3 Compiler für eingebettete Systeme
397
Abb. 7.13 Basisblöcke und
Multibasisblöcke
Multibasisblöcke:
{BB1, BB3}
{BB1, BB2}
{BB1, BB2, BB3}
BB3
BB2
BB1
– sb i and sm i die Größe des Basisblocks i bzw. des Multibasisblocks i,
– nb i und nm i die Anzahl der Zugriffe auf den Basisblock i bzw. den Multibasisblock i,
– xb i und xm i definiert als
xb i =
1 wenn Basisblock i auf SPM abgebildet wird
0 sonst
(7.5)
xm i =
1 wenn Multibasisblock i auf SPM abgebildet wird
0 sonst
(7.6)
Dann ist das Ziel die Maximierung des Gewinns
G = g
i
n f i · x f i +
i
nb i · xb i +
i
nm i · xm i +
i
nv i · xv i
(7.7)
unter Berücksichtigung der Größenbeschränkung
i
s f i · x f i +
i
sb i · xb i +
i
sm i · xm i +
i
sv i · xv i ≤ S
(7.8)
∀ Basisblöcke i : xb i + x f f ct(i) +
i ′ ∈multibasicblock(i)
xm i ′ ≤ 1 (7.9)
Dabei ist f ct(i) die Funktion, die den Basisblock i enthält und multiblock(i)
die Menge an Multibasisblöcken, die den Basisblock i enthalten. Die zweite
Einschränkung (7.9) stellt sicher, dass ein Basisblock nur einmal in den SPM
abgebildet wird und nicht potenziell als Teil einer umgebenden Funktion und als
Teil eines Multibasisblocks.
Experimente mit diesem Modell wurden von Steinke et al. [512] durchgeführt.
Bei bestimmten Benchmarkanwendungen wurden dabei Energieeinsparungen von
bis zu 80% erreicht, wobei die Größe des SPM nur einen kleinen Bruchteil der
gesamten Größe der Anwendung ausmachte. Ergebnisse für das bubble sortProgramm finden sich in Abb. 7.14.
397
Abb. 7.13 Basisblöcke und
Multibasisblöcke
Multibasisblöcke:
{BB1, BB3}
{BB1, BB2}
{BB1, BB2, BB3}
BB3
BB2
BB1
– sb i and sm i die Größe des Basisblocks i bzw. des Multibasisblocks i,
– nb i und nm i die Anzahl der Zugriffe auf den Basisblock i bzw. den Multibasisblock i,
– xb i und xm i definiert als
xb i =
1 wenn Basisblock i auf SPM abgebildet wird
0 sonst
(7.5)
xm i =
1 wenn Multibasisblock i auf SPM abgebildet wird
0 sonst
(7.6)
Dann ist das Ziel die Maximierung des Gewinns
G = g
i
n f i · x f i +
i
nb i · xb i +
i
nm i · xm i +
i
nv i · xv i
(7.7)
unter Berücksichtigung der Größenbeschränkung
i
s f i · x f i +
i
sb i · xb i +
i
sm i · xm i +
i
sv i · xv i ≤ S
(7.8)
∀ Basisblöcke i : xb i + x f f ct(i) +
i ′ ∈multibasicblock(i)
xm i ′ ≤ 1 (7.9)
Dabei ist f ct(i) die Funktion, die den Basisblock i enthält und multiblock(i)
die Menge an Multibasisblöcken, die den Basisblock i enthalten. Die zweite
Einschränkung (7.9) stellt sicher, dass ein Basisblock nur einmal in den SPM
abgebildet wird und nicht potenziell als Teil einer umgebenden Funktion und als
Teil eines Multibasisblocks.
Experimente mit diesem Modell wurden von Steinke et al. [512] durchgeführt.
Bei bestimmten Benchmarkanwendungen wurden dabei Energieeinsparungen von
bis zu 80% erreicht, wobei die Größe des SPM nur einen kleinen Bruchteil der
gesamten Größe der Anwendung ausmachte. Ergebnisse für das bubble sortProgramm finden sich in Abb. 7.14.
