Microprocesador 8086
Microprocesador 8086
Microprocesador 8086
11
El microprocesador 8086
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
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
PRUEBA 23 28 S2
24 27 S1
QS1
QS0 25 26 S0
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.
(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.
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
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
(a)
(B)
de acceso al bus
(C)
Machine Translated by Google
196 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas
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.
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.
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
unidad lógica
aritmética
banderas
(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.
198 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas
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
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
De memoria
sí
datos
Actualizar
No
Repita el mismo
procedimiento para
Ejecutarlo con bytes de datos los contenidos sucesivos
decodificados por decodificador 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.
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
Registros de propósito
Contador CX CH CL general
DX de datos DH DL
Puntero de pila SP
Puntero de instrucciones IP
Índice de fuentes SI
Segmento de código CS
segmento de datos SD
Registros
SS de segmento
segmento de pila
segmento adicional ES
BANDERAS
Registro de estado
Registrarse Operaciones
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
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.
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
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
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.
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 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.
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
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
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.
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.
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
ÿÿ ÿÿ ÿÿ ciclos de CPU
0 0 0 Confirmación de interrupción
0 0 1 Puerto de lectura 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
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.
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
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
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.
208 Comprender los microprocesadores 8085/8086 y los circuitos integrados periféricos a través de preguntas y respuestas
Nuevamente, para los valores de MOD 00, 01 y 10, los registros de segmento predeterminados seleccionados se
muestran en la Tabla 11.6.
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.
001 CL CX
010 DL DX
011 licenciado en Derecho BX
100 Ah SP
101 CH PA
110 DH SI
111 BH DI
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.
El byte de prefijo de anulación sigue al byte de código de operación de la instrucción, siempre que se utilice.
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.
referencia
Obtención de instrucciones CS Ninguna IP