0% ont trouvé ce document utile (0 vote)
316 vues124 pages

Cours Complet sur l'Architecture des Ordinateurs

Transféré par

dominiquegavli1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
316 vues124 pages

Cours Complet sur l'Architecture des Ordinateurs

Transféré par

dominiquegavli1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République du

Cameroun
Université de Republic of University of
Yaoundé I Cameroun Yaounde I

ARCHITECTURE DES ORDINATEURS

par

ANNE MARIE CHANA


Architecture des ordinateurs

Ecole Nationale
Supérieure Polytechnique
SOMMAIRE

CHAPITRE I. Structure et fonctionnement d’un ordinateur ....................................................5


I. Schéma simplifié d’un ordinateur .......................................................................................5
1. Mémoire centrale ............................................................................................................5
2. Unité centrale .................................................................................................................7
3. Les éléments d’entrées et sorties ................................................................................... 10
II. Comment résoudre un problème à l’aide d’un ordinateur................................................. 10
III. Programme assembleur à 0,1, 2,3 adresses ...................................................................... 14
CHAPITRE II. Représentation de l’information ................................................................... 18
I. Généralités……………. ................................................................................................... 18
IV. Représentation des nombres dans les trois (3) systèmes .................................................. 19
V. Conversion d’une base à une autre (nombres positifs) ...................................................... 19
1. Partie entière ................................................................................................................. 19
2. La partie fractionnaire ................................................................................................... 21
VI. Les opérations arithmétiques ......................................................................................... 23
1. Notion de chiffre significatif ......................................................................................... 24
2. Notion d'arrondi et d'erreur d'arrondi............................................................................. 24
3. Notion de troncature et d'erreur de troncature................................................................ 24
VII. Représentation des entiers ............................................................................................. 25
1. Nombre en complément ................................................................................................ 25
2. Soustraction en complément ......................................................................................... 26
a) Nombres sans signe ...................................................................................................... 26
b) Nombre avec signe ....................................................................................................... 27
VIII. Représentation des réels ............................................................................................... 29
1. Virgule fixe .................................................................................................................. 29
2. Virgule Flottante ........................................................................................................... 30
3. Opérations arithmétiques en virgule flottante ................................................................ 33
CHAPITRE III. Eléments d’algèbre de Boole et de circuit logique ...................................... 36
I. Algèbre de Boole.............................................................................................................. 36
1. Fonction Booléenne .......................................................................................................... 36
2. Table de vérité .............................................................................................................. 36
3. Théorèmes fondamentaux de l’algèbre de Boole ........................................................... 37
II. Représentation d’une fonction booléenne ........................................................................ 38
1. Forme disjonctive : Expression sous forme de somme de termes produits ......................... 39
2. Forme conjonctive : Expression sous forme de produit des termes somme ........................ 40
3. Représentations géométriques des fonctions booléennes. .................................................. 41
ENSP Anne Marie CHANA Page 2
Architecture des ordinateurs

III. Simplification des expressions logiques ......................................................................... 42


1. Méthode algébrique ......................................................................................................... 42
2. Méthode des tables de Karnaugh...................................................................................... 44
3. Méthode de Quine ........................................................................................................... 45
4. Méthode de PetNick ........................................................................................................ 48
5. Méthode de QUINE-MAC-CLUSKEY. ........................................................................... 49
CHAPITRE IV. Introduction au circuit logique .................................................................... 54
1. Notions d'entrée et de sortie .......................................................................................... 55
2. Aspects physiques des entrées et des sorties .................................................................. 58
3. Utilisation des sorties entre elles ................................................................................... 61
4. Caractéristiques externes des diverses technologies....................................................... 63
CHAPITRE V. CIRCUITS COMBINATOIRES ................................................................. 66
I - Introduction ..................................................................................................................... 66
II - Etude de quelques circuits combinatoires ........................................................................ 67
1. Additionneur complet ................................................................................................... 67
2. Générateur de parité ...................................................................................................... 68
3. Un afficheur de chiffre décimaux ou décodeur BCD chiffres décimaux......................... 69
4. Décodeur ...................................................................................................................... 70
5. Le multiplexeur ............................................................................................................ 73
III - Quelques méthodes de réalisation .................................................................................. 76
1. Critères de qualité d’une réalisation .............................................................................. 76
2. Méthodes basées sur l’algèbre de Boole ........................................................................ 77
3. Méthodes par découpage fonctionnel. ........................................................................... 78
4. Quelques schémas de décomposition : .......................................................................... 81
CHAPITRE VI. CIRCUITS SEQUENTIELS ....................................................................... 85
I - Introduction. .................................................................................................................... 85
II - Elément de mémoire ....................................................................................................... 86
1. Bascule RS (Reset Set) ................................................................................................. 86
2. Bascule D ..................................................................................................................... 88
3. Bascule J. K. ................................................................................................................. 89
III - Machine à états finis ...................................................................................................... 95
1. Définition ..................................................................................................................... 95
2. Machine de Moore et Mealy ......................................................................................... 97
3. Convertir une Machine de Moore en Mealy .................................................................. 97
IV - Quelques exemples de circuits séquentiels ..................................................................... 99
1. Compteur permanent..................................................................................................... 99
2. Compteur- décompteur ............................................................................................... 102
3. Registres ..................................................................................................................... 103
V - Synthèse à l’aide des bascules....................................................................................... 105
CHAPITRE VII. LES CODES .......................................................................................... 107
I. Code binaire pur. ........................................................................................................ 107
ENSP Anne Marie CHANA Page 3
Architecture des ordinateurs

II. Codes binaires décimaux (sur 4 positions)................................................................... 108


IV. Codes DCB à plus de 4 positions ................................................................................ 117
V. Les autres codes.......................................................................................................... 118
VI. Choix d’un code.......................................................................................................... 123

ENSP Anne Marie CHANA Page 4


Architecture des ordinateurs

CHAPITRE I. Structure et fonctionnement


d’un ordinateur

I. Schéma simplifié d’un ordinateur


Un ordinateur est un assemblage de composants logiques qui fonctionne de façon
logique ou combinatoire. Il comprend 5 parties :

(4)
Mémoire

(5) (5)

Entrée CU (1) Sortie

ALU (2)

CPU
(3)

(1) Unité de contrôle (CU : control unit)


(2) Unité arithmétique et logique (ALU : arithmetic and logical unit)
(3) Unité centrale (CPU : central processing unit)
(4) Mémoire
(5) Périphériques d’entrée/sortie

1. Mémoire centrale
C’est un ensemble d’emplacements ou cases qui ont la même taille. Une case
est généralement appelée un mot. La mémoire d’un ordinateur est réalisée à l’aide
d’éléments électronique appelés bascules. Une bascule peut se mettre dans deux
états : elle peut être sous tension ou hors tension. On représente l’état sous tension
par 1 et hors tension par 0. La représentation 1 et 0 est appelée représentation binaire
et les chiffres 1,0 sont encore appelés bit.

ENSP Anne Marie CHANA Page 5


Architecture des ordinateurs

La technologie de circuit intégré permet d’assembler plusieurs millions de


bascules sur une petite surface.
Une case de la mémoire peut contenir soit une adresse, soit une donnée et
dans chaque cas la représentation est sous forme d’une chaîne de bits. Chaque case
ou chaque mot d’une mémoire est identifiée par une adresse qui est unique. Les
emplacements sont disposés de façon séquentielle et portent les numéros 0 à -1, n
étant le nombre de bits représentant une adresse mémoire.
Dans une mémoire de taille mots les adresses varient de 0 à -1. A chaque
mot de la mémoire on associe aussi 2 entités : son unique adresse et son contenu qui
peut varier. Généralement la mémoire d’un ordinateur est décrite par 2 paramètres :
la taille d’un mot et le nombre de mots que comporte la mémoire. Généralement, le
nombre de mot est une puissance de 2 et l’unité c’est = 1024 =1kilobit.
La taille d’un mot varie généralement en multiple de ou octet. Il y a 2
opérations fondamentales qui peuvent affecter une case : lecture et écriture.
Les 2 opérations sont représentées par :

Lecture Ecriture

Bus de données Bus d’adresses

On précise l’adresse du mot, on envoie le signal de contrôle, on précise la


donnée.
Quelque soit le type d’opération, la donnée écrite ou transmise est disponible
en quelques nano seconde.
Exemple :
=256 mots
Longueur d’une adresse 8 bits
On veut représenter 0110
Dans la zone mémoire d’adresse 175 = 10111001

ENSP Anne Marie CHANA Page 6


Architecture des ordinateurs

Lecture Adresse

Ecriture 0
.
.
.
0 1 1 0 174
0110 10111001

Registre de Registre
données d’adresse

Les différents types de mémoires


Il existe plusieurs types de mémoires :
 mémoire à accès direct ou aléatoire ou RAM (random acess memory) ici
le temps d’accès à un mot ne dépend pas de l’emplacement de ce mot dans la
mémoire
 mémoire à accès séquentielle ou SAM (séquential acess memory) le
temps de lecture et d’écriture dépend de l’emplacement.

On perd le contenu de ces types de mémoire lorsque la machine est mise hors
tension. Les données à conserver doivent toujours résider dans la mémoire secondaire ou
de masse (disque dur, disquette, CD, DVD …). Les données manipulées par l’unité centrale
résident dans la mémoire vive ou centrale ou RAM.
 ROM (read only memory) fait pour contenir des logiciels, des
programmes particuliers comme le système d’exploitation. Le contenu d’un ROM ne
peut être modifié, c’est aussi une mémoire à accès aléatoire.
 RWM (read write memory) ou mémoire centrale.

2. Unité centrale
Elle comprend l’unité de contrôle et l’unité arithmétique et logique. Elle est
organisée au tour d’un bus.

ENSP Anne Marie CHANA Page 7


Architecture des ordinateurs

UAL

Registres
Pointeur
Registre
Instruction Registre Registre
d’adresse tampon

Les registres sont des emplacements de mémoires qui ont un temps d’accès court,
leurs tailles varient selon l’usage.

a) unité arithmétique et logique ou UAL

Elle effectue les opérations arithmétique et logique. Les opérandes de ces


opérations se trouvent généralement en mémoire centrale, mais pour certains
ordinateurs (très puissant) les opérandes résident dans des registres spécialisés. Pour
les PC, les bus ont une taille qui varie entre 20 bits et 48 bits pour le bus d’adresse et 8
bits et 64 bits pour le bus de données. Beaucoup d’ordinateurs ont un registre spécial
appelé accumulateur. Il contient à la fois l’un des opérandes et le résultat de
l’opération arithmétique.
L’unité arithmétique et logique contient aussi un registre drapeau. Ce Registre
contient une information qui caractérise le résultat d’une opération arithmétique
entre autre : résultat nul, négatif, positif, dépassement de capacité (over flow ou
Under flow) ou s’il y a eu une retenue.

Entrée A Résultat

Entrée B UAL Drapeau

Signaux de contrôle
indiquant la fonction à

ENSP Anne Marie CHANA Page 8


Architecture des ordinateurs

Composantes de l’UAL
 additionneur
 circuit des tests logiques
 circuit de décalage des bits (permuter ou décaler d’une position)
 circuit de comparaison
 circuit des tests arithmétiques
 circuit de multiplication ou de division

b) unités de contrôle

Elle supervise le fonctionnement de l’ordinateur en particulier, elle contrôle le


décodage et l’exécution des instructions. Elle contrôle donc les cycles de chargement et
d’exécution qui est résumé sur le schéma ci-dessous.

Bus d’adresse

Bus de donnée

Registre Buffer
d’adress

Registre
Mémoire
Pointer
d’instruction

UAL
UC

 Cycle de chargement

En générale les instructions sont lus une à une dans la mémoire, décodées puis
exécutées. Les étapes du cycle de chargement sont :
 charger le contenu du pointeur dans le registre d’adresse mémoire.
 Demander à la mémoire de lire la donnée et de la placer sur le bus.
 Ranger la valeur lue dans le buffer de l’unité centrale.
 Transférer la donnée du buffer dans le registre d’instruction.
 incrémenter le pointeur d’une unité.

Ces étapes sont exécutées par des signaux envoyés par l’unité de contrôle.

 cycle d’exécution

ENSP Anne Marie CHANA Page 9


Architecture des ordinateurs

Les étapes de ce cycle varient avec les ordinateurs et la structure des


instructions.
Exemple : pour une machine disposant d’un accumulateur et effectuant une
addition. L’un des opérandes se trouve dans l’accumulateur et l’autre dans un
registre spécialisé ou en mémoire.
Les étapes du cycle d’exécution sont :
 transférer le contenu de l’accumulateur dans l’UAL
 transférer le contenu du registre indiqué dans l’UAL
 déclencher l’addition
 transférer le résultat dans l’accumulateur.
Si par contre l’un des opérandes se trouve dans une adresse mémoire, le cycle
est plus long. En plus de ces 4 étapes,
 on transfert le contenu de la mémoire sur le bus de donnée,
 on transfert le contenu du bus de données dans le buffer,
 puis dans le registre de données et on déclenche l’opération.

3. Les éléments d’entrées et sorties


C’est par ces éléments que l’usager communique avec ordinateur. L’unité
d’entrée est utilisée par l’usager pour envoyer soit une commande (un programme)
soit une donnée à un programme pour son exécution. L’unité de sortie est utilisée
par la machine pour renvoyer le résultat relatif à la commande.
Comme unité d’entrée nous avons :
 le clavier
 la tablette optique
 le scanner
 la souris
Pour la sortie il y a l’imprimante, l’écran qui affiche le résultat et les
commandes.

II. Comment résoudre un problème à l’aide d’un ordinateur


Pour résoudre un problème à l’aide d’un ordinateur, il faut d’abord trouver un
moyen de communication avec ce dernier. La communication se fait à l’aide d’un
programme (groupe de commande) ou à l’aide d’une commande.
Il existe en générale deux types de communication.

 Batch

ENSP Anne Marie CHANA Page 10


Architecture des ordinateurs

Dans ce système le programmeur n’est pas relié directement à l’ordinateur.


Les commandes doivent être regroupées et renvoyées à la machine par
l’intermédiaire d’un système d’exploitation. Pendant l’exécution de ces commandes,
la machine interrompe toute communication avec l’extérieur.
 System interactif

L’usager est en communication direct avec la machine. Les commandes sont


saisies directement sur le clavier et renvoyées à la machine. On peut aussi écrire des
programmes qui pendant l’exécution génèrent une communication directe avec le
programmeur.
c) comment écrire et exécuter un programme

 Langage compilé

La machine ne manipule que des informations représentées en binaire. L’être humain


préfère manipuler les informations dans un langage qui lui est proche. Pour résoudre
le problème, on a créé un programme particulier qui accepte un programme écrit
dans un langage proche de l’être humain et le transforme en un programme
équivalent en binaire. La transformation suit un certain nombre de règles et une
syntaxe qui sont propre au système. Ces règles et la syntaxe définissent le langage, le
système est appelé compilateur.
Le premier compilateur (1955) fut le compilateur Fortran (formula translation)
traducteur de formules mathématiques
Les différentes transformations suivent le schéma ci-dessous.

Recompiler à modification des erreurs


Fichier Listing
Rejeté

NON

Programme Fichier
OK Code
dans un Système Compilateur Objet
objet
langage de d’exploi
haut niveau tation

Programme
source Code
Editeur de lien
exécutable

L’éditeur des liens vérifie si le programme invoque des fonctions qui résident dans la
bibliothèque du système, retrouve ses codes et les adjoints aux codes objets.
Lorsqu’on demande d’exécuter le programme, le système d’exploitation charge le

ENSP Anne Marie CHANA Page 11


Architecture des ordinateurs

code d’exécution en mémoire et déclenche le processus d’exécution. On peut


demander au compilateur de créer le fichier listing même s’il n’y a pas d’erreur.
Tout programme bien compilé ne donne nécessairement pas de bon résultat. Le
compilateur compile toutes les instructions même s’il y a des erreurs.
 Langage interprété exemple : BASIC
Dans ce langage l’interprète joue le rôle de compilateur et d’exécuteur, après
compilation de toute instruction, elle est exécutée tout de suite. S’il y a une erreur
dans une instruction, l’interpréteur s’arrête et rejette le reste du programme.

 Langage assembleur
Un langage assembleur est à cheval entre un langage de haut niveau et un langage
machine (binaire). On a la possibilité de faire usage d’emplacement de mémoire à cet
effet, on se sert d’adresse symbolique. Une instruction a la structure suivante :
[ad] CO OP
ad= adresse (on peut la préciser ou pas)
Co= code de l’opération à effectuer
Op=opérande.
On peut avoir 0, 1, 2, 3 opérande. Dans cas de plus d’un opérande ils sont séparés par
des virgules.
Les opérandes sont généralement les adresses de mots ou d’instructions.
L’interprétation des mots dépend du code. On se sert en général des symboles
comme adresse de mot mémoire ou d’instructions.
L’adresse symbolique consiste à donner au choix un symbole à l’adresse mémoire

ENSP Anne Marie CHANA Page 12


Architecture des ordinateurs
(1)

Algorithme de
résolution

(2)

Vérification non
(nous même) Modification

oui
(3)

Traduction en langage
de haut niveau

(4)

Programme
source

(5)

Vérification non
(nous même) Corriger

oui
(6)

Compiler non
(compilateur) Rejet et
modification
Ok
(7)

Fichier Objet

(8)

Editeur de lien Rejet, modifier


le fichier
source et
(9)

Fichier
exécutable
(10)

Résultat Exécuteur Résultat bon


mauvais

ENSP Anne Marie CHANA Page 13


Architecture des ordinateurs

III. Programme assembleur à 0,1, 2,3 adresses


Toute instruction a la structure suivante :[AD] Co OP

a) Instructions à 3 adresses

Sa structure est : [AD] CO OP1, OP2, OP3 ou OP1, OP2 et Op3 sont des
adresses symboliques des mots mémoires,
Interpretations: OP3 OP1 Co OP2
Example: CO: ADD= addition
MPY= multiplication
SUB= soustraction
DIV= division
Supposons qu’on a X=A+B
L’équivalent c’est ADD A, B, X
Y = C-D SUB C, D, Y
Z = A/B DIV A, B, Z
S=T U MPY T, U, S
Exemple : on veut A 0 SUB A, A, A
On aura alors A A–A
Ou on veut A B,
On aura SUB A, A, A
ADD A, B, A

b) Instructions à 2 adresses

Sa structure est [AD] C0 OP1,OP2


Interprétation : OP1 OP1 C0 OP2
Comment effectuer donc X= A+B
SUB X, X X 0
ADD X, A X A+0
ADD X, B X A+B

c) Instructions à une adresse

Sa structure : [AD] Co OP
Ici, on suppose que l’accumulateur dispose du 1er opérande et que le 2nd se
trouve dans le mot mémoire qui a pour adresse OP
Interprétation : AC AC Co OP

ENSP Anne Marie CHANA Page 14


Architecture des ordinateurs

En plus des opérations arithmétiques, on dispose de deux instructions :


Chargement de l’accumulateur et déchargement
 Chargement : LOAD OP : AC OP
 Déchargement : STORE OP : OP AC
Comment effectuer X= A+B
On a LOAD A: AC A
ADD B : AC AC+B ou AC A+B
STORE X : X AC ou X A+B

d) Instruction à 0 adresse

La structure est la suivante : Co, l’adresse des opérandes n’est pas indiquée sauf pour
deux instructions particulières : chargement et déchargement. Cette structure
suppose que les opérandes sont disposés de façon séquentielle dans une pile, les
résultats des opérations arithmétiques sont aussi sauvegardés dans la pile. Une pile
fonctionne sur le principe LIFO (last in first out), "premier entré dernier servi".
Interprétation des opérations arithmétiques
On suppose qu’à tout moment, la pile contient toutes les données nécessaires, en
particulier, la pile contient deux entrées (mots) :
TL (tête de pile)
SL (entrée située juste en dessous de la tête de pile)
Instruction de chargement PUSH
PUSH X (mettre au-dessus de la pile le contenu de X)

A 4
-5
B 3 PUSH B
3
PUSH C
C -5

Instruction de déchargement POP


POP X, cette instruction enlève le contenu du mot qui a pour adresse TL (1er
élément) et le transfert dans le mot qui a pour adresse X.

Ces deux instructions provoquent aussi la modification de TL et SL ainsi :


 Après PUSH TL devient TL+1 et SL devient TL on a donc

ENSP Anne Marie CHANA Page 15


Architecture des ordinateurs

 Après POP

Interprétation des opérations arithmétiques


CO := (TL) CO (SL) SL, POP
Avec CO = ADD, SUB, DIV ou MPY
Exemples
ADD (SL) + (TL) SL, POP

4 4
4 TL 7
3 3 7
-5
-5 3 SL -5

Pile après le pop


Pile avant Pile avant le pop
l’addition

(TL) - (SL) -> SL,POP


SUB : (SL) – (TL) SL ,POP
DIV :(SL) /(TL) SL ,POP (TL)/(SL) -> SL,POP
MPY : (SL) (TL) (TL)*(SL) ->SL,POP

Exemple : on a Z = A B + C/D
Ecrire des programmes assembleurs à 0,1 2 et 3 adresses qui permettent d’évaluer
l’expression ci-dessus.
e) Instruction de débranchement (pour les 4 types d’instructions)

Ces instructions permettent de rompre l’exécution séquentielle d’un programme,


elles font usage de l’adresse d’une instruction. Les instructions de débranchement
sont :
BR X = débranchement inconditionnel à l’instruction que pour adresse X
BGT X= débranchement à l’instruction que porte l’adresse X si le résultat (tampon)
est positif ou > à 0
BGE X= débranchement à l’instruction que porte l’adresse X si le résultat de
l’opération arithmétique est 0 (positif ou nul)
BLT X débranchement à l’instruction que porte l’adresse X si le résultat est < à X
(négatif)

ENSP Anne Marie CHANA Page 16


Architecture des ordinateurs

BLE X si le résultat est négatif ou nul


BEZ X si le résultat est nul

f) Instruction de lecture et d’écriture

 Lecture : READ X cette instruction nous permet de lire une valeur de


l’extérieur et de la ~ 17 ~transférer dans le mot qui pour adresse
symbolique X.
 Ecriture WRITE X nous permet d’envoyer à l’extérieur la valeur du
mot qui pour adresse symbolique X a une unité de sortie.

ENSP Anne Marie CHANA Page 17


Architecture des ordinateurs

CHAPITRE II. Représentation de


l’information

I. Généralités
Le système le plus couramment utilisé est le système décimal qui utilise les chiffres
de 0 à 9, c'est le système de référence. Le nombre de chiffres utilisés dans un système
s'appelle sa base. Les machines digitales ou numériques fonctionnent en binaire,
c'est-à-dire selon le système de base 2.
En particulier on a :
0 et 1 : base 2
0à7: base 8
0 à 9 et de A à F : base 16
Si B est la base, alors un nombre entier N en base B s'exprime sous la forme :

Ou
en notation de position. La position d'un chiffre rappelle la
puissance de la base qui multiplie ce chiffre. Dans le cas des ai c'est Bi.
En base 10
152 = 1 x 102 + 5 x 101+ 2 x 100 ce qui s'écrit encore :
a2a1a0 = a2102 + a1101+a0100
Un nombre fractionnaire P, c'est-à-dire compris entre 0 et 1 s'exprime sous la forme
suivante dans la base B:

Ou
en notation de position.
On fait précéder le premier chiffre non nul de "0." pour signifier que c'est un nombre
décimal. La puissance de la base qui correspond à un rang donné s'appelle le poids
de ce nombre. Pour éviter des confusions, du fait que les mêmes chiffres sont
communs à plusieurs bases, on spécifie la base de la manière suivante :
13  (13)10  (1101)2  (15)8  (D)16
Ou
13  1310  11012  158  D16

ENSP Anne Marie CHANA Page 18


Architecture des ordinateurs

IV. Représentation des nombres dans les trois (3) systèmes


Nous nous intéresserons particulièrement à trois systèmes
Binaire ou base 2 : chiffres 0 et 1
Octal ou base 8 : chiffres de 0 à 7
Hexadécimal ou base 16 : chiffres de 0 à 9 et lettres de A à F
On peut dresser le tableau de correspondance suivant entre différentes bases :

Décimal Binaire Octal Hexadécimal


0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
V. Conversion d’une base à une autre (nombres positifs)

1. Partie entière
On a [N]= (anan-1…a1a0) on veut avoir [N]=(cmcm-1…c1c0)
Il y a deux méthodes :
i. On connait la table de conversion de chiffre entre les deux bases, on connait la table
de multiplication dans la base . On connait la table de l’addition dans la base . On écrit
N dans sa base polynômiale qui est :

N=a0+ (a1+ (a2+… (an-1+ an))) puis on remplace et chaque ai par leur
représentation en puis on fait l’arithmétique en base .
Exemple : convertir X = (2BAD)16 en base 10
On a X= D+16(A+16(B+16 2))

ENSP Anne Marie CHANA Page 19


Architecture des ordinateurs

=13+16(10+16(11+16 2)) =(11181)10


Rq : la difficulté de cette approche vient du fait qu’il faut une table de conversion et
les tables des opérations arithmétiques.
ii. On constate que N=a0+ (a1+ (a2+… (an-1+ an)))
=c0+ (c1+ (c2+…+ (cm-1+ cm)))
La division Q=c1+ (c2+ (c3…+ (cm-1+ cm)))

R c0 R=reste
Si on divise N par on a le quotient Q et le reste c0. En répétant le processeur on
retrouve c0 jusqu’à cm le processus s’arrête lorsque le quotient est 0. Il faut retenir que
les chiffres de la représentation de sont retenus dans l’ordre inverse.
Exemple : convertir (3781)10 en base 2
3781 2
1890 2 1 c0
945 2 0 c1
472 2 1 c2

c11
On a donc (111011000101)2
En base 8 on a
3781 8
472 8 5
59 8 0 qui donne (7305)8
7 8 3
7 8 7
0
En base 16 on a
3781 16 5
236 16 C d’où (EC5)16

16 E
0

ENSP Anne Marie CHANA Page 20


Architecture des ordinateurs

2. La partie fractionnaire

On peut extraire la partie entière de on obtient c1


On peut extraire la partie décimale de on obtient c2 ainsi de suite jusqu’à cm.
Soit x le nombre, on définit par E(x) la partie entière de x et F(x) la partie
fractionnaire de x avec . La conversion de x en base se fait de la manière
suivante :
On définit d0=x et d1=F( d0),c1=E( d0),d2=F( d1),c2=E( d1) jusqu’à
dm=F( dn-1), cm=E( dm-1). Obtient ainsi la représentation de x=(0.c1c2…cm)
Exemple : x=(0,825)10

d0= c0=1

d1= c1=1 d3= c3=1

d2= c2=0 d4= c4=0

d5= c5=0 d6= c6=1

d7=0.600=d3 d’où c7=1, c8=0, c9=0


d’où on a (0.825)10 = (0.1101001100110011…)

ENSP Anne Marie CHANA Page 21


Architecture des ordinateurs

Remarques : La multiplication précédente pour la conversion de la partie décimale peut


durer longuement, alors se pose le problème de s'arrêter à la même précision que celle du
nombre de départ. Si la partie décimale a m chiffres, sa conversion aura n chiffres de façon
que :
Base 2 : n=3,32 m
Base 8 : n=1,11 m
Base 16 : n=0,8 m
bm= 10n → m logb = n
m = n / logb
Ainsi par exemple, si m = 2, on aura respectivement n = 7 en binaire, 3 en octal
et 2 en hexa.

a. Conversion 2 8 16
(i) 2 8

Etant donné un nombre en base 2 la conversion en base 8 se fait en subdivision de la


représentation en binaire en groupe de 3 bits par sa valeur en base 8.la subdivision
précède du point décimal vers la gauche pour la partie entière, vers la droite pour la
partie décimale.
Dans les deux cas on peut avoir à compléter le dernier groupe de 3 bits par des zéros
Exemple : 001101101001 . 110010100
On a donc en base 8 (1551.624)8
De façon générale on a
E(x) peut se mettre sous la forme suivante

On suppose que n+1 est un multiple de 3 sinon on adjoint des zéros au début pour en
faire. On constate alors que les puissances de 2 dans la nouvelle expression peuvent
se mettre sous forme d’une puissance de 8. Les coefficients de chacune de ces
puissances sont des chiffres de la base 8. Chacun étant constitué de 3 chiffres
binaires, on retrouve la subdivision précédente
F
En remarquant dans cette décomposition que les puissances négatives de 2 sont en
même temps ceux de 8 et que les coefficients de ces puissances sont les chiffres de la
base 8 ce qui justifie la subdivision précédente.

(ii) 2

La subdivision ou décomposition est identique au précédent mais en groupe de 4


bits. On remplace chaque bit par sa valeur en base 16

ENSP Anne Marie CHANA Page 22


Architecture des ordinateurs

(iii) La conversion entre la base 8 et 16 se fait en passant par la base 2 on a


ou on a

VI. Les opérations arithmétiques


On distingue 4 opérations arithmétiques : l’addition, la multiplication, la division, la
soustraction
a) Addition

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

b) Multiplication

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

c) Division

0 0 !
0 1 0
1 0 !
1 1 1

d) Soustraction

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

ENSP Anne Marie CHANA Page 23


Architecture des ordinateurs

1. Notion de chiffre significatif


On a 3 règles:
1) Un chiffre non nul est toujours significatif
2) Le chiffre 0 est significatif quand il est placé entre deux chiffres, tandis qu'il n'est
jamais significatif quand il précède tous les chiffres non nuls.

Exemples: 123 trois chiffres significatifs


42.51 quatre chiffres significatifs
621.042 six chiffres significatifs
10.004 cinq chiffres significatifs
0.00051 deux chiffres significatifs
11.0000700 neuf chiffres significatifs
3) Tous les zéros placés en fin de nombre sont significatifs si le nombre comporte une
virgule
Exemple : les nombres
230.0 2.3000 et 0.0023000 ont chacun cinq chiffres significatifs.
230.00

2. Notion d'arrondi et d'erreur d'arrondi


Problème: on voudrait représenter un nombre par un autre comportant moins de
chiffres décimaux ou un nombre donné de chiffres significatifs.
On va donc laisser tomber une certaine quantité de chiffres significatifs et arrondir au
niveau du dernier chiffre significatif abandonné: celui-ci est appelé : le chiffre test.
On va arrondir :
- à la valeur inférieure si le chiffre test est inférieur à 5,
- à la valeur supérieure si le chiffre test est supérieur à 5.
Exemples: Soit à arrondir à deux décimales après la virgule :
152.432617 = 152.43
0.002724 = 0.00
0.01841 = 0.02
125.4370 = 125.44
La différence entre la véritable valeur et la valeur après arrondi est l'erreur d'arrondi.
Elle est toujours inférieure à 0.5

3. Notion de troncature et d'erreur de troncature


Ici on coupe le nombre pour ne conserver qu'une quantité fixe de chiffres. Il s'agit de
négliger les chiffres les moins significatifs.
Exemple: soit à réduire ces nombres à une seule décimale après la virgule
75.87 6.6798 -199.251 -0.0387624
75.8 6.6 -199.2 -0.0

ENSP Anne Marie CHANA Page 24


Architecture des ordinateurs

VII. Représentation des entiers

1. Nombre en complément
La représentation des nombres en complément facilite l’opération de soustraction dans les
ordinateurs. Ainsi, au lieu de soustraire, on ajoute le complément.
Exemple : .
Pour chaque base , il existe 2 types de complément d’un nombre.
- Le complément à
- Le complément à
Exemple : base 10 : complément à 10, à 9
Base 2 : complément à 2, à 1

i) complément à

Soit x un nombre à n bits, le complément à de x est : .


L’opération revient à soustraire chaque chiffre de de ainsi le complément à
de c’est le nombre obtenu en remplaçant chaque chiffre de x par son
complément par rapport à Le complément est de la forme

Exemple : si
Le complément à 1 c’est le nombre qu’on obtient en remplaçant chaque chiffre par
son complément. On remplace 1 par 0 et 0 par 1.

Soit N=1010 sur 4 bits N’= (24 - 1)-N


donc son complément à un de N :
N’=(16-1 )-(1010)2= (15 ) - (1010)2 = (1111)2 – (1010)2 = 0101

ii) complément à

Soit un nombre x représenté avec n bits. x se mettant sous la


forme : . Le complément à est égal à:

Le complément à d’un nombre x est défini comme en l’exprimant sous la


forme . On en déduit que le complément à est égal au complément
à

ENSP Anne Marie CHANA Page 25


Architecture des ordinateurs

Exemple : complément à 10 de 72945


On a

Pour

Pour trouver le complément d’un nombre à on parcoure le nombre de la droite vers


la gauche en copiant tous les 1ers zéros rencontrés avant la premier chiffre non nul
qui sera remplacé par son complément à et le reste des chiffres par leur
complément à .

Exemple :

Remarque : Dans la représentation en complément il faut toujours fixer le nombre de


bits au départ avant de chercher le complément d’un nombre.

2. Soustraction en complément

a) Nombres sans signe


i) Complément à r
Pour l’opération on a l’opération suivante
- Ajouter à M le complément à r de N
- Si la somme génère une retenue ( c.a.d. M>=N), il faut ignorer
- Si la somme ne génère pas de retenue, le résultat est obtenu en prenant le
complément à r de la somme et en précédant du signe –
Exemple : n=5
1) 72532 – 03250 3) 1010100 – 1000011
+ 96750 + 0111101
1 69282 1 0010001

2) 1250 – 9456 4) 01001 – 11100


+ 0544 + 00100
1794 01101 résultat : - (01101)
-(8206)

ENSP Anne Marie CHANA Page 26


Architecture des ordinateurs

le résultat cherché est - 8206

ii) complément à r-1


- On ajoute à M le complément à r-1 de N
- S’il y a retenue, on ajoute la retenue à la somme
- S’il n’y a pas de retenue, le résultat est le complément à r-1 de la somme en
précédent du signe -

Exemple : 1) 72532 – 03250 3) 1010100 – 1000011


+ 96749 + 0111100
1 69281 1 0010000
+ 1 + 1
69282 0010001
2) 1250 – 9456 4) 01001 – 11100
+ 0543 + 00011
1793 01100
-(8206) -(10011)

L’inconvénient avec cette approche (nombre sans signe) c’est qu’il faut comparer M
et N pour savoir ce qu’il faut faire du résultat. On contourne cette difficulté en
représentant les nombres avec signe.

b) Nombre avec signe


On fixe au départ le chiffre qu’il faut pour représenter un nombre avec pour
convention que le 1er chiffre représente le signe pour la base 2. 0 pour + et 1 pour -
Il y a 3 types de représentation pour les nombres avec signe
- Signe + | |
- Complément à 1 avec signe
- Complément à 2 avec signe

i) Signe suivi de valeur absolue (| |)

Le premier bit représente le signe, le reste c.-à-d. n-1 la valeur absolue du nombre
Exemple : n=8 représentation de 5 et -5
00000101 et 10000101 respectivement
ii) complément à 1 avec le signe
On représente la valeur absolue du nombre sur les n bits et on le remplace par son
complément à r y compris le 1er bit (s’il est négatif on le remplace par son complément à r)

ENSP Anne Marie CHANA Page 27


Architecture des ordinateurs

Exemple : n=8 représentation de 5 et -5

11111010 et 00000101

(-5) (5)

Soustraction (nombre avec signe)


 complément à r
- On ajoute à M le complément à r de N, on ignore la retenue
- Si la retenue qui se propage dans la position signe est différente de celle qui se
propage hors de cette position, le résultat est mauvais
- Si les retenues sont identiques, le résultat est bon
 complément à r-1
On procède de la même façon mais on ajoute à la somme toute retenue générée. Si

rn #rn+1 le résultat est mauvais. i.e. on peut avoir

Lorsque rn#rn+1 il y a dépassement de mémoire parce que les résultats de l’opération ne


peuvent pas être représentés avec les n bits.

Remarque :

• Nous avons un débordement si la somme de deux nombres positifs donne un


nombre négatif.

• Ou la somme de deux nombres négatifs donne un Nombre positif

• Il n’y a jamais un débordement si les deux nombres sont de signes différents.

Exemple : n=4 complément à 2 complément à 1 signe + | |

7 0111 0111 0111


6 0110 0110 0110
5 0101 0101 0101
4 0100 0100 0100
3 0011 0011 0011
2 0010 0010 0010
1 0001 0001 0001
0 0000 0000 0000
-0 - 1111 1000
-1 1111 1110 1001

ENSP Anne Marie CHANA Page 28


Architecture des ordinateurs

-2 1110 1101 1010


-3 1101 1100 1011
-4 1100 1011 1100
-5 1011 1010 1101
-6 1010 1001 1110
-7 1001 1000 1111
-8 1000 - -
De façon générale, pour n bits (base 2) on peut représenter les nombres compris entre
[-2n-1,2n-1-1] complément à 2, [-(2n-1-1),2n-1-1] complément à 1 et signe + | |

Exemple : n=4

-(23-1)[-7,7] complément à 1 et signe + | |

[-8,7] complément à 2

VIII. Représentation des réels


Un nombre réel est constitué de deux parties : la partie entière et la partie
fractionnelle (les deux parties sont séparées par une virgule). Problème c’est
comment indiquer à la machine la position de la virgule ?
Il existe deux méthodes pour représenter les nombre réel :
– Virgule fixe : la position de la virgule est fixe
– Virgule flottante : la position de la virgule change (dynamique)

1. Virgule fixe
Dans cette représentation la partie entière est représentée sur n bits et la partie
fractionnelle sur p bits, en plus un bit est utilisé pour le signe.
Exemple : si n=3 et p=2 on va avoir les valeurs suivantes

ENSP Anne Marie CHANA Page 29


Architecture des ordinateurs

Signe P.E P.F Valeur

0 000 00 + 0,0
0 000 01 + 0,25
0 000 10 + 0,5
0 000 11 + 0,75
0 001 .00 + 1,0
. . . .
. . . .

Dans cette représentation les valeurs sont limitées et nous n’avons pas une grande
précision

2. Virgule Flottante
En interne, les nombres réels sont représentés à l’aide d’une notation spéciale appelée
virgule flottante. La représentation se fait à l’aide d’un mot en précision simple et de
plusieurs mots en grande précision.
Pour un mot de n bits, la représentation se décompose de la façon suivante :

1 n1 n2

Signe de la
mantisse
Mantisse
Exposant
sur n2 bits
sur n1 bits
n=1+n1+n2 (nombre de chiffres qu’il faut pour la représentation)

Un nombre flottant a donc la représentation suivante :

- La mantisse est comprise entre et 1. , elle est normalisée c.a.d si

alors d’où on a pour

Pour
Si est égal à zéro alors

ENSP Anne Marie CHANA Page 30


Architecture des ordinateurs

- L’exposant t est un entier relatif, il peut être représenté sous la forme à complément
ou sous la forme signe + | | ou sous une forme spéciale dite biaisée.

Forme Complément à 2 (CA2)


On veut représenter les nombres (0,015)8 et -(15, 01)8 en virgule flottante dans une
machine ayant le format suivant :
Signe mantisse Exposant en CA2 Mantisse normalisée

1bit 4bits 8bits


(i) (0,015)8=(0,000001101)2= 0,1101 * 2-5

Signe mantisse : positif (0)


Mantisse normalisé : 0,1101
Exposant = -5  utiliser le complément à deux pour représenter le -5
Sur 4 bits CA2(0101)=1011
0 1 0 1 1 1 1 0 1 0 0 0 0

(ii) - (15,01)8 = - (001101,000001)2= - 0,1101000001 * 24

Signe mantisse : négatif (1)


Mantisse normalisée : 0,1101000001
Exposant = 4 , en complément à deux il garde la même valeur (0100)
On remarque que la mantisse est sur 10 bits (1101 0000 01), et dans la machine
seulement 8 bits sont utilisés pour la mantisse. Dans ce cas on va prendre les 8
premiers bits de la mantisse.

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

Remarque : si la mantisse est sur k bits et si elle est représentée dans la machine
sur k’ bits tel que k> k’, alors la mantisse sera tronquée : on va prendre uniquement
k’ bits  perdre dans la précision.

Forme biaisée
En complément à 2, l’intervalle des valeurs qu’on peut représenter sur p bits :
-2 (p -1) ≤ N ≤ 2 (p -1) -1
Si on rajoute la valeur 2 (p -1) à tous les termes de cette inégalité :
- 2 (p -1) + 2 (p -1) ≤ N + 2 (p -1) ≤ 2 (p -1) - 1 + 2 (p -1)

ENSP Anne Marie CHANA Page 31


Architecture des ordinateurs

0 ≤ N + 2 (p -1) ≤ 2p - 1
On pose N’= N + 2 (p -1) donc : 0 ≤ N’ ≤ 2p -1
Dans ce cas on obtient des valeurs positives.
La valeur 2p-1 s’appelle le biais ou le décalage
On a donc ainsi :
Exposant Biaisé = Exposant réel + Biais ou encore N’= N + 2 (p -1)

Exemple :
On veut représenter les nombres (0,015)8 et -(15, 01)8 en virgule flottante dans une
machine ayant le format suivant :
Signe mantisse Exposant biaisé Mantisse normalisée
1bit 4bits 11bits
(i) (0,015)8=(0,000001101)2= 0,1101 * 2-5

Signe mantisse : positif ( 0)


Mantisse normalisé : 0,1101
Exposant réel = -5
Calculer le biais : b= 24-1 = 8
Exposant Biaisé = -5 + 8 = +3 = ( 0011)2
0 0011 1 1 0 1 0 0 0 0 0 0 0

(ii) - (15,01)8=(001101,000001)2= 0,1101000001 * 24

Signe mantisse : négatif ( 1)


Mantisse normalisée : 0,1101000001
Exposant réel = + 4
Calculer le biais : b= 24-1 = 8
Exposant Biaisé = 4 + 8 = +12 = ( 1100)2
1 1100 1 1 0 1 0 0 0 0 0 1 0

Convention IEEE : Format simple précision (32 bits)

Un nombre flottant simple précision est stocké dans un mot de 32 bit : 1 bit de signe,
8 bits pour l'exposant et 23 pour la mantisse.

ENSP Anne Marie CHANA Page 32


Architecture des ordinateurs

L'exposant est décalé de 28 − 1 − 1 = 127 dans ce cas. L'exposant va donc de -126 à


+127. Un exposant de -127 serait décalé vers la valeur 0, mais celle-ci est réservée
pour 0 et les nombres dé-normalisés. Un exposant de 128 serait décalé vers 255, qui
est réservé pour coder les infinis, et les NaNs (Not a Numbers). Il y a trois cas
particuliers :

 si l'exposant et la mantisse sont tous deux nuls, le nombre est ±0 (selon le bit
de signe)
 si l'exposant est égal à 2e – 1 (1 sur tous les bits de l’exposant), et si la mantisse
est nulle, le nombre est ±infini (selon le bit de signe)
 si l'exposant est égal à 2e − 1, mais que la mantisse n'est pas nulle, le nombre
est NaN (not a number : pas un nombre)

Remarque :

La version 1985 de la norme IEEE 754 définit 4 formats pour représenter des nombres à
virgule flottante :

 simple précision (32 bits : 1 bit de signe, 8 bits d'exposant (-126 à 127), 23 bits de
mantisse, avec bit 1 implicite),
 simple précision étendue (≥ 43 bits, obsolète, implémenté en pratique par la double
précision),
 double précision (64 bits : 1 bit de signe, 11 bits d'exposant (-1022 à 1023), 52 bits de
mantisse, avec bit 1 implicite),
 double précision étendue (≥ 79 bits, souvent implémenté avec 80 bits : 1 bit de signe,
15 bits d'exposant (-16382 à 16383), 64 bits de mantisse, sans bit 1 implicite).

3. Opérations arithmétiques en virgule flottante


Soit deux nombres réels N1 et N2 tel que
N1=M1*be1 et N2=M2*be2
On veut calculer N1+N2 ?
Deux cas se présentent :
– Si e1 = e2 alors N3= (M1+M2) be1
– Si e1 < > e2 alors élevé au plus grand exposant et faire l’addition des mantisses et par
la suite normalisée la mantisse du résultat.

ENSP Anne Marie CHANA Page 33


Architecture des ordinateurs

Exemple : Effectuer l’opération suivante : (0,15)8+ (1,5)8=(?) :


(0,15)8= (0,001101) = 0,1101 *2-2
(1,5)8= (001, 1 01) = 0,1101 *21
(0,15)8+ (1,5)8 = 0,1101 *2-2 + 0,1101 *21
= 0,0001101 *21 + 0,1101 *21
= 0, 1110101 * 21

ENSP Anne Marie CHANA Page 34


Architecture des ordinateurs

Exercice : (i) Donner la représentation des deux nombres N1= (-0,014)8 et N2=(0,14)8
sur la machine suivante :
Signe mantisse Exposant baisé Mantisse normalisée
1bit 5bits 10bits
(ii) Calculer N2-N1 ; montrer qu’on a le même résultat en utilisant l’exposant réel d’une
part et l’exposant biaisé d’autre part.

Solution :
Avant de représenter les deux nombres on doit calculer le biais (décalage)
B = 2 5-1 = 24 = 16
N1 = (-0,014) 8 = (-0,000001100) 2= (-0,1100) 2 . 2 - 5
ExpB= -5 + 16 = 11 = (01011)2
N2 = (0,14)8 = (0,001100)2= (0,1100)2. 2 -2
ExpB = -2 + 16 = 14 = (01110) 2
Donc on va avoir la représentation suivante pour N1 et N2:

N1 1 01011 1100000000

N2 0 01110 1100000000

N2 - N1 = 0,14 – (-0,014) = 0,14 + 0,014


N2 - N1 = (0,1100)2. 2-2 +(0,1100) 2 . 2-5
= (0,1100)2. 2-2 +(0,0001100) 2 . 2-2
= (0,1101100)2. 2-2
• Si on fait les calculs avec l’exposant biaisé :
N2 - N1 = (0,1100)2. 214 + (0,1100) 2 . 211
= (0,1100)2. 214 + (0,0001100) 2 . 214
= (0,1101100)2. 214
Exposant biaisé = 14
Exposant réel = Exposant biaisé – Biais
Exposant réel = 14 – 16 = -2
Donc on trouve le même résultat que la première opération.

ENSP Anne Marie CHANA Page 35


Architecture des ordinateurs

CHAPITRE III. Eléments d’algèbre de


Boole et de circuit logique

I. Algèbre de Boole
Soient un ensemble B = {1,0}, +, . et − (la complémentarité) les opérateurs définis
de la manière suivante :

Addition (logique) Multiplication (logique) Complémentarité (-)


0+0=0 0.0=0 =1
1+0=1 0.1=0 =0
0+1=1 1.0=0
1+1=1 1.1=1

On dit que B muni des opérations +, . , − est appelé algèbre de Boole.

I.1 Fonction Booléenne


Soient x et y et f(x,y) une fonction à valeur dans B, f est appelée fonction
booléenne. Pour étudier une fonction booléenne, il faut construire sa table de vérité.

I.2 Table de vérité


La table de vérité d’une fonction booléenne donne toutes les valeurs possibles
de la fonction pour toutes les valeurs possibles de ses arguments.
Exemple :
Table :
X Y F(x,y)
0 0 0
0 1 0
0 1 0
1 0 1
1 1 1

La table de vérité peut être utilisée pour démontrer les théorèmes


fondamentaux de l’algèbre de Boole. De façon générale pour une fonction à n
variables, la table de vérité va comporter n+1 colonnes et lignes. Il est recommandé
de lister les combinaisons dans l’ordre croissant c'est-à-dire

ENSP Anne Marie CHANA Page 36


Architecture des ordinateurs

00...…………0
00…………...1
00.…………10
Exemple :
x Y Z F(x,y,z)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 1 0
1 1 1
1 0 1

I.3 Théorèmes fondamentaux de l’algèbre de Boole


Soient
Théorèmes :
Elément neutre
1.
2.
Elément absorbant
3.
4.
Idempotence
5.
6.
Complémentarité

7.
8.
9.
Commutativité
10.
11.

ENSP Anne Marie CHANA Page 37


Architecture des ordinateurs

Associativité
12.
13.
Distributivité
14.
15. x   y . z   x  y . x  z
Théorème de l’absorption (1)
16.
17.
Théorème de l’absorption (2)
18.
 
19. a  b .b  a.b
Divers
20.
21.

Théorème de De Morgan

On appelle preuve par induction parfaite la preuve qui consiste à établir


l’équivalence entre deux expressions booléennes à l’aide de la table de vérité.
II. Représentation d’une fonction booléenne
Lorsqu’on construit un circuit logique, on dispose de deux ensembles,
ensemble des in put (ce qu’on injecte dans le circuit), ensemble des out put (ce que
génère le circuit), in put = argument et out put = est une fonction des arguments.
Généralement on part de la description non ambiguë et exhaustive du
comportement du circuit pour les différentes valeurs des inputs, on cherche à
déduire une expression booléenne qui est conforme à cette description. La
description exhaustive se fait à l’aide d’une table de vérité.

ENSP Anne Marie CHANA Page 38


Architecture des ordinateurs

Exemple : table de vérité de l'additionneur

x Y S r p
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Il existe en général deux méthodes de dérivations d’expression logique à partir


d’une table de vérité.

II.1 Forme disjonctive : Expression sous forme de somme de termes produits


Principe :
 On construit la table de vérité
 On ajoute à la table de vérité une colonne appelée colonne de termes produits
 Chaque entrée de cette colonne comprend le produit des inputs construit de la manière
suivante :
 Si un input prend la valeur 0 il intervient sous la forme complément
 Si non on prend la forme normale de l’input
 L’expression recherchée est égale à la somme des termes produits qui correspondent aux
lignes où la fonction prend la valeur 1 ou vraie.

Exemple :
Construire l’expression booléenne de

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

Remarque : Si chacun des produits contient toutes les variables d’entrée sous une
forme directe ou complémentée, alors la forme est appelée « première forme
canonique » ou « forme canonique disjonctive ». Chacun des produits est alors
appelé minterme.

ENSP Anne Marie CHANA Page 39


Architecture des ordinateurs

Exemple de forme canonique disjonctive :

II.2 Forme conjonctive : Expression sous forme de produit des termes somme
Principe :
 On construit la table de vérité
 On ajoute à la table de vérité une colonne appelée colonne de termes somme
 Chaque entrée comprend la somme des inputs construit de la manière
suivante :
 Si une variable prend la valeur 0 elle intervient sous sa forme normale
 Si elle prend la valeur 1 elle intervient sous forme complémentaire
 L’expression s’obtient en prenant le produit des termes somme correspondant
aux entrées où la fonction est fausse (0).

Exemple :

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

On peut démontrer qu’une expression sous forme produit des termes sommes
est le duale d’une expression somme des termes produits.

Exemple :

X Y p
0 0 0
0 1 0
1 0 1
1 1 0

Remarque : Si chacune des sommes contient toutes les variables d’entrée sous une
forme directe ou complémentée, alors la forme est appelée « deuxième forme

ENSP Anne Marie CHANA Page 40


Architecture des ordinateurs

canonique » ou « forme canonique conjonctive ». Chacune des sommes est alors


appelée maxterme. Exemple de forme canonique conjonctive :

II.3 Représentations géométriques des fonctions booléennes.


La représentation des ensembles héritée de Venn, un mathématicien
britannique peut être utilisée pour illustrer les trois opérateurs de l’algèbre de Boole.
On parle aussi de représentation par le diagramme d’Euler.
La complémentarité (ou négation) :

L’intersection (ou la conjonction) :

L’union (ou la disjonction) :

Il est possible d’inclure jusqu’à six ensembles (six variables) et d’exprimer des
énoncés logiques relativement complexes. Par exemple, la fonction A.B est exprimée
ainsi :

ENSP Anne Marie CHANA Page 41


Architecture des ordinateurs

Exercice : Représenter les fonctions


F1 = AB+ A BC+B C
F2 = ABCD+A B C D+ A B C D + A B CD+AB C
F3 = A B +BC+AB C

III. Simplification des expressions logiques

On cherche ici à obtenir une expression algébrique comportant un nombre


minimal de termes, ainsi qu’un nombre minimal de variables dans chaque terme
dans le but de simplifier la réalisation matérielle.

Attention : l’optimisation d’une fonction logique dépend de paramètres tels que


la performance en vitesse désirée, la consommation maximale autorisée ou
l’obligation d’utiliser des bibliothèques de fonctions élémentaires prédéfinies. La
complexité de la représentation algébrique n’est donc qu’un critère d’optimisation
parmi d’autres.

Il existe plusieurs méthodes de simplification d’expression booléenne.

III.1. Méthode algébrique


La méthode algébrique se rapporte aux relations fondamentales d’algèbre de
Boole, de mise en facteur et aux théorèmes de De Morgan. On distingue plusieurs
procédés permettant d’aboutir au but recherché :

Regroupement des termes et mises en facteur

Nous avons successivement utilisé une mise en facteur, la complémentarité, une


deuxième mise en facteur et enfin le théorème d’absorption.

Réplication de termes existants

ENSP Anne Marie CHANA Page 42


Architecture des ordinateurs

La réplication du terme a⋅b⋅c permet de simplifier chacun des trois premiers


termes en utilisant une mise en facteur et la complémentarité.

Suppression de termes superflus

Nous avons ici réintroduit la variable b dans le troisième terme par


l’intermédiaire de la propriété de complémentarité, nous avons ensuite utilisé la
propriété d’absorption pour simplifier les produits.

Exemple :
a)

b)

c)

ENSP Anne Marie CHANA Page 43


Architecture des ordinateurs

III.2. Méthode des tables de Karnaugh


Les tables de Karnaugh sont des représentations sous forme d’un tableau à deux
dimensions de la table de vérité. Elles sont construites de façon à ce que les termes
logiquement adjacents soient géométriquement adjacents. Chaque ligne de la table
de vérité est représentée par une case du tableau de Karnaugh dans laquelle on
indique la valeur de la fonction.

La contrainte d’adjacence géométrique est réalisée par un ordonnancement des


lignes (resp. colonnes) du tableau pour lequel le nombre de bits modifiés d’un code
au suivant est constant et égal à un. Cette propriété est respectée entre le code de la
dernière ligne (resp. colonne) et celui de la première ligne (resp. colonne). Prenons
par exemple le cas d’une fonction F de trois variables, spécifiée dans le
tableau suivant :

a) Construction du tableau de Karnaugh

 Il y a 2n cases pour n variables.


 A chaque case est associé un minterme égal à 1 pour la combinaison
considérée.
 Le passage d’une case à sa voisine se fait par changement d’une seule variable
à la fois.

b) Règles de simplification

Il s’agit de « paver » le tableau de Karnaugh en regroupant les « 1 » adjacents de


telle manière que :

 l’ensemble des « 1 » de la fonction appartiennent au moins à un pavé,

ENSP Anne Marie CHANA Page 44


Architecture des ordinateurs

 les pavés soient rectangulaires,


 le nombre de « 1 » regroupés dans un pavé soit une puissance de 2.

Chaque pavé ainsi constitué représente un terme produit de la fonction ne


contenant que les variables « stables » (par rapport au codage des lignes et des
colonnes du tableau).

Attention !

 De même qu’il n’y a pas unicité de la représentation algébrique d’une fonction


booléenne, il n’y a pas unicité des regroupements géométriques dans le
tableau de Karnaugh.
 Il ne faut pas oublier les adjacences possibles entre colonnes et lignes extrêmes
du tableau de Karnaugh.

Exercices : Soit à simplifier :


 S1 = {1, 5, 7, 12, 14,15}
 S2 = {3, 6, 9, 10, 11, 13, 14,15}
 S3 = {9,11,15,16,20,22,25,29,41,45,50,52}
Pour S3, les combinaisons disponibles sont :(0,2,13,18,31,38,43,47,53,54,56)

III.3 Méthode de Quine

a) Notion d’Impliquant
Une expression ф implique une expression ϕ si la condition ф  = 0 ne peut
jamais exister, on le traduit par ф ϕ, ou encore on dit que ф est inclus dans ϕ.

ENSP Anne Marie CHANA Page 45


Architecture des ordinateurs

Exemple : ABCAB c’est à dire, ABC<AB.


On dit alors que ABC est l’antécédent, tandis que AB est le conséquent de
l’implication.
Si AB et BA, alors on dit A et B sont équivalents.
Dans une somme booléenne par exemple :
F = A B C+A B implique A B .
Soit S = A+B+C une somme booléenne : on a
A =S
B =S
C =S
On dit que A, B, C sont des impliquants de S. Les intersections de base dont la
réunion est équivalente à S sont des impliquants de S, ainsi que toutes les
combinaisons de ces impliquants.

b) Notion d’Impliquant Premier


Si A  S et A  B, mais que B ≠> S, on dit que A est un impliquant premier.
En d’autres termes, dans une somme booléenne, on a un impliquant premier
lorsqu’on a un terme produit appliquant la fonction, mais qui n’est inclus dans aucun
terme produit contenant un plus petit nombre de variables.
Exemple : soit F = A B C+A B +ABC
A B C n’est pas impliquant premier, car il est contenu dans A B . A B implique la
fonction, et n’est inclus dans aucun autre terme contenant moins de variables que
lui. A B est donc un impliquant premier.
ABC implique aussi la fonction, il est également impliquant premier.

c) Notion d’Impliquant Premier Essentiel ou Obligatoire.


Prenons une fonction représentée par les numéros des intersections de base. Si
un impliquant premier possède un numéro qui n’existe pas dans les autres, c’est à
dire que si un impliquant est seul à réaliser certain numéros, alors cet impliquant
premier est dit essentiel ou obligatoire.
Un impliquant non essentiel dont tous les numéros sont réalisés par la réunion
d’autres impliquants premiers s’avère inutile, de manière qu’on n’en tient pas
compte.

d) Notion d’Implication et de Base.


Nous avons vu qu’une fonction a un ensemble d’impliquants, dans cet
ensemble, on peut en extraire un sous-ensemble dont la réunion réalise la fonction.
Ce sous-ensemble est alors une implication. Si une implication est formée
uniquement d’impliquants premiers, alors elle constitue une base de la fonction.

ENSP Anne Marie CHANA Page 46


Architecture des ordinateurs

Une base peut être de telle sorte qu’en enlevant un seul de ses éléments, on ne puisse
plus réaliser la fonction de départ. Une telle base est dite base première.
On appelle base complète l’implication comprenant tous les impliquants premiers de
la fonction.
Ainsi le problème de simplification va se réduire à celui de la détermination
des impliquants premiers d’une base commode du point de vue de la réalisation
pratique. Avant d’aborder le problème de la simplification, nous allons voir quels
sont les critères qui les guident.

e) Principe
1) Pour toute fonction quelconque F = ß, on peut l’écrire sous la forme canonique de
première espèce en utilisant le théorème ; F= ß (х+ x ). Pour n variables, on aura donc
des termes produits de n variables (sous la forme directe ou complémentée).
2) On applique le théorème ß х+ß x = ß à tous les termes 2 à 2, de façon à passer de n
variables à n-1 variables pour tous les termes. Le théorème sera appliquée autant de
fois que l’on peut, jusqu’au moment où on ne le pourra plus. On a alors la liste des
impliquants premiers, parmi lesquels il faudra faire un choix ultérieur.
Exemple : soit f = A B +B C + B C + A B
Cette fonction fait apparaître la présence de 3 variables : A, B et C.
On va donc mettre f sous la forme canonique de 1ère espèce.
f = A B ( C +C) +B C (A+ A ) + A B(C+ C )
= A B C + A B C + AB C + A B C + A BC + A B C
On diminue les termes identiques pour n’en garder qu’un seul de chaque groupe.
f = A B C+A B C +AB C + A B C + A B C+ A BC
On les écrit sous la forme
A B C. A B
AB C B C
AB C A C
A BC BC
A BC AB
A BC. A C
Ici, on a les termes à n-1 variables. Il faudrait encore appliquer le théorème.
Mais on constate qu’il n’y a plus de termes qui se simplifient on garde donc les
termes obtenus. Dans l’expression, on a 2 termes dont on peut bien se passer,
puisqu’ils n’apparaissent pas dans l’expression de f.
Après avoir utilisé la méthode de Quine pour avoir l’ensemble des impliquants
premiers, voyons maintenant comment choisir ces impliquants.

ENSP Anne Marie CHANA Page 47


Architecture des ordinateurs

Méthode du tableau des impliquants premiers


Impliquants Minterms Noms des
Premiers implicants
AB C A B C AB C A BC A B C A BC premiers
AB X X U
BC X X V
AC X X W
BC X X X
AB X X Y
AC X X Z

F1= A B + B C + A C

F2= B C+ A C + A B

On peut donc réaliser f de 2 manières différentes. Ici, on constate que même les coûts
(niveaux et diodes) sont équivalents pour les 2 réalisations.

III.4 Méthode de PetNick


Elle consiste :
A donner un nom à chaque impliquant premier.
A faire la liste de chaque impliquant premier nécessaire pour réaliser chaque
minterm de la fonction (sous la forme canonique de 1ère espèce).
A dire ensuite que pour que la fonction soit réalisée, il suffit que chacun des
minterms le soit. On a ainsi un produit logique qu’on développe, et on obtient une
somme de termes.
Il reste alors de dire qu’il suffit que l’une quelconque des termes de la somme
précédente soit réalisée pour que la fonction le soit : on va alors choisir les termes les
plus simples pour réaliser la fonction.

ENSP Anne Marie CHANA Page 48


Architecture des ordinateurs

Ainsi pour l’exemple précédent :


Pour le 1er minterm, on réalise par U ou V
2è minterm, on réalise par U ou W
3è minterm, on réalise par W ou X
4è minterm, on réalise par X ou Y
5è minterm, on réalise par V ou Z
6è minterm, on réalise par Y ou Z.
K = (U+V)(U+W)(W+X)(X+Y)(V+Z)(Y+Z)
Pour que K soit représenté, il suffit que K≡1. En développant l’expression ci-dessus
K = (U+VW)(X+WY)(Z+VY)
= (UX+UWY+XVW+VWY)(Z+VY)
= UXZ + UXVY + UWYZ + UWYV + XVWZ + XVWY + VWYZ + VWY
Cette expression est identique à 1 si au moins un des termes est égal à 1. Les termes les plus
simples sont alors UXZ et VWY.
UXZ = A B +B C + A C
VWY = B C+ A C + A B
On retrouve les mêmes expressions que précédemment.

III.5 Méthode de QUINE-MAC-CLUSKEY.


Principe
On regroupe les numéros d’intersections de base représentant la fonction à
simplifier, suivant le nombre de « 1 » qui interviennent dans les équivalents binaires
de ces numéros.
Dans la 1ère colonne, on classe les numéros par ordre dans chaque groupe.

ENSP Anne Marie CHANA Page 49


Architecture des ordinateurs

Exercice : S3, page 45.


0 0000 0
2 0010 1
13 1101 3
18 10010 2
31 11111 5 0 000000
38 100110 3 2 000010
43 101011 4 *16 010000
47 101111 5 *9 001001
48 110000 2 18 010010
53 110101 4 *20 010100
54 110110 4 48 110000
56 111000 3 *11 001011
13 001101
*22 010110
9 1001 2 *25 011001
11 1011 3 38 100110
15 1111 4 *41 101001
16 10000 1 *50 110010
20 10100 2 *52 110100
22 10110 3 56 111000
25 11001 3 *15 001111
29 11101 4 *29 011101
41 101001 3 43 101011
45 101101 4 *45 101101
50 110010 3 53 110101
52 110100 3 54 110110
31 011111
47 101111
On cherche ensuite les adjacences de chaque terme avec les termes du groupe immédiatement
suivant. On écrit ces adjacences dans la 2è colonne, en rappelant les termes groupés et en
mettant un tiret à la place du bit éliminé. On marque une croix devant les termes de la 1ère
colonne qui ont été utilisés. Ceux qui ne le sont pas du tout sont des impliquants premiers. On
recommence le processus (début de 3- ) avec les termes de la 2è colonne, jusqu’à ce qu’il n’y
ait plus de regroupement possible. On a alors la liste des impliquants premiers.

ENSP Anne Marie CHANA Page 50


Architecture des ordinateurs

Ayant cette liste des impliquants premiers, il suffit d’utiliser l’une des 2 méthodes précédentes
(méthode du tableau des impliquants premiers, méthode de Pet Nick) pour déterminer les
combinaisons minimales.

ENSP Anne Marie CHANA Page 51


Architecture des ordinateurs

Exemple :
Soit S = {1, 8, 9, 10, 14, 15}
On écrit l’équivalent binaire de chaque combinaison et ensuite on les regroupe.
1 0001 1-9 -001 P
8 1000 8-9 100- Q
9 1001 8-10 10-0 R
10 1010 10-14 1-10 U
14 1110 14-15 111- T
1111
Ne pouvant plus regrouper les combinaisons de la 2è colonne, P, Q, R, U, T sont
les impliquants premiers.
Choix : 1ère méthode
S=P+R+T
Cette combinaison est celle qui comporte le moins d’éléments. on représente les
termes P, R, et t en omettant les variables à la place desquelles il y a un tiret. Un
« 1 » représente une variable directe, tandis qu’un « 0 » représente une variable
complémentée.
Il faut remarquer ici que 2 impliquants premiers sont essentiels (ou obligatoires).
En effet, pour réaliser la combinaison 1, il faut absolument l’impliquant P, tandis
que l’impliquant T est absolument nécessaire pour réaliser la combinaison 15.
2è méthode
Pour réaliser 1 : on a les impliquants P
8 : on a les impliquants Q ou R
9 : on a les impliquants P ou Q
10 : on a les impliquants R ou U
14 : on a les impliquants U ou T
15 : on a les impliquants T.
Les conditions à remplir sont donc :
S = P (Q + R) (P + Q) (R + U) (U + T ) T
Chacune de ces intersections d’impliquants constitue une réalisation de la
fonction. Il y a autant de bases qu’il y a d’intersections dans l’expression
précédente. On a donc ici 4 cas. Parmi ces bases, nous en avons 2 qui sont
première {R+P+T} et {P+Q+U+T}. Pour les autres bases, on pourrait enlever U
dans {P+R+U+T} ou Q dans {P+Q+R+T} et réaliser néanmoins la fonction. Elles
ne sont donc pas premières.

Exercices :
Simplifier S = {0,1,2,3,4,6,7,8,9,11,15}
= B C + AD + A D .

Remarque : Lorsqu’il y a des conditions disponibles, on introduit leurs numéros pour faire le
travail de concentration, mais on ne le fait pas apparaître dans le tableau des impliquants
premiers au moment du choix, puisqu’on a pas l’obligation de les réaliser.

Exemple : S = {1, 3, 5, 10, 11, 12, 13, 14, 15} combinaison disponible : 0 et 4.
1ère colonne 2è colonne 3è colonne

1ère Colonne 2e Colonne 3e Colonne


0 0000 * 0-1 000- * 0-1-4-5 0-0- R

ENSP Anne Marie CHANA Page 52


Architecture des ordinateurs

1 0001 * 0-4 0-00 * 4-5-12-13 -101 U


4 0100 * 1-3 00-1 P 10-11-14-15 1-1- T
3 0011 * 1-5 0-01 * 12-13-14-15 11-- V
5 0101 * 4-5 010- *
10 1010 * 4-12 -100 *
12 1100 * 3-11 -011 Q
11 1011 * 9-13 -101 *
13 1101 * 10-11 101- *
14 1110 * 10-14 1-10 *
15 1111 * 12-13 110- *
12-14 11-0 *
11-15 1-11 *
13-15 11-1 *
14-15 111- *
Il y a donc 6 impliquants premiers.
Il y a un impliquant premier essentiel : T, car lui seul permet de réaliser les 10 minterms.
On peut remarquer que pour choisir les impliquants premiers, on n’a pas tenu compte
des combinaisons interdites. Parmi les bases possibles, celle qui paraît la plus simple est
{P+U+T}. Si on veut avoir l’ensemble des bases possibles, on procède par la méthode de Pet
Nick : le faire en exercice (on trouvera 4 bases premières).

ENSP Anne Marie CHANA Page 53


Architecture des ordinateurs

CHAPITRE IV. Introduction au circuit


logique

1. Généralités
Les circuits logiques sont des appareillages électroniques destinés à manipuler des
grandeurs binaires: le 0 et le 1.
Dans un circuit logique, chaque variable logique est matérialisée par un conducteur
et sa valeur logique par la tension électrique du conducteur. La correspondance entre
les valeurs logiques et les tensions électriques est généralement:

En fait, aucun appareillage physique n'est capable ni de mesurer ni de fournir une


grandeur physique avec une précision infinie. C'est pourquoi les valeurs logiques
correspondent à des domaines de tension, séparés par un domaine de sécurité (sans
signification logique) pour empêcher toute ambiguïté. La convention la plus
répandue, appelée "standard TIL" est:

Les circuits nécessitent une alimentation (généralement +5v) qui donne l'énergie
nécessaire au fonctionnement du circuit. On la fournit par un générateur placé entre
une broche d'alimentation et une broche de masse.

ENSP Anne Marie CHANA Page 54


Architecture des ordinateurs

Logigramme et chronogramme de circuits logique :


Un circuit logique peut être caractérisé par :
Un logigramme : qui est l’ensemble des portes logique qui permettent de réaliser
une fonction donnée.
Exemples :

Opérateur OU Opérateur ET
Un chronogramme :

OU

ET

2. P ortes logiques élémentaires


a) Portes logiques à une entrée
Buffer ou ligne de communication

Porte non

b) Portes logiques à deux entrées

Porte ET (AND)

ENSP Anne Marie CHANA Page 55


Architecture des ordinateurs

Porte OU (OR)

Porte NON-ET (NAND)

Porte NON-OU (NOR)

x
Porte OU EXCLUSIF (XOR)

(XAND)

En général, on peut y adjoindre :

Porte NON-OU EXCLUSIF (XNOR)

Porte NON-ET EXCLUSIF (XNAND)

ENSP Anne Marie CHANA Page 56


Architecture des ordinateurs

Exemple de circuit combinatoire : le demi-additionneur ou additionneur à un bit

X Y S R

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

S XOR

R AND

Half Adder

3. Notions d'entrée et de sortie


Un circuit logique réalise un calcul à partir d'opérandes, et il délivre des résultats:
- les entrées sont les conducteurs qui permettent à l'utilisateur de présenter les
opérandes,
- les sorties sont les conducteurs qui permettent à l'utilisateur de consulter les
résultats.
Pour utiliser un circuit, il faut imposer sur les entrées les tensions correspondantes
aux valeurs logiques des opérandes; on peut alors observer sur les sorties après un
certain temps (temps de traversé du circuit) les tensions correspondantes aux valeurs
logiques des résultats.
Exemple: le schéma suivant montre les aspects externes d'un circuit d'addition
binaire et une utilisation particulière de ce circuit :

ENSP Anne Marie CHANA Page 57


Architecture des ordinateurs

Le circuit ADD4 possède huit entrées, sur lesquelles il admet deux opérandes de
quatre bits, X et Y, et cinq sorties sur lesquelles il donne en résultats la somme S et le
report rep de l'addition binaire des opérandes. L'utilisation particulière illustrée ici
consiste à lui faire calculer 0101 plus 0011 : il faut imposer les tensions
correspondantes sur les entrées du circuit.
Pour imposer une tension sur un conducteur, il faut le connecter à une source de
tension. Ici les opérandes sont connus, ce sont les constantes 0101 et 0011 ; il suffit
donc de connecter les entrées à des sources de tension fixes 0v et +5v (masse et
alimentation par exemple). Le résultat du calcul est alors disponible sur les sorties,
sous forme de tensions qu'il suffit d'observer.

4. Aspects physiques des entrées et des sorties

Pour ce qui nous concerne, l'état physique d'un conducteur peut être:
- Libre, son potentiel électrique n'est pas imposé avec force (ex: un fil en l'air).
- Forcé, son potentiel est imposé avec force (ex: fil connecté à une source de tension).
Dans ce cas, le potentiel peut être:
- sans signification logique (ne correspond ni à 0 ni à 1),
- avec signification logique, 0 (0v...0.8v) ou bien 1 (2.4v...5v).

Dans un circuit, on est amené à rencontrer essentiellement 4 sortes de broches: des


entrées, des sortie normales, des sorties trois-états, et éventuellement des sorties
collecteur ouvert:
Les entrées:
Un circuit logique laisse ses entrées libres; c'est l'extérieur qui force les entrées pour
présenter des opérandes.

Les sorties normales (Angl. "totem-pole")


Les sorties normales sont toujours forcées par le circuit. Le comportement électrique
d'une sortie normale est analogue à celui d'un commutateur: deux interrupteurs

ENSP Anne Marie CHANA Page 58


Architecture des ordinateurs

couplés qui connectent la sortie à la masse, pour forcer un 0, ou à la source


d'alimentation, pour forcer un 1 (ces interrupteurs sont des transistors).

Les sorties trois-états (Angl. "tri-state")


Ce sont des sorties qui sont laissées libres en centaines circonstances:

Les sorties collecteur ouvert (Angl. "open collector")


Ce sont des sorties qui peuvent être laissées libres ou forcées à 0.

On les appelle ainsi parce que la sortie est prélevée sur le collecteur d'un
transistor qui n'est pas connecté internement; on les appelle également "sorties à
drain ouvert" (AngI. "open drain"), parce qu'en technologie MOS c'est le drain d'un
transistor à effet de champ qui joue ce rôle. Ces sortie sont réservées à des usages
assez particuliers: par elles-mêmes, elles ne peuvent forcer un 1 ; on les utilise

ENSP Anne Marie CHANA Page 59


Architecture des ordinateurs

toujours en connectant entre-elles plusieurs sorties de ce genre et en reliant la


connexion par une résistance à +5v : si au moins une des sorties force 0, la connexion
est à 0, et si toutes les sorties sont laissées libres, la connexion est à 1 (grâce à la
résistance) : ceci réalise ce qu'on appelle un "ET câblé" ; on s'en sert pour transmettre
un signal susceptible d'être activé simultanément par plusieurs sources.

Remarque : Notion de temps de propagation


Le temps de propagation d’une porte logique est la durée entre l’instant où le signal
est appliqué en entrée et celui ou son effet se répercute en sortie. Ce temps de
propagation n’est jamais nul, il est en général de l’ordre de 5 à 25ns. Pour un étage
construit à l’aide d’une succession de portes logiques (c'est-à-dire la sortie d’une
porte logique attaque l’entrée de la porte suivante), le temps de propagation est au
moins égal à la somme de temps de propagation des portes logiques qui le compose.

Assemblages de circuits logiques


Les sorties d'un circuit sont des générateurs de tension qui assurent la même
correspondance entre tension et valeur logique que celle exigée sur les entrées: on dit
dans ce cas que les entrées et les sorties sont "compatibles" ; ceci autorise de
construire des ensembles en connectant certaines sorties de circuits à certaines
entrées d'autres circuits. Ainsi, avec quelques circuits logiques et en respectant
quelques règles d'assemblage très simples, on peut créer d'autres circuits, sans avoir
à connaître l'électronique, bien que les appareils que l'on construise soient des
appareillages électroniques.
Si les circuits utilisés réalisent certaines fonctions, le nouveau circuit ainsi assemblé
réalise une composition de ces fonctions:

Règles de connexion
Les quelques règles simples qui suivent doivent être respectées pour espérer avoir un
assemblage qui fonctionne correctement.
Lorsqu'on veut réaliser un circuit, on distingue:
 les entrées et les sorties du circuit que l'on réalise (abréviations : E et S),
 les entrées et les sorties (subdivisées en sorties normales et sorties trois-états)
des circuits que l'on utilise (abréviations : e, s, et st).

ENSP Anne Marie CHANA Page 60


Architecture des ordinateurs

Règle 1: une E, des e et des S peuvent être connectées ensemble.


Règle 2: une s, des e et des S peuvent être connectées ensemble.
Règle 3 : des st, des e et des S peuvent être connectées ensemble, sous réserve que, à
tout moment, au plus une de ces st force une valeur.

Par contre, il est interdit de connecter ensemble des s, ou des E, ou des s et des E.
Les raisons de cette interdiction sont doubles:

- D'un point de vue logique, c'est un non-sens que de vouloir forcer une variable
simultanément à deux valeurs potentiellement différentes.
- D'un point de vue électrique, on risque le court-circuit, dans le cas où l'on cherche à
imposer des potentiels différents: l'une des sorties essaye de forcer une tension 0v, et
l'autre une tension +5v.
Pour des motifs analogues, il ne faut pas connecter ensemble deux E dans le circuit,
car on 1 empêche alors l'extérieur de communiquer des valeurs; si par exemple il
désire présenter 0 sur l'une des entrées et 1 sur l'autre, on provoque également un
court-circuit chez l’utilisateur du circuit: on vient de fabriquer un piège.

5. Utilisation des sorties entre elles

Sorties normale
Elles ne peuvent être connectées entre elles car il y a risque de court circuit.

Collecteur ouvert
Les collecteurs ouverts peuvent être connectés entre eux et à une résistance pour
réaliser le ET-câblé, le multiplexeur ou encore des connections à un bus, on s'en sert

ENSP Anne Marie CHANA Page 61


Architecture des ordinateurs

pour transmettre un signal susceptible d'être activé simultanément par plusieurs


sources..

Sortie trois états


Elles sont faites pour être connecter entre elles afin de permettre la réalisation d’un
multiplexage temporel des signaux pour des connections à un bus de données ou
d’adresses.

Exemple d’utilisation de la sortie 3 états:


Le circuit suivant (ADD4V) est un additionneur binaire quatre bits, avec une entrée
de validation des sorties; toutes les sorties sont ici des sorties 3-états ; lorsque l'entrée
de validation v est à 0, le circuit laisse les sorties libres et lorsque v est à 1, il force sur
les sorties le résultat de l'opération.

Le circuit suivant utilise deux exemplaires du précédent pour calculer « X+1 » ou


«X+2 », selon la valeur présentée sur les deux entrée de commande c1 et c2.

Lorsquec1 et c2 valent 0, les sorties du circuit restent libre : ce sont encore des sorties
3-états du circuit total. L’utilisateur de ce circuit ne doit pas présenter la
configuration d’entrées c1c2=11, sinon deux ADD4 essayent simultanément de forcer
leur sortie (court-circuit)

ENSP Anne Marie CHANA Page 62


Architecture des ordinateurs

Quelques mots sur les technologies


Les circuits logiques offerts par les constructeurs se présentent sous la forme de
circuits intégrés: ce sont des pastilles de quelques mm2 (des "puces", angl. "chip"),
généralement en silicium, sur lesquelles ont été gravés des circuits électroniques. Ces
pastilles sont emballées dans des boîtiers (Angl. "package") dotés de broches (Angl.
"pin") pour les connexions avec l'extérieur.

Il existe de nombreuses formes de boîtiers, adaptés à diverses contraintes:


encombrement, évacuation de la chaleur, nombre de broches ...

Les circuits électroniques peuvent être réalisés selon diverses technologies qui
diffèrent par:
 la sortie de transistors employés (transistors bipolaires, transistors à effet de champ),
 l'organisation électronique de ces transistors pour réaliser les dispositifs élémentaires,
 le procédé de fabrication.
On distingue quatre grandes familles parmi les technologies actuelles (1988), ce sont :

1. TTL ("Transistor Transistor Logic") ou logique de transistor à transistor ;


2. ECL ("Emitter Coupled Logic") ou logique à couplage par émetteur
3. nMOS ("type n Metal Oxyde Silicium") ou semi-conducteur métal-oxyde à canal N.
4. CMOS ("Complementary Metal Oxyde Silicium") ou semi-conducteur métal-oxyde
complémentaire

Les technologies ECL et TTL utilisent des transistors bipolaires; les technologies
nMOS et CMOS par contre utilisent des transistors à effet de champ.

6. Caractéristiques externes des diverses technologies

En tant qu'utilisateurs de composants, nous ne sommes intéressés que par les


aspects externes des diverses technologies proposées, c'est-à-dire les choses qui nous
concernent lorsque on réalise un assemblage de composants; ce sont essentiellement:

ENSP Anne Marie CHANA Page 63


Architecture des ordinateurs

La rapidité, les niveaux logiques acceptés, les précautions à prendre pour les
interconnexions, la fiabilité, la consommation en énergie, les températures de
fonctionnement, les tolérances sur les tensions d'alimentations
Le tableau suivant résume les principales caractéristiques de ces diverses
technologies. La rapidité et la consommation indiquée sont à peu-près ceux d'une
"porte" utilisable externement.

La technologie ECL est difficile à utiliser: forte consommation de courant, double


source d'alimentation, nécessité d'adapter les interconnexions (la plupart des signaux
sont transmis de façon différentielle sur deux fils, et il faut placer des résistances en
bout de ligne pour absorber les réflexions d'onde dues à la rapidité d'évolution du
signal); elle est réservée aux applications spéciales nécessitant une grande rapidité.
De plus ses niveaux logiques ne sont pas compatibles avec les autres technologies,
qui respectent le standard TTL : toute interconnexion entre des circuits en ECL et des
circuits en d'autres technologies nécessite une interface d'adaptation.

La technologie TTL est d'usage très répandu ; elle se subdivise en de nombreuses


sous-familles qui diffèrent par la rapidité et la consommation; les deux principales
sont la sous famille S, rapide mais à forte consommation, et la famille LS, plus lente
mais à faible consommation.

La technologie nMOS fut une des premières à permettre une forte intégration
(microprocesseur sur une seule puce) ; elle est plutôt lente, mais ceci est surtout du
au fait que c'est une technologie en voie d'extinction, que les laboratoires ne
cherchent plus à faire progresser, car elle est remplacée par la technologie CMOS
La technologie CMOS est la technologie la plus sollicitée actuellement (1988) ; elle
cumule presque tous les avantages sur les technologies concurrentes: rapidité
pouvant être supérieure au TTL-S, consommation faible, tolérance considérable sur

ENSP Anne Marie CHANA Page 64


Architecture des ordinateurs

la tension d'alimentation (la plupart des circuits CMOS fonctionnent correctement


avec une source d'alimentation de 3v à 6v), et surtout elle autorise une très forte
intégration (plusieurs millions de transistors sur une puce). C'est de plus une
technologie qui continue de progresser: elle n'a pas atteint, contrairement aux autres,
le maximum de ses possibilités. Un autre avantage du CMOS est la possibilité d'avoir
des circuits qui consomment une énergie quasi-nulle lorsqu'on s'en sert très
lentement (dissipation statique nulle). Ceci permet de construire des appareils dont
l'alimentation peut être coupée en absence de sollicitation _(passage en veille, "stand
by'').

ENSP Anne Marie CHANA Page 65


Architecture des ordinateurs

CHAPITRE V. CIRCUITS COMBINATOIRES

I - Introduction
Un circuit combinatoire est un circuit logique numérique dans lequel les sorties à
un instant donné ne dépendent que des entrées à cet instant. Ce circuit a un
comportement temporel très simple
Il réalise sur les sorties une fonction de ses entrées
Il fait le calcul en un temps connu borné

Si on présente des opérandes sur les entrées et on les maintient sans les modifier
pendant une certaine durée connue Tp, on peut observer alors sur les sorties le
résultat de la fonction indiquée pour le circuit.
La durée Tp ou « délais de propagation » dépend de l’organisation interne du
circuit. Elle dépend principalement du temps que met le signal pour traverser les
éléments du circuit (additionneur, soustracteur,…).
Le temps que mettra le signal pour traverser le circuit est le temps maximal des
sommes des durées de calcul des circuits rencontrés sur les chemins des entrées vers
les sorties (durée du chemin le plus long).

10 ns

S
E
30 ns
40 ns

Tp >= 80 ns en supposant que le délai de transmission ou de communication entre


unité de calcul est nul

ENSP Anne Marie CHANA Page 66


Architecture des ordinateurs

II - Etude de quelques circuits combinatoires

1. Additionneur complet
Un additionneur complet est un additionneur qui accepte trois entrées, les bits
à additionneur et une possible retenue provenant de l’additionneur des bits
antérieurs. On utilise généralement dans des additionneurs en cascade.

x y

si
Additionneur
Ri-1
complet ri

Full Adder

x y ri-1 S ri
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

ENSP Anne Marie CHANA Page 67


Architecture des ordinateurs

y
DA
x

ri
Ri-1 DA

AC

2. Générateur de parité
Lorsqu’on transmet les informations (binaires) sur une longue distance, il y a
possibilité de perturbation qui se manifeste par des changements de bits. Il y a___20
plusieurs techniques pour détecter ces types d’anomalies. L’approche la plus simple
consiste à ajouter au départ un bit de parité. Le bit est choisi de manière que le
nombre de bits de même type soit pair ou impaire.

ENSP Anne Marie CHANA Page 68


Architecture des ordinateurs

Exemple : information à trois bits

X y Z P

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

3. Un afficheur de chiffre décimaux ou décodeur BCD chiffres


décimaux
On se sert à cet effet d’un circuit à sept segments, les segments représentent les
sorties. Il faut quatre chiffres binaires pour représenter en BCD.

V x Y Z a b c d E F g

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1 a

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

ENSP Anne Marie CHANA Page 69


Architecture des ordinateurs

0 1 1 0 0 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 0 0 1 1

1 0 1 0

1 0 1 1 X
1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

Exercice :
Affecter les valeurs vraies aux entrées X et trouver les expressions simplifiées des
sorties (a, b, c, d, e, f, g) qui ne font intervenir que deux entrées au plus (expression :
somme des termes produits)

4. Décodeur
Dans tout système numérique de traitement d’informations, les informations,
qu’elles soient traitantes (instructions) ou à traiter (données), sont transmises au
moyen de chiffres binaires regroupés en mots. Chaque mot ou groupe de mots
correspond à une représentation d’objet particulier c'est-à-dire la valeur d’un mot
peut être le code de données, de l’instruction, de l’adresse.
Il se pose alors deux problèmes :
Celui du transfert de l’information d’un point à l’autre dans la machine,
Celui d’identification d’un objet.
Dans un système numérique, on doit être capable de détecter une combinaison
binaire ou un code particulier. Ce processus d’identification est appelé le décodage
de l’information.

ENSP Anne Marie CHANA Page 70


Architecture des ordinateurs

En pratique, le décodage est réalisé par un circuit logique spécialisé qui active à sa
sortie une ligne particulière si et seulement si à l’entrée du circuit est appliqué le code
de cette ligne. Un tel circuit est appelé « décodeur ».
Un décodeur est un circuit combinatoire qui converti les informations binaires
codées sur n bits en entrée à 2n sorties maximum.
On parle de décodeur n-à-2n lignes,
Exemple : Décodeur 2/4
Table de vérité

A1 A0 S3 S2 S1 S0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

S 0  A1 A 0
S1  A 1 A 0 ; S 2  A 1 A 0 ; S3  A 1A 0

Symbole :
A0 A1

Décodeur 2/4
Diagramme logique :

S0 S1 S2 S3

ENSP Anne Marie CHANA Page 71


Architecture des ordinateurs

Remarques :
 On peut concevoir ce circuit de décodage de façon à obtenir le niveau Haut en
sortie, auquel cas on utilisera des portes Et et des inverseurs. Pour obtenir des
niveaux bas en sortie, on utilisera des portes Non-Et et des inverseurs.
 les décodeurs vendus généralement contiennent une ou plusieurs entrées de
validation pour contrôler les opérations du circuit.

Exercice : Réaliser un décodeur 4 bits à l’aide de portes NAND

Exemple : le décodeur précédant (2/4) peut être construit avec une entrée de
validation et des portes NAND

E A1 A0 S0 S1 S2 S3
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
1 x x 1 1 1 1

ENSP Anne Marie CHANA Page 72


Architecture des ordinateurs

Ce décodeur est valide lorsque l’entrée de validation E est à 0 au quel cas une seule
des sorties est sélectionnée, cette sortie est celle qui contient 0.

Exercices :
1) Construire le logigramme de ce décodeur,
2) Réaliser un décodeur 8 bits à l’aide de décodeur 4 bits.

Applications des décodeurs


Les possibilités d’applications des décodeurs sont nombreuses. Ils peuvent être
utilisés pour convertir un code BCD en décimal, pour connaître et sélectionner une
adresse mémoire, pour décoder le code opération d’une instruction.

Le circuit inverse du décodeur est appelé encodeur. Contrairement au décodeur


qui est une fonction logique qui à partir d’un code de n bits active une ligne parmi 2n,
l’encodeur réalise le processus inverse. Il permet d’activer une ligne particulière en
entrée et d’obtenir en sortie le code correspondant.

5. Le multiplexeur
Un multiplexeur est un circuit combinatoire qui sélectionne des informations
binaires sur une ou plusieurs entrées vers une seule sortie. La sélection d’une valeur
particulière est contrôlée par une variable ou adresse. Pour N entrées d’adresses, les
multiplexeurs ont 2N entrées de données.
C’est donc un circuit ayant (n+2n) entrées et qui par l’intermédiaire d’une adresse
de n bits indique laquelle des 2n entrées doit être reliée à la sortie. Un multiplexeur
est donc l’équivalent logique d’un sélecteur 2n lignes vers une seule ligne.

Exemple : n=2 , 2n = 4
S1 S0 Y
0 0 D0
0 1 D1
1 0 D2
1 1 D3

Y  S0 S1D 0  S0 S1D1  S0S1D 2  S0S1D 3

Vérification : Considérons le cas S1S0 = 10


ENSP Anne Marie CHANA Page 73
Architecture des ordinateurs

Y1 = S0S1D0 = 10D0 = 0 Y3 = 11D2 = D2


Y2 = S0S1D1 = 01D1 = 0 Y4 = 01D3 = 0

La seule donnée sélectionnée est D2

Symbole :
S0
S1 Multiplexeur 2/4

Y
Diagramme logique :

Comme le décodeur, un multiplexeur peut avoir une entrée de validation pour


assurer le contrôle. Cette entrée de validation est très utilisée pour étendre deux ou
plusieurs multiplexeurs en un multiplexeur avec un plus grand nombre d’entrées.
L’intérêt du multiplexeur est de permettre la réalisation « d’aiguillage » de
signaux. Il est utilisé pour économiser des lignes de communication (concentrateur
de données), des lignes de bus (processeurs ou mémoires à bus d’adresse
multiplexé).

NB : Il est possible de réaliser n’importe quelle fonction logique de n+1 variables avec
un multiplexeur à 2n entrées (avec n<5) et éventuellement un inverseur (porte non). Il
en est de même pour le décodeur.

ENSP Anne Marie CHANA Page 74


Architecture des ordinateurs

Exemple : Si on souhaite réaliser la fonction suivante

F  A BC  ABC  AB
Par identification on a:

S0=B; S1=A; D0=C; D1= C ; D3=1; D2=0

On peut donc construire F à l’aide d’un multiplexeur à 4 entrées et une porte non (un
inverseur). A B

Mux F

+5v

Le circuit inverseur du multiplexeur est appelé démultiplexeur. C’est un circuit


combinatoire comportant (n+1) entrées et 2n sorties, il permet de transmettre un
signal donné vers un élément particulier du système en vu de l’exécution d’une
opération donnée.

Symbole :
A0 S0
A1 S1
DEMux S2
E S3

Le signal E n’est transmis à une sortie S que lorsque l’adresse binaire vaut i
(combinaison de A0 et A1).

Remarque : A l’aide d’une paire multiplexeur-démultiplexeur, il est possible de


réaliser un système de communication entre éléments d’un système de traitement (ou
de système différent), en définissant une adresse pour le choix de l’émetteur et une
autre pour le récepteur.

ENSP Anne Marie CHANA Page 75


Architecture des ordinateurs

. DEMux
Mux
.
.

Adresse
Adresse récepteur
émetteur
La communication ici est orientée. Elle se fait du multiplexeur vers le
démultiplexeur. Une communication bi directionnelle devra donc faire appel à deux
structures de ce type.

III - Quelques méthodes de réalisation

1. Critères de qualité d’une réalisation


La réalisation du circuit logique consistera pour nous à fabriquer un circuit à partir
d’autres circuits conçus par nous-même ou de circuits existants.
Un bon circuit doit respecter deux critères à savoir :
Il doit être correct et réalisable;
Il doit assurer correctement la fonction pour laquelle il a été conçu. De plus, il doit
exister des circuits permettant de le réaliser.
Il doit offrir une certaine performance ;
Les performances interviennent après le premier critère (car à quoi servirait un appareil
performant qui ne fonctionnerait pas correctement). Mais ce n’est pas non plus un critère
négligeable.
Les critères de performance sont nombreux : prix, encombrement, consommation, vitesse,
fiabilité… Un bon circuit est issu d’un compromis entre ces divers paramètres.
Une règle générale, on cherche à utiliser le moins de composant possible et à utiliser les
composants simples (les portes sont plus simples que les additionneurs par exemple).

NB : Un critère impartial est le nombre de broches (les entrées et les sorties) c’est souvent ce
qui fixe le coup d’un composant.

La conception d’un circuit passe par 2 phases :


 la recherche d’une solution correcte : c’est la phase d’analyse.
 la simplification de cette solution : c’est la phase d’optimisation ou de synthèse.
Il existe deux méthodes principales de réalisation de circuit :

ENSP Anne Marie CHANA Page 76


Architecture des ordinateurs

2. Méthodes basées sur l’algèbre de Boole


Cette méthode est fondée sur la remarque suivante : quelle que soit la fonction à
réaliser, quel que soit le problème à résoudre, les entrées comme les sorties du circuit
sont des bits. Chaque sortie est donc une fonction booléenne.

a) Phase d’analyse
Elle consiste à exprimer chaque sortie sous forme d’une fonction booléenne des
entrées à partir de la table de vérité qui permet d’exprimer tous les cas possibles.
b) Phase d’optimisation
Cette phase consiste à appliquer les règles de simplification d’expressions
booléennes de manière à diminuer la quantité de portes nécessaires pour un petit
nombre de variables, on utilise en général des tableaux de Karnaugh

Exemple :
Soit à réaliser un additionneur binaire modulo 4 (opérandes 2bits, résultats 2 bits).
Table de vérité :

X1 X0 Y1 Y0 S1 S0
0 0 0 0 0 0
S0 = x 0 y 0  x 0 y 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 1 1
0 1 0 0 0 1
0 1 0 1 1 0
0 1 1 0 1 1
0 1 1 1 0 0
S1  y1 x1 x 0  y1 y 0 x1  y1 y 0 x1
1 0 0 0 1 0
 x1 x0 y1  y1 y 0 x1 x0  y1 y 0 x1 x0
1 0 0 1 1 1
1 0 1 0 0 0
1 0 1 1 0 1
1 1 0 0 1 1
1 1 0 1 0 0
1 1 1 0 0 1
1 1 1 1 1 0

ENSP Anne Marie CHANA Page 77


Architecture des ordinateurs

Inconvénients et limitation de la méthode booléenne :

 Elle conduit toujours à une réalisation exclusivement à base de portes : la fonction


étant réalisée sous forme de fonctions booléennes (à base de ET, NON, OU), on a
peu de chance de voir apparaître un additionneur, un adaptateur 3 états, un
décodeur ou tout autre circuit existant ou que l’on sait déjà réaliser.
 Elle est impraticable pour un nombre important de variables d’entrées : le nombre
de cases croît exponentiellement avec le nombre de variables (2n).
 Conduit souvent à des solutions irréalistes : la taille du circuit obtenu en nombre
de portes.
 Conduit à une réalisation sans structure : Chaque partie de la réalisation est sans
intérêt ; si on l’isole, on obtient en général un ensemble de portes sans
fonctionnalité connue. On est obligé toujours de tout reprendre le processus
même quand un problème voisin se présente. On ne peut pas profiter de
l’expérience acquise.

Quand utiliser la méthode booléenne :

 Lorsque la fonction a peu de variables (4 à 5 variables max) et que le circuit à


réaliser n’existe pas déjà.
 Lorsque la fonction à réaliser est « définie par hasard », c'est-à-dire sans structure
naturelle : par exemple le circuit d’afficheur sept segments.
 Pour la réalisation de circuits programmables : les ROM (Read only Memory) ou
les tableaux logiques programmables (« PLA: Programmable Logic Array »)

La méthode booléenne conduit à des circuits dont la structure est indépendante de la


nature du problème. Cela conduit à pré-fabriquer des « circuits à tout faire »
auxquels il ne reste plus qu’à fixer quelques caractéristiques propres à chaque
réalisation : ce qui permet d’obtenir des « circuits programmables ».

3. Méthodes par découpage fonctionnel.


Cette méthode vise la réutilisation des acquis, à savoir : le concepteur doit utiliser
les composants déjà disponibles conçu par lui-même ou par un constructeur.
L’objectif ici est de décomposer le système complexe en sous système simples.
Comme dans la méthode booléenne, la procédure de conception à 2 phases : l’analyse
et la synthèse.

a) Phase d’analyse
Elle se traite en trois parties :
 La structuration des entrées
 La décomposition des fonctions à réaliser

ENSP Anne Marie CHANA Page 78


Architecture des ordinateurs

 L’analyse des sous fonctions en respectant les relations entre les entrées et les
sorties.

Remarque : Lorsque l’on entreprend la réalisation des circuits correspondants, il faut


oublier les rôles particuliers qu’ils ont dans le circuit total, et les étudier isolément.

Exemple : Calcul du max de deux nombres.


Le circuit doit calculer le maximum de deux nombres représentés en binaire sur 8
bits.

Phase d’analyse
Structuration des entrées et des sorties
On les regroupe en paquets, auxquels on donne une signification, une
interprétation :
La nature et le rôle constituent un guide

X 8
X
8
Un nombre M
Max(YX,) Max
Un nombre
Y 8
Y
Un nombre

L’arithmétique permet d’exprimer M en fonction de X et Y.

M = Si (X>Y) alors X sinon Y

D’où le circuit suivant : où on voit apparaître deux nouveaux circuits à réaliser. Ces
circuits sont supposés être plus simples à réaliser que le circuit de départ
X

Y Comparateur

M
Sélecteur

ENSP Anne Marie CHANA Page 79


Architecture des ordinateurs

La comparaison X>Y nécessite un circuit de comparaison de deux nombres binaires


de 8 bits, et délivre en sortie un booléen (1 bit).

Si le circuit de comparaison existe déjà, on peut l’utiliser directement sinon, il faut


le réaliser.
Dans ce cas, on peut penser au circuit de la soustraction binaire et particulièrement à
la sortie matérialisant la retenue qui est issu d’un emprunt antérieur.

C'est-à-dire

Si A= 10110010
B= 01001010 A>B
Résultat représentable
Ret=0 01101000

Si A= 01001010
B= 10110010 A>B
Résultat non représentable
Ret=1 10011000
Donc cette sortie peut nous permettre de décider si A>B ou A<B. On pourra donc
utiliser un soustracteur binaire 8 bits si celui-ci existe dans le catalogue sinon il faut le
réaliser.

8
A X
8
D
Sous8
8 ret
Y 1
B

La sélection pourra être réalisée par un sélecteur deux voies de 8 bits (sel2V8) qui
peuvent être réalisé par des portes ou à l’aide d’adaptateurs trois états.

ENSP Anne Marie CHANA Page 80


Architecture des ordinateurs

4. Quelques schémas de décomposition :


Dissociation de sorties : des sorties indépendantes dont analysées séparément

x
F(x)
F(x)
x ≡
G(x)
G(x)

Décomposition de fonction : les résultats délivrés par un bloc fonctionnel servent


d’entrées à un autre bloc

F(X)

G(X) G(X) F(X)

ENSP Anne Marie CHANA Page 81


Architecture des ordinateurs

F(x)
Sélection
Si(cond) alors
F(x) ≡
G(x)
sinon G(x)

Cond

Phase d’optimisation :

Dans la phase de synthèse on va s’intéresser à l’usage particulier des composants


du circuit total. Certaines particularités du circuit vont permettre des simplifications.
Ce sont essentiellement :
- des propriétés des entrées du circuit : entrées constantes, entrées dupliquées…
- la non utilisation de certaines sorties du circuit
- les factorisations rendues possibles par la distributivité de certaines opérations.

Propriétés connues sur les entrées :

ENSP Anne Marie CHANA Page 82


Architecture des ordinateurs

Remplacer la comparaison d’égalité à une constante par une porte

0
1
1 Equal ≡
0 X
X

- l’égalité de certaines entrées est aussi source de simplification

ENSP Anne Marie CHANA Page 83


Architecture des ordinateurs

- Non utilisation de certaines sorties : Supprimer du circuit tous les composants qui
ne servent qu’à élaborer les sorties inutilisées

Les factorisations :
On cherche à profiter au maximum d’un même calcul intermédiaire.
V
F1
V1 Sélecteur

F2
V2
C

V1
Sélecteur
V2

Réalisation de Si (c) alors f(V,V1) sinon f(V,V2) = f(V, si c alors V1 sinon V2)

ENSP Anne Marie CHANA Page 84


Architecture des ordinateurs

CHAPITRE VI. CIRCUITS SEQUENTIELS

I - Introduction.
Un système séquentiel est un système dont le comportement dépend de la valeur
des entrées, mais aussi de la valeur d’une entrée propre au système : son état. L’état
du système résulte des valeurs passées des entrées.
Un système séquentiel peut être définit par :
 des entrées de valeur (v),
 Une entrée d’horloge (h) qui fournit une séquence d’évènement,
 un état interne, qui prend un nombre fini de valeurs,
 Des sorties de valeurs (s)
 Une fonction de transition (ft), qui définit la valeur future de l’état à partir de
la valeur présente de l’état et des entrées.
 Une fonction de sortie (fs), qui définit la valeur présente des sorties à partir
de l’état actuel et des entrées.

Les circuits séquentiels sont des systèmes dont le comportement peut être
entièrement décrit, on les appelle machine ou automate à l’état fini. Ce
comportement est défini par l’intermédiaire d’une table d’état ou par une notation
graphique appelé digramme d’état.

Il existe deux types de systèmes séquentiels :


1) Les systèmes dans lesquels les sorties dépendent de l’état du système et des
entrées. On parle généralement de << machine de Mealy>>

x
FT R FS FT : fonction de transition,
FS : fonction de sortie,
R : registre
h
H : horloge.

2) Les systèmes dans lesquels les sorties ne dépendent que de l’état actuel du
système : ce sont des <<machines de Moore>>.

ENSP Anne Marie CHANA Page 85


Architecture des ordinateurs

x
FT R FS

Les systèmes séquentiels se répartissent en deux catégories :


- Les systèmes asynchrones : système dans lequel l’état interne peut changer à tout
moment. Leur évaluation faite référence à la notation de temps réels. Ils sont
généralement très difficiles à étudier.
- Les systèmes synchrones : l’état interne ne change qu’à certains instants définis
par un évènement extérieur au système. C’est cet évènement qui cadence le
changement de l’état, il est issu d’un générateur appelé « horloge »

II - Elément de mémoire
Un élément de mémoire dans une machine binaire doit être à même de
représenter deux états différents et de garder des états (rester dans un état aussi long
temps qu’on veut et de changer d’état lorsqu’on veut). Ces éléments sont
généralement appelés des bascules, on en distingue plusieurs types mais malgré leur
diversité, on peut les représenter avec des portes logiques.

1. Bascule RS (Reset Set)


Pour cette bascule, il ya deux entrées S et R, deux sorties qui sont
complémentaires l’une de l’autre Q et (Q nous donne l’état de la bascule à un
instant) l’état de la bascule est défini par (R et S à l’instant et a à
l’instant ) comportement
 Si , la bascule ne change pas d’état
 Si
 Si
 Les états est indéfini

ENSP Anne Marie CHANA Page 86


Architecture des ordinateurs

Table de vérité

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 x

1 1 1 ×

R Q

Horloge

Plus simplement on aura la représentation suivante :

ENSP Anne Marie CHANA Page 87


Architecture des ordinateurs

2. Bascule D
Pour contourner la difficulté d’avoir à éviter les entrées R=S=1 dans la bascule
RS, on peut forcer l’entrée R à devenir le complément de S on a donc une bascule à
une seule entrée : une telle bascule est appelée bascule D.

Table d’état

0 0

1 1

Bascule RS avec les NAND

Horloge

ENSP Anne Marie CHANA Page 88


Architecture des ordinateurs

3. Bascule J. K.
Deux entrées J. K. lorsque J=K=0 la bascule ne change pas d’état
Table d’état

0 0

0 1 0

1 0 1

1 1

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 0

Lorsqu’on veut construire un circuit séquentiel avec les éléments prédéfinis


dont les bascules d’un certain type, généralement le circuit séquentiel est bien connu
(on connait la table de changement d’état) ainsi on aimerait pour un type de bascule
donné connaitre les valeurs qu’il faut appliquer à l’entrée pour provoquer un
changement d’état donné ; pour effectivement exprimer les entrées en fonction des
états. On fait usage de ce qu’on appelle table de changement d’état.

ENSP Anne Marie CHANA Page 89


Architecture des ordinateurs

Pour la bascule J K nous avons.

0 0 0 X

0 1 1 X

1 0 X 1

1 1 X 0

Application :
Réalisation du contrôleur de feux de circulation (diagramme d’état de la page
60) avec la bascule J K

Exprimons et en fonction de x et y

On choisit X dans la table de vérité tel que JX et KX soit égale à 1 et JX et KX égale à x


Vert

JY Y

Rouge

Orange

ENSP Anne Marie CHANA Page 90


Architecture des ordinateurs

Rouge : et

Orange : et

Vert :

 Réalisation du circuit séquentiel d’après plusieurs types de descriptions


1. On donne la table d’état ou le diagramme d’état et on demande de réaliser le circuit à
l’aide d’un type donné de bascule.

Méthode
Table de changement d’état des bascules

0 0 0 X 0 X 0 0

0 1 1 X 1 0 1 1

1 0 X 1 0 1 0 1

1 1 X 0 X 0 1 0

On exprime les entrées de la bascules en fonction des états présents de


manière qu’à l’instant (t+1) le circuit se trouve dans l’état imposé. De fois, peut faire
usage d’une entrée autre que celle des bascules.

ENSP Anne Marie CHANA Page 91


Architecture des ordinateurs

Exemple 0/0
On reste dans cet état
00

1/0

1/1 11
01

0/0
1/0 0/0 1/1
10
0/0

Question : réaliser le circuit avec la bascule D

Etat présent entrée Etat suivant sortie


A B X A B Y

0 0 0 0 0 0 0 0

0 0 1 0 1 1 0 1

0 1 0 1 0 0 1 0

0 1 1 0 1 0 0 1

1 0 0 1 0 0 1 0

1 0 1 1 1 1 1 1

1 1 0 1 1 0 1 1

1 1 1 0 0 0 0 0

ENSP Anne Marie CHANA Page 92


Architecture des ordinateurs

2. On donne le circuit ou alors les équations des entrées du circuit et on demande la table
d’état, le diagramme d’état, les équations d’état c'est-à-dire définir en fonction
de et des entrées.

Méthode
A partir du circuit on peut définir les équations des entrées et par la suite
définir la table d’état à partir de laquelle on donne le diagramme d’état.
Exemple d’application

ENSP Anne Marie CHANA Page 93


Architecture des ordinateurs

Questions : -trouver la table d’état


- trouver la table le diagramme d’état
- trouver la table les équations d’état

Equations d’état

Table d’état
Etat présent prochain état
A B X Y A B Z

0 0 0 0 0 0 0 0 0

0 0 0 1 1 0 1 0 0

0 0 1 0 0 0 0 0 0

0 0 1 1 0 0 0 0 0

0 1 0 0 0 1 0 1 1

ENSP Anne Marie CHANA Page 94


Architecture des ordinateurs

0 1 0 1 1 1 1 1 1

0 1 1 0 0 0 0 0 0

0 1 1 1 0 0 0 0 0

1 0 0 0 0 0 0 0 1

1 0 0 1 1 0 1 0 0

1 0 1 0 1 1 1 1 1

1 0 1 1 1 1 1 1 1

1 1 0 0 0 1 0 1 1

1 1 0 1 1 1 1 1 1

1 1 1 0 1 1 1 1 1

1 1 1 1 1 1 1 1 1

Diagramme d’état: en Exercice

III - Machine à états finis


Une famille importante de circuits séquentiels auxquels nous allons nous intéresser
est celle des machines à états finis. En dehors de leur implémentation par circuits
logiques, les machines à états forment un modèle théorique avec ses subtilités qu’il
importe de connaître.

1. Définition
Une machine à état finis est une machine séquentielle algorithmique caractérisée par
un vecteur d’entrées, un vecteur de sorties, et une séquence d’états définissant son
comportement. La machine (également appelée automate) va passer d’un état à
l’autre suivant les séquences d’entrée qu’elle reçoit. On attribue généralement à la
machine un état de départ lui permettant de débuter son fonctionnement à partir
d’un point fixe.
Les machines à états finis sont généralement représentées par un diagramme des
états permettant de visualiser les transitions entre les états selon le patron de

ENSP Anne Marie CHANA Page 95


Architecture des ordinateurs

stimulation reçu par le vecteur d’entrées. Les états sont alors représentés par des
cercles ; le nom rattaché à chaque état à l’intérieur de chaque cercle ; les transitions
entre les états sont représentés par des arcs dirigés reliant les cercles ; les conditions
(valeurs du vecteur d’entrée) enclenchant ces transitions sont notées sur les arcs ; et
finalement la valeur des sorties est généralement indiquée soit sur l’arc (séparée des
entrées par un trait oblique : /) ou à l’intérieur du cercle (séparée du nom de l’état par
un trait oblique : /).

 Voici un exemple de machine à états finis où les sorties sont indiquées à l’intérieur des
cercles :

Voici les éléments que l’on y trouve :


 trois états notés E0, E1 et E2 ;
 un état de départ E0 ;
 une entrée (notée sur les arcs) ;
 une sortie associée à chacun des trois états, respectivement 0, 0 et 1.
Cette machine permet de détecter une séquence de deux 1 consécutifs en entrée.
 Voici un autre exemple de machine à états finis où les sorties sont indiquées
sur les arcs :

0/0

Voici les éléments que l’on y trouve :


 deux états notés E0 et E1 ;
 un état de départ E0 ;
 une entrée (notée sur les arcs) ;
 des sorties associées aux transitions, 0 pour les transitions de E0 à E0
et de E0 à E1, 1 pour les transitions de E1 à E1 et de E1 à E0.

ENSP Anne Marie CHANA Page 96


Architecture des ordinateurs

Cette machine (aussi) permet de détecter une séquence de deux 1 consécutifs en


entrée.

2. Machine de Moore et Mealy


Nous avons pu voir que lors de la représentation d’une machine à états finis par un
diagramme, il est possible d’indiquer les sorties sur les arcs ou à l’intérieur de l’état.
Cette distinction n’est pas purement graphique. Comme on a pu s’en rendre compte
en réalisant deux machines selon les deux conventions, les machines sont différentes.
Cette différence réside dans le fait que dans le premier cas, la sortie dépend
uniquement de l’état, tandis que dans le second cas, elle dépend de l’état et de
l’entrée.
Lorsque la sortie dépend uniquement de l’état courant, on dit que la machine est une
machine de Moore. Le nom de machine de Moore fait référence au professeur
Edward F. Moore de l’université de Winsconsin-Madison aux États-unis qui en est
l’inventeur.
Lorsque la sortie dépend de l’état courant et de l’entrée, on dit que la machine est
une machine de Mealy, en référence à G.H. Mealy qui les fit connaître dans un article
au Bell System Tech en 1955.

3. Convertir une Machine de Moore en Mealy


Étant donné la flexibilité des machines de Mealy par rapport aux machines de Moore
qui n’évaluent les sorties qu’en fonction des états, ces premières s’avèrent souvent
plus économiques à implémenter en circuits logiques. Mais cette économie se paie
souvent au prix d’une difficulté de conception. Les machines de Mealy sont donc
plus économiques que les machines de Moore, tandis que les machines de Moore
sont plus simples à concevoir. Il est cependant facile de passer d’une machine de
Moore à une machine de Mealy en respectant quelques règles simples :
1. Reporter les sorties sur les arcs arrivant vers cet état
2. Simplifier le circuit si la simplification est possible
Considérons pour cela l’exemple suivant :
Exemple :
On veut concevoir le diagramme d’états d’un système d’ouverture de porte avec
code d’accès. La machine reçoit à son entrée X une série de chiffres tapée sur un
clavier numérique. Si la machine reçoit la bonne séquence de chiffres (0,9,1,5) la porte
est ouverte grâce au signal de sortie.
On va d’abord concevoir le diagramme selon une forme de machine de Moore :

ENSP Anne Marie CHANA Page 97


Architecture des ordinateurs

Ça a l’air un peu complexe, mais il suffit de suivre les états pour bien comprendre.
Reprenons l’analyse :

 cinq états notés E0, E1, E2, E3 et E4 ;


 un état de départ E0 ;
 un vecteur d’entrée X ;
 les sorties associées aux états : 0 pour les transitions de E0 à E3 ; 1
pour E4.
Considérons son fonctionnement :
§ tant que la bonne séquence est donnée en entrée, la machine va de E0 à E4 ;
§ à chaque état, si l’entrée est 0, on revient à E1 ;
§ Autrement, la machine revient à son état initial E0
C’est tout simple finalement ! Transformons maintenant cette machine en une
machine de Mealy :

Tous les arcs ont pour sortie 0, sauf celui de la transition de E3 à E4 où l’arc porte une sortie qui
vaut 1. Est-ce qu’il y a moyen de simplifier cette machine ? Affirmatif. Il existe une méthode
systématique qui sera expliquée plus en détails plus bas. En attendant, regardant cette solution :

ENSP Anne Marie CHANA Page 98


Architecture des ordinateurs

Comme on le voit, cette nouvelle version permet d’économiser un état. Cette


économie d’état peut se traduire en économie matérielle en termes de composants
électroniques.
Cette solution est obtenue en supprimant les états redondants.

NB: Deux états sont considérés comme strictement équivalent si :


1. Leurs sorties (qu’elles dépendent des entrées ou non) sont identiques.
2. Pour chaque condition dictée par le vecteur d’entrées, les états suivants des deux
états considérés sont identiques.

Exemple d'application :
On veut concevoir une machine de Mealy qui reçoit une entrée x et qui affiche à sa
sortie (s2s1s0) le nombre de fois qu’un 0 apparaît à cette entrée. Le compteur est
décrémenté à chaque fois qu’un 1 apparaît à l’entrée. Si une séquence de quatre 0
apparaît à l’entrée, le compteur est remis à zéro

IV - Quelques exemples de circuits séquentiels


1. Compteur permanent.
C’est un circuit qui n’a que l’entrée horloge H. Considérons le cas compteur 3 bits,
ce circuit aura 8 états possibles à chaque top horloge. Son état s’incrémente d’une
unité, repassant à 0 à la suite de 7.
Table d’état : Cpt= (cpt +1) modulo 8

ENSP Anne Marie CHANA Page 99


Architecture des ordinateurs

111 110 101

Cptt Cptt+1 Q2 Q1 Q0
0 1 0 0 0
000 100
1 2 0 0 1
2 3 0 1 0
3 4 0 1 1
001 010 011
4 5 1 0 0
5 6 1 0 1
Diagramme d’état
6 7 1 1 0
7 0 1 1 1

 Réalisation d’un compteur modulo 8 (3 bits) à l’aide de bascule JK et D.

A partir de la table d’incitation de la bascule JK et D suivante, on peut déduire la


table de vérité du circuit à réaliser.

Qt Qt+1 J K D S R
0 0 0 X 0 0 X
0 1 1 X 1 1 0
1 0 X 1 0 0 1
1 1 X 0 1 X 0

Table d’incitation

A2 A1 A0 A2 A1 A0 JA2 KA2 JA1 KA1 JA0 KA0 DA2 DA1 DA0


0 0 0 0 0 1 0 X 0 X 1 X 0 0 1
0 0 1 0 1 0 0 X 1 X X 1 0 1 0
0 1 0 0 1 1 0 X X 0 1 X 0 1 1
0 1 1 1 0 0 1 X X 1 X 1 1 0 0
1 0 0 1 0 1 X 0 0 X 1 X 1 0 1
1 0 1 1 1 0 X 0 1 X X 1 1 1 0
1 1 0 1 1 1 X 0 X 0 1 X 1 1 1
1 1 1 0 0 0 X 1 X 1 X 1 0 0 0

Table de vérité

ENSP Anne Marie CHANA Page 100


Architecture des ordinateurs

Après simplification à l’aide de la table de karnaugh, on obtient respectivement


pour la bascule JK et D les équations suivantes :

J Ai  K Ai  A0 A1 ....Ai 1
D Ai  Ai  ( A0 A1 ... Ai 1 )

i) compteur binaire synchrone : Dans ce cas de figure, toutes les bascules sont
cadencées avec la même horloge.

Compteur réalisé à l’aide de la bascule Compteur réalisé à l’aide de la bascule JK

ii) compteur binaire asynchrone : Le signale horloge appliquée à l’entrée de la


première bascule B0, c’est celle correspondant au bit le moins significatif. Les
autres bascules Bi sont cadencées par les sorties Q i 1 de Bi-1.

ENSP Anne Marie CHANA Page 101


Architecture des ordinateurs

2. Compteur- décompteur
Dans ce circuit, lorsque les entrées de commande Inc (incrémenter) et Dec
(décrémenter) sont égales à 00 respectivement, le circuit ne change pas d’état, quand
c’est 01 on incrémente, quand c’est 10 on décrémente et 11 la fonction de transition
n’est pas définie.

Table d’état.

Dec inc Cpt


0 0 cpt
0 1 (cpt +1) modulo 8
1 0 (cpt – 1) modulo 8
1 0 indéfini

ENSP Anne Marie CHANA Page 102


Architecture des ordinateurs

Diagramme d’état

00 00 00

01 01
000 001 111
10 10
01

10

3. Registres
Un registre est un circuit permettant la mémorisation d’information. Un registre
de n bits est composé de n bascules (généralement la bascule D) mémorisant chacune
1 bit.
Il existe types de registres :

a) Les registres à chargement systématique.


Ce circuit enregistre à chaque front de l’horloge, les données présentées en
entrées.
q 4 q 3 q 2 q1 q 0  d 4 d 3 d 2 d 1 d 0
d0 q0

d1 q1

d2 q2

d3 q3

d4 q4

Dans cet exemple on utilise pour mémoriser les informations la bascule D qui est
une mémoire élémentaire d’un bit. Elle enregistre la donnée présente sur l’entrée D.

b) Les registres à chargement commandé


La donnée présentée en l’entrée est enregistrée si l’entrée de commande de
changement est en 1, sinon l’état reste inchangé.

d0 q0

d1 q1

d2 q2
Si c = 0 alors Di=Qi
d3 q3 Si c = 1 alors Di = di
d4 q4

ENSP Anne Marie CHANA Page 103


Architecture des ordinateurs

c) Registre de décalage
Les registres de décalages sont des registres dont l’état, formé de n bits, peut être
décalé d’une position vers la droite ou vers la gauche.

 Registre à décalage systématique


A chaque top horloge, le circuit décale son état d’une position (un bit) vers la
droite (vers les indices faibles) et enregistre l’entré de donnée d (1 bit) dans la
position de bit libéré par décalage.

q3q2q1q0 = d q3q2q1
q3 q2 q1 q0

L’information peut être chargée de 2 manières dans les registres à décalage


 Entré en parallèle : l’information est présentée en une fois sur plusieurs
lignes. En général une porte d’exhibition est nécessaire pour éviter tout
risque de décalage pendant le chargement.

 Entré série : l’information est présenté séquentiellement bit après bit à


chaque top horloge à l’entrée de la première bascule.

ENSP Anne Marie CHANA Page 104


Architecture des ordinateurs

d) Registre à décalage droite-gauche et chargement en parallèle


Ce circuit permet selon la valeur de l’entrée commende s1s0 soit de :
 laisser l’état inchangé
 décalé vers la droite
 décalé vers la gauche
 enregistré une donnée sur les entrée.

Lors d’une opération de décalages, la position de bit libre prend la valeur présentée
entré R (décalage droite) ou L (décalage gauche).

Schéma (en exercice)

Table d’état.
S0 S1 Q4 Q3 Q2 Q1 Q0
0 0 Q4 Q3 Q2 Q1 Q0
0 1 R Q4 Q3 Q2 Q1
1 0 Q3 Q2 Q1 Q0 L
1 0 R d2 d1 d0 L

V - Synthèse à l’aide des bascules


La synthèse ici renvoi à la réalisation de circuits à l’aide des bascules. Un
système séquentielle simple c’est à dire décrit totalement à l’aide de son diagramme
d’état ou de sa fonction de transition et de sa fonction de sortie peut être réalisé à
l’aide des bascules.
Pour cela il faut être capable de définir :
 un nombre de valeur possible pour l’état interne du système
 sa fonction de transition
 sa fonction de sortie

Exemple :
On désire réaliser un circuit d’accès à une ressource qui ne peut être utilisé que
par une et une seule personne à la fois. Le but du circuit sera d’accorder correctement
la ressource.
Chaque utilisation manifeste son désire d’utilisation de la ressource sur e1 et e2.
C'est-à-dire, ei=1 si i désire la ressource ou ei=0 sinon.

Considérons dans cet exemple le cas de deux utilisateurs. On accorde également

ENSP Anne Marie CHANA Page 105


Architecture des ordinateurs

une priorité à la demande. Cette priorité change à chaque attribution, le client qui
obtient la ressource devient de priorité inférieure. Mais le client garde la ressource tant
qu’il la désire.
L’analyse permet de déduire le diagramme d’état suivant.

Ce diagramme matérialise l’état de la ressource critique qui est


 A (00) : libérée par l’individu 2,
 B (01) : libérée par l’individu 1,
 C (10) : occupée par l’individu 1,
 D (11) : occupée par l’individu 2

ENSP Anne Marie CHANA Page 106


Architecture des ordinateurs

CHAPITRE VII. LES CODES

Au début de ce cours, nous avons parlé de différents systèmes de numérotation, et


avons insisté plus particulièrement sur les systèmes binaires, le décimal et
l'hexadécimal. Il y en a bien d'autres. Il se trouve que l'homme a bien plus de facilités
à s'exprimer en décimal, plutôt que dans un autre système. Par contre, la plupart des
machines que nous utilisons travaillent en binaire; c'est-à-dire que leurs seuls
caractères reconnaissables directement sont le 0 et le 1. Pour concilier donc les 2
systèmes, et en général l'ensemble des systèmes, il a fallu trouver un moyen pour
passer d'un système à un autre. Le passage du système décimal au binaire est appelé
codage. Le passage du binaire au décimal est appelé le décodage. Bien sûr, on peut
passer de tout système à un autre, c'est ce qu'on appelle transcodage. Nous avons
déjà étudié le passage d'un système quelconque à un autre, c'est-à-dire le
transcodage. Cette partie du cours sera donc axée sur l'étude des codes en binaire.
Définition :
Soient deux ensembles E1 et E2. E2 est par exemple l’ensemble des mots qui servent
de codes et E1 l'ensemble des mots à coder ; coder les éléments de E1, cela veut dire
qu'on va établir une correspondance biunivoque entre les éléments de E1 et ceux de
E2. Cette correspondance biunivoque est ce qu'on appelle code. En pratique, on
assimile cette correspondance avec le mot code.

1. Code binaire pur.


C'est le code dans lequel toute combinaison représente globalement un nombre
entier, les bits de plus faible poids se trouvant à droite de la combinaison. En binaire
pur, un nombre s'obtient simplement en faisant le codage du décimal au binaire.
(Voir début du cours). Il faut presque 3 fois plus de symboles qu'en décimal pour
représenter un nombre.

ENSP Anne Marie CHANA Page 107


Architecture des ordinateurs

Poids 64 32 16 8 4 2 1
Nombres
5 1 0 1
12 1 1 0 0
109 1 1 0 1 1 0 1
45 1 0 1 1 0 1

2. Codes binaires décimaux (sur 4 positions)


En décimal, on a 10 chiffres à représenter : on aura donc besoin de 10 combinaisons.
Avec 3 bits, on a : 23 soit 8 combinaisons possibles. Ceci est insuffisant, il en faut donc
4 : ce qui donne 24 = 16 possibilités. Sur les 16 combinaisons possibles, on n'utilisera
que 10, il y en a donc 6 en trop. On a alors une grande liberté de choix des
combinaisons. Ceci permettra d'avoir certains codes qui seront pondérés, et pas
d'autres.
Le principe des codes binaires décimaux, c'est de coder le nombre : chiffre décimal
après chiffre décimal, et ensuite on juxtapose les codes binaires des différents chiffres
pour avoir la représentation binaire voulue. Nous allons maintenant étudier
quelques codes, parmi les plus courants.
a. Codes binaires décimaux pondérés

Code "Décimal Codé Binaire Naturel" : 8.4.2.1 ou DCBN (Se dit BCD en terminologie
américaine).
Dans ce code, chaque chiffre est représenté par son équivalent binaire, par groupe de
4 bits. Ainsi, 925 s'écrit : 1001 0010 0101
Tableau

ENSP Anne Marie CHANA Page 108


Architecture des ordinateurs

Poids 8 4 2 1
Nombres
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Pour ce code, les combinaisons 1010 à 1111 sont interdites. Ce code n'est intéressant
que dans la mesure où il permet d'effectuer des opérations arithmétiques, en
particulier l'addition et la multiplication.
Supposons que nous ayons à effectuer l'addition de deux chiffres décimaux a et b ;
plusieurs cas :
1) si a + b  9 le résultat est correct et appartient au code
2) si 10  a + b  15 il faut ajouter 6 au résultat
3) si a + b > 15 on ajoute 6 au résultat.

Exemples :
3 0011 5 0101 8 1000
+ + + + + +
5 0101 7 0111 9 1001
__ ____ __ _____ ___ ______
8 1000 12 1100* 17 1 0001**
+ +
0110 0110
______ _______
1 0010 1 0111
* : combinaison interdite : donc résultat erroné ;
** : résultat erroné, on est tenté de lire 11, ce qui est évidemment faux.

ENSP Anne Marie CHANA Page 109


Architecture des ordinateurs

On ajoute donc 6 lorsqu'on a :


- soit une combinaison interdite (*)
- soit un report (**)
En règle générale, on additionne 6 au résultat de 2 chiffres :
- s'il n' y a pas report à la suite de cet ajout, alors retrancher 6.
- s'il y a report, le résultat est correct.

Code décimal binaire Ai Ken : DC BA ou 2421 Ai Ken


Tableau
Poids 2 4 2 1
Nombres
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1
8 1 1 1 0
9 1 1 1 1
Ce code est symétrique et auto-complémentaire (voir définition plus bas). Les
combinaisons interdites sont celles du milieu, à savoir de 0101 à 1010.
L'addition dans ce code s'analyse de manière suivante (j'entends par nombre décalé
la valeur en binaire pur, augmenté de 6) :
1) Aucun des 2 nombres n'est décalé :
Si la somme S  4 : réponse correcte
Si la somme S  5 : ajouter 6 (en binaire pur)

ENSP Anne Marie CHANA Page 110


Architecture des ordinateurs

Exemples :
2 0010 3 0010
+ + + +
1 0001 4 0100
__ ____ __ _____
3 0011 7 0111 (interdit)
+
0110
____
1101
2) Un seul des 2 nombres est décalé : réponse correcte
Exemples : 4 0100
+ +
9 1111
__ ______
13 10011
1 3
3) Les 2 nombres sont décalés
Si la somme S  14 : retrancher 6 (en binaire pur)
Si la somme S  15 : réponse correcte
Exemples :
6 1100 7 1101
+ + +
8 1110 9 1111
__ ____ __ ____
14 11010 16 11100
Interdit -0110 1 6
_____
10100
1 4

Définition 1 :
Un code est dit auto-complémentaire (à 9) si pour 2 chiffres a et b tels que a+b = 9,
les bits de a sont obtenus en inversant ceux de b, et vice-versa.
Définition 2 :
Un code symétrique est un code tel que pour deux nombres symétriques par rapport
à la liste des codes, il suffit d'inverser les bits de l'un pour avoir ceux de l'autre : c'est
le cas des autos complémentaires.

ENSP Anne Marie CHANA Page 111


Architecture des ordinateurs

On démontre qu'une condition nécessaire pour qu'un code pondéré sur 4 positions
soit auto complémentaire est que la somme des poids soit égale à 9.
Les seuls codes auto complémentaires des poids positifs sont les codes (3,3,2,1)
(2,4,2,1) (4,3,1,1) et (5,2,1,1). Par contre, on en trouve 13 avec des poids positifs ou
négatifs, par exemple (6, 4, 2,-3).
b. Codes binaires non pondérés

Dans ce groupe, nous en étudierons 2, qui sont parmi les plus utilisés : XS3 et GRAY.

Code "Excédent 3" ou "EXCESS 3", noté XS3


On le représente de manière suivante :

Nombres Combinaisons
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0
Ce code est symétrique et auto complémentaire. Il s'obtient en supprimant les 3
premières et les 3 dernières combinaisons du code binaire pur sur 4 bits : les
combinaisons interdites sont donc ici :
0000 0001 0010
1101 1110 1111
Pour les additions en XS3 :
- Si la somme décimale est inférieure à 10, la somme en XS3 est inférieure à 16 : et il
n'y a pas de report. La réponse correcte est alors obtenue en retranchant la valeur 3
(binaire : 0011) au résultat (3 en binaire = 0 en XS3).
- Si la somme décimale est supérieure à 10, il y a un report de 1 en XS3 : il faut alors
ajouter 3 au résultat obtenu pour avoir la réponse correcte.
Exemples :
3 0110 5 1000 8 1011
+ + + + +

ENSP Anne Marie CHANA Page 112


Architecture des ordinateurs

4 0111 7 1010 9 1100


__ _____ __ ____ __ _____
7 1101 (interdit) 12 10010 17 10111
- 0011 +0011 +0011
_____ _____ _____
1010 10101 11010
1* 2 1* 7
Remarque : Retrancher la valeur 3 revient à ajouter la valeur du complément de 3 à la base,
c'est-à-dire : 16-3=13, mais sans tenir compte de la retenue. Ainsi, sur une machine qui ne
fait que des additions, on a simplement pour la somme 2+4 précédente :
2 0101
+ +
(- 0011 = + 1101)
4 0111
__ _____
6 1100
+ 1100
1
______
1001
* Ces valeurs 1 sont des 1 de report, qu'il faudrait écrire en réalité 0100, pour rester
dans le code XS3.
Comme le code AIKEN, ce code est très commode pour la complémentation, et les
compléments sont très utilisés pour effectuer les opérations de soustraction.

Code de Gray
Ce code a déjà été vu en partie, lorsque nous avons étudié les diagrammes de
Karnaugh. Nous allons l'étudier ici de manière générale. Voici comment il se
construit.

ENSP Anne Marie CHANA Page 113


Architecture des ordinateurs

Numériques Combinaisons
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0 0
4 0 1 1 0 1
5 0 1 1 1 2
3
6 0 1 0 1
4
7 0 1 0 0 Code réfléchi de Gray
5
8 1 1 0 0 6
9 1 1 0 1 7
10 1 1 1 1 8
11 1 1 1 0 9
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
Sur le diagramme de Karnaugh

Le code de Gray se caractérise par le fait qu'on passe d'une combinaison à la suivante
immédiate en changeant un seul bit. Si on appelle distance entre deux caractères
codés, le nombre de bits qui changent lorsqu'on passe d'un caractère au caractère
consécutif suivant, alors celle-ci est de un pour le code de Gray.
Définition :
On dira qu'un code est réfléchi ou cyclique si deux caractères adjacents ont une
distance de un : c'est le cas du code de Gray tel que le représente le diagramme ci-
dessus. On peut constater dessus que pour la représentation des chiffres décimaux, le
code DCB de Gray n'est pas réfléchi, alors que le code XS3 l'est.

ENSP Anne Marie CHANA Page 114


Architecture des ordinateurs

Nous avons donné plus haut quelques-unes des combinaisons retenues pour les
codes de Gray décimaux. Ce ne sont pas les seules, on pourrait par exemple avoir
aussi

1) 2)
1) est bien un code de Gray à 10 positions, en plus cyclique, mais il ne peut garder la
distance unité en cas de plusieurs décades.
2) est un code de Gray réfléchi, où le complément à 9 s'obtient par simple
complémentation du digit de plus faible poids. Les chiffres pairs ont un nombre
impair de 1 et les chiffres impairs, un nombre pair de 1.
On peut remarquer que dans le code réfléchi de Gray, le complément à 9 s'obtient en
prenant le complément du digit de plus fort poids.
Les codes de Gray se prêtent très mal aux opérations arithmétiques, n'étant pas
pondérés. Par contre leur utilisation est très répandue dans la transmission des
informations, en particulier les codes réfléchis. Ceci est en plus très important
lorsqu'on veut éviter les transitions sur plusieurs positions. Ils sont très intéressants
pour réaliser des codeurs et les réseaux asynchrones.
Supposons que, pour une raison quelconque, nous ayons des informations dans le
code de Gray, et qu’on ait aussi à effectuer des opérations qui ne sont pas commodes
avec ce code. Dans ce cas, se fait sentir la nécessité de convertir cette information
dans un autre code plus approprié. Par exemple, comment passer du code binaire
pur au code de Gray, et vice versa. Appelons b3 b2 b1 b0, les 4 bits d’informations en
binaire pur ; la même information en code de Gray sera obtenue en déterminant les
bits g3 g2 g1 g0 correspondants par les relations suivantes, tirées de la présente table :

ENSP Anne Marie CHANA Page 115


Architecture des ordinateurs

Binaire pur Gray


b3 b2 b1 b0 g3 g2 g1 g0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
g3 = b3
g2 = b3  b2
g1 = b2  b1
g0 = b1  b0
Donc en général, pour une information sur n bits :
gn = bn
gi = bi+1  bi i =1, n-1
De même, le passage du code de Gray au binaire pur se fera par :
b3 = g3
b2 = g3  g2 = b3  g2
b1 = g3  g2  g1 = b2  g1
b0 = g3  g2  g1  g0 = b1  g0
Ce qui se généralise par :
bn = gn
bi = gn  gn-1  ...  gi = bi+1  gi

ENSP Anne Marie CHANA Page 116


Architecture des ordinateurs

D’où les deux règles suivantes :


- Le bit de rang k < n en code de Gray est la somme des bits de rangs k et k+1 en
binaire pur (somme modulo 2).
- Le bit de rang k < n en binaire pur est égal à la somme modulo 2 du bit du
code de Gray de même rang et du bit en binaire pur de rang supérieur.

3. Codes DCB à plus de 4 positions


a. Code 2.5

C’est un code pondéré 7 4 2 1, modifié pour le 0, auquel on ajoute un digit de poids 0,


et dont le but sera de faire en sorte que dans la configuration des 5 bits représentant
un chiffre, il y ait toujours deux « 1 ». Les nombres décimaux sont représentés par les
poids équivalents du 2.5., le zéro étant représenté par un nombre extérieur aux
chiffres décimaux, c’est-à-dire plus grand que 9.
Valeur décimale Code 2.5
Poids 7 4 2 1 0
0 1 1 0 0 0
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 0
4 0 1 0 0 1
5 0 1 0 1 0
6 0 1 1 0 0
7 1 0 0 0 1
8 1 0 0 1 0
9 1 0 1 0 0
Ce code est parmi ceux qui possèdent le moins de « 1 » possible. Il peut donc
présenter une économie d’énergie dans un circuit où les « 1 » se traduisent par un
passage de courant, donc une consommation d’énergie.
L’une des principales utilisations de ce code est celle de la détection des erreurs. On
fait un test ici sur le bit 0, qui sert de bit de parité. Si une simple erreur apparaît dans
la transmission, alors on obtient un code qui sera invalide, puisque la condition de
parité ne sera plus remplie. Ce code permet de détecter un nombre impair d’erreurs
dans la transmission.
Signalons néanmoins que ce code se prête très mal aux opérations arithmétiques.

ENSP Anne Marie CHANA Page 117


Architecture des ordinateurs

b. Code biquinaire ou code à 7 moments

Chaque configuration contient deux « 1 » et cinq « 0 ». Les chiffres décimaux sont


divisés en deux groupes, ceux qui sont inférieurs à 5 et ceux qui sont supérieurs ou
égaux à 5.
Le code biquinaire a été mis au point par les laboratoires de la Société Américaine
« Bell Telephon », pour une machine à relais électromécaniques. Il exige beaucoup de
matériel, mais permet un gain de temps en traitement et en sécurité. C’est ainsi qu’un
contrôle a montré par exemple que sur 10 ans de fonctionnement, il n’y a eu qu’une
seule erreur sur cette machine qui n’a pu être détectée aussitôt !!
Il est donné par le tableau suivant :
Valeur décimale Code biquinaire
Poids 5 0 4 3 2 1 0
0 0 1 0 0 0 0 1
1 0 1 0 0 0 1 0
2 0 1 0 0 1 0 0
3 0 1 0 1 0 0 0
4 0 1 1 0 0 0 0
5 1 0 0 0 0 0 1
6 1 0 0 0 0 1 0
7 1 0 0 0 1 0 0
8 1 0 0 1 0 0 0
9 1 0 1 0 0 0 0

V.1. Les autres codes


Nous avons déjà signalé qu’il existait une multitude de codes, pondérés ou non.
Nous avons insisté sur les codes décimaux, mais ils ne sont pas les seuls. C’est ainsi
qu’on ne peut ignore les codes alphabétiques, ou alphanumériques ;
a. Codes à six moments

Au lieu d’avoir 5 éléments binaires, on en a ici 6, ce qui permet d’avoir un code plus
adapté pour les calculateurs, et en plus, les 10 chiffres décimaux sont codés à l’aide
des combinaisons dont les 4 éléments de plus faible poids donnent leur équivalent
binaire. Ces codes sont bien nombreux, aussi nous n’insistons pas là-dessus. On en
utilise sur des bandes magnétiques.

ENSP Anne Marie CHANA Page 118


Architecture des ordinateurs

b. Code Hollerith

C’est le code dans lequel étaient perforées les cartes à 80 colonnes. Chaque caractère
par exemple correspond à un certain nombre de perforations sur la carte. Il y a au
total 12 perforations possibles, mais les chiffres sont perforés sur une seule position,
les lettres alphabétiques sur 2 positions, et les autres caractères sur 2 ou 3.
c. Codes télégraphiques à 5 moments

Il a été mis au point pour les échanges télégraphiques, mais ne permet aucune
opération de traitement. Il est encore utilisé sur les réseaux actuels de télex. Ce code
n’utilise que 5 éléments binaires, ce qui permet uniquement 32 combinaisons. Pour le
rendre plus efficace, on utilise des caractères pour indiquer dans quel sous jeu de
caractères (lettres ou chiffres) il faut considérer les codes qui suivent :

ENSP Anne Marie CHANA Page 119


Architecture des ordinateurs

Code Télex International n° 2

Code Lettes Chiffres/Caract. Signification


0 0 0 0 0 Non utilisé
0 0 0 0 1 T 5
0 0 0 1 0 Retour chariot
0 0 0 1 1 O 9
0 0 1 0 0 Espace
0 0 1 0 1 H
0 0 1 1 0 N '
0 0 1 1 1 M .
0 1 0 0 0 Interligne
0 1 0 0 1 L (
0 1 0 1 0 R 4
0 1 0 1 1 G
0 1 1 0 0 I 8
0 1 1 0 1 P 0
0 1 1 1 0 C :
0 1 1 1 1 V =
1 0 0 0 0 E 3
1 0 0 0 1 Z +
1 0 0 1 0 D *
1 0 0 1 1 B ?
1 0 1 0 0 S )
1 0 1 0 1 Y 6
1 0 1 1 0 F
1 0 1 1 1 X /
1 1 0 0 0 A -
1 1 0 0 1 W 2
1 1 0 1 0 J Sonnerie
1 1 0 1 1 Inversion chiffre
1 1 1 0 0 U 7
1 1 1 0 1 Q 1
1 1 1 1 0 K
1 1 1 1 1 Inversion lettre

ENSP Anne Marie CHANA Page 120


Architecture des ordinateurs

L’attribution des combinaisons aux différentes lettres a été faite par les
télégraphistes, de manière que celles les plus simples correspondent aux lettres très
fréquemment utilisées.
d. Code ISO à 7 moments significatifs

Plus on demande des possibilités aux machines, plus il devient nécessaire


d’augmenter le nombre de caractères, ce qui fait qu’en fin de compte, même les codes
à 6 moments deviennent insuffisants. Par exemple lorsqu’on veut distinguer les
caractères majuscules des minuscules. C’est ainsi qu’on a mis au point un code ISO à
sept moments, donc permettant de coder 128 caractères, complété parfois par un bit
de parité ou d’imparité.
e. Code EBCDIC

C’est un code à 8 moments, antérieur au code ISO. Il est souvent utilisé pour la
commande des organes périphériques électromécaniques (les imprimantes rapides
par exemple). Ce code a été adopté dans plusieurs machines pour la représentation
interne des données alphanumériques. Il n’est pas très dense, car on n’utilise qu’une
partie des 256 combinaisons possibles. Celles utilisées<seront choisies de manière à
faciliter le passage au code Hollerith.
f. Codes de HAMMING

Présentation :
Ce sont des codes qui ont pour particularité de permettre la détection et/ou la
correction des erreurs. Dans ces codes, certains digits vont servir uniquement au
contrôle, et vont alors occuper des positions particulières en fonction du nombre de
bits du code. Les positions des bits de contrôle sont les puissances successives de 2 :
1, 2, 4, 8, …
Le code de Hamming est utilise dans les transmissions de données car il permet de
détecter et de corriger une erreur survenue dans un bloc transmis.

Principe du codage.
On fixe un entier k et on code chaque bloc de m = 2k – k - 1 bits de données par un
bloc de n = 2k - 1 bits en ajoutant donc k bits, dits de correction, a certaines positions
au bloc de m bits. Le tableau suivant indique les nombres de bits de correction, de
données pour différentes valeurs de k.

k =3 m=4 n=7
k=4 m=11 n=15
k=5 m=26 n=31

Dans la suite de l’étude, on retient k=3.

ENSP Anne Marie CHANA Page 121


Architecture des ordinateurs

Position des k bits de correction :


Les k bits de correction sont places dans le bloc envoyé aux positions d’indice une
puissance de 2 en comptant a partir de la gauche. Ainsi, en notant k1 k2 k3 les bits de
correction et m1 m2 m3 m4 les bits de données, le bloc envoyé est :
A = k1 k2 m1 k3 m2 m3 m4.

Calcul des k bits de correction :


Les k bits de correction sont calcules en utilisant une matrice de parité H, représentée
ci-dessous pour k=3.

1 0 1 0 1 0 1
H  0 1 1 0 0 1 1
0 0 0 1 1 1 1

Remarque : La colonne i de la matrice représente en binaire la valeur de i.


Les k bits de correction sont tels qu’en considérant le vecteur
 k1 
 k2
 
 m1  0
 
A =  k 3  , on ait H .A  0
 m2 0
 
 m3
 m4
 
On obtient ainsi 3 équations scalaires que doivent vérifier les k bits de correction :

 k1  m1  m 2  m 4  Omod ulo 2

 k 2  m1  m3  m4  Omod ulo 2
k 3  m 2  m3  m4  O
 mod ulo 2

Remarque : les opérations d’addition sont faites à modulo 2. Par exemple : 1+0=1 ;
1+1=0 ; 1+1+1=1 ; etc.
Le bloc A parfaitement déterminé est alors envoyé.

Réception des données et vérification :


On reçoit le bloc C = c1 c2 c3 c4 c5 c6 c7 qui peut être différent du bloc A si il y a eu
des perturbations sur la ligne.
Si on considère qu’il n’y a eu qu’une seule erreur de transmission, alors on peut
écrire :

ENSP Anne Marie CHANA Page 122


Architecture des ordinateurs

 S1   S1  c1  c3  c5  c 7 mod ulo2



Le vecteur S   S 2 avec S  s 2  c 2  c3  c6  c7 mod ulo 2
 S 3  s3  c 4  c5  c6  c7 
 mod ulo 2

s3 s2 s1 est le code binaire de position de l’erreur dans le bloc C qui est corrigée en
changeant le bit à la position à 1 s’il était à 0 et vice versa.

Si s3 = s2 = s1 = 0, alors il n’y a pas eu d’erreur.

Exercice :
1) On souhaite envoyer le bloc de données 1110. Déterminer le bloc A que l’on
envoie effectivement en utilisant le code de Hamming.
2) On reçoit le bloc 0011101. Vérifier qu’il ne contient pas d’erreur et corriger le
éventuellement. Ecrire alors le bloc de données envoyé.

V.2. Choix d’un code


Le choix d’un code est un problème délicat, dans la mesure où celui-ci dépendra des
problèmes qu’on pourrait avoir à traiter. Les exigences sont donc nombreuses,
parfois contradictoires. Néanmoins, examinons quelques critères parmi les plus
importants.
a. Adaptation aux opérations d’entrée/sortie

Il est nécessaire qu’avec un code, on puisse effectuer facilement les opérations


d’échange d’informations entre le système et son environnement. Ainsi :
- Pour les conversions : numériques – analogiques : intérêt des codes
pondérés ;
- Conversion analogique-numérique par codeurs à disque : intérêt des codes
réfléchis ;
- Compteurs : selon le cas :
*si on veut visualiser les résultats : DCBN ;
*s’il y a des calculs : binaire pur ;
*si on veut juste détecter des coïncidences : codes réfléchis ;
- Conversion binaire-décimal et vice-versa : opération complexe, car la
complexité du matériel de conversion et/ou le temps de conversion croissent avec la
taille des nombres à convertir.
b. Adaptation aux opérations arithmétiques

Dans les opérations arithmétiques par exemple, on s’aperçoit que les circuits du code
binaire pur sont plus faciles à réaliser que ceux des codes décimaux (codés binaires) ;

ENSP Anne Marie CHANA Page 123


Architecture des ordinateurs

c. Aptitude à la détection et à la correction automatique des erreurs

Ici, on mettra en œuvre des dispositifs par exemple pour détecter les combinaisons
interdites, ce qui permet, pour les codes DCB, de dépister les erreurs. De même, on
peut spéculer sur les bits de parité, sans obtenir des codes tels ceux de Hamming.
Un code sera d’autant plus efficace que le nombre d’erreurs qu’il engendre est réduit,
sa mise en œuvre fiable, avec sur le plan technologique une réalisation qui n’entraîne
pas un bruit de fond important, capable de perturber le message transmis.

ENSP Anne Marie CHANA Page 124

Vous aimerez peut-être aussi