Faculté des sciences
Département de Mathématiques 2017/2018
1ère année LMD Module : Structure de machine
TD n°03
(Unité de traitement CPU)
QCM :
1. Le rôle du processeur dans un ordinateur est :
a- Véhiculer les informations
b- Exécuter les instructions
c- Commander toutes les unités
d- Stocker les instructions
e- Contrôler le déroulement de toutes les opérations
2. Indiquez les propositions justes parmi les suivantes :
a- UCC est chargée de décoder les instructions.
b- UAL est chargée de commander le transfert des données et instructions de la MC vers le CPU.
c- UAL exécute les opérations logiques et arithmétiques.
d- UCC détermine l’opération à exécuter par UAL, en utilisant le séquenceur.
3. Répondre par vrai ou faux :
a- UAL est composée de circuit logique combinatoire.
b- Les opérandes sont transférés par le bus de données de la MC vers le CPU
c- Le compteur ordinal détermine l’adresse des opérandes en mémoire
d- Le registre d’instruction donne l’adresse de l’instruction en mémoire
e- Le séquenceur détermine l’opération à exécuter par UAL
f- L’ACC contient l’un des opérandes dans le cas d’une machine à une adresse.
g- L’horloge envoie les signaux de commande de lecture/écriture en MC
4. Donner la structure d’une UCC ?
5. Quel est le rôle du séquenceur dans une UCC ?
6. Quelle est la différence entre un séquenceur câblé et un séquenceur micro-programmé ?
8. Quelle est la définition et le rôle de l’horloge
9. De quoi une instruction est-elle composée ?
10. Définissez le jeu d’instruction d’un processeur ?
11. Quelles sont les différences entre architecture RISC et CISC ?
12. Quelles sont les types d’instruction
13. Ou les instructions lisent-t-ils leurs opérandes dans le processeur
14. Quelle sont les modes d’adressage ?
15. A quoi sert le registre ACC, quelle est sa taille et est-t-il accessible par le programmeur ?
16. Quelle différence entre le bus interne et le bus externe.
17. Quelle la taille du registre d’instruction : elle multiple de taille de mot mémoire.
18. Quelle sont les registres d’un CPU :
19. Quelles sont les paramètres principaux qui caractérisent un processeur :
Exercice 2 :
On considère une machine à 4 adresses, on veut exécuter l’opération suivante : A+B. Sachant que :
L’adresse en MC de l’opération est 100
Celle de 1er opérande est 120
Celle de 2ème opérande est 150
Celle du résultat est 200
1. Donnez le contenu du registre instruction ?
2. Donnez le contenu de la mémoire centrale pour A=36 et B=33
Exercice 3 :
Le même exercice avec une machine à 2 adresses
1. Donnez le contenu du registre instruction ?
2. Donnez le contenu de la mémoire centrale avant et après l’exécution de l’instruction
Exercice 4 :
On considère l’instruction qui effectue la multiplication de deux nombres A et B. Sachant que le
contenu du CO avant l’exécution de l’instruction est 100 et que l’adresse du 1 er opérande est de 120.
Le 2ème opérande se trouve dans l’ACC.
1- Donnez le contenu du RI
2- Donnez le contenu de MC pour A=30 et B=20
3- Donnez le contenu de l’ACC avant et après l’exécution
Exercice 5 :
En utilisant le jeu d’instruction de la machine à zéro adresse donnée en cours :
1- Donnez la suite d’instruction pour l’opération Y= a-(b*c)
2- Donnez le contenu de la pile pour les valeurs suivante : A=10, B=2, C=3.
Exercice 6 : On considère un CPU à 3 @ avec des registres généraux.
Ecrire un programme machine qui effectue l’opération suivante : (a+b)*(a+c) avec A, B et C sont
des constantes (valeurs). Utilisez uniquement 03 registres : R1, R2 et R3.
Exercice 7 : Ecrire un programme r = (a+b)*(a+c) dans le cas d’une architecture à pile.
Donnez le contenu de la pile pour chaque instruction du programme.
Exercice 8 : Donnez le contenu du registre de destination dans chaque cas qui suit :
Cas 2 : adressage direct : Cas 5 :adressage indirect indexé:
MOV R2, 200 Cas 1 : adressage immédiat : MOV R8, [156]
MOV R2 200 MOV R1,#200 MOV R8 [156]
… …
156 200
200 230
… Cas 4 : adressage basé : …
MOV R5, {6} 200
MOV R5 {6} …
… 208 693
Cas 3 : adressage indirect : 210 400 …
MOV R9, (200)
…
MOV R9 (200)
216 85 XR 8
…
… ↓
200 230
XR ?
… Reg base 210
230 400
…
Exercice 9 : Un CPU possède des instructions de branchement Inconditionnel : JMP ;
Conditionnel : JE, JNE, JL, JG, JLE, JGE qui compare l’opérande avec 0 et décide du saut à une @.
Ecrire le programme assembleur qui correspond à :
while (i==0) {…} do {…} while (i==0) for (i=0 ;i<max ;i++){…} if (i==0) {…} else {…}
? ? ? ?