Tesi Robotica Analisi, progettazione e implementazione... | Page 116
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 116 — #116
i
116
i
6. SECONDA RELEASE
due tipi di ottimizzazione che bene o male possono essere applicate a tutti i
moduli se questi non sono stati scritti con troppa cura nella prima stesura del
programma.
6.1.1
Diminuzione dell’uso delle BRAM
Grazie a vari accorgimenti si è riusciti a ridurre la quantità di memoria utilizzata
a dimensioni veramente esigue rispetto alle precedenti.
Per ogni Processor il consumo di BRAM nella prima release equivaleva allo
spazio occupato dalle memorie dei due raster, dalla matrice degli score, dalle
tre matrici delle direzioni (gapNorth, gapWest, diag). Siano n il numero di
pixel di larghezza e m il numero di pixel in altezza delle immagini in input, si
ottenevano i risultati di Tab:6.1.
Raster
RAM score
RAM gapNorth
RAM gapWest
RAM diag
#Elementi
n
n×n
n×n
n×n
n×n
Dim. Elemento
28 bit (RGB)
32 bit (Int)
1 bit (Flag)
1 bit (Flag)
1 bit (Flag)
Spazio Occupato
28 × n bit
32 × n × n bit
1 × n × n bit
1 × n × n bit
1 × n × n bit
#
2
1
1
1
1
Tabella 6.1: Utilizzo delle RAM in funzione di n
Come si può vedere lo spazio maggiore viene occupato dalla RAM score, questo
ovviamente perché deve tenere traccia di tutti i punteggi ottenuti con gli n2
allineamenti di sotto stringhe. Volendo fare qualche esempio concreto basta
sommare tutte le quantità:
RasterRAM = (24 × n) bit
ScoreRAM = (32 × n × n) bit
GN orthRAM = (1 × n × n) bit
GW estRAM = (1 × n × n) bit
DiagRAM = (1 × n × n) bit
T ot = 2RasterRAM +ScoreRAM +GN orthRAM +GW estRAM +DiagRAM
= 2(24 × n) + (32 × n × n) + 3(1 × n × n) = 48n + 35n2
i
i
i
i