Intel 8086 y 8088

Los Intel 8086 e Intel 8088 (i8086, llamado oficialmente iAPX 86, e i8088) son dos microprocesadores de 16 bits diseñados por Intel en 1978, iniciadores de la arquitectura x86. La diferencia entre el i8086 y el i8088 es que este último utiliza un bus externo de 8 bits, para poder emplear circuitos de soporte al microprocesador más económicos, en contraposición al bus de 16 bits del i8086.

El primer microprocesador de 16 bits, el 8086 fué lanzado al mercado por intel en el año 1978;

en junio de 1979 sería cuando nacería el microprocesador 8088.

Esquema de bloques del microprocesador intel 8086:

http://pic.srv6.wapedia.mobi/thumb/a6ae14325/es/crop/320/480/Intel_8086_block_scheme.svg?format=jpg,png,gif,wbmp

1.Registros generales y de índice (AX,BX, CX, DX y SI, DI, BP,SP)

2.Registros de segmento (CS, DS, ES, SS)

3.Sumador de direcciones

4.Bus de direcciones (20bits, es decir, 220 direcciones =1 MB de direccionamiento)

5.cola de instrucciones

6.unidad de ejecución

7.Lógica de control de bus

8.Bus de datos de la ALU

9.Unidad aritmética lógica (ALU)

10.Bus de direcciones

11.Bus de datos

12.Bus de control.

REGISTROS:

Los registros del i8086 e i8088 se basaron en el diseño del Intel 8080 y el Intel 8085, y de hecho son compatibles a nivel de ensamblador con el i8080. El conjunto de registros también es similar al del i8080, pero ampliados a 16 bits. Tanto el i8086 como el i8088 tienen cuatro registros generales de 16 bits, que también pueden ser accedidos como ocho registros de 8 bits, y tienen cuatro registros índice de 16 bits (incluyendo el puntero de pila). Los registros de datos se usan a veces de forma implícita por las instrucciones, haciendo más difícil la organización de los registros para emplearlos con valores temporales.

Los registros del procesador, se dedican a almacenar posiciones de memoria ya que el acceso a los registros es mucho mas rápido que los accesos a memoria, y se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre.

Registros de propósito general:

Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del sistema. Son únicos en el sentido de que se les puede direccionar como una palabra o como un byte. Dado que estos registros se pueden utilizar “como deseamos” (dentro de la tipologia de los datos), existe una definición para cada uno de ellos según la función que desarrolen y es recomendable utilizar-los adecuadamente según esa definición , ya que algunas instrucciones del procesador 8086 se utilizan solamente para un registro específico, optimizando así el código.

-Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética.

-Registro BX: El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado. También es común emplear el BX para cálculos.

-Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits.

-Registro DX: El registro DX es el registro de datos. Algunas operaciones de entrada/salida requieren su pulso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y AX trabajando juntos.

Registros Índice:

Los registros SI y DI están disponibles para direccionamiento indexado y para sumas y restas.

-Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres. El SI está asociado con el registro DS.

-Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. El DI está asociado con el registro ES.

Registros Apuntadores:

Los registros SP (apuntador de pila) y BP (apuntador base) están asociados con el registro SS y permiten al sistema accesar datos en el segmento de la pila.

-Registro SP: El apuntador de pila de 16 bits está asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. El sistema maneja de manera automática este registro.

-Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía la pila.

PATILLAJE:

Pines del 8086:

      +--\/--+
            GND  1|      |40 Vcc (+5V)
<-- A14 <-> D14  2|      |39 A15 --> D15 <->
<-- A13 <-> D13  3|      |38 A16 --> S3  -->
<-- A12 <-> D12  4|      |37 A17 --> S4  -->
<-- A11 <-> D11  5|      |36 A18 --> S5  -->
<-- A10 <-> D10  6|      |35 A19 --> S6  -->
<--  A9 <->  D9  7|      |34 !BHE/S7 -->
<--  A8 <->  D8  8|      |33 MN/!MX  <--
<--  A7 <->  D7  9| Intel|32 !RD     -->
<--  A6 <->  D6 10| 8086 |31 HOLD,  !RQ/!GTO <->
<--  A5 <->  D5 11|      |30 HLDA,  !RQ/!GT1 <->
<--  A4 <->  D4 12|      |29 !WR,   !LOOK    -->
<--  A3 <->  D3 13|      |28 M/!IO, !S2      -->
<--  A2 <->  D2 14|      |27 DT/!R, !S1      -->
<--  A1 <->  D1 15|      |26 !DEN,  !S0      -->
<--  A0 <->  D0 16|      |25 ALE,   QS0      -->
        --> NMI 17|      |24 !INTA, QS1      -->
        -->INTR 18|      |23 !TEST  <--
        --> CLK 19|      |22 READY  <--
            GND 20|      |21 RESET  <--
                  +------+

Pines del 8088:

   +--\_/--+
           GND  1|       |40 Vcc (+5V)
       <-- A14  2|       |39 A15 -->
       <-- A13  3|       |38 A16 --> S3 -->
       <-- A12  4|       |37 A17 --> S4 -->
       <-- A11  5|       |36 A18 --> S5 -->
       <-- A10  6|       |35 A19 --> S6 -->
       <--  A9  7|       |34 !SSO....HIGH,    -->
       <--  A8  8|       |33 MN/!MX           <--
<-> D7 <--  A7  9| Intel |32 !RD              -->
<-> D6 <--  A6 10| 8088  |31 HOLD....!RQ/!GTO <->
<-> D5 <--  A5 11|       |30 HLDA....!RQ/!GT1 <->
<-> D4 <--  A4 12|       |29 !WR.....!LOOK    -->
<-> D3 <--  A3 13|       |28 M/!IO...!S2      -->
<-> D2 <--  A2 14|       |27 DT/!R...!S1      -->
<-> D1 <--  A1 15|       |26 !DEN....!S0      -->
<-> D0 <--  A0 16|       |25 ALE.....QS0      -->
       --> NMI 17|       |24 !INTA...QS1      -->
       -->INTR 18|       |23 !TEST            <--
       --> CLK 19|       |22 READY            <--
           GND 20|       |21 RESET            <--
                 +-------+

Velocidad:

La frecuencia del reloj del i8086 e i8088 se sitúa entre 4,77 MHz y 10 MHz.

A continuación se muestra el número de ciclos, aproximados, necesarios para hacer algunas operaciones:

  • Suma: 3 – 4 (registro), 9+EA – 25+EA (acceso a memoria)
  • Multiplicación: 70 – 118 (registro), 76+EA – 143+EA (acceso a memoria)
  • Movimiento de datos: 2 (registro), 8+EA – 14+EA (acceso a memoria)
  • Salto cercano: 11 – 15, 18+EA (acceso a memoria)
  • Salto lejano: 15, 24+EA (acceso a memoria)

EA: tiempo necesario para calcular la dirección de memoria efectiva, que va de 5 a 12 ciclos.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: