You are on page 1of 17

Chapitre 1 : Codage de l’information

I. Nécessité de coder l’information


Illustration sur un exemple:
On souhaite transmettre un message sonore (voix) assez loin : il faut l’amplifier. Première solution: Amplification
directe : le « porte-voix » (sorte d’entonnoir) et le cornet acoustique ( que le « professeur Tournesol » utilise
fréquemment) . Appelons f la fonction qui permet de propager le son assez loin. Soit f(s)
Une autre méthode consiste à coder le message , le véhiculer puis le décoder. Plusieurs solutions s’offrent à nous:
• Ecriture du message sur une lettre. Transport par le facteur. Lecture du message.
• Les indiens d’Amérique codaient leurs messages à l’aide de signaux de fumée. Vus d’assez loin.
Interprétés enfin.
• Le micro transforme les vibrations sonores en signal électrique qui est amplifié ou transporté puis le
Haut-parleur transforme les signaux électriques en vibrations sonores.

Appelons φ la fonction qui code le message sonore et donc φ-1 la fonction qui la décode. Et d’autre part ψ la
fonction qui transforme le message codé (ici le transporte).

message φ → message codé 


 ψ
→ message codé transformé φ
−1
→ message transformé
Soit avec mi le message initial et mf le message final mf = φ-1 (ψ (φ (mi ))).

En informatique toutes les informations doivent être codées sous une suite de zéros et de uns. En réalité ce sont
de petits condensateurs (ou d’autres systèmes tels les bascules) qui mémorisent les 1 (quand ils sont chargés ) et
les 0 (quand ils sont déchargés)

II. Numération décimale (rappels)


0 0 ... 0 0 0 0 On dispose de 10 symboles ordonnés (appelés chiffres) : 0 1 2 3 4 5 6 7 8 9 .
0 0 ... 0 0 0 1
0 0 ... 0 0 0 2 On remarquera que ce sont des chiffres arabes : ce qui explique qu’on les
0 0 ... 0 0 0 3 manipule de la droite vers la gauche ( on commence par additionner les unités
0 0 ... 0 0 0 4 puis les dizaines etc...) ils seront donc numérotés de la droite vers la gauche des
0 0 ... 0 0 0 5 poids faibles vers les poids Forts.
0 0 ... 0 0 0 6
0 0 ... 0 0 0 7 On recopie chaque symbole précédé (à gauche) de n zéros.
0 0 ... 0 0 0 8
0 0 ... 0 0 0 9 Ce bloc de 10 chiffres est à recopier 10 fois, précédé la 1ère fois du 1er symbole
è
0 0 ... 0 0 1 0 (0) puis du 2 me (1) .. et du 10ème . Soit un bloc de hauteur 102 et de largeur 2
0 0 ... 0 0 1 1 chiffres. Ce bloc de hauteur 102 est recopié 10 fois, précédé la 1ère fois du 1er
0 0 ... 0 0 1 2 symbole (0) puis du 2ème (1) .. et du 10ème. Soit un bloc de hauteur 103 et de
... largeur 3 chiffres. etc..
0 0 ... 0 0 1 9
0 0 ... 0 0 2 0 D'une façon générale: Le bloc de hauteur 10i-1 et de largeur (i-1) chiffres est
... recopié 10 fois, précédé la 1ère fois du 1er symbole (0) puis du 2ème (1) .. et du
0 0 ... 0 0 2 9 10ème, on obtient un bloc de hauteur 10i et de largeur i chiffres.
...
0 0 ... 0 0 9 9
Architecture et systèmes M.I.A.S 2ème année

00 ... 0 1 0 0 Ecrivons un algorithme correspondant en ADA et donnant les nombres de 4


00 ... 0 1 0 1 chiffres de 0 0 0 0 à 9 9 9 9.
...
00 ... 0 1 9 9
00 ... 0 2 0 0
...
00 ... 0 2 9 9
...
00 ... 0 9 9 9
....

III. Algorithme de numération (en ADA)


...
subtype chiffres is integer range 0..9;
...
for milliers in chiffres loop
for centaines in chiffres loop
for dizaines in chiffres loop
for unités in chiffres loop
put (milliers,1) ; put (centaines,1) ;
put (dizaines,1) ; put (unites,1) ;
loop;
loop;
loop;
loop;
...

IV. Généralisation à une base quelconque.


Exécutons l'algorithme précédent en modifiant le subtype chiffre is integer range 0..1;

on obtient : au code binaire on peut associer un entier décimal.


0000 0
0001 1 Cette association est notre fonction de codage φ (et son inverse φ-1 ) pour des
0010 2 nombres entiers. Nous allons maintenant exprimer un moyen qui permet de passer
0011 3 rapidement de l’entier décimal à son équivalent binaire et réciproquement.
0100 4
0101 5 Pour ne pas confondre 0010 qui correspond à 2 et 10 dont le codage est 1010, On
0110 6 adoptera l’écriture suivante en écrivant la base, c’est à dire le nombre de chiffres
0111 7 différents, en indice entre (). Exemple 11(2)=3(10)
1000 8
1001 9 Revenons à l’écriture des nombres décimaux sur un exemple :
1010 10 18632(10) = 2*100 +3*101 +6*102 +8*103 +1*104 . d’une façon générale,
1011 11 le nombre N = anan-1...a1a0 (b)= an*bn + an-1*bn-1+...a1*b1 +a0*b0 avec 0 ≤ a i< b
1100 12 ou encore N = anan-1...a1a0 (b)= (...(((an*b+ an-1)*b+ an-2)*b+ an-3)*b+...+a1)*b+a0
1101 13 a0 = N mod b ; N1 = N div b mod : reste dans la division entière
1110 14 ...
1111 15 ai = Ni-1 mod b ; Ni = Ni-1 div b div : quotient de la division entière
...
Exemples d’Application :

10111(2) = 1 * 20 + 1 * 21 + 1 * 22+ 0 * 23 + 1 * 24 = 1+2+4+0+16 = 23(10)

Codage et numération 2 D. Mailliet


Architecture et systèmes M.I.A.S 2ème année

Remarque : La base décimale nous paraît tout à fait


naturelle, Il nous est même évident qu’il y a 10 chiffres
...
23 2 En réalité, c’est que nous y sommes habitués, mais ça
03 11 2 n’a pas toujours été le cas : Les Celtes avaient un base
1 1 5 2 constituée de 20 « chiffres » . Il en reste encore des
1 2 2 traces : Ne dit-on pas quatre-vingt.. A Paris, il y a un
0 1 2 hôpital nommé les « quinze-vingt » qui comportait à
1 0 23(10)=10111(2) l’origine 300 lits...
Les œufs se vendent encore à la douzaine...
Les anglais, avant d’adopter le système décimal , il n’y a
23 3 pas si longtemps avaient besoin de 12 pences pour faire
2 7 3 un shilling...
1 2 3 Les algorithmes de calculs tels que nous les
2 0 23(10)=212(3) connaissons, sont applicables, ils nous sont seulement
moins familiers.

En base 2, il est souvent plus rapide de mettre N(10) sous forme Σai*2i (ai =0 ou 1) par essais successifs
exemple : 39(10) = 32 + 7 = 32 + 4 + 3=32+4+2+1 = 25+22+21+20= 100111(2)

V. Addition d’entiers Naturels:


212(3) + 120(3) = ? 212(3) = 23(10) 120(3) = 0+6+9 = 15(10)
+ 0 1 2 1 000

0 0 1 2 212
Vérification:
1 1 2 10 120
23(10) + 15(10) = 38(10)
2 2 10 11 1102
1102(3) = 2+0+9+27 = 38(10)
Table d’addition en base 3

VI. Nombres à « virgules »


Il en va de même que pour les nombres entiers:
Revenons à l’écriture des nombres décimaux sur un exemple :
186.32(10) = 2*10-2 +3*10-1 +6*100 +8*101 +1*102 . d’une façon générale, le nombre

.
N = anan-1...a1a0 a-1a-2...a1-pap (b)= an*bn + an-1*bn-1+...a1*b1 +a0*b0 +a-1*b-1 +a-2*b-2 +...+a1-p*b1-p +a-p*b-p

avec 0 ≤ a i< b
Application aux nombres binaires:
2-1 = 0.5 10.1101(2) = ?(10)
10.1101(2) = 2+0+0.5+0.25+0+0.0625+0.03125 = 2,859375(10)
2-2 = 0.25
3.140625(10) = ?(2)
2-3 = 0.125 4>3.140625>2 3.140625-2= 1.140625
-4
2 = 0.0625 2>1.140625>1 1.140625-1= 0.140625
0.25>0.140625>0.125 0.140625-0.125= 0.015625
2-5 = 0.03125
-6
3.140625(10) = 21 + 20 + 2-3 + 2-6 = 11.001001(2)
2 = 0.015625
2-7 = 0.0078125
2-8= 0.00390625

Codage et numération 3 D. Mailliet


Architecture et systèmes M.I.A.S 2ème année

VII. Norme IEE 754 sur le codage des « réels »


Cette norme prévoit de sauvegarder un nombre flottant:

1 Bit 8 bits 23 bits


signe Exposant mantisse
mantisse
(Exposant − 127)
Le nombre N correspondant à la valeur stockée ci-dessus vaut: ± 1.mantisse × 2
Le nombre 3.140625(10) = 11.001001(2) = 1.10010010...0(2)* 21
signe = 0 (positif) mantisse = 10010010...0 Exposant = 1 + 127 =128(10) = 27 =10000000(2) soit:

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

Cas Particuliers : Exposant Mantisse Valeur absolue du nombre

11111111 0 ∞
0 0 0

0 ≠0 0.mantisse × 2− 126

VIII. Bit, Octet et mots.


Un bit (de l’anglais Binary digIt ) signifie chiffre binaire. On les regroupe généralement par 8 et on appelle ce
regroupement octet. Si on regroupe plusieurs octets, on parle alors de mot de 4 octets par exemple. On peut aussi
parler de mot de 32 bits dans ce cas.

IX. Entier Relatifs . Binaire signé.


A. Convention de signe.
Il est tout à fait envisageable d’ajouter au nombre un bit de signe, ce qui permettrait de distinguer le nombre
positif du nombre négatif, tout comme dans la norme IEE 754.
Cette méthode entraînerait 2 difficultés :
Il y a 2 façons de coder le zéro : -0 et +0 10000000 ou 00000000
Il faut tester le signe (bit de poids faible ) pour additionner ou soustraire les valeurs absolues et accorder le
signe en conséquence (comme on le fait habituellement en algèbre.
Dans tous les cas, il faut convenir à l’avance du nombre de bits qui vont servir à coder un nombre, sinon il n’est
plus possible d’ajouter des « zéros à gauche » non significatifs comme pour les entiers naturels.

B. Soustraire sans soustraction


Illustration sur un exemple en base 10 :
3247 - 1452 = 3247 + (9999 - 1452 +1)-10000.
Le complément à 9 : 9999-1452 = 8547 cette opération ne génère jamais de retenue 9-1 , 9-4 , 9-5 , 9-2
ajouter 1 : 8547 + 1 = 8548 c’est une addition. Complémenter à 9 et ajouter 1 s’appelle
complément à 10.
additionner 3247 + 8548 = 11795
soustraire 10000 11795 - 10000 = 1795 Il suffit de « laisser tomber » le chiffre 1 de poids fort (il ne
sera jamais supérieur à 1)

Codage et numération 4 D. Mailliet


Architecture et systèmes M.I.A.S 2ème année

C. Soustraction . Complément à 1 .Complément à 2


Application de la méthode aux nombres binaires :
101101001 - 1100010 = 101101001 - 001100010 = 101101001 + ( 111111111 - 001100010 + 1 ) - 1000000000

111111111 - 001100010 = 110011101 le complement à 1 transforme le 1 en 0 et le 0 en 1


110011101 + 1 = 110011110 ce résultat est appelé le complément à 2
en binaire : 101101001(2) = en décimal 110011110(2) =
0+2+4+8+16+0+0+128+256 = 414
101101001 1+0+0+8+0+32+64+0+256 = 361 361 775 - 512 = 263
+ 110011110 1100010(2) = = 98 +414 1100000111-1000000000=
1100000111 0+2+0+0+0+32+64 263 775 100000111(2) =
1+2+4+0+0+0+0+0+256=263
Conclusion :
361(10) - 98(10) = 101101001(2) - 1100010(2) = 100000111(2) = 263(10)

X. Nombres Entiers négatifs


De l’étude précédente, dans la mesure où faire la soustraction N2-N1 revient à additionner N1 et l’opposé de N2,
il ressort que pour obtenir un nombre négatif, il suffit de prendre son complément à 2.
Exemple sur ½ octet ( 4 bits):

1000 -8 0000 0 On peut aisément vérifier que -N + N = 0


1001 -7 0001 1 par exemple:
1010 -6 0010 2 -3 + 3 = 1101 + 0011= 10000
1011 -5 0011 3 soit 0000 en laissant tomber le 1 le plus à gauche.
1100 -4 0100 4
1101 -3 0101 5 On remarque que sur 4 bits, 16 nombres sont codés de -8 à 7. Alors qu’en
1110 -2 0110 6 ajoutant 1bit de signe, on ne pourrait en coder que 15 puisqu’il y aurait 2 zéros
1111 -1 0111 7 (0 = 0000 et -0 = 1000)

XI. Multiplication des entiers en binaire.


Elle est particulièrement simple puisqu’un chiffre du multiplicateur est 1 (on recopie le multiplicande) ou 0 ( on
effectue un décalage supplémentaire :
101101 45
11001 25
101101 225
101101000 900
1011010000
1125
10001100101
= 1+4+32+64+1024

Codage et numération 5 D. Mailliet


Architecture et systèmes M.I.A.S 2ème année

XII. Multiplication des Réels.


On procède en 2 temps :
multiplication des mantisses et addition des exposants.

XIII. Octal . Hexadécimal . Puissance d’une Base .


A. Puissance d’une Base .
le nombre N = anan-1...a1a0 (b)= an*bn + an-1*bn-1+...a1*b1 +a0*b0 avec 0 ≤ a i< b
Propriété : Il est évident que N< bn+1, sinon il ne s’écrirait pas avec n+1 chiffres mais avec n+2 .
Mettons bk en facteur N = (...+0*bn-pk+2+0*bn-pk+1+...an*bn-pk +...) (bk)p+ ...+ (a(i+1)k-1*bk-1+...aik+1*b1 +aik*b0) (bk)i
+...+(a2k-1*bk-1+...ak+1*b1 +ak*b0) (bk)1+ (ak-1*bk-1+...a1*b1 +a0*b0) (bk)0
Soient c=bk et (a(i+1)k-1*bk-1+...aik+1*b1 +aik*b0) = Ai < c d’après la propriété ci-dessus. N s’écrit donc :

N= Ap*c p + Ap-1*c p-1+...A1*c 1 +A0*c 0 = ApAp-1...A1A0 (c) avec 0 ≤ A i< c


En pratique : transformer un nombre exprimé en base b dans une base bk , c’est regrouper les chiffres par k en
partant des poids faibles et transformer ces groupements en chiffres de la base bk .

B. Octal . Hexadécimal .
l’hexadecimal comporte 16 chiffres : 0 1 2 3 4 5 6 7 8 9 A B C D E F .
0000 0 0100 4 1000 8 1100 C
0001 1 0101 5 1001 9 1101 D
0010 2 0110 6 1010 A 1110 E
0011 3 0111 7 1011 B 1111 F
l’octal comporte 8 chiffres : 0 1 2 3 4 5 6 7 ( les 2 premières colonnes)
Application :
1100000111(2) = ?(8) = ?(16) 8 = 23 16 = 24
1100000111 = 001 100 000 111 = 1 4 0 7(8)
1100000111 =0011 0000 0111 = 3 0 7(16)
3A2F(16) = ? (8)
3A2F(16) = 0011 1010 0010 1111 = 011 101 000 101 111 = 3 5 0 5 7 (8)
Codage en hexadécimal le nombre 3.140625(10)selon la norme IEE754
3.140625(10) = 01000000010010010000000000000000 = 0100 0000 0100 1001 0000 0000 0000 0000
3.140625(10) = 4 0 4 9 0 0 0 0(16) IEE 754

C. Conclusion
Plus une base est petite, plus il faut de chiffres pour exprimer un même nombre.
La conversion d’un nombre dans une base puissance d’une autre est rapide et facile.
L’ordinateur calcule facilement en binaire.
On utilisera donc le plus souvent l’hexadécimal (éventuellement l’octal) pour exprimer un nombre.

Codage et numération 6 D. Mailliet


Architecture et systèmes M.I.A.S 2ème année

XIV. Codage des caractères. Code ASCII.

A. Définition

Représentation d'un ensemble de caractères (a..z, A..Z,...) par un code binaire de longueur donnée.
Le nombre de caractères représentables par un code est appelé puissance lexicographique.

Exemple: Le code ASCII permet, sur 7 bits, de coder 27 caractères différents.


Sa puissance lexicographique est donc de 128 (27).
Le "A" : 4116 = 100 00012 = 6510
Le "B" : 4216 = 100 00102 = 6610

B. Types de Caractères

Les caractères éditables

Tous les caractères que l'on trouve sur une machine à écrire ou un clavier:
- Lettres alphabet minuscules (a..z é ç à ...)
- Lettres alphabet majuscules (A..Z)
- Chiffres (0..9)
- Opérateurs mathématiques (+ = - * / [ ] ...)
- Ponctuation (, ? . ; : ! { ... )
- Quelques symboles divers (% $ £ & ...)

On trouve dans certains codes des caractères spécifiques à certains pays: ñ Å Ø ê ...

On trouve aussi des caractères graphiques: Æ Â Á Ü Þ Ú ...

Les caractères non éditables (commandes)

Caractères spéciaux permettant d'utiliser les fonctions particulières de la machine. Ce sont principalement des
caractères de commande de mise en forme de texte (destiné à être imprimé):

Backspace, Retour chariot, Echappement (Escape), Tabulation, Sonnerie ...

C. Différents types de codage

- Code ASCII (American Standard Code for Information Interchange)


1963 aux Etats-Unis.
L'un des codes les plus utilisés en informatique.
Sur 7 bits (128 caractères).

- Code EBCDIC
Utilisé principalement sur les gros systèmes (MainFrame).
Sur 8 bits (256 caractères).
Fonctions de commande pour la transmission de données.

- Norme TELETEL VIDEOTEX (minitel)


Basé sur le code ASCII + grille de caractères graphiques
Sur 7 bits (128 caractères).

Logique séquentielle et combinatoire D. Mailliet


7
Architecture et systèmes M.I.A.S 2ème année

- Code ANSI (American National Standard Institute)


Utilisé par Windows.
Sur 8 bits (256 caractères).
Basé sur le code ASCII + Page de code différentes
Exemple: Page de code n° 864 = Jeu de caractères arabes
Page de code n° 865 = Jeu de caractères nordiques
Page de code n° 850 = Jeu de caractères multilingues
Page de code n° 437 = Jeu de caractères français

Dans CONFIG.SYS: DEVICE=C:\DOS\ANSI.SYS


COUNTRY=33,437,C:\DOS\COUNTRY.SYS
Dans AUTOEXEC.BAT: C:\DOS\KEYB FR, 437, C:\DOS\KEYBOARD.SYS

D. Code ANSI . Code ASCII étendu.

E. Code Ascii contrôlé .


L'ensemble des caractères en ASCII est codé sur 7 bits. Cependant, un 8ème bit est ajouté que l'on appelle le bit
de parité. Celui-ci sert au contrôle des erreurs lors des transmissions de données.
Ce bit de parité sera égal à: 0 si le nombre de bits positionnés à 1 est pair.
1 si le nombre de bits positionnés à 1 est impair.
Î 0 100 0001
Î 1 100 0011
Exemple: "A" est codé 100 0001 Bit de parité à 0
"C" est codé 100 0011 Bit de parité à 1
Remarque: Il existe bien d'autres systèmes de protection des erreurs pouvant survenir lors de la transmission
d'information. On peut citer les suivants (en général plus performant que le simple contrôle de parité): code de
Hamming, codes de Bloc (VRC, LRC, code de Gray), codes Cycliques (CRC).

F. Uuencode et Uudécode
Lorsqu’un réseau d’ordinateur travaille en code ascii pur ou contrôlé et que les ordinateurs qui y sont raccordés
travaillent en ascii étendu, on utilise un logiciel qui encode sur 7 bits le message à transmettre et un autre qui
décode le message transmis :
Exemple d’application :
le mot message comporte 7 lettres codées sur 8 bits (Ascii étendu) soit 56 bits. Ces 56 bits mis bout à bout
peuvent être découpés 7 par 7 soit 8 découpage de 7 bits . On peut ajouter à ces 7 bits un bit de contrôle.

Logique séquentielle et combinatoire D. Mailliet


8
Architecture et systèmes M.I.A.S 2ème année

Chapitre 2 : Logique séquentielle et Combinatoire

XV. Définitions
C'est grâce aux circuits logiques qu'il va être possible de "construire" les principaux éléments d'un ordinateur. On
va donc voir comment sont créées quelques constituants de base, à l'aide de ces circuits.
Il existe 2 types de circuits logiques:

• COMBINATOIRES

• SEQUENTIELS
Circuit Combinatoire: Circuit logique dans lequel les sorties ne dépendent que des entrées en amont.

E1
E2 S1
Circuit S2
... Combinatoire ...
Sm
En

Circuit Séquentiel: Circuit logique dans lequel les sorties dépendent des entrées mais aussi des sorties passées
(donc du temps passé)

E1 S1
E2 Circuit S2
Séquentiel ...
... Sm

En

XVI. LES FONCTIONS LOGIQUES

OUI Symbole Table de Vérité


E S
1 1 S=E
E S
0 0

NON [NOT] Symbole Table de Vérité


E S _
1 0 S=E
E S 0 1

ET [AND] Symbole Table de Vérité

Logique séquentielle et combinatoire D. Mailliet


9
Architecture et systèmes M.I.A.S 2ème année

E1 E2 S
E1 0 0 0 S = E1.E2
S 0 1 0
E2
1 0 0
1 1 1

NON-ET [NAND] Symbole Table de Vérité


E1 E2 S _____
E1 0 0 1 S = E1.E2
S 0 1 1
E2
1 0 1
1 1 0

OU [OR] Symbole Table de Vérité


E1 E2 S
E1 0 0 0 S = E1+E2
S 0 1 1
E2
1 0 1
1 1 1

NON-OU [NOR] Symbole Table de Vérité


E1 E2 S _____
E1 0 0 1 S = E1+E2
S 0 1 0
E2 1 0 0
1 1 0

OU Exclusif [XOR] Symbole Table de Vérité


E1 E2 S
E1 0 0 0 S = E1⊕E2
S 0 1 1
E2 1 0 1
1 1 0

NON-OU Exclusif Symbole Table de Vérité


[NXOR] E1 E2 S _____
Equivalence E1 0 0 1 S = E1⊕E2
S 0 1 0
E2 1 0 0
1 1 1

XVII.Circuits séquentiels .
A. Additionneur
Circuit qui va être à la base des calculs arithmétiques entre 2 nombres binaires. Somme de 2 nombres de 1 bit.

1. Le 1/2 Additionneur
A B Ret Som
0 0 0 0 Somme de 2 nombres de 1 bit.
0 1 0 1
1 0 0 1
1 1 1 0

Table de vérité du ET (AND) Table de vérité du OU Exclusif (XOR)

On en déduit que le schéma du 1/2 Additionneur sera le suivant:

Logique séquentielle et combinatoire D. Mailliet


10
Architecture et systèmes M.I.A.S 2ème année

2. L'additionneur Complet
Somme de 3 nombres de 1 bit.
But: Permettre ensuite la réalisation d'une addition de 2 nombres en gérant les retenues (voir additionneur 4 bits).

Exemple: Additionneur 2 bits

Schéma de l'additionneur complet permettant de réaliser l'addition de 3 bits:

Il suffit de remarquer que la somme est égale à S = (A+B)+r et que la retenue R provient soit de la première
addition (R1) soit de la deuxième (R2) donc un ou logique entre les 2.

3. Application: Additionneur 4 bits


Somme de 2 nombres de 4 bits: (a3 a2 a1 a0 ) + (b3 b2 b1 b0 ) = (s4 s3 s2 s1 s0 )
Exemple:
0 0 1 0 r3 r2 r1 r0 A 0101 Unité arithmétique
Retenue
0 1 0 1 a3 a2 a1 a0
+ 0 0 0 1 b3 b4 b1 b0 (Additionneur 4 bits)
0 1 1 0 s4 s3 s2 s1 s0 B 0001 00110 S

Logique séquentielle et combinatoire D. Mailliet


11
Architecture et systèmes M.I.A.S 2ème année

B. Unité Logique 1bit

Seule 1 des 3 commandes est a 1 les autres sont a 0

Cet Cou Ceq Sortie


0 0 0 0
1 0 0 A et B
0 1 0 A ou B
0 0 1 A≡B

C. Décodeur . Décodeur d'adresse


Utilisation pour les accès-mémoire des ordinateurs.
La valeur d'entrée au circuit détermine une adresse. Cette adresse va être "décodée": elle permettra d'activer la
sortie (fil) dont le rang correspond à cette adresse.

Ð Ð Ð Ð Ð
S1 S2 S3 S4 ... Sn

Mémoire ...

S0
Décodeur S1
d'Adresse
S2
S3
... ...
S 2p
A0 A1..Ap
Adresse 3

Logique séquentielle et combinatoire D. Mailliet


12
Architecture et systèmes M.I.A.S 2ème année

D. Unité arithmétique et logique 1 bit

E. Unité arithmétique et logique 4 bit


On procède par composition, comme pour l’additionneur 4 bits.

F. Multiplexeur-Démultiplexeur
Servent à faire transiter sur le même fil des infos binaires provenant de plusieurs fils.

A D
M C
B E
U
C M
X C
D U
X

Adresse 3 Adresse 3
Multiplexeur = Concentration sur un même fil. En sortie, on a une recopie de la donnée d'entrée dont le rang
figure sur l'adresse disposée en entrée.
AIGUILLAGE DE PLUSIEURS ENTREES SUR UN MEME FIL
Démutiplexeur = Déconcentration sur plusieurs fils. En sortie, on a une recopie de la donnée d'entrée sur le fil
dont le rang figure sur l'adresse disposée en entrée.
AIGUILLAGE D'UNE ENTREE SUR PLUSIEURS FILS.

Logique séquentielle et combinatoire D. Mailliet


13
Architecture et systèmes M.I.A.S 2ème année

XVIII.Circuits combinatoires
A. Les bascules
La mémoire d'un ordinateur est un dispositif essentiel: stockage des données et instructions en cours d'éxecution.
Il faut donc un dispositif permettant de mémoriser une donnée binaire (1 bit).
Ce dispositif qui permet de se "souvenir" d'une valeur enregistrée est une bascule.

MEMORISER 1 BIT Î BASCULES

r0 = 0

a0 = 1 c0 = 0 Bascule
b0 = 1
ADDITIONNEUR
a1 = 1
b1 = 0 2 bits c1 = 1 idem ...

c2 = 1 idem ...

B. La bascule JK

C. Les registres
Un registre permet de mémoriser de façon temporaire plusieurs informations binaires. Un registre est un élément
de mémorisation de 8 bits, 16 bits, 32 bits, ... en simultané.
Un registre est donc composé d'une juxtaposition de plusieurs bascules permettant chacune de mémoriser 1 bit --
> mémorisation de plusieurs bits simultanément.

D. Les compteurs binaires

E. Les mémoires
1. L'ADRESSAGE MEMOIRE

Contenu (1 Octet)

111
11110111 110
101
100
011
00110110 010
Logique séquentielle et combinatoire 001 D. Mailliet
Adresse
14
000
Architecture et systèmes M.I.A.S 2ème année

2. BOITIER MEMOIRE VIVE

A9
A8
A7
D0
A6
A5 D1
A4
D2
A3
D3
A2
A1
A0

WE CS

A0 à An: Adresse mémoire des données


D0 à Dn: Broches de sortie ou d'entrée des données
CS: Chip Select, broche de sélection du boitier
WE: Write Enable, autorise les données sur les broches D à être lues ou écrites
Il existe aussi des broches d'alimentation électrique (non représentées ici)

F. Unité centrale
1. Schéma

Logique séquentielle et combinatoire D. Mailliet


15
Architecture et systèmes M.I.A.S 2ème année

ICO Compteur
Ordinal
Case-mémoire

PSR
Autres Registres LCO CCO

Mémoire
Reg. Décodeur
Bus d'Adresses Centrale
Adr. d'adresse
Accumulateur Bus de Commandes Mem.

CAD
CRA
Unité de
Registre Commande
d'Etat
Séquenceur
Décodeur
Horloge

LEC ECR

U.A.L.
Mémoire Ordinale (MO)
Registre Mot
RInstruction RAdresse

CEA CRI
LMM EMM
EDA

CEB
Bus de Données

Logique séquentielle et combinatoire D. Mailliet


16
Architecture et systèmes M.I.A.S 2ème année

2. LISTE DES MICROCOMMANDES

LCO : Lecture du Compteur Ordinal.


Transfère le contenu du compteur ordinal sur le bus d’adresses.

CCO : Chargement du Compteur Ordinal.


Transfère le contenu du bus d’adresses dans le compteur ordinal.

PSR : Pointage Sur Registre.


Transfère le contenu du bus d’adresses dans le registre adresse mémoire.

LEC : LECture.
Transfère le contenu de l’emplacement mémoire, dont l’adresse est dans le registre adresse
mémoire, dans le registre mot mémoire.

ECR : ECRiture.
Transfère le contenu du registre mot mémoire dans l’emplacement mémoire répéré par
l’adresse stockée dans le registre adresse mémoire.

LMM : Lecture Mot Mémoire.


Transfère le contenu du registre mot mémoire sur le bus de données.

EMM : Ecriture Mot Mémoire.


Transfère le contenu du bus de données dans le registre mot mémoire.

CRI : Chargement Registre Instruction.


Transfère le contenu du bus de données dans le registre instruction.

CAD : Chargement ADresse.


Transfère la partie adresse (opérande) de l’instruction sur le bus d’adresse.

CRA : Chargement Registre Accumulateur.


Le résultat d’une opération dans l’UAL est transféré dans l’accumulateur.

CEA : Chargement Entrée A.


Transfère le contenu du bus de données sur l’entrée A de l’UAL.

CEB : Chargement Entrée B.


Transfère le contenu de l’accumulateur sur l’entrée B de l’ UAL.

EDA : Envoi de Données Accumulateur.


Transfère le contenu de l’accumulateur sur le bus de données.

ICO : Incrémentation (+1) du Compteur Ordinal.

NOP : No OPération.
Transfert de la donnée B sur la sortie sans opération.
ADD : Addition, SUB : Soustraction, NON, ET, OU logique, etc...
Logique séquentielle et combinatoire D. Mailliet
17

You might also like