Microprocesador 8086

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

Machine Translated by Google

11
El microprocesador 8086

1. Dibuja el diagrama de pines de 8086.


Respuesta Habría dos diagramas de pines: uno para el modo MIN y el otro para el modo MAX de 8086,
que se muestran en las Figs. 11.1 y 11.2 respectivamente. Los pines que difieren entre sí en los dos
modos son del pin-24 al pin-31 (total 8 pines).

TIERRA 1 40 CCV

AD 0
–AD
15 2–16 y 39 35–38 A 3/S19
–A6 /S 16

INM 17 34 BHE/S7

INTRO 18 33 MN/MX

CLK 19 32 RD

INTEL
TIERRA 20 31 SOSTENER
8086
REINICIAR 21 30 HLDA

LISTO 22 29 WR

PRUEBA 23 28 M/IO

INTA 24 27 DT/R

CERVEZA INGLESA 25 26 GUARIDA

Fig. 11.1: Señales de intel 8086 para modo mínimo de operación

2. ¿Cuál es la tecnología utilizada en 8086 µP?


Respuesta Está fabricado con tecnología de semiconductores de óxido metálico (HMOS) de alto
rendimiento. Tiene aproximadamente 29,000 transistores y está alojado en un paquete DIP de 40 pines.
3. Mencione y explique los modos en los que puede operar el 8086.
Respuesta El 8086 µP puede funcionar en dos modos: modo MIN y modo MAX.
Cuando el pin MN/MX está alto, opera en modo MIN y cuando está bajo, 8086 opera en modo
MAX.
Machine Translated by Google

194 Descripción de los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

Para un sistema pequeño en el que solo se emplea un microprocesador 8086 como CPU, el sistema
funciona en modo MIN (Uniprocesador). Mientras que si más de un 8086 opera en un sistema, se dice que
opera en modo MAX (Multiprocesador).

TIERRA 1 40 CCV

AD 0
–AD
15 2–16 y 39 35–38 A 3/S19
–A6 /S 16

INM 17 34 BHE/S7
INTRO 18 33 MN/MX

CLK 19 32 RD

20 INTEL
TIERRA 31 RQ/GT0
8086
REINICIAR 21 30 RQ/GT1

LISTO 22 29 CERRAR CON LLAVE

PRUEBA 23 28 S2

24 27 S1
QS1

QS0 25 26 S0

Fig. 11.2: Señales de intel 8086 para modo de funcionamiento máximo

El controlador de bus IC (8288) genera las señales de control en el caso del modo MAX, mientras que
en modo MIN, la CPU emite las señales de control requeridas por la memoria y los dispositivos de E/S.

4. Distinga entre las dieciséis líneas de dirección inferiores de las cuatro superiores.

Respuesta Tanto las dieciséis líneas de dirección inferiores (AD


0 AD) como
15 las cuatro líneas de dirección superiores

(A / S ÿ3 A /S19 )6 se multiplexan.
dieciséis

Durante T1, las dieciséis líneas inferiores llevan la dirección (A0 ÿ A15 ) , mientras que durante T2, T3 y
T4 llevan datos.
De manera similar, durante T1, las cuatro líneas superiores llevan la dirección (A16– A19), mientras que durante T2,
T3 y T4 , transportan señales de estado.

5. ¿En cuántos modos se puede dividir la señal de modo mínimo?


Respuesta En el modo MIN, las señales se pueden dividir en los siguientes grupos básicos: dirección/bus de datos,
estado, control, interrupción y DMA.

6. Tabular las señales comunes, las señales de modo mínimo y el modo máximo
señales Mencione también sus funciones y tipos.
Respuesta La Tabla 11.1 muestra las señales comunes, las señales de modo Mínimo y las señales de modo Máximo,
junto con las funciones de cada una y sus tipos.
Machine Translated by Google

El microprocesador 8086 195

Tabla 11.1: (a) Señales comunes al modo mínimo y máximo, (b) Señales únicas en modo mínimo, (c) Señales únicas en modo máximo para 8086.

Señales comunes

Nombre Función Escribe

AD15-AD0 Bus de direcciones/datos Bidireccional, 3 estados


A19/S6-A16/S3 Dirección/estado Salida, 3 estados

MN/ MX Control de modo mínimo/máximo Aporte

ÿÿ Control de lectura Salida, 3 estados

ÿÿÿÿ Esperar en el control de prueba Aporte


LISTO Control de estado de espera Aporte
REINICIAR Reinicio de sistema Aporte
INM Solicitud de interrupción no enmascarable Aporte
INTRO Solicitud de interrupción Aporte
CLK Reloj del sistema Aporte
V +5V Aporte
CC
TIERRA Terrestre

(a)

Señales de modo mínimo (MN/ ÿÿ =Vcc)

Nombre Función Escribe

SOSTENER Solicitud de retención Aporte


HLDA Mantener reconocimiento Producción

ÿÿ control de escritura Salida, 3 estados

M/ÿÿ Control de E/S/memoria Salida, 3 estados

DT/ÿ Transmisión/recepción de datos Salida, 3 estados

ÿÿÿ Habilitar datos Salida, 3 estados


CERVEZA INGLESA Habilitar pestillo de dirección Producción

ÿÿÿÿ Confirmación de interrupción Producción

(B)

Señales máximas de modo (MN/ ÿÿ =GND)

Nombre Función Escribe

