Blbgl,bk,b
Una unidad funcional o unidad de ejecución es una parte de la CPU que realiza las operaciones y cálculos llamados por los programas. Tiene a menudo su propia unidad de control de secuencia (no confundir con la unidad de control principal de la CPU), algunos registros, otras unidades internas como una sub-ALU o una unidad de punto flotante, o algunos componentes menoresmás específicos.
Registros de datos: AX, BX, CX y DX.
Se usan para cálculo y almacenamiento de propósito general. Son utilizados por los programas para realizar cálculos, así como para transferir datos de una posición de memoria a otra, ya que no se puede hacer de forma directa. Es decir, que no podemos transferir un dato de la posición de memoria X a la posición Y sin antes depositar esedato temporalmente en un registro del procesador.
Estos registros tienen una longitud de 16 bits, pero podemos descomponerlos cuando nos interese en un par de registros de 8 bits.
Quedando de la forma siguiente:
AX = AH + AL
Siendo AX el registro de 16 bits, compuesto por la conjunción (que no la suma) de el registro AH de 8 bits (los 8 bits mas signiicativos o de mas a la izquierda) yel registro AL de 8 bits (los 8 bits menos significativos o de mas a la derecha).
BX = BH + BL
CX = CH + CL
DX = DH + DL
Para estos tres registros se aplica lo mismo que para el registro AX.
Cada uno de estos registros tiene funciones especiales que es interesante conocer. Por ejemplo el registro AX es el llamado acumulador, hace que muchas operaciones tengan una forma mas corta, yaque lo especifican implícitamente.
Es decir, que hay operaciones que actúan sobre el registro AX en particular.
BX se suele utilizar en muchas instrucciones como registro base, sobre todo en transferencias de datos entre memoria y procesador.
CX es el registro contador, muchas instrucciones lo utilizan para hacer incrementos o decrementos automáticos, para realizar bucles, etc.
DX esel registro de datos, se suele utilizar para operaciones de 32 bits, para
almacenar los 16 bits (o palabra) mas significativos.
Registros Índice: SI, DI, BP y SP. Se utilizan para acceder a memoria cuando se establece el modo de direccionamiento mediante indexación o con punteros. SI y DI indican el índice fuente y destino respectivamente. BP y SP indican el puntero base y el puntero de lapila respectivamente. Estos 4 registros son de 16 bits, y no pueden ser utilizados como registros dobles de 8 bits.
Registros de Segmento: CS, DS, SS y ES. Estos registros apuntan al principio de un bloque de 64 ks de memoria o segmento, de ahí lo de la 'S' con la que finalizan todos los registros: CS: registro segmento de código. Establece al área donde se halla el programa en ejecución. DS:registro segmento de datos. Especifica la zona donde el programa lee y escribe los datos por defecto. SS: registro segmento de pila. Especifica el área donde se encuentra la pila del sistema. ES: registro segmento extra. Se utiliza como una extensión del segmento de datos. Es decir, indica otro área de datos aparte del especificado por DS.
Puntero de instrucción: IP. Su longitud es de 16 bitscomo el resto de registros. Indica la dirección de la siguiente instrucción a ejecutar, y su valor es ajustado durante la ejecución de la instrucción en curso. Esta dirección esta en el área de 64 ks de direcciones especificado por CS. CS e IP en conjunción conforman la dirección física real de la siguiente instrucción a ejecutar.
BIU (Unidad de interfaz con el bus)
Accede a memoria y a otrosdispositivos de E/S.
Registro FLAGS. O banderas de estado.
Su longitud es de 16 bits. Cada uno de estos bits contiene cierta información booleano (verdadero o falso). Según el valor de cada uno de estos bits sea 1(verdadero) ó 0(falso), informar del estado de alguna situación en particular.
Dentro del registro de FLAGS hay 7 bits que no se utilizan. Los nombres de los utilizados son: Of,...
Regístrate para leer el documento completo.