trabajo práctico - memorias y mapeo de memoria para sistemas de microcómputo

17
Universidad Nacional de Misiones Ingeniería Electrónica Técnicas Digitales 2 Informe de Trabajo Práctico N° 1 Memorias y Mapeo de Memoria para Sistemas de Microcómputo Autores: Grupo N° 6 HOFF, Romina A. KRUJOSKI, Matías G. Profesores Responsables: Ing. Kairiyama, Juan C. Ing. Fernandez, Guillermo A. Ing. Gross, Juan P. Sr. Zacarías, Guillermo Sr. Moravicki, Rodrigo A. Srta. Viera Marcela E. Oberá, Misiones 2014

Upload: matias-gabriel-krujoski

Post on 19-Jan-2016

83 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Universidad Nacional de Misiones

Ingeniería Electrónica

Técnicas Digitales 2

Informe de Trabajo Práctico N° 1

Memorias y Mapeo de Memoria para Sistemas de

Microcómputo

Autores: Grupo N° 6

HOFF, Romina A.

KRUJOSKI, Matías G.

Profesores Responsables:

Ing. Kairiyama, Juan C.

Ing. Fernandez, Guillermo A.

Ing. Gross, Juan P.

Sr. Zacarías, Guillermo

Sr. Moravicki, Rodrigo A.

Srta. Viera Marcela E.

Oberá, Misiones

2014

Page 2: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo
Page 3: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 3 de 17

Ejercicio 1)

Para una memoria que posee una capacidad de 32Kx16, se pide:

a) ¿Cuántas palabras puede almacenar?

La indicación de la memoria disponible está explícitamente describiendo la capacidad de

la misma; ya que, lo que la característica fundamental de cualquier bloque de memoria

es su capacidad. Así, se tiene que una memoria de 32K puede almacenar la cantidad de

palabras dada por la ecuación (1.1).

𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠 = 32𝐾 = 32768 (1.1)

b) ¿Cuál es el número de bits por cada palabra?

Las indicaciones del bloque de memoria analizado también especifican la longitud de la

palabra binaria, o sea, la cantidad de bits de memoria que se puede almacenar cada una

de las posiciones disponibles; esto se destaca en la ecuación (1.2).

𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑑𝑒 𝑝𝑎𝑙𝑎𝑏𝑟𝑎 = 16 𝑏𝑖𝑡𝑠 (1.2)

c) ¿Cuántos bits puede contener en su totalidad?

En consecuencia, la cantidad total de unidades binarias de información (bit) que podrá

almacenar el bloque de memoria analizado está dada como el producto entre la longitud

de palabra y la cantidad total de palabras que puede manejar el chip; como se presenta

en la ecuación (1.3).

𝑐𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑡𝑜𝑡𝑎𝑙 = (16 𝑏𝑖𝑡𝑠) ∙ (32768) = 524288 𝑏𝑖𝑡𝑠 (1.3)

d) ¿Cuántas direcciones existirán para ubicar a las palabras de memoria?

Cada posición de memoria debe ser identificable de forma única; por lo tanto, cualquier

bloque de memoria, sin importar su tecnología y/o aplicación, requiere tantas direcciones

como posiciones de memoria dispone. En consecuencia, el bloque analizado debe

disponer de tantas direcciones como posiciones dadas en la ecuación (1.4).

𝑑𝑖𝑟𝑒𝑐𝑐𝑖𝑜𝑛𝑒𝑠 = 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠 = 32768𝑑 ≡ 4000ℎ (1.4)

Page 4: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 4 de 17

De modo que el bus de direcciones de éste chip tendrá una longitud binaria dada por la

expresión (1.5).

𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑𝐴𝐵 = log2( 32768) = 15 𝑏𝑖𝑡 (1.5)

Ejercicio 2)

Para dos dispositivos de memoria distintos, cuyas capacidades son M1=8Kx8 y

