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.
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:
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.
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