Registros x86
La memoria RAM es un buen lugar para almacenar datos, pero no es el más optimo…
Los datos a utilizar en las operaciones de los programas a ejecutar en la CPU son almacenados en la memoria principal de la computadora, sin embargo, la memoria principal funciona a una velocidad menor que a la que opera el microprocesador, por lo que su uso como único medio de almacenamiento causaría un ’cuello de botella’ en la ejecución del programa, la CPU pasaría mucho tiempo esperando los datos con los que va a trabajar.
Los registros permiten almacenar datos sin pasar por la memoria principal ya que se encuentran dentro del mismo microprocesador, son de alta velocidad sin embargo presentan una capacidad mucho menor de almacenamiento que la de la memoria principal. Los registros se construyen utilizando Flips-Flops.
El tamaño de los registros dependerá de la arquitectura del microprocesador, no obstante, estos se suelen construir y utilizar en bloques de 8, 16, 32 o 64 bits según sea el caso.
Los registros presentes en los microprocesadores de la familia x86, se agrupan en tres categorías:
Registros de propósito general
Utilizados para almacenar los datos a utilizar en las operaciones del programa,
cada uno con distintos propósitos, los registros de propósito general se subdividen a su vez en:
- Registros generales: Son usados para operaciones aritméticas y lógicas, entre otros usos que les quiera dar el programador.
- Registros índices: Son utilizados para el direccionamiento indexado de memoria y algunas veces utilizados también en operaciones aritméticas.
- Registros de apuntadores: almacenan direcciones de memoria que le permitirán al sistema operativo determinar cosas como la ubicación de la siguiente instrucción a ejecutar, o el comienzo de la pila en memoria.
- Registros extendidos: Estos ocho registros identificados desde el R8 hasta el R15, solo se encuentran disponibles en
los procesadores de 64 bits los cuales emplean el juego de instrucciones extendido x86–64.
Registro de banderas
Ciertas instrucciones en ensamblador involucran operaciones que modifican el estado del procesador estos cambios son almacenados como bits que se activan o desactivan conocidos como banderas, mientras que otras instrucciones presentan la capacidad de leer el estado de las banderas, con la final de que el programa pueda realizar acciones tomando en cuenta esta información.
Registros de segmentos
Los segmentos son áreas específicas de la memoria principal definidas para albergar datos, instrucciones y la información de la pila, las direcciones donde comienzan estas áreas de la memoria son almacenadas en estos registros.
Si ha disfrutado de este artículo y siente que ha aprendido algo valioso, por favor compártalo.