M2=1Mbyte, considerando que la información será almacenada en palabras de 1 byte,

determinar:

a) ¿Cuántas líneas posee su bus de datos?

b) ¿Cuántas líneas posee su bus de direcciones?

c) ¿Cuál es la capacidad en bits y en bytes?

Resolución

a) El bus de datos posee 8 líneas.

b) La memoria 1 posee 8*1024 direcciones, por lo tanto el número de líneas que

posee el bus de direcciones esta dado por la siguiente ecuación.

2 2Nº de lineas=log (nºde direcciones)= nº de lineas de M1=log (8.1024)=13 (2.1)

El número de líneas que posee la memoria 2 será:

2nº de lineas de M2=log (1024.1024)=20 (2.2)

c) La memora 1 cuenta con una capacidad de:

capacidad de M1=8.1024=8192 bytes (2.3)

capacidad de M1=8.1024.8=65536 bits (2.4)

La memoria 2 cuenta con una capacidad de:

capacidad de M2=1024.1024=1048576 bytes (2.5)

capacidad de M2=1024.1024.8=8388608 bits (2.6)

Ejercicio 3)

¿Cuál es la capacidad en bits y en bytes para una memoria que posee 32 líneas para el

bus de direcciones y 16 para el bus de datos?

Page 5: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 5 de 17

La longitud binaria del bus de direcciones permite conocer la cantidad máxima de

palabras o posiciones que puede contener la memoria, como se presenta en la (3.1).

𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑒𝑠 = 232 = 4.294.967.296 (3.1)

Teniendo en cuenta que el byte se define como una agrupación o palabra binaria de 8

bits de longitud, se evidencia que éste bloque podrá almacenar 2 bytes en cada posición,

porque puede almacenar palabras de 16 bits. De modo que, la capacidad total en bytes

de éste bloque de memoria está dado por la ecuación (3.2).

𝑐𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 = 2 ∙ 𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑒𝑠 = 2 ∙ 232 = 8.598.934.592 𝑏𝑦𝑡𝑒𝑠 ≡ 8 𝐺𝐵 (3.2)

Ejercicio 4)

Para una memoria que almacena 4K palabras de 8 bits cada una:

a) ¿Cuántas líneas de entrada/salida posee el bus de datos?

b) ¿Cuántas líneas de dirección posee el bus de direcciones

c) ¿Cuál es su capacidad en bytes y en bits?

Resolución

a) Para la memoria dada, el bus de datos posee 8 líneas de entrada – salida.

b) El número de líneas que posee la memoria es:

2nº de lineas de M=log (4.1024)=12 (4.1)

c) La memora dada cuenta con una capacidad de:

capacidad de M=4.1024=4096 bytes (4.2)

capacidad de M=4.1024.8=32768 bits (4.3)

Page 6: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 6 de 17

Ejercicio 5)

Para el decodificador de la Figura 5.1, determinar el rango y la cantidad de memoria

seleccionable con las salidas indicadas. El bus de direcciones al que se conecta, posee

10 líneas. Dibujar el mapa de memoria correspondiente.

Figura 5.1: Esquema de decodificador de direcciones

Según las especificaciones, el decodificador presentado está conectado a los 2 bits más

significativos de un bus de 10 bits; asumiendo que los 8 bits menos significativos del

sistema serán conectados como líneas del bus de direcciones a los chips de memoria,

cada uno de éstos podrá tener una cantidad máxima de posiciones de memoria dada por

la expresión (5.1).

𝑑𝑖𝑟𝑒𝑐𝑐𝑖𝑜𝑛𝑒𝑠𝑚𝑎𝑥 = 28 = 256 (5.1)

Por su parte, el decodificador posee 2 bits de entrada, en consecuencia puede manejar

una cantidad máxima de chip de memoria dada por la ecuación (5.2).

𝑐ℎ𝑖𝑝𝑠𝑚𝑎𝑥 = 22 = 4 (5.2)

