Cours 1 : Format de données Q1.1 : Supposons un nombre entier positif représenté sur 8 bits. Écrivez 4, 12, 83 et 242 en binaire et en hexadécimal. 4 = 0000 0100b = 04h 12 = 0000 1100b = 0Ch 83 = 0101 0011b = 53h 242 = 1111 0010b= F2h Q1.2 : Supposons un nombre entier positif représenté sur 16 bits. Écrivez 34211 (base 10) en base 12 (A = 10, B = 11, Par exemple, 154 en base 10 vaudrait 10A en base 12. 34211/12 = 2850 reste 11 2850/12 = 237 reste 6 237/12 = 19 reste 9 19/12 = 1 reste 7 reste 1 Réponse : 1796B12 Vérification : 1*12^4 + 7*12^3 + 9 * 144 + 6*12 + 11 = 20736 + 12096 + 1379 = 34211 Q1.3 : Supposons des nombre entiers signés représentés sur 8 bits en notation complément 2. Écrivez, en hexadécimal, la valeur des nombres suivants : -1, -81, -127. -1 = FFh -81 = AFh -127 = 81h -1, sur 8 bits en C2 est 1111 1111b (-128 + 64 + 32 +16 +8 + 4 + 2 + 1). Pour obternir 1111 1111b, vous pouvez aussi prendre 1 (0000 0001b), l'inverser (1111 1110b), puis ajouter 1 1111 1111b en binaire est FFh car F = 8+4+2+1. -81, sur 8 bits en C2 est 1010 1111b (-128 + 0 + 32 + 0 +8 + 4 + 2 + 1). Pour obternir 1010 1111b, vous pouvez aussi prendre 81 (0101 0001b), l'inverser (1010 1110b), puis ajouter 1 1010 1111b en binaire est AFh car A = 10 = 8+2. -127, sur 8 bits en C2 est 1000 0001b (-128 + 0 + 0 + 0 + 0 + 0 + 0 + 1). Pour obternir 1000 0001b, vous pouvez aussi prendre 127 (0111 1111b), l'inverser (1000 0000b), puis ajouter 1 1000 0001b en binaire est 81h. Q1.4 : Écrivez 1d, -1d, -32768d et 32767d en binaire, en utilisant la notation complément 2, sur 16 bits. Écrivez aussi ces nombres en hexadécimal. 1 = 0000 0000 0000 0001b ou 0x0001 -1 = 1111 1111 1111 1111b ou 0xFFFF -32768 = 1000 0000 0000 0000 ou 0x8000 32767 = 0111 1111 1111 1111 ou 0x7FFF Q1.5 : Supposons des nombre entiers signés représentés sur 8 bits en notation complément 2. Additionnez les nombres hexadécimaux suivants (le «h» signifie hexadécimal): a) b) c) d) e) 1Ah + 41h 6Bh + 17h 01h + FCh D3h + 5Ah 80h + 91h f) E1h + E5h a -> 5Bh pas de carry, ni d’overflow b -> 82h pas de carry, overflow c -> FDh pas de carry, ni d’overflow (+001) 0000 0001 + (-004) 1111 1100 = (-003) 1111 1101 … Il n'y a pas de retenue, ni de débordement (le résultat est entre -128 et 127) d -> 2Dh carry, pas d’overflow (-045) 1011 0011 + (+090) 0101 1010 = (+45) 1 0000 1101 … Il y a une retenue mais pas de débordement (le résultat est entre -128 et 127) e -> 11h carry et overflow f -> C6h carry, pas d’overflow Q1.6 : Pour quel(les) addition(s) de la question précédente y a-t-il une retenue (carry)? Un débordement (overflow)? Voir Q1.4! Q1.7 : Supposons des nombre entiers signés représentés sur 8 bits en notation complément 2. Effectuer les soustractions suivantes: a. b. c. d. A2h – 07h 41h – 7Ah. 21h – 9Fh C2h – 51h a –> 9Bh pas d’emprunt, pas de débordement b –> C7h emprunt, pas de débordement c –> 82h emprunt, débordement d –> 71h pas d’emprunt, débordement Q1.8 : Pour quel(les) soustraction(s) de la question précédente y a-t-il un emprunt (borrow)? Un débordement (overflow)? Voir Q1.6! Q1.9: Si C1280000h est une fraction représentant un nombre sur 32bits dans le format IEEE754, quelle est la valeur décimale de ce nombre? En binaire, C1280000h s'écrit 1100 0001 0010 1000 0000 0000 0000 0000. Le signe est négatif car le premier bit est 1: "1" 100 0001 0010 1000 0000 0000 0000 0000 L'exposant vaut 130: 1 "100 0001 0" 010 1000 0000 0000 0000 0000 La mantisse vaut 1/4 + 1/16: 1100 0001 0 "010 1000 0000 0000 0000 0000" Selon la norme IEEE 754, le nombre est -1^signe * 2^(exposant-127) * 1.mantisse Donc, le nombre est -1 * 2^3 * 1.3125 = -10.5 Q1.10: Écrivez 5 sur 32 bits en utilisant le format IEEE754. Vous pouvez vous inspirer de l’algorithme suivant : 1) Déterminer le bit de signe (le bit vaut 1 si le nombre est négatif) 2) Déterminer l’exposant. La valeur de l’exposant est 127 + arrondi_inférieur( log2(Nombre)). 3) Déterminer la mantisse comme suit. a. Mettre le bit de signe positif b. Diviser le nombre par 2^(Exposant-127) c. Soustraire 1 d. Pour chaque de i allant de 1 à 23 i. Vérifier si le nombre est supérieur à 2^(-i) ii. Si oui, mettre le bit i de la mantisse à 1 et soustraire 2^(-i) au nombre. Notez que le bit le plus significatif de la mantisse apparait lorsque i vaut 1. 5 = 0 10000001 01000000000000000000000 Q1.11 L’ENIAC, considéré par certain comme étant le premier ordinateur, a-t-il été terminé avant ou après la seconde guerre mondiale? La construction de l’ENIAC a débuté en 1943, mais elle s’est terminée en 1946. Q1.12 a) Donnez un exemple d’addition sur 8 bits en notation complément 2 où on obtient une retenue au neuvième bit. b) Donnez également un exemple de soustraction où on emprunte un neuvième bit, toujours sur 8 bits en notation complément 2. a) Lorsque vous additionnez deux chiffres négatifs, il y a toujours une retenue sur le neuvième bit. Il y a aussi une retenue sur le neuvième bit lorsque vous additionnez un chiffre positif avec un chiffre négatif et que le résultat de l’addition est nul ou positif. b) Il y a toujours un emprunt sur le neuvième bit lorsqu’on soustrait un nombre négatif à un nombre positif. Lorsque vous soustrayez deux chiffres positifs et que le résultat est négatif, il y a aussi un emprunt sur le neuvième bit. Finalement, il y a un emprunt sur le neuvième bit si on soustrait deux nombres négatifs et que le résultat de la soustraction est négatif. Q1.13 : Si un microprocesseur moderne a N transistors par cm2 et si la loi de Moore est respectée pour les 25 prochaines années, combien de transistors par cm2auront les microprocesseurs dans 25 ans? Si on assume que le nombre de transistor double à tous les deux ans, alors la réponse sera : N 25 ans N * 2 25 2 Q1.14 : Le premier microprocesseur en circuit intégré avec transistors MOS est-il apparu avant ou après le premier pas de l’homme sur la lune, c’est-à-dire avant le 21 juillet 1969? Le premier microprocesseur avec transistors (le 4004 d’Intel) est apparu en 1971… Q1.15 : Vous retrouvez, en mémoire, la séquence de nombres suivante : 0x41, 0x4C, 0x4C, 0x4F. Sachant que cette séquence représente un mot codé en ASCII, quel est ce mot? ALLO Cours 2 : Structure générale d’un ordinateur Q2.1 : Qui contrôle le bus d’adresse? Le bus de données? Le bus de contrôle? Bus d’adresse: CPU ou contrôleur de DMA avec l’aval du CPU Bus de données: La personne désignée par le bus d’adresse et le bus de contrôle. Bus de contrôle: CPU ou contrôleur de DMA avec l’aval du CPU Q2.2 : Quand le microprocesseur de votre ordinateur ira-t-il lire une instruction de la mémoire? Quand le microprocesseur de votre ordinateur ira-t-il lire ou écrire une donnée de la mémoire? Le microprocesseur lira des instructions de la mémoire dès le démarrage de l’ordinateur. Il lira ensuite les instructions une après l’autre à moins de rencontrer une instruction qui lui dise de faire autrement. Le microprocesseur lira ou écrira une donnée de la mémoire s’il rencontre une instruction lui demandant de le faire. Q2.3 : Si un bus d’adresse a 5 lignes, un bus de donnée à 8 lignes et un bus de contrôle a deux lignes (lecture et écriture), combien de bits peuvent être adressés et lus/écris par ces bus? 2^5 adresses * 8 bits/adresse = 2^8 = 256 Q2.4 : Quelle est la séquence d’opération effectuée par le CPU pour… … lire une donnée en mémoire? … lire une instruction en mémoire? … écrire une donnée en mémoire? Lire une donnée ou une instruction : - Changer les lignes d’adresse - Activer le signal de lecture de la mémoire - Lire les données sur le bus de données Écrire une donnée ou une instruction : - Changer les lignes d’adresse - Mettre des données sur le bus de données - Activer le signal d’écriture de la mémoire Q2.5 : Qu’est-ce qu’un ALU et quel est sont rôle? ALU = Arithmetical and Logical Unit. L’ALU est la partie du CPU qui exécute les opérations mathématiques. Q2.6 : Qu’est-ce qu’un registre? Une variable du CPU à accès très rapide et étroitement reliée au fonctionnement de ce dernier. Q2.7 : Supposons le système suivant : E ADR A4 A3 A2-A0 3 CPU 007 006 005 004 003 002 001 000 Mémoire 1 X X X JMP adr (8) adr (17) = R1 R1 = R1+ R2 R2 = 3 R1 = adr (16) Data D7-D0 R W E ADR Mémoire 2 007 006 005 004 003 002 001 000 X X X X X X Y 5 Data R W 8 Read memory Write memory Dans ce système, un bus d’adresse de 5 lignes permet d’accéder à 32 adresses différentes. Les adresses 8 à 15 accèdent à la mémoire 1, car A3 active cette dernière. Les adresses 16 à 23 accèdent à la mémoire 2, car A4 active cette dernière. Les mémoires, le CPU et le bus de donnée ont 8 bits. Par ailleurs, il existe deux lignes formant le bus de contrôle : Read memory et Write memory. Ces lignes permettent de lire ou écrire en mémoire. Le CPU possède au moins les registres R1, R2, IR, PC et MAR. Les registres R1 et R2 sont équivalents à des variables 8 bits utilisées pour différentes opérations arithmétiques, logiques ou autres. Le registre IR contient l’instruction en cours d’exécution. Le registre PC détermine quelle sera la prochaine instruction exécutée par le CPU. Il est incrémenté automatiquement à la fin d’une instruction, sauf pour l’instruction JMP. Finalement, le registre MAR fixe la valeur des lignes d’adresse du CPU. Si ce registre contient 5 par exemple, A0 et A2 seront à « 1 » et A1, A3 et A4 seront à « 0 ». Le CPU est capable d’exécuter plusieurs instructions : il peut mettre le contenu d’une case mémoire dans un registre et vice versa, il additionner des registres, il peut mettre des constantes dans un registre, il peut effectuer des sauts inconditionnels (l’instruction JMP change la valeur du PC, i.e. JMP 12 équivaut à PC = 12!), il peut… Sachant que la valeur initiale de PC est 8 et que le CPU exécute une instruction par coup d’horloge, décrivez ce que fera cet ordinateur dans les prochains coups d’horloge. Dites quelles seront les valeurs des bus (contrôle, données, adresse), des registres et des cases mémoire. Fetch instruction 1 : PC vaut 8. Le MAR est mis à 8. La ligne Read Memory est activée (pour aller chercher une instruction!). L’instruction « R1 = adr (16) » apparaît sur le bus de données et elle est mise dans IR. Le CPU exécute l’instruction 1 : Le MAR est mis à 16. La ligne Read Memory est activée (pour aller chercher une donnée!). 5 apparaît sur le bus de données. 5 est mis dans R1. PC est incrémenté, il vaut 9 maintenant. Fetch instruction 2 : PC vaut 9 -> Le MAR est mis à 9 -> La ligne Read Memory est activée (pour aller chercher une instruction!) -> L’instruction « R2 = 3» apparaît sur le bus de données et elle est mise dans IR. Le CPU exécute l’instruction 1 : Le registre R2 est mis à jour. PC est incrémenté, il vaut 10 maintenant. Fetch instruction 3 : PC vaut 10. Le MAR est mis à 10. La ligne Read Memory est activée (pour aller chercher une instruction!). L’instruction « R1 = R1+R2» apparaît sur le bus de données et elle est mise dans IR. Le CPU exécute l’instruction 3 : Le registre R1 est mis à jour (R1 = 5 + 3 = 8). PC est incrémenté, il vaut 11 maintenant. Fetch instruction 4 : PC vaut 11. Le MAR est mis à 11. La ligne Read Memory est activée (pour aller chercher une instruction!). L’instruction « adr(17) = R1» apparaît sur le bus de données et elle est mise dans IR. Le CPU exécute l’instruction 4 : Le MAR est à 17. R1 est mis sur le bus de données. La ligne Write Memory est activée. L’adresse 001 dans la Mémoire 2 (le Y) vaut maintenant 8. PC est incrémenté, il vaut 12 maintenant. Fetch instruction 5 : PC vaut 11. Le MAR est mis à 11. La ligne Read Memory est activée (pour aller chercher une instruction!). L’instruction « adr(17) = R1» apparaît sur le bus de données et elle est mise dans IR. Le CPU exécute l’instruction 5: Le MAR est à 17. R1 est mis sur le bus de données. La ligne Write Memory est activée. L’adresse 001 dans la Mémoire 2 (le Y) vaut maintenant 8. PC est incrémenté, il vaut 12 maintenant. Fetch instruction 6 : PC vaut 12. Le MAR est mis à 12. La ligne Read Memory est activée (pour aller chercher une instruction!). L’instruction « JMP adr(8(» apparaît sur le bus de données et elle est mise dans IR. Le CPU exécute l’instruction 6 : PC vaut 8 maintenant. Puisque PC vaut 8, on retourne à Fetch instruction 1 : et on boucle jusqu’à la fin des temps, jusqu’à un bris matériel, ou plus probablement, jusqu’à ce que l’alimentation soit éteinte. Q2.8 : Pourquoi un port de sortie utilise-t-il des flip-flops? Cette question et la question suivante ont la même réponse : Il faut que les données passent du bus de données à une mémoire (ou une entrée/sortie avec un port) ou vice versa seulement lorsqu'on le désire (lorsque les lignes d'adresse ont une certaine valeur!). Sinon, il y a des collisions sur le bus de données ou la valeur de la mémoire change dès que le bus de donnée change. Q2.9 : Pourquoi un port d'entrée utilise-t-il des buffers Tri-state? Voir la question précédente. Q2.10 : Soit une instruction de langage machine qui permet de transférer (écrire) la valeur $E7 dans le port $148. Au moment où cette instruction est exécutée, indiquez la valeur binaire présente sur le bus d'adresse, sur le bus de données et indiquez le signal de contrôle actionné sur le bus de contrôle. Adresse : 148h Donnée : E7h Contrôle : Write IO Q2.11 : Un circuit de mémoire comporte des broches A0 à A11, des broches D0 à D3, CE, WE, RE, CAS et RAS. Combien de bits de mémoire peut-on lire avec ce circuit? a) 2k f) 2M b) 8k g) 4M c) 16k h) 8M d) 64k i) aucune de ces réponses e) 1M c) Il y a 12 lignes d’adresses et 4 broches de données, donc 4k*4bits. Le reste des infos ne sert à rien. Q2. 12 : Combien de lignes d’adresses sont nécessaires, au minimum pour adresser 2 mémoires RAMs de 8 adresse*1bytes et une mémoire ROM de 16 adresses *1 bytes? Assumons que chacune de ces mémoires peut être mise en état de haute impédance avec une broche/pin active HAUT/HIGH et nommée ENABLE. Dessinez un décodeur d’adresse à l’aide de porte ET/AND et d’inverseur (NOT) qui permette d’activer une seule de ces mémoire à la fois. La mémoire RAM doit être activée par les adresses les plus basses. Il faut 5 lignes d’adresses (8+8+16) = 32 = 2^5. E A3 A2 A1 A0 ROM A4 A3 E A2 A1 A0 A2 A1 A0 RAM 2 E A2 A1 A0 RAM 1 Bus de données Q2.13 : Dessinez un circuit logique qui permet d’additionner deux variables de 2 bits. Var 1 Bit 0x02 V1B2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Bit 0x01 V1B1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Table de vérité Var 2 Bit 0x02 Bit 0x01 V2B2 V1B1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 Bit 0x04 RB4 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 Résultat Bit 0x02 RB2 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 1 Bit 0x01 RB1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 RB4 = (V1B2 & V2B2) | ((V1B2 | V2B2) & V1B1 & V1B2) RB2 = V2B2 XOR V1B2 XOR (V2B1 & V1B1) RB1 = V2B1 XOR V1B1 Q2.14 : Quelle est la principale différence entre l’architecture Harvard et l’architecture Von Neumann? Il y a un bus pour lire les données et les instructions dans l’architecture Von Neumann alors qu’il y a deux bus dans l’architecture Harvard, un pour les données et l’autre pour les instructions. Q2.15 : À quoi sert le décodeur d’adresse sur le bus d’un système ordinateur? Le bus d’adresse sert à déterminer la mémoire ou le périphérique qui sera activé en fonction de l’adresse choisie. Cours 3 : Structure générale d’un ordinateur Q3.1 : Pourquoi utilise-t-on des caches? Pour accélérer l’accès aux données. Q3.2 : Quels sont les quatre caractéristiques principales d’un bus Note : Le mot bus désigne ici un ensemble de lignes comprenant les données, les adresses et le contrôle. Par exemple, le bus PCI, le bus interne, le bus ISA, etc. -> Nombre de lignes de données, vitesse, type de connecteur et nombre de lignes d’adresse Q3.3 : Combien d’accès à la mémoire sont nécessaires pour lire et exécuter une instruction? Le nombre d’accès pour lire et exécuter une instruction est la somme du nombre d’accès pour lire l’instruction et du nombre d’accès pour l’exécuter : # d’accès pour lire une instruction = # d’octets de l’instruction / (# d’octets lus / accès) # d’accès pour exécuter une instruction = Dépend de l’instruction : - Les instructions de lecture/écriture de la mémoire (ex. : LOAD, STORE) feront un nombre d’accès dépendant de la taille des données à lire et du nombre de données lues par accès. - Les instructions affectant les registres seulement (ex. : ADD R1, R2, R3) ne feront pas d’accès mémoire lors de leur exécution. - Les instructions de branchement/saut ne devraient pas faire d’accès à la mémoire (elles changent PC seulement) - Les instructions manipulant la pile feront habituellement 1 accès à la mémoire lors de leur exécution. - Etc. Q3.4 : Quand la mémoire prendra-t-elle le contrôle du bus de donnée? En d’autres mots, quand imposera-t-elle une tension sur les broches du bus? La mémoire mettra des mots sur le bus de données lorsque les signaux de contrôle, gérés par le microprocesseur, lui demanderont de le faire : - Il faut activer la mémoire. Souvent, la mémoire est activée en fonction de l’adresse et du décodeur d’adresse. - Il faut choisir l’adresse de mémoire qui sera lue. - Il faut activer la broche de lecture de la mémoire. Q3.5 : Qu’est-ce qu’une collision? Quel(s) mécanisme(s) permettent d’éviter les collisions sur les bus de données de votre ordinateur? Une collision survient quand deux circuits électroniques connectés sur un fil ou un bus imposent simultanément des tensions différentes sur ce fil ou sur ce bus. Pour éviter les collisions, il y a toujours un contrôleur de bus qui détermine qui mettra des données sur le bus en fonction de lignes de contrôle ou du décodeur d’adresses. Q3.6 : Quel est l’intérêt du DMA? Comment se déroule un transfert par DMA? Le DMA permet de transférer des données d’un périphérique à la mémoire sans passer par le CPU. Du temps est ainsi économisé. Pour qu’un tel transfert de données se fasse, il faut que le contrôler de DMA demande le contrôle du bus externe au CPU. Lorsqu’il l’obtient, il gère les adresses et les lignes de contrôle à la place de ce dernier. Q3.7 : Associez, à l’aide de flèches, les éléments de la colonne de gauche à 2 caractéristiques de la colonne de droite. Il doit y avoir 2 flèches par élément de la colonne de gauche, mais ceux de la colonne de droite peuvent servir plusieurs fois, ou ne pas servir du tout. A) PROM 1- Nécessite un rafraîchissement B) SRAM 2- Ne se programme qu’une seule fois C) DRAM 3- Peut s’effacer avec une lampe ultra-violet D) EEPROM 4- S’efface électriquement avec une tension différente de celle de l’alimentation. 5- Perd son contenu lorsqu’il n’est plus alimenté 6- Garde son contenu même lorsqu’il n’est plus alimenté 7- Est utilisé pour la mémoire cache A – 2, 6 B – 5, 7 C- 1, 5 D- 4, 6 Q3.8 : Qui peut contrôler le bus d’adresse ? (2 réponses) Le contrôleur d’interruption Le contrôleur de DMA Le BIOS La mémoire Les entrées-sorties La carte vidéo Le microprocesseur Ça dépend du fuseau horaire Le contrôleur DMA et le microprocesseur Q3.9 : Associez les items de gauche aux définitions de droite (1 à 1) Le chipset Appelé par le CPU, il sert à effectuer un transfert rapide de données entre un périphérique et la mémoire Le contrôleur d’interruption Composé des contrôleurs de DMA, d’interruptions, de bus d’extension, etc. Le contrôleur de DMA Suspend le déroulement d’un programme pour traiter une information en priorité CPU Présente en petite quantité, elle permet d'accélérer l'exécution des programmes Mémoire cache Exécute les instructions des programmes et fait les calculs Chipset = Composé des… Contrôleur d’interruption = Suspend le… Contrôleur de DMA = Appelé par le CPU CPU : Exécute… Mémoire cache = Présente en… Q3.10 : Pourquoi dit-on que la mémoire vive de votre ordinateur peut être vue comme une cache du disque dur ? Comme les caches, la mémoire contient un sous-ensemble des instructions et des données des programmes exécutés. Comme pour les caches, il s’agit des données et des instructions qui sont les plus susceptibles d’être réexécutées en vertue du principe de localité. Q3.11 : De quel type de mémoire est habituellement constituée la cache L1 ? La mémoire vive ? Un disque dur ? Cache L1 : SRAM Mémoire vive : DRAM, DDR, DDR2, DDR3, DDRx Disque dur : bande magnétique Q3.12 : Le microprocesseur contient-il des séquences d’instructions préétablies pour accéder aux entrées/sorties? Non. Toutes les instructions sont contenues dans la mémoire avant d’être exécutées. Q3.13 : Comment sont identifiés les périphériques dans les instructions qu’exécute le microprocesseur? Chaque périphérique est identifié par une plage d’adresses, comme chaque mémoire. Un microprocesseur ne sait pas ce que c’est qu’un périphérique. Il ne fait que lire et exécuter des instructions qui lui disent avec quelle adresse/périphérique communiquer des informations. Q3.14 : Que fait généralement le microprocesseur lorsque sa ligne d’interruption est activée suite à un évènement provenant du périphérique X? Le microprocesseur interrompt la séquence d’instruction courante. Il exécutera ensuite une autre séquence d’instructions de la mémoire pour traiter l’interruption, puis il reviendra poursuivre l’exécution de la séquence d’instruction courante. Q3.15 : Pourquoi une mémoire non-volatile n’est jamais dynamique? Par définition, une mémoire non-volatile ne s’efface pas lorsqu’elle n’est plus alimentée et une mémoire dynamique est une mémoire qui s’efface à moins d’être rafraichie. Or, une mémoire qui n’est plus alimentée ne peut pas être rafraichie… Q3.16 : Quel est le rôle de la mémoire virtuelle? Gérer plusieurs programmes en mémoire. Cours 4 : Introduction aux circuits logiques Q4.1 : Démontrez les égalités suivantes : - X ET 0 = 0 - X ET 1 = X - X OU 0 = X - X OU 1 = 1 0 ET 0 = 0; 1 ET 0 = 0, donc X ET 0 = 0 0 ET 1 = 0; 1 ET 1 = 1, donc X ET 1 = X 0 OU 0 = 0; 1 OU 0 = 1, donc X OU 0 = X 0 OU 1 = 1; 1 OU 1 = 1, donc X OU 1 = 1 Q4.2 : Remplacez le circuit logique suivant par une porte logique unique (une porte ET par exemple). A C B Selon la loi de De Morgan, ce circuit est équivalent à une porte NOR. Q4.3 : Sachant que le SET et le RESET de la bascule NAND-SR illustrée dans les notes de cours sont actifs lorsqu’ils valent 0, donnez la table de vérité de la NAND-SR (similaire celle de la bascule SR-NOR dans les notes de cours). SET 0 0 1 1 RESET 0 1 0 1 SORTIE Pas permis!!! 1 0 Ne change pas Q4.4 : Si on constitue un registre avec 8 bascules D, quel signal de la bascule D est commun à toutes les bascules D du registre? L’alimentation, le ground et le signal d’horloge seront communs.