martes, 26 de febrero de 2019

1.2 EL PROCESADOR Y SUS REGISTROS INTERNOS



Definición de registros:

Un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.

Función de los registros:

  • Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits“.
  • La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.


Algunos registros básicos:






Registros de Propósito General


Los registros de propósito general son el AX, BX, CX, y DX, de 16 bits. Cada uno de ellos se divide en dos registros de 8 bits, llamados AH y AL, BH y BL, CH y CL, y, DH y DL, H significando High (alto) y L significando Low (bajo), indicando la parte alta o la parte baja del registro correspondiente de 16 bits. Un programa podía usar tanto los registros de 16 bits como los registros de 8 bits. 


  • Registro AX: El registro AX es el registro acumulador, es utilizado para operaciones que implican entrada/salida, multiplicación y división (estas dos últimas en conjunto con el registro DX)(operaciones aritméticas)
  • Registro BX: El registro BX es el registro base, y es el único registro de propósito general que puede ser un índice para direccionamiento indexado.Se usa para indicar un desplazamiento.
  • Registro CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits.Se usa como contador en los bucles.
  • Registro DX: El registro DX es el registro de datos. En algunas operaciones se indica mediante este registro el número de puerto de entrada/salida, y en las operaciones de multiplicación y división de 16 bits se utiliza junto con el acumulador AX. También se usa en las operaciones aritméticas.


Registros Índice


Los registros SI y DI están disponibles para direccionamiento indexado y para operaciones de cadenas de caracteres.

  • Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres. El SI está asociado con el segmento DS.
  • Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. El DI está asociado con el segmento ES.



Registros Apuntadores


Los registros SP (apuntador de pila) y BP (apuntador base) están asociados con el registro SS y permiten al sistema acceder a datos en el segmento de la pila.
  • Registro SP: El apuntador de pila de 16 bits está asociado con el segmento SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. Contiene la dirección relativa al segmento de la pila. El sistema maneja de manera automática este registro, aunque el programa puede hacer ciertas manipulaciones con él.
  • Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros dentro de la pila.Se utiliza para fijar el puntero de pila y así poder acceder a los elementos de la pila.



Registros de segmentos

  • Registro CS: Registro de segmento de código. Indica la dirección de una instrucción que es buscada para su ejecución. 
  • Registro  DS: Registro de segmento de datos.Contiene la dirección del área de memoria donde se encuentran los datos del programa.
  • Registro ES: Registro de segmento extra. Contiene la dirección del segmento extra. Se trata de un segmento de datos adicional que se utiliza para superar la limitación de los 64Kb del segmento de datos y para hacer transferencias de datos entre segmentos.
  • Registro SS: Registro de segmento de pila. Contiene la dirección del segmento de pila. La pila es un espacio de memoria temporal que se usa para almacenar valores de 16 bits (palabras).


Puntero de instrucciones:


IP: Registro puntero de instrucción o contador de programa (PC). Contiene el desplazamiento de la siguiente instrucción a ejecutar respecto al segmento de código en ejecución. Por lo tanto, la dirección completa de la siguiente instrucción sería CS:IP. La única forma de influir en este registro es de forma indirecta mediante instrucciones de bifurcación.

Registro de banderas (flags):

Cada bandera es un bit y se usa para registrar la información de estado y de control de las operaciones del microprocesador. Hay nueve banderas (los 7 bits restantes no se utilizan):

Banderas de estado:

Registran el estado del procesador, normalmente asociado a una comparación o a una instrucción aritmética.

  • CF (Carry Flag): Bandera de acareo.
  • OF (Overflow Flag): Bandera de desbordamiento (aritmético).
  • ZF (Zero Flag): Bandera de resultado 0 o comparación igual.
  • SF (Sign Flag): Bandera de resultado o comparación negativa.
  • PF (Parity Flag): Bandera de paridad (número par de bits).
  • AF (Auxiliary Flag): Bandera auxiliar. Indica si hay necesidad de ajuste en las operaciones aritméticas con números BCD.


Banderas de control:

  • DF  (Direction Flag): Bandera de dirección. Controla la dirección de las operaciones con cadenas de caracteres (sentido de avance ascendente/descendente). Incrementando o decrementando automáticamente los registros índices (SI y DI)
  • IF (Interrupt Flag): Bandera de interrupciones. Indica si están permitidas o no las interrupciones de los dispositivos
  • externos.
  • TF (Trap Flag): Bandera de atrape. Controla la operación de modo paso a paso (usada por el programa DEBUG).



Referencia:
http://galia.fc.uaslp.mx/~cantocar/ARQUI_COM_II/LIBRO%20IBM-PC/03.htm
http://www.geocities.ws/antrahxg/documentos/org_comp/registro.html
https://www.monografias.com/trabajos7/regi/regi.shtml

No hay comentarios:

Publicar un comentario

3. Colores Modificado 9

Modificación del programa # 9 " Colores " Por mi compañero Ambrocio isaias Laureano CR EQU 13 ;Declaro retorno de carro LF...