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