diseño asíncrono donde el tiempo de cómputo de algunos de sus com- ponentes se ha fijado a una frecuencia determinada.
Los PAMs (Partially Asynchronous Microprocessors), microprocesa-
dores parcialmente asíncronos [MABB02], y los LAGS (Locally-Asynchronous, Globally-Synchronous) son también posibles objetivos de la herramien-
ta propuesta.
8. Estudio de otras aplicaciones del simulador relacionadas con la variabilidad en los tiempos de cómputo.
La variación en el tiempo de cómputo de un circuito asíncrono se puede alterar debido a factores distintos al dato computado. El envejecimien- to del circuito o las variaciones en voltaje y temperatura de funciona- miento pueden modificar su comportamiento. La herramienta que se presenta en esta tesis podría permitir el estudio del rendimiento de la microarquitectura bajo múltiples condiciones ambientales.
La selección, en tiempo de ejecución, de distintas funciones de distribu- ción para caracterizar el tiempo de cómputo de un módulo asíncrono permite simular algoritmos o técnicas adaptativas, como por ejemplo, el escalado dinámico de voltaje.
Las principales aportaciones de este trabajo, relacionadas con los objetivos que se acaban de presentar, se explican con detalle en el Capítulo 6.
1.5.
Estructura de la tesis
Esta tesis se estructura en seis capítulos. Los dos primeros capítulos se dedican a exponer el estado del arte y los conocimientos previos que fundamentan el resto de la tesis. Los siguientes cuatro capítulos muestran las aportaciones realizadas y se basan en los conceptos que se presentan en los dos primeros capítulos. En el Capítulo 2 se presenta el estado del arte de las herramientas y técnicas de modelado de sistemas asíncronos complejos. En él se muestran, por un lado,
1. Introducción 33 técnicas de alto nivel de abstracción como los métodos formales, herramientas asociadas a métodos formales y lenguajes de descripción de procesos concurrentes. Por otro lado, se describen algunos simuladores de microarquitecturas asíncronas, comparando sus características con las que se enuncian en las motivaciones de este trabajo.
El Capítulo 3 muestra las primeras aportaciones de esta tesis. En él se estudia la caracterización genérica del tiempo de cómputo de un circuito, para distintas configuraciones de temporización. En este estudio se valoran las posibles causas de la variabilidad en la latencia y se propone la utilización de funciones de distri- bución de la probabilidad para caracterizar esta variabilidad. Además se propone un método de caracterización del tiempo de cómputo que, utilizando fundamentos estadísticos, garantiza una caracterización fiable.
El resto de aportaciones de esta tesis se describen en los capítulos 4 y 5. En el Capítulo 4, tras indicar las diferencias entre el modelado y simulación de sistemas síncronos y asíncronos, se concluye la necesidad de crear un simulador que separe la descripción funcional del circuito del modelado de su temporización. En con- secuencia se propone, por un lado, una nueva microarquitectura superescalar con ejecución especulativa de instrucciones y predicción de saltos capaz de procesar el repertorio de instrucciones del procesador Alpha 21264. Por otro lado, se propo- nen distintos modelos para caracterizar la temporización de la microarquitectura. Todo ello se integra en Sim-async, el nuevo simulador resultado de este trabajo. El Capítulo 5 describe el proceso de validación del simulador y dos estudios ar- quitectónicos donde se utiliza la herramienta para evaluar el rendimiento, bajo distintas configuraciones asíncronas, de la microarquitectura modelada en com- paración con su equivalente síncrona.
En el Capítulo 6 se presentan las conclusiones de este trabajo, sus principales aportaciones y se indican las líneas de investigación que quedan abiertas.
Finalmente, la tesis termina con dos apéndices. En el Apéndice A se describen conceptos fundamentales en el diseño de circuitos asíncronos. El Apéndice B muestra información adicional sobre el lenguaje de marcado XML, profundizando en las gramáticas definidas para la configuración del simulador propuesto.
Capítulo 2
Estado del arte
Las herramientas de modelado y simulación de sistemas son esenciales en el flujo de diseño de circuitos puesto que, generalmente, permiten medir el rendimiento del producto en desarrollo y verificar tanto su correcta funcionalidad como el cumplimiento de los requisitos de temporización. De hecho, en el paradigma de los circuitos síncronos existen multitud de herramientas de modelado sin las cuales el desarrollo de circuitos complejos, con el actual nivel de integración VLSI1, tendría
una elevada dificultad.
El reciente interés por el diseño de circuitos asíncronos ha alimentado una intensa actividad investigadora cuyo objetivo es desarrollar técnicas apropiadas para el modelado y simulación de sistemas asíncronos. En este tipo de sistemas, el papel de la simulación es más importante, si cabe, que en los circuitos síncronos. Esto se debe tanto a su carácter concurrente como a la variabilidad en los tiempos de cómputo, dependientes de los datos, que convierten cualquier intento de compro- bar la corrección de un circuito asíncrono o estimar su rendimiento en una tarea muy complicada de llevar a cabo.
En este capítulo se realiza un repaso global a las herramientas y técnicas utilizadas para el modelado y simulación de circuitos asíncronos, tanto en el ámbito acadé- mico como en el industrial. Así, el conjunto de herramientas y técnicas descritas se divide en tres categorías principales:
Métodos formales y herramientas derivadas
Lenguajes de descripción de procesos concurrentes 1
45 nm, año 2008
36 2.1. Métodos formales y herramientas derivadas Simuladores de microarquitecturas asíncronas
A continuación se presentan las características de los representantes más relevan- tes en cada una de estas categorías, evaluando después las ventajas e inconvenien- tes de utilizarlas para el modelado y simulación de la microarquitectura asíncrona objetivo de esta tesis: un procesador superescalar asíncrono de propósito general donde los tiempos de cómputo de sus componentes es variable.
2.1.
Métodos formales y herramientas derivadas
Los métodos ó metodologías formales para el modelado de circuitos permiten al diseñador de sistemas componer una descripción de alto nivel de la funcionalidad del circuito, lejos de los detalles de su implementación. De este modo, la compro- bación de la corrección del circuito modelado se basa en el cumplimiento de las reglas que determina la metodología utilizada.
Generalmente, los métodos formales para el modelado de circuitos asíncronos que se encuentran en la literatura ofrecen soluciones para la descripción del circuito, pero no para su simulación. Son las herramientas derivadas de estos métodos las que aunan la capacidad de describir un sistema asíncrono con la simulación y la verificación de sus funcionalidades.
En este apartado se establece una clasificación en dos tipos de metodologías dentro de los métodos formales para el modelado de circuitos asíncronos: por un lado, las metodologías basadas en máquinas de estados finitas asíncronas (AFSM ) y, por otro lado, las metodologías derivadas de redes de Petri. Para ambas categorías se incluyen también referencias a herramientas relacionadas.
2.1.1. Máquinas de estado finitas asíncronas
Las maquinas de estados finitas asíncronas son un método tradicional de modela- do de circuitos asíncronos [Hol82, Chu92]. Esta metodología consiste en describir los cambios de estado del circuito en función de los cambios en los valores de entrada y del estado actual. Así, el resultado de modelar un sistema asíncrono a
2. Estado del arte 37