Anda di halaman 1dari 11

Ministre de lEnseignement Suprieur et de la Recherche Scientifique

Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2

Chapitre 2 : Introduction lArchitecture des ordinateurs

2.1 Introduction
Le mot ordinateur a t cr en 1955 pour designer une machine capable, dans la limite de
ses capacits en espace mmoire (ncessairement finies) et en vitesse de calcul, d'excuter n'importe
quel algorithme qu'on lui fournit sous forme de programme, sur n'importe quelle donne discrte,
qu'on lui fournit galement.
Il se distingue ainsi fondamentalement d'une simple machine calculer par sa capacit
enchaner plusieurs oprations en suivant des instructions paramtrables. Toute la difficult de
conception d'un ordinateur vient donc de cette ncessit de lui faire excuter des suites d'oprations,
en synchronisant l'action de ses diffrents composants.
Cest une machine qui traite linformation fournie par un composant dentre suivant un
programme et dlivre une information sur un composant de sortie
2.2 Les composants dun ordinateur
Le cur d'un ordinateur est constitu :
Dune Unit Centrale (UC), ou microprocesseur ;
Des mmoires, parmi lesquelles on distingue plusieurs types :
o

La mmoire ROM (Read Only Memory : mmoire accs en lecture seule) : ensemble de bits
dont l'tat est fix une fois pour toute, lors de la construction de l'ordinateur. Elle sert stocker
des informations permanentes (procdures de dmarrage...) ;

La mmoire RAM ou mmoire vive (Random Access Memory : mmoire accs alatoire) :
ensemble de bits modifiables volont, o se trouvent stockes les donnes sur lesquelles
travaille l'ordinateur. Cette mmoire est volatile, c'est--dire qu'elle ne conserve les donnes
que tant que la machine est sous tension. La mmoire vive des meilleurs ordinateurs actuels
atteint 1Giga-octet.

les mmoires secondaires ou auxiliaires : ce sont des dispositifs permettant de stocker des bits
de faon stable (qui reste fixe mme si on teint la machine) tout en tant gnralement
modifiable. On peut inclure parmi elles les disques durs, les disquettes, les bandes
magntiques, les cls USB... La capacit des disques durs actuels se compte en Giga-octets.

Charge de cours/TD : Mme TOUIL


Anne universitaire : 2015/2016

Page : 1

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
Les autres composants sont donc :

soit des priphriques d'entre, c'est--dire permettant un utilisateur extrieur de fournir des
informations (donnes/programmes) la machine sous forme numrique : souris, clavier,
scanner, joystick, appareil photo numrique, camscope numrique... Ces dispositifs peuvent
tous tre conus comme des numriseurs puisqu'ils transforment un comportement (l'appui sur
la touche d'un clavier, le mouvement de la souris) ou un objet (une photo analogique pour le
scanner, un paysage pour les appareils de prise de vue numrique !) en une suite de bits.

soit des priphriques de sortie, c'est--dire permettant de visualiser ou de transmettre des


donnes internes l'extrieur : cran, imprimante, IPod, vido-projecteur... A l'inverse des
numriseurs, ces dispositifs traduisent des suites de bits en information interprtable par les
humains.

La logique de cette organisation est donc celle de la figure suivante :

Figure 1 : Organisation gnrale d'un ordinateur


2.3 L'architecture de Von Neumann
Entrons

maintenant

dans

l'organisation

interne

du

cur

de

notre

ordinateur.

Si Turing peut tre considr comme le pre de l'informatique thorique, l'homme l'origine de la
conception des ordinateurs actuels est John Von Neumann. Von Neumann, n en Hongrie, tait un trs
grand mathmaticien, ayant laiss sa trace dans de nombreux domaines, y compris en physique
(quantique) et en conomie (thorie des jeux). D'origine juive, il a migr aux Etats Unis dans les
annes 1930. En 1935, il a accueilli dans son Universit de Princeton, pour un stage universitaire, un
certain Alan Turing. Les deux hommes se connaissaient donc mais n'ont jamais pour autant travaill
ensemble la ralisation d'un ordinateur. Pendant la guerre, Von Neumann, a particip au projet
Manhattan, qui a donn lieu la bombe atomique amricaine, en se consacrant particulirement
aux calculs balistiques. Sensibilis par cette exprience l'intrt des calculateurs automatiques, il a
ensuite travaill avec des ingnieurs la conception d'un tel calculateur. En 1945, il a crit leur
intention un rapport o il dtaillait les principes qui devaient selon lui prsider la ralisation d'une
Charge de cours/TD : Mme TOUIL
Anne universitaire : 2015/2016

Page : 2

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
machine universelle (un ordinateur, donc). Ces principes sont depuis connus sous le nom
d'architecture de Von Neumann, et sont ceux encore utiliss de nos jours pour la conception des
ordinateurs
actuels.
Le schma gnral (trs simplifi) de l'architecture de Von Neumann est celui de la figure suivante :

Figure 2 : Architecture de Von Neumann


Les deux innovations majeures introduites par Von Neumann par rapports aux calculateurs existant
son poque sont, ainsi, l'intgration :

d'une unit de commande qui donne les ordres et synchronise les oprations ;
d'une mmoire centrale interne permettant de stocker aussi bien des donnes que des
programmes.

Pour bien comprendre comment fonctionne un ordinateur, il nous faut dtailler chacun des
composants de cette architecture.
2.3.1 La mmoire centrale (RAM)
La mmoire vive d'un ordinateur est compose d'un ensemble de mots mmoire, qui sont
des suites de bits de taille fixe. Chaque mot mmoire est identifi par son adresse. Celle-ci est
indispensable pour rfrencer chaque mot mmoire et ainsi retrouver ce qui a t pralablement
stock dans l'un d'eux. L'adresse est simplement un code, donc une autre suite de bits. Le nombre de
bits rserv au codage de l'adresse doit videmment tre suffisant pour permettre d'associer une
adresse diffrente chaque mot mmoire. La figure suivante montre un exemple de mmoire RAM
(ultra simple) constitue de 16 mots mmoire de 2 octets chacun (le contenu de la mmoire n'est pas
reprsent). Chaque mot mmoire a donc une adresse comprise entre 0 et 15.

Charge de cours/TD : Mme TOUIL


Anne universitaire : 2015/2016

Page : 3

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2

Figure 3 : Structure d'une RAM lmentaire


Une particularit fondamentale de la mmoire centrale, dans l'architecture de Von Neumann, c'est
qu'elle sert stocker indiffremment aussi bien des bits codant des donnes que des bits codant des
traitements, des instructions. Il n'y a pas de distinction entre les deux, pas de sparation. Cette
capacit coder avec des 0/1 aussi bien des donnes que des traitements, c'est le fondement de
l'informatique.
2.3.2 L'unit de commande
Elle est compose de deux registres. Un registre est simplement une petite unit de mmoire
vive (un ensemble de bits, donc, encore !), d'accs rapide. Les deux registres de l'unit de commande
sont :

le compteur ordinal (ou CO) : ce registre sert stocker en permanence l'adresse o se trouve en
mmoire centrale interne l'instruction en train d'tre excute (on dit aussi l'instruction
courante). Sa taille concide donc avec la taille des adresses de la mmoire (4 bits dans notre
exemple) ;
le registre d'instruction (ou RI) : il sert stocker en permanence l'instruction en train d'tre
excute (ou instruction courante). Sa taille est donc la mme que celle d'un mot mmoire.

On peut reprsenter l'unit de commande de notre machine rudimentaire comme dans la figure
suivante :

Figure 4 : Structure de l'unit de commande


Charge de cours/TD : Mme TOUIL
Anne universitaire : 2015/2016

Page : 4

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
Dtaillons maintenant de quoi est compose une instruction lmentaire, telle qu'elle peut tre
stocke dans un mot mmoire ou dans le registre d'instruction. Une telle instruction est en fait
constitue de 4 parties. Dans notre exemple, chaque partie tiendra donc sur octet soit 4 bits.
Nous dtaillerons simplement le codage des instructions lmentaires de type arithmtique (addition,
soustraction, multiplication, division). Les 4 parties du code de l'instruction ont alors la signification
suivante :
:

Code instruction

Adresse donne1

Adresse donne2

Adresse rsultat

la premire partie code instruction : est le code de l'opration effectuer. Dans notre
exemple, nous nous contenterons des 4 oprations arithmtiques de base et nous nous fixons
la convention suivante : 0000 code l'addition, 0001 la multiplication, 0010 la soustraction et
0011 la division. Il reste des codes disponibles pour d'autres oprations possibles.

la deuxime et la troisime partie, notes Adresse donne1 et Adresse donne2 :


contiennent l'adresse mmoire o se trouvent stockes respectivement la premire et la
deuxime donne (dans cet ordre) sur lesquelles l'opration arithmtique doit tre effectue ;

la quatrime partie, note Adresse rsultat : est l'adresse mmoire o doit tre stock le
rsultat de l'opration.

Ainsi, par exemple, 0011 1001 0011 0001 est l'instruction d'effectuer une division (code 0011) entre
le nombre stock dans le mot mmoire d'adresse 9 (code 1001) et celui stock l'adresse 3 (code
0011) et de stocker le rsultat dans le mot mmoire d'adresse 1 (code 0001).
2.3.3 L'horloge
L'horloge de l'Unit Centrale est un mtronome lectronique qui lance des tops ou
impulsions intervalles de temps rguliers. Ces tops d'horloge donnent la cadence laquelle
travaille l'ordinateur et permettent l'ensemble des composants de l'Unit Centrale de se
synchroniser.
Plus les tops sont rapprochs, plus l'ordinateur est rapide. La frquence de l'horloge se compte en
nombre de tops par secondes, dont l'unit de mesure est le Hertz, ou plutt le Mega-Hertz MH (1MH =
106Hertz
Charge de cours/TD : Mme TOUIL
Anne universitaire : 2015/2016

