Paste
Copy
Cut
Options
  • Pregunta: Dado el siguiente código: 1. int incógnita=100; 2. const int n=100 3. void calculo( ) K 4. int j, 5. for (j=0;j<100;j++) 6. incognita = incognita −1 7. 3 8. void main(K 9. cuenta =0; 10. paralelos (calculo(), calculo()); 11. imprimir (incognita); 12. } Recuerde que el procesador ejecuta instrucciones de bajo nivel. Asuma que la instrucción de alto nivel:

    student submitted image, transcription available below

    Muestra el texto de la transcripción de la imagen
  • Chegg Logo
    Esta pregunta aún no se resolvió!
    ¿No es lo que buscas?
    Envía tu pregunta a un experto en la materia.
    Texto de la transcripción de la imagen:
    Dado el siguiente código: 1. int incógnita=100; 2. const int n=100 3. void calculo( ) K 4. int j, 5. for (j=0;j<100;j++) 6. incognita = incognita 1 7. 3 8. void main(K 9. cuenta =0; 10. paralelos (calculo(), calculo()); 11. imprimir (incognita); 12. } Recuerde que el procesador ejecuta instrucciones de bajo nivel. Asuma que la instrucción de alto nivel: a=a-1, se convierte en tres instrucciones de bajo nivel: load a, Rn// Llevar el valor en la variable a al registro Rn add Rn,Rn,1// Ejecutar la suma con el valor del registro Rn:Rn=Rn+1 store Rn, a //Almacena el valor del registro Rn en la variable a residente en memoria Responda las siguientes preguntas: a. Calcule y explique cuales serían los límites inferior y superior correctos del valor final de la variable compartida incógnita actualizada en el programa concurrente. Asuma que los procesos pueden ejecutarse a cualquier velocidad y que el valor sólo puede ser incrementado después de haber sido cargado en un registro con una instrucción máquina separada. b. Suponga que se permite la ejecución en paralelo de un número arbitrario de estos procesos bajo los supuestos del punto ¿Cuál sería el rango de valores finales de incognita?
Texto de la transcripción de la imagen:
Dado el siguiente código: 1. int incógnita=100; 2. const int n=100 3. void calculo( ) K 4. int j, 5. for (j=0;j<100;j++) 6. incognita = incognita 1 7. 3 8. void main(K 9. cuenta =0; 10. paralelos (calculo(), calculo()); 11. imprimir (incognita); 12. } Recuerde que el procesador ejecuta instrucciones de bajo nivel. Asuma que la instrucción de alto nivel: a=a-1, se convierte en tres instrucciones de bajo nivel: load a, Rn// Llevar el valor en la variable a al registro Rn add Rn,Rn,1// Ejecutar la suma con el valor del registro Rn:Rn=Rn+1 store Rn, a //Almacena el valor del registro Rn en la variable a residente en memoria Responda las siguientes preguntas: a. Calcule y explique cuales serían los límites inferior y superior correctos del valor final de la variable compartida incógnita actualizada en el programa concurrente. Asuma que los procesos pueden ejecutarse a cualquier velocidad y que el valor sólo puede ser incrementado después de haber sido cargado en un registro con una instrucción máquina separada. b. Suponga que se permite la ejecución en paralelo de un número arbitrario de estos procesos bajo los supuestos del punto ¿Cuál sería el rango de valores finales de incognita?