Please enable JavaScript.
Coggle requires JavaScript to display documents.
Organización de registros, Juan José García Pérez 182H17071 - Coggle…
Organización de registros
Los registros funcionan como un nivel de memoria por encima de la memoria principal y la caché.
Registros visibles para el usuario
Permiten
minimizar
las
referencias de la memoria
Puede ser
referenciado
por medio del
lenguaje de la máquina
que ejecuta la CPU.
Podemos caracterizarlos en las siguientes categorías:
Datos
Pueden utilizarse únicamente para guardar datos y no pueden emplearse en el cálculo de la dirección de un operando.
Dirección
Pueden tener en sí mismos un propósito algo general, o pueden estar dedicados a un modo de direccionamiento particular.
Entre los ejemplos cabe citar los siguientes:
Registros de índice
Se utilizan para el direccionamiento indexado y pueden ser auto indexados.
Puntero de pila
Si hay un direccionamiento de pila visible para el usuario, entonces normalmente la pila está en la memoria y hay un registro dedicado que apunta a la parte superior de la holgura. Esto permite el direccionamiento implícito; es decir, las instrucciones de "push", "pop" y otras instrucciones de la pila no tienen por qué contener un operando de pila explícito.
Punteros de segmento
En una máquina con direccionamiento segmentado, un registro de segmento contiene la dirección de la base del segmento. Puede haber múltiples registros: por ejemplo, uno para el sistema operativo y otro para el proceso actual.
Propósito general
Pueden ser asignados a una variedad de funciones por el programador.
Cualquier registro de propósito general puede contener el operando para cualquier código de operación.
En algunos casos, los registros de propósito general pueden utilizarse para funciones de direccionamiento.
Códigos de condición (también conocido como flags)
Los códigos de condición son bits establecidos por el hardware de la CPU como resultado de operaciones.
Por ejemplo, una operación aritmética puede producir un resultado positivo, negativo, cero o de desbordamiento.
Además de que el resultado en sí se almacena en un registro o memoria, también se establece un código de condición.
El código puede probarse posteriormente como parte de una operación de rama condicional.
Registros de control y de estado
Utilizados por la unidad de control para
controlar
el
funcionamiento de la CPU
y
controlar
la
ejecución de los programas
.
Cuatro registros son esenciales para la ejecución de las instrucciones:
Registros de dirección de memoria (MAR)
Contiene la dirección de una ubicación en la memoria.
Registro de memoria intermedia (MBR)
Contiene una palabra de datos para ser escrita en la memoria o la palabra más recientemente leída.
Registro de instrucción (IR)
Contiene la instrucción más reciente.
Contador de programa (PC)
Contiene la dirección de una instrucción que debe ser recuperada.
La CPU actualiza el PC después de cada obtención de instrucciones.
De modo que el PC siempre apunta a la siguiente instrucción a ejecutar.
Una instrucción de ramificación o de salto también modificará el contenido del PC.
La instrucción fetch se carga en un IR, donde se analizan el opcode (código de operación) y los especificadores de operandos.
Los datos se intercambian con la memoria usando el MAR y el MBR.
En un sistema organizado por bus, el MAR se conecta directamente al bus de direcciones, y el MBR se conecta directamente al bus de datos.
Los registros visibles para el usuario, a su vez, intercambian datos con el MBR.
Dentro de la CPU, los datos deben ser presentados a la ALU para su procesamiento.
La ALU puede tener acceso directo al MBR y a los registros visibles por el usuario.
La CPU incluyen un registro o conjunto de registros, a menudo conocidos como la palabra de estado del programa (PSW).
La PSW típicamente contiene códigos de condición además de información de estado.
Los campos o banderas comunes incluyen lo siguiente:
Igual
Puesto a uno si el resultado de una comparación lógica es la igualdad.
Desbordamiento
Usado para indicar un desbordamiento aritmético.
Acarreo
Puesto a uno si una operación da lugar a un acarreo (en la suma) o adeudo (en la resta) del bit más significativo. Se usa en operaciones aritméticas multipalabra.
Interrupción activada/desactivada
Usado para permitir o inhabilitar interrupciones.
Cero
Puesto a uno cuando el resultado es 0.
Supervisor
Indica si la CPU se está ejecutando en modo de supervisor o de usuario. Ciertas instrucciones privilegiadas pueden ser ejecutadas sólo en modo supervisor, y ciertas áreas de memoria pueden ser accedidas sólo en modo supervisor.
Signo
Contiene el bis de signo del resultado de la última operación aritmética.
Juan José García Pérez
182H17071