Académique Documents
Professionnel Documents
Culture Documents
(1 pts)
2. Quelle différence il-y-a-t-il entre un accès séquentiel et un accès direct à une mémoire?
Accès séquentiel : Le plus lent, Pour accéder à une information particulière, on est
obligé de parcourir toutes celle qui la précédent. (0.5 pts)
Accès Direct : Le plus rapide, Les données ont une adresse propre, on y accède
directement. (0.5 pts)
(1 pts)
3. Quelle est la différence principale entre le fonctionnement asynchrone et le
fonctionnement synchrone?
Asynchrone : La sortie logique peut changer d'état à tout moment quand une ou
plusieurs entrées changent. (0.5 pts)
Synchrone : Le changement d'état est commandé par un signal d’horloge. Les
informations évoluent en fonction du temps. (0.5 pts)
(1.5 pts)
4. Quel est le rôle d’un bus ? Donnez sa composition ?
Un ensemble de composants et de fils qui assure la transmission du même type
d’information (0.5 pts).
Sa composition: ((1 pts) il suffit d’avoir trois composants pour donner la note
complète)
• Bus de données: bidirectionnel qui assure le transfert des données entre le
microprocesseur et son environnement.
• Bus d’adressage: unidirectionnel qui permet la sélection des données à traiter
dans un espace mémoire.
• Bus de commande: constitué par quelques conducteurs qui assurent la
synchronisation des flux d'informations sur les bus des données et des adresses.
• Autres composants:
1. Arbitre: Choix de Composant maitre du bus à un instant donné.
2. Pont: Liaison entre deux bus. (Adaptation des protocoles).
(2 pts)
5. Citer quatre registres différents du processeur MIPS et décrire leur rôle en une courte
phrase ?
( (0.25 pts x 4) pour chaque registre (0.25 pts x 4) pour chaque explication).
$ra : registre d’adresse, contient l’adresse de retour.
$sp : registre de pile, contient l’adresse du sommet de la pile.
$fp, $PC, $RI, $ZERO ………….
(1 pts)
6. Quel est la différence entre une instruction assembleur et une pseudo-instruction
Page 1 sur 3
assembleur ?
Une instruction assembleur : est un mot mémoire qui comporte une commende avec
ses paramètres compréhensible par le processeur. (0.5 pts)
Une pseudo-instruction : est une instruction qui comporte une commende
paramétrée qui remplace une ou plusieurs instructions assembleur. Le but de création
des pseudo-instructions est de simplifier l’écriture et la compréhension du code par
l’être humain.(0.5 pts)
(1.5 pts)
7. Qu’est-ce que la pile ? Quelles opérations fait-on avec ? Quel registre permet sa gestion
?
Espace de stockage en mémoire comme un tableau à gestion d’accès automatique.
(0.5 pts)
On peut empiler dessus ou dépiler des valeurs (LIFO). (0.5 pts)
Cette gestion est réalisée grâce au pointeur de haut de pile SP. (0.5 pts)
(1 pts)
8. Dans un programme assembleur, lors d’appel de procédure, dans quels cas faut-il faire
appel à la mémoire (la pile) pour sauvegarder les valeurs des registres?
Lors d’appel de fonction imbriqué ou récursive, car on peut écraser les données des
registres. (1 pts)
Exercice 1 : ( 5 points)
Traduire le code C suivante en langage assembleur MIPS. Veuillez commenter votre code.
Page 2 sur 3
ori $18,$0,0 #J =0 0.25 pts
sw $18, J($0) # Sauvegarder $18 dans J (J = 0).
FOR2 bge $18,$17, SUITE2 # Sauter vers SUITE2 (j>=i) 0.5 pts
muli $20,$18,4 # Calculer le décalage des adresses dans les éléments 0.25 pts
du tableau.
muli $21,$19,4 # Calculer le décalage des adresses dans les éléments
du tableau.
lw $22, A($20) 0.25 pts
lw $23, A($21) # lecture de la valeur de A[J];
# lecture de la valeur de A[J+1];
IF ble $22,$23, SUITE1 #Sauter vers SUITE1 si (A [j] <= A [j+1]) 0.5 pts
Exercice 2 : (4 points)
On considère une mémoire centrale de 8 Go où la taille d’une cellule est de 16 bits.
1. Calculez le nombre de bits nécessaires pour adresser toute la mémoire ? (1,5 pts)
Une mémoire de 8 Go comporte 4 G cellule (mots) de 16 bits. (0.5 pts)
Pour adresser 4 G_cellules ( 4x230) il faut (log2(4x230)= 32 bits). (1 pts)
2. Calculez l'adresse, en octal, du dixième élément d'un tableau dont l'adresse du premier (1,5 pts)
élément est (100)8 et dont tous les éléments de ce tableau sont composés de 32 bits;
Neme_element_tab = 1eme_element_tab + (N-1)* size_of_element (0.5 pts).
(Size_of_element de 32 bits est de deux cellules mémoire (car 1 cellule = 16
bits). (0.25 pts)
10eme élément d’un tableau c’écrit en octal (12)8. (0.25 pts)
Donc la formule c’écrit :
10eme_element_tab= (100)8 + ((12-1)8 x (2)8) = (122)8 (0.5 pts)
3. Calculer la taille de cette mémoire en l'exprimant en mots de 32 bits puis en mots de 64 (1 pts)
bits.
La taille reste inchangée :
o 8Go = 2 G_mot_de_32_bits (0.5 pts)
o 8Go = 1 G_mot_de_64_bits (0.5 pts)
Page 3 sur 3