Está en la página 1de 20

Arquitectura del 8086

Organizacin del Computador

Organizacion del Computador 2013 Docente Laura Almada

Caractersticas generales

Organizacion del Computador 2013 Docente Laura Almada

Hoja de datos del 8088

Organizacion del Computador 2013 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 2013 Docente Laura Almada 4

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 2013 Docente Laura Almada 5

Diagrama en bloques del micro 8086/8088 Docente Laura Almada

Organizacion del Computador 2013

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 2013 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 2013 Docente Laura Almada 8

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 2013 Docente Laura Almada 9

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 2013 Docente Laura Almada 10

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 desborde aritmtico Bit 12 al 15 :no usados

Organizacion del Computador 2013 Docente Laura Almada

11

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 2013 Docente Laura Almada 12

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 2013 Docente Laura Almada 13

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 2013 Docente Laura Almada 14

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.

Organizacion del Computador 2013 Docente Laura Almada

15

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 2013 Docente Laura Almada

16

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 2013 Docente Laura Almada 17

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 2013 Docente Laura Almada 18

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 2013 Docente Laura Almada

19

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 10h) y suma el valor del offset para obtener un valor de 20 bits necesarios.
Direccin efectiva, lgica u offset

4 bits
Direccin de segmento

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

Direccin fsica

0000

Organizacion del Computador 2013 Docente Laura Almada

20 BITS

20

También podría gustarte