La RAM computacional o C-RAM es una memoria de acceso aleatorio con elementos de procesamiento integrados en el mismo chip. Esto permite que C-RAM se utilice como una computadora SIMD . También se puede utilizar para utilizar de forma más eficiente el ancho de banda de la memoria dentro de un chip de memoria.
Descripción general
Las implementaciones más influyentes de RAM computacional provienen del Proyecto Berkeley IRAM . Vector IRAM (V-IRAM) combina DRAM con un procesador vectorial integrado en el mismo chip. [1]
Arquitectura reconfigurable DRAM (RADram) es DRAM con elementos lógicos FPGA de computación reconfigurables integrados en el mismo chip. [2] Las simulaciones de SimpleScalar muestran que RADram (en un sistema con un procesador convencional) puede dar órdenes de magnitud mejor desempeño en algunos problemas que la DRAM tradicional (en un sistema con el mismo procesador).
Algunos problemas computacionales vergonzosamente paralelos ya están limitados por el cuello de botella de von Neumann entre la CPU y la DRAM. Algunos investigadores esperan que, por el mismo costo total, una máquina construida a partir de RAM computacional funcione en órdenes de magnitud más rápido que una computadora tradicional de uso general en este tipo de problemas. [3]
A partir de 2011, el "proceso DRAM" (pocas capas; optimizado para alta capacitancia) y el "proceso CPU" (optimizado para alta frecuencia; normalmente el doble de capas BEOL que DRAM; dado que cada capa adicional reduce el rendimiento y aumenta el costo de fabricación, tales chips son relativamente caros por milímetro cuadrado en comparación con DRAM) es lo suficientemente distinto como para que haya tres enfoques para la RAM computacional:
- comenzando con un proceso optimizado para CPU y un dispositivo que usa mucha SRAM incorporada, agregue un paso de proceso adicional (haciéndolo aún más caro por milímetro cuadrado) para permitir reemplazar la SRAM incorporada con DRAM incorporada ( eDRAM ), lo que brinda un ahorro de área ≈3x en las áreas de SRAM (y así reduciendo el costo neto por chip).
- comenzando con un sistema con un chip de CPU y chip (s) DRAM separados, agregue pequeñas cantidades de capacidad computacional de "coprocesador" a la DRAM, trabajando dentro de los límites del proceso DRAM y agregando solo pequeñas cantidades de área a la DRAM, para hacer Cosas que de otra manera se ralentizarían por el estrecho cuello de botella entre la CPU y la DRAM: llenar con cero áreas de memoria seleccionadas, copiar grandes bloques de datos de una ubicación a otra, encontrar dónde (si hay alguna) un byte dado ocurre en algún bloque de datos , etc. El sistema resultante — el chip de CPU sin cambios y el (los) chip (s) de "DRAM inteligente" — es al menos tan rápido como el sistema original, y potencialmente un costo ligeramente menor. Se espera que el costo de la pequeña cantidad de área adicional se recupere con creces en ahorros en el costoso tiempo de prueba, ya que ahora hay suficiente capacidad computacional en una "DRAM inteligente" para que una oblea llena de DRAM realice la mayoría de las pruebas internamente en paralelo. , en lugar del enfoque tradicional de probar completamente un chip DRAM a la vez con un costoso equipo de prueba automático externo . [1]
- comenzando con un proceso optimizado para DRAM, modifique el proceso para que se parezca un poco más al "proceso de la CPU" y construya una CPU de uso general (de frecuencia relativamente baja, pero de baja potencia y muy alto ancho de banda) dentro de los límites de ese proceso.
Algunas CPU diseñadas para construirse en una tecnología de proceso DRAM (en lugar de una tecnología de proceso "CPU" o "lógica" optimizada específicamente para CPU) incluyen The Berkeley IRAM Project , TOMI Technology [4] [5] y AT&T DSP1 .
Debido a que un bus de memoria a una memoria fuera del chip tiene muchas veces la capacitancia de un bus de memoria en el chip, un sistema con chips DRAM y CPU separados puede tener varias veces el consumo de energía de un sistema IRAM con el mismo rendimiento de computadora . [1]
Debido a que se espera que la DRAM computacional funcione más caliente que la DRAM tradicional, y el aumento de la temperatura del chip da como resultado una fuga de carga más rápida de las celdas de almacenamiento DRAM, se espera que la DRAM computacional requiera una actualización de DRAM más frecuente . [2]
Procesador en / casi memoria
Un procesador en / casi memoria (PINM) se refiere a un procesador de computadora (CPU) estrechamente acoplado a la memoria , generalmente en el mismo chip de silicio .
El objetivo principal de fusionar los componentes de procesamiento y memoria de esta manera es reducir la latencia de la memoria y aumentar el ancho de banda . Alternativamente, reducir la distancia a la que se deben mover los datos reduce los requisitos de energía de un sistema. [6] Gran parte de la complejidad (y, por tanto , del consumo de energía ) de los procesadores actuales se debe a las estrategias para evitar los bloqueos de memoria.
Ejemplos de
En la década de 1980, una pequeña CPU que ejecutaba FORTH se fabricó en un chip DRAM para mejorar PUSH y POP. FORTH es un lenguaje de programación orientado a pilas y esto mejoró su eficiencia.
El transputador también tenía una gran cantidad de memoria en chip, dado que se fabricó a principios de la década de 1980, lo que lo convierte esencialmente en un procesador en memoria.
Los proyectos PIM notables incluyen el proyecto Berkeley IRAM (IRAM) en la Universidad de California, proyecto Berkeley [7] y el esfuerzo PIM de la Universidad de Notre Dame [8] .
Ver también
- Computación con memoria
- SyNAPSE también combina procesamiento y memoria en un solo chip.
Referencias
- ↑ a b c Christoforos E. Kozyrakis, Stylianos Perissakis, David Patterson, Thomas Anderson, et al. "Procesadores escalables en la era de mil millones de transistores: IRAM" . Computadora IEEE (revista) . 1997. dice "Vector IRAM ... puede funcionar como un motor de autoprueba integrado en paralelo para la matriz de memoria, lo que reduce significativamente el tiempo de prueba de DRAM y el costo asociado".
- ^ a b Mark Oskin, Frederic T. Chong y Timothy Sherwood. "Páginas activas: un modelo de cálculo para la memoria inteligente" . 1998.
- ^ Daniel J. Bernstein . "Notas históricas sobre el enrutamiento de malla en NFS" . 2002. "Programación de una RAM computacional"
- ^ "TOMI, el microprocesador de milivatios" [ enlace muerto permanente ]
- ^ Yong-Bin Kim y Tom W. Chen. "Evaluación de la tecnología DRAM / lógica fusionada". 1998. "Copia archivada" (PDF) . Archivado desde el original (PDF) el 25 de julio de 2011 . Consultado el 27 de noviembre de 2011 .CS1 maint: copia archivada como título ( enlace ) [1]
- ^ "GYRFALCON COMIENZA EL ENVÍO DE CHIP AI" . laboratorio de electronica . 2018-10-10 . Consultado el 5 de diciembre de 2018 .
- ^ IRAM
- ^ "PIM" . Archivado desde el original el 9 de noviembre de 2015 . Consultado el 26 de mayo de 2015 .
Bibliografía
- Duncan Elliott, Michael Stumm, W. Martin Snelgrove, Christian Cojocaru, Robert McKenzie, " RAM computacional: Implementación de procesadores en memoria ", Diseño y prueba de computadoras IEEE , vol. 16, no. 1, págs. 32–41, enero-marzo de 1999. doi : 10.1109 / 54.748803 .