“Conocimiento Hardware>Dispositivos de Entrada y Salida

¿De dónde vienen las instrucciones de control?

2013/10/17
Las instrucciones de control, que dictan las operaciones que realiza una CPU, provienen de algunos lugares diferentes, dependiendo de la arquitectura y el momento específico en el tiempo:

1. Memoria principal (RAM):

* Código de programa: La fuente principal de instrucciones de control es el código de programa almacenado en la memoria principal (memoria de acceso aleatorio o RAM). Cuando ejecuta un programa, sus instrucciones se cargan desde el almacenamiento (como un disco duro o SSD) en RAM. La CPU luego obtiene estas instrucciones una por una (o en lotes), las decodifica y las ejecuta. Esta es la fuente más común y fundamental.

2. Caché de instrucciones (L1, L2, L3 Caches):

* Instrucciones de uso frecuente: Para acelerar la ejecución, las CPU usan cachés, que son recuerdos más pequeños y más rápidos. El caché de instrucciones contiene copias de instrucciones de uso frecuente obtenidas de la RAM. Cuando la CPU necesita una instrucción, primero verifica el caché. Si la instrucción está allí (un "golpe de caché"), se recupera mucho más rápido que ir a la memoria principal.

3. Microcode (en arquitecturas de conjunto de instrucciones complejas - CISC):

* Operaciones complejas: En arquitecturas más antiguas o más complejas (como Intel X86), algunas instrucciones en realidad se implementan como secuencias de microinstrucciones más simples. Este * microcódigo * se almacena en una ROM especial (memoria de solo lectura) o un almacenamiento similar dentro de la CPU misma. Cuando la CPU encuentra una instrucción compleja, ejecuta la secuencia de microcódigo correspondiente, que descompone la instrucción compleja en pasos más simples y manejables. Esto es menos común en las arquitecturas RISC modernas (informática de conjunto de instrucciones reducido), que generalmente prefieren instrucciones más simples que se pueden ejecutar directamente.

4. Interrupciones:

* Eventos externos: Las interrupciones son señales que pueden interrumpir el flujo normal de la ejecución del programa. Pueden provenir de hardware (por ejemplo, una presión de teclado, una unidad de disco que termina una operación) o software. Cuando se produce una interrupción, la CPU guarda el estado del programa actual y salta a una rutina especial llamada *Handler de interrupción *o *Rutina de servicio de interrupción (ISR) *. El ISR contiene instrucciones para manejar la interrupción (por ejemplo, leer datos del teclado). Una vez finalizado el ISR, la CPU restaura el estado de programa guardado y reanuda la ejecución donde lo dejó.

* Por lo tanto, una interrupción puede causar que se ejecute un conjunto * diferente * de instrucciones de control de lo que pretendía el programa original.

5. Restablecer vector:

* startup: Cuando la computadora está encendida o reiniciada, la CPU comienza a ejecutar instrucciones a partir de una dirección de memoria predefinida llamada *Vector de reinicio *. Este vector contiene la dirección de la primera instrucción que se ejecutará, generalmente el inicio del cargador de arranque del sistema operativo.

En resumen:

El flujo generalmente se ve así:

1. Power On/Restet: La CPU comienza en el vector de reinicio.

2. Proceso de arranque: El cargador de arranque en RAM carga el sistema operativo.

3. Ejecución del programa: El código de programa y los datos se cargan en RAM.

4. Fetch-Decode-Execute Cycle: CPU obtiene instrucciones de RAM (o caché de instrucciones), las decodifica en señales de control y ejecuta esas señales.

5. Interrupciones: Los eventos externos pueden desencadenar interrupciones, desviando la ejecución para interrumpir los manejadores.

La CPU en sí es el agente que obtiene y ejecuta estas instrucciones, siguiendo el ciclo de Ejecutación de Decisión de Fetch Repetidamente. La * fuente * de las instrucciones, sin embargo, varía como se describe anteriormente.

Dispositivos de Entrada y Salida
Cómo dar formato a un disco en blanco CD- RW
Cómo configurar una cámara web integrada en tu PC Acer
¿Cómo puede separar todas las tomas de entrada como dispositivos independientes en un teléfono?
Cómo encontrar los controladores de los altavoces
Cómo adoptar un enfoque de orden
¿Qué procesa las entradas a las salidas en la informática?
Cómo obtener la punta de una salida de auriculares de un Computadora
Cómo solucionar problemas de un Logitech LX 710
Conocimiento de la computadora © http://www.ordenador.online