• Aucun résultat trouvé

2 L’information binaris´ee

N/A
N/A
Protected

Academic year: 2022

Partager "2 L’information binaris´ee"

Copied!
133
0
0

Texte intégral

(1)

Peter Schlagheck Universit ´e de Li `ege

Ces notes ont pour seule vocation d’ ˆetre utilis ´ees par les ´etudiants dans le cadre de leur cursus au sein de l’Universit ´e de Li `ege. Aucun autre usage ni diffusion n’est autoris ´e, sous peine de constituer une violation de la Loi du 30 juin 1994

relative au droit d’auteur.

(2)

2.1 Le syst `eme d ´ecimal et le syst `eme binaire 2.2 La r ´ealisation du bit avec des circuits int ´egr ´es 2.3 L’octet

(3)

Dans le syst `eme d ´ecimal habituel, les nombres sont encod ´es avec les chiffres 0, 1, 2, . . . , 9

Exemple:

325 = 3×100 + 2×10 + 5×1

= 3×102+ 2×101+ 5×100

(4)

Dans le syst `eme d ´ecimal habituel, les nombres sont encod ´es avec les chiffres 0, 1, 2, . . . , 9

Exemple:

325,172 = 3×102+ 2×101+ 5×100 + 1×10−1+ 7×10−2+ 2×10−3

(5)

Dans le syst `eme d ´ecimal habituel, les nombres sont encod ´es avec les chiffres 0, 1, 2, . . . , 9

Exemple:

325,172 = 3×102+ 2×101+ 5×100 + 1×10−1+ 7×10−2+ 2×10−3

Repr ´esentation “scientifique” sur l’ ´ecran d’une calculatrice:

3,25172 02 ≡ 3,25172×102

−→pratique pour des tr `es grands nombres . . . 3,25172 20 = 325172000000000000000

(6)

Dans le syst `eme d ´ecimal habituel, les nombres sont encod ´es avec les chiffres 0, 1, 2, . . . , 9

Exemple:

325,172 = 3×102+ 2×101+ 5×100 + 1×10−1+ 7×10−2+ 2×10−3

Repr ´esentation “scientifique” sur l’ ´ecran d’une calculatrice:

3,25172 02 ≡ 3,25172×102

−→pratique pour des tr `es grands nombres . . .

−→ et des tr `es petits nombres:

3,25172 -20 = 0,0000000000000000000325172

(7)

L’abaque `a six boules par ligne ?

124 = 1×62+ 2×61+ 4×60= 52

(8)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

0

(9)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

1

(10)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

2

(11)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

3

(12)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

4

(13)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

5

(14)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

10 (6)

(15)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

11 (7)

(16)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

12 (8)

(17)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

13 (9)

(18)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

14 (10)

(19)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

15 (11)

(20)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

20 (12)

(21)

−→encoder des nombres avec les chiffres 0, 1, 2, 3, 4, 5:

20 (12)