ÿÿ ÿ ÿÿÿ Solicitar/conceder control Bidireccional

de acceso al bus

ÿÿÿÿ Control de bloqueo de prioridad de bus Salida, 3 estados

ÿÿ ÿ ÿÿ Estado del ciclo del autobús Salida, 3 estados

QS1, QS0 Estado de la cola de instrucciones Producción

(C)
Machine Translated by Google

196 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

7.Mencione las diferentes variedades de 8086 y sus correspondientes velocidades.


Respuesta A continuación se muestran las diferentes variedades de 8086 disponibles y sus correspondientes
velocidades

Tipos Velocidades

8086 5 MHz
8086–1 10 MHz

8086–2 8 MHz

8. Mencione (a) la capacidad de dirección del 8086 y (b) a cuántas líneas de E/S puede acceder el 8086.

Respuesta 8086 direcciones a través de sus líneas de dirección A0–A19 . Por lo tanto, puede abordar 220 = 1 MB de memoria.
Las líneas de dirección A0 a A15 se utilizan para acceder a las E/S. Por lo tanto, 8086 puede acceder a 216
= 64 KB de E/S.

9. ¿Qué se entiende por microarquitectura de 8086?


Respuesta Los bloques de construcción individuales de 8086 que, en su conjunto, implementan la arquitectura de software
y hardware de 8086. Debido a que la incorporación de características adicionales es necesaria para un mayor
rendimiento, la microarquitectura de 8086 o cualquier familia de microprocesadores, evoluciona con el tiempo.

10. Dibujar y comentar la arquitectura de 8086. Mencionar los trabajos realizados por BIU
y UE.
Respuesta La arquitectura de 8086 se muestra a continuación en la Fig. 11.3. Tiene dos funciones separadas
unidades: Unidad de interfaz de bus (BIU) y Unidad de ejecución (EU).
La arquitectura 8086 emplea procesamiento paralelo, es decir, ambas unidades (BIU y EU) funcionan al
mismo tiempo. Esto es diferente a 8085 en el que se llevan a cabo operaciones secuenciales de obtención y
ejecución. Por lo tanto, en el caso de 8086, se lleva a cabo un uso eficiente del bus del sistema y se garantiza un
mayor rendimiento (debido a la reducción del tiempo de instrucción). z BIU tiene registros de segmento, puntero
de instrucción, generación de direcciones y bloque lógico de control de bus, cola de instrucciones, mientras
que EU tiene registros de propósito general, ALU, unidad de control, registro de instrucción, registro de
bandera (o estado).
Los principales trabajos que realiza BIU son:
z BIU es la interfaz del 8086 con el mundo exterior, es decir, todas las operaciones de bus externo las realiza
BIU. z Realiza el trabajo de obtención de instrucciones, lectura/escritura de datos/operandos para la
memoria y también la entrada/salida de datos para dispositivos periféricos. z Hace el trabajo de llenar la cola
de instrucciones. z Realiza el trabajo de generación de direcciones.

Los principales trabajos que realiza la unidad ejecutora son:


z Decodificación/ejecución de instrucciones.
z Acepta instrucciones del extremo de salida de la cola de instrucciones (que reside en BIU)
y datos de los registros de propósito general o memoria.
z Genera direcciones de operandos cuando es necesario, las entrega a BIU solicitándolo
(BIU) para realizar ciclos de lectura o escritura en la memoria o dispositivos de E/S. z EU
prueba el estado de las banderas en el registro de control y las actualiza al ejecutar
instrucciones.
z EU espera instrucciones de la cola de instrucciones, cuando está vacía. z EU no
tiene conexión con los buses del sistema.
Machine Translated by Google

El microprocesador 8086 197

Bus de direcciones Bus de datos Autobuses del sistema

Generación de direcciones
y control de bus

5
registros
Instrucción 4
generales
cola 3
Ah Alabama

2
BH licenciado en Derecho

1
CH CL

DH DL CS

PA ES Registros
DI SS de segmento

SI SD

SP Puntero de instrucciones

bus de datos interno

unidad lógica
aritmética

banderas

Unidad de ejecución Unidad de interfaz de bus

(UE) (BIU)

Fig. 11.3: Modelo de CPU para el microprocesador 8086. Se proporcionan una unidad de ejecución
(EU) y una unidad de interfaz de bus (BIU) separadas.

11. Explicar el funcionamiento de la cola de instrucciones que residen en BIU.


Respuesta La cola de instrucciones tiene una longitud de 6 bytes, funciona según FIFO y recibe los
códigos de instrucción de la memoria. BIU obtiene las instrucciones destinadas a la cola antes
de tiempo de la memoria. En el caso de las instrucciones JUMP y CALL, la cola se descarga y
se vuelve a formar a partir de la nueva dirección.
Machine Translated by Google

198 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

Debido a la cola de instrucciones, existe una superposición entre la ejecución de instrucciones y la


obtención de instrucciones. Esta función de obtener la siguiente instrucción cuando se está ejecutando la
instrucción actual se denomina canalización.

Tiempo requerido para la ejecución de dos


instrucciones sin segmentación
Hora
Salvado

F1 D1 E1 F2 D2 E2

BIU
F1 F2 F3
Fases
superpuestas

UE D1 E1 D2 E2 D3 E3

aquí,
Tiempo requerido para la ejecución de
dos instrucciones F = Obtener
debido a la canalización D= Decodificar
E= Ejecutar

