sábado, 24 de agosto de 2013

Estructura y organización de un procesador (CPU).



Estructura y organización de un procesador (CPU).

CPU (del inglés: Central Processing Unit) Unidad Central de Procesamiento también conocido como microprocesador o simplemente procesador.


Que es el procesador?

Es el circuito integrado central y más complejo de un sistema informático conformado por millones de componentes electrónicos.
Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.


Estructura interna

El microprocesador 8086 y el 8088 tienen internamente dos componentes, la Unidad de Interfaz del Bus y la Unidad de ejecución (Bus Interface Unit (BIU) y Execution Unit (EU)).         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:
La explicación del diagrama en bloques es la siguiente:

Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida, y multiplicación y división (estas dos últimas en conjunto con el registro DX) 

Registro BX: El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado 

Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número 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 número de puerto de entrada/salida, y en las operaciones de multiplicación y división de 16 bits se utiliza junto con el acumulador AX

SP = El apuntador de pila de 16 bits está asociado con el segmento SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila
BP = El apuntador base de 16 bits facilita la referencia de parámetros dentro de la pila.SI = Puntero índice: Sirve como puntero fuente para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.
DI = Puntero destino: Sirve como puntero destino para las operaciones con cadenas. También sirve para realizar direccionamiento indirecto.

 

Unidad aritmética y lógica

Unidad aritmético lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.

 

Indicadores (flags)

  • OF (Over flow flag, desbordamiento): Indica desbordamiento del bit de mayor orden después de una operación aritmética de números con signo (1=existe overflow; 0=no existe overflow).
  • DF (Direction flag, Direccion): Controla la selección de incremento o decremento de los registros SI y DI en las operaciones con cadenas de caracteres (1=decremento automático; 0=incremento).
  • IF (Interruption flag, Interrupcion): Controla el disparo de las interrupciones (1=habilita las interrupciones; 0=deshabilita las interrupciones) Indica que una interrupción externa, como la entrada desde el teclado sea procesada o ignorada.
  • TF (Trap flag, Trampa): Permite la operación del procesador en modo de depuración (paso a paso)
  • SF (Sign flag, Signo): Contiene el signo resultante de una operación aritmética (0=positivo; 1=negativo).
  • ZF (Zero flag, Zero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero; 1=resultado igual a cero).
  • AF (Auxiliary carry flag, Acarreo auxiliar): Contiene el acarreo del bit 3. Esta bandera se prueba con las instrucciones DAA y DAS para ajustar el valor de AL después de una suma o resta BCD.
  • PF (Parity flag, Paridad): Indica si el número de bits 1, del byte menos significativos de una operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).
  • CF (Carry flag, Acarreo): Contiene el acarreo del bit de mayor orden después de una operación aritmética; también almacena el contenido del último bit en una operación de desplazamiento o de rotación.

Sistema de control de la unidad de ejecución

Es el encargado de decodificar las instrucciones que le envía la cola y enviarle las órdenes a la unidad aritmética y lógica según una tabla que tiene almacenada en ROM llamada CROM (Control Read Only Memory)

 

Registros de la unidad de interfaz con el bus:

CS: Registro de segmento de código: El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS.
DS: Registro de segmento de datos:
La dirección inicial de un segmento de datos de programa es almacenada en el registro DS.
ES: Registro de segmento extra:
Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro esta de segmento para manejar el direccionamiento de memoria.
SS: Registro de segmento de pila: El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos.
 IP: Contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta.







No hay comentarios:

Publicar un comentario