You are on page 1of 20

Arquitectura del 8086

Organizacin del Computador

Organizacion del Computador 2012


Docente Laura Almada

Caractersticas generales

Organizacion del Computador 2012


Docente Laura Almada

Hoja de datos del 8088

Organizacion del Computador 2012


Docente Laura Almada

Los procesadores previos al 8086, estaban


limitados en su desempeo por la
necesidad de realizar los dos pasos
principales de ejecucin del procesador:
Fetch/Execute, en forma secuencial. Es
decir, no se puede ejecutar una instruccin
hasta que se traiga de memoria (Fetch); y
no podan traerse instrucciones de memoria
mientras ejecutaba una instruccin, pues el
procesador estaba ocupado.
Organizacion del Computador 2012
Docente Laura Almada

Pipeline del Fetch/Execute


Intel desarroll la arquitectura en pipeline del
Fetch/Execute, en la cual se divide la tarea en dos
secciones:
una encargada del Fetch (BIU)
otra del Execute (EU).
De esta manera, existen circuitos separados para
cada funcin, los cuales trabajan en paralelo.
El proceso an es secuencial,pero solo se
desperdicia tiempo en el Fetch.
A partir de ah, Fetch va adelante del Execute, y trae
instrucciones al procesador mientras este ejecuta las
anteriores.
Organizacion del Computador 2012
Docente Laura Almada

Organizacion del Computador 2012

Diagrama en bloques
delAlmada
micro 8086/8088
Docente Laura

La unidad de ejecucin (EU)


Realiza las operaciones aritmtico/ lgicas,
adems de proporcionar las direcciones lgicas a
la unidad de interfaz con el Bus
Tiene :
una unidad aritmtica lgica (ALU) de 16 bits
un registro de indicadores o banderas (Flags)

un conjunto de registros de propsito general.

Organizacion del Computador 2012


Docente Laura Almada

ALU
La unidad aritmtico-lgica se encarga de las
operaciones arit/log con los datos que recibe
siguiendo ordenes de la Unidad de Control.

Realiza
Operaciones +,-,*,/
Operaciones lgicas and, or, xor ,not
Operaciones de rotacin y desplazamiento
Operaciones de transformacin de operando
como extensin de signo
Organizacion del Computador 2012
Docente Laura Almada

Registro de Flags
El registro de Flags contiene 6 banderas de estado (que la EU
manipula para indicar el estado del resultado de una operacin
lgica o aritmtica) y 3 banderas de control que se pueden
manipular por los programas para alterar las operaciones del
procesador .

Bit 0-Carry Flag :es la bandera de carry.se pone en 1 cuando


hay acarreo en una op.aritmtica.
Bit1 :no usado
Bit2:Parity Flag : en 1 cuando hay un par de bits activos
Organizacion del Computador 2012
Docente Laura Almada

Bit 3:no usado


Bit 4:AuxiliarFlag:se pone en 1 cuando se hacen
ajustes tras una operacin BCD
Bit5 :no usado
Bit6-ZeroFlag:indica si el resultado es cero o
comparacin con operadores iguales.
Bit7-Sign Flag: indica si el resultado de una
operacin es negativo o comparacin menor.
Bit8-Trap Flag: se usa en depuracin de cdigo.
Bit9-Interrup Flag: en 1 se permite la generacin
de interrupciones de hardware, como por
ejemplo la del teclado.
Organizacion del Computador 2012
Docente Laura Almada

Bit 10-Direction Flag: indica a la CPU hacia


dnde se desplazan los punteros relativos en
operaciones de loop decadenas de datos.
Bit11-Overflow Flag:indicaca si existe desbirde
aritmtico
Bit 12 al 15 :no usados

Organizacion del Computador 2012


Docente Laura Almada

Registros de uso General


Son de 16 bits permiten la realizacin de operaciones de tipo
byte, estn divididos en sub-registros que se pueden usar
independientemente.
Ax(registro acumulador):usado en operaciones aritmticas
como primer operando y tambin como registro de
propsito gral a disposicin del programador.
Bx(registro base):usado para indicar posiciones de memoria
u offset
Cx(registro contador):se usa como contador en operaciones
repetitivas o bucles.
Dx(registro dato):se usa como auxiliar en operaciones
matemticas y como contenedor a la hora de usar
instrucciones de comunicacin de puertos.
Organizacion del Computador 2012
Docente Laura Almada