−→ ca marcherait aussi bien que le syst `eme d ´ecimal

(22)

−→encoder des nombres avec les chiffres

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

−→. . . et avec les lettres

A, B, C, D, E, F

(10) (11) (12) (13) (14) (15) Exemples:

42= 4 * 16 + 2 = 66 A3= 10 * 16 + 3 = 163 5B= 5 * 16 + 11 = 91 FF= 15 * 16 + 15 = 255

(23)

−→encoder des nombres avec les chiffres 0 et 1

0

(24)

−→encoder des nombres avec les chiffres 0 et 1

1 (1)

(25)

−→encoder des nombres avec les chiffres 0 et 1

10 (2)

(26)

−→encoder des nombres avec les chiffres 0 et 1

11 (3)

(27)

−→encoder des nombres avec les chiffres 0 et 1

100 (4)

(28)

−→encoder des nombres avec les chiffres 0 et 1

101 (5)

(29)

−→encoder des nombres avec les chiffres 0 et 1

110 (6)

(30)

−→encoder des nombres avec les chiffres 0 et 1

111 (7)

(31)

−→encoder des nombres avec les chiffres 0 et 1

1011010= 26+ 24+ 23+ 21 = 90

(32)

Addition

11 01 11 11

+1 0 1 1 0

11

+ 6

17

(33)

Addition

11 01 11 11

+1 0 1 1 0 1

11

+ 6

17

(34)

Addition

11 01 11 11

+1 0 11 1 0 2 1 0

11

+ 6

17

(35)

Addition

11 01 11 11

+1 01 1 1 0 2 0 1 0

11

+ 6

17

(36)

Addition

11 01 11 11

+1 0 1 1 0

1 0 0 0 1

11

+ 6

17

(37)

Soustraction

11 01 11 11

-1 0 1 1 0 1

(38)

Soustraction

11 01 11 11

-1 0 1 1 0 0 1

(39)

Soustraction

11 01 11 11

-1 01 1 1 0 1 0 1

(40)

Soustraction

11 01 11 11

-1 0 1 1 0 1 0 1

11

- 6

5

(41)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

01 01 01 01

(42)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

(43)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

0

(44)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

1 0

(45)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

0 1 0

(46)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

0 0 1 0

(47)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

0 0 0 1 0

(48)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

0 0 0 0 1 0

(49)

Multiplication

1 0 1 11 ×1 0 1 1 0 =1 01 01 01 01 01 01 01

1 0 1 1

1 0 1 1

01 01 01 01

1 0 0 0 0 1 0

= 66 = 11×6

(50)

. . . et non pas un syst `eme ternaire, hexal, d ´ecimal . . . ?

→plus facile `a r ´ealiser

→facile `a encoder d’informations plus g ´en ´erales

→plus robuste que des syst `emes plus compliqu ´es

→longue histoire :

→t ´el ´egraphie (code de Morse), cartes perfor ´es, CDs . . .

(51)
(52)

UG= 0

→pas de courant : bit 0

(53)

UG>0

→courant : bit 1

(54)

UG>0

→courant : bit 1

−→comment garder de l’information binaire sur un circuit ?

(55)

Rappel: les op ´erations logiques ´el ´ementaires AND :A=B∧C

OR :A=B∨C NOT :A=B NAND :A=B∧C NOR :A=B∨C

XOR :A= (B∧C)∨(C∧B) XNOR :A= (B∧C)∨(B∧C)

(56)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR

(57)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR inputS: activation (set)

inputR: d ´eactivation (reset) outputQ: lire le contenu outputQ: le contraire deQ

(58)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR d ´eactivation avec le contactR

(59)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR d ´eactivation avec le contactR

→Q“est faux”

→Q“est vrai”

(60)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR d ´eactivation avec le contactR

→Q“est faux”

→Q“est vrai”

−→c¸a reste comme c¸a

−→m ˆeme siRest d ´ecoup ´e

(61)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR activation avec le contactS

(62)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR activation avec le contactS

→Q“est vrai”

→Q“est faux”

(63)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR activation avec le contactS

→Q“est vrai”

→Q“est faux”

−→c¸a reste comme c¸a

−→m ˆeme siSest d ´ecoup ´e

(64)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR d ´eactivation avec le contactR

(65)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR d ´eactivation avec le contactR

→Q“est faux”

→Q“est vrai”

(66)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR d ´eactivation avec le contactR

→Q“est faux”

→Q“est vrai”

(67)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR activation avec le contactS

(68)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR activation avec le contactS

→Q“est vrai”

→Q“est faux”

(69)

−→les circuits bistables (flip-flop)

On utilise deux ´elements NOR activation avec le contactS

→Q“est vrai”

→Q“est faux”

−→rapidit ´e et stabilit ´e

−→(tant que le circuit est connect ´e `a la source de tension)

−→six transistors n ´ecessaires pour maintenir un bit

−→SRAM (Static Random Access Memory)

(70)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

(71)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

(72)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

(73)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

(74)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

(75)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

(76)