En consecuencia, la cantidad máxima de posiciones de memoria que podrá manejarse

con la configuración propuesta queda determinada con el producto de la capacidad

máxima de direccionamiento de cada chip por la cantidad máxima de chips manejables;

como se exhibe en la expresión (5.3).

𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛𝑒𝑠𝑚𝑎𝑥 = 𝑑𝑖𝑟𝑒𝑐𝑐𝑖𝑜𝑛𝑒𝑠𝑚𝑎𝑥 ∙ 𝑐ℎ𝑖𝑝𝑠𝑚𝑎𝑥 = 256 ∙ 4 = 1024 (5.3)

Con éstos resultados se puede graficar el mapa de memoria para el dispositivo

analizado; como se presenta en la Figura 5.2.

Page 7: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 7 de 17

Dirección Bloque

000

CS1 …

0FF

100

CS2 …

1FF

200

CS3 …

2FF

300

CS4 …

3FF

Figura 5.2: Mapa de Memoria

Cada uno de los cuatro bloques/chips presentados en el mapa de memoria tiene la

capacidad máxima dada por la expresión (5.1), es decir 256 palabras; por lo que

disponiéndolos consecutivamente pueden obtener la capacidad total de 1024 posiciones

manejable mediante el decodificar de 2 bits presentado, para un microcontrolador con

10 bits de bus de direcciones.

Ejercicio 6)

Determinar el rango de direcciones para los cuales se activan las salidas Y0 a Y7 del

decodificador de la Figura 6.1, conectado a un microprocesador con 16 líneas de

direcciones. Dibujar el mapa de memoria correspondiente.

Figura 6.1: Diagrama del decodificador 74LS138

Resolución

En la Tabla 6.1 se presenta el mapa de memoria, donde se indican los rangos en los

cuales se activan los distintos chips select. También se indican los rangos de memorias

Page 8: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 8 de 17

que no pueden ser seleccionados, debido a que con ciertas combinaciones lógicas, las

entradas de habilitación se encuentran desactivadas

Tabla 6.1: Mapa de memoria

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 RANGO

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 Memoria no seleccionable 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFF

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000 rango de memoria seleccionada por Y0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 47FF

0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 4800 rango de memoria seleccionada por Y1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 4FFF

0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 5000 rango de memoria seleccionada por Y2 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 57FF

0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 5800 rango de memoria seleccionada por Y3 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFF

0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000 rango de memoria seleccionada por Y4 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 67FF

0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 6800 rango de memoria seleccionada por Y5 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 6FFF

0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 7000 rango de memoria seleccionada por Y6 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 77FF

0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 7700 rango de memoria seleccionada por Y7 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFF

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000 Memoria no seleccionable 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFF

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9000 Memoria no seleccionable 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FFFF

Ejercicio 7)

Diseñar un sistema decodificador, utilizando únicamente circuitos integrados del tipo

74LS139, que permita seleccionar concretamente los dispositivos de memoria detallados

en la Tabla 7.1.

Tabla 7.1: Detalle de los dispositivos de memoria

Dispositivo Ubicación

Memoria RAM1 16Kb*8 0000

Memoria RAM2 16Kb*8 A continuación de la anterior

Memoria EPROM 8Kb*8 Hasta FFFF

El tamaño de las memorias tipo RAM define que el bus de direcciones de la misma posee

14 líneas; en tanto que el chip EPROM requerirá un bus de direcciones de 13 bits. Sin

Page 9: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 9 de 17

embargo, en la descripción de las ubicaciones para cada uno de estos chips, se aprecia

que la dirección posee cuatro dígitos hexadecimales; de ello, se deduce que el bus de

direcciones del microcontrolador que utilizará estas memorias posee 16 bits, lo que le

confiere una capacidad máxima de direccionamiento para 64KB. En consecuencia, se

evidencia que habrá ubicaciones de memoria sin asignar, porque todos los dispositivos

