Docsity
Docsity

Prépare tes examens
Prépare tes examens

Étudies grâce aux nombreuses ressources disponibles sur Docsity


Obtiens des points à télécharger
Obtiens des points à télécharger

Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium


Guides et conseils
Guides et conseils


Cours d'électronique numérique, Notes de Informatique

la logique mixte compléter la simplification des fonctions logiques méthode de Quine/McCluskey diagrammes de Venn, Johnston et Caroll.

Typologie: Notes

2021/2022

Téléchargé le 26/04/2022

Morgad
Morgad 🇫🇷

4.5

(59)

390 documents

1 / 141

Toggle sidebar

Cette page n'est pas visible dans l'aperçu

Ne manques pas les parties importantes!

bg1
Cours d’électronique
numérique
Maryam Siadat & Camille Diou
Version du 2 novembre 2004
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Aperçu partiel du texte

Télécharge Cours d'électronique numérique et plus Notes au format PDF de Informatique sur Docsity uniquement!

Cours d’électronique

numérique

Maryam Siadat & Camille Diou

Version du 2 novembre 2004

Chapitre : Notes sur cet ouvrage

Ce document a été réalisé à l’aide des logiciels TEX et LATEX sous les environ-

nements TEXLive et TeTEX. Les diagrammes sont réalisés à l’aide de XY-pic.

Une partie des schémas électronique est réalisée à l’aide du paquetage CIRC

ü^ CIRC

La police utilisée pour le texte principale est Fourier.

Les descriptions bibliographiques/historiques présentes dans les entêtes de cha- pitres sont composée en DayRoman.

L’extrait du texte de Blaife Pafcal du chapitre II eft également compofé danf la police DayRoman, maif dotée – notament – de la ligature c et du S long (f ).

4 © M. Siadat & C. Diou

Première partie

Les nombres

mChapitre In

Les systèmes de numération

Gottfried Wilhelm von Leibnitz b jui. 1646, Allemagne † 1716

Ce philosophe d’origine Allemande est l’inventeur d’une machine permettant de calculer directement les 4 opérations de base. Il est aussi celui qui a introduit la notion de binaire en Occident.

I.1 La représentation polynomiale

Si nous manipulons les nombres de manière intuitive, c’est la plupart du temps dans la base décimale, naturelle et universelle. Mais cela ne doit pas masquer la nature même de la numération qui peut prendre plusieurs formes, parmi lesquelles on trouve la théorie des ensembles et la représentation polynomiale.

La représentation polynomiale d’un nombre est sa représentation sous la forme sui- vante :

an − 1 bn −^1 an − 2 bn −^2 an − 3 bn −^3 · · · a 2 b^2 a 1 b a 0 a − 1 b −^1 a − 2 b −^2 · · · ambm

b est appelée la base.

 Si la base 10 nous est familière, d’autres bases existent et les bases les plus utilisées en informatique sont les bases 10, 2, 8 et 16 appelées respectivement « décimale », « binaire », « octale » et « hexadécimale ».

B

Si la base 10 nous est familière, d’autres bases existent et les bases les plus utili- sées en informatique sont les bases 10, 2, 8 et 16 appelées respectivement « dé- cimale », « binaire », « octale » et « hexadécimale ».

7

Chapitre I : Les systèmes de numération

I.2 Le système binaire

I.2.1 Introduction

Le système décimal est malheureusement difficile à adapter aux mécanismes nu- mériques, car il est difficile de concevoir du matériel électronique fonctionnant sur dix plages de tensions différentes.

On lui préférera donc le système binaire :

  • base B=2 ;
  • 2 symboles : { 0 , 1 } appelés « éléments binaires » ou « bits » (bit= Binary digIT ) ;
  • le système binaire est pondéré par 2 : les poids sont les puissances de 2 ;

B Exemple 1.

26 25 24 23 22 21 20 2 −^1 2 −^3 2 −^3

  • les différentes puissances de 2 sont : 20 21 22 23 24 25 26 27 28 29 210 1 2 4 8 16 32 64 128 256 512 1024
  • un ensemble de 8 bits est appelé « octet » (ou byte ).

I.2.2 Comptage binaire

On présente les nombres binaires en général avec un nombre fixe de bits, nombre imposé par les circuits mémoires utilisés pour représenter ces nombres.

Suite des nombres binaires à 4 bits :

Poids : 23 22 21 20 B 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 1 0 0 1 9 1 0 1 0 10 1 0 1 1 11 1 1 0 0 12

8 © M. Siadat & C. Diou

Chapitre I : Les systèmes de numération

