Registro Descripción
eax Acumulador para operaciones aritmetico lógicas
ebx Registro base para acceder a memoria
ecx Contador para algunas instrucciones
Edx Registro de datos usado para algunas operaciones de entrada/salida
edi Apuntador a destino para operaciones con cadenas de caracteres
esi Apuntador a origen para operaciones con cadenas de caracteres
Esp Apuntador de pila
Ebp Apuntador de marco de pila
- Registros visibles al usuario: Permiten al programador de lenguaje de máquina o ensamblador minimizar las referencias a memoria principal optimizando el uso de los registros
- Registros de control: Son utilizados por la unidad de control para controlar el funcionamiento de la CPU y por programas privilegiados del sistema para controlar la ejecución de programas.
- Registro de estado: Se utiliza para tomar decisiones en función de operaciones realizadas.
- Registro puntero a pila.
Registros Visibles al Usuario
Un registro visible al usuario es aquel que puede ser referenciado mediante el lenguaje de máquina que ejecuta el CPU. Estos registros pueden ser categorizados como sigue:
• Registros de Propósito General: Pueden ser utilizados para una variedad de funciones por el programador. Algunas veces su uso es ortogonal dentro del conjunto de instrucciones, lo que quiere decir que puede ser utilizado para contener los operandos de las instrucciones. Sin embargo, hay algunas restricciones; por ejemplo, puede haber registros dedicados a operaciones de punto flotante y operaciones de stack. En algunos casos, los registros de propósito general pueden ser usados para funciones de direccionamiento; por ejemplo, para especificar desplazamientos indirectos. En algunos casos, hay una clara distinción y separación entre registros para datos y registros para direcciones.
Los registros de datos podrían ser utilizados únicamente para almacenar datos y no para calcular la dirección de un operando.
• Los registros de direcciones podrían ser en parte registros de propósito general, o pueden ser usados únicamente para un modo particular de direccionamiento.
• Registros de Estatus (Banderas o Códigos de Condición): Los códigos de condición o banderas son bits cuyos valores son asignados por el hardware del CPU en base al resultado de la ejecución de las instrucciones. Por ejemplo, una instrucción que implementa una operación aritmética puede producir un valor positivo, negativo, igual a cero o sobre flujo. Además, el resultado de la operación puede ser almacenado en un registro o en la memoria, para ello también se establece una bandera o código de condición. La bandera puede ser probada también como parte de una operación de salto condicional.
Registros de Control y Estatus
Existe una variedad de registros de CPU que son empleados para controlar la operación del CPU. La mayoría de éstos en la mayoría de las máquinas, no son visibles al usuario. Algunos pueden ser visibles a instrucciones de máquina ejecutadas en un modo de control o sistema operativo.
Claro es, diferentes máquinas tendrán diferentes organizaciones de registros y usaran diferente terminología para referirse a los mismos. A continuación se presenta una lista razonablemente completa de los tipos de registros y sus descripciones.
Cuatro registros son esenciales para la ejecución de instrucciones:
• Contador de programa (PC – del inglés Program Counter): Contiene la dirección de la siguiente instrucción a ejecutar y que tiene que ser extraída de la memoria mediante una operación fetch.
• Registro de Instrucción (IR – Instruction Register): Contiene la instrucción que va a ejecutarse, aquella que fue la última en ser extraída de memoria mediante un fetch.
• Registro de Dirección de Memoria (MAR – Memory Address Register): Contiene la dirección de una localidad de memoria.
• Registro Buffer de Memoria (MBR - Memory Buffer Register): Contiene una palabra de dato que será escrita en memoria o que acaba de ser leída de la memoria.
No hay comentarios:
Publicar un comentario