Mapeo en el P 8086 de Intel

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– Mi...
5 downloads 1 Views 504KB Size
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