Download - Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

Transcript
Page 1: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 2: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 3: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 4: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 5: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

Facultad de InformáticaDpto. Arquitectura de Computadores y Automática

Entorno experimental

Page 6: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 7: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 8: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 9: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 10: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 11: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 12: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 13: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 14: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 15: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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)

Page 16: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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)

Page 17: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 18: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

Facultad de InformáticaDpto. Arquitectura de Computadores y Automática

Aplicación Software

Memoria interna

Page 19: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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

Page 20: Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA ARQUITECTURA BASADA EN MICROPROCESADOR Julio Esteban Fernández Juárez.

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)