Sistemas operativos – Ejecución de instrucciones

Un programa que va a ejecutarse en un procesador consta de un conjunto de instrucciones almacenadas en memoria. Podemos decir que la ejecución consta de dos pasos: el procesador lee (busca) instruciones de la memoria, una cada vez, y ejecuta cada una de ellas. La ejecución del programa consiste en repetir este proceso de búsqueda y ejecución hasta que se ejecute la última instrucción del programa. Llamamos ciclo de instrucción al procesamiento requerido por una única instrucción.

CicloInstrucción

Búsqueda y ejecución de una instrucción

Al principio de cada ciclo de instrucción, el procesador lee una instrucción de la memoria. En un procesador típico, el contador de programa (PC) almacena la dirección de la siguiente instrucción que se va a leer. Salvo que se indique lo contrario, el procesador leerá las instrucciones de forma secuencial, aunque esta secuencia puede ser alterada. La instrucción leída se carga dentro del procesador en un registro llamado registro de instrucción (IR). El procesador interpreta la instrucción y lleva a cabo la acción requerida. En general, estas acciones se dividen en cuatro categorías:

  • Procesador-memoria: Se pueden transferir datos del procesador a la memoria y viceversa.
  • Procesaor-E/S: Se pueden enviar datos a un dispositivo periférico o recibirlos desde el mismo, transfiriéndolos entre el procesador y un módulo E/S.
  • Procesamiento de datos: El procesador puede realizar algunas operaciones aritméticas básicas sobre los datos.
  • Control: Una instrucción puede especificar que se va a alterar la secuencia de ejecución. Por ejemplo, si una instrucción que se encuentra en la posición 114, indica que la siguiente instrucción se encuentra en la posición 197, el procesador almacenará en el contador de programa la posición 197. De esta forma, al finalizar la ejecución no pasará a la posición 115 y sí lo hará a la posición 197.
Publicado en Sistemas operativos, Varios

Deja un comentario

Sobre mi…

Soy Técnico en Explotación de Sistemas Informáticos y Técnico Superior en Administración de Sistemas Informáticos en Red. Actualmente estudiando el Grado de Ingeniería Informática en la Universidad de Córdoba (España).

Enamorado de la ciencia en general y de la computación en particular.

Música: Heavy, Rock, Celta, New Age, Electrónica, etc...
Libros:Isaac Asimov, Richard Dawkins, Stephen Hawking, Carl Sagan...

Estoy interesado en la programación de videojuegos. Políticamente de izquierdas, escéptico y ateo. En definitiva, mala gente.

Sígueme en Twitter

Introduce tu dirección de correo electrónico para seguir este Blog y recibir las notificaciones de las nuevas publicaciones en tu buzón de correo electrónico.

Únete a otros 24 suscriptores
Usa Linux Mint
The Bit Developer Box