domingo, 12 de octubre de 2014

Registros del procesador



Los registros del procesador son sitios de almacenamiento rápido y temporal, se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética.  Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee.
 

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda, como en:

... 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0


Los registros internos del procesador se pueden clasificar en 6 tipos diferentes:

1.     Registros de segmento
Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria para direccionamiento conocida como el segmento actual.

Registro CS: El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS.  Esta dirección de segmento, más un valor de desplazamiento en el registro apuntador de instrucción (IP),  indica la dirección de una instrucción que es buscada para su ejecución.

Registro DS: Genera una referencia a la localidad de un byte especifico en el segmento de datos.

Registro SS: Permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos.

Registros ES: Alguna operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro extra de segmento para manejar el direccionamiento de memoria.


2.     Registros de propósito general
Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del sistema. Son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte.

Registro AX: El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética.

Registro BX: El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado.

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

Registros DX: El registro DX es el registro de datos. En algunas operaciones se indica mediante estos registros 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.

3.     Registros Apuntadores
Los registros SP (apuntador de la pila) Y BP (apuntador de base) están asociados con el registro SS y permiten al sistema acceder datos en el segmento de la pila.

Registro SP: El apuntador de la pila de 16 bits está asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila.

Registro BP: El BP de 16 bits facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía pila.


4.     Registro de Banderas
Muchas instrucciones que piden comparaciones y aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden realizar pruebas para determinar la acción subsecuente. En resumen, los bits de las banderas comunes son como sigue:

OF (Over flow, Desbordamiento): Indica desbordamiento de un bit de orden alto (más a la izquierda) después de una operación aritmética.

DF (Direction flag, Dirección): Designa la dirección hacia la izquierda o hacia la derecha para mover o comparar cadenas de caracteres.

IF (Interruption flag, Interrupción): 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, Cero): Indica el resultado de una operación aritmética o de comparación (0 = resultado diferente de cero y 1 = resultado igual a cero).

AF (Auxiliary carry flag, Acarreo Auxiliar): Contiene un acarreo externo del bit 3 en un dato de 8 bits para aritmética especializada.

PF (Parity flag, Paridad): Indica paridad par o impar de una operación en datos de 8 bits de bajo orden (más a la derecha).

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.



5.     Registro de Apuntador de Instrucciones
El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El IP está asociado con el registro CS en el sentido de que el IP indica la instrucción actual dentro del segmento de código que se está ejecutando actualmente.


6.     Registros de PILA
La pila es un área de memoria importante y por ello tiene, en vez de uno, dos registros que se usan como desplazamiento (offset) para apuntar a su contenido. Se usan como complemento al registro y son:

SP- Stack Pointer: Se traduce como puntero de pila y es el que se reserva el procesador para uso propio en instrucciones de manipulado de pila. Por lo general, el programador no debe alterar su contenido.

BP- Base pointer: Se usa como registro auxiliar. El programador puede usarlo para su provecho.
Claro que estos nombres y tipos de registros son estándar, ya que cada fabricante puede utilizar otros registro que reemplacen a estos o los auxilien, aun así, los fabricantes que usan otros registro tienen la misma función que los anteriormente mencionados.

No hay comentarios:

Publicar un comentario