MAPEO FILANTROPÍA E INVERSIONES SOCIALES EN CHILE REALIZA:
En colaboración con HAUSER INSTITUTE, HARVARD UNIVERSITY
ECOSISTEMA DE FILANTROPÍA E INV
Story 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