Introduction aux Microcontrôleurs et Binaire
Introduction aux Microcontrôleurs et Binaire
À Propos de ce cours
Microcontroleurs I Qui ?
Introduction aux microcontrôleurs et Calcul I Pierre Corbineau (cours, TD)
binaire [Link]@[Link] b
I Sylvain Toru & Frédéric Rousseau (TD, TP)
[Link]@[Link] b
Pierre Corbineau [Link]@[Link] b
I Liliana Andrade (TP)
IESE3 S5
[Link]@[Link] b
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Le complément à 1 consiste à inverser tous les bits d’un groupe Le OU logique combine deux bits et vaut 1 si l’un au moins des
de bits (remplacer 1 par 0 et inversement). bits vaut 1.
La négation du bit x se note x̄ : I 0 OU 0 = 0, 0 OU 1 = 1, 1 OU 0 = 1, 1 OU 1 = 1,
I 0̄ = 1 et 1̄ = 0 Exemple :
Exemple :
(01101011)2 OU(00110110)2 = ( . . . . . . . . . . . . . . . . . . )2
(01101011)2 = ( . . . . . . . . . . . . . . . . . . . . )2 Utilisations :
Utilisations : I Masque pour mettre des bits à 1.
I En combinaison avec le ET bit à bit (masques).
(b7 b6 b5 b4 b3 b2 b1 b0 )2 OU(00110110)2 = ( . . . . . . . . . . . . . . . . . . )2
I Calcul du complément à 2.
I En assembleur : mvn (MoVe Not) I En assembleur : orr, orn (OR Not)
I En C : ∼ (tilda = AltGr+2) I En C : | ("pipe" = AltGr+6)
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Principe de l’écriture en base B avec (B > 0) : Première technique (vue au transparent précédent)
I B symboles distincts pour exprimer les quantités 0 à B − 1. I Appliquer la formule (bn−1 . . . b1 b0 )2 = n−1
P i
i=0 bi × 2
I Chaque symbole à un poids B fois plus grand que le même
Deuxième technique (formule de Horner)
symbole positionné immédiatement à sa droite. I On lit les bits de gauche à droite
I Valeur : (cn−1 . . . c1 c0 )B = n−1 i
P
i=0 ci × B I poids fort vers poids faible
Exemple de valeur numérique d’un mot binaire (B=2) : I On utilise un accumulateur N initialisé à 0.
I quand on lit un bit 0 : N ← 2 × N.
bit b7 b6 b5 b4 b3 b2 b1 b0 I quand on lit un bit 1 : N ← 2 × N + 1.
poids 27 26 25 24 23 22 21 20 bit b7 b6 b5 b4 b3 b2 b1 b0
exemple 0 1 1 0 1 0 1 1 exemple 0 1 1 0 1 0 1 1
bi × 2i N (0)
valeur ( . . . . . . )10
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
bit b15b14b13b12b11b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
En général, il faut 2n bits pour stocker le résultat de la 1 1 1 0 1 0 1 1
multiplication de deux mots de n bits. × 1 0 1 1 0 0 1 1
I Si on tronque le resultat à n bits, ce résultat ne dépend pas 1
du codage (signé/non-signé). 1
I instruction assembleur mul 0
I Si on garde les 2n bits, alors il faut traiter différemment le 0
cas de la multiplication signée et de la multiplication 1
non-signée. 1
I 2 instructions assembleurs distinctes umull et smull. 0
1
résultat
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule
Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023 Microcontroleurs I — P. Corbineau Cours 0 IESE3 S5 — 2022–2023
Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule Introduction Codage binaire Codage des nombres Arithmétique Décalages et rotations Arithmétique à Virgule