Architecture des ordinateurs première partie des annales

Documents pareils
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Représentation des Nombres

Conversion d un entier. Méthode par soustraction

Codage d information. Codage d information : -Définition-

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Logiciel de Base. I. Représentation des nombres

Les opérations binaires

IFT1215 Introduction aux systèmes informatiques

Système binaire. Algèbre booléenne

ASR1 TD7 : Un microprocesseur RISC 16 bits

Informatique Générale

Licence Sciences et Technologies Examen janvier 2010

IFT2880 Organisation des ordinateurs et systèmes

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Algèbre binaire et Circuits logiques ( )

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

V- Manipulations de nombres en binaire

Concevoir son microprocesseur

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Architecture de l ordinateur

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Algorithme. Table des matières

Cours Informatique 1. Monsieur SADOUNI Salheddine

2.4 Représentation graphique, tableau de Karnaugh

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Représentation d un entier en base b

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Les fonctions logiques

VIII- Circuits séquentiels. Mémoires

Organisation des Ordinateurs

IV- Comment fonctionne un ordinateur?

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

I- Définitions des signaux.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

MPI Activité.10 : Logique binaire Portes logiques

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Fonctions homographiques

Mathématiques appliquées à l informatique

Quelques algorithmes simples dont l analyse n est pas si simple

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

RESUME DE COURS ET CAHIER D'EXERCICES

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Programmation linéaire

CHAPITRE VI ALEAS. 6.1.Généralités.

Représentation d un nombre en machine, erreurs d arrondis

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Précision d un résultat et calculs d incertitudes

TD : Codage des images

Chapitre 10 Arithmétique réelle

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours Premier semestre

- Instrumentation numérique -

EXCEL TUTORIEL 2012/2013

Puissances d un nombre relatif

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Microprocesseur + Logiciel


Texte Agrégation limitée par diffusion interne

Théorie et codage de l information

Chapitre 1 : Évolution COURS

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

III- Raisonnement par récurrence

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Logique séquentielle

Chapitre 2. Eléments pour comprendre un énoncé

Manuel de référence du langage Exemples Les aventures de Docteur R.

TD Architecture des ordinateurs. Jean-Luc Dekeyser

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Cours d Informatique

Continuité et dérivabilité d une fonction

Modules d automatismes simples

Introduction à l étude des Corps Finis

Partie 7 : Gestion de la mémoire

avec des nombres entiers

TD1 PROPAGATION DANS UN MILIEU PRESENTANT UN GRADIENT D'INDICE

GPA770 Microélectronique appliquée Exercices série A

Chap17 - CORRECTİON DES EXERCİCES

La médiatrice d un segment

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Dossier Logique câblée pneumatique

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

1 Introduction au codage

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Transcription:

rchitecture des ordinateurs première partie des annales rnaud Giersch, enoît Meister et Frédéric Vivien TD : rithmétique des ordinateurs et codage. Donner la valeur décimale des entiers suivants, la base dans laquelle ces entiers sont codés étant précisée. (a) et en binaire (base 2) ; 2 = 9, 2 = 42. (b) E et C4F3 en hexadécimal (base 6) ; E 6 = 4 46, C4F3 6 = 5 49. (c) 772 et 3337 en octal (base 8). 772 8 = 32 392, 3337 8 = 3 23. 2. Coder l entier 2 397 successivement en base 2, 8 et 6. 2 397 = 2 = 4535 8 = 95D 6. 3. Donner la valeur décimale du nombre, dans le cas où il est codé en base 2, 8 ou 6. 2 = 2, 8 = 4 6, 6 = 65 793. Même question avec le nombre 6535 codé en base 8 ou 6. 6535 8 = 3 42, 6535 6 = 25 99. 4. Combien d entiers positifs peut-on coder en binaire sur un octet? Un octet contient 8 bits, on peut donc coder 2 8 = 256 entiers. Combien de bits faut-il pour représenter 65 563 entiers différents en binaire? vec b bits, on peut coder 2 b entiers différents. Pour coder n entiers, il nous faut donc m bits tels que 2 m < n 2 m, c.-à-d. m < log 2 n m. On a donc m = log 2 n. Pour n = 65 563, on a m = log 2 65 563 = 7. 5. Soit un ordinateur dont les mots mémoire sont composés de 32 bits. Cet ordinateur dispose de 4 Mo de mémoire. Un entier étant codé sur un mot, combien de mots cet ordinateur peut-il mémoriser simultanément? 4 Mo = 4 2 2 octets, un mot est composé de 4 octets. Cet ordinateur peut donc mémoriser 4 22 4 = 2 2 = 48 576 mots Quelle est la plus grande valeur entière (décimale) que cet ordinateur peut mémoriser, cette valeur étant représentée par son codage binaire pur? Donner un ordre de grandeur du nombre de chiffres en codage décimal. La mémoire contient 4 2 2 octets, c.-à-d. 4 2 2 8 = 33 554 432 bits. La plus grande valeur entière que cet ordinateur peut mémoriser est donc 2 33 554 432. ( ) Le nombre de chiffres en décimal est de log 2 32 22 2 2 log 2 32 6 3,2 log 2 7. Le nombre exact de chiffres en décimal est 89.

