GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément à du résultat? (a) (+43) + (-100) = (1100 0111), non (b) (-) + (-13) = (1101 1101), non (c) (+45) (+8) = (1101 1011), non (d) (-66) + (-7) = (0111 0110), oui (e) (0) (-15) = (0000 1111), non Précision importante: Supposons qu on additionne deux nombres qui sont représentés en complément à. Un débordement en complément à est une erreur de signe, qui a lieu quand l addition de grands nombres positifs (négatifs) donne un résultat négatif (positif). Ce débordement est dû au fait que la réponse de l addition est trop grande pour notre système de représentation. Pour détecter cette erreur, il s agit de vérifier que le signe de la réponse est logique.. Trouvez les nombres équivalents. (a) hexadécimal pour (00111101) en complément à = (3D) h (b) binaire pour (57) h = (0101 0111) (c) décimal pour (99) h = (153) 10 3. Trouvez le nombre décimal équivalent pour chacun des nombres suivant. Supposez que ces nombres binaires sont représentés en complément à. (a) (00000001) = +(1) 10 (c) (1000000000000000) = -(3768) 10 (d) (01111111) = +(17) 10 (e) (01000000) = +(64) 10 (f) (1111111111111111) = -(1) 10
4. Trouvez le nombre hexadécimal équivalent pour chacun des nombres suivant. (a) (10110101) = (B5) h (b) (00111101) = (3D) h (c) (1110101101101100) = (EB6C) h (d) (10011110) = (9E) h (e) (01100111) = (67) h (f) (10010000) = (90) h 5. Supposez qu un nombre positif en complément à est additionné avec un nombre négatif en complément à. Indiquez la situation dans laquelle il y aura un débordement en complément à. Sachant que le MSB correspond au bit de signe, il ne peut y avoir de débordement en complément à dans cette situation. (Un nombre positif en complément à ne subit aucune transformation avant l addition.) 6. Quelles valeurs de tension correspondent au niveau bas (L) et au niveau haut (H) pour un circuit qui utilise les signaux binaires suivants: (a) +0V et -10V DC? L = -10V et H = 0V DC (b) -1V et +1V DC? L = -1V et H = 1V DC? 7. Décrivez la fonction du registre compteur de programme (PC) du modèle de mémoire. Le PC contient l adresse à 16 bits de la prochaine instruction à exécuter (livre: p.16, para. 3). 8. Expliquez les différences entre le registre pointeur de pile (SP) et les registres d indexe (IX et IY) du modèle de programmeur du microcontrôleur 68HC1. À quoi servent principalement ces registres? Le SP pointe vers la dernière adresse de mémoire accédée dans la pile, tandis que le IX et IY pointent vers une adresse mémoire quelconque (livre: p.16-17). 9. Décrivez la fonction des 3 bits de contrôle dans le registre à code de contrôle du modèle de programmeur. S = 1: désactive l instruction STOP (traitée comme NOP) X = 1: permet des interruptions externes non-masquables I = 0: permet des interruptions masquables (livre: p.17).
10. Nommez les 4 composants matériels de base d un système ordiné (SO). A partir de ces composants, décrivez ce qui distingue un microcontrôleur, un microprocesseur et un micro-ordinateur. Un système ordiné comprend un bus, un CPU, des périphériques d e/s, et de la mémoire. Un microprocesseur est un CPU conçu sur un seul circuit intégré, un micro-ordinateur est un SO qui utilise un microprocesseur comme CPU (e.g., carte électronique), tandis qu un microcontrôleur est un SO conçu sur un seul circuit intégré (livre: p.4). 11. Définissez un processeur avec programme en mémoire, et décrivez les types d informations qu il stocke dans sa mémoire. Un processeur avec programme en mémoire est un système numérique contrôlé par instructions (i.e., processeur générique avec unité de contrôle) avec une mémoire pour les données et les instructions. Dans la mémoire on stocke de programmes (des séquences d instructions pour l unité de contrôle) et des données requis pour effectuer les opérations. 1. Supposez qu on veut additionner nombres hexadécimaux à 8 bits. Donnez un exemple de nombres qui vont donner la somme qui est correct si les nombres sont interprétés comme nombres non-signés, mais incorrects s ils sont interprétés comme nombres signés. Quelle sera la valeur des bits C et V du registre CCR. L addition des nombres (74) h et (70) h avec un représentation binaire de 8 bits est égal à (E4) h avec deux nombres non-signés, et à -(1C) h avec deux nombres signés. Dans ce cas les bit C = 0 et V = 1 au registre du CCR.
1. Le système numérique contrôlé par instructions suivant comprend un jeu d instruction de instructions. Décrivez les signaux qui sont produits par l unité de contrôle lors des différents états d exécution pour chaque code d instruction: A. FONCTION DU SYSTÈME: La Figure 1 présente un système numérique contrôlé par instructions qui permet d effectuer algorithmes simples une fois que le RESET se désactive. Afin d indiquer l algorithme, le jeu d instructions comprend: 1. code d instruction = 0: Lire une valeur du port d entrée et le transférer directement au port de sortie (transf_io).. code d instruction = 1: Lire une valeur du port d entrée, le multiplier par, et ensuite transférer le produit au port de sortie (mult). Figure 1: Système numérique à deux instructions.
B. STRUCTURE DU SYSTÈME: a. Unité de contrôle: L unité de contrôle est un circuit séquentiel qui interprète les codes d instructions, pour ensuite générer les signaux de contrôle du matériel. Il fonctionne selon la machine à état fini de la Figure. Le signal externe RESET lui indique le début d opérations, tandis que le code d instructions lui indique l algorithme (séquence d états) à effectuer. Les signaux générés par l unité de contrôle sont: C 0, C 1, L A, L B, L OUT, X IN, X A, X B. Au diagramme d états (Figure ), les bulles du diagramme correspondent aux états de UC, tandis que les codes attachées aux arcs du diagramme représentent les entrées et sorties de l UC pour passer d un état à l autre. Plus spécifiquement 1 : entrées/sorties = <reset> <code d instruction> / <C 0 ><C 1 ><X A ><X B > <L A ><L B ><X IN ><L OUT > 10,11 / XXXX XXX0 10,11 / XXXX XXX0 0 00,01 / XXXX XXX0 00,01 / XXXX XXX0 6 1 01 / XXXX XXX1 00 / XXXX XXX1 00 / 0000 1X10 01 / 0000 1X10 5 3 01 / 0011 1X00 01 / 0010 01X0 4 Figure : Diagramme d'états du système numérique. 1 Notez que dans les codes des arcs, le symbole X indique une condition don t care, et alors X est égal à soit 0 ou 1. Le code 01,11 correspond à 01 ou 11.
b. Processeur générique: Le processeur peut effectuer un certain nombre d opérations très simples permettant plusieurs différentes instructions, et comprend les unités fonctionnelles suivantes: UAL: circuit combinatoire générique qui peut effectuer les 4 fonctions de la table correspondante (selon le code C 0 C 1 ). registres A et B (8 bits): permettent de stocker les opérants pour l UAL. Des mots de 8 bits sont stockés en parallèle dans A et B sur la transition active de l horloge, si les signaux L A et L B sont actifs, respectivement. portes de transfert: une porte ET qui permet de transmettre les valeurs des registres A et B au UAL, si les signaux X A et X B sont actifs, respectivement. porte d entrée: une porte OU qui permet de passer une valeur au registre A. Cette valeur est une nouvelle entrée ou bien la sortie de l UAL. Ce port de 8 bits comprend aussi une porte ET de transfert qui laisse passer soit l entrée ou 0 si le signal X IN est actif. porte de sortie: port de 8 bits permet d accéder une valeur au registre A sur la prochaine transition active de l horloge, si le signal L OUT est actif. On suppose que les valeurs en entrée et sortie sont des nombres binaires non signées représentées sur 8 bits.