Download Descarga

Document related concepts
no text concepts found
Transcript
Mapeo en el
P 8086 de Intel
Ing. Silvia Domizi
Ing. Diego Alegrecci
20/10/2014
Mapeo– Microprocesador 8086
1
Introducción
20/10/2014
Mapeo– Microprocesador 8086
2
Mapeo

Mapear un dispositivo, es asignarle
un intervalo definido del espacio de
direcciones (de memoria o E/S), de
manera que las
operaciones de
lectura/escritura que se realicen
sobre dicho intervalo, se efectúen
sobre el periférico en cuestión.
20/10/2014
Mapeo– Microprocesador 8086
3
Chip- Select
Se requiere de un mecanismo que permita
seleccionar dispositivos, para que el P
pueda acceder a uno específico.
 La señal que selecciona un periférico o
memoria se denomina CHIP-SELECT.

20/10/2014
Mapeo– Microprocesador 8086
4
Generación de Chip-Selects
Una señal de Chip Select se obtiene
decodificando la dirección del ciclo Bus y la
información de status. En el caso del 8086 se
realiza mediante:
Decodificación Externa
•Compuertas
•Decodificadores
•Bloques de uso general
20/10/2014
Mapeo– Microprocesador 8086
5
Características del P 8086
Espacio de Direcciones de Memoria
1Mbyte (20 líneas de dirección) de
direcciones diferentes
Espacio de Direcciones de Entrada/Salida
64Kbyte (16 líneas de dirección) de
direcciones diferentes
20/10/2014
Mapeo– Microprocesador 8086
6
Decodificación Externa
20/10/2014
Mapeo– Microprocesador 8086
7
Compuertas Decodificación Externa

Como la mayoría de los dispositivos
usan lógica negativa para
habilitarlos, una técnica básica de
decodificación es usando
compuertas NAND.
20/10/2014
Mapeo– Microprocesador 8086
8
Compuertas Decodificación Externa
El dispositivo será
activado en cualquier
ciclo de Bus que
involucre una
dirección del espacio
de memoria, para la
cual
LA19=LA18=LA17=1
20/10/2014
Mapeo– Microprocesador 8086
9
Decodificador
Decodificación Externa
Se puede obtener el mismo resultado que en el ejemplo
anterior, empleando un decodificador de 3 a 8, pero con
la ventaja de disponer de 7 señales adicionales
20/10/2014
Mapeo– Microprocesador 8086
10
Bloques de uso general

El dispositivo será activado en
cualquier ciclo de bus que involucre
una dirección del espacio de
memoria comprendido entre las
direcciones de Inicio y Fin.
20/10/2014
Mapeo– Microprocesador 8086
11
Bloques de uso general
20/10/2014
Mapeo– Microprocesador 8086
12
Mapeo de dispositivos de 8 y 16 bits
Conexionado
20/10/2014
Mapeo– Microprocesador 8086
13
Implementación física del espacio de
direcciones para sistemas de 16 bits
20/10/2014
Mapeo– Microprocesador
8086
14
Implementación física del espacio de
direcciones para sistemas de 16 bits




El 8086 puede acceder a cualquier localidad de 16
bits o de 8 bits.
El espacio de direcciones de memoria se considera
compuesto por 2 secciones separadas (bancos) de 8
bits de 512Kbytes cada uno, los cuales responden a
direcciones pares e impares respectivamente.
El banco bajo tiene todas las localidades de memoria
pares.
El banco alto tiene todas las localidades de memoria
impares.
20/10/2014
Mapeo– Microprocesador 8086
15
Implementación física del espacio de
direcciones para sistemas de 16 bits
Se emplean la señal #BHE (Bus High Enable)
y el bit de dirección Ao para seleccionar uno o
ambos bancos de memoria para transferir
datos.
Ao
BHE
Transferencia de
0
0
UNA PALABRA (16 bits - D15-D0)
0
1
UN BYTE PAR
1
0
UN BYTE IMPAR(8 bits – D15 –D8)
1
1
NINGÚN BANCO ACTIVO
20/10/2014
(8bits – D7-D0)
Mapeo– Microprocesador 8086
16
Implementación física del espacio de
direcciones para sistemas de 16 bits




Si se solicita un byte en una dirección par éste se
transfiere en los bits D7:0
Si se solicita un byte en una dirección impar lo
hace en los bits D15:8
Si se solicita una palabra en una dirección par ésta
se transfiere en un único BC en los bits D15:0
Si se solicita una palabra en una dirección impar la
BIU necesitará 2 BC. En el primer ciclo se obtiene
un byte en D15: 8, luego se incrementa la
dirección en 1 y se lee el segundo byte
20/10/2014
Mapeo– Microprocesador 8086
17
32Kb x 2 x 8bits
20/10/2014
Mapeo– Microprocesador 8086
18
32Kb x 2 x 8bits



ALE (Address Latch Enable): su transición de 1 a
0 indica el momento correcto para tomar una
dirección válida del bus de direcciones. Esta
señal la entrega el micro y se usa generalmente
como strobe en el latch de direcciones.
M/#IO : indica el espacio en el que se está
trabajando.
A 19-16 Bus de direcciones y datos
AD 15:0 multiplexados en el tiempo
20/10/2014
Mapeo– Microprocesador 8086
19
32Kb x 2 x 8bits



Dado que la memoria está dividida en dos
bancos físicamente, la manera de seleccionar
alguno es generando una señal de escritura
separada para cada banco.
Para generar estas señales se utilizan
compuertas OR para combinar Ao con /WR para
seleccionar el banco bajo y /BHE con /WR para
seleccionar el banco alto.
De este modo se usa una sola señal de selección
para la memoria.
20/10/2014
Mapeo– Microprocesador 8086
20
32Kb x 8bits
20/10/2014
Mapeo– Microprocesador 8086
21
32Kb x 8bits
20/10/2014
(Ajustado)
Mapeo– Microprocesador 8086
22
32 x 16bits
20/10/2014
Mapeo– Microprocesador 8086
23
FIN
DE LA
PRESENTACIÓN
20/10/2014
Mapeo– Microprocesador 8086
24