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-