RAM scratchpad: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
Riga 5:
La scatchpad viene utilizzata per semplificare la gestione della coerenza delle cache nei sistemi multiprocessore. In un sistema multiprocessore la gestione della cache diventa un problema pressante dato che bisogna garantire che le cache non contengano dati vecchi, quindi ogni volta che un processore accede a un dato che risulta presenta anche in una cache di un altro processore il blocco di dati nella cache del processore va invalidato, questo genera un elevato flusso di dati tra i processori che rallenta il sistema. La scatchpad invece è una memoria direttamente indirizzabile quindi se un processore vuole accedere a dei dati in una scatchpad di un altro processore può farlo direttamente senza dover invalidare la cache del processore proprietario della scatchpad. Questo semplifica la realizzazione hardware e riduce il numero di messaggio di sincronizzazione tra i processori. Le scatchpad si basano sul principio di località come le cache e quindi se un processore copia nella sua scatchpad i dati che usa di frequente può ridurre in maniera significativa gli accessi alla lenta memoria centrale senza dover utilizzare cache.
Le scatchpad non sono utilizzate normalmente nei processori per personal computer dato che, per avere un reale vantaggio i programmi devono essere scritti tenendo conto della loro presenza mentre nei sistemi per computer si tende a preferire la compatibilità con il passato alle prestazioni. Invece i sistemi [[embedded]] essendo spesso basati su software scritti appositamente possono utilizzare le scatchpad senza problemi. nei sistemi embedded le scartchpad vengono utilizzate anche per ridurre i consumi. Le memorie cache a parità di dimensione richiedono molta più potenza delle scratchpad dato che necessitano di molte strutture aggiuntile alla memoria per funzionare correttamente. Le scratchpad invece richiedono delle strutture di gestione molto semplici e quindi sono molto più parche sotto il profilo energetico.<ref>''Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems'' Manish Verma, Student Member, IEEE, Lars Wehmeyer, and Peter Marwedel, Senior Member, IEEE</ref>
== Esempio di utilizzo ==
Riga 22:
== Cache L2 contro memoria comune ==
Per quanti riguarda la comunicazione interprocesso in un sistema multicore si hanno benefici analoghi alla scatchpad utilizzando una cache di secondo livello comune come nei processori [[Core 2 Duo]] o nel processore [[Xenon]] utilizzato dalla console [[Xbox 360]]. La cache di secondo livello permette di condividere i dati tra i core del processore senza dover passare dalla lenta memoria centrale ma se il programma viene sviluppato per utilizzare la comunicazione DMA tra le memorie locali dei core una gestione a scatchpad tende ad essere più efficiente.
== Note ==
{{references}}
[[Categoria:Microprocessore]]
|