Ciclo de instrucción


El ciclo de instrucción (también conocido como ciclo de búsqueda-decodificación-ejecución , o simplemente ciclo de búsqueda-ejecución ) es el ciclo que sigue la unidad central de procesamiento (CPU) desde el arranque hasta que la computadora se apaga para procesar las instrucciones . Se compone de tres etapas principales: la etapa de recuperación, la etapa de decodificación y la etapa de ejecución.

En CPU más simples, el ciclo de instrucción se ejecuta secuencialmente, cada instrucción se procesa antes de que se inicie la siguiente. En la mayoría de las CPU modernas, los ciclos de instrucción se ejecutan al mismo tiempo , y a menudo en paralelo , a través de una canalización de instrucciones : la siguiente instrucción comienza a procesarse antes de que finalice la instrucción anterior, lo cual es posible porque el ciclo se divide en pasos separados. [1]

El contador de programa (PC) es un registro especial que contiene la dirección de memoria de la siguiente instrucción que se ejecutará. Durante la etapa de búsqueda, la dirección almacenada en la PC se copia en el registro de direcciones de memoria (MAR) y luego la PC se incrementa para "apuntar" a la dirección de memoria de la siguiente instrucción a ejecutar. Luego, la CPU toma la instrucción en la dirección de memoria descrita por MAR y la copia en el registro de datos de memoria (MDR) . El MDR también actúa como un registro bidireccional que contiene datos extraídos de la memoria o datos que esperan ser almacenados en la memoria (también se lo conoce como registro de búfer de memoria (MBR) debido a esto). Finalmente, la instrucción en el MDR se copia en el registro de instrucción actual (CIR)que actúa como un terreno de espera temporal para la instrucción que se acaba de recuperar de la memoria.

Durante la etapa de decodificación, la unidad de control (CU) decodificará la instrucción en el CIR. Luego, la CU envía señales a otros componentes dentro de la CPU, como la unidad aritmética lógica (ALU) y la unidad de coma flotante (FPU) . La ALU realiza operaciones aritméticas como sumas y restas y también multiplicaciones a través de sumas y divisiones repetidas a través de restas repetidas. [ dudoso ] También realiza operaciones lógicas como AND , OR , NOT y también cambios binarios . La FPU está reservada para realizar operaciones de punto flotante.

La CPU de cada computadora puede tener diferentes ciclos basados ​​en diferentes conjuntos de instrucciones, pero será similar al siguiente ciclo:

Además, en la mayoría de los procesadores pueden producirse interrupciones . Esto hará que la CPU salte a una rutina de servicio de interrupción, la ejecute y luego regrese. En algunos casos, una instrucción se puede interrumpir en el medio, la instrucción no tendrá ningún efecto, pero se volverá a ejecutar después de regresar de la interrupción.


Este es un diagrama simple que ilustra las etapas individuales del ciclo de búsqueda-decodificación-ejecución.