Registros

¿Qué es un registro?

Un registro es una memoria que esta ubicada en el procesador y se encuentra en el nivel más alto en la jerarquía de memoria, por lo tanto tiene una alta velocidad pero con poca capacidad para almacenar datos que va desde los 4 bits hasta los 64 bits dependiendo del procesador que se utilice. Los datos que almacena son los que se usan frecuentemente

Registros GPR:

Registros de propósito general (en inglés GPRs o General Purpose Registers), en arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador.
AX, AH, AL (Acumulador): a menudo conserva el resultado temporal
después de una operación aritmética o lógica.
BX, BH, BL (Base): Se utiliza para guardar la dirección base de listas de
datos en la memoria.
CX, CH, CL (Contador): Contiene el conteo para ciertas instrucciones de
corrimientos y rotaciones, de iteraciones en el ciclo loop y operaciones
repetidas de cadenas.
DX, DH, DL (Datos): Contiene la parte más significativa de un producto
después de una multiplicación; la parte más significativa del dividendo
antes de la división.

Registros Apuntadores Y De Índices:

•SP (Apuntador de pila): Contiene el desplazamiento con respecto al segmento de pila del tope de la pila del programa. El registro SP se emplea para direccionar datos en la pila cuando se ejecutan las instrucciones push y pop y cuando se llama o se regresa de un procedimiento mediante las instrucciones: call y ret, respectivamente.
• BP (Apuntador de base): Contiene el desplazamiento con respecto al segmento de pila
de datos almacenados en la pila de un programa.
• DI (Índice destino): Contiene el desplazamiento con respecto al segmento extra de un elemento de una cadena o arreglo.
• SI (Índice fuente): Contiene el desplazamiento con respecto al segmento de datos de un elemento de un arreglo o cadena.
• IP (Apuntador de instrucciones): Contiene siempre el desplazamiento con respecto al segmento de código de la localidad de memoria que contiene la siguiente instrucción que va a ejecutar el microprocesador.
Registros De Segmentos:
• CS (Código): Tiene la dirección lógica del segmento en que se encuentra el código de un programa. Si el código ocupa más de un segmento, contiene la dirección lógica de uno de los segmentos.
• DS (Datos): Tiene la dirección lógica del segmento en que se encuentran los datos estáticos de un programa. Si los datos ocupan más de un segmento, contiene la dirección lógica de uno de los segmentos.
• ES (Extra): Este registro también tiene la dirección lógica de uno de los segmentos en que se encuentran los datos estáticos de un programa. Este registro se utiliza en ciertas operaciones del microprocesador para el manejo de cadenas.
• SS (Pila): Tiene la dirección lógica del segmento en que se encuentran la pila del sistema. La pila no puede ser mayor a un segmento.

Registros de Control:

Se utilizan para controlar las operaciones del procesador, la mayor parte de estos registros no son visibles al usuario y algunos pueden ser accesibles a las instrucciones de maquina ejecutadas en un modo de control. Los registros utilizados son los siguientes:

 

  • Registro de direcciones de memoria (MAR), el cual contiene la dirección en donde se efectuará la próxima lectura o escritura de datos. El numero de direcciones depende del tamaño de la MAR.
  • Registro de datos de memoria (MBR), contiene los datos que van a ser escritos en la memoria o los que fueron leídos en ella.
  • Registro de direcciones de entrada y salida (I/O AR), especifica al dispositivo ya sea de entrada o salida.
  • Registro de datos de entrada y salida (I/O BR), es una área temporal en donde se lleva a cabo el intercambio de datos entre el procesador y el dispositivo de entrada y salida que esta especificado en IOAR.
  • Registro de instrucciones (IR), contiene la dirección de la siguiente instrucción que se va a ejecutar.
  • Palabras de estado del programa (PSW), contiene códigos de condición junto con otras informaciones de estado como el signo, acarro, desbordamiento, entre otras.

h3b-f1