Sie sind auf Seite 1von 41

Mapas de Memoria y E/S

Sistemas con Microprocesadores


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

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.
17/10/2014

Sistemas con Microprocesadores - UNT

Entradas y Salidas del Procesador

17/10/2014

Sistemas con Microprocesadores - UNT

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?
17/10/2014

Sistemas con Microprocesadores - UNT

Entradas y Salidas de la Memoria

17/10/2014

Sistemas con Microprocesadores - UNT

Como se conectan?

D0 - D7

CPU

17/10/2014

RAM

A0 A6

/MREQ

/CS

RD/WR

RD/WR

Sistemas con Microprocesadores - UNT

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.

17/10/2014

Sistemas con Microprocesadores - UNT

Ejemplo de Aplicacin
$0000

$FFFF

17/10/2014

Sistemas con Microprocesadores - UNT

Ejemplo de Aplicacin
Pero A7-A15 son indiferentes, no estn conectados a la RAM
qu hay en la direccin $0080?
$0000

$0000
$007F
$0080

$FFFF

$FFFF

17/10/2014

Sistemas con Microprocesadores - UNT

RAM

Ejemplo de Aplicacin
Y as sucesivamente en $0100
$0000

$FFFF

17/10/2014

$0000
$007F
$0080
$00FF
$0100

RAM
RAM

$FFFF

Sistemas con Microprocesadores - UNT

10

Ejemplo de Aplicacin
$0000

$0000
$007F
$0080
$00FF
$0100

RAM
RAM
RAM
.
.
.

$FFFF

17/10/2014

$FFFF

Sistemas con Microprocesadores - UNT

RAM

11

Conexin Redundante (100%)


Este tipo de conexin se llama
redundante.
Ventaja: simple. 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

17/10/2014

Sistemas con Microprocesadores - UNT

12

Conexin sin Redundancia


D0 - D7

A0 A6

CPU

RAM
A7-A15

/CS

/MREQ

RD/WR

RD/WR

En general los chips de RAM o ROM traen


varios pins CS. Por qu?
17/10/2014

Sistemas con Microprocesadores - UNT

13

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.

17/10/2014

Sistemas con Microprocesadores - UNT

14

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

17/10/2014

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

15

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.
17/10/2014

Sistemas con Microprocesadores - UNT

16

Entradas y Salidas de la Memoria

17/10/2014

Sistemas con Microprocesadores - UNT

17

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

17/10/2014

Sistemas con Microprocesadores - UNT

18

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

17/10/2014

Sistemas con Microprocesadores - UNT

19

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.

17/10/2014

Sistemas con Microprocesadores - UNT

20

Conexin sin redundancia

/MREQ, mejor como


habilitacin del DECO
Un error de programa
quemara el CPU y la
ROM.
Qu instruccin
provoca esto?
Forma de Evitarlo?
17/10/2014

Sistemas con Microprocesadores - UNT

21

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:

17/10/2014

00 RAM, 11ROM
Sistemas con Microprocesadores - UNT

22

D0 - D7

A0 A12

A15

A14

/MREQ
D0 - D7

A0 A6

Sistemas con Microprocesadores - UNT

/CS

RD/WR

/CS

17/10/2014

A15

A14

/MREQ

CPU

Conexin con Redundancia

23

Conexin con Redundancia

Memoria Conectada Real = MR


Memoria Ocupada en el Mapa = MO
Cunto vale cada una en ej. anterior?
En general
MR

<= MO
La igualdad es cuando no hay redundancia.
La redundancia permite economizar compuertas.
Con la seguridad de que no se requiere el espacio
redundante en el futuro.

ATENCION:
No
17/10/2014

superponer nuevos chips con MO. Por qu?


Sistemas con Microprocesadores - UNT

24

Presentacin de un Registro.

Almacena los valores de las entradas Di


cuando se produce un flanco ascendente
del Clock y se activa /Enable.

17/10/2014

Sistemas con Microprocesadores - UNT

25

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.

17/10/2014

Sistemas con Microprocesadores - UNT

26

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?

17/10/2014

Sistemas con Microprocesadores - UNT

27

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?
/RE

RO1

DI1

BUS 1

DE

17/10/2014

Sistemas con Microprocesadores - UNT

28

Conexin de un registro al Bus

17/10/2014

Sistemas con Microprocesadores - UNT

29

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
17/10/2014

IRQ solo para este contador.

Sistemas con Microprocesadores - UNT

30

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.

17/10/2014

Sistemas con Microprocesadores - UNT

31

Conexin de un Contador
Cumple con
Especificaciones?

17/10/2014

Sistemas con Microprocesadores - UNT

32

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.

17/10/2014

Sistemas con Microprocesadores - UNT

33

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.

17/10/2014

Sistemas con Microprocesadores - UNT

34

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.

17/10/2014

Sistemas con Microprocesadores - UNT

35

Registro de Status y Control

CLEAR: bit de borrado

MASK: bit de mscara de interrupcin por overflow

CLEAR = 0 El contador mantiene su valor.


CLEAR = 1 El contador se borra asincronicamente.
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.

17/10/2014

Sistemas con Microprocesadores - UNT

36

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?

ACK es un bit RCS conectado al CLR FF.

17/10/2014

Sistemas con Microprocesadores - UNT

37

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.
17/10/2014

Sistemas con Microprocesadores - UNT

38

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.
17/10/2014

Sistemas con Microprocesadores - UNT

39

Rutinas de manejo del contador


RCS
CONTADOR
TIEMPO
StartC:

StopC:

17/10/2014

EQU
$00
EQU
$01
EQU
$80
PSHA
LDA #$01
STA RCS
LDA #$0C
STA RCS
PULA
RTS

;Direccin del registro


;Direccin del contador
;Resultado contador en RAM
;Clear Counter, disable count.
;SEL_CLK=1; ENABLE=1;
;

PSHA
LDA #$08
;SEL_CLK=1; ENABLE=0;
STA RCS
;
MOV CONTADOR,TIEMPO
PULA
RTS
Sistemas con Microprocesadores - UNT

40

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

17/10/2014

y Desventajas? Tema 1.
Sistemas con Microprocesadores - UNT

41

Das könnte Ihnen auch gefallen