Diseño e
implementación de un computador autoreconfigurable
El objetivo es diseñar e implementar un
computador formado por un microprocesador RISC y un subsistema
jerárquico de memoria de 2 niveles: cache + memoria principal,
que incorpore en su repertorio una colección de instrucciones
que permitan reconfigurar dinámicamenteel diseño HW de la
memoria cache: tamaño de bloque, politica de emplazamiento,
politica de reemplazamiento, etc... Con esto se pretendediseñar
un sistema que por programa pueda adaptar la configuración de su
cache a una carga de trabajo dada. Las tareas a realizar son:
1. Diseño de un protocolo de
configuración de FPGAs
2. Diseño de un protocolo de configuración dinámica de
FPGAs
3. Diseño de un protocolo de autoreconfiguración dinámica
de FPGAs
4. Diseño del computador autoreconfigurable
5. Comparación de los rendimientos de un computador con
cache de diseño fijo y de un computador con cache con
diseño autoreconfigurable
La implementación se realizará en una
placa de prototipado XSV-800 v1.0 de
XESS Corporation basada en FPGA de la familia VIRTEX
(dispositivo hardware reconfigurable con capacidad de
reconfiguración parcial dinámica), utilizando el software de
Xilinx Foundation y Synopsys.
Documentación de placas
Ejecutables
- SpimWin - Simulador bajo Windows del
microprocesador MIPS R2000.
- lcc - Compilador cruzado de C para el
microprocesador MIPS R2000 bajo Windows.
Documentación
- SpimDoc - Manual de referencia del
simulador del MIPS R2000.
- SpimWinDoc - Manual de referencia del
simulador del MIPS R2000 Bajo Windows.
- addn.asm - Ejemplo de programa en
ensamblador del MIPS R2000 simulable con SpimWin.
- Apendice
A - Apendice A del
libro Computer Organization & Design de Patterson
y Hennessy en donde se detalla el repertorio de
instrucciones del R2000.
- R4000 - Manual de referencia del
microprocesador MIPS R4000, pero aplicable al R2000 si
sólamente se tienen en cuenta las instrucciones de 32
bits.
Resultados
- Presentación (power-point,
html) usada para la exposición
pública de los resultados.
- Arquitectura del computador basado en el
microprocesador MIPS R2000:
- Descripción general del núcleo del
microprocesador
- Microprograma del núcleo del
microprocesador
- Control de interrupciones
- Bus interno
- Unidad aritmetico-lógica
- Controlador de memoria
- Puente entre los buses interno y externo
- Memoria cache interna
- Controlador de pantalla VGA
- Controlador de teclado PS/2
- Versión sin caché
- Versión con caché
- Versión con caché e interrupciones
- Herramientas
- Cargador de memoria (código fuente C++,
ejecutable)
- ConSpin - Generador de código máquina
a o partir de la salida del simulador SPIM (código C++).
- SacaASCII -
- Programas de prueba
- Factorial (código C, código
ensamblador de R2000, código máquina de R2000).
- Multiplicación simple (código C,
código ensamblador de R2000, código máquina de R2000).
- Recorrido de vectores (código C,
código ensamblador de R2000, código máquina de R2000).
- Suma de 2 vectores (código C, código
ensamblador de R2000, código máquina de R2000).
- Suma de 5 vectores (código C, código
ensamblador de R2000, código máquina de R2000).
- Suma de 5 vectores consecutivos (código
C, código ensamblador de R2000, código máquina de R2000).
- Juego de los Nibbles (código
ensamblador de R2000, código máquina de R2000).
- Galería de imágenes:
- Galería de vídeos:
Página creada y modificada por
J. M. Mendías / Ultima actualización Sep-01