La memoria interna de acceso aleatorio (RAM) es una memoria de computadora que se integra directamente en el chip de un microcontrolador, como la unidad central de procesamiento (CPU) de una computadora. Los programadores pueden utilizarlo para aumentar la velocidad de las funciones del programa direccionando directamente la RAM interna, lo que garantiza que los procesos críticos se pongan en cola y se procesen más rápido y con mayor prioridad por parte de la CPU. Esto puede acelerar enormemente las aplicaciones que requieren un uso intensivo del procesador porque las instrucciones de uso frecuente se pueden pasar a la CPU mucho más rápido que dibujarlas desde una memoria RAM externa.
Las CPU tienen tres niveles de caché o RAM interna. La caché del procesador se compone de RAM estática (SRAM), que no es la misma que la memoria típica instalada en la placa base, llamada RAM dinámica (DRAM). Cuando la CPU busca datos, primero verifica la caché de nivel 1 (L1), luego el nivel 2 (L2) y luego el nivel 3 (L3). Solo después de eso, extraerá datos de la DRAM.
Dentro del procesador, la caché L1 se asigna a cada núcleo del propio procesador. Esta es la RAM interna más rápida, porque actúa como búfer para las instrucciones entregadas a cada núcleo del procesador según lo dicta el programa que solicita el procesamiento. En procesadores de múltiples núcleos, esto puede acelerar sustancialmente el procesamiento si se direccionan varios núcleos individualmente a través de solicitudes de caché L1.
La caché L2 está en el paquete de la CPU y, por lo tanto, todavía se considera RAM interna. No está integrado directamente en el chip de la CPU real como lo está la caché L1. Cada núcleo todavía tiene su propia caché L2 dedicada a él y, por lo tanto, puede operar en paralelo, aprovechando las velocidades L2. Sin embargo, la caché L2 es más lenta que la caché L1.
La caché L3 no está dentro del paquete de la CPU, por lo que no se considera RAM interna, sino que funciona junto a ella. Es la RAM externa más rápida disponible en una computadora. Todos los núcleos de CPU comparten la caché L3.
Todo el proceso puede verse como una cola y un desglose de los datos de la DRAM externa a la RAM interna y, finalmente, a las instrucciones de procesamiento reales. Ciertas funciones dentro de cualquier programa se establecen con una prioridad más alta que otras, y esas se mueven al principio de la cola como parte de la optimización del programa individual. Los datos de mayor prioridad se dirigen directamente a la caché L1 para un procesamiento más rápido y las colas de menor prioridad durante todo el proceso. La principal diferencia es que cuando la caché se procesa en un método de «extracción de la cola de espera», la RAM interna es direccionable por software, por lo que los datos se pueden asignar específicamente a niveles individuales de RAM interna.