stringtranslate.com

Computar con memoria

Computar con memoria se refiere a plataformas informáticas donde la respuesta de la función se almacena en una matriz de memoria, ya sea unidimensional o bidimensional, en forma de tablas de búsqueda (LUT) y las funciones se evalúan recuperando los valores de las LUT. Estas plataformas informáticas pueden seguir un modelo informático puramente espacial, como en la matriz de puertas programables en campo (FPGA), o un modelo informático temporal, donde una función se evalúa a través de múltiples ciclos de reloj. El último enfoque tiene como objetivo reducir la sobrecarga de la interconexión programable en FPGA plegando los recursos de interconexión dentro de un elemento informático. Utiliza matrices de memoria bidimensionales densas para almacenar grandes LUT de múltiples entradas y múltiples salidas. La Computación con Memoria difiere de la Computación en Memoria o de los conceptos de procesador en memoria (PIM), ampliamente investigados en el contexto de la integración de un procesador y una memoria en el mismo chip para reducir la latencia de la memoria y aumentar el ancho de banda. Estas arquitecturas buscan reducir la distancia que recorren los datos entre el procesador y la memoria. El proyecto IRAM de Berkeley es una contribución notable en el área de las arquitecturas PIM.

Detalles

La informática con plataformas de memoria se utiliza normalmente para proporcionar el beneficio de la reconfigurabilidad del hardware. Las plataformas informáticas reconfigurables ofrecen ventajas en términos de costos de diseño reducidos, tiempo de comercialización temprano, creación rápida de prototipos y sistemas de hardware fácilmente personalizables. Los FPGA presentan una popular plataforma informática reconfigurable para implementar circuitos digitales. Siguen un modelo de computación puramente espacial. Desde su creación en 1985, la estructura básica de los FPGA ha seguido consistiendo en una matriz bidimensional de bloques lógicos configurables (CLB) y una matriz de interconexión programable. [1] El rendimiento de la FPGA y la disipación de energía están dominados en gran medida por la elaborada arquitectura de interconexión programable (PI). [2] [3] Una forma eficaz de reducir el impacto de la arquitectura PI en FPGA es colocar pequeños LUT muy cerca (denominados clústeres) y permitir la comunicación dentro del clúster mediante interconexiones locales. Debido a los beneficios de una arquitectura FPGA agrupada, los principales proveedores de FPGA la han incorporado en sus productos comerciales. [4] [5] También se han realizado investigaciones para reducir la sobrecarga debida a PI en FPGA de grano fino mediante la asignación de LUT de múltiples entradas y múltiples salidas más grandes a bloques de memoria integrados. Aunque sigue un modelo de computación espacial similar, parte de las funciones lógicas se implementan utilizando bloques de memoria integrados, mientras que la parte restante se realiza utilizando LUT más pequeñas. [6] Un mapeo tan heterogéneo puede mejorar el área y el rendimiento al reducir la contribución de las interconexiones programables.

A diferencia del modelo de computación puramente espacial de FPGA, también se ha investigado [7] [8] una plataforma de computación reconfigurable que emplea un modelo de computación temporal (o una combinación de ambos, temporal y espacial) en el contexto de mejorar el rendimiento y la energía con respecto a los convencionales. FPGA. Estas plataformas, denominadas Computación basada en memoria (MBC), utilizan una densa matriz de memoria bidimensional para almacenar las LUT. Dichos marcos se basan en dividir una función compleja ( f ) en pequeñas subfunciones; representar las subfunciones como LUT de múltiples entradas y múltiples salidas en la matriz de memoria; y evaluar la función f durante múltiples ciclos. MBC puede aprovechar las ventajas de alta densidad, baja potencia y alto rendimiento de la memoria a nanoescala. [8]

Cada elemento informático incorpora una matriz de memoria bidimensional para almacenar LUT, un pequeño controlador para secuenciar la evaluación de subfunciones y un conjunto de registros temporales para contener las salidas intermedias de particiones individuales. Un marco de enrutamiento local rápido dentro de cada bloque informático genera la dirección para el acceso a LUT. Se pueden conectar espacialmente múltiples elementos informáticos de este tipo utilizando una arquitectura de interconexión programable similar a FPGA para permitir el mapeo de funciones grandes. La ejecución multiplexada en tiempo local dentro de los elementos informáticos puede reducir drásticamente el requisito de interconexiones programables, lo que lleva a una gran mejora en el producto de retardo de energía y una mejor escalabilidad del rendimiento a través de generaciones de tecnología. La matriz de memoria dentro de cada elemento informático se puede realizar mediante memoria direccionable por contenido (CAM) para reducir drásticamente el requisito de memoria para determinadas aplicaciones. [7]

Ver también

Referencias

  1. ^ K.Compton y S. Hauck, "Computación: un estudio de sistemas y software", ACM Surveys , vol. 34, núm. 2, junio de 2002.
  2. ^ SM Trimberger, Tecnología de matriz de puertas programables en campo , Norwell, MA: Kluwer, 1994.
  3. ^ A. Rahman, S. Das, AP Chandrakasan, R. Reif, "Requisitos de cableado y tecnología de integración tridimensional para conjuntos de puertas programables en campo", IEEE Trans. sobre sistemas de integración a muy gran escala , vol. 11, N° 1, febrero de 2003.
  4. ^ Corporación Xilinx
  5. ^ Corporación Altera
  6. ^ J. Cong y S. Xu, "Mapeo tecnológico para FPGA con bloques de memoria integrados", Simposio sobre matriz de puertas programables de campo, 1998.
  7. ^ ab S. Paul y S. Bhunia, "Computación reconfigurable utilizando memoria direccionable de contenido para mejorar el rendimiento y el uso de recursos", Conferencia de automatización de diseño, 2008.
  8. ^ ab S. Paul, S. Chatterjee, S. Mukhopadhyay y S. Bhunia, "Computación reconfigurable a nanoescala utilizando una matriz STTRAM 2-D no volátil", Conferencia internacional sobre nanotecnología, 2009.