−→les m ´emoires DRAM (Dynamic Random Access Memory) On utilise des capacitances pour sauvegarder des bits

−→deux transistors n ´ecessaires pour maintenir un bit

−→pas de stabilit ´e, `a cause de courants de fuite

−→ →circuits de rafraˆıchissement n ´ecessaires

(77)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

(78)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

(79)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

(80)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

−→charger et d ´echarger avec des tensionsUGtr `es fortes

−→(effet tunnel quantique)

(81)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

−→pas de courant au travers du transistor

−→si la capacitance est charg ´ee (effet de screening)

(82)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

(83)

−→les m ´emoires Flash (Toshiba, 1980)

On utilise des capacitances isol ´ees pour sauvegarder des bits

−→tr `es longue dur ´ee de vie de la m ´emoire

−→m ˆeme si le circuit est d ´ecoup ´e de la source de tension

−→utilis ´e dans les GSM, les cl ´es USB, les cam ´eras . . .

(84)
(85)
(86)

=la combinaison de 8 bits

0 1 0 1 1 0 1 1

−→l’unit ´e de base pour des m ´emoires informatiques:

1 ko (kB)=1 kilooctet= 103 octets =1000octets

1 Mo (MB)=1 m ´egaoctet= 106 octets =1 000 000octets 1 Go (GB)=1 gigaoctet= 109 octets =1 000 000 000octets 1 To (TB)=1 t ´eraoctet= 1012octets =1 000 000 000 000octets

(87)

=la combinaison de 8 bits

0 0 0 0 0 0 0 0

0

(88)

=la combinaison de 8 bits

0 0 0 0 0 0 0 1

1

(89)

=la combinaison de 8 bits

0 0 0 0 0 0 1 0

2

(90)

=la combinaison de 8 bits

0 0 0 0 0 0 1 1

3

(91)

=la combinaison de 8 bits

0 0 0 0 0 1 0 0

4

(92)

=la combinaison de 8 bits

0 0 0 0 1 0 0 0

8

(93)

=la combinaison de 8 bits

0 0 0 1 0 0 0 0

16

(94)

=la combinaison de 8 bits

0 0 1 0 0 0 0 0

32

(95)

=la combinaison de 8 bits

0 1 0 0 0 0 0 0

64

(96)

=la combinaison de 8 bits

1 0 0 0 0 0 0 0

128

(97)

=la combinaison de 8 bits

1 1 1 1 1 1 1 1

−→codage des nombres entiers entre 0 et 28−1 = 255

(98)

=la combinaison de 8 bits

0 1 1 1 1 1 1 1

−→codage des nombres entiers entre 0 et 28−1 = 255

−→. . . ou des nombres entiers, positifs et n ´egatifs, entre

−27 =−128 et 27−1 = 127

(99)

=la combinaison de 8 bits

1 0 0 0 0 0 0 0

−→codage des nombres entiers entre 0 et 28−1 = 255

−→. . . ou des nombres entiers, positifs et n ´egatifs, entre

−27 =−128 et 27−1 = 127

(100)

=la combinaison de 8 bits

1 1 1 1 1 1 1 1

−1

(101)

=la combinaison de 8 bits

1 1 1 1 1 1 1 0

−2

(102)

=la combinaison de 8 bits

1 1 1 1 1 1 0 1

−3

(103)

=la combinaison de 8 bits

1 1 1 1 1 1 0 0

−4

(104)

=la combinaison de 8 bits

1 1 1 1 1 0 1 1

−5

(105)

=la combinaison de 8 bits

1 1 1 1 1 0 1 0

−6

(106)

=la combinaison de 8 bits

1 1 1 1 1 0 0 1

−7

(107)

=la combinaison de 8 bits

1 1 1 1 1 0 0 0

−8

(108)

=la combinaison de 8 bits

1 1 1 1 0 0 0 0

−16

(109)

=la combinaison de 8 bits

1 1 1 0 0 0 0 0

−32

(110)

=la combinaison de 8 bits

1 1 0 0 0 0 0 0

−64

(111)

=la combinaison de 8 bits

1 0 0 0 0 0 0 0

−128

(112)

=la combinaison de 8 bits

1 0 1 1 0 1 0 1

D ´etermination des nombres n ´egatifs:

−→n ´egation de tous les bits

(113)

=la combinaison de 8 bits

0 1 0 0 1 0 1 0

D ´etermination des nombres n ´egatifs:

−→n ´egation de tous les bits

−→addition de 1

(114)

=la combinaison de 8 bits

0 1 0 0 1 0 1 1

D ´etermination des nombres n ´egatifs:

−→n ´egation de tous les bits

−→addition de 1

75

(115)

=la combinaison de 8 bits

1 0 1 1 0 1 0 1

D ´etermination des nombres n ´egatifs:

−→n ´egation de tous les bits

−→addition de 1

−75

(116)

0 1 0 1 1 0 1 1 + 1 0 0 1 0 1 1 0 1 1 1 1 0 0 0 1

91 + −106

−15

(117)

0 1 0 1 1 0 1 1 + 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1

91 + 86

−79 ?!?

. . . c’est exact `a l’exception d’erreurs d’overflow

