Université de Nantes Région des Pays de La Loire Feuille de travaux dirigés no 6 Technologie du matériel 1 Exercice 6.1 Sur un processeur ix86, l’instruction rdtsc retourne un entier de 64 bits correspondant au nombre de cycles écoulés depuis la dernière réinitialisation du processeur. 1. Si l’on ne considère que les 32 bits de poids faible, pendant combien de temps peut-on utiliser le résultat de rdtsc avant que le compteur ne boucle sur lui-même avec un Pentium d’une fréquence d’horloge de 400 MHz ? 2. Même question si l’on utilise les 64 bits. 5 Correction 1. En utilisant seulement eax, il vient : 232 ∗ (1/400 000 000 cycles) = 10, 74 secondes 2. En utilisant edx:eax : 264 ∗ (1/400 000 000 cycles) = 1462, 36 ans Exercice 6.2 Une carte graphique a une mémoire de 2 Mio. 1. On veut utiliser une définition de 1024 × 768 pixels codés chacun sur 1 octet. Quelle est la quantité de mémoire nécessaire ? 2. Avec une résolution de 1280 × 1024 pixels, combien de bits peut-on utiliser pour chaque pixel avec la carte que l’on possède ? 3. On souhaite travailler avec 32 bits par pixel. Si l’on conserve un rapport largeur/hauteur de 4/3, quelle définition maximale peut-on atteindre ? 5 Correction 1. Il y a 1024 × 768 = pixels codés sur 1 octets, soit 1024 × 768 octets au total, ou 768 Ko 2. On a 1280 × 1024 pixels et 2 Mio de mémoire. On a donc 8 × 2 × 10242 bits pour 1280 × 1024 pixels, soit (8 × 2 × 10242 )/(1280 × 1024) = 12.8 bits, soit 12 bits par pixels 3. On a L/h = 4/3. Avec 32 bits par pixels (soit 4 octets) et 2 Mio de mémoire, on peut gérer (2 × 10242 )/4 = 524288 pixels. On a donc : L/h = 4/3 L × h = 524288 Il vient : L = 836 et h = 627. Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009 1/4 Exercice 6.3 On souhaite envoyer le contenu d’un CD musical à une autre personne en passant par le réseau Internet. Le CD contient 54 minutes de musique enregistrée à une fréquence de 44 kHz. Chaque échantillon est codé sur 16 bits. Le son est enregistré sur 2 pistes (son stéréo). 1. Quel est le bitrate du CD (nombre moyen de bits consommés pour reconstruire une seconde de son) ? 2. Quelle place occupe le CD entier ? 3. La liaison Internet utilisée possède un débit maximal de 10 Mbits/s. Quel est le temps minimal nécessaire au transfert du CD ? 4. Le format MPEG layer 3 permet de diviser par 12 le bitrate du CD. Quel est le temps de transfert du CD recodé en MP3 si l’on utilise désormais un modem ayant un débit maximal de 57600 bps (bits par secondes) ? 5 Correction 1. Sur chaque canal : 44000 échantillons de 16 bits par seconde. Donc le bitrate en stereo est : br = 2 × 44 000 × 16 = 1408000bits/s 2. Le disque fait 54 minutes, soit 54 × 60 = 3240s. La place occupée est donc : p = 3240br = 3240 × 1408000 = 4561920000 bits ≈ 544 Mio 3. On doit envoyer 4561920000 bits à 10 Mbits/s, soit : t= 4561920000 = 456.192 s 10 · 106 4. Nouveau volume à envoyer : v= 4561920000 = 380160000 bits 12 Nouveau temps : t0 = 380160000 = 6600 s 57600 Exercice 6.4 Une chaîne de télévision désire diffuser sur le web. Les informations à diffuser sont les suivantes : – l’image en 65000 couleurs avec une définition de 768 × 352 à 24 images/s ; – le son, à 44 kHz en stéréo sur 16 bits ; – le texte (sous-titrage) avec un débit de 64 caractères ASCII (sur 8 bits) par secondes. 1. Quelle taille représente une émission de 90 minutes ? 2. Les données reçues sont placées dans une mémoire tampon avant d’être utilisées afin d’éviter des coupures lors de la lecture à travers le web. Quelle doit être la taille de la mémoire tampon pour qu’une absence de données de 30 secondes passe inaperçue ? 3. Sachant que de telles coupures peuvent se produire toutes les 2 minutes, quel doit être le débit minimal pour éviter que le tampon ne se vide ? 5 Correction 1. Taille représentée par une seconde de film : Image : dlog2 65000e × 768 × 352 × 24 bits Son : 2 × 44000 × 16 bits Texte : 64 × 8 bits Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009 2/4 Pour une seconde de film, on utilise : dlog2 65000e × 768 × 352 × 24 + 2 × 44000 × 16 + 64 × 8 = 105217536 bits On a donc au total pour 90 minutes de films : v = (90 × 60) × 105217536 bits = 568174694400 bits ≈ 529 8 Gio 2. On doit avoir 30 secondes de film dans la mémoire tampon, soit une taille : Tt = 30 × 105217536 = 3156526080 bits Soit approximativement 376 Mio. 3. En 2 minutes, on doit pouvoir servir 2 minutes de film en temps réel et aussi remplir le tampon de 30 secondes de film. Il nous faut donc pouvoir transmettre : (2 × 60 + 30) × 105217536 bits en 2 minutes, soit un débit de : d= (2 × 60 + 30) × 105217536 = 131521920 bits/s 2 × 60 Exercice 6.5 On considère un PC dont le bus système possède une fréquence d’horloge de 133 MHz. 1. Quel doit être le temps d’accès de la mémoire RAM pour qu’il n’y ait jamais d’état d’attente du bus lors de l’échange d’informations avec le CPU ? 2. Pour éviter de pénaliser les performances, on veut interdire la présence de plus de 5 états d’attente. Quelle doit être le temps d’accès minimal de la RAM ? 3. Combien d’états d’attente sont nécessaires si l’on utilise de la mémoire à 70 ns ? 4. On exécute un programme requérant 100 000 accès à la mémoire. On utilise de la mémoire à 70 ns, des caches L1 et L2 ayant un taux de succès de, respectivement, 68 % et 89 %. On considère que l’accès à L1 et L2 se fait sans état d’attente. Combien d’états d’attente seront nécessaires ? 5 Correction 1. La mémoire doit pouvoir servir une requête à la fréquence du bus, soit un temps d’accès de : t= 1 = 7.5 ns 133 × 106 2. On a : Requête CPU EA EA EA EA EA Réponse 7.5ns D’où, un temps d’accès minimal : t= 1 × 6 ≈ 4.5 × 10−8 s 133 × 106 Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009 3/4 3. Si n est le nombre d’états d’attente, le temps de réponse pour la mémoire est : t= 1 × (n + 1) s 133 × 106 On en déduit le nombre d’états d’attente pour une mémoire à 70 ns : n = d133 · 106 × 70 · 10−9 − 1e = 9 4. On a : n1 = 32% de 100 000 100 000 CPU n2 = 11% de n1 L1 L2 MEM Avec : n1 = 0.32 × 100 000 = 32 000 et : n2 = 0.11 × n1 = 0.11 × 32 000 = 3 520 On a des états d’attente uniquement entre le cache L2 et la mémoire. Comme il y a 3 520 accès et que chaque accès entraîne 9 états d’attente (voir question précédente), on a donc au total : E = 9 × 3 520 = 31 680 états d’attente Projet soutenu par le Conseil Régional Des Pays de La Loire dans le cadre des projets ENRC 2008-2009 4/4