FR MT Tab Version 200908-3

November 29, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download FR MT Tab Version 200908-3...

Description

 

Université de Nice Nice – Sophia Sophia Antipo Antipolis lis

Licenc Licencee 1 Scienc Sciences es Fondame ondamenta ntales les 20132013-20 201 14

Informatique Générale TD n° 10 1. Quelques calculs. On se place dans le cas d’un processeur qui utilise un adressage de 4 Gio de mémoire, avec 8 kio de mémoire cache. On utilisera des mots-mémoires de 32 bits. a) Que Quell llee doi oitt être la largeur du bus adresse évidemment 32 Pour la suite, on utilise les données suivantes : temps d’accès à la mémoire cache : 5 ns latence d’accès à la mémoire principale : 40 ns temps de cycle (temps entre 2 acc ès consécutifs) en mode page (i.e. pour passer de la mémoire principale à la mémoire cache): 10 ns par mot mémoire b) Quel Quel es estt llee tem temps ps nécessaire pour consulter un mot m émoire en cas de succès de cache ? 5ns c) Si la tai taill llee d’u d’un n blo blocc de de mémoire est fixée à 512 bits, en cas de d éfaut de cache, quel est le temps de pénalité ? 512 bits -> 16 mots, donc 15x10+40+5= 195ns d) Même question si la taille d’un bloc de m émoire est fixée à 256 bits. 7x10+40+5 = 115 ns e) On a le choix choix entre entre trois trois modes modes de constructio construction n de cette cette mémoire : par cache direct de 256 bits par ligne (temps d’accès 3 ns), par cache associatif par ensemble à quatre lignes de 256 bits par ensemble (temps d’accès •









4 ns), par cache associatif mais avec 512 bits par ligne (temps d’acc ès 5 ns). Des expériences montrent que pour le genre d’applications d’applications que l’on va utiliser sur cette machine, dans la première solution, on a un taux de succ ès cache de 75%, dans la deuxième un taux de succès de 80% et dans la troisième un taux de succès de 87%. Quelle est la solution la plus intéressante ? Justifiez en exhibant le temps moyen d’acc ès à la mémoire dans les trois cas. Pour un mot, on calcule temps d'accès cache x % de succ ès + (temps de chargement de la ligne + temps d'accès au cache) x % d' échec. Donc il suffit de comparer comparer temps chargement chargement ligne x taux d'échec Premier cas : 3+0,25×115 = 31,75 ns. •







Deuxième cas : 4+0,2×115 = 27 ns. Troisième cas : 5+0,13×195 = 30,35ns. Il est donc meilleur de prendre la deuxième solution.  solution.  f) Dans Dans le ca cass de de la la pre premi mière solution, décrivez comment on décompose une adresse (nombre de bits en particulier et quels sont les masques à appliquer). Dites aussi combien de blocs diff érents peuvent résider en mémoire cache. Le bloc de cache fait 256 bits soit 32 octets, il faut 5 bits pour s électionner un octet dans le bloc. Il peut y avoir jusqu’ à 8192/32=256 blocs diff érents dans le cache, donc 8 bits pour le 19 bits (reste de l'adresse)

8 bits (n° du bloc)

bloc de cache. Décomposition d'une adresse 32 bits ad Adresse du bloc : (ad & 0x00001FE0) >> 5 Adresse de l'octet dans le bloc : ad & 0x0000001F

5 bits (adresse de l'octet dans le bloc)

 

  g) Dans Dans le cas cas de de llaa deu deuxi xième solution, décrivez comment on décompose une adresse (nombre de bits et caches en particulier). Dites aussi combien de blocs diff érents peuvent résider en mémoire cache, ainsi que le nombre de blocs par voie. Chaque ensemble associatif ayant 4 blocs, on a 8Ko / (4 lignes x 32 octets) = 2 13 /(22x25), soit 26 ensembles. Toujours 8 bits pour l'octet, mais 6 bits pour chaque ensemble associatif, associatif, 21 bits (reste de l'adresse)

6 bits (n° de l'ensemble)

5 bits (adresse de l'octet dans le bloc)

Donc adresse de l'ensemble : (ad & 0x7E0) >> 5 h) Dans Dans le le cas cas de de la trois troisiième solution, dites comment se décompose une adresse. 6 bits pour pour l'octet dans la ligne. La ligne va où le décide la stratégie de remplacement, indépendant de l'adresse, donc rien qui l'indique dans l'adresse. i) On se se plac placee dans dans le le cadr cadree de la troi troisi sième solution (cache associatif). On veut accéder aux mots mémoires qui vont de l’adresse 0x40000000 à l’adresse 0x400008FB (inclus). Dans l’hypoth èse la plus pessimiste possible, dites combien il y a de défauts de cache en expliquant pourquoi. Lecture de 2300 octets=575mots=35,9375 blocs, soit 36 blocs mémoires consécutifs (1 ligne = 16 mots). Donc, il y a au pire 36 d éfauts de cache.

2. Perf Perform ormanc ancee d'un proc process esseur eur.. Un CPU exécute un programme composé de n instructions. Chaque Chaque instruction nécessite en moyenne 8 cycles pour s’exécuter. De plus, chaque instruction fait en moyenne 3 acc ès mémoire. Dans le cas où l’information est dans le cache, il n’y n’y a pas d’attente, par contre, aller la chercher en mémoire nécessite 6 cycles. a) On considère que le cache est inefficace ineffi cace et que toutes les données sont ramenées de la mémoire. Combien de cycles se programme prend-il pour s’ex écuter ? =24cycles cles par instruction, soit 24 x n au total 8+3x6 =24cy b) Si mainten maintenant ant le le cache cache a un taux de succ succès de 100%, quel est le nombre de cycles ? 8xn c) En prat pratiqu ique, e, notr notree cach cachee a un taux taux de de réussite de 11%. Quel est le nombre de cycles n écessaires

pour exécuter ce programme. Comparez-le au nombre sans cache. 0,11 x 8 + 0,89 x 24, un peu plus de 22,24 cycles en moyenne, soit environ 93 % de l'ex écution sans cache

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF