Los pasos a seguir para el procesamiento de las instrucciones son los siguientes:
1. Cada instrucción es leída ( una a la vez), desde la memoria, por el procesador y,
2. Cada instrucción es ejecutada por el procesador. La repetición de la lectura y ejecución (pasos 1 y 2 respectivamente), conforman la “ejecución de un programa”. Dicha ejecución puede detenerse si: la máquina se apaga, ocurre un error que no puede ser recuperado, o si, se encuentra una instrucción en el programa que detenga la computadora.
Ciclo de instrucción: es el procesamiento requerido para la instrucción. En este Ciclo, se encuentran los dos pasos citados anteriormente, denominados Ciclo de lectura (feth) y Ciclo de ejecución.
Lectura y ejecución de instrucciones
El procesador lee una instrucción de la memoria, al comienzo de cada Ciclo de instrucción. Se cuenta con un contador de programas ( PC program counter ), que lleva la cuenta de cual es la próxima instrucción a leer. Luego de leer cada instrucción el procesador incrementara el PC, de manera tal que la siguiente instrucción a leer será; la que se encuentra en la dirección inmediatamente superior de la memoria. La instrucción leída es cargada en el registro de instrucción ( IR instuction register ), que es un registro del procesador. El procesador interpreta la instrucción, la cual está en forma de código binario, que especifica la acción que el procesador llevará a cabo, y realizará la acción requerida.
Las acciones que se realizan para la lectura y ejecución de instrucciones se pueden clasificar en las siguientes categorías:
· Procesador-memoria: los datos se transfieren del procesador a la memoria o viceversa.
· Procesador E/S: los datos se transfieren desde o hacia un dispositivo periférico. Se realiza la transferencia entre el procesador y un módulo de entrada-salida.
· Tratamiento de datos: el procesador puede realizar alguna operación aritmética o lógica sobre los datos.
· Control: la secuencia de ejecución puede ser alterada si la instrucción lo especifica.
La ejecución de una instrucción puede incluir una combinación de las acciones antes mencionadas.
Funciones de E/S
Los módulos de E/S, por ejemplo un controlador de disco, peden intercambiar datos directamente con el procesador y el este puede iniciar una escritura o lectura en la memoria, para ello debe indicar la dirección de una ubicación especifica.
El procesador puede leer datos de un módulo de E/S o escribir en él, para ello indica a un dispositivo especifico que esta controlado por un determinado módulo de E/S.
Para relevar al procesador de la tarea de E/S, es conveniente que los intercambios de E/S se produzcan directamente con la memoria. De esta manera el procesador le da a un módulo de E/S autoridad para leer o escribir en la memoria de modo que la transferencia de E/S se realiza sin obstruir al procesador.
Se releva al procesador durante la transferencia de la responsabilidad de intercambio, ya que el modulo de E/S emite ordenes de lectura o escritura en la memoria. La operación realizada se conoce como DMA (direct memory access) o acceso directo a memoria.