Está en la página 1de 6

CPU:

Microprocesador 8086 Intel


(Arquitectura de 16 bits – Bus externo 8 bits)
N° Transistores: 30.000 –140.000
Longitud de palabra: 16 bits
Ejecuta instrucciones de un programa
Procesa datos
Operaciones aritméticas
Decisiones lógicas
* MEMORIA:
Secundaria: Floppy, CDs, DVD, Disco duro (write and read)
Primaria: Memoria de Programa: Instrucciones del OS y programas aplicativos
Memoria de Datos: Información a procesar por los programas.
ROM (Read Only Memory) No volátil
RAM (Read and Write Memory) Volátil
CARACTERÍSTICAS DE LAS UNIDADES DEL 8086
BIU:
* Operaciones de bus externas
* Adquisición de datos
* Bus de datos bidireccional de 16 bits
* Bus de direcciones de 20 bits
* Señales de control
* Instrucciones de apilamiento
* Generación de direcciones.
* Apilamiento de 6 bytes de códigos de instrucción
EX:
* Decodificar y ejecutar instrucciones
* Toma instrucciones de pila y datos de los registros de propósito general o la memoria
2|Página
MEMORIA INTERNA
Los microprocesadores poseen dos tipos de memorias de memoria interna: memoria de acceso
aleatorio (RAM) y memoria de solo lectura (ROM).
Los bytes en memoria se enumeran de forma consecutiva iniciando en cero, de modo que cada
localidad tiene un número de dirección único.
ROM: En ella la información viene grabada permanentemente y no puede ser modificada, sólo
leída. Útiles para guardar programas y/o datos que no necesitan cambiarse. Se divide en ROM
BOOT y ROM BIOS.
RAM: La información se puede leer y también sobrescribir información nueva sobre la anterior. En
ella se ubican los programas que se cargan en el computador y los datos que se desarrollan al
activar tales programas.

MAPA DE LA MEMORIA

3|Página
Patillaje
Pines del 8086. La líneas del bus de direcciones se ven en rojo, las del bus de datos en azul y las
del bus de control en verde. Las líneas del bus de energía se ven en negro. Estos procesadores
multiplexan en tiempo el bus de direcciones, con el bus de datos y control. En el 8086 se ven los
pines del 2 al 16 y los pines 35 al 39 con doble funcionalidad, en un momento determinado
transportan la dirección y en otro momento entran o salen los datos (o sale información de algunas
líneas del bus de control).
+--\/--+
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, !LOCK -->
<-- 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 <--
+------+
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.

4|Página
ARQUITECTURA
El 8086 es un microprocesador de 16 bits, tanto en lo que se refiere a su estructura como en sus
conexiones externas, mientras que el 8088 es un procesador de 8 bits que internamente es casi
idéntico al 8086. La única diferencia entre ambos es el tamaño del bus de datos externo. Intel trata
esta igualdad interna y desigualdad externa dividiendo cada procesador 8086 y 8088 en dos sub-
procesadores. O sea, cada uno consta de una unidad de ejecución (EU: Execution Unit) y una
unidad interfaz del bus (BIU: Bus Interface Unit). La unidad de ejecución es la encargada de
realizar todas las operaciones mientras que la unidad de interfaz del bus es la encargada de
acceder a datos e instrucciones del mundo exterior. Las unidades de ejecución son idénticas en
ambos microprocesadores, pero las unidades de interfaz del bus son diferentes en varias
cuestiones, como se desprende del siguiente diagrama en bloques:
Tienen 16 bits cada uno y son ocho:
1) AX = Registro acumulador, dividido en AH y AL (8 bits cada uno).
2) BX = Registro base, dividido en BH y BL.
3) CX = Registro contador, dividido en CH y CL.
4) DX = Registro de datos, dividido en DH y DL.
5) SP = Puntero de pila (no se puede subdividir).
6) BP = Puntero base (no se puede subdividir).
7) SI = Puntero índice (no se puede subdividir).
8) DI = Puntero destino (no se puede subdividir).
Cualquiera de estos registros puede utilizarse como fuente o destino en operaciones aritméticas y
lógicas, lo que no se puede hacer con ninguno de los seis registros que se verán más adelante.
Además de lo anterior, cada registro tiene usos especiales:
AX: Usándolo se produce (en general) una instrucción que ocupa un byte menos que si se
utilizaran otros registros de uso general. Su parte más baja, AL, también tiene esta propiedad. El
último registro mencionado es el equivalente al acumulador de los procesadores anteriores (8080
y 8085). Además hay instrucciones como DAA; DAS; AAA; AAS; AAM; AAD; LAHF; SAHF; CBW;
IN y OUT que trabajan con AX o con uno de sus dos bytes (AH o AL). También se utiliza este
registro (junto con DX a veces) en multiplicaciones y divisiones.
BX: Es el registro base de propósito similar (se usa para direccionamiento indirecto) y es una
versión más potente del par de registros HL de los procesadores anteriores.

CX: Se utiliza como contador en bucles (instrucción LOOP), en operaciones con cadenas (usando
el prefijo REP) y en desplazamientos y rotaciones (usando el registro CL en los dos últimos
casos).

5|Página
DX: Se utiliza junto con el registro AX en multiplicaciones y divisiones, en la instrucción CWD y en
IN y OUT para direccionamiento indirecto de puertos (el registro DX indica el número de puerto de
entrada/salida).
SP: Aunque es un registro de uso general, debe utilizarse sólo como puntero de pila, la cual sirve
para almacenar las direcciones de retorno de subrutinas y los datos temporarios (mediante las
instrucciones PUSH y POP). Al introducir (push) un valor en la pila a este registro se le resta dos,
mientras que al extraer (pop) un valor de la pila este a registro se le suma dos.
BP: Generalmente se utiliza para realizar direccionamiento indirecto dentro de la pila.
SI: Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar
direccionamiento indirecto.
DI: Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar
direccionamiento indirecto.

6|Página