Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
Le tableau ci-dessous présente les étages du pipeline d’un processeur
1. Sachant que chaque étage du pipeline est exécuté en un cycle d’horloge, compléter le tableau
ci-dessous correspondant à l’exécution des 5 instructions dans le pipeline (le premier cycle de
la première instruction est donnée).
b. Expliquez-le ?
R : L’étape MA (Accès Mémoire) de l’instruction LDR R7, [R6,#(0)16] a lieu en même
temps que l’étape IF (chargement de l’instruction) ADD R1, R1, #(1)16 . Ces deux étapes
nécessitent simultanément l’accès à la mémoire. Comme cela est impissible,
l’instruction ADD R1, R1, #(1)16 et celle qui suivent sont retardées d’un cycle.
Exercice 2 :
Le tableau ci-dessous présente une liste d’instructions d’un processeur 8-bit dont le banc de registre
contient les registres R1, R2, R3. Le processeur n’a pas de pipeline et son jeu d’instructions est décrit
dans le tableau 1.
1. Indiquez pour chacune des instructions, les valeurs (en binaire et en hexa) des registres R1, R2,
R3 (remplissez directement le tableau).
2 LDR R1, #(A0)16 1010 0000 (A0)16 0000 0000 0x00 0000 0000 0x00
3 LDR R2, #(0A)16 1010 0000 (A0)16 0000 1010 (0A)16 0000 0000 0x00
4 ADD R3, R1, R2 1010 0000 (A0)16 0000 1010 (0A)16 1010 1010 (AA)16
5 SHR R3, #(2)16 1010 0000 (A0)16 0000 1010 (0A)16 0010 1010 (2A)16
6 ADD R3, R2, R3 1010 0000 (A0)16 0000 1010 (0A)16 0011 0100 (34)16
7 SHL R3, #(4)16 1010 0000 (A0)16 0000 1010 (0A)16 0100 0000 (40)16
8 NOT, R3 1010 0000 (A0)16 0000 1010 (0A)16 1011 1111 (BF) 16
9 MOV R1, #(81)16 1000 0001 (81)16 0000 1010 (0A)16 1011 1111 (BF) 16
10 ADD R3, R1, R3 1000 0001 (81)16 0000 1010 (0A)16 0100 0000 (40)16
11 INC, R3 1000 0001 (81)16 0000 1010 (0A)16 0100 0001 (41)16
Tableau 1 : Jeu d’instructions
Instruction Description
LDR Rx, #(Val) Charge le registre Rx avec la valeur Val
LDR Rx, [Ry, #(Val)] Rx = Mémoire [Ry + Val]
ADD Rx, Ry, Rw Registre Rx = Ry + Rw
ADD Rx, Ry, #Val Registre Rx = Ry + Val
SHR Rx, #Val Effectue un décalage logique à droite de la valeur du registre Rx et charge le
résultat dans Rx. Val représente le nombre de décalage à exécuter.
SHL Rx, #Val Effectue un décalage logique à gauche de la valeur de Rx et charge le résultat dans
Rx. Val représente le nombre de décalage à exécuter.
MOV Rx, #(Val) Charge le registre Rx avec la valeur Val
NOT, Rx Effectue un complement logique de la valeur de Rx et charge le résultat dans Rx
INC, Rx Incrémente la valeur de Rx de 1
S’il y a des erreurs, veuillez bien nous pardonner !!! Surtout ne nous jugez pas et ne pensez pas que
c’est fait exprès, vous n’aurez qu’à corriger vos solutions mais celui-ci sera un document non
modifiable. De toutes les façons, c’est notre document donc votre avis n’importe pas. Merciii !!!
Meilleurs que nous tu meurs †