ARK NETWORK reference.ch · populus.ch    
 
  
GHALI ELECTRO SOFT 
 
 
Rubriques

Liens

 Home  | Livre d'Or  | Album-Photo  | Contact

Electronique numerique

ES102/CM1 1 
ES102 
ELECTRONIQUE NUMERIQUE 
De la matière à l’intelligence … 
INTRODUCTION 
ES102/CM1 2 
MOTIVATIONS 
• Derrière l’informatique, l’électronique numérique intégrée 
• Des concepts à découvrir : 
– Parallélisme versus séquentialité 
– Structure versus comportement 
– Complexité, système, architecture 
• Une réalité de + en + omniprésente 
– Intelligence ambiante, mécatronique, informatique embarquée 
– Bientôt la moitié du coût d’une voiture 
swap(int v[],int k) 
{ int temp; 
temp=v[k]; 
v[k]=v[k+1]; 
v[k+1]=temp; 

CK 

q+ 
q y 

ES102/CM1 3 
SYSTEME NUMERIQUE 
• Système sans mémoire (passé indifférent) : 
– réalisation d’une fonction 
!Logique combinatoire 
• Système avec mémoire (dépendant des entrées antérieures) : 
– avec discrétisation du temps (présence d’une horloge) 
– réalisation d’un comportement 
!Logique séquentielle synchrone, puis logique programmée 
Entrées Système Sorties 
ES102/CM1 4 
TRAVAIL DE L’ARCHITECTE NUMERICIEN 
Implantation 
Structure concrète 
Fonction ou comportement 
souhaité (spécification) 
Technologie disponible 
transistor, portes, circuits 
sur étagère, etc. 
Contraintes système 
coût, encombrement, vitesse, 
énergie, temps de dév., etc. 
ES102/CM1 5 
PLANNING DU COURS ES102 
• 1 : représentation numérique de l’information 
• 2-5 : logique combinatoire 
– fonctions boolénnes 
– implantation microélectronique CMOS 
– arithmétique des ordinateurs 
• 6-10 : logique séquentielle et programmée 
– automates 
– architecture des microprocesseurs 
– langage de description de systèmes numériques 
• CM \ PC ! " - PC \ CM ! " 
ES102/CM1 6 
ORGANISATION 
• Cours Magistraux (CM) : 1h00 à 1h15 
• Petites Classes (PC) : 1h45 à 2h00 
– filières équidistribuées 
• Contrôle(s) de Connaissances (CC) : 1 voire 2 
• Documents 
– photocopie des transparents 
support à la prise de notes 
– énoncé de PC 
– corrigé détaillé de PC 
– poly 
• Evaluation : importante, donc en temps utile 
ES102, pas ES101 ! - nom MdC 
distribués 
en amphi 
ES102/CM1 7 
REPRESENTATION DES DONNEES 
ES102 / CM1 
ES102/CM1 8 
SYSTEME DE NUMERATION POSITIONNEL 
• Base 10 : 19,05 = 1#101+ 9#100+ 0#10-1+ 5#10-2 
• Poids codé par la position 
! nécessité du 0 
$ compacité, unicité 
peu de symboles 
• Base 2 : 
bn-1 ··· b1b0.b-1b-2 ··· b-m représente 
avec %i, bi & { 0 , 1 } 
– bi appelé bit pour Binary digIT – chaîne de bits = mot 
– bn-1 : bit de poids fort (MSB : Most Significant Bit) 
– b-m : bit de poids faible (LSB : Least Significant Bit) 
chiffre poids 
nombres hiéroglyphes : 
système de numération 
non positionnel 
densité de 
l’Uranium 
" bi·2i 
i=-m 
n-1 
ES102/CM1 9 
POURQUOI LA BASE 2 ? 
• Coût minimal (cf. PC1) 
• Utilisation de la physique en tout ou rien : 
CD Surface brute Cuvette 
Disque dur B non retourné B retourné 
Fibre optique Pas de lumière Lumière 
Transistor p Non passant Passant vers alim. 
PROM Fusible grillé Fusible intact 
DRAM Capacité déchargée Capacité chargée 
Transistor n Passant vers masse Non passant 
TECHNOLOGIE Etat 0 Etat 1 
ES102/CM1 10 
1 0 
0 1 2 
1 2 2 
1 5 2 
1 11 2 
1 23 2 
47 2 
BASE 2 EN PRATIQUE 
• Conversion décimal/binaire 
par divisions successives : 
fournie par les restes, jusqu’à quotient nul 
(47)10 = (101111)2 
* procédé différent pour les puissances négatives 
de 2 et la représentation des réels (cf. PC1/Exo2) 
• Base 2 fastidieuse à la main d'où usage des bases 
8 (système octal) et 16 (système hexadécimal) 
(47)10 = (10 1111)2 = (2F)16 = 0x2F 
• Codage de nombres, mais aussi de symboles … 
MSB 
LSB 
F 15 
E 14 
D 13 
C 12 
B 11 
A 10 
notation 
du langage C 
ES102/CM1 11 
American Standard Code for Information 
Interchange : Code ASCII 
BS = Back Space 
LF = Line Feed 
FF = Form Feed 
CR = Carriage Return 
ESC = Escape 
DEL = Delete 
b6b5b4 
b3b2b1b0 
1111 SI US / ? O _ o DEL 
1110 SO RS . > N ^ n ~ 
1101 CR GS - = M ] m } 
1100 FF FS , < L \ l | 
1011 VT ESC + ; K [ k { 
1010 LF SUB * : J Z j z 
1001 HT EM ) 9 I Y i y 
1000 BS CAN ( 8 H X h x 
0111 BEL ETB ' 7 G W g w 
0110 ACK SYN & 6 F V f v 
0101 ENQ NAK % 5 E U e u 
0100 EOT DC4 $ 4 D T d t 
0011 ETX DC3 # 3 C S c s 
0010 STX DC2 " 2 B R b r 
0001 SOH DC1 ! 1 A Q a q 
0000 NUL DLE SP 0 @ P ` p 
000 001 010 011 100 101 110 111 
ES102/CM1 12 
CODAGE : COMBIEN DE BITS ? 
Pour coder p situations distinctes, 
le nombre minimal de bits nécessaires 
est n, tel que : 
2n-1 < p # 2n 
' n=(log2(p)) 
simple mais utilise la partie entière supérieure ! " 
' 2n-1 # p-1 < 2n 
' n=*log2(p-1)+ +1 
+ compliqué mais utilise seulement la partie entière # $ 
log2(x)=log(x)/log(2) 
log2(2)=1 
log2(3)=1,585 
log2(4)=2 
… 
ES102/CM1 13 
FONCTIONS BOOLEENNES 
Premier Contact 
• 2n entrées possibles $ 22n fonctions possibles 
• n=1 : 4 opérateurs booléens unaires 
• n=2 : 16 opérateurs booléens binaires 
• n > 2 : trop … 
1 ? ? 
0 ? ? 
0 1 


• B = { 0 , 1 } ex. : n=2 
• Fonction booléenne à n variables 
f : Bn ! B 
• Définition par table de vérité 
ES102/CM1 14 
4 OPERATEURS BOOLEENS UNAIRES 
• Autre notation pour le complément de x : x («$x barre$») 
• Sur les symboles de portes, le rond représente la complémentation 
Symboles 
Power 
Vdd 
Alim. 




En anglais 
En français 
Notations logiques 
Valeurs prises 
En langage C 
0 x x’ 
Masse TAMPON NON 
BUFFER NOT 
Ground 
Gnd Vss 
1 0 1 0 
0 0 0 1 
x 0 x ~x 
Inverseur 
Même structure sur 
Complément transparent suivant 
ES102/CM1 15 
16 OPERATEURS BOOLEENS BINAIRES 
x·y x,y x+y (x+y)’ (x,y)’ (x·y)’ 
NON 
ET 
NON 
OU EX. 
NON 
OU 
OU 
OU 
EX. 
ET - Portes ! 
AND - Gates ! XOR OR NOR XNOR NAND 
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 
x y 0 x&y x^y x|y ~(x|y) ~(x^y) ~(x&y) 1 
16 (=222) opérateurs, dont 8 symétriques : 0, 1 et les 6 portes ci-dessous 
"=2 "=1 ">0 "=0 "!1 "<2 
Langage 
- C ! 
ES102/CM1 16 
ADDITION EN BASE 10 
· s1 s0 
· b1 b0 
· a1 a0 
c2 c1 
6 3 4 
3 8 9 
2 4 5 
1 1 
reste 
(1+4+8)%10 
modulo 
quotient 
(1+4+8)/10 
10#c2 + s1 = a1 + b1 + c1 
(c2 s1)10 = a1 + b1 + c1 
retenues 
(carry) 
base 
ES102/CM1 17 
ADDITION EN BASE 2 
• S=A+B où A et B deux nombres exprimés sur n bits : 
• équation fondamentale comme en base 10 : 
(ci+1 si)2 = 2#ci+1 + si =$ ai + bi + ci 
• ci+1 = ai· bi + ai· ci + bi· ci 
= Maj(ai, bi, ci) fonction majorité 
• si = ai , bi , ci fonction parité % PC1 
• règles valides pour i=0 en prenant c0=0 
= S sn sn-1 sn-2 ··· si+1 si ··· s1 s0 
+B bn-1 bn-2 ··· bi+1 bi ··· b1 b0 
A an-1 an-2 ··· ai+1 ai ··· a1 a0 
cn cn-1 cn-2 ··· ci+1 ci ··· c1 c0 + reports 
full adder 
(FA) 
ci+1 FA ci 
ai bi 
si 
additionneur 
binaire complet 
=0 
OU logique addition 
carry 
ES102/CM1 18 
ADDITION : IMPLANTATION 
ci 
ci+1 
ai bi 
si 
ci 
ci+1 
ai bi 
si 
ci+1 FA ci 
ai bi 
si 
avec des portes 
à 2 entrées 
ai bi 
si 
ai+1 bi+1 
si+1 
ci+1 
FA FA 
… … 
… 
ci 
FA 
… … 
… 
FA 
ci+2 
Additionneur numérique 
ES102/CM1 19 
SOUSTRACTION EN BASE 2 
• D=A-B où A et B deux nombres (A>B) exprimés sur n bits : 
di ( ai , bi , ci ) ? 
di =$ ai - bi - ci$ + 2#ci+1 
di - 2#ci+1 =$ ai - bi - ci 
· 
· 
-1 




d0 
b0 
a0 
c0 
A an-1 an-2 ··· ai ai-1 ··· a1 
cn-1 cn-2 ··· ci ci-1 ··· c1 - retenues 
= D dn-1 dn-2 ··· di di-1 ··· d1 
-B bn-1 bn-2 ··· bi bi-1 ··· b1 
ES102/CM1 20 
SOUSTRACTION EN BASE 2 (suite) 
di - 2#ci+1 =$ ai - bi - ci 
changements de variables : (ci) ! (c'i) et (bi) ! (b'i) 
' di- 2#(1-c'i+1) =$ ai- (1-b'i) - (1-c'i) 
' di + 2#c'i+1 =$ ai + b'i + c'i 
Retrancher B à A 

Ajouter B' à A 
avec report entrant à 1 
(c0=0 $ c’0=1) 0001 
- 0010 
0011 

0001 
+ 1101 
0011 
1 1 
3-2 . 3+13+1[16] 
Exemple 
addition 
avec B’ = b’n-1 ··· b’1b’0 
ES102/CM1 21 
REPRESENTER LES ENTIERS NEGATIFS 
• Très différent du système décimal «$signe + amplitude$» 
• -A = 0 - A (noté an-1 ··· a1 a0 ci-dessous) 
a0 
a'0 


= -A an-1 ··· a1 
+A' a'n-1 ··· a'1 
0 0 ··· 0 
+ reports ··· ··· c1 c0 
$ -A = A'+1 
appelé complément à 2 
(en fait, à 2n /) 
Par opposition, A' appelé «$complément à 1$» 
ES102/CM1 22 
ENTIERS SIGNÉS (1) 
000 
111 
110 
101 
100 
011 
010 
001 



-3 
-2 
-1 
3 = 2n-1-1 
A !A'+1 -4 = -2n-1 
Les entiers sur n=3 bits, 
c-à-d modulo 2n=8 

– 
• MSB = Signe (/) 
• LSB = Parité 
• n=8 ! [-128,+127] 
• n=32 ! [ -2.147.483.648 , +2.147.483.647 ] 
ES102/CM1 23 
ENTIERS SIGNÉS (2) 
poids du MSB = -2n-1 complément à 2 
- " bi·2i = - " 2i + " (1-bi)·2i 
i=0 
n-2 
i=0 
n-2 
i=0 
n-2 
= - (2n-1-1) + " b’i·2i 
i=0 
n-2 
= - 2n-1 + " b’i·2i +1 
i=0 
n-2 
ES102/CM1 24 
NOMBRES FLOTTANTS (1) 
• Version binaire de la notation scientifique décimale 
mais avec un 0 avant la virgule et un 1 derrière 
• Principe de la notation : ± mantisse # 2exposant 
• Exemple : 2,5 = 1·21+0·20+1·2-1 = (10,1)2 = (0,101)2·22 
= (0,101)2·2(10)2 = (0,1010—)2·2(—010)2 
• Intérêt : représentation des grandeurs physiques 
– entiers inadaptés en terme de : 
• dynamique : 232%4·109 264%2·1019 
• précision : l’entier 1 est une représentation imprécise (±50%) du réel 1 ! 
mantisse fractionnaire 
normalisée (0,5# · <1) 
représentation 
de l’exposant 
représentation de la mantisse fractionnaire 
normalisée (sans le 1 derrière la virgule) 
! cf. transparent suivant 
exposant 
ES102/CM1 25 
NOMBRES FLOTTANTS (2) 
• Position flottante de la virgule, définie par l’exposant 
(floating point numbers) 
• Représentation en machine : 
(exposant : entier signé) 
• Représentation fractionnaire normalisée de la mantisse : 
exposant ajusté tel que 0.5 # |mantisse| < 1 ! = 0.1b-2b-3b-4… 
• Format 64 bits : 
• Compromis précision/dynamique 
Dynamique : 2±1024 % 10±100 - Précision relative : 2-53 % 10-15 
• Calculs spécifiques $ unités spécialisées, dites flottantes 
signe exposant mantisse 
± e10e9 ····· e1e0 b-2b-3b-4 ·········· b-52b-53 
1 11 52 
! représentation de 2,5 : 0 0—0000010 010000000000000—0 
ES102/CM1 26 
IMPORTANCE DES TECHNIQUES DE 
REPRESENTATION/CODAGE 
• pour mieux rendre la nature des données 
! nombres flottants 
• pour simplifier les calculs 
– Arithmétique des ordinateurs 
! nombres négatifs 
! échapper à la propagation des retenues % suite ES102 
• pour faire des économies d’énergie % PC1 
• pour résister à l’apparition occasionnelle d’erreurs : 
particules sur RAM, poussière sur CD, perturbation sur ligne de transmission, etc. 
– Codage de canal 
• pour minimiser les volumes de données : 
– Codage de source 
% ES204 «!Information et codage!» en 2ème année

 

(c) GHALI ELECTRO SOFT - Créé à l'aide de Populus.
Modifié en dernier lieu le 13.02.2010
- Déjà 4530 visites sur ce site!