Download marcianos - Facultad de Informática
Document related concepts
no text concepts found
Transcript
Sistemas Informáticos 2001 DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez Antonio Ortiz Pineda Miguel Ángel Rojas Gómez Facultad de Informática Dpto. Arquitectura de Computadores y Automática Introducción 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 Facultad de Informática Dpto. Arquitectura de Computadores y Automática Introducción 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 Facultad de Informática Dpto. Arquitectura de Computadores y Automática Entorno experimental 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 Facultad de Informática Dpto. Arquitectura de Computadores y Automática Entorno experimental Facultad de Informática Dpto. Arquitectura de Computadores y Automática Entorno experimental 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 Facultad de Informática Dpto. Arquitectura de Computadores y Automática Arquitectura del sistema Visión general Memoria Estática CMOS 32Kb VGA Gestor de interrupciones PS/2 Alea CODEC Controlador sistema Microcontrolador 8031 Facultad de Informática Dpto. Arquitectura de Computadores y Automática Arquitectura del sistema Controlador del sistema (*) Dirección y datos multiplexados Memoria Decodificadores Latch Dispositivos Dirección (baja)/Datos* Dirección (alta) Facultad de Informática Dpto. Arquitectura de Computadores y Automática Arquitectura del sistema Controlador de interrupciones Estado VGA INT1 Lógica* INT0 INT PS/2 ConfINT (*) INT1 mayor prioridad INT0 Facultad de Informática Dpto. Arquitectura de Computadores y Automática Arquitectura del sistema VGA Señales VGA Gestor INT VGA Core Buffer Escritura I/F Mem Memoria Controlador VGA Direc Datos Estado Control Controlador Sistema Facultad de Informática Dpto. Arquitectura de Computadores y Automática Arquitectura del sistema Datos PS/2 PS/2 Registro desplazamiento Detector Scan Codes Buffer de almacenamiento Lógica INT Estado Control Datos Controlador del sistema Facultad de Informática Dpto. Arquitectura de Computadores y Automática Arquitectura del sistema CODEC Chip CODEC Generador de onda Lógica Buffer de almacenamiento Reg.de estado Controlador de sistema Facultad de Informática Dpto. 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ática Dpto. 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ática Dpto. 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ática Dpto. 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ática Dpto. 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ática Dpto. Arquitectura de Computadores y Automática Aplicación Software Memoria interna Facultad de Informática Dpto. Arquitectura de Computadores y Automática Aplicación Software Flujo de programa Inicialización Rutina de eventos Movimiento Contador de eventos Detección colisiones Visualización Rutina INT 0 Rutina INT 1 Fabricación Auxiliares Facultad de Informática Dpto. 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) Facultad de Informática Dpto. Arquitectura de Computadores y Automática