6. Coder en binaire sur un octet les entiers 5 et 2 puis effectuer l addition binaire des entiers ainsi codés. Vérifier que le résultat sur un octet est correct. Même question avec les entiers 84 et 72. (5) + (2) (26) Ce résultat est correct. (84) + (72) () () Ce résultat n est pas correct (sur 8 bits). 7. Coder en binaire sur un octet les entiers 79 et 52 puis effectuer la multiplication binaire des entiers ainsi codés. Même question avec les entiers 35 et 46. (79) (52) + (48) (35) (46) + (6 2) 8. Indiquer la valeur codée par le mot de 6 bits suivant qu il représente un entier non signé, ou un entier signé. En non signé, la valeur est 2 = 55 669. En signé, le premier bit (bit de signe) vaut, c est donc un nombre négatif dont la valeur est 2 = 22 9. Même question avec le mot. En non signé, la valeur est 2 = 37. En signé, c est un nombre négatif dont la valeur est 2 = 4 333. 2 TD 2 : rithmétique des ordinateurs (suite). Indiquer la valeur codée par la suite qui représente un entier signé en complément à 2 sur 6 bits. C est un nombre négatif. Complément à 2 : donc 9867. Même question avec la suite. C est un nombre négatif. Complément à 2 : donc 28435. 2. Représentation binaire des entiers négatifs (a) Coder sur 4 bits les entiers 7, 2,, 2, 7 et 8 avec les représentations suivantes : signe et valeur absolue ;,, ou,,, n/a complément à ;,, ou,,, n/a complément à 2.,,,,, (b) Coder les entiers 6 et 6 sur un octet en utilisant la représentation par le signe et la valeur absolue. Montrer que l addition binaire de ces entiers ainsi codés produit un résultat incorrect. Montrer qu en revanche le résultat est correct si ces entiers sont codés en utilisant la représentation par le complément à 2. 2

Signe et valeur absolue : Complément à deux : + (6) ( 6) ( 22) + (6) ( 6) () 3. Effectuer en binaire (8 bits) les opérations 2, 5+27, 3 27, 27+27, 63 63. Préciser, pour chaque opération, la retenue et le débordement. On code les nombres négatifs en complément à 2. Débordement : L addition de deux nombres de signes différents ne produit jamais de débordement (la valeur absolue du résultat est toujours inférieure au maximum des valeurs absolues des deux opérandes). L addition de deux nombres de même signe produit un débordement si le signe du résultat est différent du signe des deux opérandes. () + ( 2) ( ) (5) + (27) ( 78) ( 3) + ( 27) (26) retenue :, débordement : retenue :, débordement : retenue :, débordement : 4. Représentation des réels ( 27) + (27) () ( 63) + ( 63) ( 26) retenue :, débordement : retenue :, débordement : (a) En virgule fixe, décoder le nombre binaire. puis coder en binaire le réel.625.. 2 = [ 2 + 2 + 2 + 2 2 + 2 3] = [2 + +.25 +.25] = 3.375.625 = [8 + 2 + +.5 +.25] = [ 2 3 + 2 + 2 + 2 + 2 3] =. 2 (b) En virgule flottante normalisée, coder en binaire au format simple précision le réel 2.575 puis effectuer le codage inverse. 2.575 =... 2 = [... ] 2 bit de signe = nombre positif. exposant biaisé = 2 = 3 exposant : = 2 = 4 la mantisse est normalisée :. [. ] 2 =. 2 = [ 2 3 + 2 2 + 2 + 2 4 + 2 7 + 2 8 + 2 +2 2 + 2 5 + 2 6 + 2 9] = 2.5749988555982325 3

5. Opérations en virgule flottante. Soit a = [. ] 2 et b = [. ]. Calculer a + b et a b. 2 vant de faire l addition, il faut que les deux exposants soient égaux (a =, b =. ). Pour faire la multiplication, on multiplie les mantisses puis on additionne les exposants. Dans les deux cas, le résultat doit ensuite être normalisé.. +.. =... +. =. 3 TD 3 : lgèbre de oole. Montrer comment l opérateur et peut être obtenu à partir des opérateurs ou et non. De même pour l opérateur ou avec les opérateurs et et non. non(a ou b) = (non a) et (non b) non((non a) ou (non b)) = a et b non(a et b) = (non a) ou (non b) non((non a) et (non b)) = a ou b 2. On note respectivement les opérateurs ou, et, xor et non par +,, et. Montrer à l aide de tables de vérité que = + et que = ( + ) ( + ) Tables de vérités : + + + ( + ) ( + ) 3. Montrer que + ( ) = + et que ( + ) = On utilise la distributivité de l opérateur ou sur l opérateur et, et inversement : 4. Déterminer le complément de l expression + C + ( ) = ( + ).( + ) =.( + ) = + ( + ) = ( ) + ( ) = + ( ) = On utilise les lois de de Morgan ; l opérateur et est prioritaire : + C = C = ( +C) = + C 5. Montrer que les deux règles d associativité sont duales, i.e. montrer qu à partir de la règle d associativité de l opérateur ou, on peut déduire, en utilisant les lois de de Morgan, l associativité de l opérateur et (et inversement). 4

+ ( +C) = ( + ) +C + ( +C) = ( + ) +C ( C) = ( ) C,, et C sont des variables muettes. Par changement de variable {( ),( ),(C )C } on obtient la propriété d associativité du ou : ( C ) = ( ) C 6. Écrire l expression uniquement avec les opérateurs ou, et et non D après 2. : = + = + = ( + ) ( + ) 7. Montrer que la fonction nor forme un groupe logique complet. Pour cela, on montre que la fonction nor permet d exprimer tous les opérateurs logiques : non : nor(,) = et : nor(nor(,),nor(,)) = nor(,) = + = ou : nor(nor(,),nor(,)) = nor(,) = ( + ) = ( + ). 8. Simplifier au maximum les expressions logiques suivantes. (a) + (b) ( + ) ( + ) (c) + (d) ( + ) (e) + + +C + D donc, d après l exercice 8d, (f) + C + ( C) ( D + ) d après l exercice 3, + = ( + ) = = ( + ) ( + ) = + = + = + = + = ( + ) = = ( + ) = ( + ) ( + ) = + = + = + + +C + D = ( + ) ( + +C + D) = ( + ) (( + ) + (C + D)) = + + C + ( C) ( D + ) = ( + C) + ( + C) ( D + ) + C + ( C) ( D + ) = ( + C) + ( D + ) = ( + D) + ( + C) d après l exercice 8c, + C + ( C) ( D + ) = + 5

(g) ( ) + d après l exercice 2, ( ) + = ( + ) + = + + = + d après l exercice 8a, = (h) + + d après l excercice 3, + + = ( + ) + + + = ( + ) + ( + ) = 9. Démontrer que toute fonction à trois variables F(,,C) est égale à F(,,C) = F(,,C) + F(,,C) est une variable booléenne : les deux valeurs qu elle peut prendre sont et : si =, F(,,C) + F(,,C) = F(,,C) = F(,,C) ; si =, F(,,C) + F(,,C) = F(,,C) = F(,,C).. Montrer que les lois de de Morgan s étendent à un nombre quelconque de variables. (a) 2 n = + 2 + + n avec n 2. La démonstration se fait par récurrence sur n (le nombre de variables). n = 2 c est la loi de de Morgan «basique» ; n > 2 on utilise l associativité de + et : 2 n = ( 2 n ) n = ( 2 n ) + n = ( + 2 + + n ) + n = + 2 + + n + n (b) + 2 + + n = 2 n avec n 2. Le raisonnement est similaire.. Génération et simplification d expressions logiques Considérer la fonction définie par la table de vérité ci-dessous : C F(,,C) 6

