Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants. Les chiffres sont en décimal par défaut. Quand le résultat devrait être en binaire ou dans ses multiples, la spécification sera explicite. Le groupe IFT 1005 doit remettre un seul fichier WORD zippé dans un.rar ou.zip Le groupe IFT 1002 doit remettre le TP3 ensemble avec le TP4. Les 2 fichiers WORD doivent être zippés dans un seul fichier.rar ou.zip Exercice 1: (10 points) Une mémoire cache à 4 ensembles a une taille globale de 2 Mo binaire. Chaque ligne de cache est longue de 1024 bits. La mémoire centrale a une taille de 1 Go binaire. Le bus C M entre la cache et la mémoire centrale est de 256 bits et fonctionne à 1 gigahertz. Une lecture ou une écriture nécessite 6 cycles d'horloge. Le bus C P entre le processeur et la cache est de 32 bits et fonctionne également à 1 gigahertz. Une lecture ou une écriture nécessite 1 cycle d'horloge. a. (3 pts) Quel est le nombre de lignes de cache contenu dans chaque ensemble? b. (3 pts) Déterminer le nombre de "lignes" dans les partitions en mémoire centrale qui peuvent venir dans une ligne de cache d'un ensemble. On rappelle qu'une partition en mémoire centrale a une taille égale à la cache s'il n'y a pas d'ensembles. Si la cache est partitionnée en plus en ensembles, alors la partition correspondante à chaque ensemble aurait la taille de l'ensemble. c. (2 + 2 pts) Déterminer les taux de transfert respectifs en gigaoctets/seconde des 2 bus C M et C P a. La taille globale est de 2 Mo et contient 4 ensembles. Donc, chaque ensemble a 2 Mo / 4 = 2 * 2 20 / 4 = 2 19 = 2 9 2 10 = 512 Ko Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est: 512 Ko * 8 / 1024 bits = 2 19 * 2 3 / 2 10 = 2 12 = 4 096 lignes ou 4K lignes binaire b. La mémoire centrale a 1 Go. La cache a une taille de 2 Mo. Le nombre de partitions en mémoire centrale s'il n'y a pas d'ensemble serait: 1 Go / 2 Mo = 2 30 / (2 * 2 20 ) = 2 9 = 512 partitions. Selon le principe des ensembles, on aurait un découpage plus fin de la mémoire centrale. Donc, au lieu d'avoir 512 partitions de 2 Mo, on aura 512 * 4 = 2 K partitions à 512 Ko. Donc, potentiellement, une ligne de cache peut accueillir 2K lignes de correspondantes en mémoire centrale. c. Taux de transfert du bus C M Chaque transfert envoie 256 bits soit 256 / 8 = 2 8 / 2 3 = 2 5 = 32 octets La fréquence d'horloge est de 1 GHz, cependant il faut 6 cycles pour faire un transfert, donc, le taux de transfert sera: 32 * 10 9 / 6 = 5.33 * 10 9 ou 5.33 Go/s
Taux de transfert du bus C P Chaque transfert envoie 32 bits soit 32 / 8 = 4 octets La fréquence d'horloge est de 1 GHz et il y a un transfert par cycle, donc, le taux de transfert sera: 4 * 10 9 = 4 Go/s Exercice 2 (10 pts) : Un bus X est réglé sur une horloge de 800 MHz. Le bus possède 4 canaux. Chaque canal transfère 8 bits en parallèle. On suppose que le bus peut transférer sur 4 canaux en même temps à tous les cycles d'horloge. Quel est le taux de transfert de ce bus en Go/s décimal? F = 800 MHz Nombre de cycles par seconde: 800 10 6 Taux de transfert: 800 * 10 6 * 4 * 8 bits/s = 2.56 * 10 10 bits/s = 2.56 * 10 10 / 8 octets/s = 3.2 * 10 9 octets/s = 3.2 Go/s Réponse : 3.2 Go/s Exercice 3: (24pts = 8 + 8 + 8) Un écran de rapport 5:3 (5 en horizontal et 3 en vertical) possède une hauteur de 11 pouces. Le "dot pitch" ou la taille du faisceau est de 0.20 mm. L'écran est supposé utilisé à sa capacité optimale lorsque les pixels sur l'écran sont jointifs (pas de recouvrement partiel des pixels ni d'espace entre les points). On rappelle qu un pouce est égal à 25.4mm. a. Déterminer la résolution optimale de cet écran (Les chiffres calculés peuvent ne pas correspondre à une résolution commerciale existante) Spot = 0.20 mm H = 11 pouces = 11 * 25.4 = 279.4 mm Résolution verticale = 279.4 / 0.20 = 1397 Comme le rapport est de type 5 : 3 L = 11 * 5 / 3 = 18.33 pouces = 465.66 mm Résolution horizontale = 465.66 /0.20 = 2328 Réponse : 2328 X 1397 b. La bande passante de l'écran est de 360 MHz. Quelle est la fréquence d'images la plus élevée que l'on peut obtenir à la résolution obtenue en (a)? Bande passante B: B = 360 MHz = 360 *10 6 Hz Calcul de la fréquence d'images F la plus élevée F = B / (Résolution horizontale * Résolution verticale) = 360 * 10 6 / (2328 * 1397) = 110 Hz Réponse : 110 Hz c. Quelle est la capacité de mémoire minimale (arrondie au multiple binaire supérieur) nécessaire au stockage d'une image entière si chaque pixel est codé sur 24 bits.
Nombre total de pixels d'une image: 2328 * 1397 Nombre de bits de codage tenant compte de la couleur 2328 * 1397 * 24 = 78 053 184 bits = 9 756 648 octets = 9 756 648 / (1024 * 1024) = 9.3 Mo binaire En arrondissant au binaire supérieur: 2 3 = < 9.3 < 2 4 Réponse : 16 Mo binaire Exercice 4 : (24 pts = 6 + 10 + 8) Une ligne série asynchrone peut transférer à la vitesse de 307200 bauds. Chaque baud équivaut dans le contexte courant à 1 bit/s. Le format est de type 1 start + 8 bits de données + parité impaire + 1 stop. a. Déterminer le temps nécessaire pour transférer 2000 caractères à 8 bits en continu b. Une page graphique de 8 pouces par 10.5 pouces de surface utile doit être imprimée avec une résolution de 600 dpi en couleur. La couleur est codée sur 24 bits et le taux de compression est de 50 :1. Le taux de recouvrement est de 5%. Quel est le temps de transfert d'une page à travers cette liaison série dans ces conditions? c. On se demande si l on ne dépassait pas la capacité de transfert de cette liaison si l'imprimante devrait sortir 1 page graphique photo à la minute avec un taux de recouvrement de 100%, 24 bits de codage de couleur et un taux de compression de 25 :1? Dire si cette liaison est suffisante ou non et justifier la réponse. 1. Format = 1+8+1+1 = 11 bits Vitesse de transfert: 307 200 bits/s Temps nécessaire pour transférer 2000 caractères: 2000 * 11 / 307200 = 71.6 ms Réponse : 71.6 ms 2. Nombre de pixels effectif par page à imprimer tenant compte du taux de recouvrement: 8 * 600 * 10.5 * 600 * 0.05 = 1 512 000 pixels En tenant compte du fait que la couleur est codée sur 24 bits et que le taux de compression est de 50:1 1 512 000 * 24 / 50 = 725 760 bits = 90 720 octets Temps de transfert d une page compressée: 90 720 * 11 / 307 200 = 3.25 s Réponse : 3.25 secondes 3. Nombre de bits à transférer en 1 minute pour 1 page photo avec un taux de recouvrement de 100% et un taux de compression de 25:1 (8 * 600 * 10.5 * 600) points par page * 1 page par minute * 100/100 recouvrement* 24 bits par point / 25 = 29 030 400 bits utiles Taux de transfert minimal par seconde: 29 030 400 bits utiles * (11/8) bits à transférer pour 8 bits utiles / 60 secondes = 665 280 bits/s Réponse: On dépasse la capacité de transfert de cette liaison série. Exercice 5 : (10 pts) Un appareil photo digital est muni d une puce mémoire de 1 Go binaire. Le rapport de compression d images le plus élevé en mode JPEG est de 25 :1. L appareil est donné pour une résolution de 4000 * 3000 pixels. Chaque couleur est codée sur 24 bits. a. (5 pts) Combien de photos peut on stocker sur cette mémoire flash dans ces conditions?
b. (5 pts) En mode vidéo, cet appareil se comporte comme une caméra de résolution 1920 x 1080 avec une fréquence d images de 24 images par seconde. La couleur est toujours codée sur 24 bits. On se demande quelle est la durée d une séquence vidéo que cette mémoire peut stocker en mode RAW (RAW : sans compression. Les valeurs vont expliquer l importance de la compression au vol). Nombre d'octets nécessaire par photo tenant compte de la dimension, du codage couleur et du taux de compression: (3000 * 4000) pixels * 3 octets par pixel / 25 = 30 600 000 / 25 = 1 440 000 octets Nombre de photos au total 1 * 2 30 / 1 440 000 = 745 photos Réponse : 745 photos Nombre d octets nécessaire par image 1920 * 1080 * 3 = 6 220 800 octets Nombre d octets requis par seconde 6 220 800 octets par image * 24 images par seconde = 149 299 200 octets/s Durée d une séquence vidéo en mode RAW: 2 30 / 149 299 200 = 7 secondes Exercice 6 : (22 pts) Un disque dur zoné a les caractéristiques physiques suivantes : Densité linéaire maximale: 763 000 bits par pouce Densité radiale : 145 000 pistes par pouce Vitesse de rotation : 7 200 tours par minute Diamètre minimal de la zone de données : 1.2 pouces Diamètre maximal de la zone de données: 3.2 pouces Vitesse de transfert de la liaison SATA : 1.5 Gbits/s Nombre de plateaux : 2 Nombre de faces : 4 Estimer les paramètres suivants : a. (2 pts) Nombre de cylindres b. (5 pts) Le rayon moyen en mm défini comme le rayon qui sera positionné de telle façon que les surfaces actives à l extérieur et à l intérieur de ce rayon sont égales (considérer une seule face active dans ce calcul et calculer auparavant la surface utile. 1 pouce = 25.4 mm). Ce rayon se trouve entre le rayon interne et le rayon externe et sera plus proche du rayon externe c. (5 pts) Pour un calcul approximatif, on se sert du rayon moyen et le disque ne sera plus considéré comme zoné mais contient des pistes identiques ayant les mêmes nombre de secteurs par piste. De plus, on considère que le nombre de bits par unité de surface (bits par pouce carré) est uniforme. Dans ce contexte, évaluer cette densité surfacique (ordre de grandeur : au voisinage d une centaine de Gbits/in 2 en déterminant le nombre total d octets d une face puis en divisant par la surface utile de la face d. (5 pts) En utilisant toujours le rayon moyen, quel est approximativement le flot de données maximal (en mégaoctets par seconde) arrivant sous la tête de lecture e. (3 pts) Évaluer approximativement la capacité de la cache permettant de buffériser un cylindre au complet (Arrondir le résultat en Mo binaire supérieur). Note : La piste 0 la plus externe contient le maximum de données f. (2 pts) En utilisant une donnée de ( c ), évaluer la capacité brute de de disque en Go binaire. La capacité brute (RAW) englobe les données de formatage de bas niveau.
a. Nombre de cylindres : Longueur utile mesurée en radial : (3.2 1.2 pouces) /2 = 1 pouce Nombre de cylindres : 145 000 pistes par pouce * 1 pouce = 145 000 cylindres b. Calcul du rayon moyen Rayon interne de la zone de données en mm : R1= (1. 2 pouces / 2 ) * 25.4 = 15.24 mm Rayon externe de la zone de données en mm : R2= (3,2 pouces / 2 ) * 25.4 = 40.64 mm Surface utile totale sur une face : Pi ( R2 2 R1 2 ) = 3.14 * (40.64 2 15.24 2 ) = 4 456. 76 mm 2 Moitié de cette surface = 2 228.38 mm 2 Addition de la surface interne correspondant à R1 : Pi R1 2 + moitié de la surface utile = 3.14 * 15.24 2 + 2 228.38 = 729.29 + 2 226.28 = 2 957.67 mm 2 Calcul du rayon moyen Racine carrée de (2 957.67 / Pi) = Racine carrée de (2 957.67 / 3.14) = 30.69 mm c. Densité surfacique de données (bits par pouce carré) Longueur en pouce d une circonférence du rayon moyen : 2 * pi * R moyen = 2 * 3.14 * 30.69 / 25.4 = 7.588 pouces Longueur totale tenant compte du nombre total de pistes par face: 7.588 pouces par piste * 145 000 piste = 1 100 248 pouces En utilisant la densité linéaire, nous obtenons le nombre total de bits : 763 000 bits par pouce * 1 100 248 pouces = 839.5 Gbits Comme nous connaissons déjà la surface utile : 4 456.76 mm2 En pouces carrés : 4456.78 / (25.4) 2 = 6.90 pouces carrés D où la densité surfacique en pouces carrés : 839.5 Gbits / 6.90 = 121 Gbits/in 2 d. Temps pour parcourir une piste 60 secondes / 7200 tours par minute = 8.33 ms Longueur d une piste avec le rayon moyen (déjà calculée): 7.588 pouces Nombre d octets par piste: 763 000 bits par pouce * 7.588 pouces / 8 bits par octet= 723 705 octets En divisant par le temps mis pour lire la piste : 723 705 octets / (8.33 * 10 3 ) = 86.88 Mo/s e. Densité linéaire: 763 000 bits par pouce Diamètre maximal = 3.2 pouces Longueur de la piste 0 = Diamètre maximal * pi 3.2 * 3.14 = 10.05 pouces Nombre de bits sur la piste 0: Densité linéaire * Longueur de la piste = 763 000 * 10.05 = 7 668 150 bits = 958 519 octets Capacité de la cache permettant de buffériser un cylindre
Comme il y a 4 faces 958 519 * 4 = 3 834 076 octets En octets binaire 3 834 076 octets/ (1024 * 1024) = 3.65 Mo binaire En arrondissant au multiple binaire supérieur Réponse : 4 Mo binaire f. Capacité brute du disque: À la question c, nous connaissons déjà le nombre de bits par face : 839.5 Gbits Comme il y a 4 faces, nous pouvons déterminer la capacité brute. (839.5 Gbits/8 bits par octet) * 4 faces * (10 9 /2 30 ) = 391 Go binaire