Vous êtes sur la page 1sur 68

Codage, circuits logiques, architecture

Introduction l'informatique (S1 IMP)

Damien Mass <damien.masse@univ-brest.fr>

Introduction l'informatique (S1 IMP)

1/67

Description du cours
Qu'est-ce qu'un ordinateur ? 1. Signication des donnes : le 2. 3.

codage. Oprations sur les donnes : les circuits logiques. Modle d'ordinateur : l'architecture.

Introduction l'informatique (S1 IMP)

2/67

Codage

Informatique : traitement automatis d'informations par ordinateur. Le codage dsigne la faon de reprsenter l'information en une donne
est fait par l'humain.
ordinateur Dcodage Donnes Codage Informations humain

(object

 concret ). Le sens de ce codage (la correspondance entre donne et information)

traitement

L'ide de codage est indpendante des ordinateurs.


Introduction l'informatique (S1 IMP)

3/67

Exemple : criture
L'

criture est un codage : l'information est reprsente par une suite de symboles (les lettres). Les oprations de codage et dcodage sont faites par l'humain.
Nous tudions dans la suite l'criture et le codage des coder).

nombres (information facile

Introduction l'informatique (S1 IMP)

4/67

Codage des entiers naturels


Les entiers naturels servent partir du vide (le

zro) et d'une opration successeur (le  +1 ).

compter

des objets. Mathmatiquement, on les dnit

Ex : trois est le successeur du successeur du successeur du vide.

criture d'un entier se fait l'aide de dix symboles (les chires) 0, 1, ..., 9. On appelle cette criture le codage en base 10 des entiers.
Couramment, l'

Introduction l'informatique (S1 IMP)

5/67

Codage en base 10
Les

chires reprsentent les dix premiers entiers, dans l'ordre 0, 1, 2, ..., 9.


les units ) est pris tel quel ;

Un nombre est reprsent comme une suite de chires : l'entier reprsent par le chire le plus droite (

celui reprsent par le chire sa gauche est multipli par dix ; celui encore sa gauche par dix fois dix ; et ainsi de suite... Le nombre total est la somme des dirents nombres obtenus. Si notre nombre est crit

ak ak1 . . . a0 ,

le nombre reprsent est :

a0 + 10 a1 + 102 a2 + . . . + 10k ak
Exemple : 432 = 4 * 100 + 3 * 10 + 2.

Introduction l'informatique (S1 IMP)

6/67

Codage en base n
Codage positionnel l'aide de bases : 1. on utilise un nombre limit de chires, 2. la

en partant de zro ;

position du chire dans le nombre donne sa valeur.


n
:

Dans un codage en base on utilise

chires, reprsentant les nombres de 0 n-1 ;

si un chire est au multipli par

nk

(et

k -ime rang (en partant de la droite, nk sera appel le poids du chire dans

de 0), ce chire est le nombre).

Introduction l'informatique (S1 IMP)

7/67

Notes historiques
L'ide de codage positionnel n'est pas vidente. L'criture romaine utilisait plutt un symbole dirent par changement de dizaine (I, X, C, M, etc...). Historiquement, les bases 12, 20, 60 ont t utilises (et apparaissent encore parfois). La base 10 s'est progressivement impose partout. Le

codage positionnel

a t envisag en Chine et en Inde, avant d'tre formalis

dans le monde arabe avec l'usage du 0.

Introduction l'informatique (S1 IMP)

8/67

Exemple : la numration  shadok 


Les  shadoks  comptent en base 4 : les quatre chires sont dans l'ordre

Zo, Meu. On peut alors numrer les premiers nombres


0 1 2 3 Ga Bu Zo Meu 4 5 6 7 Bu Ga Bu Bu Bu Zo Bu Meu 8 9 10 11 Zo Ga Zo Bu Zo Zo Zo Meu 12 13 14 15

Ga, Bu,

: 16 17 18 19 Bu Ga Ga Bu Ga Bu Bu Ga Zo Bu Ga Meu

Meu Ga Meu Bu Meu Zo Meu Meu

Dans  Meu Bu , Bu a pour rang 0 et poids 1, et Meu a pour rang 1 et poids 4.

MeuBu 1 + 3 4 = 13.

Introduction l'informatique (S1 IMP)

9/67

Reprsentation des chires


Si possible, on utilise les mme chires pour la base la base en indice :

n et la base 10. On donne alors

(4263)7
nombre

4 73 + 2 72 + 6 7 + 3 = 1515
valeur en base 10

base

Au-del de 10, on utilise les lettres : A pour 10, B pour 11, etc... Exemple :

(AD5)17 = 10 172 + 13 17 + 5 = 3116.

Pour des trs grande base, on peut utiliser les nombres en base 10, entre parenthses. Par exemple :

( (23) (56) (04) )60 = 23 602 + 56 60 + 4 = 86164

Introduction l'informatique (S1 IMP)

10/67

Passage de la base n la base 10


Facile :

(ak ak1 . . . a0 )n = a0 + a1 n + a2 n2 + . . . + ak nk
k

=
i=0
Exemple : Traduire

ai n i (4263)7 = 3 + 6 7 + 2 72 + 4 73 = 1515.

(4263)7

en base 10 :

Introduction l'informatique (S1 IMP)

11/67

Passage de la base 10 la base n


Principe :

(ak ak1 . . . a0 )n = a0 + a1 n + . . . + ak nk = a0 + n (a1 + n (a2 + n . . . (ak1 + n ak ) . . .)) = a0 + n ( machin )


Le premier chire ( droite) est donc le

nombre par n.
reste, et on recommence...

reste de la division euclidienne du


n
pour avoir le

Et pour la suite, on part du quotient (le  machin ), on divise par

Introduction l'informatique (S1 IMP)

12/67

Exemple
On cherche traduire 1515 en base 7.

1515 3

7 1515 = 7 * 216 + 3 216 6 7 216 = 7 * 30 +6 +2 +4 30 2 7 30 = 7 * 4 4 4 7 4=7*0 0

Se

ns

de l

ec

tu

re

Donc :

1515 = 3 + 7 (6 + 7 (2 + 7 4)) = 3 + 6 7 + 2 72 + 4 73 = (4263)7


Introduction l'informatique (S1 IMP)

13/67

Codage et ordinateurs
Deux bases (en plus de la base 10) sont utilises couramment pour les ordinateurs : la base

deux, dite aussi binaire, qui dcrit ce qui se passe au niveau des ls (0 seize, dite hexadcimale, qui regroupe les ls par 4.

= pas de courant, 1 = du courant) la base

Un chire en base 2 est appel un

bit (de l'anglais BInary digiT, chire binaire). Dans un nombre binaire, les bits gauche sont dits bits de poids fort et les bits droite bits de poids faibles.

Introduction l'informatique (S1 IMP)

14/67

Codage sur un ordinateur


Un ordinateur a une mmoire limite, donc on limite la taille des entiers par le nombre de bits

codant l'entier. octet).

Ce nombre est souvent un multiple de 8 (on appelle 8 bits un Un nombre 8 bits ira de 0 255. Un nombre 16 bits de 0 65 535. Un nombre 32 bits de 0 4 294 967 295. Un nombre 64 bits de 0 18 446 744 073 709 551 615

Plus gnralement, pour

bits, le nombre va de 0

2N 1.

Introduction l'informatique (S1 IMP)

15/67

Remarques
Lorsqu'il est demand de reprsenter un entier sur un nombre x de bits, il faut donner

tous les chires, mme ceux qui sont nuls. Par exemple, 45 sur 8 bits

00101101.

le dpassement de la taille d'un nombre est une source frquente d'erreurs informatiques.
On ne peut pas tendre comme on veut le nombre de bits reprsentant un entier : Exemple : si il est demand de coder 277 sur 8 bits, dire simplement que c'est impossible.

Introduction l'informatique (S1 IMP)

16/67

Codage des entiers relatifs


En codage mathmatique, la faon courante d'crire un entier ngatif est de mettre un  -  devant son nombre crit en valeur absolu. Cela se fait pour toutes les bases. Exemple :

1515 = (4263)7

Sur un ordinateur, on parle de entiers naturels qui sont dits

codage des entiers signs (par opposition aux non signs). On ne peut pas utiliser de symbole

particulier (puisqu'on a que des 0 et des 1).

Introduction l'informatique (S1 IMP)

17/67

Codage des entiers signs


1er essai : mettre un

bit de signe devant le nombre. Si ce bit est 0, le nombre

est positif, si ce bit est 1, ce nombre est ngatif. Exemple : sur 8 bits, -5 devient 10000101.

Consquence : ce codage dpend du nombre de bits utiliss.


possibles.

Ainsi -5 ne

s'crira pas de la mme faon sur 8 et 16 bits. Ce sera le cas pour tous les codages

Inconvnients : 1. 0 est reprsent deux fois (comme +0 et -0) ; 2. les

calculs sont compliqus

: quand l'ordinateur additionne deux entiers, il doit

savoir l'avance s'ils sont signs ou non.

Introduction l'informatique (S1 IMP)

18/67

Complment 2
Ide : garder un bit de signe, mais reprsenter nombre de bits). Exemple (avec 3 bits, donc Bin. 000 001 010 011 100 101 110 111 Non sign 0 1 2 3 4 5 6 7 4 = 8-4 5 = 8-3 6 = 8-2 7 = 8-1

comme

2N x

(ou N est le

2N = 8)
Sign 0 1 2 3

: Exemple : 101 vaut 5 en non sign, et 5 = 8-3, donc a reprsente -3. Avantages : reprsentation unique (tous les nombres de -4 3 sont reprsents d'une seule faon) ; ordre respect, sauf le saut de 3 -4 ;

-4 -3 -2 -1

a + (b) N aura la mme reprsentation que a +(2 b).


calculs indpendants du signe : Pratiquement tous les programmes utilisent cette reprsentation.
19/67

Introduction l'informatique (S1 IMP)

Passage de k k
Technique pour trouver la reprsentation de 1. on crit

k
0

sur

N
1

bits :

;
0

Reprsentation de -44 sur 8 bits

2. on inverse tous les bits ; (en non sign : 3. on ajoute 1. (en non sign :

= 44
Inversion

(2N 1) k ) 2N k )

= 211 = (28 1) 44
+1

= 212 = 28 44

Cette technique permet toujours d'obtenir l'oppos d'un nombre (mme s'il est ngatif au dbut).

Introduction l'informatique (S1 IMP)

20/67

Extension d'un nombre sign


La reprsentation d'un nombre sign dpend du nombre de bits utiliss. Pour  augmenter  le nombre de bits reprsentant un nombre sign, il faut

le bit de signe gauche du nombre autant de fois que ncessaire.


Exemple : passage de 8 16 bits.

ajouter

un nombre positif (par exemple 44, reprsent par 00101100), sera tendu par des 0 (d'o

0000000000101100). 1111111111010100).

un nombre ngatif (par exemple -44, reprsent par 11010100), sera tendu par des 1 (d'o

On doit donc avoir deux oprations d' extensions  qui peuvent donner des rsultats dirents.
Note : si le nombre est non sign, l'extension se fait toujours en ajoutant des 0.
Introduction l'informatique (S1 IMP)

21/67

Intervalles de reprsentation
Un entier sign reprsent sur

bits ira de

2N 1

2N 1 1.

Un nombre 8 bits ira de -128 127. Un nombre 16 bits de -32 768 0 32 767. Un nombre 32 bits de -2 147 483 648 2 147 483 647. Un nombre 64 bits de environ

9 1018

9 1018 .

Introduction l'informatique (S1 IMP)

22/67

Codage des rels


Mathmatiquement, on utilise communment un En base 10 :

sparateur dcimal

(la

virgule).

ak ak1 . . . a0 , b1 . . . bl = ak .10k + ak1 .10k1 + . . . + a0 +b1 .101 + b2 .102 + . . . + bl .10l


En base

(ak ak1 . . . a0 , b1 . . . bl )n = ak .nk + ak1 .nk1 + . . . + a0 +b1 .n1 + b2 .n2 + . . . + bl .nl

Introduction l'informatique (S1 IMP)

23/67

Exemples
(0, 75)8 =
7 8

5 82

= 0, 953125
1 15

(2A, 1C )15 = 2 15 + 10 + (2, 3)14 = 2 +


3 14

12 152

= 40, 12

= 2, 2142857142857142857 . . . 142857 . . .

nie dans une base ne le sont pas dans une autre (mais les chires successifs sont priodiques).
Certains nombres reprsentables de faon

Convention : pour simplier, on reprsente la suite innie de chire en soulignant


sa priode :

3 14

= 0, 2142857.

Introduction l'informatique (S1 IMP)

24/67

Passage de la base 10 la base n


Avec uniquement la partie fractionnaire, on peut

factoriser les 1/n

(0, b0 . . . bl )n

1 1 1 = (b0 + (b1 + . . .)) n n n 1 = (b0 + ( machin )) n

... avec le  machin  strictement infrieur 1.

le premier chire aprs la virgule est la partie entire du nombre multipli par n.
Donc L encore, on peut obtenir tous les chires successifs en rptant la multiplication.

Introduction l'informatique (S1 IMP)

25/67

Recette
1. On commence par convertir la partie entire. 2. On multiplie la partie fractionnaire par

Conversion de 24,32 en base 5

n.

24 = (44)5
0,32 * 5 = 1 ,6

3. La partie entire est un nouveau chire. 4. On retire la partie entire et on revient l'tape 2, tant que le nombre est non nul. Donc

0,6 * 5 = 3 ,0

fini

24, 32 = (44, 13)5

Introduction l'informatique (S1 IMP)

26/67

Autre exemple
On veut reprsenter 0,14 en base 16 :

0, 14 16 = 2, 24. On prend 2, reste 0,24. 0, 24 16 = 3, 84. On prend 3, reste 0,84. 0, 84 16 = 13, 44. On prend D (pour 13), 0, 44 16 = 7, 04. On prend 7, reste 0,04. 0, 04 16 = 0, 64. On prend 0, reste 0,64. 0, 64 16 = 10, 24. On prend A (pour 10), 0, 24 16 = 3, 84. On prend 3, reste 0,84.
... on est revenu la seconde tape. Donc

reste 0,44.

reste 0,24.

0, 14 = (0, 2 3D70A)16

L encore, la conversion peut ne jamais s'arrter.

reprer le moment o on boucle.


Introduction l'informatique (S1 IMP)

On devra donc faire attention

27/67

Notation scientique, forme exponentielle normalise


On appelle

notation scientique
x
appel

(ou

forme exponentielle normalise) la repr-

sentation des rels l'aide de deux lments : un nombre

de la virgule ; un exposant k (qui est un entier relatif ).


Le nombre rel reprsent tant alors Exemple :

mantisse avec un seul chire, dirent de 0, gauche


x 10k x bk ).

(ou, en base

quelconque,

0, 00425 = 4, 25 103 ; (34, 222)5 = (3, 4222)5 51 .

En binaire (on parle de

forme exponentielle binaire normalise),


1
(sauf pour

le chire

gauche de la virgule pour la mantisse est toujours un

lui-mme).

Introduction l'informatique (S1 IMP)

28/67

Reprsentation sur ordinateur


La plupart des systmes reprsentent les rels sous forme exponentielle normalise (on parle de

nombre virgules ottantes ou simplement de ottants).

On accorde un bit de signe, un nombre de bits xs pour l'exposant et un nombre de bits xs pour la mantisse.

Signe

Exposant

Mantisse

Nous tudierons spciquement ici la reprsentation dnie par la norme IEEE 754, la plus standard (IEEE = fond en 1963).

Institute of Electrical and Electronics Engineers, Inc.,

Introduction l'informatique (S1 IMP)

29/67

Mantisse bit cach


Comme le premier chire de la mantisse vaut toujours

1,

il n'est pas ncessaire de

l'ajouter. On crira donc uniquement la partie fractionnaire de la mantisse, on parle de

mantisse bit cach.


1, 011011 23 . Le bit de signe vaut 0 et la mantisse (ici 011011000.
Exposant 0 1 1 0 1 1 0 0 0

Exemple : reprsentation de sur 9 bits) s'crit

Introduction l'informatique (S1 IMP)

30/67

Exposant biais
Si l'exposant est reprsent sur dcale

bits, on reprsentera l'exposant

sous une forme

q = e + 2t1 1.

On parle d'

exposant biais (2t1 1 est appel le biais

de la reprsentation). Exemple : reprsentation de donc

1, 01101123 , avec un exposant sur 4 bits. On reprsente q = 3 + 23 1 = 10 = (1010)4 .


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

Comme

doit tre compris entre 0 et

2t 1,

il faut que

soit entre

2t1 + 1

et

2t1 .
Introduction l'informatique (S1 IMP)

31/67

Limites de la reprsentation
Un exposant trop grand ou trop petit ne peut pas tre reprsent, ce qui limite les ottants possibles en deux zones.

exposants trop grands

reprsentable (ngatifs)

0
exposants trop petits

reprsentable (positifs)

exposants trop grands

Prcision Simple (32 bits) Double (64 bits)

Exposant 8 bits 11 bits

Mantisse 23 bits 52 bits

Limite inf.

Limite Sup.

1, 2 1038 2, 2 10308

3, 4 10+38 1, 8 10+308

Comme la mantisse est nie, on a aussi des

erreurs d'arrondi.

Introduction l'informatique (S1 IMP)

32/67

Cas particuliers
An d'amliorer la reprsentation, la norme prvoit quelques cas particuliers : Si l'exposant et la mantisse sont 0, alors le nombre reprsent est 0. Avec le bit de signe 1, on a  -0 . Quand tous les bits d'exposants sont 0, on ne prend plus en compte le bit cach (on parle de nombres

dnormaliss ),

ce qui permet d'tendre un peu la

reprsentation vers les petits nombres. Si tous les bits d'exposants 1 et que la mantisse est 0, on reprsente (respectivement plus ou moins l'inni). Si tous les bits d'exposants sont 1 et que la mantisse n'est pas 0, cela reprsente  pas un nombre  (ou (divisions par zro...).

l'inni

NaN, not a number). Cela sert pour les calculs incorrects

Introduction l'informatique (S1 IMP)

33/67

Conclusion (codage)
1. Un nombre, dans l'ordinateur, est reprsent l'aide d'un groupe de  l  dans un format

binaire
1 0 0 1

une tension non nulle reprsente un 1 ; une tension nulle reprsente un 0.

(1001)2 = 9

2. Pour les nombres relatifs, reprsentation en 3.

complment 2. Pour les nombres non entiers, une reprsentation virgule ottante.

Introduction l'informatique (S1 IMP)

34/67

Circuits logiques
Nous avons vu comment l'ordinateur reprsente les nombres. La question est maintenant :

comme l'ordinateur manipule ces nombres ?


est une  boite  qui prend des entres (binaires) et renvoie

Un

circuit logique

des sorties (binaires).

0 1 Entrees

0 1 Sorties

Introduction l'informatique (S1 IMP)

35/67

Exemple : additionneur 4 bits


Ce circuit prend 8 entres (2 entres de 4 ls, chacune reprsentant un nombre sur 4 bits), et dispose de 5 sorties, donnant la somme des deux nombres en entres.
1 0 0 1 0 0 1 1
En binaire,

1 0 1 0 1

1 1 1 0 0 0 1 0 0111 +0 1 0 0 1011

1 1 0 1 0

1001 + 1100 10101

(soit, en base 10,

9 + 12 = 21)

(ou

7 + 4 = 11)

Un ordinateur pourrait alors tre un grand circuit logique.

Introduction l'informatique (S1 IMP)

36/67

Autre exemple : mmoire lmentaire


On dipose de deux entres : une donne et une commande, et une sortie. commande 0 : la sortie ne change pas. commande 1 : la sortie prend la valeur en donne.

commande

donnee

sortie

0 0 ou1 ? 0

1 0 0 ou 1

0 0

1 1 1 0 ou 1

0 1

Introduction l'informatique (S1 IMP)

37/67

Logiques combinatoire et squentielle


Les

circuits logiques combinatoires sont des circuits o les valeurs de sorties ne

dpendent que des valeurs d'entres au mme instant. Exemple : additionneur.

Les

circuits logiques squentiels


: mmoire.

sont des circuits o les valeurs de sorties d-

pendent en plus d'un tat interne du circuit (on peut reprsenter cet tat par une

rtroaction). Exemple

Logique combinatoire

Logique squentielle

ei

sj

ei

sj

sj = f (..., ei , ...)
Introduction l'informatique (S1 IMP)

qk sj = f (..., ei , ..., qk , ...) qk = g (..., ei , ..., qk , ...)


38/67

Logique combinatoire
La

table de vrit

d'un circuit logique combinatoire est un tableau donnant les

valeurs de sorties en fonction des valeurs possibles d'entres. Exemple : un

multiplexeur (qui permet de choisir une entre, ici s = ec ). c


e0 e1
0 0 1 1

e0 e1 s

c
0 1 0 1

s
0 0 0 1

e0
1 1 1 1

e1
0 0 1 1

c
0 1 0 1

s
1 0 1 1

0 0 0 0

Introduction l'informatique (S1 IMP)

39/67

Portes logiques
Ce sont des circuits logiques lmentaires. Dessin
a b

Nom, notation Porte OU (OR)

Table de vrit

a 0
1.

b 0 1 b 0 1 s 1 0

s 0 1 s 0 0

a 1 1 a 1 1

b 0 1 b 0 1

s 1 1 s 0 1

s = a b ou s = a + b s = 1 si a OU b sont
s

0 a 0

a b

Porte ET (AND)

s = a b ou s = a.b s = 1 si a ET b sont
s

1.

0 e 0 1

Porte NON (NOT) ou inverseur

s = e ou s = e s est l'inverse de e.
Introduction l'informatique (S1 IMP)

40/67

Portes logique (suite)


Dessin
a b

Nom, notation

Table de vrit

Porte NON OU (NOR)

a 0 0 a 0 0 a 0 0

b 0 1 b 0 1 b 0 1

s 1 0 s 1 1 s 0 1

a 1 1 a 1 1 a 1 1

b 0 1 b 0 1 b 0 1

s 0 0 s 1 0 s 1 0

s = (a b)

ou

s=a+b

a b

Porte NON ET (NAND)

s = (a b)

ou

s = a.b

a b

Porte OU exclusif (XOR)

s=ab

La porte OU exclusif se voit frquemment mais n'est pas vraiment une porte lmentaire.
Introduction l'informatique (S1 IMP)

41/67

Utilisation des portes logiques


Tout circuit logique combinatoire peut tre obtenu en combinant des portes lmentaires, comme un circuit lectrique. Exemple : on peut reproduire notre multiplexeur, ici vri dans le cas

e0 = 1,

e1 = 0

et

c = 0. c
0 NOT AND 1 1

s e0
1 1 OR 0 AND
Introduction l'informatique (S1 IMP)

1 OR 0

e1

42/67

tude mathmatique : l'algbre de Boole


L'

algbre de Boole (ou algbre boolenne) formalise les calculs de circuits com{0, 1}
(ou

binatoires et les raisonnements logiques. L'algbre est dnie par un ensemble de deux valeurs trois oprateurs, le  +  (le

{faux , vrai })

et

ou ), le  .  (le et ) et le 
.

 (le

non ).
+.

Note : par convention, l'oprateur

est prioritaire sur l'oprateur

Introduction l'informatique (S1 IMP)

43/67

Proprits du ET
1.a = a (identit) ; 0.a = 0 (nullit) ; a.a = a (idempotence) ; a.b = b.a (commutativit) ; (a.b).c = a.(b.c) (associativit).

Introduction l'informatique (S1 IMP)

44/67

Proprits du OU
0 + a = a (identit) ; 1 + a = 0 (nullit) ; a + a = a (idempotence) ; a + b = b + a (commutativit) ; (a + b) + c = a + (b + c) (associativit).

Introduction l'informatique (S1 IMP)

45/67

Autres proprits
Distributivit : a.(b+c) = a.b + a.c a+(b.c) = (a+b) . (a+c) Absorption : a . (a + b) = a a + a.b = a Avec la ngation :

a=a; a + a = 1 (loi d'inversion) a.a = 0 (loi d'inversion).

Introduction l'informatique (S1 IMP)

46/67

Lois de Morgan
Pour tout

a, b : a.b = a + b, et a + b = a.b. a b a b a+b


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

a.b
1 0 0 0

a.b
1 1 1 0

a+b
1 1 1 0

Les lois de Morgan permettent de dplacer les oprateurs NON dans le calcul.

Par exemple :

(a.b) + b.c = a.b.b.c = (a + b).b.c


Introduction l'informatique (S1 IMP)

47/67

Calcul boolen
On peut alors exprimer la sortie d'un circuit logique combinatoire l'aide d'une

formule boolenne. Par exemple, pour le multiplexeur, la formule correspond


notre circuit tait :

s = (e0 + c).c + (e0 + c).e1


Les proprits vues auparavant permettent d'obtenir des circuits quivalents. 1. Par factorisation,

s = (e0 + c).(e1 + c),

ce qui donne un circuit plus simple.

2. En dveloppant, le calcul est plus complexe :

s = e0 .c + c.c + e0 .e1 + c.e1 = e0 .c + e0 .e1 + c.e1 = e0 .c + e0 .e1 .(c + c) + c.e1 = e0 .c.(1 + e1 ) + c.e1 .(1 + e0 ) = e0 .c + c.e1
Introduction l'informatique (S1 IMP)

(developpement) (car (car

c.c = 0) c + c = 1) 1 + a = 1),
48/67

(dveloppement puis factorisation) (car

Multiplexeur simpli
c s = e0 .c + e1 .c
AND

s = (e0 + c).(e1 + c)

NOT

OR

e0 .c e0 s
OR

e0 + c e0
NOT OR AND

e1 e1 .c
AND

e1 e1 + c

Introduction l'informatique (S1 IMP)

49/67

Bilan
1. On peut manipuler les donnes binaires l'aide de tiels et combinatoires. 2. Ces circuits sont construits partir de 3. L'

circuits logiques, squen-

portes logiques.

algbre de Boole permet de faire les calculs relatifs aux circuits logiques.

Introduction l'informatique (S1 IMP)

50/67

Architecture
Un ordinateur doit contenir : 1. un immense 2. 3.

circuit logique combinatoire qui fait les calculs ; une mmoire (circuit logique squentiel) pour dcrire son tat ; une horloge pour synchroniser les oprations.

4. et c'est (presque) tout !

Unite de calcul

Memoire

Horloge

Entrees/Sorties (ecran, clavier...)

Introduction l'informatique (S1 IMP)

51/67

Architecture (suite)
machine polyvalente, on utilise le modle de machines programme enregistr : le programme excuter se trouve dans la mmoire sous la forme d'instructions simples.
Pour avoir une Donc, pas de dirence machine de Babbage).

a priori

entre instructions et donnes (contrairement la

Memoire Processeur +123.232 "Ceci est une phrase." "Cours de S1" ...... Lit la memoire... Additionne ... Range en memoire... ........

Donnees du programme

Traitement de linstruction, calculs Decodage de linstruction


Introduction l'informatique (S1 IMP)

Code du programme

52/67

Le processeur
Le circuit qui excute les instructions est appel comprendre en particulier : 1. une

processeur.

Un processeur doit

unit de contrle

(ou unit de commande) qui dcode et interprte les

instructions ; 2. une

unit arithmtique et logique

(UAL) qui fait les calculs (additions,

soustractions, comparaisons...). 3. une petite mmoire interne, appel les

registres.

Introduction l'informatique (S1 IMP)

53/67

Processeur (suite)
U.A.L. Instructions Unite de controle Registres Bus

Interface memoire Memoire

Introduction l'informatique (S1 IMP)

54/67

Bus
Un

bus

est un ensemble de lignes (de ls), qui permet de transmettre une donne

d'un lment l'autre : au sein mme du processeur ; ou entre le processeur et la mmoire. Un bus peut tre

monodirectionnel

ou

bidirectionnel.

Introduction l'informatique (S1 IMP)

55/67

Exemple de fonctionnement
1. Un registre, le

compteur de programme contient l'adresse de l'instruction registre d'instruction. Le compteur

lire. Le contenu de cette adresse est demand la mmoire. 2. Ce contenu est plac dans un registre, le

de programme est mis jour (avanc de 1).


3. L'instruction est  dcode . 4. L'

unit de contrle

fait les oprations correspondantes l'instruction (en

fonction de l'tape 3), par exemple : lectures/critures sur des registres ; lectures/critures en mmoire ; calculs numriques. Ceci est rpt indniment.

Introduction l'informatique (S1 IMP)

56/67

Les instructions
Les instructions sont crites en binaire, dans le

jeu d'instruction). L'assembleur est la traduction (humaine)


de boles (presque) comprhensibles pour l'homme.

langage machine (on parle aussi


du langage machine dans des sym-

Exemple d'instruction (sur 16 bits) et sa traduction :


100

instructions arithmtiques, logiques, rangements, chargements

0100

addition de 2 registres 011= 3

R3

010=2

R2

001=1

R1

l'instruction 100 0100 011 010 001 signie

ADD R1,R2,R3

(soit R1 = R2+R3).

Introduction l'informatique (S1 IMP)

57/67

Exemples d'instructions (en assembleur)


Instruction arithmtique :

ADD R1, R2, R3

(ajouter R2 et R3, mettre le rsultat dans R1)

Instruction de chargement/rangement :

LD R1, [R2+2] (charger dans R1 ST [R2+2],R1 (sauver l'adresse


Branchements :

la valeur l'adresse mmoire (R2+2)) mmoire (R2+2) la valeur dans R1)

B 6

(avancer le compteur de programme de 6)

L'ensemble des direntes instructions est un langage appel cesseur.

l'assembleur du pro-

Introduction l'informatique (S1 IMP)

58/67

Description de l'assembleur
La structure du langage machine impose des

contraintes sur l'assembleur. Exemple

addition d'une constante signe un registre, rsultat dans un autre registre.


1 0100

instruction

ADDI

0
la constante signe registre destination registre source

chaque registre n'est repr que par 3 bits la constante n'a que 5 bits, donc va de truction d'ajouter -40). On peut noter cette instruction 5 bits ).

8 registres maximum (de R0 R7) ; -16 15 ( pas possible par cette ins(simm5 signiant  sign sur

ADDI Rd,Rs1,simm5

Introduction l'informatique (S1 IMP)

59/67

Exemple de programme
On dispose de 8 registres de 16 bits, au dpart tous 0, et d'une mmoire de cases de 16 bits, adresses de 0 65535. La mmoire contient ( partir de l'adresse 0) les instructions suivantes :

216

0) ADDI R1,R1,10 1) ST [R0+10],R1 2) B -3


Ce programme place successivement les valeurs 10,20,30,... l'adresse 10.

Introduction l'informatique (S1 IMP)

60/67

Les indicateurs d'tats


Un programme doit pouvoir avoir des quelque chose On utilise des

 si ... , ou  jusqu' ... .

branchements conditionnels,

pour faire

gistre d'tat rcc) modis par certaines oprations arithmtiques.


Exemple :

indicateurs d'tats

(qui sont les bits d'un registre spcial, le

re-

indicateur  zro  (not par exemple rcc[z]), qui vaut 1 si le rsultat de l'opration est 0. indicateur  ngatif  (not rcc[n]) qui vaut 1 si le rsultat de l'opration (vu en sign) est ngatif. Ainsi, avec

ADD. R1, R2, R3, la n de l'addition rcc[z] vaut 1 si R2 + R3 = 0, et 0 sinon ; rcc[n] vaut 1 si R2 + R3 < 0, et 0 sinon.
Introduction l'informatique (S1 IMP)

61/67

Instructions de branchements conditionnels


Ces branchements modient le compteur d'instruction bonne valeur. Exemples :

si

l'indicateur d'tat la

BEQ -9 BGT -9

ajoute -9 au compteur d'instruction si rcc[z] vaut 1 ; ajoute -9 au compteur d'instruction si rcc[z] vaut 0 et rcc[n] vaut 0.

Introduction l'informatique (S1 IMP)

62/67

Exemple
Excuter 5 fois un code particulier (en supposant R0=0) :

0) ADDI R1,R0,5 1) ... ... 14) ... 15) ADDI. R1,R1,-1 16) BGT -16

Introduction l'informatique (S1 IMP)

63/67

Interruption, sous-programmes
Deux mcanismes plus complexes : Les

interruptions sont des venements qui  arrtent  temporairement l'exsous-programmes permettent d'excuter un code un autre emplacement
appel du sous-programme
pour pouvoir

cution du programme en lanant un autre code. L'emplacement et le contexte en attente est conserv. Exemple : appui sur une touche. Les

mmoire, en gardant en mmoire le lieu d'

y revenir. Exemple : appel d'une fonctions gnrique.

Introduction l'informatique (S1 IMP)

64/67

Complments sur l'architecture


Dirence entre

RISC et CISC

les premiers processeurs taient des CISC : jeu d'instructions larges et complexes (simplie la tche du programmeur) ; puis sont venus les RISC : jeu d'instructions restreint, mais permet les optimisations (pipe-line, cache) et plus rapide. Actuellement, la distinction n'existe plus vraiment : les processeurs cumulent le tout.

Introduction l'informatique (S1 IMP)

65/67

Carte mre
Carte principale de l'ordinateur.

Connecteurs E/S

Emplacement processeur

Connecteurs extensions

Emplacement memoire
66/67

Introduction l'informatique (S1 IMP)

Priphriques
On distingue : 1. Les priphriques de stockages : mmoire (RAM), disques durs, lecteurs de disquettes, cl USB, CD/DVD... 2. Les priphriques d'entres : clavier, souris, scanner... 3. Les priphriques de sortie : cran (carte vido), imprimante, haut-parleurs (carte son)... On peut aussi ajouter les priphriques de communication : carte rseau, modem...

Introduction l'informatique (S1 IMP)

67/67

Bouquin, site web


A la bibliothque universitaire :

Initiation l'informatique : programmation, algorithmique, architecture, Henri-Pierre


Charles, Eyrolles, 1999. (ne suit pas exactement le cours)

Page web :

http://doelan-gw.univ-brest.fr:8080/~dmasse/cours/archi.pdf

Introduction l'informatique (S1 IMP)

68/67