Arquitectura e Ingeniería de Computadores (Ingeniería Informática)

Ejecución de Instrucciones Fuera de Orden

Pedro López, Salvador Petit, Sergio Sáez

Introducción

El simulador del MIPS con soporte a la ejecución fuera de orden (MIPS/OOO) es capaz de aplicar planificación dinámica de instrucciones aplicando el algoritmo de Tomasulo. El simulador acepta como entrada un archivo en lenguaje ensamblador. Implementa un conjunto de instrucciones aritméticas enteras, de coma flotante de doble precisión, y de carga/almacenamiento.

El simulador es capaz de simular ciclo a ciclo la ejecución de instrucciones del MIPS/OOO, así como el avance de las mismas por la ruta de datos de la máquina.

Permite configurar el número (#Op), latencia (Tev), estaciones de reserva (#RS) y buffers de lectura/escritura (#TL/#TE) para cada tipo de operador, además de indicar si los operadores están segmentados.

Soporta procesadores superescalares con múltiples vías para las etapas de Issue (I), WriteBack (WB) y Commit (C), diversas configuraciones del predictor de saltos, incluyendo especificar el número de entradas del Branch Target Buffer (BTB), así como del Reorder Buffer (ROB). Por último, también implementa soporte a load forwarding.

Al pulsar el botón Ejecutar se ejecuta el programa en ensamblador, lo que abre una nueva página del navegador que muestra la configuración del procesador y el contenido inicial de la memoria, así como unos enlaces a otras páginas que permiten acceder al estado inicial del procesador, el estado final, el cronograma de la ejecución ciclo a ciclo y el estado de la BTB.

Objetivos

Instrucciones de Uso

Analizar el tiempo de ejecucion y los CPI (o IPC) obtenidos. Mostrar en una gráfica dichos resultados e interpretarlos.

Simulador

Configuración

En el código ensamblador
Enteros:
#Op Tev #RS Seg
Sum/Rest:
#Op Tev #RS Seg
Mult/Div:
#Op Tev #RS Seg
MemDatos:
#Op Tev #TL #TE Seg
Vías:
I WB C
Predictor:
BTB
Otros:
ROB load forwarding
Salida