Che cos'è la RAM interna?
La memoria interna ad accesso casuale (RAM) è la memoria del computer integrata direttamente nel chip di un microcontrollore, ad esempio un'unità di elaborazione centrale (CPU) del computer. Può essere utilizzato dai programmatori per aumentare la velocità delle funzioni del programma indirizzando direttamente la RAM interna, garantendo che i processi critici vengano messi in coda ed elaborati più rapidamente e con priorità più alta dalla CPU. Ciò può accelerare notevolmente le applicazioni a uso intensivo del processore perché le istruzioni utilizzate di frequente possono essere trasmesse alla CPU molto più velocemente rispetto a trarne da ram esterno.
Le CPU hanno tre livelli di cache o RAM interna. La cache del processore è composta da RAM statica (SRAM), che non è la stessa della memoria tipica installata sulla scheda madre, chiamata RAM dinamica (DRAM). Quando la CPU cerca i dati, controlla prima la cache di livello 1 (L1), quindi il livello 2 (L2), quindi il livello 3 (L3). Solo dopo ciò estrarrà i dati dalla DRAM.
All'interno del processore, la cache L1 è assegnata a tutti i core del processore stesso. Questa è la RAM interna più veloce, poiché funge da buffer per le istruzioni inviate a ciascun core del processore come dettato dal programma che richiede l'elaborazione. Nei processori multi-core, questo può velocizzare notevolmente l'elaborazione se più core vengono indirizzati individualmente attraverso richieste di cache L1.
La cache L2 si trova nel pacchetto CPU e quindi è ancora considerata RAM interna. Non è integrato direttamente nel chip effettivo della CPU come lo è la cache L1. Ogni core ha ancora una propria cache L2 dedicata ad essa e quindi può operare in parallelo, sfruttando le velocità L2. La cache L2 è più lenta della cache L1, tuttavia.
La cache L3 non si trova all'interno del pacchetto CPU, quindi non è considerata RAM interna ma funziona al suo fianco. È la RAM esterna più veloce disponibile all'interno di un computer. Tutti i core della CPU condividono la cache L3.
L'intero processo può essere visto come un accodamento e suddivisione dei dati dalla DRAM esterna, alla RAM interna e infine alle istruzioni di elaborazione effettive. Alcune funzioni all'interno di qualsiasi programma sono stabilite con una priorità più elevata rispetto ad altre e sono spostate in primo piano nella coda come parte dell'ottimizzazione del singolo programma. I dati con priorità più alta vengono indirizzati direttamente alla cache L1 per un'elaborazione più rapida e le code con priorità più bassa durante l'intero processo. La differenza principale è dove la cache viene elaborata in un metodo di "estrazione dalla coda di attesa", la RAM interna è indirizzabile dal software, quindi i dati possono essere assegnati in modo specifico ai singoli livelli di RAM interna.