Bienvenue en Amphi
Circuits Logiques
Prof: Fehim SAHBANI
Compte DROPBOX
[email protected]Mot de passe: issat2021
Règles de vies
Entrée (ou sortie) par le haut de l’amphi
Prise de notes, écoute active
Silence pendant le cours
Poser des questions
Répondre aux questions
Dr. Fehim SAHBANI
2
26/06/2024
Planning
Semaine 1 Cours
Semaine 2 Cours et TD
Semaine 3 à 11 Cours, TD , TP et Devoir surveillés
Fehim SAHBANI
3
26/06/2024
Plan
• Codage
• Logique combinatoire
• Logique séquentielle
• Registres et mémoires
Fehim SAHBANI
4
26/06/2024
Généralisation: Décomposition d’un nombre
Les nombres tels que nous les utilisons sont, en réalité, une
convention d'écriture. Tout nombre entier positif peut s'écrire
sous la forme d'un polynôme arithmétique.
N = an . Bn + an-1 .Bn-1 + .......+ a1 .B1 + ao . B0
où B est la base, a est le chiffre de rang n et n représente le
poids.
Dans la base B, on a besoin de B symboles pour écrire tous
les nombres.
Fehim SAHBANI
5
26/06/2024
Le système de numération « Décimal »
Le système de numération que nous employons couramment utilise 10 chiffres : 0, 1, 2,
3, 4, 5, 6, 7, 8, 9. On l'appelle pour cela "système décimal" ou système à base 10.
Dans ce système, un nombre peut être décomposé en puissance de 10.
Par exemple décomposons le nombre 546 :
546 = 5 x 100 + 4 x 10 + 6 x 1
- Le digit « 6 », situé au premier rang à partir de la droite a une valeur de 6
- Le digit « 4 », situé au deuxième rang a une valeur de 40.
- Le digit « 5 », situé au troisième rang a une valeur de 500.
Ainsi, chaque digit a un "poids" différent selon son rang :
- au premier rang (rang de niveau 0) : le poids est de 1,
- au deuxième rang (rang de niveau 1) : le poids est de 10,
- et au troisième rang (rang de niveau 2) le poids est de 100.
- Exercice : Décomposer les nombres suivants sous forme de puissance de 10 :
6
28 et 4509
28 = 2x 101 + 8x100
4509 = 4x 103 + 5x102+ 0x101+ 9x100
Fehim SAHBANI 26/06/2024
Les autres bases de numération utilisées
A la place du décimal, nous pouvons utiliser la
numération binaire, octale ou l’hexadécimale :
· La base 2 (binaire) est employée pour traduire les
états d’un système logique [0 ou 1, tout ou rien,
juste ou faux...]
· La base 8 (octal) autre fois très utilisée, elle tend
aujourd’hui à disparaître au profit de la base 16 suite
à l’évolution technologique des composants (16 bits
et +)
· La base 16 (hexadécimal) est apparue avec la
logique microprogrammée et les microprocesseurs.
Fehim SAHBANI
7
26/06/2024
Chronogramme
Niveau haut 1
Front montant Front descendant
0
Niveau bas Niveau bas
Temps
Fehim SAHBANI
8
26/06/2024
Fehim SAHBANI
9
26/06/2024
Conversion d’une base dans une autre (transcodage)
Conversion d’un nombre en décimal vers son équivalent en binaire [(N)10 -> (N)2]
La méthode consiste à répéter la division par 2 du
nombre décimal à convertir et au report des restes
jusqu’à ce que le quotient soit 0. Le nombre binaire
résultant s’obtient en écrivant le premier reste à la
position du bit de poids le plus faible (LSB = Least
Significant Bit) et le dernier à la position du bit de
poids le plus fort (MSB = Most Significant Bit).
Exemple : conversion du nombre décimal 19 en
binaire (19)10 = (.........)2 ?
Fehim SAHBANI
10
26/06/2024
Least
Significant Bit
D’où (19)10 = (10011)2
Most Significant Bit
Exercice : Quel est le code binaire correspondant à (65)10 et (41)10 ?
(65)10 = ( 100 0001 )2
(41)10 = ( 10 1001 )2
Fehim SAHBANI
11
26/06/2024
Que l'on veuille passer de décimal vers binaire, ou de décimal vers hexadécimal, le
raisonnement est fondamentalement le même. Nous noterons ici b la base de
destination, que ce soit binaire, ou hexadécimal.
La méthode que je considère comme la plus simple est celle-ci :
On divise le nombre en base 10 par b.=> On obtient un quotient q1.
On divise q1 par b.=> On obtient un quotient q2.
On divise q2 par b.=> On obtient un quotient q3.
Et ainsi de suite...
Quand le quotient obtenu vaut 0, on cesse les divisions, et on "remonte" dans la liste
des restes obtenus, en les écrivant de gauche à droite.
Par exemple, on veut convertir 167 de la base 10 vers la base 2 :
Fehim SAHBANI
12 26/06/2024
Example
The following shows how to convert 35 in decimal to binary. We
start with the number in decimal, we move to the left
while(tandis que) continuously finding the quotients and the
remainder (reste) of division by 2. The result is 35 = (100011)2.
2.13
Fehim SAHBANI
13
26/06/2024
Conversion d’un nombre en binaire vers son
équivalent en décimal [(N)2 -> (N)10]
Il s’agit ici d’appliquer la formule donné en prenant B= 2.
(1101)2= 1x23 + 1x22 + 0x21 + 1x20
= 1x8 + 1x4 + 0x2 + 1x1 = (13)10
Exercice :
Quel est le code décimal correspondant à (1 1001 1000)2 et
(1010 1010)2 ?
14
(1 1001 1000)2 = ( 408 )10
(1010 1010)2 = ( 170 )10
Fehim SAHBANI 26/06/2024
Example
The following shows how to convert the binary number (110.11)2
to decimal: (110.11)2 = 6.75.
2.15
Fehim SAHBANI
15
26/06/2024
Conversion d’un nombre en décimal vers son équivalent en
octal ou hexadécimal [(N)10 -> (N)8 ou (N)16]
Il s’agit ici d’appliquer la même méthode que pour le passage du
décimal vers le binaire en divisant successivement le nombre décimal
par 8 (conversion en octal) ou par 16 (conversion en hexadécimal).
Exercice : Convertir les nombres suivants : (1028)10 = ( 2004 )8
(61)10 = ( )16
(4095)10 = ( )8
(2748)10 = ( )16
(61)10 = ( 3D )16
(4095)10 = ( 7777 )8
16
(2748)10 = ( ABC)16
Fehim SAHBANI 26/06/2024
Conversion d’un nombre en octal ou hexadécimal vers
son équivalent en décimal [(N)8 -> (N)10 ou (N)16 ->
(N)10]
Il s’agit ici d’appliquer la même méthode que
celle pour le passage d’un nombre binaire en
décimal,
Exercice : Convertir les nombres suivants :
(1027)8 = ( 535 )10
(61F)16 = ( )10
(61F)16 = ( 1567 )10
Fehim SAHBANI
17
26/06/2024
Example
The following shows how to convert the hexadecimal number
(1A.23)16 to decimal.
Note that the result in the decimal notation is not exact, because
3 × 16−2 = 0.01171875. We have rounded this value to three digits
(0.012).
2.18
Fehim SAHBANI
18
26/06/2024
Example
The following shows how to convert (23.17)8 to decimal.
This means that (23.17)8 ≈ 19.234 in decimal. Again, we have
rounded up 7 × 8−2 = 0.109375.
2.19
Fehim SAHBANI
19
26/06/2024
Récapitulatif méthode à employer pour le transcodage
Fehim SAHBANI
20
26/06/2024
Conversions directes binaire <=> hexadécimal
La conversion de la base 2 à la base 16 (et inversement) se fait aisément, la base 16
étant un multiple entier de la base 2. Elle permet de représenter sous une forme
réduite un nombre binaire.
24 = 16 => un groupe binaire de 4 bits est transcodable directement en un digit
hexadécimal. Méthode : 0n divise le nombre binaire en tranches de 4 bits (à partir du
LSB). Chacun des quartets est ensuite converti en un digit hexadécimal par simple
sommation pondérée.
Exemple 1 :
( (111000110101)2 = (E35)16
Exemple 2 :
(D4C7)16 =()2
(D4C7)16 =(1101 0100 1100 0111)2
Fehim SAHBANI
2126/06/2024