Correction Examen 2018
Questions de cours
1les types de correspondance entre Mcache et Mémoire principale sont
-correspondance directe
-correspondance totalement associative
-correspondance partiellement associative
2-si l’int1 est d’ordre de priorité plus élevé que l’int2 alors nous exécutons d’abord l’int1 puis on
exécute l’int 2 sinon dans le cas contraire nous exécutons l’int 2 puis l’int1
3-chapitre 2 diapo 24
RISC
Instruction simple prenant un cycle horloge
Instruction de format fixe
Beaucoup de registre
Peu de mode d’adressage
Décodeur câblé
Compilateur complexe
CISC
Instruction complexe prenant plusieurs cycles horloge
Instruction de format variable
Peu de registres
Beaucoup de mode d’adressage
Décodeur microprorammé
Compilateur simple
4- le système d’interruption est incorporé au niveau du séquenceur
5- le rôle de la mémoire cache est pour accélérer le temps de traitement d’un
programme
Exercice 2
AREA corr, CODE, READONLY
ENTRY
1 MOV R0,#0 ; R0=0
2 ADR R1,Tab1 ; R1<-@tab1
3 ADR R2,Tab2 ; R2<-@tab2
4 MOV R7, #0 ;R7=0
5 boucle CMP R0, #4 ;NZCV=1000
6 BEQ Done ; pas de saut la condition n’est pas vérifié
7 LDRB R4,[R1,R0] ;R4=0x21
8 Rsb R3, R0, #3 ;R3=3
9 LDRB R5,[R2,R3] ;R5=0x16
10 MUL R6,R4,R5 ; R6=2D6
11 ADD R7,R7,R6 ;R7=2D6
ADD R0,R0, #1 ; R0=1
13 B boucle ;saut à I5
14 Done B Done
15 Align
16 Tab1 DCB 0x21,0x12,0x20,0x18
17 Tab2 DCB 0x10,0x25,0x14,0x16
18 End
2-R7=0x16*0x21+0x12+0x14+0x20*0x25+0x18*0x10=A5E
3- le compteur ordinal =@I5 à l’instruction 13
Le compteur ordinal= @I14 à l’instruction 14
4- nous devons changer l’instruction 5 CMP R0,#10
Nous devons changer l’instruction 8 RSB R3,R0,#9
5-le rôle de Align est de commencer le tableau Tab1 dans une nouvelle case
La dernière case du programme sera compléter par des 0
6-chargement de 3 octets
LDRH R1,[R0],#2
LDRB R2,[R0]
MOV R2,R2, LSL#16
Add R1,R1,R2
Sauvegarde de 3 octet à l’adresse deR0 et la donnée dans R1
STRH R1,[R0],#2
MOV R2,R1, lsr #16
STRB R2, [R0]
Exercice3
1- a- La mémoire cache est de taille 2^8 donc la taille de l’@Mcache est de 8 bits
@ @MP @Mcache @mcache
35 000 0000 00010 0011 00010 0011 35
233 000 0000 1110 1001 1110 1001 233
258 000 0001 0000 0010 0000 0010 2
355 000 0001 0110 0011 0110 0011 99
1-b
@ Validité Etiquette Donnée
0 N
1 o 000 0001 D(257)
2 o 000 0001 D(258)
3 o 000 0001 D(259)
4 o 000 0001 D(260)
… N
N
34 o 000 0000 D(34)
35 o 000 0000 D(35)
36 o 000 0000 D(36)
37 o 000 0000 D(37)
…
98 o 000 0001 D(354)
99 o 000 0001 D(355)
100 o 000 0001 D(356)
101 o 000 0001 D(357)
N
…
232 o 000 0000 D(232)
233 o 000 0000 D(233)
234 O 000 0000 D(234)
235 O 000 0000 D(235)
2-a-
Les 4 ensembles de la mémoire principale sont
E1=0---4095
E2=4096 ---8191
E3=8192---12287
E4=12288-2^14-1
Les 4 ensembles de la mémoire cache sont
F1 : 0—63
F2 :64 --- 127
F3 : 128--- 191
F4 : 192—255
Tous les éléments de Sref appartient à E1 donc ils seront placé dans l’ensemble F1
@mP @Mcache Etiquette
1 0000 00010 0011
35,
233 2 0000 1110 1001
258 3 0001 0000 0010
355 4 0001 0110 0011
2-b
@mcache validité étiquette Donnée
0 o 0000 00010 0011 D(35)
1 o 0000 00010 0010 D(34)
2 o 0000 00010 0100 D(36)
3 o 0000 00010 0101 D(37)
4 O 0000 1110 1001 D(233)
5 O 0000 1110 1000 D(232)
6 O 0000 1110 1010 D(234)
7 o 0000 1110 1011 D(235)
8 O 0001 0000 0010 D(258)
9 O 0001 0000 0001 D(257)
10 O 0001 0000 0011 D(259)
11 O 0001 0000 0100 D(260)
12 O 0001 0110 0011 D(355)
13 O 0001 0110 0010 D(354)
14 o 0001 0110 0100 D(356)
15 o 0001 0110 0101 D(357)
16 N
…
255 N