Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA...

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 Antonio Ortiz Pineda Miguel Ángel Rojas Gómez Sistemas Informáticos 2001

Transcript of Facultad de Informática Dpto. Arquitectura de Computadores y Automática DISEÑO DE UNA...

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)