Corrigé
Transcription
Corrigé
Q1 Questionnaire examen intra Q2 Q3 Q4 Q5 ELE1300 Q6 BONUS Total Identification de l’étudiant(e) Nom : Prénom : Signature : Matricule : Groupe : Sigle et titre du cours ELE1300 – Circuits Logiques Groupe 01 et 02 Professeur Jean-Pierre David et Tarek Ould Bachir Jour Lundi Trimestre Automne 2006 Local L-1720 et B-415 Date 16 octobre 2006 Durée 1h50 Documentation Téléphone Heures 15h45 à 17h35 Calculatrice Toute Aucune Aucune Programmable Voir directives particulières Non programmable Les cellulaires, agendas électroniques ou téléavertisseurs sont interdits. Directives particulières Répondre uniquement sur le questionnaire. Vous avez droit à un aide mémoire constitué d’une feuille (8½"x11", recto-verso) écrite par vous-même Bonne chance à tous! Important Cet examen contient x7 questions sur un total de x10 pages (incluant cette page) La pondération de cet examen est de x30 % Vous devez répondre sur : le questionnaire Vous devez remettre le questionnaire : oui le cahier non les deux ELE1300 – Automne 2006 - Examen intra 2/10 Question 1 – Format des nombres (5 pts – 10 minutes) 1) Pour les nombres entiers suivants, représentés sous format binaire signé, donner la valeur décimale : a) 11 → -1 b) 01 → 1 c) 010 → 2 d) 110 → -2 e) 11111101 → -3 2) Pour les nombres entiers suivants, représentés en décimal, donner la représentation en format binaire signé avec le minimum de bits possible : a) –12 → 1010 b) +62 → 0111110 c) +12,5 → 01100.1 d) –255 → 100000001 e) –126 → 10000010 Question 2 – Opérations sur les nombres (4 pts – 10 minutes) Consignes : Tous les nombres sont donnés en format binaire signé. Indiquer les bits de retenue en utilisant les cases disponibles (sur la première ligne). Si il y a débordement, le préciser et donner le résultat correct en ajoutant 1 bit supplémentaire (dans la grille de droite). Exemple : 10- 01 + = 10 + 11 1 0 1 0 1 1 1 0 1 Débordement ? OUI Équivalent décimal : (-2) -(1) = -3 + Résultat : 101 1 1 1 1 1 1 0 1 0 1 1 0 1 ELE1300 – Automne 2006 - Examen intra 1) 0101 – 1010 0 1 0 0 0 1 0 1 1 0 = 3/10 0101 + 0110 0 0 1 1 0 1 1 Débordement ? OUI 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 Résultat : 01011 Équivalent décimal : 5 – (-6) = 5 + 6 = 11 2) 0100 + 1010 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 Débordement ? NON Résultat : 10 Équivalent décimal : 4 + (-6) = -2 3) 011,1 – 100,1 0 1 0 0 0 1 1 1 1 1 = 011,1 + 011,1 1 1 1 1 1 1 0 Débordement ? OUI 1 1 1 1 1 1 1 1 1 1 0 Résultat : 0111 (.0) Équivalent décimal : 3.5 – (-3.5) = 7.0 4) 10,1 + 100,001 = 110,100 + 100,001 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 Débordement ? OUI 0 0 0 0 1 0 1 1 1 1 1 1 1 Résultat : 1010.101 Équivalent décimal : -1.5 + (-3.875) = -5.375 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 ELE1300 – Automne 2006 - Examen intra Question 3 – Changements de base (4 pts – 10 minutes) Exprimez 31740 (8) en base 16 011 001 111 100 000(2) = 011 0011 1110 0000(2) = 33E0(16) Écrivez la valeur de 5/3 en base 9 5/3 = 15/9 = 1 + 6/9 = 1.6(9) Exprimez 4.25(10) en base 4 4.25 = 4 + ¼ = 10.1(4) Exprimez 111(5) en base 7 25 + 5 + 1 = 31 31/7 = 4 reste 3 111(5) = 43(7) Question 4 – Algèbre de Boole (4 pts – 10 minutes) Démontrer que : 1) A ( A +B) A ( A +B) = = A ( A +0)( A +B) = A +0B = A +0= A = A B = A ( A +B)(A+ B ) = A (A+ B ) = A B = A B = A ( A + B )( A + B ) B = A B 4) AB+A( (A+B) + B ) = A AB+A( (A+B) + B ) = AB+A( A B + B ) = = AB+A( B ) A 2) A (A+ B )( A +B) A (A+ B )( A +B) 3) A ( A + B ) B A(A+B)B 4/10 ELE1300 – Automne 2006 - Examen intra 5/10 Question 5 – Détection / Correction d’erreurs (6 pts – 30 minutes) Un système est basé sur la transmission de messages de 4 bits. Vous êtes chargé d’assurer l’intégrité des messages. Vous devez être capable de corriger un changement de un bit. Comparez l’utilisation de la parité orthogonale avec celle du code Hamming. 1) Illustrez ces deux techniques sur le message suivant : « 1011 » en utilisant une parité paire de ‘1’ et regardez ce qu’il advient si un bit du message change de sorte qu’il est reçu comme étant « 1001 » mais avec des bits de parités inchangés. Montrez comment vous pouvez détecter/corriger l‘erreur pour chacune des techniques. a) Parité orthogonale b0 b1 p0 b2 b3 p1 p2 p3 p4 1 1 0 0 1 1 1 0 1 1 0 0 X 0 1 OK 1 0 X 1 1 OK OK OK Message envoyé : 101110011. Message reçu : 101010011 Deux parités sont invalides. L’intersection de la ligne et de la colonne permet de retrouver le bit qui a changé. b) Code de Hamming p1 p2 b0 p4 b1 b2 b3 0 1 1 0 0 1 1 p1 0 1 0 1 p2 1 1 1 1 p4 0 0 1 1 Message envoyé : 0110011. p4 et p2 sont invalides donc le bit 6 est inversé p1 p2 b0 p4 b1 b2 b3 0 1 1 0 0 0 1 0 1 0 1 OK 1 1 0 1 X 0 0 0 1 X Message reçu : 0110001 2) Sachant que pour implémenter le calcul de parité de N bits, vous avez besoin de N-1 portes XOR, de combien de portes XOR allez-vous avoir besoin dans chacun des cas ? a) Parité orthogonale 5 bits de parité de 2 entrées (codage) et 6 vérifications de parité de 3 entrées (décodage). Cela donne: 5 portes pour le codage et 12 portes pour le décodage, soit 17 au total b) Code de Hamming 3 bits de parité de 3 entrées (codage) et 3 vérifications de parité de 4 entrées (décodage). Cela donne : 6 portes pour le codage et 9 portes pour le décodage, soit 15 au total ELE1300 – Automne 2006 - Examen intra 6/10 Question 6 – Analyse et synthèse de circuits (7 pts – 40 minutes) L’implémentation d’une fonction logique Z relativement complexe repose sur un XNOR de deux autres fonctions X et Y comme indiqué sur le schéma suivant : /A /B /C /A /D B /D /B /C D X Z Y D B A C Chacune des deux fonctions a été réalisée par des techniciens différents. Le circuit a déjà été vérifié et il fait son travail mais votre patron suspecte que l’implémentation n’est pas optimale. Vous êtes chargé de vérifier si le coût du circuit est vraiment justifié et si chaque technicien a bien fait son propre travail d’implémentation. Pour y parvenir, suivez les étapes suivantes : 1) En considérant que les portes XOR et XNOR à N entrées ont un coût 2N, calculez le coût des fonctions X,Y et Z (en global) telles qu’elles ont été implémentées par les techniciens. Coût de X = 4 + 3 + 3 + 4 + 5 = 19 Coût de Y = 4 + 4 + 3 + 3 = 14 Coût de Z = X + Y + 4 = 37 ELE1300 – Automne 2006 - Examen intra 7/10 2) Écrivez l’équation logique de X et simplifiez-la si nécessaire. Étudiez ensuite sa meilleure implémentation sous les formes disjonctives et conjonctives au moyen des tables de Karnaugh et proposez votre meilleure implémentation. X = (un produit de somme optimisé) = (/A+/B+/C)(/A+/D)(B+/D)(/B+/C+D) ab\cd 00 01 11 10 ab\cd 00 01 11 10 00 1 0 0 1 00 1 0 0 1 01 1 1 1 0 01 1 1 1 0 11 1 0 0 0 11 1 0 0 0 10 1 0 0 1 10 1 0 0 1 X= (/C/D) + (/B/D) + (/ABD) X= (/A+/D) (B+/D) (/B+/C+D) Dessinez ci-dessous votre meilleure implémentation de X: /A /D B /D X /B /C D Il s’agit en fait du circuit proposé par le technicien dont on a enlevé la première porte car elle était inutile. La forme disjonctive donne un coût équivalent. Quel est son coût ? 3+3+4+4 = 14 ELE1300 – Automne 2006 - Examen intra 8/10 3) Écrivez l’équation logique de Y et simplifiez la si nécessaire. Étudiez ensuite sa meilleure implémentation sous les formes disjonctives et conjonctives au moyen des tables de Karnaugh et proposez votre meilleure implémentation. Y= (une somme de produits optimisé) Y= = = = (B XNOR D) + B(A XNOR C) BD + /B/D + B(AC + /A/C) BD + /B/D + ABC + /AB/C ab\cd 00 01 11 10 ab\cd 00 01 11 10 00 1 0 0 1 00 1 0 0 1 01 1 1 1 0 01 1 1 1 0 11 0 1 1 1 11 0 1 1 1 10 1 0 0 1 10 1 0 0 1 BD + /B/D + ABC + /AB/C Y= (B+/D) (A+/B+/C+D) (/A+/B+C+D) Dessinez ci-dessous votre meilleure implémentation de Y: C’est l’implémentation proposée par le technicien. Son délai de propagation est toutefois moins bon (3 portes). Si c’est le délai qui a de l’importance, il vaut mieux utiliser la forme conjonctive qui a un cout de 3+5+5+4 = 17 Quel est son coût ? 4+4+3+3 = 14 ELE1300 – Automne 2006 - Examen intra 9/10 4) Finalement, proposez votre meilleure implémentation de la fonction Z, calculez-en le coût et discutez de la façon dont il faudrait s’y prendre pour une prochaine conception de circuits. La fonction X XNOR Y vaut 1 si X et Y sont les mêmes et 0 s’ils sont différents. La table de Karnaugh de X XNOR Y s’écrit donc facilement en comparant les deux tables : Z= ab\cd 00 01 11 10 ab\cd 00 01 11 10 00 1 1 1 1 00 1 1 1 1 01 1 1 1 1 01 1 1 1 1 11 0 0 0 0 11 0 0 0 0 10 1 1 1 1 10 1 1 1 1 /A + /B Z= /A+/B Et cette fonction peut encore se simplifier en une simple porte NAND /(AB), dont le coût est 3 ! Il paraît assez évident que, la prochaine fois, le responsable du projet calculera la fonction globale et l’optimisera par la table de Karnaugh plutôt que de décomposer un problème simple en deux problèmes plus complexes. Le technicien qui a implémenté la fonction X n’était pas à la hauteur de sa tâche puisqu’il a ajouté une porte qui ne sert à rien. Le technicien qui a implémenté la fonction Y semble particulièrement ingénieux et pourrait bien se voir confier des projets plus complexes (et recevoir une augmentation), même si son travail ne sera finalement pas utilisé. ELE1300 – Automne 2006 - Examen intra 10/10 Question 7 Bonus Cette question est tout à fait facultative. Toutefois, la réussir montrerait que vous maitrisez la matière à un niveau supérieur à ce qui est normalement attendu de vous et nous permettrait de vous pardonner une petite faute ou l’autre, le cas échéant, dans les questions précédentes. Une compagnie veut protéger son système informatique par un mot de passe. Elle a quatre (4) administrateurs système à son service, Alain, Bruno, Claude et Damien. La compagnie ne veut qu’aucun d’eux connaisse le mot de passe au complet. C’est pourquoi elle révélera certaines lettres du mot de passe à certaines personnes de sorte que, pour que le mot de passe soit connu au complet, il faut être dans une des trois situations suivantes : a) Présence de Alain et Claude b) Présence de Alain, Bruno et Damien c) Présence de Bruno, Claude et Damien Quelle doit être la longueur du mot de passe (N) la plus courte, et quelles lettres doivent connaître chacun des quatre administrateurs pour que le mot de passe puisse être entré au complet dans (et seulement dans) ces conditions ? Pour vous aider, vous constaterez qu’il est assez direct d’exprimer la condition sous sa forme disjonctive. Toutefois, l’exprimer sous sa forme conjonctive est plus utile pour trouver la solution. F = AC + ABD + BCD F = (C+D)(A+C)(A+B)(B+C)(A+D) ab\cd 00 01 11 10 00 0 0 0 0 01 0 0 1 0 11 0 1 1 1 10 0 0 1 1 Pour que chacune de ces 5 conditions soit remplie, il faudra 5 lettres : C et D connaitront la 1ère, A et C connaitront la 2ème, A et B connaitront la 3ème, B et C connaitront la 4ème, A et D connaitront la 5ème. Il ne vous reste plus qu’à résoudre le Sudoku (niveau très difficile) 4 2 1 8 2 5 1 3 4 4 1 5 3 6 4 7 2 9 6 5 3 2 3 2 7 8 1 5 1 3 2