trabajo práctico - memorias y mapeo de memoria para sistemas de microcómputo
TRANSCRIPT
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
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)
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?
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)
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.
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
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
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.
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.
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.
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
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
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.
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
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
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