(118)

0 1 0 1 1 0 1 1 + 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1

91 + −42

49 o.k.

(119)

Impl ´ementation sur un circuit int ´egr ´e:

a8 a7 a6 a5 a4 a3 a2 a1

+ b8 b7 b6 b5 b4 b3 b2 b1 c8 c7 c6 c5 c4 c3 c2 c1

−→op ´eration XOR pour l’addition dea1etb1,a2etb2, . . .

−→op ´eration AND pour ajouter 1 `a la colonne suivante

−→sia1 = 1etb1 = 1(pareil poura2 etb2, . . . )

(120)

a8 a7 a6 a5 a4 a3 a2 a1

+ b8 b7 b6 b5 b4 b3 b2 b1 c8 c7 c6 c5 c4 c3 c2 c1

(121)

−→circuit similaire `a celui pour les additions . . . ou

−→multiplication du deuxi `eme octet par−1

−→→n ´egation de tous les bits (op ´eration NOT)

−→→addition de1

−→addition ordinaire des deux octets

(122)

−→combinaison de plusieurs octets

1 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1

2 octets: repr ´esentation des nombres entre −215 et 215−1 c- `a-d entre −32 768 et 32 767

4 octets: repr ´esentation des nombres entre −231 et 231−1 c- `a-d entre −2 147 483 648 et 2 147 483 647

(123)

Repr ´esentation “scientifique” du nombre325dans le syst `eme d ´ecimal :

1 3,25

1

02

(124)

Repr ´esentation “scientifique” du nombre325dans le syst `eme binaire :

1 1,01000101

1 mantisse 1

1000

exposant (puissance de 2)

−→nombres “flottants” (floating point numbers)

(125)

Repr ´esentation “scientifique” du nombre325dans le syst `eme binaire :

1 1,01000101

1 mantisse 1

1000

exposant (puissance de 2)

−→nombres “flottants” (floating point numbers) Exemple:

3 octets pour la mantisse et 1 octet pour l’exposant (type “float” en C/C++)

−→repr ´esentation des nombres r ´eels entre −→

±1,2×10−38 et ±3,4×1038

−→avec 7 chiffres significatifs

(126)

Repr ´esentation “scientifique” du nombre325dans le syst `eme binaire :

1 1,01000101

1 mantisse 1

1000

exposant (puissance de 2)

−→nombres “flottants” (floating point numbers) Exemple:

6,5 octets pour la mantisse et 1,5 octets pour l’exposant (type “double” en C/C++)

−→repr ´esentation des nombres r ´eels entre −→

±2,2×10−308 et ±1,8×10308

−→avec 14 chiffres significatifs

(127)

Illustration dans le syst `eme d ´ecimal:

1435,12 + 0,119421 = 1435,239421

Calcul “num ´erique” avec 6 chiffres significatifs:

