Exercice 1 - 2 pts
1.a) @ sur 32 bits => 2^32 mots (ou données) donc 2^32 octets (1 mot = 1 octet)
soit 4 Go :
- 2 Go : OK
- 4 Go : OK
- 8 Go : NON (pas assez d'@)
2.b) @ sur 64 bits => 2^64 mots soit 2^34 Go assez pour 2, 4 ou 8 Go
2.C) @ sur 64 bits => mémoire virtuelle de taille max 16 Eo


Exercice 2 - 4 pts
a) intervalle -2^5 à 2^5 -1 ou -32 à 31 : 0,5 pr une de ces 2 réponses
b) 0,75 chacun
-11 : 110101 (C2)
14 : 001110 (C2)  ; 1110 admis
c) addition détaillée (avec retenues)
interprétation du résultat : on retrouve 3, résultat correct
justification (2 possibilités) : 2 dernières retenues identiques (ici 1 et 1)
	ou addition de 2 nbs de signes opposées

Exercice 3 - 5 pts 
Points clés du programme :
* boucle effectuée 8 fois
* calculs des @ des données à additionner 
0x10(2*i)  \
0x11(2*i)  |  pds faibles
0x12(2*i)  /

0x10(2*i+1)  \
0x11(2*i+1)  |  pds forts
0x12(2*i+1)  /

* addition des poids faibles : ADD 
* addition des poids forts : ADC ou ADD + retenue mémorisée dans 1 registre 
Le comportement de l'instruction INC par rapport au flag_c n'était pas précisé
(compté OK dans les 2 cas). Par contre si utilisation
de ADD pr calculer des @ entre l'addition des pds faibles et forts => ADC non
correct
Attention : ne pas effectuer les 8 additions de poids faibles avant les 8 additions de
pts forts : toutes les retenues sont perdues et donc sont introduites par
erreurs.

Exemple de solution (il en existe plein):
R7 : compteur de boucle
R6 : pds faibles des @ (identiques pr les 3 vecteurs) des pds faibles des entiers
R5 : pds faibles des @ (identiques pr les 3 vecteurs) des pds forts des entiers
Toutes les constantes sont en héxa

		LD R0 8
		LD R7 R0	// cpteur de bcle (à faire 8x)
		LD R0 0
		LD R6 R0	// @ des poids faibles (0, 2, 4, 6, ..., d)
		LD R0 1
		LD R5 R0	// @ des poids forts (1, 3, 5, 7, ..., f)

bcle:	LD R2 R6
		LD R0 0
		LD R1 R0
		LD R0 1			// R0R1R2 <- 0x10(2*i)
		LD R0 (R0R1R2)	// lecture pds faibles v1[i]
		LD R3 R0
		LD R0 1
		LD R1 R0 		// R0R1R2 <- 0x11(2*i)
		LD R0 (R0R1R2)	// lecture pds faibles v2[i]
		ADD R0 R3		// addition des pds faibles
		LD R3 R0
		LD R0 2
		LD R1 R0
		LD R0 1			// R0R1R2 <- 0x12(2*i)
		LD (R0R1R2) R3	// ecriture pds faibles v3[i]
		
		LD R2 R5
		LD R0 0
		LD R1 R0
		LD R0 1			// R0R1R2 <- 0x10(2*i+1)
		LD R0 (R0R1R2)	// lecture pds forts v1[i]
		LD R3 R0	
		LD R0 1
		LD R1 R0 		// R0R1R2 <- 0x11(2*i)
		LD R0 (R0R1R2)	// lecture pds forts v2[i]
		ADC R0 R3		// addition des pds forts
		LD R3 R0
		LD R0 2
		LD R1 R0
		LD R0 1			// R0R1R2 <- 0x12(2*i)
		LD (R0R1R2) R3	// ecriture pds forts v3[i]
		
		INC R5			// incrémentation des @ (+2)
		INC R5
		INC R6
		INC R6
		DJNZ bcle		// retour au début de la boucle (8 fois)



Exercice 4 : 
U1 : 1er top
U2 : 10ème top 
M1 : 2ème top
M2 : 9ème top

Exercice 5 
5.a) 
* offset : 4 bits : 3...0
* n° de bloc : 28 bits : 31...4
* n° ensemble (inclus ds n° de bloc) : 5 bits quelconque : 8...4 par ex
* TAG (inclus ds n° bloc) : 23 bits = n°bloc\n°ensemble : 31...9 par ex

5.b) 
t2 (défaut)
-	-	1
B2	T	0
-	-	-
-	-	-
-	-	-
-	-	-
-	-	-
-	-	-

t3 (défaut)
-	-	2
-	-	1
B3	T	0
-	-	-
-	-	-
-	-	-
-	-	-
-	-	-

t4 (pas de défaut)
-	-	0
-	-	2
-	-	1
-	-	-
-	-	-
-	-	-
-	-	-
-	-	-

t5 (défaut)
-	-	1
-	-	3
-	-	2
B4	T	0
-	-	-
-	-	-
-	-	-
-	-	-

t6 (défaut)
-	-	2
-	-	4
-	-	3
-	-	1
B5	T	0
-	-	-
-	-	-
-	-	-

t7 (pas de défaut)
-	-	2
-	-	4
-	-	3
-	-	0
-	-	1
-	-	-
-	-	-
-	-	-

t8 (défaut)
-	-	3
-	-	5
-	-	4
-	-	1
-	-	2
B6	T	0
-	-	-
-	-	-

t9 (défaut)
-	-	4
-	-	6
-	-	5
-	-	2
-	-	3
-	-	1
B7	T	0
-	-	-

t10 (défaut)
-	-	5
-	-	7
-	-	6
-	-	3
-	-	4
-	-	2
-	-	1
B8	T	0

t11 (défaut)
-	-	6
B9	-	0
-	-	7
-	-	4
-	-	5
-	-	3
-	-	2
-	-	1

t12 (défaut)
-	-	7
-	-	1
B2	-	0
-	-	5
-	-	6
-	-	4
-	-	3
-	-	2

t13 (pas de défaut)
-	-	0
-	-	2
-	-	1
-	-	6
-	-	7
-	-	5
-	-	4
-	-	3

t14 (défaut)
-	-	1
-	-	3
-	-	2
-	-	7
B10	-	0
-	-	6
-	-	5
-	-	4