Fig.11.4: El procedimiento de canalización ahorra tiempo

La figura 11.4, que se explica por sí misma, muestra que definitivamente se ahorra tiempo en el caso de
fases superpuestas (como en el caso de 8086) en comparación con las fases secuenciales (como en el caso
de 8085).
Inicialmente, la cola está vacía y CS: IP se carga con la dirección requerida (desde la cual se iniciará la
ejecución). El microprocesador 8086 inicia la operación obteniendo 1 (o 2) byte(s) de código(s) de instrucción
si CS: la dirección IP es impar (par).
El primer byte es siempre un código de operación, que cuando se decodifica, un byte en la cola se vacía
y la cola se actualiza. La operación de llenado de la cola no se inicia hasta que dos bytes de la cola de
instrucciones están vacíos. El ciclo de ejecución de instrucciones nunca se interrumpe para la operación de
búsqueda.
Después de decodificar el primer byte, el circuito decodificador llega a saber si la instrucción es de un byte
de código de operación simple o doble.
Para un solo byte de código de operación, los siguientes bytes se tratan como bytes de datos según la
longitud de la instrucción decodificada; de lo contrario, el siguiente byte se trata como el segundo byte del
código de operación de la instrucción.
Machine Translated by Google

El microprocesador 8086 199

De memoria

Ejecutarlo con bytes de


datos decodificados por decodificador


datos

Actualizar

cola de código de operación


Descodifique el primer byte para
es de un decidir la longitud del código de
solo byte? operación y la cola de actualización

No

Tome el segundo byte de la cola


como código de operación. Decodificar
el segundo byte

Repita el mismo
procedimiento para
Ejecutarlo con bytes de datos los contenidos sucesivos
decodificados por decodificador de la cola

Fig.11.5: La operación de la cola

Para un código de instrucción de 2 bytes, el proceso de decodificación se lleva a cabo teniendo en cuenta
los bytes, lo que luego decide la longitud de la instrucción decodificada y el número de bytes subsiguientes que se
tratarán como datos de instrucción. La actualización de la cola tiene lugar una vez que se lee un byte de la cola.

La operación de la cola se muestra en la figura 11.5 en forma de esquema de bloques.


12. Mencione las condiciones por las cuales EU entra en modo ESPERA.
Respuesta Hay tres condiciones que hacen que la UE entre en estado de ESPERA. Estos son:
z Cuando una instrucción requiere el acceso a una ubicación de memoria que no está en la
cola. z Cuando se ejecuta una instrucción JUMP. En este caso, el contenido de la cola actual
se cancela y la UE espera hasta que se recuperan las instrucciones en la dirección de salto.
memoria.
z Durante la ejecución de instrucciones que son muy lentas de ejecutar. La instrucción AAM
(ajuste ASCII para multiplicación) requiere 83 ciclos de reloj para su ejecución. Para tal
caso, se hace que la BIU espere hasta que EU extraiga uno o dos bytes de la cola antes
de reanudar el ciclo de recuperación.

13.Mencione el tipo de operaciones posibles con 8086.


Respuesta Puede realizar operaciones de bits, bytes, palabras y bloques. También la multiplicación y la división.
las operaciones pueden ser realizadas por 8086.

14. Mencione el número total de registros de 8086 y muestre la forma en que se agrupan.

Respuesta Hay en total catorce números de registros de 16 bits. Los diferentes grupos se hacen como
a continuación:
Machine Translated by Google

200 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

z Grupo de datos, punteros y grupo de índices, grupo de indicadores de estado y control y segmento
grupo.
z El grupo de datos consta de AX (acumulador), BX (base), CX (recuento) y DX (datos). El puntero z y
el grupo de índice consisten en SP (puntero de pila), BP (puntero base), SI (puntero de origen).
índice), DI (índice de destino) e IP (puntero de instrucciones).
El grupo de segmentos consta de ES (segmento extra), CS (segmento de código), DS (segmento de
datos) y SS (segmento de pila). z El grupo de indicadores de control consta de un solo registro de
indicadores de 16 bits.
La Fig. 11.6 muestra los registros colocados en los diferentes grupos para formar un modelo de
programación.

Acumulador AX Ah Alabama

Registro base BX BH licenciado en Derecho

Registros de propósito
Contador CX CH CL general

DX de datos DH DL

Puntero de pila SP

Puntero base PA Punteros

Puntero de instrucciones IP

Índice de fuentes SI

índice de destino DI Registros de índice

Segmento de código CS

segmento de datos SD
Registros
SS de segmento
segmento de pila

segmento adicional ES

BANDERAS
Registro de estado

Fig.11.6: Diagrama esquemático de los registros Intel 8086

15. Describa, en detalle, el propósito general de los registros de datos.


Respuesta La Fig. 11.7 muestra los cuatro registros de datos junto con sus funciones dedicadas también.

HACHA AH Alabama Acumulador


BX BH licenciado en Derecho Base
grupo de datos
CX CH CL Contar
DX DH DL Datos

Registrarse Operaciones

AX Multiplicación de palabras, división de palabras, E/S de palabras

Alabama
Multiplicación de bytes, división de bytes, E/S de bytes, traducción, aritmética decimal
AH Byte multiplicar, byte dividir
BX Traducir

CX Operaciones con cadenas, Bucles


CL Desplazamiento y rotación variables

DX Multiplicación de palabras, división de palabras, E/S indirecta

Fig. 11.7: Registros de grupos de datos y sus funciones


Machine Translated by Google

El microprocesador 8086 201

Los cuatro registros se pueden utilizar por bytes o por palabras. Los alfabetos X, H y L
se refieren respectivamente a palabra, byte superior o byte inferior respectivamente de cualquier registro.
Los cuatro registros se pueden usar como fuente o destino de un operando durante una operación aritmética
como SUMA o una operación lógica como Y, aunque los registros particulares están destinados a operaciones
específicas. El registro C se utiliza como registro de conteo en operaciones con cadenas y, como tal, se denomina
registro de 'conteo'. El registro C también se utiliza para instrucciones de desplazamiento o rotación multibit.

El registro D se usa para contener la dirección del puerto de E/S, mientras que el registro A se usa para todas
las operaciones de E/S que requieren la entrada o salida de datos.

16. Describa el registro de estado de 8086.


Respuesta Es un registro de 16 bits, también llamado registro de bandera o Palabra de estado del programa (PSW). Siete bits
quedan sin usar, mientras que los nueve restantes se usan para indicar las condiciones de las banderas. Las banderas
de estado del registro se muestran a continuación en la Fig. 11.8.

15 14 13 12 11 10 9 8 67 5 4 3 2 1 0 Bit no.
xxxx •
DE DF SI TF SF ZF X AF X PF X CF Indicadores de estado

Indicador de desbordamiento
llevar bandera

bandera de paridad
Bandera de dirección

Bandera de acarreo auxiliar


Indicador de

habilitación de interrupción bandera cero

bandera trampa bandera de signo

Fig.11.8: Indicadores de estado de Intel 8086

De nueve banderas, seis son banderas de condición y tres son banderas de control. Los indicadores de control
son indicadores TF (Trampa), IF (Interrupción) y DF (Dirección), que el programador puede configurar/restablecer,
mientras que los indicadores de condición [OF (Desbordamiento), SF (Señal), ZF (Cero), AF (Acarreo auxiliar), PF
(Paridad) y CF (Acarreo)] se configuran o restablecen según los resultados de algunas operaciones aritméticas o
lógicas durante la ejecución del programa.
CF se establece si hay un acarreo de la posición MSB como resultado de una adición
operación o si se necesita un préstamo de la posición MSB durante la resta.
PF se establece si los 8 bits inferiores del resultado de una operación contienen un número par de 1. AF se
establece si hay un acarreo del bit 3 como resultado de una operación de suma o se requiere un préstamo del bit 4 al
bit 3 durante la operación de resta.
ZF se establece si el resultado de una operación aritmética o lógica es cero.
SF se establece si el MSB del resultado de una operación es 1. SF se utiliza con números sin signo.

OF se usa solo para operaciones aritméticas con signo y se establece si el resultado es demasiado grande para
ajustarse a la cantidad de bits disponibles para acomodarlo.
Las funciones de las banderas junto con sus posiciones de bits se muestran en la Fig. 11.9 a continuación.
Posición de bit Nombre Función

0 FC Indicador de acarreo: establecido en acarreo o préstamo de bits de orden superior; borrado de lo contrario
2 FP Indicador de paridad: se establece si los 8 bits de orden inferior del resultado contienen un
número par de 1 bit; borrado de lo contrario
4 FA Establecido en acarreo de o prestado a los 4 bits de orden inferior de AL; borrado de lo
contrario
Machine Translated by Google

202 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

6 ZF Indicador cero: establecer si el resultado es cero; borrado de lo


7 SF contrario Indicador de signo: Establecer igual al bit de resultado de orden superior (0 es
positivo, 1 si es negativo)
8 TF Indicador de paso de señal: una vez establecido, se produce una interrupción de un solo paso
después de que se ejecuta la siguiente instrucción; TF se borra con el indicador de activación
9 SI de interrupción de interrupción de un solo paso: cuando se establece, las interrupciones
enmascarables harán que la CPU transfiera el control a una ubicación específica del vector de interrupción.
10 DF Indicador de dirección: hace que las instrucciones de cadena disminuyan
automáticamente el registro de índice apropiado cuando se establece; borrar DF provoca
un incremento automático.
11 DE Indicador de desbordamiento: se establece si el resultado firmado no se puede expresar
dentro del número de bits en el operando de destino; borrado de otra manera.

Fig.11.9: Indicadores 8086: DF, IF y TF se pueden configurar o restablecer para controlar


las operaciones del procesador. Las banderas restantes son indicadores de estado.

17. Discuta las tres banderas de control de 8086.


Respuesta Las tres banderas de control de 8086 son TF, IF y DF. Estos tres indicadores son programables, es decir, el programador
puede establecerlos/restablecerlos para controlar el funcionamiento del procesador.
Cuando se establece TF (bandera de captura) (=1), el procesador funciona en modo de paso único, es decir, se detiene
después de ejecutar cada instrucción. Este modo es muy útil durante el desarrollo o la depuración de programas.

Cuando se reconoce una interrupción, se borra el indicador TF. Cuando la CPU regresa al programa principal desde ISS
(subrutina de servicio de interrupción), mediante la ejecución de IRET en la última línea de ISS, la bandera TF se restaura a
su valor que tenía antes de la interrupción.
TF no se puede configurar o restablecer directamente. Entonces, indirectamente, se hace presionando el registro de
bandera en la pila, cambiando TF como se desee y luego sacando el registro de bandera de la pila.
Cuando se establece IF (bandera de interrupción), la interrupción enmascarable INTR se habilita de lo contrario
deshabilitado (es decir, cuando IF = 0).
IF puede establecerse ejecutando la instrucción STI y borrarse mediante la instrucción CLI. Al igual que el indicador TF,
cuando se reconoce una interrupción, se borra el indicador IF, de modo que INTR se desactiva. En la última línea de ISS
cuando se encuentra IRET, IF se restaura a su valor original.
Cuando se restablece 8086, se borra IF, es decir, se restablece.
DF (bandera de dirección) se utiliza en operaciones de cadena (también conocidas como movimiento de bloque). Puede
configurarse mediante instrucción STD y borrarse mediante CLD. Si DF se establece en 1 y se ejecuta la instrucción MOVS,
el contenido de los registros de índice DI y SI se reducen automáticamente para acceder a la cadena desde la ubicación de
memoria más alta hasta la ubicación de memoria más baja.

18. Analice el grupo de registros Pointers and Index.


Respuesta Los registros de puntero son SP y BP, mientras que los registros de índice son SI y DI.
Los cuatro son registros de 16 bits y se utilizan para almacenar direcciones de compensación de ubicaciones de memoria
en relación con los registros de segmento. Actúan como punteros de memoria. Como ejemplo, MOV AH, [SI] implica, "Mueve
el byte cuya dirección está contenida en SI a AH". Si ahora, SI = 2000 H, entonces la ejecución de la instrucción anterior
pondrá el valor FF H en el registro AH, que se muestra en la Fig. 11.10, [SI+1 : SI] = ABFF H, donde obviamente SI+1 apunta
a la ubicación de memoria 2001 H y [SI+1] = AB H.

SI y DI también se utilizan como registros de propósito general. Nuevamente, en ciertas instrucciones de cadena
(movimiento de bloque), SI y DI se usan como registros de índice de origen y destino
Machine Translated by Google

El microprocesador 8086 203

respectivamente. Para tales casos, los contenidos de SI se agregan


a los contenidos del registro DS para obtener la dirección de origen
2005H 0A
real de los datos, mientras que los contenidos de DI se agregan
al contenido de ES para obtener la dirección de destino real de los 2004H 07
datos.
2003H 85
SP y BP representan puntero de pila y puntero base con SP que
contiene la dirección de desplazamiento o el
2002H 90

dirección superior de la pila. La dirección de pila real se calcula 2001H AB


sumando los contenidos de SP y SS. FF
2000H SI
Pueden existir áreas de datos en la pila. Para acceder a dicha
área de datos en el segmento de la pila, se utiliza el registro BP que Fig. 11.10: SI apunta a las ubicaciones
de memoria 2000 H.
contiene la dirección de compensación. El registro de BP también es
utilizado como un registro de propósito general.
El puntero de instrucción (IP) también se incluye en el grupo de índices y punteros. IP apunta al desplazamiento
en lugar de la dirección real de la siguiente instrucción que se va a buscar (desde el segmento de código actual) en
BIU. La IP reside en BIU pero no puede ser programada por el programador.

19. Describa brevemente los cuatro registros de segmento.


Respuesta Los cuatro registros de segmento son CS, DS, ES y SS, que representan registro de segmento de código, registro
de segmento de datos, registro de segmento adicional y registro de segmento de pila, respectivamente.
Cuando se lee o se escribe en una memoria en particular, la dirección de memoria correspondiente se determina por
el contenido de uno de estos cuatro registros de segmento junto con sus direcciones de compensación.

El contenido de estos registros se puede cambiar para que el programa pueda saltar de
un segmento de código activo a otro.
El uso de estos registros de segmento será más evidente en los esquemas de segmentación de memoria.

20. Analice las señales A16/S3—A19/S6 de 8086.


Respuesta Estas son señales multiplexadas en el tiempo. Durante T1, representan líneas de dirección A19 - A16 .
Durante las operaciones de E/S, estas líneas permanecen bajas. Durante T2–T4, transmiten señales de estado.
S4 y S3 (durante T2 a T4) identifican el registro de segmento empleado para la generación de
direcciones físicas de 20 bits.
La señal de estado S5 (durante T2 a T4) representa el estado de activación de interrupción. esto esta actualizado
al comienzo de cada ciclo de reloj.

La señal de estado S6 permanece baja durante T2 a T4.

21. Discuta la señal BHE/S7 .

Respuesta Durante T1, esto se convierte en una señal de habilitación alta del bus y permanece baja durante T2 a T4.
actúa como una señal de estado S7 y permanece alta durante este tiempo.

Durante T1, cuando la señal BHE está activa, es decir, permanece baja, se utiliza como señal de selección de
chip en el byte más alto del bus de datos, es decir, D15–D8.

La tabla 11.2 muestra que las señales BHE y A0 determinan una de las tres posibles referencias a la memoria.
Machine Translated by Google

204 Descripción de los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

Tabla 11.2: Estado de ÿÿÿ y A0 identifican referencias de memoria

ÿÿÿ A0 Acceso de palabra/byte

0 0 Ambos bancos activos, transferencia de palabras de 16 bits en AD15 – AD0

0 1 Solo banco alto activo, byte superior desde/hasta dirección impar en AD15 – AD8
1 0 Solo banco bajo activo, byte inferior desde/hasta dirección par AD7 –AD0
1 1 Ningún banco activo

22. Discuta el pin de reinicio de 8086.


Respuesta Reset es una señal de entrada alta activa y debe estar activa durante al menos 4 ciclos CLK para que el
8086 la acepte. Esta señal está sincronizada internamente y la ejecución comienza solo después de que
Reset vuelve al valor bajo.
Para una inicialización adecuada, el pulso de reinicio no debe aplicarse antes de los 50 µS de 'encendido'
del circuito. Durante el estado de reinicio, los tres buses se prueban y ALE y HLDA se reducen.

Durante el restablecimiento, todos los contenidos de los registros internos se establecen en 0000 H, pero
CS se establece en F000 H e IP en FFF0 H. Por lo tanto, la ejecución comienza desde la dirección física
FFFF0 H. Por lo tanto, la EPROM en 8086 se interconecta para tener las formas de ubicación de la memoria
física. FFFF0 H a FFFFF H, es decir, al final del mapa.

23. Discuta los dos pines (a) DT/ R y (b) DEN .

Respuesta (a) DT/ R es un pin de salida que decide las direcciones del flujo de datos a través de los transreceptores
(búferes bidireccionales).
Cuando el procesador envía datos, esta señal es 1, mientras que cuando recibe datos, el estado de
la señal es 0.

(b) DEN significa habilitación de datos. Es una señal baja activa e indica la disponibilidad de datos sobre las
líneas de dirección/datos. Esta señal permite que los transceptores separen los datos de la señal de
datos/dirección multiplexada. Está activo desde la mitad de T2 hasta la mitad de T4.

Tanto DT/ R como DEN se prueban durante el 'reconocimiento de espera'.

24. Elaborar las funciones de los pines S2 , S y S0 . 1

Respuesta Estas tres son señales de estado de salida en el modo MAX, que indican el tipo de operación
realizado por el procesador.
Las señales se activan durante T4 del ciclo anterior y permanecen activas durante T1 y T2 del ciclo
actual. Regresan al estado pasivo durante T3 del ciclo de bus actual para que puedan volver a estar activos
para el siguiente ciclo de bus durante T4. La tabla 11.3 muestra los diferentes ciclos de bus del 8086 para
diferentes combinaciones de estas tres señales.
Machine Translated by Google

El microprocesador 8086 205

Tabla 11.3: Códigos de estado del bus

ÿÿ ÿÿ ÿÿ ciclos de CPU
0 0 0 Confirmación de interrupción
0 0 1 Puerto de lectura de E/S

0 1 0 Escribir puerto de E/S

0 1 1 DETENER

1 0 0 Código de acceso
1 0 1 Leer memoria
1 1 0 escribir memoria
1 1 1 Pasivo

25. Explique la señal de BLOQUEO .


Respuesta Es una señal de salida baja activa y se activa mediante la instrucción de prefijo LOCK y permanece activa hasta
la finalización de la siguiente instrucción. Flota a tres estados durante la espera

reconoce cuando la señal de BLOQUEO es baja, todas las interrupciones se enmascaran y no se concede la

solicitud de ESPERA. El procesador utiliza la señal LOCK para evitar que otros dispositivos accedan al bus de
control del sistema. Este símbolo se usa cuando la CPU está ejecutando algunas instrucciones críticas y, a través
de esta señal, se informa a otros dispositivos que no deben enviar la señal HOLD al 8086.

26. Explique la señal de PRUEBA .


Respuesta Es una señal de entrada baja activa. Normalmente, el pin BUSY (salida) del 8087 NDP está conectado al pin

de entrada TEST del 8086. Cuando el coprocesador matemático 8087 está ocupado ejecutando alguna

instrucciones, eleva su señal OCUPADO. Por lo tanto, la señal de PRUEBA de 8086 es, en consecuencia, alta, y
(8086) se hace ESPERAR hasta que la señal OCUPADO baja. Cuando el 8087 completa la ejecución de sus

instrucciones, la señal BUSY pasa a nivel bajo. Por lo tanto, la entrada de PRUEBA de 8086 también se vuelve
baja y luego solo 8086 entra para la ejecución de su programa.

27. Muestre cómo se realiza la demultiplexación del bus de direcciones/datos y también muestre la
disponibilidad de dirección/datos durante los ciclos de lectura/escritura.
Respuesta La demultiplexación de los 2 bytes inferiores del bus de direcciones/datos (AD0–AD15) se realiza mediante el
pestillo octal 8282/8283, con 8282 proporcionando salidas no inversoras mientras que 8283 proporciona salidas
invertidas. Las salidas del chip también se almacenan en búfer para que haya más unidades disponibles en sus salidas.
El pestillo AD es fundamental para las operaciones de demultiplexación de estos pestillos. Durante T1 ,
cuando ALE es alto, el pestillo es transparente y la salida del pestillo es solo 'A' (dirección). Al final de T1, ALE
tiene una transición de alto a bajo que bloquea la dirección disponible en la entrada D del pestillo, de modo que la
dirección continúa estando disponible desde la salida Q del pestillo (es decir, la totalidad de los estados T1 a T4 ). ).

Cabe señalar que la memoria y los dispositivos de E/S no acceden al bus de datos hasta el comienzo de T2,
por lo que los 'datos' son 'no importa' hasta el final de T1. Esto se muestra en la Fig. 11.11 y el diagrama de tiempo
muestra la disponibilidad de datos para ciclos de lectura y escritura.
Machine Translated by Google

206 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

Datos norte

ANUNCIO
norte

D a Habla a norte

µP
PESTILLO
8086

C n = 0 a 15

CERVEZA INGLESA LATCH es transparente durante T1 y actúa


como un latch de T2 a T4 .

Fig.11.11: Demultiplexación del bus de direcciones/datos del 8086

28. Analice el puntero de instrucciones (IP) de 8086.


Respuesta Funcionalmente, IP desempeña el papel de contador de programa (PC) en 8085. Pero la diferencia
es que IP mantiene el desplazamiento de la siguiente palabra del código de instrucción en lugar de la
dirección real (como en PC).
IP junto con el contenido del registro CS (segmento de código) proporcionan la dirección física (o
real) de 20 bits necesaria para acceder a la memoria. Por lo tanto, CS:IP denota el valor de la dirección
de memoria del siguiente código (que se recuperará de la memoria).
El contenido de IP se incrementa en 2 porque cada vez que se recupera una palabra de código de la
memoria.
29. Indique los tipos de datos que puede manejar el 8086 µP.
Respuesta Los tipos de formatos de datos que puede manejar el 8086 se clasifican en las siguientes categorías:
z Números enteros con o sin signo, tanto de byte como de palabra. z Números BCD, tanto en forma
empaquetada como sin empaquetar. z Datos codificados en ASCII. Los números ASCII se almacenan un
número por byte.
30. Compare los microprocesadores 8086 y 8088.
Respuesta La comparación entre los dos se tabula a continuación en la Tabla 11.4.

Tabla 11.4: Comparación de 8086 y 8088

8086 8088

Ancho de datos de 1,2 bytes, obtenido por demultiplexación Ancho de datos de 1,1 bytes, obtenido por demultiplexación
AD0 – AD15. AD0 –AD7 .
2. En el modo MIN, al pin 28 se le asigna la señal M/ IO. 2. En el modo MIN, al pin-28 se le asigna la señal
IO/ M .
3. Una cola de instrucciones de 6 bytes. 3. Una cola de instrucciones de 4 bytes.
4. Para acceder al byte más alto, se utiliza la señal BHE . 4. No se requiere tal señal, ya que el ancho de datos es de solo 1 byte.

5.BIU diferente, pero EU similar a 8088. Instrucciones de programa 5.BIU diferente, pero EU similar a 8086. Instrucciones de programa
idénticas a 8088. idénticas a 8086.
6. La recuperación del programa de la memoria se realiza solo cuando 6. La extracción del programa de la memoria se realiza tan pronto como
2 bytes están vacíos en la cola. un byte queda libre en la cola.
7. Pin-34 es SS0 . Actúa como S0 en el modo MIN. En 7.Pin-34 es
BHE /S7. Durante T1, BHE se usa para habilitar datos en D8 –D15. Durante T2 –T4 , el estado de este pin es 0. En el modo MAX, 8087 monitorea
este pin para identificar la CPU: ¿8086 o 8088? En consecuencia, establece su longitud
Modo MAX SS0 de =cola en 6 o 4 respectivamente.
1 siempre.
Machine Translated by Google

El microprocesador 8086 207

31. Comente sobre el tamaño de instrucción de 8086.

Respuesta Varía de 1 a 6 bytes.

32. Discuta el formato de instrucciones de 8086.

Respuesta El formato de instrucción de 8086 se muestra en la figura 11.12. Es extensible hasta 6 bytes. El primer byte
contiene D y W: bit de registro de dirección y bit de tamaño de datos, respectivamente. Tanto D como W son de
naturaleza de 1 bit.

Byte-1 Byte-2 Byte-3


7654321076543210
Datos/desplazamiento bajo
Código de operación DW

Byte-4 Byte-5 Byte-6


Alto desplazamiento/datos Datos bajos Datos altos

Fig. 11.12: Formato de instrucción 8086

z Si D = 1, entonces el operando de registro existente en el byte 2 es el operando de destino, de lo contrario (es


decir, si D = 0) es un operando de origen. z W indica si la operación es un dato de 8 bits o de 16 bits. Si W =
0 entonces es un
Operación de 8 bits, de lo contrario (es decir, W = 1) es de 16 bits.
z El 2do byte (byte-2) indica si uno de los operandos está en memoria o ambos
están en los registros. Este byte contiene tres campos:

Campo Abreviatura Longitud (nº de bits)


Campo de modo MODIFICACIÓN 2
campo de registro REGISTRO 3

Campo de registro/memoria r/m 3

33. Discuta los campos MOD y r/m y REG.


Respuesta El campo MOD es un campo de 2 bits. Se dirige a la memoria de la siguiente manera.
Valores de campo MOD
00 Direccionamiento de memoria sin desplazamiento
01 Direccionamiento de memoria con desplazamiento de 8 bits
10 Direccionamiento de memoria con desplazamiento de 16 bits
11 Registrar direccionamiento con
W = 0 para datos de 8 bits
y W = 1 para datos de 16 bits. El
campo r/m, que es un campo de 3 bits, junto con el campo MOD define el segundo operando. Si MOD = 11,
entonces es un modo de registro a registro. Nuevamente, si MOD = 00,01 o 10, entonces es un modo de memoria.
La tabla 11.5 muestra cómo se selecciona la dirección efectiva del operando de memoria para los valores MOD =
00,01 y 10.
Machine Translated by Google

208 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas

Tabla 11.5: Para cálculo de dirección efectiva, valores de MOD y r/m

r/m MOD 00 MOD 01 MÓDULO 10 MOD 11


W=0 W=1

000 [BX] + [SI] [BX]+[SI]+D8 [BX]+[SI]+D16 Alabama HACHA

001 [BX] + [DI] [BX]+[DI]+D8 [BX]+[DI]+D16 CL CX


010 [BP] + [SI] [BP]+[SI]+D8 [BP]+[SI]+D16 DL DX
011 [BP] + [ED] [BP]+[DI]+D8 [BP]+[DI]+D16 licenciado en Derecho BX
100 [SI] [SI]+D8 [SI]+D16 Ah SP
101 [DI] [ED]+D8 [DI]+D16 CH PA
110 Direccionamiento directo [BP]+D8 [BP]+D16 DH SI
111 [BX] [BX]+D8 [BX]+D16 BH DI

Nuevamente, para los valores de MOD 00, 01 y 10, los registros de segmento predeterminados seleccionados se
muestran en la Tabla 11.6.

Tabla 11.6: Registro de segmento para varios modos de direccionamiento de memoria

r/m MOD 00 MOD 01 MÓDULO 10 Registro de segmento utilizado

000 [BX] + [SI] [BX]+[SI]+DS [BX]+[SI]+D16 SD


001 [BX] + [DI] [BX]+[DI]+DS [BX]+[DI]+D16 SD
010 [BP] + [SI] [BP]+[SI]+DS [BP]+[SI]+D16 SS
011 [BP] + [ED] [BP]+[DI]+DS [BP]+[DI]+D16 SS
100 [SI] [SI]+DS [SI]+D16 SD
101 [DI] [DI]+DS [DI]+D16 SD
110 D16 directo [BP]+DS [BP]+D16 DS o SS
Direccionamiento Registro de Registro de como en la columna MOD
[DS] puntero de pila [SS] segmento de pila [SS]
111 [BX] [BX]+DS [BX]+D16 SD

El campo REG es un campo de 3 bits e indica el registro para el primer operando que
puede ser operando fuente/destino, dependiendo de D = 0/1.
Cómo el campo REG junto con el estado de W(0 o 1) seleccionan los diferentes registros, es
se muestra en la Tabla 11.7.

Tabla 11.7: Definición de registros con 'W'

REGISTRO W=0 W=1


000 Alabama HACHA

001 CL CX
010 DL DX
011 licenciado en Derecho BX
100 Ah SP
101 CH PA
110 DH SI
111 BH DI

34. Discuta el formato de instrucción para el prefijo de anulación de segmento.


Respuesta La selección de segmento predeterminado se puede anular mediante el byte de prefijo de anulación, como se muestra en
debajo.
Machine Translated by Google

El microprocesador 8086 209

00 1 r r 1 10

Selecciona el
segmento Dependiendo de los valores de rr de 2 bits, los segmentos seleccionados se muestran en la Tabla 11.8.

Tabla 11.8: Selección de segmento por técnica de prefijo de anulación

valores rr Segmentos seleccionados


00 ES
01 CS
10 SS
11 SD

El byte de prefijo de anulación sigue al byte de código de operación de la instrucción, siempre que se utilice.

35. ¿Es posible la transferencia directa de datos de memoria a memoria en 8086?


Respuesta No, 8086 no tiene provisión para la transferencia directa de datos de memoria a memoria.
Para que esto se implemente, se utiliza AX como etapa intermedia de datos. El byte fuente (de
la memoria) se mueve al registro AX con una instrucción. La segunda instrucción mueve el contenido
de AX a la ubicación de destino (a otra ubicación de memoria). Como ejemplo,

MOV AH, [SI]


MOV [DI], AH
Aquí, la primera instrucción mueve el contenido de la ubicación de memoria, cuya dirección de
desplazamiento permanece en SI, a AH. La segunda instrucción asegura que el contenido de AH
se mueva a otra ubicación de memoria cuya dirección de compensación esté en DI.
36. ¿Se puede cargar el registro del segmento de datos (DS) directamente por su dirección?
Respuesta No, no se puede hacer directamente. En cambio, AX se carga con la dirección inicial del registro
DS y luego se transfiere al registro DS, como se muestra a continuación: MOV AX, DS ADDR: AX se
carga con la dirección inicial del registro DS MOV DS, AX:
DS se carga con AX, es decir, en última instancia, con DS ADDR

37. Muestre, en forma tabular, los registros de segmento por defecto y alternativos para diferentes
Tipos de referencias de memoria.
Respuesta La tabla 11.9 muestra los segmentos de registro predeterminados y alternativos que se pueden usar para
diferentes tipos de referencias de memoria.

Tabla 11.9: Asignaciones de registros por defecto y alternativos

tipo de memoria Segmento predeterminado Segmento alternativo Compensación (Dirección lógica)

referencia
Obtención de instrucciones CS Ninguna IP

operación de pila SS Ninguna SP, PA


Informacion General SD CS, ES, SS Dirección efectiva

Fuente de cadena SD CS, ES, SS SI

Destino de la cadena ES Ninguna DI

BX utilizado como puntero SD CS, ES, SS Dirección Efectiva

BP utilizado como puntero SS CS, ES, DS Dirección Efectiva


Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google
Machine Translated by Google

También podría gustarte