1,43512×103+ 1,19421×10−1 = 1,43523×103= 1435,23

−→attention: les derniers chiffres sont coup ´es !

−→ erreur num ´erique

−→peut- ˆetre pas si grave ?

(128)

Illustration dans le syst `eme d ´ecimal:

1435,12 + 0,119421 = 1435,239421

Calcul “num ´erique” avec 6 chiffres significatifs:

1,43512×103+ 1,19421×10−1 = 1,43523×103= 1435,23

−→attention: les derniers chiffres sont coup ´es !

−→ erreur num ´erique

−→

(1 + 10−3)−1

×103 ⇒ 1

(129)

Illustration dans le syst `eme d ´ecimal:

1435,12 + 0,119421 = 1435,239421

Calcul “num ´erique” avec 6 chiffres significatifs:

1,43512×103+ 1,19421×10−1 = 1,43523×103= 1435,23

−→attention: les derniers chiffres sont coup ´es !

−→ erreur num ´erique

−→

(1 + 10−4)−1

×104 ⇒ 1

(130)

Illustration dans le syst `eme d ´ecimal:

1435,12 + 0,119421 = 1435,239421

Calcul “num ´erique” avec 6 chiffres significatifs:

1,43512×103+ 1,19421×10−1 = 1,43523×103= 1435,23

−→attention: les derniers chiffres sont coup ´es !

−→ erreur num ´erique

−→

(1 + 10−5)−1

×105 ⇒ 1

(131)

Illustration dans le syst `eme d ´ecimal:

1435,12 + 0,119421 = 1435,239421

Calcul “num ´erique” avec 6 chiffres significatifs:

1,43512×103+ 1,19421×10−1 = 1,43523×103= 1435,23

−→attention: les derniers chiffres sont coup ´es !

−→ erreur num ´erique

−→

(1 + 10−6)−1

×106 ⇒ 1

(132)

Illustration dans le syst `eme d ´ecimal:

1435,12 + 0,119421 = 1435,239421

Calcul “num ´erique” avec 6 chiffres significatifs:

1,43512×103+ 1,19421×10−1 = 1,43523×103= 1435,23

−→attention: les derniers chiffres sont coup ´es !

−→ erreur num ´erique

−→

(1 + 10−7)−1

×107 ⇒ 0

−→ attention avec des diff ´erences !

(133)

(American Standard Code for Information Interchange)

−→repr ´esentation des lettres de l’alphabet et

−→des chiffres 0, 1, . . . 9 avec 7 bits:

bin. d. bin. d. bin. d.

1000001 65 A 1100001 97 a 0110000 48 0 1000010 66 B 1100010 98 b 0110001 49 1 1000011 67 C 1100011 99 c 0110010 50 2 1000100 68 D 1100100 100 d 0110011 51 3

... ... ... ... ... ...

1011010 90 Z 1111010 122 z 0111001 57 9

−→les autres nombres sont r ´eserv ´es pour des

−→caract `eres speciaux: ! “ # % $ & ’ ( )∗+ , -/;< >? . . .

Références

Documents relatifs

Il suffit de v´ erifier que l’image r´ eciproque par f d’un ouvert de F est un ouvert

Exercice 5 Soient E un espace vectoriel norm´e, K une partie compacte et F une

Exercice 7 Etudier les applications lin´eaires suivantes puis r´eduire leur matrice

Calculer la forme polaire de q puis la matrice associ´ee dans la base canonique.. Donner la signature et le rang

Il s’agit donc d’une entit´e `a double localisation : le site de Marne-la-Vall´ee (12 professeurs, 1 profes- seur ´em´erite, 18 Maˆıtres de conf´erences, 1 Directeur de

(59%) of these studies combined RDS samples with sam- ples collected using other sampling techniques; five (16%) failed to generate a minimum of three referral waves, four (13%)

´ Ecrire l’´equation diff´erentielle satisfaite par les composantes de

Montrer que le fibr´e tangent `a une sph`ere de dimension impaire admet une section qui ne s’annule en