(a) Générer une expression logique correspondante : i. sous forme de sommes de produits ; ii. sous forme de produits de sommes. C + C + C + C + C C + C + C = ( + +C) ( + +C) ( + +C) (b) Simplifier les deux expressions en utilisant les règles de l algèbre de oole. i. ii. C + C + C + C + C = C + ( + ) C + (C +C) = C + C + = ( + C) + C = ( +C) + C = + C + C = + ( C) ( + +C) ( + +C) ( + +C) = ( + + C + + + C +C +C +C C) ( + +C) = ( + + C + + C + C + C) ( + +C) = + + C + + C + C + C + + + C + + C + C + C + C + C + C C + C + C C + C C + C C = C + + C + C + C + C + C = ( ) ( +C +C) + C + ( + ) ( C) = + C + C = + ( C) (c) Construire le diagramme de Karnaugh et déterminer une expression logique associée. Une table de Karnaugh se construit à partir de l expression logique sous forme de somme de produits. Dans la somme de produits utilisée, chaque produit doit contenir toutes les variables de l expression. Par exemple, on mettra une expression dépendant de et sous la forme d une somme de produits de,,,. Pour mettre l expression sous la forme voulue, la formule ( + ) = est très utile. C + C + C + C + C Chaque colonne de la table de Karnaugh doit différer de ses voisines d un et un seul littéral. Nous avons 3 variables et les tables de Karnaugh sont à 2 dimensions : il faut regrouper deux variables. Ici nous choisissons de regrouper et C. On regroupe les en morceaux rectangulaires, selon les principes suivants : faire les plus grands morceaux possibles, 7

faire le moins de morceaux possibles, le nombre de dans un morceau doit être une puissance de 2, ne faire un nouveau morceau que s il permet de regrouper des qui n ont pas encore été regroupés, en se rappelant que la ligne du bas et la ligne du haut sont considérées comme adjacentes, et qu il en est de même pour la colonne la plus à droite et la colonne la plus à gauche. Chaque morceau donne naissance à un produit de variables. Lorsqu une variable et son inverse sont dans le même morceau, cette variable s élimine (parce que ( + ) = ). C + + C 2. Considérer les fonctions logiques suivantes. Pour chacune d elles, construire le diagramme de Karnaugh ; utiliser le diagramme pour simplifier les expressions. (a) F (,,C) = C + C + C La table de Karnaugh est présentée figure. FIG. Table de Karnaugh pour F (,,C). FIG. 2 Table de Karnaugh pour F 2 (,,C). Expression simplifiée : F (,,C) = + C. (b) F 2 (,,C) = C + + C La table de Karnaugh est présentée figure 2. Expression simplifiée : F 2 (,,C) = C + C (c) F 3 (,,C) = + C + C + C F 3 (,,C) = + C + C + C La table de Karnaugh est présentée figure 3. Expression simplifiée : F 3 (,,C) = + C (d) F 4 (,,C,D) = C D + D + C D = C + C + C + C + C + C 8

CD C D C D C D C D FIG. 3 Table de Karnaugh pour F 3 (,,C). FIG. 4 Table de Karnaugh pour F 4 (,,C,D). F 4 (,,C,D) = C D + D + C D La table de Karnaugh est présentée figure 4. Expression simplifiée : F 4 (,,C,D) = D (e) F 5 (,,C,D) = + + C + C D = C D + C D + C D + C D + C D F 5 (,,C,D) = C D + C D + C D + C D + C D La table de Karnaugh est présentée figure 5. Expression simplifiée : F 5 (,,C,D) = + +C + C D + C D + C D + C D + C D + C D + C D + C D + C D + C D CD C D C D C D C D CD C D C D C D C D FIG. 5 Table de Karnaugh pour F 5 (,,C,D). FIG. 6 Table de Karnaugh pour F 6 (,,C,D). (f) F 6 (,,C,D) = D + C D + C D + D + C D + C D F 6 (,,C,D) = C D + C D + C D + C D + C D + C D + C D + C D + C D + C D 9

La table de Karnaugh est présentée figure 6. Expression simplifiée : F 6 (,,C,D) = D + D + D 4 TD 4 : Circuits combinatoires. Exprimer la fonction xor comme un produit de sommes et réaliser le circuit logique correspondant. = ( + ) ( + ) ( + ) ( + ) Même question en exprimant xor comme une somme de produits. = + + + 2. La fonction nand formant un groupe logique complet, réaliser, uniquement avec des portes nand, les circuits logiques not, and, or et xor (les formules sont rappelées ci-dessous). not() = nand(,) and(,) = nand(nand(,),nand(,)) or(,) = nand(nand(,),nand(,)) xor(, ) = nand(nand(nand(, ), ), nand(, nand(, ))) = = + = 3. Réaliser un circuit logique qui implémente la fonction F. F = ( + +C) ( + +C) ( + +C) C F 4. Un générateur de parité impaire est une fonction qui retourne si le nombre de bits à est impair et sinon. Définir cette fonction pour un mot de 4 bits. Donner un circuit logique implémentant cette fonction.