B Exemple 1.

( F 3 D , 2) 16 1111 0111 1101, 0010

I.5 Conversion d’un système de numération à un

autre

I.5.1 Base B vers base 10

( an... a 0 ) B an Bn^ · · · a 0 B^0 ( am... a ′ 0 ) 10

B Exemple 1.

(1001, 1) 2 1. 23 0. 22 0. 21 1. 20 1. 2 −^1 8 0 0 1 0, 5 9, 5

( A 12) 16 A. 162 1. 161 2. 160 2560 16 2 2578

I.5.2 Base 10 vers base B

I.5.2.a Première méthode

Elle consiste à soustraire successivement la plus grande puissance de B

B Exemple 1.

I.5.2.b Deuxième méthode

Elle consiste à diviser par B autant de fois que cela est nécessaire pour obtenir un quotient nul. Ensuite on écrit les restes dans l’ordre inverse de celui dans lequel ils ont été obtenus.

Pour la partie fractionnaire on multiplie par B (résultat nul ou selon la précision demandée)

B Exemple 1.

10 © M. Siadat & C. Diou

I.5. Conversion d’un système de numération à un autre

Partie entière :

Partie fractionnaire :

0 , 4 ×

0 0 , 8 → 0 , 8 ×

1 1 , 6 → 0 , 6 ×

Le résultat est donc 10100,0110.

I.5.3 Base 2

n

vers base 2

Chaque symbole de la base B 2 n^ peut être représenté par n e.b.

B Exemple 1.

(3 A 9) 16 (0011 1010 1001) 2

© M. Siadat & C. Diou 11

mChapitre IIn

Codage des nombres dans les machines numériques

Blaise Pascal b 19 juin 1623, Clermont, France † 19 août 1662, Paris, France

« Ami leceur, cet avertiffement fervira pour te faire favoir que j’expofe au public une petite machine de mon invention, par le moyen de laquelle feul tu pourraf, fanf peine quelconque, faire toutef lef opérationf de l’arithmétique, et te foulager du travail qui t’a fouvent fatigué l’efprit, lorfque tu af opéré par le jeton ou par la plume : je puif, fanf préfomption, efpérer qu’elle ne te déplaira paf, aprèf que Monfeigneur le Chancelier l’a honorée de fon eftime, et que, danf Parif, ceux qui font lef mieux verféf aux mathématiquef ne l’ont paf jugée indigne de leur approbation. Néanmoinf, pour ne paf paraître négligent à lui faire acquérir auffi la tienne, j’ai cru être obligé de t’éclairer fur toutef lef diHcultéf que j’ai eftiméef capablef de choquer ton fenf lorfque tu prendraf la peine de la confidérer. » (Blaife Pafcal, Avif néceffaire à ceux qui auront curiofité de voir la machine d’arithmétique, et de f’en fervir, 1645).

Les systèmes logiques sont constitués de mécanismes qui ne permettent de noter que 2 états : « 0 » ou « 1 ». Une mémoire élémentaire est donc une unité contenant « 0 » ou « 1 ». Plusieurs de ces unités sont assemblées pour représenter un nombre binaire.

B Exemple 2.

mémoire 8 bits :

valeur en bits

2 2 2 2 2 2 2 2

7 6 5 4 3 2 1 0 ordre d’écriture ordre de lecture

Ces mémoires sont indissociables et l’ordre d’assemblage donne le poids de chaque bit.

13

Chapitre II : Codage des nombres dans les machines numériques

II.1 Représentation des nombres entiers positifs

Les nombres sont représentés en binaire sur n bits : n = nombre d’unités mémoires ( n 8 , 16 , 32 , 64 ,.. .)

On peut représenter des nombres allant de 0 à 2 n^ − 1.

II.2 Représentation binaire des entiers signés

Traditionnellement on met un signe « − » pour représenter les nombres négatifs. Mais les systèmes logiques ne permettent de présenter qu’un des deux symboles « 0 » et « 1 », il faut chercher une convention pour remplacer le « − ».

II.2.1 Représentation module et signe

Solution la plus simple : on ajoute un e.b. à gauche du module pour le signe. Ainsi, un nombre commençant par un « 0 » sera positif, alors qu’un nombre commençant par un « 1 » sera négatif : { 0 ↔ 1 ↔ −

B Exemple 2.

avec 4 e.b. Les valeurs vont de −7 à 7

Signe Module Valeur Signe Module Valeur

Problème : on a ici deux représentations différentes pour le zéro : ’00...0’ et ’10...0’.

14 © M. Siadat & C. Diou

Chapitre II : Codage des nombres dans les machines numériques

B Exemple 2.

n 8 ⇒ {

nb 0 de 0 à 127

nb 0 de − 1 à − 128

- nb ≥ 0 → bit de signe 0 nb 0 → bit de signe 1 - pour représenter un nombre positif sur une mémoire de taille donnée, on complète les cases vides de gauche par des 0 ; pour représenter un nombre négatif sur une mémoire de taille donnée, on complète les cases vides de gauche par des 1 ;

B Exemple 2.

+13 sur 8 bits : 00001101, -13 sur 8 bits : 11110011

II.2.4 Représentation en code relatif à 2

n − 1

Les nombres x sont représentés par 2 n −^1 x.

On constate ici que le bit de signe est inversé par rapport aux représentations précé- dentes : ce code est en fait identique au codage en complément à 2 avec le bit de signe complémenté.

On calcul l’inverse d’un nombre en relatif à 2 n −^1 comme en complément à 2 en complémentant le nombre puis en ajoutant 1.

II.3 Représentation des nombres réels dans un

calculateur

Dans un calculateur, un nombre est toujours écrit sous forme d’1 bloc de n e.b. (considéré comme un entier N ).

Pour représenter les nombres fractionnaires il est nécessaire de définir la position de la virgule : pour ce faire, il existe deux méthodes.

II.3.1 La représentation en virgule fixe

On décide que la virgule est toujours à une position donnée (un entier peut être représentatif d’un nombre fractionnaire si on connaît la place de la virgule).

B Exemple 2.

Virgule au rang K ( K chiffres après la virgule) :

La valeur N écrite en mémoire aura les poids suivants :

N 2 N −^1 − K^ · · · 20 2 −^1 2 − K^ 0 ≤ N ≤ (2 n^ − 1)2− K

16 © M. Siadat & C. Diou

II.3. Représentation des nombres réels dans un calculateur

Virgule au rang 0 :

N 2 N −^1 · · · 20 0 ≤ N ≤ 2 N^ − 1

Inconvénient de la méthode :

  • problème de gestion de la virgule notamment dans les multiplications (pour les additions et soustractions pas de problème, la position de la virgule ne change pas) ;

B Exemple 2.

Si on décide 2 symboles pour les parties entières et 2 symboles

pour les parties fractionnaires, on ne peut plus écrire 256,1.

  • utilisation limitée lorsqu’on traite des données de grandeurs différentes, car on doit prendre un grand nombre de bit de part et d’autre de la virgule pour pouvoir représenter des grandeurs très faibles et des grandeurs très importantes.

II.3.2 La représentation en virgule flottante simplifiée

II.3.2.a Introduction [WWW01]

Il arrive dans de nombreux domaines que l’intervalle des valeurs numériques per- tinentes soit particulièrement étendu. L’astronomie en est un exemple extrême puisque certains calculs peuvent faire intervenir simultanément la masse du soleil (2. 1030 kg) et la masse de l’électron (9. 10 −^31 kg). Ces deux nombres diffèrent de plus de 60 ordres de grandeur (10^60 )!

Des calculs faisant intervenir ces nombres pourraient s’effectuer en précision mul- tiple, avec par exemple des nombres de 62 digits. Tous les opérandes et tous les résultats seraient représentés par des nombres de 62 digits. Cependant, la masse du soleil n’est connue qu’avec une précision de 5 digits, et il n’y a en physique pratiquement aucune mesure que l’on puisse réaliser avec une précision de 62 digits. Une solution serait alors d’effectuer les calculs avec une précision de 62 digits et de laisser tomber 50 ou 60 d’entre eux avant d’annoncer les résultats, mais ceci est coûteux à la fois en espace mé- moire et en temps de calcul.

En fait, ce qu’il faut est un système permettant de représenter des nombres, tel que la taille de l’intervalle des nombres "exprimables" soit indépendante du nombre de digits significatifs.

II.3.2.b Principe de la représentation en virgule flottante

Le nombre N est représenté sous la forme :

exposant mantisse

© M. Siadat & C. Diou 17

II.3. Représentation des nombres réels dans un calculateur

I Remarque 2.

Les ordinateurs utilisent cette représentation avec 32 bits pour la mantisse et 8 bits pour l’exposant. En général, on utilise la représentation inverse, avec le bit le plus à gauche = 1, soit une mantisse normalisée ⇒ 0 , 5 ≤ M 1

II.3.3 La représentation IEEE 754 [WWW01]

II.3.3.a Présentation

Le standard IEEE 754 définit trois formats : les nombres en simple précision sur 32 bits, les nombres en double précision sur 64 bits, et les nombres en représentation intermédiaire sur 80 bits. La représentation sur 80 bits est principalement utilisée en interne par les processeurs pour minimiser les erreurs d’arrondi.

Un nombre N de 32 bits est représenté sous la forme :

s exposant mantisse

où le signe « s » est codé sur 1 bit, l’exposant est codé sur 8 bits en code relatif à 127 ( cf. §II.2.4 page 16), et la mantisse sur 23 bits.

Un nombre de 64 bits (double précision) utilise la même représentation à ceci près que la taille de l’exposant est portée à 11 bits en code relatif à 1023, et celle de la mantisse à 52 bits.

Une mantisse normalisée commence toujours par un bit 1, suivi par la virgule, puis par le reste de la mantisse. Le bit initial, toujours présent et toujours à 1 dans une man- tisse normalisée est implicite et non représenté. La valeur de la mantisse est appelée « significande » ; le significande a donc une valeur implicite 1 ≤ x 2.

B Exemple 2.

  • 1 2^0 × (1 0)

Le bit de signe sera 0, l’exposant, en code relatif à 127 sera représenté par

127 = 01111111, et le significande vaut 1, ce qui résulte en une mantisse

dont tous les bits sont à 0. La représentation IEEE simple precision IEEE

754 du nombre 1 est donc :

Code(1) = 0 01111111 0000...0 = 3F

s e m

  • 0.5 2−^1 × (1 0)

Le bit de signe est 0, l’exposant, en code relatif à 127 est représenté par

127 - 1 = 01111110, et le significande vaut 1, ce qui résulte en une mantisse

© M. Siadat & C. Diou 19

Chapitre II : Codage des nombres dans les machines numériques

dont tous les bits sont à 0. La représentation IEEE simple précision IEEE

754 du nombre 0.5 est donc :

Code(0.5) = 0 01111110 0000...0 = 3F

s e m

  • 1.5 2^0 × (1 2−^1 )

Le bit de signe est 0, l’exposant, en code relatif à 127 est représenté par

127 = 01111111, et le significande vaut 1.1, ce qui résulte en une mantisse

dont le premier bit est à 1 et les 22 suivants à 0. La représentation IEEE

simple precision IEEE 754 du nombre 1.5 est donc :

Code(1.5) = 0 01111111 1000...0 = 3FC

s e m

II.3.3.b Nombres spéciaux

En arithmétique à virgule flottante on peut obtenir un résultat valable, ou alors ren- contrer un problème de dépassement par valeur supérieure ( overflow ) lorsque le résultat est trop grand pour pouvoir être représenté, ou par valeur inférieure ( underflow ) lorsque le résultat est trop petit.

Dépassement par valeur inférieure

Cette situation arrive lorsqu’un résultat est trop petit pour pouvoir être représenté. Le standard IEEE 754 résout partiellement le problème en autorisant dans ce cas une représentation dénormalisée. Une représentation dénormalisée est caractérisée par le fait d’avoir un code d’exposant complètement nul, ce qui est interprété comme une indication du fait que le bit de poids fort de la mantisse, implicite, est cette fois à 0 au lieu d’être à

  1. De cette façon, le plus petit nombre « exprimable » est : 2−^127 × 2 −^23 2 −^150 ∼ 10 −^45.

Cependant, il faut remarquer que plus le nombre représenté est petit, moins sa man- tisse comportera de bits significatifs. Ce schéma permet une approche « douce » du phénomène de dépassement par valeur inférieure, en sacrifiant la précision lorsqu’un résultat est trop petit pour admettre une représentation normalisée.

Zéro

Zéro est représenté sous la forme d’un nombre dénormalisé. Ceci résulte en deux représentations possibles pour zéro : l’une pour 0, l’autre pour −0. Ces représentations sont caractérisées par un bit de signe suivi par 31 zéros.

Dépassement par valeurs supérieures

Le dépassement par valeurs supérieures ne peut pas être traité comme le dépasse- ment par valeurs inférieures, et est indiqué par un code d’exposant dont tous les bits sont à 1, suivi par une mantisse dont tous les bits sont à 0. Ceci est interprété comme représentant l’infini. L’infini peut être positif ou négatif, en fonction de la valeur du bit de signe. L’infini peut être utilisé dans les calculs et les résultats correspondent au sens commun : ∞ ∞ ∞ ; x /∞ 0 ; x / 0 ∞.

20 © M. Siadat & C. Diou