Estudio e implementación de un simulador para evaluar el rendimiento de microarquitecturas asíncronas

  1. Colmenar Verdugo, José Manuel
Dirigida por:
  1. José Ignacio Hidalgo Pérez Director
  2. Juan Lanchares Dávila Director
  3. Antonio Óscar Garnica Alcazar Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 07 de noviembre de 2008

Tribunal:
  1. Luis Piñuel Moreno Secretario
Departamento:
  1. Arquitectura de Computadores y Automática

Tipo: Tesis

Resumen

Esta tesis se dedica al 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ónico, del comportamiento dinámico de una microarquitectura donde los tiempos de cómputo de sus componentes sean variables. Para conseguir este objetivo se han cumplido una serie de objetivos secundarios cuyas principales aportaciones se explican a continuación. Se ha propuesto y verificado una metodología de caracterización de tiempos de cómputo variables basada en la utilización de funciones de distribución de probabilidad (FDPs). Esta metodología, apoyada en conceptos estadísticos, parte de una muestra de retardos y obtiene como resultado una FDP suficientemente representativa. Se ha creado un modelo genérico para caracterizar la latencia de un circuito. Según el modelo, la latencia se obtiene como resultado de la agregación de tres factores: tiempo de cómputo, espera debida a la disponibilidad del circuito receptor, y tiempo de protocolo. El modelo permite modelar circuitos síncronos, asíncronos y mixtos como GALS ó LAGS. Se ha propuesto una microarquitectura superescalar asíncrona de 64 bits con predicción de saltos y ejecución dinámica de instrucciones. La microarquitectura se divide en doce dominios de sincronización que se agrupan en cinco etapas: Fetch, Issue, Exec, Write-back y Commit. Cada dominio puede disponer de una temporización independiente del resto. Se ha desarrollado y validado Sim-async, un nuevo simulador arquitectónico basado en SimpleScalar que modela la microarquitectura anteriormente descrita, separando su funcionalidad de su temporización. El simulador adopta la caracterización genérica de la latencia que se ha propuesto, utilizando FDPs para describir la variabilidad en el tiempo de cómputo. Tanto la configuración general como la descripción de las funciones de distribución se realiza a través de archivos XML. Su funcionalidad y utilidad se han demostrado a través de varias simulaciones de los SPEC2000.