La formule pour le générateur de parité impaire sur 4 bits (P) obtenue directement à partir de la table de vérité est : P = C D + C D + C D + C D + ce qui donnerait un circuit beaucoup trop compliqué! On remarque que pour deux bits, P = : On en déduit les circuits suivants : + C D + C D + C D + C D P C D P ou C D P 5. Rappeler les principes d un demi-additionneur puis d un additionneur complet. Déduire de ces principes un circuit logique qui implémente le complément à 2 sur n bits. Le demi-additionneur possède deux entrées (x et y) et deux sorties (R et S). S correspond au bit de rang zéro du résultat de l addition binaire de x et y, R au bit de rang (retenue). R H y x S x y R S S = x y R = x y Un additionneur complet s obtient en enchaînant des demi-additionneurs de manière à propager correctement la retenue. On obtient selon le même principe le circuit effectuant un complément à deux : E n E 3 E 2 E E H H H H H S n S 3 S 2 S S 6. Réaliser un circuit pour un décrémenteur à n bits. On pourrait imaginer utiliser un soustracteur avec le deuxième opérande égal à pour réaliser un décrémenteur. Or la décrémentation (comme l incrémentation) est une opération fréquente sur certains registres (compteur ordinal, registre d index, registre d adresse,...). Donc pour gagner du temps on souhaite construire un circuit spécialisé. Considérons n... le nombre binaire à décrémenter. ppelons S n...s S le résultat de la décrémentation.

On sait que S est obtenu par soustraction de et propagation de la retenue (R i ). On a donc : S = : S R S = R = et S i = i R i : i R i S i R i S i = i R i R i = i R i D où le circuit : n 3 2 R n R 3 R 2 R R Overflow S n S 3 S 2 S S 7. Le soustracteur (a) Réaliser un demi-soustracteur (table de vérité et circuit). Le demi-soustracteur est défini par la table de vérité suivante (le bit i est retranché au bit i ) : i i D i R i On a donc : D où le circuit logique : D i = i i R i = i i D i contient la différence i i R i contient la retenue éventuelle i i D i = i i R i = i i (b) Réaliser un soustracteur binaire complet (ou étage de soustracteur) selon deux modes : i. avec deux demi-soustracteurs ; 2

Pour obtenir un soustracteur binaire complet il faut prendre en compte l éventuelle retenue précédente R i. La table de vérité est : d où le circuit : R i i i D i R i i i R i HS i i i i HS D i = R i ( i i ) + R i ( i i ) = ( i i ) R i R i = R i i i + R i i i + R i i i + R i i i = i i (R i + R i ) + ( i i + i i ) R i = i i + ( i i ) R i Ce schéma correspond au fait que le soustracteur est réalisé en () retranchant i de i ( er demi-soustracteur) ; (2) puis en retranchant R i i de la différence obtenue. ii. avec un demi-additionneur et un demi-soustracteur. D i = i i R i R i = i i + ( i i ) R i Une autre manière de procéder consiste à : () additionner i et R i avec un demi-additionneur (cette opération peut évidemment engendrer une retenue) ; (2) puis en retrancher le résultat obtenu de i. Cela est obtenu par transformation des fonctions logiques : D i = i ( i R i ) R i = i ( i R i + i R i ) + ( i + i ) i R i = i ( i R i ) + i R i d où le circuit : i i R i H i R i i R i HS i ( i R i ) D i = i i R i R i = i ( i R i ) + i R i (c) Réaliser un soustracteur parallèle pour mots de 8 bits. On utilise 8 soustracteurs complets : 7 7 6 6 5 5 4 4 3 3 2 2 R 7 FS R 6 FS R 5 FS R 4 FS R 3 FS R 2 FS R FS R FS Overflow D 7 D 6 D 5 D 4 D 3 D 2 D D 8. Le (dé)multiplexeur Un multiplexeur est un circuit logique qui dispose de 2 n entrées, d une unique sortie et de n lignes de sélection. Son principe de fonctionnement consiste à connecter, selon la configuration binaire présente sur les n lignes de sélection, l une des entrées à la sortie. Les n lignes de sélection différencient 2 n configurations binaires, chacune de ces configurations correspondant à l entrée du multiplexeur qui doit être connectée à la sortie. Un démultiplexeur, pour sa part, est un circuit logique qui dispose d une unique entrée, de 2 n sorties et de n lignes de sélection. Son principe de fonctionnement, à l inverse de celui du multiplexeur, consiste à connecter, selon la configuration binaire présente sur les lignes de sélection, l entrée à l une des sorties. 3

