1. Ciclo de instrucción
Es el período que tarda la unidad central de proceso (CPU) en ejecutar una instrucción
de lenguaje máquina. Lenguaje de máquina o código máquina es el sistema de
códigos directamente interpretable por un circuito microprogramable, como
el microprocesador de una computadora o el microcontrolador de un autómata.
El ciclo de instrucción es también llamado ciclo de fetch-and-execute o ciclo de fetchdecode-execute en inglés.
Para que cualquier sistema de proceso de datos basado en microprocesador (por
ejemplo un ordenador) o microcontrolador (por ejemplo un reproductor de MP3)
realice una tarea (programa) primero debe buscar cada instrucción en la memoria
principal y luego ejecutarla.
Secuencia de acciones del ciclo de instrucción
Son cuatro pasos que se llevan a cabo en cada ciclo de instrucción:
1. Buscar la instrucción en la memoria principal
Se vuelca el valor del contador de programa sobre el bus de direcciones.
Entonces la CPU pasa la instrucción de la memoria principal a través del bus
de datos al Registro de Datos de Memoria (MDR). A continuación el valor del
MDR es colocado en el Registro de Instrucción Actual (CIR), un circuito que
guarda la instrucción temporalmente de manera que pueda ser decodificada y
ejecutada.
Busque- traiga una instrucción desde la Memoria Principal
2. Decodificar la instrucción
El decodificador de instrucción interpreta e implementa la instrucción. El
registro de instrucción (IR) mantiene la instrucción en curso mientras el
contador de programa (PC, program counter) guarda la dirección de memoria
de la siguiente instrucción a ser ejecutada.
* Recogida de datos desde la memoria principal
* Se accede al banco de registros por los operandos (solo si es necesario)
* Se calcula el valor del operando inmediato con extensión de signo (solo si es
necesario)
Decodifique- tradúzcala como comando de la computadora
3. Ejecutar la instrucción
A partir del registro de instrucción, los datos que forman la instrucción son
decodificados por la unidad de control. Ésta interpreta la información como
una secuencia de señales de control que son enviadas a las unidades
funcionales relevantes de la CPU para realizar la operación requerida por la
instrucción.
2. 4. Almacenar o guardar resultados.
El resultado generado por la operación es almacenado en la memoria principal
o enviado a un dispositivo de salida dependiendo de la instrucción. Basándose
en los resultados de la operación, el contador de programa se incrementa para
apuntar a la siguiente instrucción o se actualiza con una dirección diferente
donde la próxima instrucción será recogida.
¿Qué es un ciclo de búsqueda?
La acción de leer una instrucción en la CPU y prepararla para su ejecución se denomina
ciclo de búsqueda. Para completar una instrucción la CPU decodifica el opcode, genera
las señales de control que se necesitan para introducir los operandos requeridos y
controla la ejecución de la instrucción. Durante el ciclo de búsqueda, el opcode de la
siguiente instrucción es cargado en el IR(Registro de Instrucción) y la porción de
dirección es cargada en el MAR(Registro de Dirección de Memoria): esta instrucción
puede ser tomada del IBR(Registro de Buffer de Instrucción), o puede ser obtenido de
la memoria cargando una palabra en el MBR(Registro de Buffer de Meemoria), y
después al IBR, IR, y MAR )
¿Qué registros entran en juego durante el ciclo de búsqueda?
Contador del programa (PC),Registro de direcciones de la memoria (MAR)., Registro
de datos, Registro de instrucciones.(IR) , Registro de buffer de memoria(MBR) y
Palabra de estado de programa
3. Fase de Ejecución
5 - Decodificación de la Instrucción. Por ejemplo la Instrucción ADD.
6 - Transferencia del campo “CD” de la instrucción en curso (este campo contiene la
dirección de memoria en la que se encuentra el operando, y que se encuentra en el
registro RI desde que finalizó la fase de búsqueda), al registro RD. Se inicia, por tanto,
un proceso similar al de la fase de búsqueda, pero en esta ocasión para buscar en
memoria el operando de la instrucción.
7 - Lanzar un ciclo de lectura de memoria que ponga en RM el operando almacenado
en la dirección indicada por RD.
8 - Transferencia del dato leído desde el RM al registro intermedio, Ro2, del Operador.
Paralelamente se puede transferir el otro operando desde el acumulador, AC,
(contenido en él un instante anterior), al registro intermedio Ro1
9 - Realizar la operación de SUMA (ADD) y almacenar el resultado en el AC.