6.1+Funcion+de+la++Unidad++de+Control+durante+la+ejecución+de+una+Instrucción

//** Introducción a la unidad de control **// //** La unidad de control el elemento que se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador. Las funciones de la unidad de control son básicamente dos. **// //** Interpretación de las instrucciones: La unidad de control debe ser capaz de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos. **// //** Secuenciamiento de las operaciones: La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción. También debe controlar el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa. **// //** Se llaman señales de control a las variables binarias que controlan las entradas y salidas de información de los registros y el funcionamiento **// //** de las unidades funcionales. **// //** La ejecución de una instrucción se divide en varias etapas que deben realizarse según una secuencia muy precisa de señales de control que establece la señal de control. Hay dos formas básicas para implementar la unidad de control: **// //** - Unidad de control cableada: Realiza sus funciones mediante elementos hardware. No la analizaremos en profundidad aquí. **// //** -Unidad de control microprogramada: Es mas lenta que la anterior, pero permite implementar instrucciones mas potentes y flexibles. Será analizada en profundidad en los siguientes apartados. **// //** EJECUCIÓN DE UNA INSTRUCCIÓN **// //** Ahora se intentará conjuntar la secuencia de operaciones elementales necesarias para ejecutar una instrucción. Considérese la instrucción “Sumar el contenido de la localización NUM de la memoria al registro R1″. Para simplificar las cosas, la dirección NUM se da en forma explícita en el campo de dirección de la instrucción. Entonces, la localización NUM se especifica en el modo directo de memoria. La ejecución de esta instrucción requiere de las siguientes acciones. **// //** 1.Traer la instrucción **// //** 2.Traer el primer operando (el contenido de la localización de la memoria a la que señala el campo de dirección de la instrucción). **// //** 3.Realizar la adición **// //** 4.Cargar el resultado en RI. **// //**PASO**// //**1 .- PC salida, MAR entrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Zentrada**// //** 2.- Z salida, PC entrada, Espera a MFC **// //** 3.- MDR salida, IR salida **// //** 4.- Campo de dirección de IR salida, MAR entrada, Leer **// //** 5.- R1salida, Yentrada, Espera a MFC **// //** 6.- MDR salida, Suma, Z entrada **// //** 7.- Z salida, R1 entrada **// //** 8.- Fin **// //**autor: hernandez martinez oscar**//

La unidad de control el elemento que se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador.

Se llaman señales de control a las variables binarias que controlan las entradas y salidas de información de los registros y el funcionamiento de las unidades funcionales. La ejecución de una instrucción se divide en varias etapas que deben realizarse según una secuencia muy precisa de señales de control que establece la señal de control. · **Unidad de control cableada:** Realiza sus funciones mediante elementos hardware. · **Unidad de control microprogramada:** Es mas lenta que la anterior, pero permite implementar instrucciones mas potentes y flexibles. Será analizada en profundidad en los siguientes apartados.
 * Las funciones de la unidad de control son básicamente dos:**
 * Interpretación de las instrucciones:** La unidad de control debe ser capaz de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos.
 * Secuenciamiento de las operaciones:** La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción. También debe controlar el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa.
 * Hay dos formas básicas para implementar la unidad de control:**

media type="youtube" key="I89UcJvP3Yg" height="385" width="480"

__//** autor: jorge luis camarillo cristobal **//__