(a) Réaliser un multiplexeur à quatre voies (c est-à-dire un multiplexeur à quatre entrées). Soit S,S les lignes de sélection, I,...,I 4 les entrées et O la sortie (cf. fig. 7). (b) Réaliser un démultiplexeur à quatre voies (c est-à-dire un démultiplexeur à quatre sorties). Soit S,S les lignes de sélection, I l entrée et O,...,O 3 les sorties (cf. fig. 8). I I I 2 O O O O 2 O 3 I 3 S S I S S FIG. 7 Multiplexeur à 4 voies. FIG. 8 Démultiplexeur à 4 voies. 9. Les hasards logiques Le temps de passage d une porte logique est la durée entre l instant où les signaux sont appliqués à l entrée et celui où leur effet se répercute en sortie. Jusqu à présent, ce temps de passage a été ignoré dans un souci de simplification. Toutefois, le temps de passage d une porte logique n est jamais nul (de l ordre de 5 à 25 ns). Si un étage logique est construit à l aide de portes logiques (c est-à-dire si la sortie d une porte logique attaque l une des entrées de la porte logique suivante) alors le temps de passage de l étage est au moins égal à la somme des temps de passage des portes logiques qui le composent : dans ce cas, les temps de passage s ajoutent. Il en résulte qu un changement des données en entrée d un montage, non seulement mettra un certain temps à se répercuter en sortie, mais pourra en plus provoquer des changements d état (impulsions) non souhaités à la sortie. De telles impulsions parasites sont appelées hasards logiques. (a) Mise en évidence d un hasard logique. i. Exprimer la valeur de la sortie S du circuit ci-dessous en fonction de son entrée E. E S S 2 S S = E S 2 = E E = S = S 2 = = ii. Compléter le chronogramme suivant de ce circuit (on considère que toutes les portes logiques mises en jeu ont un même temps de passage t). 4

Entrée E Sortie S Sortie S 2 Sortie S t Entrée E Sortie S Sortie S 2 Sortie S t Ce circuit se comporte comme un détecteur de transitions. Il peut être simplifié en remplaçant le nand et le deuxième not par un and, car not(nand(a,b)) = and(a,b). (b) Exemples de mise à profit des hasards logiques : détecteur de transitions. i. Exprimer la valeur de la sortie S du circuit ci-dessous en fonction de son entrée E. E S S S = E = E S = E E = (c est la fonction identité, mais avec un délai) La sortie de ce circuit devrait donc toujours valoir. Mais le retard introduit par le premier xor implique que tout changement d un état de E entraîne une impulsion positive de S comme le montre le chronogramme ci-dessous. ii. Compléter le chronogramme suivant de ce circuit (on considère que toutes les portes logiques mises en jeu ont un même temps de passage t). Entrée E Sortie S Sortie S t Entrée E Sortie S Sortie S t iii. Réaliser un détecteur de transitions pour lequel la durée des impulsions en S est de 3 t. 5

Il suffit d avoir un délai de 3 t entre les deux entrées du xor. Ce délai peut être obtenu en ajoutant au circuit précédent deux portes xor, ou à l aide d un autre circuit réalisant l identité avec un délai de 3 t, comme par exemple un xor et deux not. 4 S 4 S E 2 3 E 2 (c) Réaliser un détecteur de front montant, c est-à-dire un détecteur de transitions qui ne répond que lorsque le signal d entrée passe d un niveau bas à un niveau haut. On se base toujours sur un délai entre deux entrées d une porte logique. Les portes logiques choisies filtrent ensuite les cas souhaités. Ici, on utilise une porte not et and. Entrée E 3 E S 2 S Sortie S Sortie S t (d) Réaliser un détecteur de front descendant, c est-à-dire un détecteur de transitions qui ne répond que lorsque le signal d entrée passe d un niveau haut à un niveau bas. Ici on utilise une porte logique not et nor. Entrée E E S S Sortie S Sortie S t 6