FUNCIONAMIENTO DEL PROCESADOR

El procesador en términos funcionales es una caja negra que recibe como entrada instrucciones y datos, produciendo como salida nuevos datos.
Los datos son elaborados en su interior de acuerdo a un algoritmo expresado mediante las instrucciones. El procesador ejecutando las instrucciones secuencialmente genera como resultado los nuevos datos de salida.
Los datos de salida pueden ser ligeras modificación de los de entrada o incluso copias de los mismos, aunque normalmente la salida serán datos nuevos creados a partir de la entrada y modificados de acuerdo a complejos algoritmos. Nada impide que los datos de salida puede ser la codificación de nuevas instrucciones para el procesador.
Finalmente, los datos de salida producidos por el procesador se almacenan en el sistema de memoria o se envian a los dipositivos perifericos que los necesiten y asi lo requieran.
En un microprocesador de propósito general, la tarea a realizar se especifica en un programa.
Un programa consiste en una secuencia de instrucciones, codificadas (código máquina) de acuerdo a un formato interpretable por el procesador.
El procesador sólo será capaz de ejecutar un conjunto básico de instrucciones, cada una de las cuales realiza una operación elemental muy simple. La tarea a realizar se debe especificar de acuerdo a esta instrucciones elementales. El programa por tanto sera la secuenciación de las instrucciones elementales de tal manera que lleven a cabo el algoritmo que describe la tarea que se desea realizar.
El proceso que deber realizar una microprocesador para ejecutar estos programas puede subdividirse en los siguientes pasos:

1. Obtener el código del programa a ejecutar y los datos desde algun lugar de almacenamiento.
2. Realizar la elaboración de los datos de entrada de acuerdo a las instrucciones elementales que se encuentren codificadas en el programa. Estas instrucciones se ejecutan una a una de manera secuencial.
3. Guardar el resultado de la manipulación de los dados en algún medio de almacenamiento o enviarlo a los dispositivos periféricos.