Questionnaire de l examen final Sigle du cours INF2500 Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF2500 Architectures des ordinateurs Tous A02 Professeur(s) Sylvain Martel, Joan-Sébastien Morales et Luc Filion Local B512/B418/A410 Jour Vendredi 13/12/02 Date Durée 2h30 De 13h30 à 16h00 Documentation Toute Aucune Voir directives particulières Calculatrice Aucune Programmable Non programmable Directives particulières Important 10 8 Ce questionnaire comporte question(s) sur Page(s) 45 La pondération de cet examen est de % Vous devez répondre sur le questionnaire le cahier les deux Vous devez remettre le questionnaire oui non Page 1 de 8
Question 1 (2 points) Un cache associatif par ensembles (set-associative cache) décompose l adresse mémoire provenant de l UCT (CPU) de la façon suivante : 20 bits 6 bits 6 bits Étiquette (Tag) Index Déplacement (Offset) a) Déterminez la quantité de mémoire adressable par l UCT. (0.5 point) b) Déterminez la taille d un bloc. (0.5 point) c) Déterminez le nombre d ensembles. (0.5 point) d) Peut-on déterminer la taille du cache? Justifiez votre réponse. (0.5 point) Question 2 On désire transférer une image sur un lien réseau. L image est composée de 480 lignes, 640 pixels par ligne, et 3 octets par pixels. L image est divisée en 48 paquets auxquels ont ajoute un en-tête de 32 octets. L en-tête contient le type de message, un identificateur d image, un identificateur de paquet et un code de vérification d erreur CRC. Lors de la réception d un paquet, le récepteur retourne un accusé de réception de 32 octets si le paquet est correctement reçu. Si l émetteur ne reçoit pas l accusé de réception 20 ms après l envoi du paquet, le paquet est envoyé de nouveau (voir figure ci-contre). Le lien réseau utilisé a une bande passante de 10 Mégabits par seconde. En moyenne, 2 paquets de l image échouent le test du CRC ou ne se rendent pas à destination. Les surcoûts de l émetteur et du récepteur ainsi que le temps de transit sont négligeables. a) Quelle est le temps de transfert moyen d une image? (2 points) b) La compression JPEG permet de réduire par un facteur 4 le nombre d octets de données de chacun des paquets. La compression d une image par l émetteur nécessite 40 ms de calculs tandis que la décompression de l image par le récepteur est d une durée de 20 ms. Quelle est le nouveau temps de transfert d une image? Est-ce que la compression est justifiée? (2 points) Page 2 de 8
Question 3 Étant donné le programme suivant s exécutant sur une architecture DLX qui utilise le branchement différé: xor r1,r1,r1 addi r2,r0,0x2000 ; 0x2000 en hexadécimal B: lw r3,0(r2) subi r3,r3,#1 sw 0(r2),r3 addi r2,r2,#4 bnez r3,b addi r1,r1,#1 Au départ le contenu de la mémoire est : 0x00002000 00 00 00 12 0x00002004 00 00 00 10 0x00002008 00 00 00 01 0x0000200C 00 00 00 0A Déterminez : a) Le nombre d instructions statiques et la taille du programme en mémoire. (1 point) b) Le nombre d instructions dynamiques et le nombre d accès à la mémoire. (1 point) c) Le contenu du registre r1 et le contenu de la mémoire (de 0x00002000 à 0x0000200C) après l exécution du programme. (2 points) Question 4 (3 points) Un disque magnétique à densité de surface variable a un diamètre de 5,25 pouces, 1024 cylindres, 32 pistes par cylindre, 128 secteurs par piste et 512 octets par secteur. a) Quelle est la capacité du disque? (1 point) b) Dans un deuxième temps, on désire modifier le disque précédent afin d accroître sa capacité. La densité de surface sera constante et égale à la densité de la première piste. La surface utile du disque débute à 0,5 pouce du centre et se termine à 5 pouces. Estimez la capacité de ce nouveau disque. (2 points) Page 3 de 8
Question 5 (5 points) Le système multiprocesseur suivant contient 4 processeurs à usage général branchés par un bus (ou réseau d interconnexion). Le processeur #1 (P1) reçoit des requêtes à calculer par son système d entrées/sorties. Une fois le calcul terminé, P1 retourne le résultat par le système d entrées/sorties. Pour supporter P1, on a installé une mémoire cache et une mémoire principale privée à P1, de même qu un DMA. Lorsque P1 est surchargé, on utilise les processeurs P2, P3 et P4. Pour les faire travailler, on doit copier les requêtes à calculer dans la mémoire partagée centralisée, puis activer le processeur ciblé en lui envoyant une interruption. Lorsque P2, P3 ou P4 ont terminé de calculer une requête, ils l écrivent dans la mémoire partagée centralisée puis envoient une interruption à P1 qui devra récupérer le résultat. P1 Lignes d interruptions Cache Mémoire partagée centralisée Mémoire privée à P1 DMA Entrées/ sorties Bus ou réseau d interconnexion P4 P3 P2 a) Ce système est-il SISD, MISD, SIMD ou MIMD? Justifiez (max. 2 lignes). (1 point) b) Que fait concrètement le DMA dans cette architecture (pour ce cas précis et non de façon générale). (max. 4 lignes). (1 point) Page 4 de 8
c) Il manque un composant essentiel sur cette architecture pour éviter que P2, P3 et P4 ne provoquent des collisions sur le bus. Quel est ce composant? Expliquez son fonctionnement. (max. 4 lignes). (1 point) d) Même si on enraye complètement les collisions, cette architecture n est pas performante. Indiquez l autre problème principal de cette architecture, puis proposez et expliquez une solution simple et économique pour améliorer sa performance. (max. 5 lignes). (2 points) Question 6 Le programme suivant s exécute à froid (initialement, la cache est vide) sur une architecture possédant un cache de données totalement associatif de 16 kilo-octets avec des blocs de 16 octets. register int i,j; int A[3][100]; int B[101][3]; // i et j sont dans des registres // int est un entier de 32 bits ou 4 octets for (i=0; i<3; i++) for (j=0; j<100; j++) A[i][j] = B[j][0]*B[j+1][0]; a) Évaluez le nombre d échecs en cache de données (cache miss) sachant que les compteurs de boucles i et j sont dans des registres. Expliquez vos calculs. (2 points) b) Cette boucle génère beaucoup d échecs. Parmi les solutions suivantes, laquelle ou lesquelles seraient efficaces pour réduire le taux d échec pour ce programme. Justifiez chaque choix (max. 2 lignes). (2 points) a. Fusion des boucles b. Blocage c. Échange des boucles d. Ajout d instructions de préchargement (prefetch) Page 5 de 8
Question 7 Le programme suivant sera-il plus performant sur un cache à écriture simultanée (writethrough) ou à réécriture (writeback)? Le cache est associatif par ensemble de 2 blocs (2-way set associative) possède 64 ensembles (sets). Justifiez brièvement (max. 5 lignes). 0x0000FFF8 addi r2,r0,#40000 0x0000FFFC addi r4,r0,#32768 0x00010000 B: lw r1,0(r2) 0x00010004 subi r4,r4,#1 0x00010008 addi r2,r2,#4 0x0001000C sw -4(r2),r1 0x00010010 subi r2,r2,#4 0x00010014 bnez r1,b 0x00010018 nop Question 8 (6 points) Si nous élargissons le bus mémoire et la mémoire d une architecture en les faisant passer de 32 à 64 bits, quel en sera l effet (augmentation, diminution ou aucun effet) sur chacun des éléments suivants. Justifiez brièvement chacun (max. 20 mots). a) La pénalité d échec en cache de premier niveau (L1) (1 point) b) Le taux d échec en cache (miss rate) (1 point) c) Le CPI global (1 point) d) La bande passante sur le bus mémoire (1 point) e) Le nombre d accès mémoire généré par l UCT (1 point) f) Le temps d écriture d un mot de 4 octets (1 point) Question 9 Un cache pseudo-associatif de 4 ensembles... a) a le même taux de succès qu un cache associatif de 4 ensembles : vrai ou faux? Justifiez brièvement (max. 5 lignes) (1 point) b) peut causer des aléas dans le pipeline de l UCT et compliquer l exécution à l intérieur du pipeline : vrai ou faux? Justifiez brièvement et donnez les variations d accès au cache pour les succès au cache ou spécifiez s il n y a pas de variations (max. 5 lignes) (1 point) Page 6 de 8
Si l accès au cache prend un cycle d horloge et fonctionne à la même vitesse que le pipeline de l UCT, et que l accès à la mémoire principale est 8 fois plus lent que l accès au cache, donc... c) entrelacer (interleave) la mémoire principale en 8 bancs va augmenter la performance d accès à la mémoire principale : Expliquez pourquoi (max. 5 lignes) (1 point) d) dans ce cas particulier, entrelacer (interleave) la mémoire principale en 16 bancs au lieu de seulement 8 bancs va augmenter encore plus la performance d accès à la mémoire principale : vrai ou faux? Expliquez pourquoi (max. 5 lignes) (1 point) Question 10 (9 points) Vrai ou faux? a) Les échecs obligatoires (compulsive) dépendent de la dimension du cache (0.5 point) b) Augmenter la dimension d un bloc a pour effet de diminuer les échecs obligatoires (compulsive) (0.5 point) c) Les échecs de type conflits peuvent être entièrement éliminés avec un cache entièrement associatif (0.5 point) d) La fusion de boucles permet de diminuer le taux d échecs du cache en augmentant la localité spatiale (0.5 point) e) Le nombre de bancs dans une mémoire principale entrelacée (interleaved) doit absolument être le même que le nombre d ensembles dans le cache associatif correspondant pour donner la meilleure performance (0.5 point) f) L algorithme LRU est le seul algorithme de remplacement qui fonctionne avec un cache pseudo-associatif (0.5 point) g) L algorithme LRU est le seul algorithme de remplacement qui fonctionne avec un cache victime (victim cache) (0.5 point) h) Pour s assurer que le contenu de la mémoire virtuelle correspond toujours au contenu de la mémoire principale dans des systèmes à plusieurs processeurs partageant la même mémoire virtuelle, la technique de réécriture (copyback) offre la meilleure performance (0.5 point) i) Augmenter la dimension de la page de la mémoire virtuelle augmente le taux de transfert des données et aide à diminuer le pourcentage de gaspillage (waste storage) de la mémoire principale (0.5 point) j) Augmenter la vitesse de rotation d un disque a pour effet d augmenter la vitesse de transfert des données et de diminuer la latence (0.5 point) k) Dans un ordinateur sujet à de fortes vibrations, les SSD (Solid States Disks) sont de bons candidats pour supporter la mémoire virtuelle (0.5 point) l) Une fibre optique multi-mode est supérieure à une fibre optique mono-mode (single-mode) (0.5 point) Page 7 de 8
m) Le comportement d un branchement retardé (delayed branch) est indépendant du fait que le branchement soit pris ou non (0.5 point) n) Un répertoire de 13 instructions a besoin de codes d opérations (opcode) d au moins 4 bits (0.5 point) o) Un cache entièrement associatif n a pas d étiquettes (0.5 point) p) Le nombre de cycles d écriture entre le processeur et le cache est généralement le même qu entre le processeur et la mémoire principale (0.5 point) q) Pour un répertoire d instructions sans opérandes dans un système à deux processeurs partageant la même mémoire principale, l écriture simultanée (writethrough) est indispensable car la réécriture (copyback) causerait des délais pour la mise à jour de l information dans la mémoire principale pouvant causer des problèmes de cohérence (0.5 point) r) Les modes d adressage peuvent diminuer le nombre d instructions dans un répertoire mais peuvent aussi augmenter le CPI moyen (0.5 point) Page 8 de 8