Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 75

4.4. HARDWARE ARCHITECTURE 4.4.2 75 Architettura memoria LLVM ha tre tipi di memoria : pila , globali , e l’heap . Possiamo ignorare l’heap perché Legup non supporta la memoria allocata dinamicamente . Lo stack è usato per le variabili locali ma non esiste un equivalente di una pila in hardware. In Legup , ciascuna variabile che utilizza la memoria è memorizzato in un altsyncram separato e identificato da un numero univoco chiamato tag . Ci sono alcuni vantaggi di memorizzare ogni variabile in una ram distinta anziché raggruppare il tutto in un’unica grande ram , come tipico in un’architettura di computer tradizionale . In primo luogo , non siamo limitati da un singolo processore in grado di eseguire solo le operazioni in serie ; abbiamo la flessibilità necessaria per generare l’hardware con una vasta parallelismo . Variabili Dividere in altsyncrams separato evita il collo di bottiglia di attesa di una memoria centrale quando più unità funzionali sono in esecuzione in parallelo . Un altro vantaggio è il debug , è più facile per il progettista hardware per eseguire il debug se vede singoli array dal suo programma C in cilindri separati piuttosto che sepolto in un grande ariete . Lo svantaggio principale di questa memoria architettura è la necessità di tag per identificare in modo univoco il blocco ram di ciascuna variabile. 32-bit Address Format: La parte superiore 8 bit di tutti gli indirizzi di memoria sono riservati alle varia-