
Une série de composantes matérielles indépendantes exécutant chacune une partie d’une instruction. Chaque
composante peut travailler sur une instruction différente.
Q5.14 : Dites si les énoncés suivant sont vrai ou faux. Justifier dans tous les cas :
A) Un pipeline permet toujours de compléter une instruction par coup d’horloge
Faux. Il peut y avoir des dépendances entre les instructions. Il y a aussi des instructions de saut, des
branchements, etc.
B) Un ordinateur super scalaire sera assurément plus performant qu’un ordinateur
scalaire.
Faux.
C) Un pipeline ayant une profondeur de 6 exécute 6 instructions à la fois et l’exécution
de chaque instruction est divisée en 6 parties.
Vrai
Q5.15 : Nommez cinq composantes d’un CPU moderne.
CCU, ALU, Registres, unité de gestion des bus externes, unité de traitement des sauts pour la pipeline, etc.
Q5.16 : Qu’est-ce qu’une micro instruction? Quel est l’avantage d’utiliser des micro-
instructions par rapport à concevoir un micro processeur avec une logique câblée
(hardwired, c’est-à-dire où chaque instruction est exécutée par une séquence d’action dans
du matériel qui lui est propre).
Une micro instruction est une étape d’une instruction. Chaque instruction est exécutée avec une séquence de
micro instructions. Comme des instructions différentes ont souvent plusieurs parties commune, utiliser des
microprogrammes permet de réduire la quantité et la complexité du matériel nécessaire à l’exécution des
instructions.
Q5.17 : Lors de la lecture et de l’exécution d’une instruction comme LOAD R0, MaVar
(lire MaVar en mémoire et mettre la valeur lue dans le registre R0), le microprocesseur met
des adresses sur le bus d’adresse. Dites combien d’adresses seront mises sur le bus
d’adresse et quel registre du microprocesseur fournira l’adresse.
Deux adresses seront mises sur le bus d’adresse :
- L’adresse de l’instruction LOAD, fournie par le compteur de programme (registre PC)
- L’adresse de la variable MaVar, fournie par l’instruction elle-même (registre IR)
Q5.18 : L’annexe du cours 5 présente un microprocesseur rudimentaire. Expliquez quelles
seraient les sous-instructions nécessaires afin de lire et d’exécuter l’instruction LOAD R0,
MaVar (lire MaVar en mémoire et mettre la valeur lue dans le registre R0), puis lire et
exécuter l’instruction ADD R0, R0, R0 (additionne R0 = R0 + R0), pour ce
microprocesseur rudimentaire.
Les sous-instructions sont présentées dans l’annexe :
Fetch 1 et 2; PC –> Bus d’adresse
Mettre l’adresse de l’instruction LOAD R0, MaVar sur
le bus d’adresse
Activer la ligne de lecture de la mémoire
Fetch 4,5; Bus de données –> IR
Mettre l’instruction provenant de la mémoire dans le
registre d’instruction
Load 1,2; IR –> Bus d’adresse
Mettre l’adresse de la variable contenue dans
l’instruction sur le bus d’adresse
Activer la ligne de lecture de la mémoire
Load 4, 5; Bus de données –> R0
Mettre la donnée provenant de la mémoire dans R0
Les noms et les numéros des sous-instructions proviennent de l’annexe du cours 5