0% ont trouvé ce document utile (0 vote)
362 vues6 pages

Examen d'Architecture des Ordinateurs 2010

Le document présente un examen sur l'architecture des ordinateurs contenant cinq exercices. L'exercice 1 demande d'écrire des programmes pour effectuer des opérations arithmétiques simples sur des registres mémoire. L'exercice 2 explique le fonctionnement d'un programme MIPS. L'exercice 3 identifie des aléas dans une suite d'instructions MIPS et calcule le temps d'exécution d'un programme. L'exercice 4 décrit une nouvelle instruction de branchement mémoire. L'exercice 5 décrit l'implémentation d'une unité de renvoi dans un pipeline MIPS à 5 étages.

Transféré par

abir cherif
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
362 vues6 pages

Examen d'Architecture des Ordinateurs 2010

Le document présente un examen sur l'architecture des ordinateurs contenant cinq exercices. L'exercice 1 demande d'écrire des programmes pour effectuer des opérations arithmétiques simples sur des registres mémoire. L'exercice 2 explique le fonctionnement d'un programme MIPS. L'exercice 3 identifie des aléas dans une suite d'instructions MIPS et calcule le temps d'exécution d'un programme. L'exercice 4 décrit une nouvelle instruction de branchement mémoire. L'exercice 5 décrit l'implémentation d'une unité de renvoi dans un pipeline MIPS à 5 étages.

Transféré par

abir cherif
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de la Manouba Année Universitaire 2009-2010

Ecole Nationale des Sciences de l’Informatique

Examen (session principale)


Matière : Architecture des Ordinateurs Date : 07 - 01 - 2010
Durée : 2H Classe : II2
Documents non autorisés

Exercice 1 (4 points= 1+0.75+0.75+0.75+0.75)

On considère un jeu d’instructions ne contenant qu'une seule instruction:

SBN A,B,S : où SBN signifie (Soustrait et Saute si Négatif).

L'instruction effectue l'opération suivante:

Mem(A) = Mem(A) - Mem(B), et


