Professional Documents
Culture Documents
, y (3)
existe una nueva seal de control llamada habilitacin de bus alto (
). El bit
de direccin A0 o
en lugar de
.
Control del bus de 16 bits
El bus de datos de los 8086, 80186, 80286 y 80386SX tiene el doble de ancho que
el bus de los 8088/80188. Este bus de datos ms ancho nos enfrenta a un
conjunto de problemas que no haban sido encontrados anteriormente. Los 8086,
80186, 80286 y 80386SX deben ser capaces de escribir datos a cualquier
localidad de 16 bits, o a cualquiera de 8 bits. Esto significa que el bus de datos de
16 bits debe dividirse en dos secciones separada (bancos) de ocho bits, para que
el microprocesador pueda escribir a cualquiera de las dos mitades (8bits) o a
ambas (16 bits). La figura 10-27 muestra los dos bancos de la memoria. Un banco
(banco bajo) contiene todas las localidades de la memoria con nmeros pares, y
el otro banco (banco alto) contiene todas las localidades de memoria con
nmeros impares.
Figura 10-27 los
bancos de memoria
de 8 bits, alto (impar)
y bajo (par) de los
microprocesadores
8086, 80286 y
80386SX
Los 8086, 80186, 80286, 80386SX utilizan la seal
(A0) unida a
unida a su entrada
.
Debido a que el decodificador no ser activado hasta que todas sus entradas de
habilitacin estn activas, el decodificador U2 es activado solamente para una
operacin de 16 bits o para una de 8 bits desde el banco bajo. El decodificador U3
es activado para una operacin de 16 bits o para una de 8 bits del banco alto.
Estos dos decodificadores y las 16 RAMs de 64 KB que controlan representan un
rango de 1 M del sistema de memoria del 80386SX. El decodificador U1 habilita
U2 y U3 para el intervalo de direccin de memoria 000000H-0FFFFFH.
En la figura 10-28 la terminal de direccin A0 no est conectada a la memoria,
debido a que no existe en el microprocesador 80386SX. Tambin se puede
observar que el bit de la posicin A1 est conectado a la entrada de direccin de
memoria A0; A2 est conectado a A1, etc. La razn es que A0 de los 8086/80186
(o
es conectado a la terminal
de direccin de la memoria A0, solamente localidades alternadas de memoria en
cada banco podran ser utilizadas. Esto significa que se desperdicia la mitad de la
memoria Si A0 o
para la
seal de seleccin de banco bajo (
), y
con
en lugar de
.
Un sistema de memoria que utiliza pulsos de escritura separados se construye de
forma diferente a un sistema de 8 bits (8088), o a un sistema que utiliza bancos de
memoria separados. La memoria en un sistema que utiliza pulsos separados de
escritura es decodificada como una memoria de 16 bits de ancho. Por ejemplo
suponga que un sistema de memoria contendr 64 KB de memoria SRAM. Esta
memoria requiere dos dispositivos de memoria de 32 KB (62256) para poder
construir una memoria de 16 bits de ancho. Debido a que la memoria tiene 16 bits
de ancho y otro circuito genera las seales de escritura de los bancos, el bit de
direccin A0 se convierte en uno de cualquier valor. De hecho, A0 no es siquiera
una terminal en el microprocesador 80386SX.
El ejemplo 10-6 muestra cmo es decodificada una memoria de 16 bits de ancho
en las localidades 060000H-06FFFFH para el microprocesador 80286 u 80386.
En este ejemplo, la memoria es decodificada de forma que el bit A0 es cualquier
valor para el decodificador. Las posiciones de los bits A1-A15 estn conectadas a
las terminales de direccin del componente de memoria A0-A14. El decodificador
(PAL16L8) habilita ambos dispositivos de memoria empleando las conexiones de
direccin A23-A15, siempre que la direccin 06XXXXH aparezca en el bus de
direcciones.
La figura 10-30 muestra este sencillo circuito que utiliza un PAL16L8 tanto para
decodificar la memoria como para generar los pulsos de escritura separados. El
programa para el decodificador PAL16L8 es mostrado en el ejemplo 10-7.
Observe que no solamente es seleccionada la memoria, sino que adems el PAL
genera los pulsos de escritura para los bancos alto y bajo.
La figura 10-31 presenta un pequeo sistema de memoria para el microprocesador
8086, el cual contiene una seccin de EPROM y una de RAM. Aqu, hay cuatro
EPROMs 72128 (16 K x 8) que conforman una memoria de 32 K x 16 bits en las
localidades F0000-FFFFFH, y cuatro RAMs tipo 62256 (32 K x 8) que integran una
memoria de 64 K x 16 en las localidades 00000H-1FFFFH (recuerde que aunque
la memora es de 16 bits de ancho, no obstante es numerada en bytes).
Este circuito utiliza un circuito dual de 2 a 4 lneas tipo 74LS139 que selecciona la
EPROM con una mitad, y la RAM con la otra. Decodifica memoria de 16 bits de
ancho; no de ocho bits, como antes. Observe que el pulso
est conectado a la
entrada
como
en ambos bancos de
memoria. Pero si el 8086 efecta una escritura de 8 bits, solamente uno de los
pulsos de escritura asume el estado bajo, escribiendo a slo un banco de
memoria. Nuevamente, la nica ocasin en que los bancos hacen una diferencia
es para una operacin de escritura.
Observe que una seal de decodificacin de EPROM es enviada al generador de
estado de espera del 8086 porque la memoria EPROM normalmente requiere un
estado de espera. La seal proviene de la compuerta NAND utilizada para
seleccionar la seccin del decodificador de EPROMs, de manera que si la EPROM
es seleccionada, un estado de espera es solicitado.
La figura 10-32 muestra un sistema de memoria conectado al microprocesador
80386SX utilizando un PAL16L8 como decodificador. Esta interfaz contiene 256
KB de EPROM en la forma de cuatro EPROMs tipo 27512 (64K x 8) y 128 KB de
memoria SRAM en cuatro SRAMs tipo 62256 (32K x 8).
Observe en la figura 10-32 que el PAL tambin genera las seales de escritura de
los bancos de memoria