Escolar Documentos
Profissional Documentos
Cultura Documentos
LA MMOIRE DE L'ORDINATEUR
1.
Un ordinateur est compos de plusieurs types de mmoire. premire vue, on peut d'abord distinguer la
mmoire principale l'interne et les mmoires priphriques l'externe (appeles aussi mmoires
auxiliaires ou mmoires de masse ou alors secondaire).
Les mmoires auxiliaires sont des mmoires de grande capacit qui permettent de stocker les
informations pour une plus longue priode que ne le fait la mmoire principale de capacit plus limite.
Ce sont par exemple les disques et disquettes, ou les bandes magntiques. Ces mmoires ont par contre
un temps d'accs plus lent que la mmoire principale, mais leur cot de fabrication est bien plus bas. Ces
mmoires seront vues plus en dtail lorsque nous aborderons les priphriques de l'ordinateur.
La mmoire principale, quant elle, est une mmoire plus rapide, laquelle la CPU est relie. C'est l
que sont emmagasines les informations et les instructions excuter (par exemple les programmes de
l'usager) et que transitent les informations permettent au CPU d'excuter ces instructions. C'est la
mmoire principale que ce chapitre s'attarde principalement.
Essentiellement, le rle de la mmoire est celui d'emmagasiner de l'information et de la restituer au
besoin. Pour ce faire, l'information contenue dans la mmoire doit tre bien identifie, de faon
pouvoir la retrouver au besoin.
Il y a plusieurs faons diffrentes d'organiser une mmoire. La taille des units d'information qu'elle
contient peut galement varier. Les choix des constructeurs sont en fonction de ce qu'on attend de
l'ordinateur construire. Les caractristiques des mmoires dpendent, entre autres, des performances
dsires, de la capacit souhaite, et du budget dont on dispose car gnralement leur cot est prohibitif,
malgr la tendance la baisse.
Une mmoire se prsente comme un ensemble de cellules ou d'units de rangement identiques destines
mmoriser de l'information. Chaque unit de rangement est identifi par un numro qu'on appelle son
adresse. Pour une mmoire comportant N cellules, les adresses sont les entiers compris entre 0 et N-1. Il
existe donc un systme physique assurant la correspondance entre chaque unit de rangement de la
mmoire et son adresse. Le bloc de contrle de la mmoire (ou contrleur) effectue ce travail
d'aiguillage.
La mmoire doit aussi pouvoir communiquer avec les autres parties de l'ordinateur, l'unit centrale de
traitement (CPU) et les units d'entres/sorties en particulier. Cette communication est assure par des
organes de liaison forms par les lignes ( ou bus), les portes et les registres. Les lignes sont en ralit des
"autoroutes" sur lesquels circulent les bits d'information formant les adresses et les donnes. Les portes
servent contrler la synchronisation du traitement en laissant passer les impulsions lectriques ou non
en tant ouvertes ou fermes. Tant qu'aux registres, ils sont en ralit des mmoires trs petites et trs
rapides qui servent emmagasiner temporairement certaines informations concernant le travail
effectuer.
La mmoire
1.1.
Le "tore" magntique est en fait un petit anneau, fait de ferrite, qui peut prendre deux tats: tre aimant
dans un sens ou dans l'autre, selon la charge de courant qui lui est applique. Les tores, dont le diamtre
est d'une fraction de millimtres, sont disposs en ranges et en colonnes pour former un plan o chaque
tore reprsente un bit. Plusieurs plans peuvent tre superposs, de faon ce que les tores dont les
coordonnes (range, colonne) sont les mmes sur chaque plan forment des mots.
Chaque tore est travers par trois fils: un dcodeur de range et un dcodeur de colonne qui permettent
de localiser un tore (donc un bit) et finalement un fil dtecteur dont la fonction est de dtecter le sens de
l'aimantation et de le modifier au besoin. Il suffit d'appliquer un tore une certaine charge de courant
pour changer le sens de l'aimantation, et donc, son tat.
L'opration de lecture consiste reprer le tore correspondant l'adresse recherche et utiliser le fil
dtecteur pour savoir si le bit contient un 0 ou un 1. Comme cette opration se fait en appliquant une
charge sur les fils de range et de colonne, chaque opration de lecture a pour consquence de mettre
zro le contenu de la cellule lue. Il faut donc lire et rcrire le contenu de la mmoire lue chaque
lecture.
Pour effectuer une opration d'criture, il faut aussi deux tapes: d'abord mettre la cellule zro, puis
procder l'aimantation de la cellule.
1.1.1.1 Dsavantages:
Cette ncessit de procder la mise zro avant d'crire et la restauration du contenu aprs chaque
lecture est un des principaux dsavantages des mmoires tores, puisque ces oprations augmentent le
temps de lecture et d'criture ainsi que les risques d'erreur. L'autre inconvnient des mmoires tores est
leur taille qui ne peut concurrencer la miniaturisation possible avec les mmoires semi-conducteurs.
La mmoire
1.1.2
Un semi-conducteur est un matriau dont la conductibilit lectrique se situe entre celle des isolants et
celle des mtaux. Les plus utiliss sont le germanium et surtout, le silicium.
Les mmoires lecture seulement, ou ROM (Read Only Memory) contiennent un contenu qui est
enregistr de faon dfinitive lors de la construction, et par consquent ce contenu est conserv mme en
cas de perte de tension lectrique. Ce n'est pas le cas des mmoires vives ou RAM (pour Random Acces
Memory) qui voient leur contenu s'envoler ds que la tension lectrique disparat, par exemple, ds que
l'appareil est teint. Les mmoires vives peuvent par contre tre lues et crites autant de fois que
ncessaire, car leur contenu n'est pas "cbl".
Quoique laisse supposer l'appellation RAM (Random Acces signifie accs alatoire), les deux types de
mmoire ont des accs "alatoires", en ce sens que le temps ncessaire pour accder une information
varie "au hasard", par opposition aux mmoires o l'accs se fait de faon squentielle, comme sur les
bandes magntiques.
1.1.2.1 Les mmoires lecture seule (ROM).
Une mmoire ROM est d'abord un circuit intgr. Cela veut dire qu'il s'agit d'un ensemble de circuits
inter relis dans le but d'excuter une fonction. Dans ce cas-ci, la fonction est d'emmagasiner un certain
nombre d'informations et de les restituer au besoin. Le botier ROM comporte donc les diffrentes units
d'information (bits) et les circuits ncessaires pour "livrer" la partie d'information requise lorsqu'on lui
en fait la demande et qu'on lui fournit l'adresse de la cellule d'information recherche.
Les entres du circuit sont donc les diffrents bits contenant l'adresse de l'information recherche, et les
sorties sont les diffrents bits contenant les donnes. cela s'ajoute une entre qui signale l'ordre de
lecture.
On sait donc qu' chaque combinaison de bits d'adresse en entre doit correspondre une combinaison de
bits de donnes en sortie. Comme on l'a dit, le contenu d'une mmoire ROM est fix la construction et
ne peut plus tre chang. C'est donc dire, que ds la construction, on connat les sorties qu'on dsire pour
chaque entre. Il suffit alors de construire le transcodeur, un circuit qui permet de "transformer" les bits
d'entre pour produire les sorties dsires.
1.1.2.1.1 Les "PROM" ou ROM programmables.
Cependant, comme il est coteux de construire des mmoires ROM pour des applications trs
spcifiques, il existe des variantes de mmoires ROM qui peuvent tre programmes par l'utilisateur. Ce
sont les PROM (Programmable ROM), qui sont en fait des ROM "vierges" qui contiennent toutes les
connexions possibles et sur lesquelles un appareil spcial, le programmeur de PROM permet de dtruire
certains fusibles internes.
Cela revient liminer certaines connections pour ne conserver que celles dsires. Les "EPROM" ou
PROM effaables.
Il peut tre avantageux de pouvoir modifier une PROM. Mais les fusibles dtruits lors de la
programmation d'une PROM ne peuvent pas tre recrs. C'est pourquoi les EPROM ont t mis au
point. Situe un peu mi-chemin entre la RAM et la ROM, l'EPROM (Erasable PROM) est un dispositif
La mmoire
dont le contenu peut tre effac lorsqu'il est soumis un rayonnement ultraviolet, autorisant ainsi une
nouvelle programmation.
1.1.2.1.2 Les "EEPROM" ou PROM effaables lectroniquement.
Cette catgorie de mmoires ROM a l'avantage d'tre effaable lectriquement, ce qui est plus simple
que d'utiliser le rayonnement ultraviolet comme c'est le cas pour les EPROM.
1.1.2.2 Les mmoires lecture-criture (RAM).
Les mmoires vives ou RAM sont aussi des circuits intgrs. Comme le contenu de chaque cellule peut
tre lu ou crit, il doit pouvoir varier. Contrairement au cas des ROM, la sortie correspondant une srie
de bits d'adresse donne en entre n'est pas fixe ds la construction, mais elle peut au contraire changer
selon le programme utilis et les donnes qui l'alimentent.
Les oprations diffrent selon qu'on procde une lecture ou une criture. Dans le cas d'une lecture,
les bits qui constituent l'adresse sont "reus" par un dcodeur d'adresse qui localise la cellule recherche.
Selon que cette cellule contient un 0 ou un 1, la donne est achemine en sortie sur la ligne de
lecture/criture d'un 0 ou sur la ligne de lecture/criture d'un 1.
Pour une opration d'criture, l'adresse est aussi dcode par le dcodeur d'adresse qui localise la cellule
recherche, et selon qu'on veut crire un 0 ou un 1, la ligne de lecture/criture d'un 0 ou la ligne de
lecture/criture d'un 1 est utilise pour acheminer la donne la cellule dsire.
1.1.2.3 Les RAM "statiques" et RAM "dynamiques".
On distingue deux sortes de mmoires vives: les statiques et les dynamiques. Dans une mmoire vive
statique, un "bistable" form de deux transistors est utilis pour reprsenter un lment de mmorisation.
Sans intervention de l'extrieur, le bistable maintient un tat lectrique reprsentant une information
binaire. chacun des tats, un des deux transistors est satur et l'autre bloqu, et seule l'application
d'une tension lectrique peut faire passer le bistable d'un tat l'autre. C'est le fait qu'un tat stable soit
maintenu sans intervention extrieure qui fait qu'on l'appelle mmoire statique.
Par contre, les mmoires dites "dynamiques" sont bases sur l'utilisation d'un condensateur qui maintient
entre ses lectrodes une tension lectrique de 5 V ou de 0 V qui quivalent aux tats 1 et 0. Cependant,
le condensateur se dcharge et il faut donc procder un rafrachissement priodique de la mmoire.
Cela signifie qu'on procde une lecture puis la rcriture de la mmoire rgulirement. Il faut donc
une intervention externe rgulire, le rafrachissement, pour maintenir l'tat d'une mmoire dynamique.
Malgr cet inconvnient, la simplicit des RAM dynamiques permet de les intgrer en plus grand
nombre sur une mme puce de silicium que leurs concurrentes statiques. C'est d'ailleurs cette
caractristique qui a contribu gnraliser l'emploi de RAM dynamiques; IBM, notamment, les a
introduites sur ses micro-ordinateurs IBM PC
La mmoire
DRAM
SRAM
Capacitor
Oui
Oui
Lente
Froide
Bas
Transistor
Non
Non
Rapide
Chaude
Haut
Que ce soit pour la construction de mmoires ROM ou RAM, les constructeurs ont le choix de deux
technologies: les technologies unipolaires MOS ou la technologie bipolaire.
Les principales mmoires bipolaires sont celles de la famille des TTL (Transistor Transistor Logic). On
les retrouve surtout sur des ordinateurs de grande taille. Elles permettent d'obtenir des temps d'accs plus
rapides , mais leur prix est plus lev et elles ont tendance dgager plus de chaleur.
Il existe plusieurs variantes de la gamme des mmoires MOS. Les plus utilises sont les C-MOS et les
H-MOS. On trouve aussi les N-MOS, P-MOS, MOSFET, MOSROM,... Ces mmoires permettent
d'atteindre un haut niveau d'intgration. Certaines ont des caractristiques particulires pour une
application, comme les FAMOS (Floating gate Avalanche injection MOS) dont le dispositif grille
flottante permet la ralisation des EPROM.
La mmoire
semi-conducteurs
mmoires
vives
statiques
dynamiques
mmoires
mortes
ROM
Fusibles
bipolaires
PROM
EPROM
EEPROM
1.2.
Nous savons qu'un ordinateur, de part sa fonction, doit emmagasiner de l'information, extraite plus ou
moins court chance par le ou les usagers (information destine l'externe) ou encore par des units
mmes de la machine (information destine l'interne). La quantit d'information transfre varie de
quelques bits, quelques caractres, quelques centaines et milliers de caractres et mme jusqu'
quelques milliards de caractres sur de gros systmes. Toutes ces informations, quel que soit le volume
considr, sont retenues dans des mmoires, dispositifs pouvant conserver des tats stables et bien
dfinis. Il existe une certaine hirarchie ou classification dans les mmoires qui dpend essentiellement
des trois critres suivants:
La mmoire
1. le temps d'accs,
2. la capacit de mmorisation,
3. le cot de l'information.
On peut rsumer cette classification l'aide de la figure suivante:
Variation
du contenu
Temps
d'accs
plus rapide
registres
lmentaires
registres
internes
mmoires principales
Capacit
plus grande
Cot
plus bas
La mmoire
1.3.1
Le bit
Le bit est la plus petite unit d'information. Il ne peut prendre que deux tats diffrents et par
consquent, il ne peut reprsenter que deux tats diffrents:
0
0V
VRAI
OUI
PAIR
1.3.2
ou
ou
ou
ou
ou
1
5V
FAUX
NON
IMPAIR
Le caractre
tant donn que le bit est une unit d'information trop petite, on regroupe les bits de faon crer des
units d'information qui puissent reprsenter un plus grand nombre d'tats diffrents. Un groupe de 8
bits permet de reprsenter 28 tats diffrents, donc 256 valeurs au lieu de 2.
Ces groupes de bits sont appels caractres. Bien qu'on puisse retrouver des caractres de 4 bits, et de 6
bits, les caractres de 8 bits (ou octets) sont les plus rpandus. tel point que les mots octet et caractre
sont souvent utiliss comme des synonymes.
L'intrt de l'octet est facilement comprhensible: d'abord, avec ses 256 possibilits, l'octet permet de
reprsenter les lettres majuscules et minuscules, les chiffres et une srie de caractres spciaux
(caractres de contrle pour l'imprimante, pour le curseur, etc,). Ensuite, comme les 10 chiffres du
systme dcimal se codent sur 4 bits (qui offrent somme toute une possibilit de 16 tats distincts),
l'octet peut aussi tre utilis comme deux caractres de 4 bits chacun, ce qui permet de crer des
algorithmes spciaux pour les calculs dcimaux.
1.3.3
Le mot
Bien que le caractre permette de reprsenter tous les symboles dsirs, il ne permet pas de reprsenter
toute l'information ncessaire pour faire un calcul par exemple ou encore reprsenter une instruction
La mmoire
machine. On a donc besoin de chanes de caractres. Les caractres sont alors regroups en units de
rangement plus grandes appeles mots.
Grosso modo, le principe du mot est de permettre de contenir une opration, une instruction, c'est--dire
un oprateur accompagn d'une ou plusieurs oprandes. L'ide est de minimiser le nombre d'accs la
mmoire ncessaires pour excuter une instruction. Le mot est l'unit de base pour le transfert
d'information entre la mmoire et l'unit centrale.
Afin de ne pas gaspiller d'espace mmoire, les mots doivent tre assez courts pour tre raisonnablement
remplis. Ils doivent en mme temps tre assez longs pour permettre de contenir l'information ncessaire
pour excuter des oprations simples.
Les mots peuvent tre de diffrente longueur selon le type d'ordinateur ou selon le genre d'application.
Certaines machines permettent en effet de varier au besoin la longueur des mots (voir annexe sur la
reprsentation des donnes sur le VAX).
On trouve des mots de 12, 16, 24, 32 et mme 60 bits dpendant du type de machine. Sur les microordinateurs, les mots sont de 16 bits, c'est dire 2 octets. Sur les plus gros ordinateurs, les mots sont de
32 bits et plus. Cependant, les nouveaux microprocesseurs prsentent des mots de 32 bits sur les microordinateurs, les rendant beaucoup plus efficaces et plus performants. Certains utilisent le terme mot
uniquement pour dsigner des units de 2 octets. Il faut donc se mfier du sens donn ce terme.
Certains parlent aussi de double mots pour dsigner des units de rangement de 4 octets et de quadruple
mots pour dsigner des units de 8 octets.
1.3.4
Le bloc
Pour faciliter l'adressage et le transfert avec les priphriques, qui sont relativement plus lents fournir
aux demandes d aux dplacements mcaniques que cela exige, les mots sont groups en blocs. La taille
des blocs varie d'une machine l'autre. titre d'exemple, la capacit de votre compte sur le disque reli
l'ordinateur est mesure en blocs allant de 400 1000 blocs. Cette notion sera tudie plus fond dans
le cadre du cours "structure de fichiers".
1.4.
Outre la taille, ou capacit de la mmoire, certaines caractristiques de la mmoire principale sont des
indicateurs importants pour mesurer la performance d'un ordinateur. Les principales sont la taille des
mots-mmoire, le temps d'accs et le dbit binaire.
1.4.1
Comme le mot (ou cellule) est l'unit adressable de base, et que la longueur des mots varie selon les
machines, la taille des mots mmoire, c'est--dire le nombre de bits lmentaires regroups sous une
mme adresse et formant le mot, est une caractristique importante d'un ordinateur. Des units de
rangement plus longues permettront d'emmagasiner des oprations plus complexes ou d'atteindre une
plus grande prcision de reprsentation des donnes numriques.
Ainsi, les ordinateurs spcialiss une tche spcifique impliquant des calculs scientifiques ont des
units de mmoire de grande taille afin de mmoriser les nombres avec le plus de chiffres significatifs
possibles. Les mini-ordinateurs et les ordinateurs spcialiss dans des tches spcifiques de contrle
traitent en gnral des informations plus courtes, aussi rduit-on la taille de leurs units de rangement
La mmoire
10
afin d'en abaisser le cot. Pour les ordinateurs tout usage, la longueur des units de base de rangement
est comprise entre ces valeurs extrmes.
1.4.2
Lorsqu'une unit provoque la consultation la mmoire, il s'coule un certain dlai entre la demande et
l'obtention de la valeur demande. Ce dlai est gnralement appel le temps d'accs la mmoire.
Comme chaque unit de l'ordinateur effectue des lectures et des critures frquentes la mmoire, le
temps d'accs la mmoire est dterminant pour la vitesse de fonctionnement de l'ordinateur galement
lie directement la frquence de son horloge.
Pour les mmoires semi-conducteurs, le temps de lecture est en gnral diffrent du temps d'criture
pour des raisons de nature lectroniques. On utilise le plus long des deux pour dfinir le cycle mmoire,
qui est un meilleur indicateur de la performance relle.
Pour les anciennes mmoires tores, il fallait procder une mise zro avant d'effectuer une opration
d'criture, et une restauration du contenu tait ncessaire aprs chaque opration de lecture. Le cycle
mmoire se dfinissait alors comme tant le temps total ncessaire avant que la mmoire soit en mesure
de rpondre une autre requte.
Plusieurs techniques sont mises au point pour tenter d'augmenter la performance de la mmoire. Citons
en particulier les mmoires caches ou antmmoires. Il s'agit de mmoires trs rapides et de faible
capacit servant de tampon entre la mmoire principale proprement dite et l'unit de traitement. Ces
mmoires caches de trs haute performance lectronique contiennent la plupart des informations dont,
statistiquement, l'unit centrale peut avoir besoin. Cela diminue le nombre de requtes la mmoire
principale dont le temps d'accs est plus long.
1.4.3
Le dbit binaire
Le cycle mmoire nous dit combien de temps est ncessaire pour effectuer une requte de transfert
partir de la mmoire ou vers celle-ci. Comme la longueur des mots machines varie d'un appareil
l'autre, la quantit de bits transfre lors d'une requte varie aussi.
Il devient donc difficile de comparer la performance des diffrentes machines.
Le taux de transfert, ou dbit binaire nous permet de remdier cela. En effet, le dbit binaire permet de
mesurer le nombre de bits transfrs par unit de temps. titre d'exemple, considrons une mmoire
ayant un cycle de 1.2 ms et des mots de 36 bits. Le taux de transfert sera:
36 bits = 30 X 106 bits par secondes
1.2 X 10 -6 sec
Si les mots taient d'une longueur de 18 bits pour le mme cycle de 1.2 msec, on aurait alors:
18 bits = 15 X 106 bits par secondes
1.2 X 10 -6 sec
ce qui donne du point de vue dbit binaire une performance diminue de moiti.
La mmoire
11
Par contre, un cycle-mmoire deux fois plus rapide, soit de 0.6 msec., donnerait avec des mots d'une
longueur de 18 bits le mme dbit binaire.
En effet, on a:
18 bits = 30 X 106 bits par secondes
0.6 X 10 -6 sec
De plus, il existe plusieurs faons d'augmenter le dbit binaire. On peut utiliser une technologie plus
pousse ou augmenter la longueur des mots-machine. On peut aussi organiser la mmoire de faon ce
que plus de requtes puissent tre satisfaites.
Longueur du mot
Longueur du cycle
La mmoire
1.5.
12
La cellule (la plus petite partie adressable d'une mmoire) peut tre:
- le bit, on a alors une machine bits;
- le caractre, on a alors une machine caractres;
- le mot, on a alors une machine mots.
Il existe plusieurs faons diffrentes d'organiser une mmoire. a titre d'exemple, une mmoire forme de
96 bits peut avoir les trois organisations suivantes (en terme d'adressage):
(A)
6 mots de 16 bits
(B)
8 mots de 12 bits
(C)
12 mots de 8 bits,
impliquant respectivement 6, 8 et 12 adresses.
14
13
12
11
10
0
1
2
3
4
5
10
La mmoire
13
0
1
2
3
4
5
6
7
8
9
10
11
Lorsque la cellule mmoire comporte plus d'un octet, elle est toujours adresse par rapport l'octet de
plus faible poids. Les octets sont gnralement numrots comme les bits, de droite gauche.
Octet
15
Mot de 16 bits ou
Mot de 2 caractres
octet 1
31
Mot de 32 bits ou
Double-mot ou
Mot de 4 caractres
octet 3
00
octet 0
00
octet 2
octet 1
63
octet 7
octet 0
00
octet 6
Mot de 64 bits ou
Quadri-mot ou
Mot de 8 caractres
octet 5
octet 4
octet 3
octet 2
octet 1
octet 0
La mmoire
14
Par contre, le choix d'une organisation de la mmoire a des rpercussions sur la performance. Voyons,
par exemple, comment une chane de caractres, disons:
IF X > 0 THEN GO TO 123;
peut tre emmagasine dans la mmoire.
Si la machine possde une mmoire 4 octets par mot, alors on trouvera en gnral 4 caractres par
cellule, soit de gauche droite ou de droite gauche selon les machines.
Machine gauche
>
>
Pour tout changement dans la chane de caractres demand par l'usager, le programme diteur devra
faire les dplacements ncessaires l'insertion de nouveaux caractres, ce qui demande un certain temps.
On peut diminuer ce temps de manipulation si on utilise une autre organisation de la mmoire. Dans
cette nouvelle organisation, chaque cellule contient un seul caractre (au lieu de 4), et on y insre un
pointeur qui indique o se trouve le prochain caractre.
On remarque cependant que la performance ainsi gagne se paie par le fait qu'un espace plus grand de
mmoire est requis pour mmoriser le mme nombre de caractres (d la redondance des pointeurs).
La mmoire
15
Le schma suivant montre ce qui se passe lorsqu'on modifie la chane originale pour
READ B;
la chane modifie par l'diteur
READ A,B;
Aprs
FIN
FIN
1.6.
Afin de communiquer entre eux, les diffrents blocs de l'ordinateur disposent d'organes de liaison que
sont les lignes, qu'on appelle souvent bus, les portes et les registres.
1.6.1
Une ligne est essentiellement un chemin physique entre un metteur et un rcepteur. Une ligne se
compose de lignes simples. Il y a autant qu'il y a de bits transmettre en parallle. Ce nombre de bits
pouvant tre transmis paralllement est appel largeur de bande de la ligne. C'est--dire que des donnes
codes sur 8 bits ne peuvent tre transmises que sur une ligne dont la largeur de bande est de 8.
Une ligne est dite oriente si les donnes ne peuvent y circuler que dans un seul sens. Si l'information
peut circuler dans les deux sens, on dit qu'elle est bidirectionnelle.
Sur une ligne, il peut se produire une bifurcation, c'est--dire que la ligne se spare en deux lignes
quivalentes la premire.
La mmoire
16
Sur une ligne, on peut galement installer une ou des portes. Une porte est un dispositif permettant
d'autoriser ou d'interdire le passage des informations sur la ligne. Il y a toujours une commande spciale
permettant d'ouvrir ou de fermer une porte.
Figure 8 : Bus
Emetteur
Emetteur
Bifurcateur
Rcepteur
1.6.2
Rcepteur
Rcepteur
registre
Porte
registre
Les registres
Un registre est un dispositif qui permet de mmoriser une information et de la restituer autant de fois que
dsir. Un registre est un assemblage de registres lmentaires qui se partageant la mme ligne. Comme
un registre lmentaire permet de mmoriser un bit, le registre doit avoir la mme largeur de bande que
la ligne.
Tout registre comporte un mcanisme de remise zro (RAZ), qui met tous les registres lmentaires
qui le compose zro simultanment. L'agencement des matriaux et la technologie utiliss fait en sorte
qu'en gnral, les registres sont 10 fois plus rapides que la mmoire principale.
Notons qu'on ne retrouve pas seulement des registres dans la mmoire centrale, mais aussi dans les
autres composantes de l'ordinateur comme l'unit centrale de traitement (CPU), dans les units
d'entres/sorties, etc.
Les registres sont utiliss bien diffremment que la mmoire principale. Certains registres, les registres
adressage implicite, ne sont mme pas accessibles au software, mais sont plutt ncessaires au
fonctionnement propre du processeur central.
D'autres registres, les registres adressage explicite, servent surtout mmoriser de faon temporaire
des lments ncessaires pour effectuer une des instructions d'un programme. Il peut s'agir, par exemple,
de rsultats intermdiaires dans un calcul plusieurs tapes, de l'adresse d'une oprande, etc.
La mmoire
17
Suivant le type d'information qu'ils sont destins retenir, on parlera de registres d'adresses, de registre
arithmtique, fixe ou flottant, de registre d'instructions, de registre de base ou de translation, de registre
d'index, ... etc.
On trouve aussi des registres dcalage, qui sont spcialement conus pour effectuer des dcalages sur
les chanes binaires. Le procd de dcalage est particulirement utile dans les oprations arithmtiques
de multiplication et de division binaire que nous aborderons plus loin.
Il y a aussi des registres tampons (buffer) qui permettent de stocker temporairement de l'information
entre un dispositif source et un dispositif destinataire non-synchroniss.
1.7.
Comment la mmoire parvient-elle retracer une unit d'enregistrement de la mmoire partir de son
adresse? Le dcodage de l'adresse est en fait un gigantesque systme d'aiguillage en forme d'arbre
binaire. C'est le bloc de contrle de mmoire qui permet d'obtenir l'information demande partir de
l'adresse de l'unit d'enregistrement de la mmoire o est loge cette information.
Pour effectuer une requte la mmoire, au minimum quatre types d'information sont utiliss: il faut
savoir si la mmoire est disponible pour accepter une requte; si la requte en est une de lecture ou une
d'criture; il faut galement savoir l'adresse de l'unit d'enregistrement de la mmoire laquelle on veut
accder et finalement, il faut la donne elle-mme qui constitue le contenu lu (ou crire) dans l'unit
d'enregistrement en question.
C'est pourquoi le bloc de contrle de mmoire correspond avec l'extrieur de 4 faons au moins:
- par un registre de donnes (capacit: 1 mot mmoire)
- par un registre d'adresse (capacit: la largeur d'une adresse)
- par un indicateur libre/occup
- par un indicateur lecture/criture
Le registre de donnes sert recevoir le mot lu lors d'une lecture ou garder le mot crire avant une
criture. Ce registre doit donc avoir une largeur de bande gale au nombre de bits d'un mot mmoire. S'il
s'agit de double mots, la largeur doit tre de 16 registres lmentaires (soit deux octets).
Le registre d'adresse reoit l'adresse du mot auquel on veut accder. Il doit avoir une largeur suffisante.
Par exemple, si la mmoire contient 32,768 mots-mmoire, les adresses sont des entiers compris entre 0
et 32,767. Comme il faut 15 bits pour reprsenter ces entiers en binaire, le registre d'adresse devra avoir
une largeur de bande de 15 bits.
La mmoire
1.7.1
18
adresses
0
m-1
m-1
2
2
registre de
donnes
m bits
octet/mot
libre/occup
emplacements
adressables
de m bits de longueur
lire/crire
registre de
d'adresses
n bits
n-2
m-1
n-1
m-1
m-1
Prosesseur central
1.7.2
Le bloc de contrle de la mmoire (ou contrleur), est en fait une pyramide d'aiguillages faits sur chaque
bit de l'adresse. Chaque bit de l'adresse contrle un tage de la pyramide, de sorte qu'il y a autant
d'oprations d'aiguillage qu'il y a de bits dans l'adresse.
Le principe est celui d'un arbre binaire: au premier tage, le premier bit est test. Selon qu'il s'agit d'un 0
ou d'un 1, on prendra une direction diffrente (bifurcation). Le deuxime bit est ensuite test au
deuxime niveau, et ainsi de suite, jusqu' ce qu'on arrive l'unit d'enregistrement recherche.
La mmoire
19
DES ADRESSES
1
BITS
CELLULE 00
CELLULE 01
D'ADRESSE
CELLULE 10
CELLULE 11
DONNEE
LIRE /ECRIRE
1.7.3
Sur le registre de donnes est connecte une ligne de donnes (bus de donnes) et sur le registre
d'adresses est connect une ligne d'adresses (bus d'adresses).
L'indicateur libre/occup est connect une ligne oriente simple, tout comme l'indicateur d'ordre de
lecture/criture.
Les autres composantes de l'ordinateur, en particulier l'unit centrale et le bloc de contrle
d'entres/sorties sont branches sur ces lignes. Plusieurs modules peuvent tre connects au mme bloc
de contrle de mmoire grce des portes qui vitent le chevauchement des requtes.
La mmoire
20
Registre d'adresses
0
1
2
3
.
.
n-2
n-1
Registre de donnes
ordres
d'excution
Entre/sortie
de l'information
oprations
effectuer
Bloc de
contrle
de la
mmoire
La mmoire
21
Figure 12
registre
de donnes
Bloc de
contrle de
la mmoire
m
o
i
r
e
ligne
de
contrle
ligne de
mots
registre de
contrle
libre/occup
lire/crire
ect..
ligne
d'adresses
registre
d'adresses
Canal
Bloc de
contrle
des
entres/sorties
Unit
centrale
La mmoire
1.8.
22
1.8.1.1 Relocalisation
Dans un systeme qui supporte plusieurs programmes (multiprogramming) laccessibilit la mmoire
principale est gnralement partage entre plusieurs processus/programmes. Il est presque impossible
pour un programmeur de savoir o son programme va rsider, ni avec quel programme il devra partager
la mmoire. De plus, il est important de pouvoir sortir et entrer I(swap) les diffrents processus pour
pouvoir optimiser lutilisation de la mmoire et du processeur. Lorsquun programme transfr sur un
disque doit tre recharger en mmoire, nous voulons quil soit possible de le relocaliser nimporte o en
mmoire. Nous serions trop limits si nous avions le recharger sa place initiale. Cette possibilit de
relocaliser un programme nimporte o en mmoire nous oblige grer ladressage de notre mmoire
Le systme dexploitation doit savoir tout moment ladresse du programme, de ses donnes et de sa
pile. Il doit tre capable de traduire les rfrences la mmoire dans le code, lemplacement physique
actuel du programme. Il doit aussi savoir o le dbut du programme se trouve. Ainsi lorsque nous aurons
La mmoire
23
des rfrences aux donnes ou encore des instructions de branchement lintrieur du programme, le
systme dexploitation pourra grce ladressage rpondre aux demandes.
1.8.1.2 Protection
Chaque programmes charg en mmoire doit tre avant tout protg de changements par dautres
programmes. La relocalisation des programmes rend la protection plus difficile. tant donn quil est
impossible de savoir lemplacement du programme, il est impossible de vrifier ladresse absolue lors de
la compilation du programme et de la protger. Donc tous les rfrences des emplacements mmoire
sont vrifies lors de lexcution, afin de sassurer que toutes les rfrences ne sont faites qu des
espaces rservs ce programme. Le processeur doit pouvoir arrter tout programme qui essaye
daccder une espace mmoire qui ne lui appartient pas.
Cette protection doit tre faite au niveau du processeur et non du systme dexploitation. Le OS ne peut
anticiper sur toutes les rfrences quun programme pourra faire. Il est donc possible de le faire
seulement lors de lexcution de linstruction.
La mmoire
24
1. La mmoire disponible pour un programme et ses donnes peut ne pas tre suffisante. Le
programmeur devra alors utiliser la mthode overlaying. Cela permet de partager les mme espace
mmoire pour diffrents modules du programme et des donnes. Un programme principale est alors
en charge de grer le chargement/d-chargement des modules. Cette mthode est une perte de temps
pour le programmeur
2. Dans un environnement multiprogramm, le programmeur ne sait pas lavance, combien despace
sera disponible et o elle sera localise.
Cest pour ces raisons que nous laissons le systme grer linformation changer entre les deux niveaux
de mmoire.
1.8.2
Partitionnement de la mmoire
La tche principale de la gestion de la mmoire est de charger des programmes en mmoire pour quils
soient excut par la CPU. De nos jours, dans tous nos systmes nous parlons de la mmoire virtuelle.
Cette mthode est base sur deux principes de gestions, la SEGMENTATION et la PAGINATION.
Mais avant de discuter de la mmoire virtuelle et de sa gestion, nous allons parler de techniques plus
simples. Lune de ces techniques, le partitionnement, a t utilise sous plusieurs formes. Les deux
autres techniques de base, pagination simple et segmentation simple ne sont pas utilises sous cette
forme. Cependant, nous nous en servirons titre dexemples sans prendre en considration la mmoire
virtuelle en tant que telle.
La mmoire
25
La mmoire
26
La mmoire
27
<
La mmoire
28
espace qui peut recevoir le programme charger. La figure 17, nous montre lapplication des 3
mthodes.
La mmoire
29
Le processus est rpt jusqu ce que le plus petit block pouvant contenir S soit gnr.
Deux compagnons sont fusionns lorsquils deviennent tous les deux non alloues.
La mmoire
30
1.8.3
Pagination
Comme nous venons de voir les techniques de partitionnement fixes ou variables ne grent pas
efficacement la mmoire, ils causent des problmes de fragmentation internes ou externes. Nous allons
voir maintenant une mthode qui en plus de fractionner la mmoire en petits blocs gales(frames), va
fractionner les programmes en petits blocs (pages) de mme dimension que les partitions de la mmoire.
Le terme frames (cadre en franais) est utilis car un cadre va tenir une page dinformation. Nous
verrons que grce cette mthode, la fragmentation externe est compltement limine. La seule
fragmentation interne sera cause par la dernire page du programme qui peut tre plus petite quun
cadre. Afin de rendre lutilisation plus pratique, nous allons aussi fixer la grandeur des pages un
nombre gale une puissance de 2. En utilisant cette mthode nous rendons transparent la pagination
aux programmeurs car ladresse relative est la mme que ladresse absolue.
La mmoire
31
Nous pouvons voir dans cet exemple le processus dallocation de la mmoire. On peut voir la figure
ci-dessus que mme sil ne reste pas despace continu, on peut charger un programme sans faire de
compactage des autres programmes. Nous aurons cependant besoin dune table pour pouvoir retrouver
les adresses de chaque partie de notre programme. On peut voir la figure 20 la table des pages au
temps (f). On peut y voir aussi une liste des frames qui sont disponibles.
La mmoire
32
1. Pagination 1 niveau
Une adresse (relle ou virtuelle) peut tre scinde en un numro de page et un dplacement dans la
page. Le dplacement est invariant puisqu'il dsigne le rang d'un mot par rapport au dbut de la page
(qui est toujours charge d'un seul tenant). Il n'interviendra donc pas dans la transformation d'adresse.
adresse
relle
n de page
dplacement
R-k bits
k bits
adresse
virtuelle
n de page
V-k bits
dplacement
k bits
topographique sera ralise par une table appele table des pages. L'implantation de cette table des
pages sera faite en MC ou dans des registres rapides car elle sera consulte frquemment (lors de
l'excution de chaque instruction rfrence mmoire).
La mmoire
33
n PV dplacement
0
1
2
1
2
page relle
n PR
V-1
nPR dplacement
adresse relle
infos
complmentaires
R-1
Mmoire Centrale
Informations pouvant se trouver dans une entre de la table des pages, outre le numro de page relle:
- bit de prsence (ou d'invalidit) I: positionn, il indique que la page virtuelle rfrence n'est
pas charge en MC d'o un droutement pour dfaut de page. C'est le premier lment test par le
mcanisme de traduction automatique d'adresse.
- bit d'criture E: positionn, ce bit indique que la page a t modifie par une ou plusieurs
oprations d'criture; dans ce cas, la page doit tre recopie sur le disque lors d'un remplacement
ventuel.
- bit de rfrence R: ce bit peut avoir une utilit pour connatre les pages rfrences (et donc
susceptibles de l'tre nouveau) et celles qui ne l'ont pas t (qu'on peut donc choisir comme victime
lors d'un remplacement).
- verrou d'accs V: donne les accs permis dans la page.
exemple: verrou d'accs (2 bits) associ une page:
00: tout accs permis
01: criture interdite (lecture et excution permises)
10: lecture seulement
11: aucun accs permis
La proprit de localit doit limiter le nombre de consultations de la table des pages. La proprit de
localit est une caractristique importante de l'excution des programmes en gnral. En effet la quasitotalit des programmes contiennent des boucles d'itrations et/ou utilisent des variables structures tels
La mmoire
34
les vecteurs ou les matrices; et si l'on voit un processus comme une suite de rfrences des instructions
ou des donnes dans un espace adressable linaire (mmoire virtuelle), on constate que la distribution
des rfrences aux pages mmoire n'est pas uniforme: pendant un intervalle de temps T non ngligeable,
les rfrences portent sur les mmes pages.
Cette proprit peut tre mise en dfaut par certains programmes (plutt rares) qui n'utilisent que des
listes chanes (dynamiques) dont les lments sont disperss dans la mmoire d'allocation dynamique.
La consultation de la table des pages peut provoquer un droutement pour dfaut de page. Le traitement
de ce droutement se fera ainsi:
- Chercher une page libre en MC en consultant la table d'allocation des pages relles,
- Si pas de page libre alors faire une rquisition suivant un algorithme de remplacement.
2. Traitement des dfauts de pages
La consultation de la table des pages peut provoquer un droutement pour dfaut de page. Le traitement
de ce droutement se fait ainsi:
- Chercher une page libre en MC en consultant la table d'allocation des pages relles
- Si pas de page libre Alors faire une rquisition suivant un algorithme de remplacement
- Mise jour de la table des pages et des registres associatifs
- Branchement l'instruction qui a provoqu le droutement.
NRU (Not Recently Used): remplacer une page non rcemment rfrence; cet algorithme utilise les bits
de rfrence R et d'criture E de la table des pages. Priodiquement, toutes les 20 ou 30 ms par exemple,
le bit de rfrence de toutes les pages est remis 0. La victime sera la premire page trouve ayant la
plus petite valeur (0 3) donne par les bits RE :
00 = page non rcemment rfrence et non modifie,
01 = modifie et non rcemment rfrence,
10 = non modifie mais rcemment rfrence,
11 = modifie et rcemment rfrence.
La mmoire
35
LRU (Least Recently Used): remplacer la moins rcemment rfrence (ncessit de mmoriser l'instant
de la dernire rfrence pour chaque page relle). Pratiquement, il serait trs coteux d'associer un
registre 32 bits chaque page et qui serait mis jour chaque rfrence la page.
LFU (Least Frequently Used): remplacer la moins frquemment rfrence (ncessit de mmoriser le
nombre de rfrences chaque page relle).
1.9.
Nous avons vu dans la dernire section que les programmes qui sont chargs en mmoire le sont dune
manire un peu alatoire au niveau de leurs adresses, ce qui rend impossible pour les programmeurs de
coder les rfrences des saut (if, goto) ou aux donnes directement dans les programmes. Pour ce
faire, le systme doit pouvoir grer ladressage lui-mme. Nous allons faire la distinction entre diffrents
types dadressage.
Ladresse relative est un type dadresse logique, ladresse est exprime en fonction (relativement) dun
point connu. Ladresse physique ou encore absolue, est ladresse actuelle en mmoire.
1.9.1
Adressage relative
La mmoire
36
1.9.2
Segmentation
Encore une fois, on spare le programme en petite partie appele segment. Ces segments non pas tre
de la mme taille, il existe cependant une taille maximum la longueur dun segment.
Comme pour la pagination une adresse sera constitu de 2 parties; un numro de segment et un
dplacement (offset). tant donn que les segments ne sont pas ncessairement de mme longueur, la
segmentation est semblable au partitionnement dynamique. Il existe une diffrence majeure entre les 2 :
avec la segmentation un programme peut occuper plus dune partition et ces partitions nont pas tre
continues.
La segmentation limine ainsi la fragmentation interne mais cause de la fragmentation externe, quoique
tant donn que nous pouvons dcouper les programmes en petits segments elle devrait tre moindre.
Exemple 49 :
Pour notre exemple, nous allons utiliser une adresse de 16 bits et des pages de 1024 bytes (1K). Si
ladresse relative est 1502 ou 0000010111011110 en binaire. Nous avons besoin de 10 bits pour le
dplacement avec une grandeur de pages de 1K, ce qui nous laisse 6 bits pour le nombre de pages. Nous
pouvons donc avoir 26 ou 64 pages de 1K. La figure 53b nous montre que ladresse relative de 1502
correspond a un dplacement de 478 (0111011110) la page 1 (000001). On peut voir ici que
lutilisation dune grandeur de page de 1024 K soit une puissance de 2 nous donne une adresse absolue
qui est la mme que ladresse relative.
En se servant du mme nombre 1502, si nous utilisons 4 bytes pour le segment et 12 bytes pour le
dplacement, nous aurons alors le premier segment avec un dplacement de 752. Cela nous donne aussi
une grandeur de segment maximum de 212 = 4096.
La mmoire
37
Exemple 50 :
Continuons avec notre exemple. Pour la pagination, si nous savons que la page numro 1 rside en
mmoire au cadre 6 (000110), nous aurons alors physique de 0001100111011110 dmontr la figure
54a.
Alors que pour la segmentation, supposons que le segment 1 rside en mmoire ladresse physique
0010000000100000. Alors ladresse physique sera 0010000000100000 + 001011110000 =
0010001100010000 figure 54b.
La mmoire
38
La mmoire
39