disponibles, entre RAM y EPROM, suman un total de 40KB. De esta forma, operando

con las direcciones hexadecimales y los tamaños de cada dispositivo, se puede construir

el mapa de memoria presentado en la Figura 7.1.

Dirección Bloque

0000 RAM1

CS1 …

3FFF

4000 RAM2

CS2 …

7FFF

8000

N/A …

DFFF

E000 EPROM1

CS3 …

FFFF

Figura 7.1: Mapa de Memoria

En el mapa de memoria presentado se evidencia que el espacio entre las direcciones

8000h y 7FFFh, con una capacidad de 14KB, queda sin asignar en ésta configuración.

Suponiendo que los pines chip select de los dispositivos de memoria son activos en bajo

–en caso contrario podrá simplemente negarse la salida del decodificador propuesto- las

direcciones de memoria de los límites de cada dispositivo, es decir, sus rangos pueden

ser convertidas directamente a su equivalente binario en el bus de direcciones de 16 bits

considerado para el microcontrolador, y de éste modo evidenciar la función que deberá

desempeñar cada uno de los decodificadores. Esto se presenta en la Figura 7.2.

Page 10: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 10 de 17

A15 A12 A8 A4 A0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

CS1=0

0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

CS2=0

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0

CS3=0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Figura 7.2: Detalle binario de direcciones de Memoria

Del diagrama de la Figura 7.2 se pueden deducir la funciones binarias para cada uno de

los chip select que se detallan en las expresiones (7.1) a (7.3).

𝐶𝑆1 = 𝐴14 + 𝐴15 (7.1)

𝐶𝑆2 = 𝐴14 + 𝐴15 (7.2)

𝐶𝑆3 = 𝐴14 + 𝐴15

(7.3)

Por su parte, el integrado 74LS139 se trata de un doble demultiplexor de 2 a 4 líneas;

cuyo funcionamiento queda descripto por la tabla de verdad incluida en la Figura 7.3.

Figura 7.3: Tabla de verdad para el 74LS139

Según las ecuaciones binarias deducidas previamente para el decodificador a diseñar,

las únicas variables intervinientes en éste son los dos bits más significativos del bus de

direcciones. Por lo tanto, tomando éstos como entradas del demultiplexor y considerando

su tabla de verdad, se puede implementar el circuito recurriendo únicamente a uno de

los dos demultiplexores disponibles en un chip 74LS139. El esquema de conexionado se

presenta en la Figura 7.4.

Page 11: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 11 de 17

G

A

B

Y

Y

Y

Y

0

1

2

3

A14

A15

CS1

CS2

CS3

Figura 7.4: Esquema de conexión para un demux del 74LS139

Nótese que el decodificador requerido para manejar los tres bancos de memoria

presentados es implementado con un único demux de un chip 74LS139; siendo evidente

la eficiencia desde el punto de vista energético y los beneficios en cuánto a velocidad de

ejecución del circuito.

Ejercicio 8)

Utilizando los integrados 74LS138 ó 74LS139, diseñar el decodificador para una

microcomputadora que utiliza un microprocesador capaz de direccional 64K posiciones

de memoria de 8 bits cada una. El micro se encuentra conectado a los dispositivos

indicados en la siguiente tabla

Tabla 8.1: Dispositivos de la microcomputadora Dispositivos Direcciones

Memoria RAM (datos), tipo MCM6264C A partir de 0000h

Memoria EEPROM (datos), tipo X28C64 A partir de 2000h

Memoria EPROM (programa), tipo AM27C128

Hasta FFFFh

Resolución

Debido a los dispositivos a manejar y la cantidad de líneas, se utilizara el integrado

74LS138. Antes de realizar el mapa de memoria, se esquematiza en la Figura 8.1como

se ubicarán los distintos dispositivos y las direcciones de memoria que utilizarán.

Page 12: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 12 de 17

RAM MCM6264C

0000 1FFF

EEPROM X28C64

