registros registro proposito programa pila microprocesador instrucciones informatica general contador computadoras arquitectura cpu-registers cpu-architecture program-counter

cpu registers - proposito - Contador de programas y registro de instrucciones



registros del cpu (2)

Como usted indicó, el contador de programas (PC) contiene la dirección de la siguiente instrucción a ejecutar, y el registro de instrucciones (IR) almacena la instrucción real a ejecutar (pero no su dirección).

En relación con la longitud de estos registros, las máquinas actuales tienen PC de 64 bits. La longitud del IR (desde un punto de vista lógico) depende de la arquitectura:

Como estas máquinas son capaces de obtener, decodificar y ejecutar varias instrucciones en cada ciclo, la implementación física del IR no es fácil de describir en pocas líneas.

El contador del programa contiene la dirección de la instrucción que debe ejecutarse a continuación, mientras que el registro de instrucciones contiene la instrucción real que se ejecutará. ¿No sería suficiente uno de ellos?

¿Y cuál es la longitud de cada uno de estos registros?

Gracias.


Necesitarás ambos siempre. El contador del programa (PC) contiene la dirección de la siguiente instrucción a ejecutar, mientras que el registro de instrucciones (IR) contiene la instrucción codificada. Al obtener la instrucción, el contador del programa se incrementa en un "valor de dirección" (a la ubicación de la siguiente instrucción). La instrucción es luego decodificada y ejecutada apropiadamente.

La razón por la que necesita ambos es porque si solo tuviera un contador de programa y lo usara para ambos propósitos, obtendría el siguiente sistema problemático:

[Inicio de la ejecución del programa]

  1. La PC contiene 0x00000000 (digamos que esta es la dirección de inicio del programa en la memoria)
  2. La instrucción codificada se obtiene de la memoria y se coloca en la PC.
  3. La instrucción es decodificada y ejecutada.
  4. Ahora es el momento de pasar a la siguiente instrucción, así que volvemos a la PC para ver cuál es la dirección de la siguiente instrucción. Sin embargo, tenemos un problema porque se eliminó la dirección anterior de PC, por lo que no tenemos idea de dónde está la próxima instrucción.

Por lo tanto, necesitamos otro registro para guardar la instrucción real extraída de la memoria. Una vez que recuperamos esa memoria, aumentamos la PC para que sepamos dónde obtener la siguiente instrucción.

PD: el ancho de los registros varía según el tamaño de palabra de la arquitectura. Por ejemplo, para un procesador de 32 bits, el tamaño de la palabra es de 32 bits. Por lo tanto, los registros en la CPU serían de 32 bits. Los registros de instrucciones no son diferentes en dimensiones. La diferencia está en el comportamiento y la interpretación. Las instrucciones están codificadas en varias formas, sin embargo, todavía ocupan un registro de 32 bits. Por ejemplo, el procesador Nios II de Altera contiene 3 tipos de instrucciones diferentes, cada uno codificado de manera diferente. Consulte la página 6 de ftp://ftp.altera.com/up/pub/Tutorials/DE2/Computer_Organization/tut_nios2_introduction.pdf

También puede obtener más información sobre la estructura del procesador Nios II en el enlace de arriba. Es una CPU de IP simple. Por supuesto, Intel tiene su propia especificación / diseño y variará.