Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR
Julio Esteban Fernández JuárezAntonio Ortiz Pineda
Miguel Ángel Rojas Gómez
Sistemas Informáticos 2001
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Objetivos del proyecto– Diseño del h/w en el que se apoya un
microprocesador en un sistema
– Implementación del diseño sobre una plataforma reconfigurable (FPGA)
– Programación de un ejemplo práctico (juego Galaxy Invader) para mostrar la funcionalidad del sistema
Introducción
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Descripción de la arquitectura– Controlador del sistema– Controlador de interrupciones– Módulo VGA– Interfaz PS/2 estándar– Códec de sonido– Generador de números aleatorios (LFSR)– Microcontrolador 8031– Módulo de memoria SRAM
Introducción
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Hardware– Placa de prototipado XS40-010XL Board 1.2
• XC4010XL FPGA de 400 CLBs (20.000 puertas)• Códec Stereo de 20 bits• Puerto de entrada y salida STEREO• Puerto Paralelo• Puerto PS/2 para teclado y ratón• Puerto Monitor VGA• Tres pulsadores• Tres bancos de LEDS de 7 segmentos• Un banco de LEDS de barras• Switches DIP• Microcontrolador 8031• Banco de memoria SRAM de 32 Kb
Entorno experimental
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Entorno experimental
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Software– Xilinx Foundation F3.1i
• Paquete de herramientas orientadas a la síntesis de sistemas H/W de alto nivel
• Incluye: editor de esquemáticos, editor de lenguaje de descripción h/w, simulador (funcional y de tiempos) y herramientas de síntesis de diseños
– Simulador ModelSIM SE-EE 5.4– Xstools (Gxsport,Gxsload)– Ensamblador cruzado ASM51– Emulador 8051 1.0 de TS-Controls
Entorno experimental
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Visión general
Microcontrolador 8031
VGA
Gestor de interrupciones
Controlador sistema
MemoriaEstáticaCMOS32Kb
PS/2 CODECAlea
Arquitectura del sistema
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Controlador del sistema
Latch
Decodificadores
Memoria
Dispositivos
Dirección (baja)/Datos* Dirección (alta)
(*) Dirección y datos multiplexados
Arquitectura del sistema
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
Controlador de interrupciones
Lógica*
(*) INT1 mayor prioridad INT0
Estado VGA
INT PS/2
INT1
INT0ConfINT
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
VGA
VGA Core
Controlador VGA
Buffer Escritura
Estado Control
I/FMem
Señales VGA Gestor INT
Controlador Sistema
Memoria
DatosDirec
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
PS/2
Detector Scan Codes
Buffer de almacenamiento
Lógica
Estado Control Datos
Registro desplazamiento
INT
Datos PS/2
Controlador del sistema
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
CODEC
Buffer de almacenamiento
Generador de onda
Reg.de estado
Lógica
Chip CODEC
Controlador de sistema
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
Generador de números aleatorios (LFSR)
Generador LFSR*
Reg.Datos
Controlador del sistema
(*) Linear Feedback Shift Register
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
Información de recursos utilizados
Diseño CLB’s
% Puertas*
Biestables
Controlador 35 8% 914 0
Gestor INT 11 2% 208 8
VGA 197 49% 7661 119
PS/2 44 11% 1206 52
CODEC 122 30% 2935 127
Alea 4 1% 54 8
Arquitectura
400 100% 13185 314
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Arquitectura del sistema
Problemas encontrados– VGA y microprocesador comparten líneas de
acceso a la memoria• Mecanismo de arbitraje para permitir acceso
concurrente (capacidad de dormir 8031)
– Falta recursos estructurales• Optimizaciones máximas en área(LUTs y Tri-
States)
– Incapacidad de cambiar la frecuencia de reloj• Optimizaciones en velocidad (segmentación)
– Falta de pines disponibles en la placa • Necesario uso de interconexión manual (INT)
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Aplicación Software
Descripción de la aplicación programada– Clónico del Galaxy Invader 1000
• Juego de marcianitos• Objetivo: Conseguir el mayor número de puntos• Destrucción de las naves alienígenas• Múltiples niveles de dificultad• Sonido de eventos• Aleatoriedad• Presentación (c/ banda sonora y efectos)
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Aplicación Software
Arquitectura de los chips de la familia 8051– Máquina de 8 bits– Tamaño máximo de programa de 64 Kb– 4 bancos de registros (R0-R7)– Tipos de direccionamientos
• Implícito, Indirecto, Directo e Inmediato• Bytes o Bits
– Repertorio de instrucciones completo aunque restringido
– Memoria interna y memoria externa
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Aplicación Software
Memoria interna
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Aplicación Software
Flujo de programa
Inicialización
Contador de eventos
Rutina INT 0
Rutina INT 1
Movimiento
Detección colisiones
Visualización
Fabricación
Auxiliares
Rutina de eventos
Facultad de InformáticaDpto. Arquitectura de Computadores y Automática
Aplicación Software
Problemas encontrados– Concurrencia en el acceso a memoria externa
(mantenimiento de frames)• Mecanismo de arbitraje para dormir al micro e
aislarlo del exterior (interrupciones)
– Problemas de rendimiento del microprocesador
• Acceso directo a la memoria de VGA sin pasar por su controlador
– Falta de espacio en memoria interna• Acceso más lento en memoria externa (sonidos
principalmente)
Top Related