Anda di halaman 1dari 9

Arquitectura de Microprocesadores

2011

INTRODUCCION A LA ARQUITECTURA DE MICROPROCESADORES

El microprocesador 8086/8088 - Caractersticas La arquitectura de estos dos procesadores es similar, la nicas diferencias entre ambos es que el diseo del 8088 tiene un bus de 8 bits para los datos, mientras que el 8086 puede transferir 16 bits a la vez en el mismo bus. Y la cola de instrucciones del 8088 es de 4 bytes y la del 8086 es de 6 bytes. Sus caractersticas que destacan son el bus de direcciones de 20 bits, con lo que pueden direccionar hasta 1 Megabyte de memoria RAM, y hacer el manejo de memoria en forma segmentada en bloques de 64K bytes. Para esto cuenta con 4 registros de segmento de 16 bits cada uno (CS, SS, DS y ES) y con registros de 16 bits como offset (IP, SP, DI y SI principalmente). Otra caracterstica importante fue que estos dos microprocesadores eran capaces de realizar la multiplicacin y la divisin por hardware, cosa que los anteriores no podan.

Estos microprocesadores tienen 2 procesadores conectados internamente: EU Unidad de ejecucin (Execution Unit). BIU Unidad de interfaz con el Bus (Bus Interface Unit).

FP-UNE

Arquitectura de Microprocesadores

2011

Diagrama de bloque de los microprocesadores Intel 8086 y 8088.

1. Bloque de registros de propsito general 2. Bloque de registros de segmento y registro IP 3. Sumador de direcciones 4. Bus de direcciones interno 5. Cola de instrucciones (4 bytes para el 8088 y 6 bytes para el 8086) 6. Unidad de control (muy simplificada) 7. Interfaz del bus 8. Bus de datos interno 9. Unidad aritmtico lgica (ALU) 10, 11, 12 Bus de direcciones, datos y control externos

ARQUITECTURA DE LOS PROCESADORES 8088 Y 8086


FP-UNE

Arquitectura de Microprocesadores

2011

La ventaja de esta divisin fue el ahorro de esfuerzo necesario para producir el 8088. Slo una mitad del 8086 (el BIU) tuvo que redisearse para producir el 8088.

FP-UNE

Arquitectura de Microprocesadores

2011

Unidad de Ejecucin (UE) y Unidad de Interface de Va (BIU) La unidad de ejecucin (EU) se encarga de realizar las operaciones aritmticas y lgicas, adems de proporcionar las direcciones lgicas al BIU (una direccin lgica est formada de dos direcciones, la primera indica el segmento en el cual se est trabajando y la otra indica el offset, o desplazamiento, de este segmento; esto es segment:offset). La EU tiene una unidad aritmtica lgica (ALU) de 16 bits, un registro de banderas y un conjunto de registros de propsito general. El registro de banderas 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. La unidad de interfaz con el Bus (BIU) es la responsables de la comunicacin externa del procesador. Esta unidad de proceso se encarga de traducir las direcciones lgicas a direcciones fsicas de la memoria con ayuda de los registros de segmento DS, SS, ES, CS e IP. Registros Los registros del procesador, se dedican a almacenar posiciones de memoria ya que el acceso a los registros es mucho ms rpido que los accesos a memoria, y se emplean para controlar instrucciones en ejecucin, manejar direccionamiento de memoria y proporcionar capacidad aritmtica. Los registros son direccionables por medio de un nombre. A continuacin se detallan cada uno de estos registros, divididos segn reas de funcionalidad: Registros de uso general:

Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmtica. Registro BX: El registro BX es el registro base, y es el nico registro de propsito general que puede ser un ndice para

FP-UNE

Arquitectura de Microprocesadores

2011

direccionamiento indexado. Tambin es comn emplear el BX para clculos.

Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el nmero de veces que un ciclo se repite o un valor para corrimiento de bits. Registro DX: El registro DX es el registro de datos. En algunas operaciones se indica mediante este registro el nmero de puerto de entrada/salida, y en las operaciones de multiplicacin y divisin de 16 bits se utiliza junto con el acumulador AX.

Registros de segmento Son cuatro registros de 16 bits usados para indicar direcciones de memoria. - CS (Code Segment): Este registro es usado por el procesador, junto con el registro IP, para conocer dnde est la instruccin actual que est siendo ejecutada. - DS (Data Segment): Se usa para indicar dnde estn todos los datos del programa en ejecucin. - SS (Stack Segment): En este registro se indica al procesador dnde est la zona de memoria que se usa como segmento de pila. - ES (Extra Segment): Es el registro que referencia al segmento extra, y se usa como apuntador de memoria auxiliar en operaciones complejas donde se necesitan dos punteros de datos simultneos. Registros de la pila La pila es un rea de memoria importante. Tiene, en vez de uno, dos registros que se usan como desplazamiento (offset) para apuntar su contenido. Se usan como complemento al registro SS y son: - SP (Stack Pointer): Es el registro que se reserva el procesador para uso propio en instrucciones de manipulacin de la pila. - BP (Base Pointer): Se usa como registro auxiliar.
FP-UNE

Arquitectura de Microprocesadores

2011

