Thesis Desarrollo de algoritmos de síntesis lógica aplicados en topologías de memorias resistivas computacionales ReRAM
Loading...
Date
2022-09
Authors
Journal Title
Journal ISSN
Volume Title
Program
Ingeniería Civil Electrónica
Magíster en Ciencias de la Ingeniería Electrónica
Magíster en Ciencias de la Ingeniería Electrónica
Campus
Campus Casa Central Valparaíso
Abstract
En la actualidad los sistemas computacionales ven cada vez más difícil la posibilidad de aumentar el desempeño y eficiencia energética. Lo anterior se puede relacionar a la imposibilidad de seguir con la miniaturización de los transistores, componentes básicos de cualquier sistema computacional, producto de que se están alcanzando límites físicos imposibles de sortear. De esta forma eventualmente los beneficios obtenidos de aumentar la concentración de transistores en una misma área se ven atenuados por los costos y/o nuevas problemáticas como, por ejemplo, las corrientes de fuga que aumentan el consumo de potencia. Por otro lado, las arquitecturas convencionales con las que se construyen estos sistemas tienen la característica de separar la memoria y la unidad de procesamiento de datos (CPU), lo que sumado a un dispar crecimiento de la capacidad de almacenamiento y la tasa de transferencia de datos ha producido un efecto de cuello de botella que limita el rendimiento de las CPU. elementos en una sola estructura. Para enfrentar estos problemas se han propuesto una serie de soluciones emergentes, dentro de las cuales destaca la posibilidad de realizar computación en la memoria. Esta forma de hacer computación precisamente busca eliminar cualquier tipo de transferencia entre una memoria y CPU fusionando ambos Dentro de las estructuras con capacidad de implementar computación en la memoria se encuentran las memorias resistivas o ReRAM, las cuales se componen de elementos de conmutación resistiva denominados memristors. Estos componentes fueron teorizados durante el siglo XX, pero no fue hasta 2008 cuando aquella teoría se vinculó por primera vez con observaciones experimentales en datos obtenidos de memristors reales. La principal característica de estos elementos corresponde a la de poder cambiar su resistencia a partir de la aplicación de una señal de voltaje o corriente. De esta forma se pueden utilizar los memristors como celdas de memoria, en las los datos almacenados están codificados en el valor de resistencia de los dispositivos. Una de las ventajas del uso de esta tecnología, en comparación con tecnologías convencionales de memorias RAMyFlash, es su alta densidad de integración y la posibilidad de almacenar más de un bit de información en cada celda, de manera no volátil. En conjunto con su aplicación como memoria, se han desarrollado también mecanismos para computar compuertas lógicas utilizando estos dispositivos, permitiendo así la implementación de computación en arreglos de memoria ReRAM. De esta forma este trabajo se enfoca en dos temas principales. En primer lugar, en el diseño y simulación de una memoria ReRAM que permite implementar las operaciones propias de una memoria las cuales son la escritura y lectura de datos, así como también la computación de compuertas lógicas. Para esto se seleccionó un estilo de lógica con memristors que fuera compatible con la topología de memoria utilizada y se diseñó un circuito de control de la memoria que permitiera una implementación funcional del sistema. En segundo lugar, se desarrolla un flujo de síntesis, una herramienta fundamental que permite la computación de funciones lógicas arbitrarias sobre la memoria computacional. El objetivo de esta herramienta es la de establecer un flujo de ejecución de la función lógica a sintetizar, que se traduce en lograr la asignación de recursos de la memoria, así como también establecer los ciclos de ejecución a partir de ciertas restricciones de espacio o de latencia. Para el diseño de esta herramienta se consideran el impacto de la latencia de cómputo de las funciones lógicas a ejecutar y el área de memoria utilizada, logrando grandes mejoras considerables en comparación a otras herramientas ya existentes para computación en ReRAM. Estos ultimo también suelen presentar problemas respecto a los tiempos de síntesis, utilizando cándidas de tiempo poco realistas para aplicaciones reales (del orden de días). De esta forma el trabajo desarrollado propone una estrategia iterativa para enfrentar este problema evitando un impacto sobre la latencia de cómputo de la función a sintetizar. Finalmente, en este trabajo se utilizan memristors reales fabricados por la empresa Knowm para la implementación de un ejemplo práctico de la memoria ReRAM. Para el desarrollo de esta parte se debió estudiar circuitos alternativos a los simulados que permitieran evadir problemáticas que surgen debido a la variabilidad de los dispositivos, así como rangos de resistencia cercanos (ROFF/RON ratio de solo un orden de magnitud). Se logra implementar una fila de memoria ReRAM con sus respectivos circuitos de control y dos celdas de memoria, dentro de la cual se ejecutan las operaciones propias de una memoria computacional mostrando su funcionalidad.
Description
Keywords
ComputaciónLógicaconMemristors, ReRAM, Operaciones lógicas