stringtranslate.com

Memoria del bloc de notas

La memoria scratchpad ( SPM ), también conocida como scratchpad , RAM scratchpad o almacén local en terminología informática , es una memoria interna, generalmente de alta velocidad, que se utiliza 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 que se utiliza para almacenar pequeños elementos de datos para una rápida recuperación. Es similar al uso y tamaño de un bloc de notas en la vida: un bloc de papel para notas preliminares, bocetos o escritos, etc. Cuando el bloc de notas es una parte oculta de la memoria principal, a veces se lo denomina almacenamiento funcional .

En algunos sistemas [a] se puede considerar similar al caché L1 en 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 utiliza cachés, un sistema con áreas reutilizables es un sistema con latencias de acceso a memoria no uniforme (NUMA), porque las latencias de acceso a la memoria para los diferentes áreas reutilizables y la memoria principal varían. Otra diferencia con un sistema que emplea cachés es que un bloc de notas 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 del 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 sistemas multiprocesador en chip para sistemas integrados . Son principalmente 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 se alimentan con DMA , también se pueden usar en lugar de un caché para reflejar el estado de la memoria principal más lenta. Las mismas cuestiones de localidad de referencia se aplican en relación con la eficiencia de uso; aunque algunos sistemas permiten que DMA acceda a conjuntos de datos rectangulares. Otra diferencia es que las aplicaciones manipulan explícitamente los scratchpads. Pueden resultar útiles para aplicaciones en tiempo real , donde el comportamiento de la caché dificulta la sincronización predecible.

Los Scratchpads no se utilizan en los procesadores de escritorio convencionales donde se requiere generalidad para que el software heredado se ejecute de generación en generación, en los que el tamaño de 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 suele ajustarse a una configuración de hardware.

Ejemplos de uso

Alternativas

Control de caché frente a scratchpads

Algunas arquitecturas, como PowerPC, intentan evitar la necesidad de bloqueo de líneas de caché o áreas reutilizables mediante el uso de instrucciones de control de caché . Marcar un área de 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", indicando que la memoria principal no Si no recibe ningún dato actualizado), el caché está diseñado para comportarse como un bloc de notas. Se mantiene la generalidad en el sentido de que se trata de sugerencias y que el hardware subyacente funcionará correctamente independientemente del tamaño real de la caché.

Tiendas locales compartidas L2 vs Cell

Con respecto a la comunicación entre procesadores en una configuración multinúcleo, existen similitudes entre el DMA entre almacenes locales 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 a los procesadores compartir resultados sin que esos resultados tengan guardarse en la memoria principal. Esto puede ser una ventaja cuando el conjunto de trabajo de un algoritmo abarca la totalidad de la caché L2. Sin embargo, cuando se escribe un programa para aprovechar el DMA entre almacenes locales, la celda tiene el beneficio de que cada uno de los almacenes locales cumple el propósito de TANTO el espacio de trabajo privado para un solo procesador como el punto de compartir entre procesadores; es decir, las otras tiendas locales se encuentran en una posición similar vista desde un procesador como la caché L2 compartida en un chip convencional. La desventaja es el desperdicio de memoria 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 almacenadas en caché en un chip convencional. Los dominios donde el uso de esta capacidad es efectivo incluyen:

Sería posible que un procesador convencional obtuviera ventajas similares con instrucciones de control de caché, por ejemplo, permitiendo la captación previa de L1 sin pasar por L2, o una sugerencia de desalojo que señalara una transferencia de L1 a L2 pero sin comprometerse con la memoria principal; sin embargo, en la actualidad ningún sistema ofrece esta capacidad de forma utilizable y dichas instrucciones, en efecto, deberían reflejar la transferencia explícita de datos entre las áreas de caché utilizadas por cada núcleo.

Ver también

Notas

  1. ^ Algunos sistemas más antiguos utilizaban una parte oculta del almacenamiento principal, denominada almacenamiento funcional, como bloc de notas. En otros sistemas, por ejemplo UNIVAC 1107 , todos los registros direccionables se guardaban en un bloc de notas.

Referencias

  1. ^ Steinke, Stefan; Lars Wehmeyer; Bo Sik Lee; Peter Marwedel (2002). "Asignación de objetos de datos y programas al Bloc de notas para reducción de energía" (PDF) . Universidad de Dortmund . Consultado el 3 de octubre de 2013 .: "3.2 Modelo de bloc de notas... La memoria del bloc de notas utiliza software para controlar la asignación de ubicación de los datos".
  2. ^ "La arquitectura interna de la TI-99/4A". www.unige.ch . Consultado el 8 de marzo de 2023 .
  3. ^ J. Lu, K. Bai, A. Shrivastava, "SSDM: gestión de datos de pila inteligente para multinúcleos gestionados por software (SMM)", Conferencia de automatización de diseño (DAC) , 2 al 6 de junio de 2013
  4. ^ K. Bai, A. Shrivastava, "Gestión automática y eficiente de datos de montón para arquitecturas multinúcleo de memoria local limitada", Automatización y pruebas de diseño en Europa (FECHA) , 2013
  5. ^ K. Bai, J. Lu, A. Shrivastava, B. Holton, "CMSM: una gestión de código eficiente y eficaz para multinúcleos gestionados por software", CODES+ISSS , 2013
  6. ^ Patterson, David (30 de septiembre de 2009). "Las 10 principales innovaciones en la nueva arquitectura NVIDIA Fermi y los 3 próximos desafíos principales" (PDF) . Laboratorio de Investigación de Computación Paralela y NVIDIA . Consultado el 3 de octubre de 2013 .
  7. ^ Jia, Zhe; Tillman, Blake; Maggioni, Marco; Scarpazza, Daniele P. (7 de diciembre de 2019). Disección de la arquitectura Graphcore IPU mediante Microbenchmarking (PDF) (Reporte técnico). Ciudadela Enterprise Americas, LLC. arXiv : 1912.03413 .

enlaces externos