1.1.1. Ejecución de programas en la computadora

Continuando con los elementos necesarios que integran el ámbito de la programación, abajo se expone una explicación del funcionamiento de una computadora en relación con la ejecución de un programa.

Según Joyanes y Zohanero (2005), al ejecutar cualquier programa una vez que el programa y los datos fueron almacenados en la memoria principal, se realiza el siguiente proceso en el interior de la CPU:

  1. La Unidad de Control consulta en la memoria la instrucción indicada en el contador del programa y la almacena en el registro de instrucciones, actualizando el contador del programa con la dirección de memoria de la siguiente instrucción.
  2. Una vez almacenada la instrucción en el registro del programa, la unidad de control la decodifica, detectando los dispositivos implicados en su ejecución.
  3. Una vez detectados los dispositivos, la misma Unidad de Control, les envía las señales de control, indicándoles la acción a realizar y, si es el caso, los datos y/o la dirección de memoria correspondiente.
  4. Cuando cada dispositivo concluye con las acciones designadas, envía una señal a la unidad de control, para que esta continúe con el mismo procedimiento para la siguiente instrucción, así hasta ejecutar todo el programa.

Al período en el que se ejecuta una instrucción se le conoce como ciclo de instrucción o ciclo fetch.

Con el fin de ilustrar este procedimiento, se analizará la ejecución del siguiente programa escrito en un lenguaje de programación ficticio.

Ejemplo de ciclo de instrucción:
El siguiente conjunto de instrucciones calcula el área de un rectángulo. Para comenzar es necesario delimitar el problema cuyo objetivo es obtener el área de un rectángulo. Como se sabe, los datos que se requieren para poder calcularla, según la fórmula, son las medidas de la base, las medidas de la altura, realizar la operación de multiplicación la base del rectángulo, por el dato que corresponde a la altura:

b * h

El ejemplo de programa para calcular el área de un rectángulo es el siguiente:

Imprimir “Ingresa la base:”
Leer b
Imprimir “Ingresa la altura:”
Leer h
área← b*h
Imprimir área

Antes de definir paso a paso la ejecución de este programa se describirá la función de cada una de las instrucciones que lo integran.

En programación hay una nomenclatura en la cual la información contenida dentro de los signos <> (se les conoce como pico paréntesis o signos mayor y menor que) debe ser modificada por el programador, es decir, son datos que se proporcionan a la computadora y dependen del objetivo planteado. Según el ejemplo la palabra Dato puede ser una letra o un símbolo dependiendo del planteamiento, es decir, es el nombre del campo o variable y este debe ser modificado.

InstrucciónDescripción
Imprimir
<dato>
Imprime en el dispositivo de salida estándar el indicado en la instrucción, que puede ser un mensaje de texto o el valor de una variable.
Leer <x>Lee por medio del teclado un dato, lo almacena en la variable indicado y lo almacena en la memoria RAM.
<x> ← <Dato>La flecha representa una asignación, esta acción actualiza la dirección de memoria asignada a con el valor.
Lista de instrucciones en lenguaje de programación

Cabe señalar que, en los lenguajes de programación, las direcciones de memoria se representan por medio de variables, para hacerlos más legibles. De tal manera que representa una variable y puede ser un mensaje o cualquier valor.

Ahora sí, de acuerdo con la información anterior, en la siguiente tabla se describe el ejemplo de un programa paso a paso explicando las acciones que realiza la unidad de control junto con las otras unidades de la computadora involucradas en la ejecución de cada una de las instrucciones del programa.

InstrucciónDescripción
Imprimir “Ingresa base: ”La unidad de control envía señales al monitor para que imprima el mensaje “Ingresa base:”.
Leer bLa unidad de control coordina las acciones necesarias para que, por medio del teclado ,el usuario introduzca un número y lo almacene en la memoria principal, en el espacio correspondiente a la variable b.
Imprimir “Ingresa altura:”La unidad de control, nuevamente, envía una señal al monitor para que imprima el mensaje “Ingresa altura:”.
Leer hLa unidad de control coordina las acciones necesarias para que el usuario introduzca un número, por medio del teclado, y lo almacene en el espacio de memoria correspondiente a la variable h.
área← b *hLa unidad de control envía la señal indicada a la ALU para que realice la multiplicación, posteriormente envía la señal a la memoria junto con el resultado de la multiplicación para que se almacene en el espacio de memoria correspondiente a la variable área.
Imprimir áreaLa unidad de control trae de la memoria el dato almacenado en el espacio asignado a la variable área y coordina las acciones para que el monitor imprima este valor.
Ejemplo de ejecución paso a paso de un programa

Share to...