Como se ha visto, los circuitos asíncronos forman un campo en creciente auge que ofrece soluciones a los problemas que sufren los circuitos síncronos a causa de los avances tecnológicos. Sin embargo, existen aún inconvenientes relacionados con su desarrollo e implementación que resultan muy interesantes como líneas de investigación.
La notable carencia de herramientas de modelado y simulación de sistemas asín- cronos complejos es uno de los principales inconvenientes relacionados con este tipo de circuitos. En la creación de estas herramientas, una de las mayores di- ficultades reside en modelar, de una manera computacionalmente eficiente, la variabilidad de los tiempos de cómputo debida a la capacidad de computar lo antes posible que tienen los circuitos asíncronos. Plantear una solución a este problema es una de las motivaciones de la presente tesis.
En el ámbito de los procesadores asíncronos de propósito general, la carencia de herramientas se acentúa. El desarrollo de este tipo de procesadores se suele realizar a partir de entornos construidos a medida. Estos entornos, difícilmente parametrizables, en ocasiones se apoyan en lenguajes de descripción de hardware. El resultado es un lento y pesado camino hasta la implementación definitiva. De hecho, no existen herramientas parametrizables de simulación de microarquitec- turas asíncronas, capaces de modelar el comportamiento asíncrono, que permitan obtener información acerca del rendimiento del sistema simulado. Estas herra- mientas, comunes en el paradigma síncrono, permitirían evaluar las ventajas e inconvenientes derivados de la aplicación de nuevas técnicas o protocolos asín- cronos a través de la recopilación de estadísticas detalladas sobre la ejecución de bancos de pruebas estándar. Aportar una herramienta de estas características para una microarquitectura asíncrona es otra de las motivaciones de este trabajo. Por tanto, el principal objetivo de esta tesis es el estudio e implementación de una herramienta capaz de evaluar el rendimiento de un procesador superescalar asíncrono de propósito general a través de la simulación, a nivel arquitectóni- co, del comportamiento dinámico de una microarquitectura donde los tiempos de cómputo de sus componentes sean variables.
30 1.4. Motivaciones y objetivos de la tesis cundarios:
1. Estudio de una metodología de modelado del tiempo de cómputo de un circuito asíncrono que, siendo computacionalmente eficiente, represente fiel- mente la variabilidad de la latencia de cada módulo del circuito.
La caracterización del tiempo de cómputo se realizará a través de fun- ciones de distribución de la probabilidad.
2. Modelado, a través de un simulador arquitectónico, de un procesador super- escalar asíncrono que disponga de características avanzadas como predicción de saltos y ejecución especulativa de instrucciones.
El procesador debe ser capaz de manejar repertorios de instruccio- nes compatibles con algún conjunto de bancos de pruebas conocido y extendido en la comunidad científica.
3. Estudio de caracterizaciones genéricas para el tiempo de cómputo que per- mitan al simulador modelar el comportamiento asíncrono en la microarqui- tectura simulada.
La caracterización del tiempo de cómputo debe ser independiente para cada uno de los módulos que componen el procesador.
La descripción microarquitectónica y la caracterización del tiempo de cómputo se deben mantener separadas en el simulador. Así será posi- ble trabajar con distintas caracterizaciones de tiempo sin afectar a la funcionalidad del procesador.
4. Integración en el simulador de la caracterización del tiempo de cómputo de cada uno de los módulos asíncronos que componen la microarquitectura del procesador.
Es necesario que la integración incluya un interfaz amigable que per- mita la parametrización de las distintas funciones de distribución aso- ciadas a cada módulo, así como la propia asociación entre módulo y función de caracterización.
1. Introducción 31 Se utilizará el lenguaje de marcado XML en la descripción de las fun- ciones de distribución.
5. Integración en el simulador del modelado de varios protocolos de comuni- cación, configurables individualmente para cada una de las comunicaciones entre módulos de la microarquitectura.
En un diseño complejo como el procesador asíncrono tratado, es desea- ble disponer de distintos protocolos de comunicación para la trasfe- rencia de información entre distintos componentes. En una primera aproximación se considerarán los protocolos de comunicación de dos y cuatro fases.
La selección y configuración de los protocolos de comunicación entre módulos se llevará a cabo utilizando el lenguaje de marcado XML. 6. Estudio y generación de medidas acerca del rendimiento de la microarqui-
tectura asíncrona, adicionales a las estadísticas de ejecución comunes en los simuladores arquitectónicos (i.e., número de instrucciones ejecutadas, número de saltos, estadísticas sobre el predictor de saltos, etc...):
Evaluación de tiempo de cómputo total para cada simulación, en uni- dades de tiempo.
Estadísticas sobre las instrucciones procesadas: valores máximos, mí- nimos y promedio sobre la latencia de las instrucciones dentro de la microarquitectura, rendimiento en términos de número de instruccio- nes por unidad de tiempo.
Organización de las estadísticas anteriores por cada uno de los módulos de la microarquitectura.
Tasa de actividad de cada módulo de la microarquitectura. 7. Estudio del modelado de sistemas parcialmente síncronos.
Los GALS (Globally-Asynchronous, Locally-Synchronous), sistemas glo- balmente asíncronos, localmente síncronos [Cha84], también suscitan interés en la comunidad investigadora. Desde el punto de vista de la
32 1.5. Estructura de la tesis