Corrigé

Transcription

Corrigé
Université de Nice – Sophia Antipolis
Licence 1 Sciences Fondamentales 2013­2014
Informatique Générale
TD n° 9
1. Performances des disques durs Soit un disque dur magnétique possédant les caractéristiques suivantes : •
6 plateaux (12 faces); •
2048 pistes par face, 18 secteurs par piste, 512 octets par secteurs; •
vitesse de rotation 6000 tours/min; donc 100 / s
•
temps de positionnement mini 5ms, moyen 20ms. b) Calculer la capacité totale du disque. 12 x 2048 x 18 x 512, environ 226 Mo, c'est un très petit disque
c) Calculer le débit maximum du disque. En supposant qu'on lit toujours la même piste : 18 x 512 x 100 environ 900 Ko / s (comme les disques ont plutôt des débits de 100 Mo / s, ils ont environ 100 fois plus de secteurs par piste)
d) On suppose qu'on vient de lire le secteur d'adresse (cylindre 100, piste 2, secteur 17). On veut lire le secteur (cylindre 101, piste 0, secteur 1). •
Quel secteur du disque sera sous les têtes de lecture/écriture après le positionnement : il s'est passé 5ms (on suppose qu'aller de 2 à 0 prend le temps mini), le disque a fait 100 * (5 / 1000) tours, soit ½ tour on est sur le secteur (17 + 18/2) % 18, soit le secteur 2. Il faut sauter 16 secteurs , et on lit un secteur toutes les 1 / (100x18) secondes, soit toutes les 0,5 ms donc on attend encore 8 ms.
•
Quand le transfert pourra­t­il commencer ? Environ 5 + 8 ms, en fait plutôt 14 ms car les temps ont été un peu sous­estimés.
e) Un fichier de 1Mo est enregistré sur ce disque dans une zone continue à partir du cylindre 10, piste 0, secteur 0. •
Calculer l'espace disque (nombre de cylindres/pistes/secteurs) occupé par le fichier. nombre de secteurs = 1Mo / 512 = 220 / 29, donc 2048 secteurs, 2048 / 18 soit environ 114 pistes
•
Calculer le temps d'accès à tout le fichier. Lire une piste prend 10ms, et il faut environ 13 ms pour changer de piste (question c), donc 23 x 114 , environ 2,6 secondes
2. Mémoires Caches. Pourquoi utilise­t­on des mémoires caches ? Pour avoir des mémoires + rapides par rapport au processeur (mais comme elles sont chères, ce ne peut pas être toute la RAM qui est faite avec ces technologies permettant des accès plus rapides)
3. Mémoire cache L1. Soit une mémoire cache de niveau L1 ayant les caractéristiques suivantes : •
32 mots par lignes (mots de 4 octets) •
taille de 32ko •
4­way associatifs. Remplacement LRU. •
association par poids faible •
taille de bus d’adresse : 32bits a) Combien y a­t­il de lignes dans cette mémoire cache ? 1 ligne = 32x4 = 128 octets, donc 215/27=28=256 lignes
b) Combien y­a­t­il de blocs associatifs dans cette mémoire cache ? 4 way donc 256/4= 64 lignes par ensemble associatif
c) Si la mémoire cache de niveau L2 a une taille de 2 Mo, combien y a­t­il de blocs de la mémoire cache L2 par bloc de la mémoire cache L1 ? 2048/32=64
4. Adresses. Pour un cache dont les lignes font 128 octets, donnez l’adresse du premier mot dans la ligne contenant l’adresse suivante : a) A23847EF b) 7245E824 E
c) EFABCD2 L'adresse dans une ligne est donnée par les 7 octets de poids faible (128=27). L'adresse du premier octet n'aura que des 0 dans ses 7 bits de poids faible, c'est à dire le résultat du masque ad & 0xFFFFFFF8 (soit ad AND 1...1 1000 0000), soit resp A2384780, 7245E8200, EFABCD80 (le dernier chiffre est obligatoirement 8 ou 0)
5. Cache et stratégie de remplacement. On considère un CPU composé d’un cache de 4 lignes (de 100 octets). Le but de cet exercice est de calculer le taux d’échec de ce cache suivant différentes politiques de placement et de remplacement. Le CPU va accéder à la mémoire en utilisant les adresses suivantes : 10 307 615 198 347 664 152 1245 575 761 952 1245 317 253 11 a) Le cache est full associative, calculez le taux d’échec avec une politique de remplacement LRU
On retient seulement les centaines. États successifs du cache (défauts marqués par *) : adresse
ligne
file LRU (ordonnée par temps du dernier accès)
710*
700
700 ? ? ?
307*
300
700 300 ? ?
715
700
300 700 ? ?
268*
200
300 700 200 ?
347
300
700 200 300 ?
764
700
200 300 700 ?
152*
100
200 300 700 100
245
200
300 700 100 200
575*
500 (à la place de 300)
700 100 200 500
761
700
100 200 500 700
952*
900 (à la lace de 100)
200 500 700 900
245
500 700 900 200
317*
300 (à la place de 500)
700 900 200 300
253
700 900 300 200
711
700
900 300 200 700
Le taux d'échec = nbr défauts / nbr accès = 7 / 15 = 47 %
b) Calculez le taux d’échec dans le cas où le cache est direct mapped
On place dans la ligne (ad / 100) % 4 (puisque 4 lignes)
adresse
n° ligne
cache
0
1
2
710*
307*
715*
268*
347*
764*
152*
245
575*
3
3
3
2
3
3
1
2
1
3
?
?
?
?
?
?
?
?
?
?
?
?
?
100
?
?
?
200
200
200
200
700
300
700
700
300
700
700
?
500
200
700
761
952*
245
317*
253
711*
3
1
2
3
2
3
?
900
200
700
?
900
200
300
?
900
200
700
Le taux d'échec = 11 / 15 = 73 %
c) Considérez maintenant que le cache est 4­way associative avec 10 lignes de 10 octets par ensemble. Calculez le taux d’échec avec LRU.
Puisqu'on a maintenant des lignes de 10 octets (ad / 10) % 4 désigne l'ensemble
n° ensemble 0
1
2
3
710*
71
3
710
307*
30
2
300
710
d) 715
71
3
268*
26
2
300,260
710
347* 34
2
300,260,340 710
764* 76
0
760
300,260,340 710 152*
15
3 760
300,260,340 710,150
245* 24
0
760,240
300,260,340 710,150
575*
57
1
760,240
570
300,260,340 710,150
761 76
0 952* 95
3
760,240
570
300,260,340 710,150,950
245*
24
3 '' + 240
317*
31
3
'' + 31
253* 25
1
''
570,250
''
'' 711 71
3
Encore plus de défauts, mais le jeux d'essai n'est pas très réaliste, et surtout pas suffisamment long. On voit en particulier que si on recommençait la séquence d'accès, toutes les lignes seraient en cache et il n'y aurait plus de défaut, à la différence des 2 autres méthodes.
Le graphique ci­dessous montre les performances des mémoires­cache en fonction de la taille et des politiques de remplacement. 

Documents pareils