Examen Final L2 (Architecture des ordinateurs) Durée 1h00 Le 22/01/2021
Corrigé de l’examen Architecture des ordinateurs
Exercice 1 (6 points)
Soit K bits la taille du registre d’adresses (RA) et N bits la taille d’un mot mémoire.
1. Exprimer la capacité de la mémoire centrale en octets et en mots.
Capa = N*2K [bits] = N*2K /8 [octets]= N*2K/32 [mots]
2. Supposons que K = 32 et N = 32. Déduire la capacité mémoire en octets et en mots.
Capa = 32*232/8 = 234 [octets]
Capa = 32*232/32 = 232 = 4Gmots.
3. On veut réaliser cette mémoire en utilisant des blocs mémoires de taille 4M mots
(1M= 220 mots). Combien de blocs mémoires faut-il pour réaliser cette mémoire.
Nombre de blocs = Capa/4Mmots = 232/4*220 = 210 blocs
4. Supposons que la lecture d’un mot mémoire se fait en 4 cycles et qu’un seul cycle
est égal à 0.5ns et que son traitement par le processeur nécessite 5 cycles.
Combien de temps faut-il pour traiter toutes les données contenues dans la
mémoire?
Nombre de Cycles = 4 + 5 = 9 cycles
Ttraitement = 9*0.5*232 = 19,32 nano seconde
Exercice 2 (6 points)
1. Une donnée est stockée en mémoire (voir ci-contre). Donner 0xbffffa7c 58
cette donnée après lecture dans les deux cas suivants : 0xbffffa7d 49
Les données sont rangées en Little-endian. 0xbffffa7e 4E
0xbffffa7f 55
Little endian = 0x554E4958
Les données sont rangées en Big-endian.
Big Endian = 0x58494E55
2. Lors de l’exécution d’une instruction avec le simulateur MARS4.5, une erreur
s’affiche. Par cette instruction, on voulait lire un mot mémoire. Sachant que l’adresse
mémoire donnée dans cette instruction est la suivante 0x abcd755e. Donner la cause
de cette erreur.
L’adresse n’est pas alignée (n’est pas divisible par 32)
Exercice 3 (8 points)
1. On considère l’instruction suivante codées en hexadécimale
Instructions opcode
0x1310FFFD beq : 000100
Sachant que le PC contient l’adresse suivante : 0x004004BC.
Bon courage
Examen Final L2 (Architecture des ordinateurs) Durée 1h00 Le 22/01/2021
Donner la forme d’assemblage des cette instruction en précisant la
valeur de l’adresse cible.
(0x1310FFFD)16 = (000100 11000 10000 1111111111111101)2
Formar I Opcode rs rt immediat
beq $24,$16, @cible
@cible = PC + 4*(offset)
Offset = -3 l’inverse du complement à deux de ( immediat =
1111111111111101)
Donc : @cible = 0x004004BC + 4*(-3)
@cible = 0x004004B0
2. On considère les instructions d’assemblage suivantes
Adresses Instructions opcode
0x0040002C lw $18, 144($6) lw :100011 ;
0x00400030 addi $29,$29,-4 addi : 001000 ;
0x00400034 sw $8, 100($5) sw : 101011 ;
Écrire le code hexadécimal de ces trois instructions.
Instruction Form Code en binaire Code Hexa
at
lw $18, I 100011 00110 10010 0000 0000 1001 0000 0x8CD20090
144($6) opcode Rs Rt Imm
addi I 001000 11101 11101 1111 1111 1111 1100 0x23BDFFFC
$29,$29,-4 opcode Rs Rt Imm
sw $8, I 101011 00101 01000 0000 0000 01100100 0xCA80064
100($5) opcode Rs Rt Imm
Bon courage