2000 3FFF

Memoria fantasma 4000 DFFF

EPROM AM27C128

E000 FFFF

Figura 8.1: disposición de los bloques de memoria

Una vez definidos las direcciones de memoria que utilizará cada bloque, se realiza el

mapeo de la memoria, como lo indica la Tabla 8.2.

Tabla 8.2: Mapa de memoria

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 RANGO

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 MEMORIA RAM 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000 MEMORIA EEPROM 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFF

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000 MEMORIA FANTASMA : : : : : : : : : : : : : : : : :

1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DFFF

1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 E000 MEMORIA EPROM 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 FFFF

Una vez armado el mapa de memoria, se ha notado que los 3 primeros bits más

significativos, son los que determinan la activación de cada una de las memoria. En la

Tabla 8.3 se expone lo dicho anteriormente. Los distintos chips select son activos en bajo

de acuerdo a la combinación lógica de las entradas A15, A14 y A13.

Tabla 8.3: Activación de los CS

A15 A14 A13 CS1 CS2 CS3

0 0 0 0 1 1

0 0 1 1 0 1

0 1 0 1 1 1

0 1 1 1 1 1

1 0 0 1 1 1

1 0 1 1 1 1

1 1 0 1 1 1

1 1 1 1 1 0

Page 13: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 13 de 17

Finalmente, en la Figura 8.2 se presenta el diagrama de conexión de las memorias al

microprocesador, a través del decodificador.

MICRO

(MSB)A15

(LSB)A0

Bus de datos [8]

CS1 CS2 CS3

R/W

R/W R/W R/W

(LSB)CS1

INOUT

Dec.

74ALS138

(MSB)CS3

[8] [8] [8]

28 64

EEPROM

X C

EPROM

AM27C128

RAM

MCM6264C

Figura 8.2: Diagrama de conexión de memorias con el microprocesador

Ejercicio 9)

Diseñar el decodificador de una microcomputadora que utiliza un microprocesador con

bus de direcciones de 16 bits conectado a los dispositivos detallados en la Tabla 9.1.

Para el diseño utilizar los circuitos integrados 74LS138 ó 74LS139. Realizar un diagrama

en bloques que indique la interconexión de los dispositivos.

Tabla 9.1: Detalle de los dispositivos de memoria

Dispositivo Ubicación

Memoria SRAM (datos) MCM6264C 0000

Unidad E/S R6522 (16 posiciones) C000

Memoria EPROM (programa) AM27C64 Hasta FFFF

Consultando las hojas de especificaciones de los dispositivos enunciados previamente,

se identifican sus características técnicas fundamentales, las cuales se resumen en la

Tabla 9.2.

Tabla 9.2: Especificaciones de los dispositivos de memoria

Dispositivo Tamaño Ancho Bus direcciones

SRAM; datos 8 kB 13 bit

Unidad E/S 16 b 4 bit

EPROM; programa 8 kB 13 bit

Page 14: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 14 de 17

Contemplando las especificaciones expuestas previamente para los dispositivos

periféricos de microcomputador diseñado, se puede construir el mapa de memoria

presentado en la Figura 9.1.

Dirección Bloque

0000 SRAM

8k x8 …

1FFF

2000

N/A

BFFF

C000 VIA 16 x8

C00F

C010

N/A …

DFFF

E000 EPROM

8k x8 …

FFFF

Figura 9.1: Mapa de Memoria

Las direcciones presentadas en el mapa de memoria pueden ser convertidas a sus

respectivos equivalentes binarios, con el fin de evidenciar el funcionamiento que debe

ofrecer el circuito decodificador a diseñar; esto se exhibe en la Tabla 9.3.

Tabla 9.3: Representación binaria de las direcciones de memoria

A15 A12 A8 A4 A0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SRAM

0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

VIA

1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1

1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0

EPROM

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Con las especificaciones de funcionamiento deducidas para el circuito decodificador; se

puede establecer el diseño eléctrico del mismo a través del diagrama de bloques

presentado en la Figura 9.2.

Page 15: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 15 de 17

EPROM8kb x8

VIA16b x8

SRAM

8kb x8uC

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7

CS CS CS

74LS138

C

B

A

G1

G2

VCC

x13 x4 x13x8

x8

Data bus

Address bus

A13

A14

A15

Figura 9.2: Esquema de conexión para decodificador propuesto

Ejercicio 10)

Utilizar los circuitos integrados 74LS138 y/o 74LS139 para diseñar un decodificador que

permita seleccionar los siguientes dispositivos en un mapa de memoria. La memoria

EPROM deberá ubicarse en la zona alta del mapa para alojar el llamado vector de

RESET (y otros vectores) del microprocesador MC6809. El vector de reset utiliza las

posiciones FFFEh y FFFFh de la memoria de programa.

- Una memoria EPROM del tipo M27128A, donde se almacena un programa que

el microprocesador ejecutará.

- Una memoria RAM del tipo MCM6264C, donde se guardarán datos variables.

- Una memoria EPROM del tipo TMS2708, donde se almacenan datos

permanentes.

- Una puerta de E/S tipo R6522, para interconectarse con otros dispositivos.

Realizar un diagrama en bloques que indique la interconexión de los dispositivos (incluir

el microprocesador).

Resolución

Antes de realizar el mapa de memoria, se esquematiza en la Figura 10.1 como se

ubicarán los distintos dispositivos y las direcciones de memoria que utilizarán. Cada

bloque de memoria está dividido en fracciones de 8K

Page 16: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 16 de 17

RAM MCM6264C (8k)

0000 1FFF

EEPROM TMS2708 (1k)

2000 3FFF

Puerta de E/S R6522 (16 pos.).

4000 5FFF

Memoria fantasma 6000 BFFF

EPROM AM27C128

Reset

C000 DFFF

E000 FFFF

Figura 10.1: disposición de los bloques de memoria

En la Tabla 10.1 se aprecia el mapa de memoria correspondiente.

Tabla 10.1: Mapa de memoria

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 RANGO

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 RAM

0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF 8k

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000 EPROM

0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFF 1K

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000 E/S

0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFF 16 pos

0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000 memoria

: : : : : : : : : : : : : : : : fantasma

1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFF

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C000 EPROM

1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DFFF

1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 E000 16bit

1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 FFFF

Una vez armado el mapa de memoria, se procede a realizar una tabla reducida, donde

se indica la activación de los distintos chips select, según la combinación lógica de los 3

bits más significativos de las entradas.

Tabla 10.2: Activación de los CS

A15 A14 A13 CS1 CS2 CS3 CS4

0 0 0 0 1 1 1

0 0 1 1 0 1 1

0 1 0 1 1 0 1

0 1 1 1 1 1 1

1 0 0 1 1 1 1

1 0 1 1 1 1 1

1 1 0 1 1 1 0

1 1 1 1 1 1 0

Page 17: Trabajo Práctico - Memorias y Mapeo de Memoria Para Sistemas de Microcómputo

Técnicas Digitales 2 FI - UNaM TP N° 1

HOFF – KRUJOSKI Página 17 de 17

A partir de la tabla simplificada, de activación de los chips select, se realiza el siguiente

diagrama de conexión entre el microprocesador y las memorias.

MICRO

(MSB)A15

(LSB)A0

Bus de datos [8]

CS1 CS2 CS3

R/W

R/W R/W R/W

(LSB)CS1

INOUT

Dec.

74ALS138

[8] [8] [8] [8]

R/W

CS4

EPROM

TMS278

(1kx8)

Reset Reset Reset Reset

MSBY7Y0

EPROM

M27128A

(16kx8)

SRAM

MCM6264C

(8kx8)

R6522

16 Posic.

Figura 10.2: disposición de los bloques de memoria