Está en la página 1de 8

Microprocesador 8086

1. Historia:
El 8 de Junio de 1978, Intel present al pblico el chip 8086 (tambin conocido como iAPX86),
procesador que se convertira en la base para el actual conjunto de instrucciones de arquitectura x86,
dando inicio a la historia moderna de las CPUs de propsito general.
Durante los aos 70, Intel era una compaa que prcticamente se dedicaba a la produccin DRAM en
lugar de procesadores, pero gracias al chip 8008, lograron un xito que les permiti seguir en
competencia con los grandes de la poca como: Motorola, National Semiconductor o ZiLog, esta
ltima empresa se volvi muy popular gracias a su chip Z80, el cul haba sido diseado por exs
empleados de Intel utilizando una micro-arquitectura e instrucciones muy similares al chip 8085
(versin con compatibilidad binaria de 8080).
El diseo de Intel 8086 tena como principal objetivo seguir la lnea y mantener retro-compatibilidad
con los chips 8008, 8080 y 8085, de este modo los programadores no deba editar o rehacer cdigo,
pero a diferencia de sus hermanos menores, 8086 incluira soporte completo para el procesamiento de
16-bit.
Stephen P. Morse, principal arquitecto del proyecto 8086, coment que las instrucciones en el nuevo
diseo de Intel tendran mejor relacin con algunos lenguajes de ms alto nivel de la poca (Pascal,
PL/M) y no tanta implicancia con el compilador. La contratacin de Morse en el proyecto dio bastante
que hablar, ya que era un Ingeniero de Software que tena una visin totalmente distinta sobre el
diseo de CPUs, la que haba estado dominada por Ingenieros de Hardware.
El chip 8086 finaliz con 20.000 transistores activos (29.000 contando todos los ROM y PLA), mientras
la construccin del procesador fue hecha bajo el proceso llamado HMOS (High performance MOS) y
utilizado por Intel para fabricar de manera ms rpida sus productos SRAM.

2. Caractersticas:
16-Bit de transferencia de datos
El 8086 fue uno de los primeros chips en utilizar un bus de 16-bit de transferencia de datos, por
lo que es un software mucho ms rpido y fcil de usar que los antiguos de 8 bits. Esto permiti
que el procesador transfiriera datos ms rpido, aumentando enormemente la velocidad e
incrementando las capacidades posibles del software. Tambin permiti que este dispositivo
hiciera frente a mayores cantidades de memoria.

Compatibilidad inversa
El procesador 8086 tambin fue diseado para ser compatible con otro chip popular, pero
menos potente, el 8080. Esto permiti una mayor flexibilidad a los fabricantes de PC que
queran ser capaces de ofrecer chips con la mayor compatibilidad con el software existente.

Velocidad del procesador y memoria


La velocidad del procesador era ms rpida que los chips anteriores. Por hasta 10 MHz, super
a su predecesor, el 8085, un 25 por ciento. Esto tambin le permiti hacer frente a mucha ms
memoria, hasta 1 MB de RAM, mucho ms que los chips anteriores.

Soporte de co-procesador
El microprocesador 8086 tambin soport un co-procesador suplementario, a veces instalado
en las placas base para llevar a cabo las funciones matemticas de rutina con el fin de liberar la
potencia del procesador para otros usos.

3. Unidad de Interfaz del Bus y registros


La verdadera identidad de 8086 se establece en sus registros y buses (interno, externo) de 16-bit, lo
que permite un direccionamiento I/O de 64 KB (216 = 65.536), mientras el bus externo de 20bit permita un direccionamiento fsico de 1 MB.

o Registros de Propsito general (REGISTROS DE DATOS)


Los cuatro registros de datos AX, BX, CX y DX, sirven de acumuladores y de
registros de operandos de 16 bits. Cada uno de estos registros puede separarse en
dos registros de 8 bits. La letra X se cambia por H para el registro del byte ms
significativo y la L por el registro del byte menos significativo.
Los cuatro registros de 16 bits del 8086 pueden comportarse como registros
generales para las operaciones aritmticas y lgicas y para las transferencias, cada
uno tiene una funcin especfica a nivel de las operaciones asociadas a las
instrucciones.

AX: Registro acumulador, dividido en AH / AL. Su principales funciones eran generar


cdigo de mquina, operaciones de aritmtica, lgica y transferencia de
datos, multiplicacin y divisin, salidas y entradas.
BX: Registro base de direccionamiento, dividido en BH / BL.
CX: Registro contador, dividido en CH / CL. Su objetivo era iterar segmentos de
cdigo, repetir operaciones y contar bits

DX: Registro de datos, dividido en DH y DL. Junto con AX se concatenan


operaciones MUL y DIV en un registro de 32-bit, tambin especificaba puertos en
algunas operaciones de entrada/salida.
o

Registros de ndices

(REGISTROS PUNTEROS - POINTERS)

Estos cuatro registros participan en las operaciones aritmticas y lgicas. Los dos
primeros se toman por defecto para expresar un desplazamiento en el interior del
segmento de pila, mientras que los dos ltimos se toman por defecto para expresar
un desplazamiento en el interior del segmento de datos, salvo para las operaciones
con cadenas de datos.
BP: Puntero base. Usado para acceder a parmetros pasados va pila.
SP: Puntero de Pila. Siempre apunta al primer tem de una pila (a FFFEh si
est vaca)
SI: Registro ndice. Usado de puntero para ciertos datos y como fuente para ciertas
instrucciones de procesamiento.
DI: ndice destino. Cumple el mismo objetivo de SI con un offset distinto (SS)

o Registros bandera, de segmentos y apuntador


Luego tenemos los registros bandera, de segmentos y apuntador de instrucciones
especial; Cada uno de ellos cumpla funciones muy especficas, como conocer el
estado del procesador luego de haber realizado una operacin (banderas) o acceder
a los valores alojados en memoria (segmentos) aunque tambin se podan
almacenar en aquellos registros (64KB) pero no era la idea para
aquella poca donde un KB ms o menos marcaba la diferencia.

o Registros de estado
Este registro de 16 bits, de los que solamente se utilizan nueve, rene todos los
indicadores de estado.

AF (Auxiliary Carry Flag) es el acarreo de peso 24, utilizado en las operaciones


aritmticas decimales.

CF (Carry Flag) es el acarreo o "lo que llevamos"


PF (Parity Flag) es el indicador de paridad, colocado a '1' si la paridad es par
SF (Sign Flag) inidcador de signo
ZF (Zero Flag) es el indicador de cero

4. Pines
El sistema de entradas y salidas del microprocesador 8086 est diseado en el formato
DIP (Dual Inline Package), que consiste en 40 patas (o pines) en total -20 en el lado
izquierdo, 20 en el derecho- separadas entre s por 2,54 milmetros.

Cada uno de los pines cumple con una funcin especfica y estn enumerados del 1 al
40. Para identificar cada pin es necesario fijarnos en la muesca semicircular que marca
el comienzo de la numeracin de los pines, siempre desde el lado izquierdo hacia abajo
y luego desde abajo hacia arriba por el lado derecho. Esto ltimo es muy importante
tener en cuenta antes de conectar los pines a sus respectivas entradas/salidas, porque
no faltar el descuidado que conecte la entrada de 5V (Vcc) a la salida GND
(tierra/masa).

Las funciones de los pines son las siguientes:

1. GND (Masa)
2. AD14 (Bus de direcciones)
3. AD13 (Bus de direcciones)
4. AD12 (Bus de direcciones)
5. AD11 (Bus de direcciones)
6. AD10 (Bus de direcciones)
7. AD9 (Bus de direcciones)
8. AD8 (Bus de direcciones)
9. AD7 (Bus de direcciones y datos)
10.

AD6 (Bus de direcciones y datos)

11.

AD5 (Bus de direcciones y datos)

12.

AD4 (Bus de direcciones y datos)

13.

AD3 (Bus de direcciones y datos)

14.

AD2 (Bus de direcciones y datos)

15.

AD1 (Bus de direcciones y datos)

16.

AD0 (Bus de direcciones y datos)

17.

NMI (Entrada de interrupcin no enmascarable)

18.

INTR (Entrada de interrupcin enmascarable)

19.

CLK (Entrada de reloj generada por el 8284)

20.

GND (Masa)

21.

RESET (Para inicializar el 8088)

22.

READY (Para sincronizar perifricos y memorias lentas)

23.

/TEST

24.

/INTA (El 8088 indica que reconoci la interrupcin)

25.
ALE (Cuando est uno indica que salen direcciones por AD, en caso
contrario, es el bus de datos)
26.
/DEN (Data enable: cuando vale cero debe habilitar los transceptores 8286
y 8287 (se conecta al pin de "output enable"), esto sirve para que no se mezclen
los datos y las direcciones).
27.
DT/R (Data transmit/receive: se conecta al pin de direccin de los chips
recin indicados).
28.
IO/M (Si vale 1: operaciones con ports, si vale 0: operaciones con la
memoria)
29.

/WR (Cuando vale cero hay una escritura)

30.

HLDA (Hold Acknowledge: el 8088 reconoce el HOLD)

31.
HOLD (Indica que otro integrado quiere aduearse del control de los buses,
generalmente se usa para DMA o acceso directo a memoria).
32.

/RD (Cuando vale cero hay una lectura)

33.
MN/MX (Cuando esta entrada est en estado alto, el 8088 est en modo
mnimo, en caso contrario est en modo mximo)
34.
/SSO (Junto con IO/M y DT/R esta salida sirve para determinar estados del
8088)
35.

A19/S6 (Bus de direcciones/bit de estado)

36.

A18/S5 (Bus de direcciones/bit de estado)

37.

A17/S4 (Bus de direcciones/bit de estado)

38.

A16/S3 (Bus de direcciones/bit de estado)

39.

A15 (Bus de direcciones)

40.

Vcc (+5V)

Esta es la configuracin del 8086 en modo mnimo, cuando se le aplica ms de 5V al pin 33


(MN/MX) automticamente el microprocesador entra a funcionar en modo mximo y algunos
de los pines cambiaban su significado:

Pin 24, QS1: Estado de la cola de instrucciones (bit 1).


Pin 25, QS0: Estado de la cola de instrucciones (bit 0).
Pin 26, S0: Bit de estado 0.
Pin 27, S1: Bit de estado 1.
Pin 28, S2: Bit de estado 2.
Pin 29, /LOCK: Cuando vale cero indica a otros controladores del bus (otros
microprocesadores o un dispositivo de DMA) que no deben ganar el control del bus.
Se activa ponindose a cero cuando una instruccin tiene el prefijo LOCK.
Pin 30, RQ/GT1: Es bidireccional y tiene la misma funcin que HOLD/HLDA en
modo mnimo.
Pin 31, RQ/GT0: Como RQ/GT1 pero tiene mayor prioridad.
Pin 34: Esta salida siempre est a uno.

También podría gustarte