La unidad de control el elemento que se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador. Las funciones de la unidad de control son básicamente dos. Interpretación de las instrucciones: La unidad de control debe ser capaz de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos. Secuenciamiento de las operaciones: La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción. También debe controlar el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa. Se llaman señales de control a las variables binarias que controlan las entradas y salidas de información de los registros y el funcionamiento de las unidades funcionales. La ejecución de una instrucción se divide en varias etapas que deben realizarse según una secuencia muy precisa de señales de control que establece la señal de control. Hay dos formas básicas para implementar la unidad de control: - Unidad de control cableada: Realiza sus funciones mediante elementos hardware. No la analizaremos en profundidad aquí. -Unidad de control microprogramada: Es mas lenta que la anterior, pero permite implementar instrucciones mas potentes y flexibles. Será analizada en profundidad en los siguientes apartados. Ahora se intentará conjuntar la secuencia de operaciones elementales necesarias para ejecutar una instrucción. Considérese la instrucción “Sumar el contenido de la localización NUM de la memoria al registro R1″. Para simplificar las cosas, la dirección NUM se da en forma explícita en el campo de dirección de la instrucción. Entonces, la localización NUM se especifica en el modo directo de memoria. La ejecución de esta instrucción requiere de las siguientes acciones. 1.Traer la instrucción 2.Traer el primer operando (el contenido de la localización de la memoria a la que señala el campo de dirección de la instrucción). 3.Realizar la adición 4.Cargar el resultado en RI. PASO 1 .- PC salida, MAR entrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Zentrada 2.- Z salida, PC entrada, Espera a MFC 3.- MDR salida, IR salida 4.- Campo de dirección de IR salida, MAR entrada, Leer 5.- R1salida, Yentrada, Espera a MFC 6.- MDR salida, Suma, Z entrada 7.- Z salida, R1 entrada 8.- Fin En la figura 8 se da la secuencia de pasos de control necesarios para implantar las operaciones anteriores en la estructura de bus único. Entonces, la ejecución de instrucción sucede de la siguiente forma. En el paso 1 la operación de traída de la instrucción se inicia cargando el contenido del PC en el MAR y enviando una solicitud de Leer a la memoria. A1 mismo tiempo se incrementa el PC en 1 a través del uso de la ALU. Esto se logra poniendo una de las entradas a la ALU (registro Y) en 0 y la otra entrada (bus de la CPU) en el valor presente que contenga el PC. Al mismo tiempo el acarreo a la ALU se iguala a 1 y se especifica una operación de Sumar. El valor actualizado se regresa del registro Z al PC durante el paso dos. Obsérvese que el paso dos se inicia inmediatamente después de emitir la solicitud de Leer de a memoria, sin necesidad de esperar la conclusión de la función de la memoria. Sin embargo, el paso 3 tiene que retardarse hasta que se reciba el MFC. En el paso 3, a palabra traída de la memoria se carga en el IR (registro de instrucción: instruction register). Los pasos del 1 al 3 constituyen la fase de traída de instrucción de la secuencia de control. Desde luego, esta parte es la misma para todas las instrucciones. En cuanto el IR está cargado, el circuito de decodificación de instrucción interpreta su contenido. Esto permite a la circuitería de control elegir las señales adecuadas para la parte restante de la secuencia de control, pasos 4 a 8, a los que se considera como la fase de ejecución. En el paso 4, el campo de dirección del IR que contiene la dirección NUM, es manejado por compuerta y se lleva al MAR y se inicia una operación de Leer de la memoria. Después el contenido de la memoria R1 se transfiere al registro Y. Cuando se completa la operación de Leer, el operando de la memoria está disponible en el registro MDR. La operación de adición se realiza en el paso 6 y el resultado se transfiere a R1 en el paso 7. La señal de Fin, paso 8, indica la conclusión de la ejecución de la presente instrucción y provoca que se inicie un nuevo ciclo de traída regresando de nuevo al paso 1. Las ramificaciones se logran reemplazando el contenido actual del PC por la dirección de ramificación, esto es, la dirección de la instrucción a la cual se refiere una ramificación. Por lo común, la dirección de ramificación se obtiene sumando al valor actual del PC, un valor X de compensación, el cual está dado en el campo de dirección de la instrucción de ramificación. En la figura 9 se proporciona una secuencia de control que permite la ramificación de control incondicional utilizando la organización de bus único de la figura 1. Como de costumbre, la ejecución se empieza con la fase de traída y termina cuando la instrucción se carga en el IR en el paso 3. Para ejecutar la instrucción de ramificación, el contenido del PC se transfiere al registro Y en el paso 4. Después el valor de compensación X se envía por compuerta al bus y se realiza la operación de adición. El resultado, que representa la dirección de ramificación, se carga en el PC en el paso 6. PASO 1.- PC salida, MAR entrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Z entrada 2.- Z salida, PC entrada, Espera a MFC 3.- MDR salida, IR salida 4.- PC salida, Yentrada 5.- Campo de dirección de IR salida, Suma, Z entrada 6.- Z salida, PC entrada 7.- Fin Figura 9. Es importante observar que en este ejemplo el PC se incrementa durante la fase de traída, sin importar el tipo de instrucción que se esté ejecutando. Así, en el momento en que el valor de compensación X se suma al contenido del PC, pasos 4 y 5 de la figura 9, este contenido ya se ha actualizado para que apunte a la instrucción que sigue en el programa a la instrucción de Ramificación. Por lo tanto, el valor de compensación X debería ser la diferencia entre la dirección de ramificación y la dirección que sigue de inmediato a la instrucción de Ramificación. Por ejemplo, si la instrucción de Ramificación está en la localización 1000 y se requiere ramificar a la localización 1050, el valor de X debería ser de 49. Considérese ahora 1 caso de una ramificación condicional, en vez de una ramificación incondicional. La única diferencia entre este caso y el de la figura 9 es el de la necesidad de verificar el estado de los códigos de condición entre los pasos 3 y 4.Por ejemplo, si la circuitería de decodificación de instrucción interpreta el contenido del IR como una instrucción de Ramificación en caso negativo (BRN: Branch on Negative), la unidad de control opera de la siguiente forma: primero, se verifica el registro de código de condición. Si el bit N (negativo) es igual a 1, la unidad de control procede a los pasos del 4 al 7 como en la figura 9. Por otra parte, si N es igual a 0 se emite una señal de Fin. En realidad, esto concluye la ejecución de la instrucción de Ramificación y provoca que la instrucción inmediata del programa se traiga, cuando se realice una nueva operación de traer. Por lo tanto, la secuencia de control para la secuencia de Ramificación condicional BRN puede obtenerse a partir de la figura 9 reemplazando el paso 4 por: If then End If N then PC salida, Y entrada.
 * EJECUCIÓN DE UNA INSTRUCCIÓN**
 * Ramificación**