Punteros ndice
SI = ndice fuente (source index).Utilizado como
registro de ndice en ciertos modos de
direccionamiento indirecto, tambin se emplea para
guardar un valor de desplazamiento en operaciones
de cadenas.
DI = ndice destino (destination index). Se usa en
determinados modos de direccionamiento indirecto
y para almacenar un desplazamiento en operaciones
con cadenas.
Organizacion del Computador 2012
Docente Laura Almada

La Unidad de Interfase con el Bus (BIU)


Contiene registros de segmento para
trabajar en y con la memoria
Tiene una cola de pre-bsqueda
Tiene el generador de direcciones fsicas
que traduce las direcciones lgicas a
direcciones fsicas de la memoria con
ayuda de los registros de segmento DS,
SS, ES, CS e IP.
Contiene tambin al controlador de BUS
Organizacion del Computador 2012
Docente Laura Almada

Registros de segmento
Definen reas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086.
Estas reas pueden traslaparse total o parcialmente. No es posible acceder a
una posicin de memoria no definida por algn segmento: si es preciso, habr
de moverse alguno.
CS = Registro de segmento de cdigo (code segment).
Contiene la direccin del segmento con las instrucciones del programa.
Los programas de ms de 64 Kb requieren cambiar CS peridicamente.
DS = Registro de segmento de datos (data segment).
Segmento del rea de datos del programa.
SS = Registro de segmento de pila (stack segment).
Segmento de pila.
ES = Registro de segmento extra (extra segment).
Segmento de ampliacin para zona de datos.
Es extraordinariamente til actuando en conjuncin con DS: con ambos se
puede definir dos zonas de 64 Kb, tan alejadas como se desee en el espacio de
direcciones, entre las que se pueden intercambiar datos
Organizacion del Computador 2012
Docente Laura Almada

Punteros de pila
SP = Puntero de pila (stack pointer).Apunta al inicio de la pila.
Utilizado en las instrucciones de manejo de la pila.
BP = Puntero base (base pointer).Es un puntero de base, que
apunta a una zona dentro de la pila dedicada al
almacenamiento de datos (variables locales y parmetros de
las funciones en los programas compilados).
IP = Puntero de instruccin (instruction pointer). Marca el
desplazamiento de la instruccin en curso dentro del
segmento de cdigo. Es automticamente modificado con la
lectura de una instruccin.

Organizacion del Computador 2012


Docente Laura Almada

Cola de instrucciones
El BIU trabaja en paralelo con el EU y requieren
un mecanismo para comunicarse.
La EU obtiene instrucciones que la BIU almacena
en la cola de prebsqueda en el mismo orden en
que fueron colocadas all,y puede ejecutarlas
secuencialmente sin importar en qu paso de la
obtencin de la instruccin est la BIU. Cuando el
bus est desocupado, la cola se carga con las
prximas instrucciones.
Organizacion del Computador 2012
Docente Laura Almada

Unidad de control
La unidad de control controla el funcionamiento de la CPU:
controla las transferencias de datos desde hacia la CPU y
controla la ALU.
Sus funciones son:
Generar la secuencia de estados del procesador.
Decodificar las instrucciones, determinando as los pasos para
su ejecucin.
Para cada instruccin hay un nico cdigo que ejecutar esa
instruccin.
La unidad de control acepta la instruccin y genera las seales
de control necesarias para que la instruccin se ejecute.
Organizacion del Computador 2012
Docente Laura Almada

Generador de direcciones fsicas


Como las direcciones son de 20 bits, y los registros que
nos permiten accederas son de 16, se requiere de 2
registros para que en combinacin formen la direccin.
Esta combinacin est basada en la arquitectura
segmentada que veremos ms adelante. La funcin del
generador de direcciones fsicas consiste en realizar
esa combinacin, para lo cual contiene la circuitera
necesaria para calcular la frmula:
Direccin Fsica = Segmento * 0010h + Desplazamiento
Organizacion del Computador 2012
Docente Laura Almada

Para convertir una direccin lgica en una


direccin fsica el BIU corre el valor del
registro de segmento 4 posiciones a la
izquierda (que es equivalente a multiplicar
por 16h) y suma el valor del offset para
obtener un valor de 20 bits necesarios.
Direccin efectiva,
lgica u offset

4 bits
Direccin de
segmento

0000

Direccin fsica

20 BITS

Organizacion del Computador 2012


Docente Laura Almada

EL REGISTRO DE
SEGMENTO SE
DESPLAZA 4 BITS
HACIA LA
IZQUIERDA
(MULTIPLICACIN
x16)