Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema4 Inf2207
Tema4 Inf2207
Microprocesadores de propósito
general 8086/8088
Contenido
Características.
Estructura de los microprocesadores 8086/8088.
Unidad de Ejecución
Unidad de Interfaz de Bus
Colas de instrucciones.
Juego de registros.
Segmentación
CARACTERISTICAS 8086/8088
EU BIU
La unidad de ejecución (EU)
o Es la responsable de la
comunicación externa del
procesador. Esta unidad de proceso
se encarga de traducir las
direcciones lógicas a direcciones
físicas de la memoria con ayuda de
los registros de segmento DS, SS, ES,
CS e IP.
AX, BX, CX, DX: pueden utilizarse bien como registros de 16 bits o como dos
registros separados de 8 bits (byte superior e inferior) cambiando la X
por H o L según queramos referirnos a la parte alta o baja
respectivamente. Por ejemplo,
AX se descompone en AH (parte alta) y AL (parte baja). Evidentemente,
¡cualquier cambio sobre AH o AL altera AX
AX AH AL
BX BH BL Registros de datos
que forman el
CX CH CL
grupo principal de
DX DH DL trabajo
8 bit 8 bit
Registros de datos o de propósito general
AX = Acumulador.
Es el registro principal, es utilizado en las instrucciones de multiplicación y
división y en algunas instrucciones aritméticas especializadas, así como
en ciertas operaciones de carácter específico como entrada, salida y
traducción.
Obsérvese que el 8086 es suficientemente potente para realizar las
operaciones lógicas, la suma y la resta sobre cualquier registro de datos,
no necesariamente el acumulador.
BX = Base
Se usa como registro base para referenciar direcciones de memoria con
direccionamiento indirecto, manteniendo la dirección de la base o
comienzo de tablas o matrices.
De esta manera, no es preciso indicar una posición de memoria fija, sino la
número BX (así, haciendo avanzar de unidad en unidad a BX, por
ejemplo, se puede ir accediendo a un gran bloque de memoria en un
bucle).
Registros de propósito general
CX = Contador
Se utiliza comúnmente como contador en bucles y operaciones
repetitivas de manejo de cadenas. En las instrucciones de
desplazamiento y rotación se utiliza como contador de 8 bits.
DX = Datos
Usado en conjunción con AX en las operaciones de multiplicación y
división que involucran o generan datos de 32 bits. En las de
entrada y salida se emplea para especificar la dirección del
puerto E/S.
Registros de segmento:
Segmento de código CS
Segmento de datos DS
Registros de
Segmento de pila SS Segmentos
Segmento extra ES
Registros de segmento:
Puntero Base BP
Punteros de 16
Stack pointer SP bit
Indice Fuente SI
Punteros de 16 bit
Indice Destino DI
Banderas Flags
CS CS Segmento de código
SS SS Segmento de pila
GS DS
TRASLAPE DE SEGMENTOS
CS CS
SEGMENTO DE PROGRAMA
CÓDIGO SEGMENTO DE
CÓDIGO
DS
SEGMENTO DE
DATOS
OTRO SEGMENTO
ES
SEGMENTO EXTRA
DE DATOS
SS
STACK
MEMORIA
MEMORIA
SEGMENTACIÓN
FFFFF
Dirección lógica
Dirección física
SEGMENTO Registro de segmento
Desplaz
amiento
Dirección de segmento
CPU
Memoria
Segmento de Memoria
FFFFF
o Un segmento es un área
continua de memoria que puede
tener hasta 64K-bytes, que
debe comenzar en una localidad
SEGMENTO de memoria cuya dirección sea
límite de 16 bytes (cantidad
denominada párrafo) y que
puede traslaparse con otros
segmentos.
Memoria
Segmentos de Memoria
Los programas tratan con dirección Lógicas mas que con la dirección
Física.
Dirección
efectiva,
lógica u
offset + 4 bits EL REGISTRO DE
SEGMENTO SE
Dirección de
0000 DESPLAZA 4 BITS
segmento HACIA LA
IZQUIERDA
(MULTIPLICACIÓN
x16)
Dirección física
20 BITS
Formación de una Dirección Física
Formación de una Dirección Física
Por Ejemplo:
Si la dirección base del segmento es
2915h, entonces las direcciones en
este segmento inician en 2915:0000
y van hasta 2915:FFFF
Evolución de los derivados del 8086
de Intel
Nombre Año Bus de Espacio de direcciones Comentarios
datos Real Virtual
8086 1978 16 1M - Primer procesador de 16 bits
8088 1980 8 1M - Bus de 8 bits
80186 1982 16 1M - 8086 +gestión de E/S
80188 1982 8 1M - 8086 +gestión de E/S
80286 1982 16 16M 1G 8086 +gestión de memoria
80386 1985 32 4G 64T Registros de 32 bits
80386SX 1988 16 4G 64T 80386 con bus de 16 bits
80386SL 1990 16 4G 64T 80386SX de bajo consumo
80486 1989 32 4G 64T 80386 + coprocesador y caché