|
Somos el museo virtual más grande y mejor en español.
|
El funcionamiento de un programa a nivel máquina es relativamente sencillo. Un programa es almacenado en un sistema de memoria para que la unidad central de procesamiento lo ejecute secuencialmente. Un programa es un arreglo lógico de instrucciones o procesos que al ser ejecutados por el microprocesador realiza una tarea específica. El conjunto de pasos a seguir es conocido bajo el nombre de algoritmo. El microprocesador ejecuta cada una de las instrucciones en cuatro fases llamadas Estados. Estos cuatro estados son:
Durante el estado de búsqueda del código de operación, la unidad de control indica la dirección de memoria a leer a través del bus de direcciones. Luego, la unidad de control activa las señales en el bus de control a fin de efectuar la lectura de la dirección de memoria. Finalmente, en el bus de datos se obtiene el código de operación de la instrucción a decodificar. Una vez que el estado de búsqueda haya finalizado, se inicia el estado de decodificación donde el código de operación que se encuentra en la unidad de registro de instrucciones es interpretado por la unidad de control con el fin de identificar la instrucción a ejecutar en el estado de ejecución. Durante el estado de ejecución, la unidad de control dirige la acción de las unidades funcionales del microprocesador: Unidades Lógicas Aritméticas, Registros de Propósito General, Registros Temporales, Registros de Control, etc., a fin de procesar la instrucción decodificada y obtener un resultado de salida que permita iniciar el estado de escritura de resultados a una posición de memoria, registro o puerto.
La figura 1.2 indica que el tiempo de ejecución de una instrucción es igual a la sumatoria del tiempo de ejecución de cada uno de los estados que conforman la instrucción. Esto implica que el tiempo requerido para ejecutar un programa viene dado por el número de instrucciones multiplicado por el número de estados y multiplicado por el inverso de la frecuencia del reloj que gobierna al Microprocesador. Esto se cumple si y solo si, asumimos que cada instrucción está compuesta por un número de estados iguales y el tiempo de ejecución de cada estado es constante. Se dice que ha ocurrido un ciclo de máquina cuando una instrucción ha sido ejecutada por el microprocesador. Figura 1.2 Ciclo de máquina Toda instrucción requiere de un parámetro de entrada Ii. Este parámetro de entrada representa el dato que va a ser procesado por el microprocesador generando así un parámetro de salida Oi. Cada instrucción esta asociada a un código de operación. Un código de operación es un proceso el cual esta asociado por un grupo de números hexadecimales que representa el Lenguaje de Máquina del microprocesador. Cada código de operación esta asociado a un mnemónico que representa de manera literal el significado y función de la instrucción. Esto se conoce como Lenguaje Ensamblador. Lenguaje de Alto Nivel es la agrupación de uno o más códigos de operación para formar entre todos una instrucción de alto nivel. Los lenguajes Java, C, C++, Pascal son ejemplos de lenguajes de alto nivel. En la figura 1.3 podemos observar que la instrucción mov ax, bx requiere de un parametro de entrada ax, que al ser procesado por la instrucción mover, el contenido del registro ax es copiado en el registro bx. Ademas podemos observar la relación entre un lenguaje emsamblador y un lenguaje de máquina.
Figura 1.3. Relación entre un lenguaje ensamblador, un lenguaje de máquina y un lenguaje de alto nivel. Un microprocesador goza de un modelo de software y de modelo en hardware. El programador se basa en el modelo en Software para implementar sus algoritmos. Este modelo está formado por los Registros de Propósito General, Registro de Control, modelos de administración de Memoria (Ej: Demanda de Página o Segmento) y set de instrucciones. El set de Instrucciones de un Microprocesador esta formado por los siguientes grupos: -. Instrucciones de transferencia de datos. -. Instrucciones lógicas. -. Instrucciones aritméticas. -. Instrucciones de control y pila del CPU. -. Instrucciones de salto. Este conjunto de Instrucciones hace posible que el programador pueda implementar: -. Lenguajes de programación. -. Compiladores. -. Sistemas operativos. -. Aplicaciones. El modelo de hardware de un microprocesador representa el arreglo lógico de las unidades funcionales del microprocesador con el fin de poder ejecutar los códigos de operación que conforman el programa. En la figura 1.4 podemos observar la relación entre el set de instrucciones y el modelo de hardware y software de un microprocesador.
Figura 1.4 Relación entre el set de instrucciones y el modelo en hardware y software de un microprocesador, |
Un miembro de
|