Digital III. El Microprocesador i80c86

Documentos relacionados
Mapeo en el P 8086 de Intel

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

ESTRUCTURA FÍSICA DEL µp 8086

1. Módulo de desarrollo Spartan 3 STARTER KIT con un FPGA xc3s200 ft Software de diseño XILINX ISE versión 10.1

Digital III. Kit Intel 80C86

Práctica I Modelado y simulación de una máquina expendedora de refrescos

Introducción a la arquitectura de computadores

Decodificadores/Demultiplexores. Grupo 9 Javier de Gregorio Menezo Laro de la Fuente Lastra Raúl Fernández Díaz

Arquitectura de Computadores. Práctica 1: Diseño Hardware de Procesadores. Práctica 1/1

DECODIFICADORES. Para cualquier código dado en las entradas solo se activa una de las N posibles salidas. 2 N

MAQUINA DE ESTADO FINITO (FSM) Autómata finito

Electrónica Digital Departamento de Electrónica VHDL. Bioingeniería Facultad de Ingeniería - UNER

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2013

Sistemas Electrónicos Digitales Curso de adaptación al Grado

INTERFACE CON MEMORIA y E/S

CODIFICADORES CON PRIORIDAD. Grupo 2

DESCRIPCIÓN DE CIRCUITOS DIGITALES

5. Decodificadores. Salida _1= A A A A = m = M ... Electrónica Digital. Tema

Práctica III Introducción a la descripción VHDL del procesador DLX

Sistemas Electrónicos Digitales. PRACTICA nº 7

ICTP Latin-American Advanced Course on FPGADesign for Scientific Instrumentation. 19 November - 7 December, 2012

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

ARQUITECTURA DEL MICROPROCESADOR 8086

Arquitectura (Procesador familia 80 x 86 )

La arquitectura del 8086/8088

Tema: MAPAS DE MEMORIA: LÓGICA DE SELECCIÓN, GESTIÓN Y ORDENACIÓN DE LA MEMORIA. J. Luis Lázaro, J. Jesús García "MAPA DE MEMORIA" 0

CONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos.

4. SUMADORES EN BINARIO PURO (I)

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2013

Simulación avanzada con TestBench en HDL. Ing. Andrés Miguel Airabella. Ing. Facundo Aguilera.

PRÁCTICA: LENGUAJE VHDL

Hardware Libre: Clasificación y desarrollo de hardware reconfigurable en entornos GNU/Linux

Tema 3 - Modelado con HDL a nivel RTL

Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1

La decodificación y el mapeo de memoria es importante porque permite conectar mas de un dispositivo al microprocesador.

VHDL y el método de diseño basado en descripción y síntesis. RESUMEN.

DISEÑO DE SISTEMAS ELECTRÓNICOS DIGITALES AVANZADOS

Arquitectura de Computadores II Introducción al 8086

TEMA IV: SÍNTESIS HARDWARE

Implementación de Filtros Digitales Tipo FIR en FPGA

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

Estructura del Computador

VI. Especificación del Comportamiento

VHDL. Carlos Andrés Luna Vázquez. Lección 10 Problemas

Diseño de Sistemas Digitales a través de Diseños Esquemáticos y VHDL Norma Frida Roffe Samaniego. Hoja de respuestas

Manual de referencia de la tarjeta BASYS 2

Tutorial de ModelSim PE Student Edition

FPGA: Herramientas de diseño

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

+ Máquinas de Estado Finitas

VHDL. Carlos Andrés Luna Vázquez. Lección 5. Sentencias concurrentes

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

Análisis general de un Microprocesador

El nivel ISA (II)! Conjunto de Instrucciones

Ejemplo básico de descripción VHDL

CONTADORES CONTADORES ASINCRONOS ASCENDENTE

3.1 Introducción a VHDL

Electrónica Digital. Actividad Dirigida. Implementación de un Cronómetro Digital

Procedimiento para el diseño de un mapa de memoria de un sistema basado en microprocesador:

Departamento de Electrónica Electrónica Digital. Mapas de memoria. Bioingeniería Facultad de Ingeniería - UNER

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

INTRODUCCIÓN AL SOFTWARE ISE (Integrated Software Environment) DE XILINX

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.

Capítulo 2 Un Microprocesador Comercial de 8 bitshoja 2 de 65. Tabla de Contenidos

GUÍA PRÁCTICA DEL SOFTWARE ACTIVE-HDL.

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

Memorias ROM: FPGA-VHDL Cómo???

Diseño VHDL de módulos combinacionales básicos

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERIA ELECTRONICA ESCUELA DE ELECTRONICA

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) QUINTA CLASE DE VHDL

3 - Arquitectura interna de un up

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

SUBSISTEMA DE ENTRADA-SALIDA. Arquitectura de Computadores I 4º tema

ESTRUCTURA DE MICROPROCESADORES

Mod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1

Dispositivos de memoria (Parte #2)

ARQUITECTURA DEL MICROPROCESADOR 8088

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

ITT-327-T Microprocesadores

V. Elementos de la Arquitectura

Lenguaje VHDL. Código para representar sistemas digitales en VHDL JJVS-09

Mapas de Memoria y E/S

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Generador de Secuencia Binaria Pseudo Aleatoria

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

1.2.- EL MICROPROCESADOR.

Objetos de VHDL.! Un objeto en VHDL es un elemento que contiene. un valor de tipo específico de dato

MEMORIA EJERCICIO 1 EJERCICIO 2

Conceptos de Arquitectura de Computadoras Curso 2015

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

9. Dibujar el diagrama de tiempos de las siguientes asignaciones de señales.

Tema: Microprocesadores

Objetos de VHDL. Un objeto en VHDL es un elemento que contiene un valor de tipo específico de dato

Tema VI: Memorias y Dispositivos de Lógica Programable (PLDs)

TEMA 4. ARQUITECTURA IA-64

Arquitectura de Computadores II 8086 Parte II

Tutorial I Diseño de una máquina de refrescos utilizando el WebPack de XILINX TM

Universidad Autónoma de Querétaro Facultad de Ingeniería

Transcripción:

Digital III El Microprocesador i80c86

Pinout del Microprocesador i80c86 ADDRESS / DATA Bus Oscilador a Cristal Decodificador de Instrucciones & Unidad de Control Bus de direcciones / Datos (Multiplexado) (AD0 AD15) ADDRESS / STATUS Bus Circuito de Reset Unidad Aritmetico Lógica Bus de direcciones / Status (Multiplexado) (A16/S3 - A19/S6) Registros AX BX CX DX CS DS ES BP SI DI PSW IP Microprocesador CONTROL Bus Bus de control /RD, /WR, /ALE, etc Ing. Gustavo Minnucci - Digital III

Arquitectura Interna i80c86 Ing. Gustavo Minnucci - Digital III

Generación de direcciones Físicas (con segmentación) Registro de SEGMENTO Registro de OFFSET Las direcciones constituyen el mecanismo que permite al microprocesador comunicarse con el resto de los dispositivos (memorias, periféricos, etc) 16 bits 4 bits SEGMENT Register 0000 DIRECCION FISICA Address Bus (A0 - A19) 16 bits OFFSET register Physical Address 20 bits Microprocesador Ej: jmp 0001h ( CS: 8000h ) ( OFFSET : 0001h ) CS ( 8000 h ) 0 h OFFSET ( 0001h ) Dirección física ( 80001 h) Ing. Gustavo Minnucci - Digital III

Generación de direcciones Registros Internos Registros de Segmento Ing. Gustavo Minnucci - Digital III

Digital III Ejecucion de Instrucciones

Ejecución de una instrucción (sin Pre-Fetch) Instrucción n Instrucción n+1 Fetch Execute Fetch Execute OP-Code Fetch Operand Fetch Execution OP-Code Fetch Operand Fetch Execution OP-CODE Fetch Lectura del OP-CODE desde memoria de programa ( Apuntado por CS : IP ) Decodificación del OP-CODE de la instrucción Incremento del IP. Determinación de búsqueda de operandos extras para la ejecución OPERAND Fetch (si existe) Lectura del (o los) operando(s) desde memoria de programa (CS : IP +...) Almacenamiento interno de los operandos. Execution Ejecución de la instrucción. Ing. Gustavo Minnucci - Digital III

Ejecución de instrucciones Instrucción n (con Pre-Fetch) Fetch de Instrucción (n) Execute Instrucción (n) Instrucción n+1 Fetch Instrucción (n+1) Execute OP-CODE Fetch ( Instrucción n ) Lectura del OP-CODE desde memoria de programa ( CS : IP ) Decodificación del OP-CODE de la instrucción Incremento del IP. Determinación de búsqueda de operandos extras para la ejecución Determina si en la ejecución hará uso de los buses. Execution ( Instrucción n ) Ejecución de la instrucción (n).... SI LA INSTRUCCIÓN (n) NO UTILIZA LOS BUSES. Pre-Fetch ( Instrucción n + 1 ) Busqueda de las instrucción siguiente. Armado de la cola interna de ejecución. Ing. Gustavo Minnucci - Digital III

Digital III Accesos de Lectura y Escritura

Acceso a memoria en lectura Registro de segmento Memoria Registro de Offset Lógica de decodificación Par / Impar /CS Dirección Física ALE Latch de Direcciones Address Bus Address Bus Registro de datos Data Bus Data Bus /RD BHE LA0 Generador RD WR Par - Impar /OE Microprocesador La memoria es quien provee el dato a transferir Ing. Gustavo Minnucci - Digital III

Intel 80c86 en lectura (Lectura de datos desde la memoria (o I/O) al up) Gustavo Minnucci - Digital III - Año 2011

Acceso a memoria en escritura Registro de segmento Memoria Registro de Offset Dirección Física ALE Address Bus Latch de Direcciones Lógica de decodificación Par / Impar /CS Address Bus Registro de datos /WR BHE LA0 Data Bus Generador RD WR Par - Impar Data Bus /WR Microprocesador El Microprocesador es quien provee el dato a transferir Ing. Gustavo Minnucci - Digital III

Intel 80c86 en escritura (Escritura de datos desde el up a la memoria (o I/O) ) Gustavo Minnucci - Digital III - Año 2011

Digital III Mapeo de Dispositivos

Mapeo de dispositivos FFFFF h Mapa de Memoria Área de memoria No Volatil Nota: 00000 h Área de memoria Volatil El mapeo de un dispositivo consiste en asignarle un rango de direcciones dentro del mapa de memoria (o Entrada/Salida) donde se pueda acceder a sus registros internos. El Mapa de Memoria es el vínculo entre el software y el hardware. Gustavo Minnucci - Digital III

Mapas de memoria y de I/O FFFFF h Mapa de Memoria Área de memoria No Volatil Observación: Los espacios de direcciones de MEMORIA y de ENTRADA/SALIDA son espacios DISTINTOS y son accesibles con instrucciones distintas. FFFF h Mapa de I/O Periférico n 00000 h Área de memoria Volatil 0000 h Periférico 2 Periférico 1 Accesible con instrucciones MOV, PUSH, etc. Accesible con instrucciones IN y OUT Gustavo Minnucci - Digital III

Mapeo de dispositivos con decod. completa Ej. Sistema con: 1 EPROM de 128K x 8. (17 líneas de direcciones) (8 líneas de datos) 2 RAMs de 128K x 8. (17 líneas de direcciones) (8 líneas de datos) Decodificación total de direcciones Líneas de direcciones del microprocesador Rango LA19 LA18 LA17 LA16 LA15 LA14 a LA2 LA1 LA0 EPROM 128 K FFFFFh a E0000h 1 1 1 A16 A15 A14 a A2 A1 A0 Area Libre 40000h a DFFFFh 0 1 x x x xxxxxxx x x RAM 1 128 K 20000h a 3FFFFh 0 0 1 A16 A15 A14 a A2 A1 A0 RAM 0 128 K 00000h a 1FFFFh 0 0 0 A16 A15 A14 a A2 A1 A0 Gustavo Minnucci - Digital III

Mapeo de dispositivos con espejado Ej. Sistema con: 1 EPROM de 128K x 8. ( 17 líneas de direcciones ) ( 8 líneas de datos ) 2 RAMs de 128K x 8. ( 17 líneas de direcciones ) ( 8 líneas de datos ) Decodificación parcial de direcciones Líneas de direcciones del microprocesador Rango A19 A18 A17 A16 A15 A14 a A2 A1 A0 EPROM 128 K Espejo EPROM Espejo EPROM Espejo EPROM Espejo RAM 1 Espejo RAM 0 RAM 1 128 K RAM 0 128 K FFFFFh a E0000h 20000h a 3FFFFh 00000h a 1FFFFh 1 X X A16 A15 A14 a A2 A1 A0 1 X X A16 A15 A14 a A2 A1 A0 1 X X A16 A15 A14 a A2 A1 A0 1 X X A16 A15 A14 a A2 A1 A0 0 X 1 A16 A15 A14 a A2 A1 A0 0 X 0 A16 A15 A14 a A2 A1 A0 0 X 1 A16 A15 A14 a A2 A1 A0 0 X 0 A16 A15 A14 a A2 A1 A0 Gustavo Minnucci - Digital III - Año 2011

Digital III Lógica de decodificación Implementación VHDL

Implementacion VHDL Microprocesador M/IO Logica de bus Lógica de decodificación RAM Par /CS /CS RAM Impar ALE ADD Bus A16 - A19 Latch de Direcciones LA01 - LA19 Address Bus Address Bus ADD/DATA Bus AD0-AD15 DATA BUS (16 bits) D0-D7 D8-D15 Data Bus Data Bus /RD /WR BHE Generador WR_Par WR_Impar RD_Par RD_Impar /OE /WR /OE /WR Gustavo Minnucci - Digital III

Implementacion entity Logica_de_Bus is Port ( clk : in STD_LOGIC; -- f [clk]: 25 MHz reset : in STD_LOGIC; AD : in STD_LOGIC_VECTOR (19 downto 0); ALE : in STD_LOGIC; BHE : in STD_LOGIC; MIO : in STD_LOGIC; RD : in STD_LOGIC; WR : in STD_LOGIC; INTA : in STD_LOGIC; INTR : out STD_LOGIC; NMI : out STD_LOGIC; CLK_uP : out STD_LOGIC; RESET_uP : out STD_LOGIC; -- STATUS : out STD_LOGIC_VECTOR (3 downto 0); LADD: out STD_LOGIC_VECTOR (19 downto 0); CS : out STD_LOGIC_VECTOR (3 downto 0); PCS : out STD_LOGIC_VECTOR (3 downto 0); WR_H : out STD_LOGIC; WR_L: out STD_LOGIC; RD_H : out STD_LOGIC; RD_L : out STD_LOGIC ); end Logica_de_Bus; Gustavo Minnucci - Digital III

Implementacion architecture Behavioral of Logica_de_Bus is ------------------------------------------------------------------ -- Definicion de Señales ------------------------------------------------------------------ signal sale : STD_LOGIC; signal sbhe : STD_LOGIC; signal smio : STD_LOGIC; signal sinta : STD_LOGIC; signal sintr : STD_LOGIC; signal srd : STD_LOGIC; signal swr : STD_LOGIC; signal snmi : STD_LOGIC; signal sclk_up : STD_LOGIC; signal sreset_up : STD_LOGIC; signal sladd : STD_LOGIC_VECTOR (19 downto 0); signal scs : STD_LOGIC_VECTOR (3 downto 0); signal spcs : STD_LOGIC_VECTOR (3 downto 0); signal swr_h : STD_LOGIC; signal swr_l : STD_LOGIC; signal srd_h : STD_LOGIC; signal srd_l : STD_LOGIC; Gustavo Minnucci - Digital III

Implementacion ------------------------------------------------------------------ -- Demultiplexor de direcciones ------------------------------------------------------------------ demux: process (clk, reset) begin if (reset = '1') then sladd (19 downto 0) <= (others => '0'); else if (clk = '1' and clk'event) then if (sale = '1') then sladd <= AD; sbhe <= BHE; end if; end if; end if; end process; Gustavo Minnucci - Digital III

Implementacion ------------------------------------------------------------------ -- Logica de Chip Selects (con decodificacion Incompleta) ------------------------------------------------------------------ -- CS's en Espacio de Memoria scs(0) <= '0'when (sladd(19) = '0' and sladd(18) = '0' and smio = '1') else '1'; scs(1) <= '0'when (sladd(19) = '0' and sladd(18) = '1' and smio = '1') else '1'; scs(2) <= '0'when (sladd(19) = '1' and sladd(18) = '0' and smio = '1') else '1'; scs(3) <= '0'when (sladd(19) = '1' and sladd(18) = '1' and smio = '1') else '1'; -- CS's en Espacio de Entrada / Salida spcs(0) <= '0'when (sladd(15) = '0' and sladd(14) = '0' and smio = '0') else '1'; spcs(1) <= '0'when (sladd(15) = '0' and sladd(14) = '1' and smio = '0') else '1'; spcs(2) <= '0'when (sladd(15) = '1' and sladd(14) = '0' and smio = '0') else '1'; spcs(3) <= '0'when (sladd(15) = '1' and sladd(14) = '1' and smio = '0') else '1'; Gustavo Minnucci - Digital III

Implementacion ------------------------------------------------------------------ -- Generacion de señales de RD y WR a memorias y perifericos ------------------------------------------------------------------ RD_WR: process (reset, srd, sbhe, sladd(0), swr) begin if (reset = '1') then srd_h <= '1'; srd_l <= '1'; swr_h <= '1'; swr_l <= '1'; else srd_h <= srd or sbhe; srd_l <= srd or sladd(0); swr_h <= swr or sbhe; swr_l <= swr or sladd(0); end if; end process; Gustavo Minnucci - Digital III

Implementacion ------------------------------------------------------------------ -- Generacion de Clock para Microprocesador ------------------------------------------------------------------ clk_gen: process (clk, reset) variable v : std_logic_vector (2 downto 0) := "001"; begin if (reset = '1') then sclk_up <= '0'; v := "001"; else if (clk = '1' and clk'event) then v := v(1 downto 0) & v(2); end if; end if; sclk_up <= v(2); end process; Gustavo Minnucci - Digital III

Implementacion ------------------------------------------------------------------ -- Conexion de señales con lineas externas ------------------------------------------------------------------ sale<= ALE; smio<= MIO; -- MIO: 1 -> M - MIO: 0 -> IO sinta <= INTA; INTR<= sintr; NMI <= snmi; srd <= RD; swr <= WR; -- CS <= scs; PCS <= spcs; -- LADD <= sladd; RD_H <= srd_h; RD_L <= srd_l; WR_H <= swr_h; WR_L <= swr_l; CLK_uP <= sclk_up; RESET_uP<= sreset_up; Gustavo Minnucci - Digital III

Implementacion con Paginacion Microprocesador M/IO Registro Paginacion Lógica de decodificación RAM Par /CS /CS RAM Impar ALE ADD Bus A16 - A19 Latch de Direcciones LA01 - LA19 Address Bus Address Bus ADD/DATA Bus AD0-AD15 DATA BUS (16 bits) D0-D7 D8-D15 Data Bus Data Bus /RD /WR BHE Generador WR_Par WR_Impar RD_Par RD_Impar /OE /WR /OE /WR Gustavo Minnucci - Digital III Logica de bus

Electrónica Digital III Ejemplo: Lectura de Memoria RAM con Intel 80C88

Esquema Interno - Memoria RAM HM62256 (32K x 8) Gustavo Minnucci - Digital III

Ciclo de Lectura - Memoria RAM HM62256 (32K x 8) Gustavo Minnucci - Digital III

Ciclo de Escritura - Memoria RAM HM62256 (32K x 8) Gustavo Minnucci - Digital III

Microprocesador Compatibilización en Lectura - up -RAM (Con Latch Transparente) La compatibilidad depende del circuito intermedio!! Memoria Direccionamiento up Decodificación de direcciones Activación de /RD Lectura del dato Desactivación de /RD Direccionamiento up Gustavo Minnucci - Digital III Dirección estable para acceso Activación de Chip Select (Selección de celda) Activación de los buffers de salida Entrega del dato Desabilitación buffers de salida Deselección de dispositivo

Ejercicio: Realizar el mismo análisis de Compatibilización para el Ciclo de Escritura (up -RAM) (Con Latch Transparente) Gustavo Minnucci - Digital III