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