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.
Recommended