Page : 5

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
2.3.4 L'unit de traitement
L'unit de traitement est le composant qui excute les calculs. Il est lui-mme compos de :

Trois registres, servant respectivement stocker les donnes (que nous notons donne 1 et
donne 2) d'une opration arithmtique et son rsultat : leur taille est celle d'un mot mmoire
(2 octets dans notre exemple) ;
L'Unit Arithmtique et Logique (UAL) capable, quand on lui fournit le code d'une opration
arithmtique excuter, de prendre les contenus des deux premiers registres (ceux contenant
les donnes 1 et 2) et de remplir le troisime registre avec le rsultat de cette opration.

L'unit de traitement se reprsente habituellement comme dans la figure suivante :

Figure 5 : Structure de l'unit de traitement


L'UAL est ainsi la machine calculer de l'ordinateur (dans notre exemple : simplement les 4
oprations arithmtiques de base).
2.3.5 Les bus
Les flches reliant les composants entre eux sont en fait des ensembles de fils permettant de
transporter plusieurs bits en parallle. On les appelle pour cela des bus.
Dans le schma de la figure 1, figurent ainsi 3 bus dont les noms dsignent le type de donnes
qu'ils transportent. Le bus ordres sert transmettre les demandes d'excution d'oprations de
l'unit de commande vers l'unit de traitement. Le bus instructions fait transiter les instructions
lmentaires des mots mmoire vers le registre d'instruction de l'unit de commande, et le bus
donnes/rsultats fait circuler (dans les deux sens) le contenu des mots mmoires entre la mmoire
et les diffrents registres de l'unit de traitement.

Charge de cours/TD : Mme TOUIL


Anne universitaire : 2015/2016

Page : 6

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
Ces diffrents bus peuvent contenir un nombre de fils diffrent. Le nombre de fils du bus de
donnes/rsultats dtermine la capacit du microprocesseur. Un microprocesseur 32 bits contient
donc un bus donnes/rsultats compos de 32 fils.
2.4 Le cycle d'excution d'une instruction
Supposons maintenant que la mmoire centrale de notre ordinateur contienne un programme et
des donnes, et que l'on souhaite excuter ce programme sur ces donnes. Lancer cette excution
revient mettre dans le compteur ordinal (CO) l'adresse o se trouve stocke la premire instruction
du programme. A partir de l, le programme est excut tape par tape, instruction par instruction.
L'excution d'une instruction se fait suivant un cycle comprenant 3 phases :

phase 1 : L'instruction courante, dont l'adresse est stocke dans le CO, est recopie dans le
registre d'instruction (RI) en transitant par le bus instructions ;

phase 2 : cette instruction courante est dcode destination de l'UAL ; ainsi le bus ordres
transfre le code de l'opration (les 4 premiers bits) et le bus donnes/rsultats transfre
dans les registres appels donne 1 et donne 2 le contenu des mots mmoire se trouvant
aux adresses rfrences dans l'instruction ;

phase 3 : l'UAL excute l'opration qui lui est demande en mettant jour son registre
rsultat et transfre ce rsultat dans la mmoire centrale, l'adresse rfrence dans
l'instruction, en utilisant le bus donnes/rsultats ; par ailleurs le CO est automatiquement
incrment (c'est--dire qu'il est augment de 1), pour signifier que l'instruction suivante
excuter doit se trouver normalement l'adresse qui suit immdiatement la prcdente. Un
nouveau cycle peut commencer alors pour la nouvelle instruction courante.