si (Mem(A) < 0) PC = PC + S ; sinon PC = PC + 1 (saut à l'instruction suivante) ;

où Mem(A) correspond au contenu de la mémoire à l’adresse A, et PC au compteur de


programme; le test est effectué après la soustraction; on suppose que la largeur de la mémoire
est telle qu’une adresse mémoire correspond à une donnée ou une instruction; on ne se
préoccupe pas non plus de la taille du mot que l’on suppose suffisamment grand pour les
calculs; enfin, on considère qu’un programme se termine quand sa dernière instruction est
exécutée.

On suppose que Mem(0)=1, et on peut utiliser les adresses 1 à 9 pour stocker des valeurs
temporaires. Dans les questions suivantes, on suppose que 10 ≤ A, B, C ≤ 20.

1- Ecrire le programme permettant d'effectuer Mem(A) ← 0.


SBN A,A,1 ; Mem(A)=Mem(A)-Mem(A)=0

2- Ecrire le programme permettant d’effectuer Mem(A) ← Mem(B).


SBN A,A,1 ; Mem(A)=0
SBN 1,1,1 ; Mem(1)=0
SBN 1,B,1 ; Mem(1)=-Mem(B)
SBN A,1,1 ; Mem(A)=-Mem(1)=Mem(B)

3- Ecrire le programme permettant d’effectuer Mem(A) ← 3.


SBN A,A,1 ; Mem(A)=0
SBN 1,1,1 ; Mem(1)=0
SBN 1,0,1 ; Mem(1)=-Mem(0)=-1
SBN 1,0,1 ; Mem(1)=Mem(1)-Mem(0)=-2
SBN 1,0,1 ; Mem(1)=Mem(1)-Mem(0)=-3
SBN A,1,1 ; Mem(A)=-Mem(1)=3

4- Ecrire le programme permettant d’effectuer Mem(A) ← Mem(B) + Mem(C).


SBN A,A,1 ; Mem(A)=0
SBN 1,1,1 ; Mem(1)=0
SBN 1,B,1 ; Mem(1)=-Mem(B)
SBN 2,2,1 ; Mem(2)=0
SBN 2,C,1 ; Mem(2)=-Mem(C)
SBN A,1,1 ; Mem(A)=-Mem(1)=Mem(B)
SBN A,2,1 ; Mem(A)=Mem(B)-Mem(2)=Mem(B)+Mem(C)

1/6
5- Ecrire le programme permettant d’effectuer Mem(A) ← Mem(B) x Mem(C) en
supposant que 0≤Mem(B).
On additionne Mem(B) fois Mem(C) à Mem(A).
SBN A,A,1 ; Mem(A)=0
SBN 1,1,1 ; Mem(1)=0
SBN 1,C,1 ; Mem(1)=-Mem(C)
SBN 3,3,1 ; Mem(3)=0
BCL SBN 2,2,1 ; Mem(2)=0
SBN 2,B,ADD; Mem(2)=-Mem(B), -Mem(B)<0 ? ( Mem(B)>0 ?)
SBN 3,0,FIN; Aller à FIN (branchement inconditionnel)
ADD SBN A,1,1 ; Mem(A)=Mem(A)-Mem(1)=Mem(A)+Mem(C)
SBN B,0,1 ; Mem(B)=Mem(B)-1
SBN 3,0,BCL; Aller à BCL (branchement inconditionnel)
FIN

Exercice 2 (4 points= 3 +1)

Supposons un processeur MIPS big-endian qui exécute le programme suivant:


xor $t0, $t0, $t0
addi $t1, $t0, 0x50
a: lw $t2, 0($t1)
beq $t2, $zero, c
slt $t3, $t0, $t2
beq $t3, $zero, b
lw $t0, 0($t1)
b: addi $t1, $t1, 4
j a
c: sw $t0, 0($t1)

1- Donner une explication de la fonction du programme


Le programme trouve le plus grand nombre d’un tableau qui commence à l’adresse
0x50 et se termine par une valeur 0. A la fin du programme, la plus grande valeur
trouvée est mise à la place du 0 qui indiquait la fin du tableau

2- Supposons que l’état initial de la mémoire est celui de la figure suivante, quel est
l’état de la même portion de mémoire après l’exécution du programme ?
L’état est le même (les cases de 0x58 à 0x5B ne contiennent pas un 0x0000)

2/6
Contenue Adresse

Exercice 3 (4 points=2+2)

1- Considérons la suite des instructions suivante :

Deb : sub $1, $1, $3


add $3, $1, $5
or $2, $7, $8
bne $1, $4, Fin
and $5, $2, $3
addi $1, $8, 15
j Deb
Fin : ori $1, $2, $3

Trouver les aléas dans cette suite pour la machine pipelinée à 5 étages du cours. Donner les solutions
possibles pour ces aléas.

2- Calculer le temps d’exécution sur une machine MIPS en pipeline à 5 étages d’un programme
composé de 20 instructions de chargements, 10 instructions de rangements, 50 instructions de
type-R et 10 instructions de branchements.

Un temps de cycle (période) d’horloge est égal à 2,2ns.


On considère pour la machine pipelinée les conditions suivantes :
• Les Aléas de structure sont résolus,
• Les Aléas de contrôle sont résolus par prédiction dynamique (avec 85% des
prédictions sont correctes).
• Le programme ne contient pas d’autres types d’aléas.

Taux de succès =0.85


On a 10 branchements, et si notre prédiction est fausse, on perd 2 cycles, donc le nombre de
cycles perdus : np=10*0.15*2=3 cycles

Texec= [(Nbre d’étages -1 +Nbre d’instruction) + np] * T = [5-1+90+3]*2.2ns = 213.4ns

Exercice 4 (4 points=3+1 (ou 2.5+1.5) )

3/6
L’instruction (imaginaire) jump memory (jmem) est similaire à l’instruction Jal à l’exception
que l’adresse de branchement ainsi que l’adresse de retour sont sauvegardées dans la
mémoire. Nous supposons qu’il s’agit d’une instruction de type I et que les adresses R[rt] et
(R[rs] + offset) sont distinctes.

jmem (rt), offset(rs) # Memory[R[rs]+offset] = PC+4;


# PC = Memory[R[rt]]

1- Proposer les modifications nécessaires au niveau chemin de données du multicycle du


processeur MIPS.
2- Compléter la machine à état qui permettra d’avoir les signaux de contrôle de l’instruction
jmem.

4/6
Exercice 5 (4 points=1+1+1+1)

Supposons que nous disposons d’un processeur qui implémente le MIPS ISA à 5 étages
pipeline. Le pipeline implémente une unité de renvoi afin de réduire les pertes de temps dues
aux aléas de données. Répondez aux questions suivantes concernant la séquence
d’instructions suivantes :
I1 : add r3, r5, r6
I2 : sub r3, r2, r3
I3 : and r1, r3, r4

1- Au niveau de quel étage doit-on placer l’unité de renvoi
Étage « DI »
2- L’unité de renvoi fournit, à l’aide d’un multiplexeur, le signal approprié afin de sélectionner
les données correctes de calcul. Décrire la logique de cette unité de renvoi.
Rappel :

((Di/EX.reg_wr = 1) and (Di/EX.reg_ecriture = EI/DI.reg_lecture1)


Ou (Di/EX.reg_ecriture = EI/DI.reg_lecture2))
Ou ((EX/MEM.reg_wr = 1) and (EX/MEM.reg_ecriture = EI/DI.reg_lecture1)
Ou (EX/MEM.reg_ecriture = EI/DI.reg_lecture2))

3- Ajoutez au niveau du pipeline la conception de cette unité, tout en détaillant les informations
nécessaires à cette fonctionnalité.

5/6
4- Dans la séquence des instructions, l’instruction I3 recevra la donnée r3 à partir de quelle
instruction et à partir de quel étage du pipeline.
I3 recevra r3 à partir de I2, à partir de l’étage EXEC

Bon travail

6/6

Vous aimerez peut-être aussi