logo

Crowdly

Browser

Додати до Chrome

CA & OS (Computer Architecture) - EFREI - Fall 2026

Шукаєте відповіді та рішення тестів для CA & OS (Computer Architecture) - EFREI - Fall 2026? Перегляньте нашу велику колекцію перевірених відповідей для CA & OS (Computer Architecture) - EFREI - Fall 2026 в moodle.lab.ii.agh.edu.pl.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Calculez l'accélération par rapport à l'exécution du programme sur le processeur séquencé.

accélération = CPIseq / CPIpip

Quelle est la valeur d'accélération ?

Переглянути це питання
danger brut

L'aléa RAW est l'un des problèmes les plus courants liés à l'exécution pipelinée et parallèle des instructions par le processeur. Ce type d'aléa survient lorsqu'une instruction ultérieure (j) requiert le résultat d'une instruction précédente (i) pour s'exécuter, mais que l'exécution de cette dernière (i) n'est pas encore terminée (fin de la phase WB du cycle d'instruction en MIPS). Si l'exécution du programme n'est pas interrompue, il se peut que l'instruction ultérieure (j) effectue des opérations sur un argument incorrect : la valeur correcte de l'argument de l'instruction (j) n'est pas disponible avant la fin de l'exécution de l'instruction précédente (i). Ce type d'aléa peut être observé lors de l'exécution du programme d'exemple :

;MIPS64 RAW hazard example

    .data

A:    .word 2

B:    .word 3

C:    .word 7

D:    .word 0

    

    .text

main:    ld r1,A(r0)

    ld r2,B(r0)

    dadd r3,r1,r2

    sw r3,C(r0)

    lw r4,C(r0)

    dadd r5,r1,r4

    sw r5,D(r0)

    halt

Analysez ce programme et calculez le nombre de cycles d'horloge nécessaires à son exécution sur le processeur séquentiel. Supposons que l'exécution de chaque instruction prenne 5 cycles d'horloge.

Combien de cycles d'horloge sont nécessaires pour exécuter ce programme sur un processeur séquentiel ?

Переглянути це питання
Observation de l'exécution en pipeline d'un programme simple

Dans cette section, vous tenterez d'évaluer l'impact de l'exécution en pipeline du programme sur ses performances.

Préparez et chargez le programme de test (copiez et collez le code suivant) :

      .data

A:    .word 10

B:    .word 8

C:    .word 0

    

      .text

main:    ld r4,A(r0)

         ld r5,B(r0)

         dadd r3,r4,r5

         sd r3,C(r0)

         halt

Dans le menu « Configurer », cochez et activez l’option « Activer le transfert ».

Exécutez le programme en mode d'instruction monocycle . Observez la fenêtre du pipeline et le diagramme du cycle d'horloge.

Quel est le nombre de cycles d'horloge ( n ) utilisés pour l'exécution de ce programme qui apparaît dans la fenêtre « Statistiques » ?

0%
100%
0%
0%
Переглянути це питання
Risque de guerre

Ce type d'aléa peut survenir lorsque l'instruction suivante (j) stocke le résultat de son exécution dans la ressource (registre ou emplacement mémoire) utilisée comme argument par l'instruction précédente (i). Le problème apparaît lorsque l'exécution de l'instruction précédente (i) est retardée et que l'instruction suivante (j) se termine avant que l'instruction précédente (i) puisse recevoir son argument. Cela peut entraîner un résultat erroné pour l'instruction (i). La méthode classique pour supprimer cette dépendance consiste à retarder l'exécution de l'instruction (j) jusqu'à la fin de l'exécution de l'instruction (i). 

Pour illustrer ce problème, le code suivant sera utilisé :

;WinMIPS64 WAR hazard example

    .data

A:    .double 10.0

B:    .double 5.0

C:    .double 3.5

D:    .double 1.0

E:    .double 3.14.0

res:    .double 0.0

    

    .text

main:    l.d f2,A(r0)

    l.d f3,B(r0)

    l.d f4,C(r0)

    l.d f5,D(r0)

    l.d f6,E(r0)

    

    add.d f2,f2,f3

    sub.d f2,f2,f4

    mul.d f4,f5,f6

    

    s.d f2,res(r0)

    halt

Activez le mécanisme de transfert de données et exécutez le programme d'exemple.

Analysez le diagramme du cycle d'horloge et identifiez l'instruction provoquant le blocage WAR .  

Marquez l'instruction qui provoque le blocage de WAR.

0%
0%
0%
0%
0%
Переглянути це питання

Analysez le programme et essayez d'évaluer la valeur de res si l'exécution de l'instruction qui provoque le blocage WAR a été poursuivie sans attendre la fin de l'exécution de l'instruction précédente.

Valeur de ressource « incorrecte » calculée :

Переглянути це питання

Analysez le programme et essayez d'évaluer la valeur de res si l'exécution de l'instruction qui provoque le blocage WAW a été poursuivie sans attendre la fin de l'exécution de l'instruction précédente.

Valeur de ressource « incorrecte » calculée :

Переглянути це питання
W-A-W hazard

This type of hazard may occur when two adjacent instructions (i) and (j) save the result of their execution to the same resource (register, memory cell) and the time of the execution of the earlier instruction (i) is longer than the time of the execution instruction (j). It may cause an erroneous result of executing this sequence of instructions to be written into the resource. The typical way to remove such a dependency is to delay the completion of the execution instruction (j) until the execution of the instruction (i) is completed. 

To illustrate this problem, the following code will be used:

;WinMIPS64 WAW hazard example

    .data

A:    .double 15.0

B:    .double 5.0

C:    .double 4.4

D:    .double 1.0

E:    .double 3.14.0

res:    .double 0.0

    

    .text

main:    l.d f2,A(r0)

    l.d f3,B(r0)

    l.d f4,C(r0)

    l.d f5,D(r0)

    l.d f6,E(r0)

    nop

    mul.d f6,f2,f4

    sub.d f6,f2,f3

    add.d f3,f6,f4

    s.d f3,res(r0)

    halt

Note très importante ! Avant d’exécuter ce programme, assurez-vous que le mécanisme de transfert de données est désactivé . Si le transfert de données est activé, le matériel MIPS ne peut pas détecter, signaler et prévenir les risques liés aux courants d’arrêt automatiques (WAW). 

Exécutez le programme d'exemple. Analysez le diagramme du cycle d'horloge et trouvez l'instruction qui provoque le blocage WAW.

Indiquez l'instruction qui a causé le risque de WAW.

0%
0%
0%
100%
0%
Переглянути це питання

Une fois le programme exécuté, vérifiez la valeur attribuée à la variable res . (Cette valeur se trouve dans la fenêtre Données du simulateur MIPS).

Quelle est la valeur stockée dans la variable res à la fin de l'exécution du programme ?

Переглянути це питання

Expliquez pourquoi l'exécution de l'instruction indiquée dans la réponse à la question précédente a dû être suspendue.

Переглянути це питання

Calculez le gain de vitesse par rapport à l'exécution en pipeline du programme avec le mécanisme DF désactivé.

speedupDF = CPIpip / CPIpipDF

Quelle est la valeur d'accélération ?

Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.lab.ii.agh.edu.pl?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

Browser

Додати до Chrome