Examen de deuxième session
1
1 Exercice
1.1 Code assembleur
Donner les quatre instructions assembleurs traduisant le code C suivant :
i=j-k ;
on utilisera les registres $i, $j, $k.
1.2 Architecture monocycle
Quelle est la valeur du temps de cycle, du CPI de l’architecture monocycle vue en cours ?
Evaluer les performances du code assembleur de la question 1.1 sur cette architecture.
1.3 Architecture pipelinée sans envoi
Donner le schéma simplifié de l’architecture pipelinée vue en cours.
Quelle est la valeur du temps de cycle, du CPI ?
Définir ce qu’est un aleas de données.
Donner sur des schémas simplifiés la séquence de déroulement du code assembleur.
Donner le nombre de cycles.
1.4 Architecture pipelinée avec envoi
Donner sur les schémas simplifiés la séquence de déroulement du code assembleur. On
montrera de façon précise les envois réalisés.
Donner le nombre de cycles de la séquence.
2 Contrôle
2.1 Construction de l’architecture
Modifier l’architecture piplinée pour réaliser l’instruction Saut Inconditionnel. On cherchera à minimiser le
coût matériel en utilisant le matériel existant et en ajoutant le minimum de multiplexeur.
le matériel nécessaire et le contrôle associé sont à dessiner sur la feuille
2.2 Construction du contrôle
Indiquer le contrôle à associer à chaque cycle pour exécuter l’instruction Saut Inconditionnel , en remplissant
le tableau représentant les valeurs du contrôle. On ajoutera des signaux de contrôle si nécessaire.
Valeur booléen
C C1
C2
B B1
B2
B3
A A1
A2 XX
A3
…