41
Sistemas con Microprocesadores http://www.herrera.unt.edu.ar/procesadores Mapas de Memoria y E/S

tema 04, PICS

Embed Size (px)

DESCRIPTION

Microcontroladores, ejemplos

Citation preview

  • Sistemas con Microprocesadores

    http://www.herrera.unt.edu.ar/procesadores

    Mapas de Memoria y E/S

  • Sistemas con Microprocesadores - UNT 217/10/2014

    Conexiones internas del CPU08

    Dentro del mC el CPU08 se vincula con memoria y con los dispositivos de E/S a travs de tres buses

    Bus de Direcciones: Esta formado por 16 lneas (A0 a A15) y permite seleccionar 64K Direcciones.

    Bus de Datos: Esta formado por 8 lneas bidireccionales (D0 a D7) y permite intercambiar informacin.

    Bus de Control: Esta formado por varias lneas independientes y sirve para enviar y recibir seales de control y de estado.

  • Sistemas con Microprocesadores - UNT 317/10/2014

    Entradas y Salidas del Procesador

  • Sistemas con Microprocesadores - UNT 417/10/2014

    Entradas y Salidas de la Memoria

    Ahora revisemos las conexiones que tiene una memoria RAM de 128 x 8

    Lneas de Datos: Depende de cuantos bits se almacena en cada direccin, en nuestro caso 8 lneas, de D0 a D7.

    Lneas de Direcciones: Depende de cuantas direcciones tenga la memoria, en nuestro caso 7 lneas, de A0 a A6.

    Lectura o Escritura: Una lnea que indica el tipo de operacin a realizar

    Seleccin: Una lnea que habilita la operacin del chip. Para qu sirve?Para qu sirve?

  • Sistemas con Microprocesadores - UNT 517/10/2014

    Entradas y Salidas de la Memoria

  • Sistemas con Microprocesadores - UNT 617/10/2014

    Como se conectan?

    CPU RAM

    D0 - D7

    A0 A6

    /CS

    RD/WR

    /MREQ

    RD/WR

  • Sistemas con Microprocesadores - UNT 717/10/2014

    Mapas de Memoria

    Se llama espacio de direcciones al conjunto de todas las direcciones posibles a las que podra acceder un CPU.

    En el caso del CPU08 es de 65.536 o 64K direcciones.

    No siempre se usa la totalidad del espacio disponible, puede no hacer falta.

    Los mapas de memoria muestran las partes del espacio de direcciones a las que se conecta Memoria Fsica.

    En nuestro ejemplo anterior podemos representar en un mapa de memoria en qu direcciones est conectada la RAM.

  • Sistemas con Microprocesadores - UNT 817/10/2014

    Ejemplo de Aplicacin

    $0000

    $FFFF

  • Sistemas con Microprocesadores - UNT 917/10/2014

    Ejemplo de Aplicacin

    $0000

    $FFFF

    $0000

    $FFFF

    $0080

    $007FRAM

    Pero A7-A15 son indiferentes, no estn conectados a la RAMqu hay en la direccin $0080?

  • Sistemas con Microprocesadores - UNT 1017/10/2014

    Ejemplo de Aplicacin

    $0000

    $FFFF

    $0000

    $FFFF

    $0080

    $0100

    $00FF

    $007F

    RAM

    RAM

    Y as sucesivamente en $0100

  • Sistemas con Microprocesadores - UNT 1117/10/2014

    Ejemplo de Aplicacin

    $0000

    $FFFF

    .

    .

    .

    $0000

    $FFFF

    $0080

    $0100

    $00FF

    $007F

    RAM

    RAM

    RAM

    RAM

  • Sistemas con Microprocesadores - UNT 1217/10/2014

    Conexin Redundante (100%)

    Este tipo de conexin se llama redundante.

    Ventaja: simple. Por qu?Por qu?

    Desventaja: ocupa todo el mapa de memoria impide conectar ms memoria en el futuro.

    Si se desea que la RAM ocupe la primera parte del mapa de memoria de $0000 a $007F sin redundancia

  • Sistemas con Microprocesadores - UNT 1317/10/2014

    Conexin sin Redundancia

    En general los chips de RAM o ROM traen varios pins CS. Por qu?Por qu?

    CPU RAM

    D0 - D7

    A7-A15

    A0 A6

    /CS

    RD/WR

    /MREQ

    RD/WR

  • Sistemas con Microprocesadores - UNT 1417/10/2014

    Conexin sin Redundancia

    En este tipo de conexin asignamos un mnimo posible del mapa de memoria.

    Ventaja: ptimo aprovechamiento del mismo.

    Desventajas

    mayor cantidad de componentes

    tiempo de propagacin a travs de las compuertas.

  • Sistemas con Microprocesadores - UNT 1517/10/2014

    Seales del Bus.

    La temporizacin del CPU08 se deriva desde unclock de 4 fases

    El ciclo de BUS consiste de un pulso de clock en cada fase

    Ciclo 1 Read Cycle. T1,T2 se calcula nueva

    direc. P/ ciclo2

    Ciclo 2 Prefetch Cycle. En T1 del ciclo 2

    El Dato es leido p/esa direccin.

    En T3 sale la direccin de prx instruccin.

    El direccionamiento precede al dato 1 a 2 ciclos de CPU.Por qu?

    Faltan otras Seales?

  • Sistemas con Microprocesadores - UNT 1617/10/2014

    ROM 8K x 8 Presentacin.

    Conexiones que tiene una memoria ROM de 8K x 8:

    Lneas de Datos: Depende de cuantos bits se almacena en cada direccin, en nuestro caso 8 lneas, de D0 a D7.

    Lneas de Direcciones: Depende de cuantas direcciones tenga la memoria, en nuestro caso 13 lneas, de A0 a A12.

    Seleccin: Una lnea que habilita la operacin del chip.

  • Sistemas con Microprocesadores - UNT 1717/10/2014

    Entradas y Salidas de la Memoria

  • Sistemas con Microprocesadores - UNT 1817/10/2014

    Divisin del Mapa de Memoria

    Dado que nuestro ROM es de 8K, dividimos el mapa de memoria en fracciones de 8K.

    Cada fraccin se caracteriza por una combinacin de valores de las 3 lneas superiores de direcciones

  • Sistemas con Microprocesadores - UNT 1917/10/2014

    Divisin del Mapa de Memoria

    Dado que nuestro ROM es de 8K, dividimos el mapa de memoria en fracciones de 8K.

    Cada fraccin se caracteriza por una combinacin de valores de las 3 lneas superiores de direcciones

  • Sistemas con Microprocesadores - UNT 2017/10/2014

    Divisin del Mapa de Memoria

    De acuerdo a la zona en la que queremos ubicar el Chip, elegimos la combinacin de lneas de direcciones que selecciona al mismo.

    Una opcin es utilizar compuertas y negadores para sintetizar la funcin de seleccin.

    Otra opcin es utilizar un decodificador de 3 a 8 lneas para generar 8 lneas de seleccin, una para cada espacio del mapa.

  • Sistemas con Microprocesadores - UNT 2117/10/2014

    Conexin sin redundancia

    /MREQ, mejor como habilitacin del DECOUn error de programa quemara el CPU y la ROM. Qu instruccin provoca esto?Forma de Evitarlo?

  • Sistemas con Microprocesadores - UNT 2217/10/2014

    Conexin con Redundancia

    Conectar un chip RAM y un chip ROM.

    Se desea que una mitad del mapa quede libre para futuras ampliaciones.

    Dibuje el mapa de memoria resultante.

    Por qu RAM arriba y ROM abajo?

    Dibuje el esquema del circuito completo. A15, A14 definen las dos reas:

    00 RAM, 11ROM

  • Sistemas con Microprocesadores - UNT 2317/10/2014

    Conexin con Redundancia

    CPU

    D0 -

    D7D

    0 -

    D7

    A15 A15

    A14 A14

    A0

    A12

    A0

    A6

    RD

    /WR/C

    S

    /MR

    EQ

    /CS

    /MR

    EQ

  • Sistemas con Microprocesadores - UNT 2417/10/2014

    Conexin con Redundancia

    Memoria Conectada Real = MR

    Memoria Ocupada en el Mapa = MO

    Cunto vale cada una en ej. anterior?

    En general MR

  • Sistemas con Microprocesadores - UNT 2517/10/2014

    Presentacin de un Registro.

    Almacena los valores de las entradas Dicuando se produce un flanco ascendente del Clock y se activa /Enable.

  • Sistemas con Microprocesadores - UNT 2617/10/2014

    Presentacin de un Latch.

    Load=1 El estado (y la salida) vara de acuerdo a la entrada.

    Load= 0 El estado (y la salida) se mantienen constantes.

    /Output control de salida 3state.

  • Sistemas con Microprocesadores - UNT 2717/10/2014

    Presentacin de un Contador.

    Carga Paralelo.

    Especificaciones para 74160, 61, 62, 63 clear/load sincrnico o asincrnico.

    Clock: flanco ascendente o descendente)

    Cmo se arma un contador de 8 bits?Cmo se arma un contador de 8 bits?

  • Sistemas con Microprocesadores - UNT 2817/10/2014

    Bus Driver Receiver Interfase Bidireccional para el Bus

    Sirve para ampliar el fan-out del bus.

    Se conectan R01 con DI1

    DE y /RE se unen y se conectan con qu seal?con qu seal?/RE

    DE

    BUS 1

    RO1

    DI1

  • Sistemas con Microprocesadores - UNT 2917/10/2014

    Conexin de un registro al Bus

  • Sistemas con Microprocesadores - UNT 3017/10/2014

    Conexin de Un Contador al CPU

    Problema: Se requiere que el CPU sea capaz de: Cargar un valor inicial en contador. Habilitar la cuenta a partir de un clock externo o

    interno. Inhabilitar la cuenta. Leer un valor. Poner el contador a cero. Con Overflow del Contador

    Indicar este evento en un bit de estado. Pedir INT al CPU (IRQ Int. Request). Con una seal ACK cesa pedido de INT y estado vuelve

    a normal.

    Enable/Disable IRQ solo para este contador.

  • Sistemas con Microprocesadores - UNT 3117/10/2014

    Del Problema a los Requisitos.

    Para conectar el Contador se requiere una interfase con buffers.

    Se requiere un Registro de Control y Estado (RCS).Para dar seales de control al Contador.

    Un bit es un FF para informar de OVF=1.

    El registro adicional debe ser accedido por el CPU.

    Adems un MUX que seleccione el clock externo o interno.

  • Sistemas con Microprocesadores - UNT 3217/10/2014

    Conexin de un Contador

    Cumple con Cumple con Especificaciones?Especificaciones?

  • Sistemas con Microprocesadores - UNT 3317/10/2014

    Contador

    Cuntas Direcciones Ocupa?

    Reg de Control y Status 1 direccin.

    Contador 1 direccin.

    Cuntos Bits Tiene el Reg. de Control y Status?

    Bits: CLR, ENABLE, CLK_SEL, STATUS, MASK, ACK (6 bits).

    Por conveniencia Status es un FF separado.

    Se puede operar sobre el contador y el registro con operaciones de lectura y escritura de memoria.

  • Sistemas con Microprocesadores - UNT 3417/10/2014

    Registro de Status y Control

    ACK: bit de reconocimiento del evento OVF. ACK=1 Status=0 (conectado a CLEAR de Status).

    SEL_CLK: bit de seleccin de clock SEL_CLK = 0 El contador opera con un clock interno.

    SEL_CLK = 1 El contador opera con un clock externo.

    STATUS: bit de status de overflow STATUS = 0 No ocurri overflow en el contador.

    STATUS = 1 Ocurri un overflow en el contador.

  • Sistemas con Microprocesadores - UNT 3517/10/2014

    Registro de Status y Control

    Los bits ACK, SEL_CLK, ENABLE, MASK y CLEAR son de solo escritura; STATUS es de solo lectura.

    Los bits 5 y 6 no estn implementados.

  • Sistemas con Microprocesadores - UNT 3617/10/2014

    Registro de Status y Control

    CLEAR: bit de borrado CLEAR = 0 El contador mantiene su valor. CLEAR = 1 El contador se borra asincronicamente.

    MASK: bit de mscara de interrupcin por overflow MASK = 1 Las interrupciones estn deshabilitadas. MASK = 0 Las interrupciones estn habilitadas.

    ENABLE: bit de habilitacin ENABLE = 0 El contador est detenido ENABLE = 1 El contador est habilitado y contando.

  • Sistemas con Microprocesadores - UNT 3717/10/2014

    Lgica para IRQ.

    Un FF-D=1 (Status) cuando OVF=1

    Si bit en RCS: MASK=0 permite pedir INT.

    El FF-D puede chequearse por Polling por Progr. Principal.

    Pedido de Interrupcin.

    Cuando el CPU reacciona al evento escribe ACK=1: Quita el pedido de INT.

    Pone FF-D=0 (para que registre un prx OVF).

    A continuacin se debe escribir ACK=0, por qu?por qu?

    ACK es un bit RCS conectado al CLR FF.

  • Sistemas con Microprocesadores - UNT 3817/10/2014

    Deteccin del overflow

    Para mantener la seal IRQ cuando hay overflow: FFD.

    Un FF mantiene la seal para la interrupcin y funciona como STATUS.

    Para el resto de los bits se usa un registro.

  • Sistemas con Microprocesadores - UNT 3917/10/2014

    La Imagen Completa.

    Conectar un Registro y un Contador a un sistema que requiere RAM de 128 Bytes y ROM de 8K.

    Dibujar el mapa de memoria.

    Dibujar el Circuito.

    Escribir las siguientes rutinas:

    arrancar el contador (fuente externa).

    parar el contador y leerlo.

  • Sistemas con Microprocesadores - UNT 4017/10/2014

    Rutinas de manejo del contador

    RCS EQU $00 ;Direccin del registroCONTADOR EQU $01 ;Direccin del contadorTIEMPO EQU $80 ;Resultado contador en RAMStartC: PSHA

    LDA #$01 ;Clear Counter, disable count.STA RCSLDA #$0C ;SEL_CLK=1; ENABLE=1;STA RCS ; PULARTS

    StopC: PSHALDA #$08 ;SEL_CLK=1; ENABLE=0;STA RCS ;MOV CONTADOR,TIEMPOPULARTS

  • Sistemas con Microprocesadores - UNT 4117/10/2014

    E/S mapeada en Memoria

    Hemos conectado dispositivos de E/S como si fueran memoria para el CPU.Hemos empleado parte del mapa de

    memoria para E/S.

    Todas las instrucciones del CPU que acceden a memoria son vlidas.

    En CPU08 no hay otra alternativa.

    Existen CPUs con mapa de E/S separado e Instrucciones separadas.Ventajas y Desventajas? Tema 1.Ventajas y Desventajas? Tema 1.