Ces cycles sont rythms par les tops d'horloge, chaque phase correspondant un nombre fixe de
tops successifs. Dans notre exemple, pour la phase 1, qui ncessite de faire transiter l'instruction
courante de la mmoire vers le RI en utilisant le bus d'instruction, 4 tops d'horloge seront ncessaires
(car un mot mmoire fait 16 bits et le bus n'a une capacit que de 4 bits).
Illustrons ce fonctionnement l'aide d'un exemple complet sur notre ordinateur miniature (seuls les
bits utiles de la mmoire et des registres sont donns). La figure 6 montre la situation de dpart, les
trois suivantes montrent l'tat de l'ordinateur aprs l'excution de chaque phase d'un cycle.

Charge de cours/TD : Mme TOUIL


Anne universitaire : 2015/2016

Page : 7

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2

Figure 6: Situation de dpart


Pour aider la comprhension, on fait chaque tape figurer en gras les composants actifs cette
tape.
La figure 7 montre l'tat de l'ordinateur l'issue de la premire phase du premier cycle. L'instruction
courante a transit travers le bus instructions et se retrouve dsormais dans le registre
d'instruction. Notons que, si le bus instructions est compos de 4 fils, comme sur notre schma,
alors qu'une instruction dans un mot mmoire est stocke sur 2 octets, alors ce transfert a d se faire,
au mieux, en 4 passages successifs (correspondant chacun un top d'horloge).

Figure 7 : Premier cycle, phase 1

Charge de cours/TD : Mme TOUIL


Anne universitaire : 2015/2016

Page : 8

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
La figure 8 montre l'tat de l'ordinateur l'issue de la deuxime phase du premier cycle. Le bus
ordres a fait tout d'abord transiter les 4 premiers bits de l'instruction courante l'UAL, qui a reconnu
que c'tait le code d'une addition (l'opration active dans l'UAL est donc l'addition). Les deux suites de
4 bits suivantes correspondent aux adresses en mmoire o l'UAL doit aller chercher les donnes sur
lesquelles effectuer cette opration. Ces donnes viennent remplir les registres donne 1 et
donne 2 de l'UAL en passant pas le bus donnes/rsultats.

Figure 8: Premier cycle, phase 2


La figure 9 montre l'tat de l'ordinateur l'issue de la troisime et dernire phase du premier
cycle. L'UAL a ralis l'opration qui lui tait demande et a rempli avec le rsultat son registre
rsultat. La dernire partie de l'instruction courante indique l'adresse du mot mmoire o ce
rsultat doit tre stock. C'est ce qui est fait en utilisant de nouveau le bus donnes/rsultats. Par
ailleurs, pour prparer le cycle suivant, le compteur ordinal est augment de 1.

Figure 9 : Premier cycle, phase 3


Charge de cours/TD : Mme TOUIL
Anne universitaire : 2015/2016

Page : 9

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
A l'issue de ce cycle, la premire instruction lmentaire a t entirement excute et la
machine est prte dmarrer un nouveau cycle pour excuter la deuxime (et dernire) instruction du
programme.
La figure 10 montre la situation de l'ordinateur la fin de l'excution de ce deuxime cycle (sans
dtailler les 3 phases, cette fois). Un nouveau cycle peut commencer, mais nous supposons qu'il n'y a
plus d'information pertinente l'adresse rfrence par le CO (ou il y en a une signifiant FIN) :
l'excution du programme est donc termine.

Figure 10 : Situation l'issue du deuxime cycle


Mais quel programme, finalement, notre ordinateur a-t-il effectu, sur quelles donnes, et pour
trouver quel rsultat ? Reprenons le fil de cet exemple.

la premire instruction commandait l'excution d'une addition entre 2 nombres stocks en


mmoire que nous appellerons respectivement nombre 1 et nombre 2 ; le rsultat tant
nombre 3 ;
la deuxime instruction demandait de multiplier nombre 3 (donc, le rsultat intermdiaire
prcdent) par un nouveau nombre, disons nombre 4, pour donner le rsultat final.

Le programme, l'algorithme ralisait donc l'opration compose suivante :


Nombre 1 + nombre 2 = nombre 3
Nombre 3 * nombre 4 = rsultat
ou encore : rsultat = (nombre 1 + nombre 2 ) * nombre 4
Charge de cours/TD : Mme TOUIL
Anne universitaire : 2015/2016

Page : 10

Ministre de lEnseignement Suprieur et de la Recherche Scientifique


Universit Alger 1

Facult des sciences

Dpartement Mathmatiques Informatique


Module : Structure Machine / S2
Les nombres 1, 2 et 4 sont les donnes sur lesquelles le programme a t excut. Nombre 3 est
un rsultat intermdiaire et le rsultat final est not rsultat. En fait, l'algorithme compos des 2
instructions excutes par l'ordinateur ralise le programme en C suivant : v=(x+y)*z ;
La valeur relle des nombres sur lesquels le calcul a t effectu dpend de ce qui est stock dans la
mmoire aux adresses utilises par le programme. Dans notre exemple, elles valaient respectivement
(en dcimal) : x=5, y=14 et z=2. La valeur du rsultat final de notre excution est donc : (5 + 14) * 2 =
38.
Sur la figure 6, les deux mots mmoire prsents aux adresses 0001 et 0010 respectivement
contenaient des instructions, tandis que les mots mmoire dont les adresses taient 1011, 1100 et
1101 contenaient des donnes. L'exemple a aussi montr comment l'enchanement de plusieurs
oprations lmentaires pouvait permettre de raliser une opration plus complexe.

Charge de cours/TD : Mme TOUIL


Anne universitaire : 2015/2016

Page : 11

Anda mungkin juga menyukai