Autor: Gutierrez Junco Claudia
La unidad de control el elemento que se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador. Las funciones de la unidad de control son básicamente dos. Interpretación de las instrucciones: La unidad de control debe ser capaz de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos. Secuenciamiento de las operaciones: La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción. También debe controlar el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa. Se llaman señales de control a las variables binarias que controlan las entradas y salidas de información de los registros y el funcionamiento de las unidades funcionales. La ejecución de una instrucción se divide en varias etapas que deben realizarse según una secuencia muy precisa de señales de control que establece la señal de control. Hay dos formas básicas para implementar la unidad de control: - Unidad de control cableada: Realiza sus funciones mediante elementos hardware. No la analizaremos en profundidad aquí. -Unidad de control microprogramada: Es mas lenta que la anterior, pero permite implementar instrucciones mas potentes y flexibles. Será analizada en profundidad en los siguientes apartados.
 * FUNCION DE LA UNIDAD DE CONTROL DURANTE LA EJECUCION DE UNA INSTRUCCION **

** ★ **** •« **** ║█ ** ** ║║▀▄▀▄ YESSICA LIZBETH FAJARDO NIETO ║█ ** ** ║║▀▄▀▄ **** •« **** ★ **

**Introducción a la unidad de control** EJECUCIÓN DE UNA INSTRUCCIÓN Ramificación
 * La unidad de control el elemento que se encarga de sincronizar las acciones que realiza cada una de las unidades funcionales de un computador. Las funciones de la unidad de control son básicamente dos.**
 * Interpretación de las instrucciones: La unidad de control debe ser capaz de decodificar los códigos de operación y los modos de direccionamiento de las instrucciones y actuar de forma diferente para cada uno de ellos.**
 * Secuenciamiento de las operaciones: La unidad de control se encarga de la temporización de las distintas operaciones necesarias para la ejecución de cada instrucción. También debe controlar el secuenciamiento de las instrucciones en función de la evolución del registro contador de programa.**
 * Se llaman señales de control a las variables binarias que controlan las entradas y salidas de información de los registros y el funcionamiento** **de las unidades funcionales.**
 * La ejecución de una instrucción se divide en varias etapas que deben realizarse según una secuencia muy precisa de señales de control que establece la señal de control. Hay dos formas básicas para implementar la unidad de control:**
 * - Unidad de control cableada: Realiza sus funciones mediante elementos hardware. No la analizaremos en profundidad aquí.**
 * -Unidad de control microprogramada: Es mas lenta que la anterior, pero permite implementar instrucciones mas potentes y flexibles. Será analizada en profundidad en los siguientes apartados.**
 * Ahora se intentará conjuntar la secuencia de operaciones elementales necesarias para ejecutar una instrucción. Considérese la instrucción “Sumar el contenido de la localización NUM de la memoria al registro R1″. Para simplificar las cosas, la dirección NUM se da en forma explícita en el campo de dirección de la instrucción. Entonces, la localización NUM se especifica en el modo directo de memoria. La ejecución de esta instrucción requiere de las siguientes acciones.**
 * 1.Traer la instrucción**
 * 2.Traer el primer operando (el contenido de la localización de la memoria a la que señala el campo de dirección de la instrucción).**
 * 3.Realizar la adición**
 * 4.Cargar el resultado en RI.**
 * PASO**
 * 1 .- PC salida, MAR entrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Zentrada**
 * 2.- Z salida, PC entrada, Espera a MFC**
 * 3.- MDR salida, IR salida**
 * 4.- Campo de dirección de IR salida, MAR entrada, Leer**
 * 5.- R1salida, Yentrada, Espera a MFC**
 * 6.- MDR salida, Suma, Z entrada**
 * 7.- Z salida, R1 entrada**
 * 8.- Fin**
 * En la figura 8 se da la secuencia de pasos de control necesarios para implantar las operaciones anteriores en la estructura de bus único. Entonces, la ejecución de instrucción sucede de la siguiente forma. En el paso 1 la operación de traída de la instrucción se inicia cargando el contenido del PC en el MAR y enviando una solicitud de Leer a la memoria. A1 mismo tiempo se incrementa el PC en 1 a través del uso de la ALU. Esto se logra poniendo una de las entradas a la ALU (registro Y) en 0 y la otra entrada (bus de la CPU) en el valor presente que contenga el PC. Al mismo tiempo el acarreo a la ALU se iguala a 1 y se especifica una operación de Sumar.**
 * El valor actualizado se regresa del registro Z al PC durante el paso dos. Obsérvese que el paso dos se inicia inmediatamente después de emitir la solicitud de Leer de a memoria, sin necesidad de esperar la conclusión de la función de la memoria. Sin embargo, el paso 3 tiene que retardarse hasta que se reciba el MFC. En el paso 3, a palabra traída de la memoria se carga en el IR (registro de instrucción: instruction register). Los pasos del 1 al 3 constituyen la fase de traída de instrucción de la secuencia de control. Desde luego, esta parte es la misma para todas las instrucciones.**
 * En cuanto el IR está cargado, el circuito de decodificación de instrucción interpreta su contenido. Esto permite a la circuitería de control elegir las señales adecuadas para la parte restante de la secuencia de control, pasos 4 a 8, a los que se considera como la fase de ejecución. En el paso 4, el campo de dirección del IR que contiene la dirección NUM, es manejado por compuerta y se lleva al MAR y se inicia una operación de Leer de la memoria. Después el contenido de la memoria R1 se transfiere al registro Y. Cuando se completa la operación de Leer, el operando de la memoria está disponible en el registro MDR. La operación de adición se realiza en el paso 6 y el resultado se transfiere a R1 en el paso 7. La señal de Fin, paso 8, indica la conclusión de la ejecución de la presente instrucción y provoca que se inicie un nuevo ciclo de traída regresando de nuevo al paso 1.**
 * Las ramificaciones se logran reemplazando el contenido actual del PC por la dirección de ramificación, esto es, la dirección de la instrucción a la cual se refiere una ramificación. Por lo común, la dirección de ramificación se obtiene sumando al valor actual del PC, un valor X de compensación, el cual está dado en el campo de dirección de la instrucción de ramificación. En la figura 9 se proporciona una secuencia de control que permite la ramificación de control incondicional utilizando la organización de bus único de la figura 1. Como de costumbre, la ejecución se empieza con la fase de traída y termina cuando la instrucción se carga en el IR en el paso 3. Para ejecutar la instrucción de ramificación, el contenido del PC se transfiere al registro Y en el paso 4. Después el valor de compensación X se envía por compuerta al bus y se realiza la operación de adición. El resultado, que representa la dirección de ramificación, se carga en el PC en el paso 6.**
 * PASO**
 * 1.- PC salida, MAR entrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Z entrada**
 * 2.- Z salida, PC entrada, Espera a MFC**
 * 3.- MDR salida, IR salida**
 * 4.- PC salida, Yentrada**
 * 5.- Campo de dirección de IR salida, Suma, Z entrada**
 * 6.- Z salida, PC entrada**
 * 7.- Fin**
 * Figura 9.**
 * Es importante observar que en este ejemplo el PC se incrementa durante la fase de traída, sin importar el tipo de instrucción que se esté ejecutando. Así, en el momento en que el valor de compensación X se suma al contenido del PC, pasos 4 y 5 de la figura 9, este contenido ya se ha actualizado para que apunte a la instrucción que sigue en el programa a la instrucción de Ramificación. Por lo tanto, el valor de compensación X debería ser la diferencia entre la dirección de ramificación y la dirección que sigue de inmediato a la instrucción de Ramificación. Por ejemplo, si la instrucción de Ramificación está en la localización 1000 y se requiere ramificar a la localización 1050, el valor de X debería ser de 49.**
 * Considérese ahora 1 caso de una ramificación condicional, en vez de una ramificación incondicional. La única diferencia entre este caso y el de la figura 9 es el de la necesidad de verificar el estado de los códigos de condición entre los pasos 3 y 4.Por ejemplo, si la circuitería de decodificación de instrucción interpreta el contenido del IR como una instrucción de Ramificación en caso negativo (BRN: Branch on Negative), la unidad de control opera de la siguiente forma: primero, se verifica el registro de código de condición. Si el bit N (negativo) es igual a 1, la unidad de control procede a los pasos del 4 al 7 como en la figura 9. Por otra parte, si N es igual a 0 se emite una señal de Fin. En realidad, esto concluye la ejecución de la instrucción de Ramificación y provoca que la instrucción inmediata del programa se traiga, cuando se realice una nueva operación de traer. Por lo tanto, la secuencia de control para la secuencia de Ramificación condicional BRN puede obtenerse a partir de la figura 9 reemplazando el paso 4**

POSTEO ANA LUCIA VANEGAS MARTINEZ

La función principal de la unidad de control de la UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa. Los pasos para ejecutar una instrucción cualquiera son los siguientes: I. Ir a la memoria y extraer el código de la siguiente instrucción (que estará en la siguiente celda de memoria por leer). Este paso se llama ciclo de //fetch// en la literatura computacional (//to fetch// significa traer, ir por). II. Decodificar la instrucción recién leída (determinar de que instrucción se trata). III. Ejecutar la instrucción. IV. Prepararse para leer la siguiente casilla de memoria (que contendrá la siguiente instrucción), y volver al paso 1 para continuar. La unidad de control ejecutara varias veces este ciclo de cuatro “instrucciones alambradas” a una enorme velocidad. Se llama así a estas instrucciones porque no residen en memoria, ni fueron escritas por ningún programador, sino que la maquina las ejecuta directamente por medios electrónicos, y lo hará mientras este funcionando (mientras este encendida) en una computadora es a razón de cientos de miles (o incluso millones) de veces por segundo. Se ha definido ya el modelo de von Neumann. Ahora se pondrá a funcionar sobre nuestro pequeño programa de ejemplo (que ya esta cargado en la memoria). PASOS PARA LA EJECUCION DE UN PROGRAMA Se describirán todos los pasos con detalle por única vez, para que el lector pueda estudiarlos con detenimiento hasta estar seguro de haberlos comprendido. (obsérvese que este paso es externo, esto es, no forma parte del programa, sino que se tiene que hacer “desde afuera” para iniciara la operación de la computadora) En este momento hay que tener cuidado para que no haya confusión: el primer 21 (el de la celda 10) es la instrucción CARGA_Ac; el segundo 21 ( El de la celda 11) es la dirección de la celda de memoria cuyo valor se desea cargar en el acumulador. Esta instrucción completa 21, 21, puede leerse de la siguiente manera: cargar el acumulador con el valor que este contenido en la celda cuya dirección aparece a la derecha de donde sé esta leyendo ahora. Conviene tener muy en claro antes de seguir adelante. De estos 16 pasos sobre sale lo siguiente: COMO EJECUTAR UN PROGRAMA Sí el archivo. EXE esta en la unidad por omisión, podría usar el DOS para cargarlo para su ejecución introduciendo: P05ASM1.EXE o PO5ASM1 Si omite la extensión del archivo el DOS supone que es. EXE (o .COM). Sin embargo, ya que este programa no produce resultados visibles, se sugiere que lo ejecute con DEBUG y avance paso por paso en su ejecución en comandos de rastreo. (T. Teclee lo siguiente incluyendo la extensión. EXE: DEBUG D:P05ASM1.EXE DEBUG carga el modelo del programa.EXE. Y MUESTRA SU INDICACION (un guión). Para ver el segmento de la pila teclee: D SS:0. La pila contiene solo ceros ya que fue la forma de visualizarla. Para ver el segmento de datos teclee: D DS:0. La operación muestra tres elementos de datos. FA 00 7D 00 00 00, con los bytes de cada palabra en orden inverso para ver el segmento de código, teclee: D CS:0. Compare el código de maquina mostrando con el segmento de código del listado del ensamblado: D88ED8A10000... En este caso el listado del ensamblador no muestra de manera precisa el código de maquina ya que el ensamblador no conoce la operación del operando de la primera instrucción. Ahora puede determinar esta instrucción examinando el código desplegado. Teclee R para ver los registros y rastree la ejecución del programa con sucesivos comandos T. Amedida que avance el programa, fíjese en el contenido de los registros. Cuando llegue a la ultima instrucción, puede utilizar L para volver a cargar y correr el programa o Q para salir de la sesión con DEBUG.
 * __UNIDAD DE CONTROL__**
 * En virtud de que el programa comienza a partir de la celda numero 10, se debe indicar a la unidad de control que esa celda contiene la primera instrucción. Esto se hace por medio de un apuntador (que forma parte de los circuitos electrónicos de la unidad de control) que recibe el nombre de contador de programa (CP). Así pues, el primer paso debe consistir en apuntar a la casilla 10, y esto se representara por CP-10.
 * La unidad de control ejecutara el paso I e ira a la casilla 10 para leer su contenido, que es21.
 * La unidad de control ejecuta el paso II, con lo que decodifica el 21 recién leído y determina que se trata de una operación CARGA_Ac. En este momento sucede algo de primordial importancia: como la instrucción 21 tiene una longitud de dos celdas cuyo valor se cargara en el acumulador (que en este caso de casualidad también es 21), la maquina deberá ajustar el valor del contador de programa para que este apunte a celda siguiente.
 * La unidad de control ejecuta el paso III, con la que efectivamente efectuara la operación de carga. Por esto, la computadora debe ir a la celda 11 y extraer su contenido, pero ahora ya no lo considera como instrucción si no como dirección por la cual ira a la celda 21 para extraer el valor que contenga.
 * La unidad de control ejecuta el paso IV, para luego ejecutar todo el ciclo de nuevo. Obsérvese que es un ciclo ilimitado, que solo terminara cuando se ejecute la instrucción ALTO. En este caso, el contador de programa se hará igual a 12; esto es, apuntara a la celda numero 12.
 * Se ejecuta (por segunda vez) el paso I de la unidad de control. Como CP=12, se leerá esa celda, que contiene un 57.
 * Se decodifica esa instrucción, que es SUMA_Ac, por lo que la CP se prepara para apuntar a la siguiente celda. (Recuérdese que la instrucción SUMA_Ac ocupa 2 celdas: una para el código de operación y otra para la dirección de la celda cuyo contenido se sumara al acumulador.)
 * Se ejecuta la instrucción 57, con lo que se añade el contenido de la celda 22 al acumulador(la dirección 22 reside en la celda 13, es a la que actualmente apunta el contador de un programa como resultado del paso anterior). Ahora el acumulador contendrá un 12.
 * La CP se actualiza para apuntar a la celda 14, en la cual (y no es casualidad) reside el código de la siguiente instrucción.
 * Se lee la celda 14 y se extrae su código: 96.
 * Se decodifica la instrucción, que es GUARDA_Ac, por lo que el CP sea lista para apuntar a la siguiente celda, que contendrá la dirección de la celda en donde se guardara el contenido del acumulador.
 * Al ejecutarse esta instrucción se deposita el valor del acumulador (12) en la celda numero 23, o sea, se deja el resultado de la suma en la celda que de antemano se había separado para tal fin.
 * La unidad de control regresa al paso I no sin antes actualizar el contador de programas para que apunte a la celda 16 es donde reside la siguiente instrucción.
 * Se lee la celda 16 y se extrae su contenido: 70.
 * Se decodifica esta instrucción, que es ALTO. El CP no se prepara para extraer un dato de la siguiente celda porque la instrucción 70 ocupa una sola celda.
 * Se ejecuta esta instrucción, lo que detiene a la unidad de control y a la maquina. De esta manera se rompe el ciclo de los 4 pasos.
 * Dado el contenido de una celda, la computadora no puede distinguir si se trata de un instrucción o de un dato o dirección.
 * Debido a lo anterior, es responsabilidad de quien maneja la maquina indicarle cual es la celda donde comienza el programa (esto se hizo por medio del paso 0, que se describió externo al programa).
 * Una vez que el contador de un programa apunta a la celda que contiene la primera instrucción, el resto del proceso ocurre de manera automática e invisible para el programador. Esto se debe a los ajustes internos que hace al CP (en el paso II) que a su vez, dependen de la longitud de la instrucción que sé esta ejecutando.

posteo: Romero Pastén Luis Angel