Memoria de bloc de notas


La memoria scratchpad ( SPM ), también conocida como scratchpad , scratchpad RAM o almacenamiento local en la terminología informática , es una memoria interna de alta velocidad utilizada para el almacenamiento temporal de cálculos, datos y otros trabajos en curso. En referencia a un microprocesador (o CPU ), el scratchpad se refiere a una memoria especial de alta velocidad utilizada para almacenar pequeños elementos de datos para una recuperación rápida. Es similar al uso y tamaño de un bloc de notas en la vida: un bloc de papel para notas preliminares o bocetos o escritos, etc.

En algunos sistemas [a] se puede considerar similar a la caché L1 en el sentido de que es la siguiente memoria más cercana a la ALU después de que el procesador se registra , con instrucciones explícitas para mover datos hacia y desde la memoria principal , a menudo usando transferencia de datos basada en DMA . . [1] A diferencia de un sistema que usa cachés, un sistema con scratchpads es un sistema con latencias de acceso a memoria no uniforme (NUMA), porque las latencias de acceso a la memoria a los diferentes scratchpads y la memoria principal varían. Otra diferencia con un sistema que emplea cachés es que un scratchpad normalmente no contiene una copia de los datos que también se almacenan en la memoria principal.

Los scratchpads se emplean para simplificar la lógica de almacenamiento en caché y para garantizar que una unidad pueda funcionar sin contención de la memoria principal en un sistema que emplea múltiples procesadores, especialmente en un sistema en chip multiprocesador para sistemas integrados . En su mayoría, son adecuados para almacenar resultados temporales (como se encontrarían en la pila de la CPU) que normalmente no necesitarían estar siempre comprometidos en la memoria principal; sin embargo, cuando son alimentados por DMA , también se pueden usar en lugar de un caché para reflejar el estado de la memoria principal más lenta. Los mismos temas de localidad de referenciaaplicar en relación con la eficiencia de uso; aunque algunos sistemas permiten DMA estriado para acceder a conjuntos de datos rectangulares. Otra diferencia es que las aplicaciones manipulan explícitamente los scratchpads. Pueden ser útiles para aplicaciones en tiempo real , donde el tiempo predecible se ve obstaculizado por el comportamiento de la memoria caché.

Los scratchpads no se utilizan en los principales procesadores de escritorio donde se requiere generalidad para que el software heredado se ejecute de generación en generación, en el que el tamaño de la memoria disponible en el chip puede cambiar. Se implementan mejor en sistemas integrados, procesadores de propósito especial y consolas de juegos , donde los chips a menudo se fabrican como MPSoC y donde el software a menudo se ajusta a una configuración de hardware.

Algunas arquitecturas, como PowerPC, intentan evitar la necesidad de bloqueo de cacheline o scratchpads mediante el uso de instrucciones de control de cache . Marcar un área de la memoria con "Bloque de caché de datos: cero" (asignar una línea pero establecer su contenido en cero en lugar de cargarlo desde la memoria principal) y descartarlo después de su uso ("Bloque de caché de datos: invalidar", lo que indica que la memoria principal no recibir ningún dato actualizado), el caché se comporta como un bloc de notas. Se mantiene la generalidad en el sentido de que se trata de sugerencias y el hardware subyacente funcionará correctamente independientemente del tamaño real de la memoria caché.

Con respecto a la comunicación entre procesadores en una configuración multinúcleo, existen similitudes entre el DMA inter-localstore de Cell y una configuración de caché L2 compartida como en el Intel Core 2 Duo o el powerPC personalizado de Xbox 360: el caché L2 permite que los procesadores compartan resultados sin que esos resultados tengan para estar comprometido con la memoria principal. Esto puede ser una ventaja cuando el conjunto de trabajopara un algoritmo abarca la totalidad de la memoria caché L2. Sin embargo, cuando se escribe un programa para aprovechar el DMA inter-localstore, la celda tiene el beneficio de que cada uno de los otros-Local-Store cumple el propósito AMBOS del espacio de trabajo privado para un solo procesador Y el punto de compartir entre procesadores; es decir, las otras tiendas locales se encuentran en una situación similar vista desde un procesador como la memoria caché L2 compartida en un chip convencional. La compensación es la memoria desperdiciada en el almacenamiento en búfer y la complejidad de la programación para la sincronización, aunque esto sería similar a las páginas precaché en un chip convencional. Los dominios donde el uso de esta capacidad es efectivo incluyen: