Table Of Contentpictogrqaumifm ieg ucrie- condt'reen seisgnuepémreipnertuovoq ru,a nutn e
Le
mériutneee xplicSaotnio obnj.ee stt b aisse dberasuc thaadlteels i vertde es
d'alelrelt eecrts euuIrro m enaqcuee revueosup, o iqnutIe poo s sibmiêlmipoetu ér
reprépsoeulnr't aev deeln 'iérc rit, leasu teduerc sr édeerœs u vres
particuldioènlrsede ommeanitn e nouveeldtl ele efsso iérdeic toerr
DANGER
del 'édtietcihonnei tuq nuiev ersi rectemeesantut j oumrde'nhaucié e.
tailrdee é,v elopmpaesmdseuin ft ® Noursa ppedloonnqcsu te oute
photolcoloep.i reprodupacrttiieoolnult, eo tale,
g
LeC oddee Io p ropriinétteél lec de pIroé sepnutbel iceastti on
tuedlul ej uilleitn terdit intersdointaseu toridsea tion
""O 1er 1992 LE PHOTQrollllAGE
0 ene ffeextp ressIéopm heontto co l'autdees uorné, d itoeuud ru
c TUE LE LIVRE
� piàe u sacgoel lseocnatsui tfo ri Centfrreo ndç'aeixsp lodiut ation
0
satdieoasny andrtotsiO rc,e tptrea tiqdureo diet c opi(eC FC, rued es
N . 20,
ri s'egsétn éradloinlsseé éset ablissGermaenndtss- AugusPtairniss,) .
0 75006
N
@
...µc
O'>
·c
> © Dunod, Paris, 2012
c..
0 ISBN 978-2-10-057763-7
u
LeC oded e lap ropriiénttée llectuelle aun'xta eurtmoedrsei ls'aanrtt,i cle
L. et a)d,' unpea rqtu,e l e«sc opioeusr eproducsttiroincst ement
122-5, 2° 3°
réservéle'su sapgrei dvuéc opisettne o nd estinéuenes u tiliscaotliloe»nc tive
à à
etd,' autpraerq tu,e l easn alyestel sec so urtcietsa tdiaonnussn b udt' exemeptl e
d'illust«rt aotuitroeen p,r ésenotuar teiporno ducitnitoéng roaupl aer tifealiltee
sanlse c onsentedmeel n'ta utoeuud re s esa yantdsr ooiuta yanctasu sees t
illi»c (iatrLe.t 1.22 -4).
Cettree présenotuar teiporno ducptaiqrou ne,l qpureo céqduéec es oicto,n stitue
raidto ncu nec ontrefsaaçnocnt iopnanrél ee s arLt.i cleests uivadnut s
335-2
Coded el apr opréitién tellectuelle.
Table des matières
Avant-propos
1
1 Numération
3
Système de numération
1.1 3
Principe des opérations de base
1.2 6
Changements de bases
1.3 11
Exercices 17
Solutions 17
2 Codage de l'information
25
Codage des informations numériques
2.1 25
Codage des informations non numériques et codes spéciaux
2.2 30
Exercices 36
-ci0 Solutions 37
c
�
0
N 3 Algèbre de Boole
ri 43
0
N
@ 3.1 Définition et théorèmes 43
.µ
..cO'> Fonctions booléennes et représentations
·c 3.2 46
>-
c.0 . 3.3 Simplifications des fonctions booléennes 56
u
Exercices 63
Solutions 64
4 Logique combinatoire
71
Définition
4.1 71
La fonction de codage
4.2 73
La fonction de multiplexage
4.3 75
L'additionneur binaire
4.4 77
VI Mini Manuel d'architecture de /'ordinateur
Exercices 81
Solutions 83
5 Logique séquentielle
91
Introduction
5.1 91
Éléments de mémorisation élémentaire
5.2 92
5.3 Les verrous 93
Les bascules
5.4 103
Comportement des E/S des verrous et des bascules
5.5 108
Classification des verrous et bascules sous la dénomination
5.6
BASCULE
« » 109
Association de bascules
5.7 109
Exercices 121
Solutions 124
6 Les mémoires
139
Introduction
6.1 139
Classification des mémoires
6.2 140
Les mémoires vives
6.3 142
Les mémoires mortes
6.4 153
7 L'unité centrale
""O 157
0
c
�
0 7.1 Organisation d'un ordinateur 157
N
ri
0 7.2 Architecture générale d'une unité centrale 159
N
@ Introduction la programmation en assembleur
7.3 à
...µc
O'> du processeur ARM 167
·c
>
c.. Instructions de traitement des données
0 7.4 170
u
Instructions de référence mémoire
7.5 178
Instructions de contrôle de programme
7.6 183
Syntaxe d'un fichier source en langage d'assemblage
7.7 188
Exercices 191
Solutions 192
Index
205
Avant-propos
L'architecture est la branche de l'informatique qui étudie la structure des
ordinateurs. Il s'agit des couches les plus basses, puisqu'allant du tran
sistor aux composants logiciels permettant le dialogue avec les périphé
riques. La connaissance des mécanismes qui régissent ces couches est
fondamentale pour qui veut comprendre le fonctionnement d'un système
d'exploitation ou l'implémentation des structures logicielles des langa
ges de haut niveau.
C'est la méconnaissance de ces couches basses qui a rendu possible les
attaques logicielles par saturation de bujfer origine de bien des
- à 1'
failles de sécurité. Leur étude est donc plus que jamais d'actualité.
Nous commencerons par aborder la numération, point de départ de cet
ouvrage puisque toutes les informations manipulées par l'ordinateur sont
numériques. Nous verrons ensuite comment les informations sont
""O codées, et comment il est possible d'optimiser leur stockage.
0
c
� Puis nous étudierons 1' algèbre de Boole, structure mathématique sous
0
N jacente la construction des opérateurs binaires complexes. Ces opéra
ri0 à
N teurs seront présentés dans le chapitre suivant, relatif à la logique com
@
binatoire. Nous poursuivrons par l'introduction de la notion de temps et
...µc
O'>
·c verrons les implications au niveau logique dans le chapitre relatif la
> à
c..
0 logique séquentielle.
u
Nous terminerons par l'étude de la structure interne d'un processeur, et
présenterons les mémoires, l'architecture et le langage d'assemblage des
processeurs dans le dernier chapitre.
ARM
""O
0
c
::i
0
N
,..-!
0
N
@
.!:.µ
O'>
1::::
>-
0.
0
u
Numération
Système de numération
1.1
Principe des opérations de base
1.2
Changements de bases
1.3
>
Comprendre le système de numération et les opérations de base
>
Savoir représenter les entiers naturels et relatifs, et les nombres réels
La numération est la méthode qui permet de décrire la forme utilisée
""O pour représenter les nombres. Nous allons présenter le système de numé
0
c
� ration classique, et montrer comment il permet d'écrire des nombres
0
N entiers ou fractionnaires. Nous rappellerons ensuite comment sont
ri
0
N implémentées les opérations de base que sont l'addition, la soustraction,
@
la multiplication et la division, puis nous verrons comment changer de
...µc
O'>
·c base. Nous terminerons par quelques exercices sur le sujet.
>
c..
0
u
1.1 SYSTÈME DE NUMÉRATION
Le système de numération classique est un système positionnel. Cela
signifie qu'un nombre est formé par une succession de chiffres dont la
position détermine l'importance dans le nombre écrit.
Définition: un système de numération positionne] pondéré de baseb
est un triplé (X, A, j) où X note 1' ensemble énumérer, A est un
à
ensemble de b chiffres et f une application injective qui fait
4 Chapitre 1 Numération
•
correspondre au plus une représentation à tout nombre de X :
n
f : X A
-----+
X -----+ (an)n�l
Représentation des nombres entiers et fractionnaires
La représentation positionnelle des nombres est aussi appeléereprésen
tation b-adique. Tout entier peut s'écrire sous la forme :
n-1
n- 1 0 i
N = En-1 (N) · b l + . . . + E1 (N) b + Eo(N) b = L Ei (N) b
· · ·
i=O
où 0 Ei (N) b. Chaque chiffre possède donc un poids, ou rang : il
� <
s'agit de l'indice qui lui est associé dans la représentation, c'est-à-dire de
l'exposant de la base par lequel il est multiplié. Ce principe peut être
étendu aux nombres fractionnaires. Un nombre fractionnaire N peut
donc s'écrire :
n- 1 0 -1
N En-1 (N) · b I + . . . + c1 (N) b + co(N) · b + E-1 (N) · b
= ·
-2 -
+ E-2(N) b + . . . + E-p(N) b P
· ·
soit, sous forme condensée :
n-1
i
N éj(N) . b
L
=
""O i=-p
0
c
�
0
N soit encore, sous forme condensée :
ri
0
N
@
...µc
O'>
·c
>
c..
0 p Représentation simplifiée des nombres
u
3 2 1 0
Le nombre N 1 · 104 + 7 · 10 + 4 10 + 9 10 + 2 1 o
= · · ·
s'écrira donc (17492)10.
Usuellement, on a éi(N) 0 c'est-à-dire que le chiffre de plus fort
j
poids est non nul - sinon il est non significatif. Par contre, le système
étant positionnel, il ne faut pas omettre les autres zéros car ils sont
significatifs : ils permettent d'associer le bon rang à chaque chiffre.
1.1 Système de numération 5
•
Représentation d'un nombre dans différentes bases
10, 2
Les principales bases dont nous traiterons sont la base la base
A = {O, 1} 8
(numération binaire ), la base (numération octale
:
A = {O, l,2,3,4,5,6,7}) 16
et la base (numération hexadécimale :
A = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}).
Un nombre N possède une valeur intrinsèque qui est constante, mais a
une représentation différente dans chaque base. Il ne faut donc pas
confondre un nombre (la valeur de ce nombre) qui est unique et ses
représentations.
p Représentation de dans différentes bases
14792
Le nombre 14792 s'écrit, (14792)10, (39C8)16, (34710)8 ou encore
(11 1001 1 10010000)2.
Valeur d'un nombre
Puisqu'un nombre possède une valeur intrinsèque bien qu'ayant une
représentation différente pour chaque base, il peut être utile de savoir
calculer la valeur du nombre correspondant à une représentation parti
culière.
10
Comme nous manipulons naturellement la base (c'est ce système de
numération que nous avons appris à l'école primaire), cela revient à
B
convertir un nombre d'une représentation en base à sa représentation
10.
en base Nous étudierons une généralisation de ce procédé au para
""O
0 Changement de base.
c graphe
�
0 La méthode utilisée est celle du schéma de Horner. Cette méthode per
N
ri
0 met de calculer rapidement et simplement la valeur d'un polynôme en un
N
@ point, et d'obtenir une factorisation de ce polynôme si la valeur utilisée
...µc
O'> pour le calcul est une de ses racines.
·c
>
c.. Considérons le nombre :
0
u
N (En-1 (N) . . . E1 (N) Eo(N) )b
=
Calculer sa valeur revient à calculer :
N = En-I (N) · bn-l + . . . + E1 (N) · b1 + Eo(N) · b0
b
c'est-à-dire calculer la valeur au point du polynôme :
Po(X) En-1 (N) . xn-I + En-2(N) . xn-2 + ... + E2(N) . X2
=
1
+E1 (N) . X + Eo(N)
6 Chapitre 1 Numération
•
Le principe du schéma de Horner consiste à effectuer des factorisations
successives par X. On effectue une première factorisation qui permet
d'écrire le polynôme sous la forme :
n-2 n-
Po(X) = X · (cn-1 (N) · x + En-2(N) x 3 + . . . + é2(N) · X
·
+c1 (N)) + co(N)
soit Po(X) = X · P1 (X) + éo(N)
avec
P1 (X) = Cn-1 (N) . xn-2 + Cn-2(N) . xn-3 + . . .
+ é2(N) · X + é 1(N)
On recommence alors le procédé avec P1 (X), puis P2(X), etc. On
obtient alors, de manière récursive la forme suivante :
Po(X) = ( . . . ((cn-1 (N) · X + En-2(N)) · X + E n-2(N)) + . . .
+ é1(N)) · X + é o(N)
On peut organiser le calcul sous forme d'un tableau ou sous forme d'une
suite. Dans ce dernier cas, on calcule, dans l'ordre, les termes suivants :
>- to = Pn-1(b) = én-1(N)
>- t1 = Pn-2(b) = b · Pn-1 (X) + En-2 (N) = b · to + En-2(N)
>- ...
""O >- tn-1 = Po(b) = b · P1 (X) + co(N) = b · tn-2 + co(N)
0
c
�
0
N
ri p SCHÉMA DE HÔRNER SOUS FORME D'UNE SUITE
0
N
@ Soit à calculer la valeur de (39C8) l6· On procède par itérations suc
...µc
O'> cessives :
·c
>
c0 .. t0 = 3
u
t1 = 16 . 3 + 9 = 57
t2 = 16 . 57 12 = 924
+
t = 16 . 924 + 8 = 14792
3
1.2 PRINCIPE DES OPÉRATIONS DE BASE
Nous allons rappeler le principe de réalisation des quatre opérations de
base : l'addition, la soustraction, la multiplication et la division.