Registros ndices. Se utilizan como desplazamientos complementarios para DS y ES a la hora de indicar la posicin donde se encuentran los datos a los que se desea acceder. Son: - SI (Source index): Se usa como puntero origen en operaciones de desplazamiento de datos entre dos zonas de memoria. - DI (Destination index). Se usa como destino en operaciones de desplazamiento de datos. Registros de instruccin: Slo hay uno, el registro IP (Instruction Pointer), es usado por la CPU para conocer la posicin relativa a la base CS donde se encuentra la instruccin que se est ejecutando actualmente. Este registro no puede ser modificado directamente por parte del programador. Este puntero cambia su contenido automticamente cada vez que se ejecuta una instruccin o cuando se salta a otro punto del programa mediante una instruccin de salto. Registro de Banderas: Este registro es usado para tener el control de estado y control de las operaciones.

El bus interno Los diversos elementos de un microprocesador estn interconectadas de forma muy compleja (el propio micro lo s). En realidad existen varios buses principales, cuya anchura que es dos a cuatro veces la del bus externo de los PC's, y muchos ms secundarios.

FP-UNE

Arquitectura de Microprocesadores

2011

Unidad Aritmtica Lgica(ALU) Es la encargada de realizar las operaciones aritmticas (suma, suma con "arrastre", resta, resta con "prstamo" y comparaciones) y lgicas (AND, OR, XOR y TEST). Las operaciones pueden ser de 16 bits o de 8 bits.

Lgica de Control de Bus El cometido de este bloque es poder unir los bloques anteriormente mencionados con el mundo exterior, es decir, la memoria y los perifricos. El 8088 tiene un bus de datos externo reducido de 8 bits. La razn para ello era prever la continuidad entre el 8086 y los antiguos procesadores de 8 bits, como el 8080 y el 8085. Teniendo el mismo tamao del bus (as como similares requerimientos de control y tiempo), el 8088, que es internamente un procesador de 16 bits, puede reemplazar a los microprocesadores ya nombrados en un sistema ya existente. El 8088 tiene muchas seales en comn con el 8085, particularmente las asociadas con la forma en que los datos y las direcciones estn multiplexadas, aunque el 8088 no produce sus propias seales de reloj como lo hace el 8085 (necesita un chip de soporte llamado 8284, que es diferente del 8224 que necesitaba el microprocesador 8080). El 8088 y el 8085 siguen el mismo esquema de compartir los terminales correspondientes a los 8 bits ms bajos del bus de direcciones con los 8 bits del bus de datos, de manera que se ahorran 8 terminales para otras funciones del microprocesador. El 8086 comparte los 16 bits del bus de datos con los 16 ms bajos del bus de direcciones. El 8085 y el 8088 pueden, de hecho, dirigir directamente los mismos chips controladores de perifricos. Las investigaciones de hardware para sistemas basados en el 8080 o el 8085 son, en su mayora, aplicables al 8088. En todo lo recin explicado se bas el xito del 8088.

Sistema de Control del EU


FP-UNE

Arquitectura de Microprocesadores

2011

Es el encargado de decodificar las instrucciones que le enva la cola y enviarle las rdenes a la unidad aritmtica y lgica segn una tabla que tiene almacenada en ROM llamada CROM (Control Read Only Memory).

Cola de Instrucciones Almacena las instrucciones para ser ejecutadas. La cola se carga cuando el bus est desocupado, de esta manera se logra una mayor eficiencia del mismo. La cola del 8086 tiene 6 bytes y se carga de a dos bytes por vez (debido al tamao del bus de datos), mientras que el del 8088 tiene cuatro bytes. Esta estructura tiene rendimiento ptimo cuando no se realizan saltos, ya que en este caso habra que vaciar la cola (porque no se van a ejecutar las instrucciones que van despus del salto) y volverla a cargar con instrucciones que se encuentran a partir de la direccin a donde se salta. Debido a esto las instrucciones de salto son (despus de multiplicaciones y divisiones) las ms lentas de este microprocesador. Lenguaje ensamblador El lenguaje ensamblador, o assembler (assembly language en ingls ) es un lenguaje de programacin de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representacin simblica de los cdigos de mquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representacin ms directa del cdigo mquina especfico para cada arquitectura legible por un programador. Aunque los informticos suelen utilizan el vocablo ensamblador como sinnimo de lenguaje-mquina, en realidad hay una diferencia importante entre ambos. El verdadero lenguaje mquina es un conjunto de instrucciones en forma de unos y ceros, cuya traduccin ASCII es uno, dos, o ms caracteres por instruccin, segn el tipo de instruccin y procesador utilizado. Por ejemplo, en el 8088, las instrucciones 51h; 52h y 53h son respectivamente rdenes de salvar el contenido de los registros CX, DX y BX en la pila, pero escribir directamente en este lenguaje nativo
FP-UNE

Arquitectura de Microprocesadores

2011

sera inhumano. En realidad se utiliza un lenguaje denominado ensamblador o macro-ensamblador; este lenguaje ha sustituido cada instruccin-mquina por un nemnico o macroinstruccin que la hace ms fcil de recordar por el programador. Por ejemplo, las instrucciones anteriores pueden escribirse como: PUSH CX; PUSH DX y PUSH BX respectivamente (como puede ver mucho ms fciles de recordar). Aunque es de muy bajo nivel (muy cercano al lenguaje-mquina), este lenguaje dispone de algunas otras comodidades, como permitir escribir comentarios en la fuente. Posteriormente el compilador traduce nuestros nemnicos al verdadero lenguaje-mquina y el conjunto es ensamblado en un conjunto ejecutable.

FP-UNE

Anda mungkin juga menyukai