





Notre nouveau site :
Recherche par:





|
Nous avons indiqué précédemment comment la
mémoire stocke les informations à
un endroit rapidement accessible pour la CPU. Voyons maintenant comment
cela
fonctionne en détail.
1- INTÉRACTION ENTRE LA MÉMOIRE ET LE PROCESSEUR

La CPU (unité centrale) est souvent appelée le cerveau de
la machine. En effet, c'est
l'endroit où s'effectuent les calculs.
Le jeu de puces (chipset) vient soutenir les tâches de la CPU. Il
comprend
généralement plusieurs "contrôleurs" qui
gèrent la manière dont les informations
circulent entre le processeur et les autres composantes du
système. Certains
systèmes sont dotés de plusieurs chipsets.
Le contrôleur de mémoire, qui fait partie du chipset,
commande le flux
d'informations entre la mémoire et la CPU. Contrôleur
de
bus PCI
Processeur Pentium®
avec caches L1 et L2 intégrés
(bus entre la CPU et le cache L2)
Contrôleur
de
mémoire
Bus frontal
Connecteurs
d'extension de mémoire
Jeu de puces
Bus frontal
Contrôleur
de mémoire
CPU
Un bus est un chemin de données sur l'ordinateur; il est
composé de plusieurs fils
parallèles auxquels sont connectés la CPU, la
mémoire et toutes les unités
d'entrée/sortie. La conception du bus (son architecture),
détermine la quantité de
données circulant sur la carte mère ainsi que la vitesse
de transfert. Dans un
système, il existe plusieurs types de bus, en fonction des
vitesses requises par
chacun des composants particuliers. Le bus mémoire relie le
contrôleur de
mémoire aux connecteurs de mémoire de l'ordinateur. Les
systèmes les plus récents
présentent une architecture avec un bus FSN (frontside bus) qui
relie la CPU à la
mémoire principale et un bus BSB (backside bus) qui associe le
contrôleur de
mémoire au cache L2.
VITESSE DE LA MÉMOIRE
Lorsque la CPU a besoin d'informations en mémoire, elle envoie
une demande, qui
est gérée par le contrôleur de mémoire. Ce
dernier transmet la demande à la
mémoire et indique à l'unité centrale quand elle
pourra disposer de l'information.
Le cycle entier – de la CPU au contrôleur de mémoire avec
retour à la CPU – peut
demander plus ou moins de temps, en fonction de la vitesse de la
mémoire et de
différents autres facteurs, par exemple la vitesse de transfert
du bus.
La vitesse d'une mémoire est parfois mesurée en
mégahertz (MHz) ou en temps
d'accès – temps réel nécessaire pour fournir les
données – exprimé en
nanosecondes (ns). Qu'elle soit exprimée en mégahertz ou
en nanosecondes, cette
vitesse indique la rapidité de réponse à une
demande, une fois celle-ci reçue.
TEMPS D'ACCÈS (NANOSECONDES)
Le temps d'accès mesure l'intervalle de temps entre la
réception d'une demande de
données par le module mémoire et la disponibilité
de ces données. Les puces et
modules mémoire sont ainsi identifiés par leur temps
d'accès, compris entre 80 ns
et 50 ns. Une valeur basse (mesure en nanosecondes) correspond à
une vitesse
élevée.

|
Dans notre exemple, il
s'écoule 70 ns entre
une demande du
contrôleur de
mémoire et la réponse
de la mémoire. La
CPU reçoit les
données en 125 ns
environ. Donc,
l'intervalle de temps
total entre la première
demande
d'information par la
CPU et la réception
de ces informations
peut atteindre 195 ns
lorsque l'on utilise un
module mémoire à 70
ns. Il faut en effet un
certain temps au
contrôleur de
mémoire pour gérer
le flux d'informations,
auquel s'ajoute le
temps de transfert sur
le bus, entre le module
mémoire et la CPU. |
72-Pin, 70ns SIMMs
CPU
125ns
contrôleur de mémoire
70ns
MÉGAHERTZ (MHZ)
Depuis l'utilisation de la technologie des DRAM synchrones (SDRAM), les
puces
mémoire sont synchronisées avec l'horloge système
de l'ordinateur, ce qui rend
plus aisée la mesure de la vitesse, en mégahertz ou en
millions de cycles par
seconde. Comme cette dernière unité de mesure est
utilisée dans le reste du
système, il est donc plus facile de comparer la vitesse des
différentes composantes
et de synchroniser leurs fonctions. Pour mieux comprendre le
problème de la
vitesse, il est important de connaître le fonctionnement de
l'horloge système.
HORLOGE SYSTÈME
L'horloge système est résidente sur la carte mère.
Elle envoie un signal rythmé à
toutes les autres unités du système, comme un
métronome. Ce rythme est
généralement représenté sous la forme d'une
onde carrée, comme ci-dessous.

En réalité toutefois, le signal d'horloge,
visualisé par un oscilloscope, a plutôt la
forme indiquée ci-après.

Chaque ondulation du signal correspond à un . Si l'horloge
système fonctionne à
100 MHz, cela indique qu'elle effectue 100 millions de cycles par
seconde.
Chacune des tâches de l'ordinateur est rythmée par les
cycles. Lors du traitement
d'une demande, le contrôleur de mémoire indique, par
exemple, que les données
demandées seront disponibles dans six cycles d'horloge.
La CPU ou d'autres unités peuvent fonctionner à une
vitesse inférieure ou
supérieure à l'horloge système. Pour synchroniser
un élément à vitesse différente,
on applique simplement un facteur de multiplication ou de division. Par
exemple,
si une horloge système à 100 MHz est associée
à une CPU à 400 MHz, un cycle
d'horloge du système est égal à quatre cycles
d'horloge de la CPU. La
synchronisation est assurée à l'aide du facteur quatre.
Beaucoup d'utilisateurs pensent que la vitesse du processeur est celle
de
l'ordinateur. Pourtant, la plupart du temps, le bus système
ainsi que d'autre
éléments fonctionnent à des vitesses
différentes.
2- MAXIMISER LES PERFORMANCES (retour haut de page)
Au cours des dernières années, la vitesse des processeurs
a considérablement
augmenté. Ceci a fait progresser les performances
générales de l'ordinateur.
Toutefois, le processeur n'est qu'un élément de la
machine: pour effectuer ses
tâches, il dépend d'autres composantes. Comme toutes les
informations traitées par
la CPU doivent nécessairement être lues ou inscrites en
mémoire, les performances
globales sont donc grandement tributaires de la vitesse de circulation
des
informations entre la CPU et la mémoire principale.
Ainsi, l'adoption de technologies mémoire plus rapides contribue
pour beaucoup
aux performances globales d'un système. Pourtant,
accroître la vitesse de la
mémoire n'est qu'un élément de solution. Le temps
nécessaire à l'information pour
circuler entre la mémoire et le processeur est
généralement plus long que le temps
de traitement par ce dernier. Les technologies et innovations
décrites dans ce
chapitre contribuent à accélérer le processus de
communication entre mémoire et
processeur.
MÉMOIRE CACHE
La mémoire cache (ou antémémoire) est une
mémoire à haute vitesse, de taille
relativement modeste (moins de 1 Mo le plus souvent), implantée
à proximité
immédiate de la CPU. La mémoire cache fournit à la
CPU les données et les
instructions les plus fréquemment utilisées. Comme la
recherche dans la mémoire
cache ne demande qu'une fraction du temps nécessaire pour
accéder à la mémoire
principale, l'emploi d'une mémoire cache représente un
gain de temps substantiel.
Si l'information ne figure pas dans la mémoire cache, elle sera
prélevée dans la
mémoire principale; mais, comme la recherche préalable
dans la mémoire cache est
extrêmement rapide, ce type de fonctionnement demeure très
efficace. Cela
correspond à vérifier d'abord dans votre
réfrigérateur si vous disposez de l'aliment
recherché avant d'aller au magasin pour l'acheter: il est fort
probable qu'il s'y trouve
et cela ne demande qu'un instant pour le contrôler.
Le principe sur lequel est fondée la mémoire cache est la
règle "80/20". Elle précise
que, sur tous les programmes, informations et données
présents dans votre
ordinateur, environ 20% sont utilisés durant 80% du temps. (Ces
20% peuvent
englober le code nécessaire pour envoyer ou effacer un e-mail,
sauvegarder un
fichier sur le disque dur ou simplement reconnaître la touche que
vous tapez au
clavier). Par conséquent, les 80 % de données restantes
sont utilisées durant 20 %
du temps. L'emploi d'une mémoire cache est donc tout à
fait justifié puisqu'il existe
de fortes chances pour que les données et instructions,
utilisées actuellement par la
CPU, le soient de nouveau par la suite.
COMMENT FONCTIONNE UNE MÉMOIRE CACHE
La mémoire cache est la "liste d'accès direct" de la CPU.
Le contrôleur de mémoire
y stocke les instructions demandées par l'unité centrale;
chaque fois que la CPU
prélève une instruction dans le cache – "présence
dans l'antémémoire" – elle est
placée en haut de la liste. Lorsque le cache est plein et que la
CPU effectue une
nouvelle demande, le système écrase les données
inutilisées depuis le plus
longtemps. Ainsi, les informations de haute priorité,
nécessaires en permanence,
figurent toujours dans le cache alors que les moins utilisées
disparaissent.
NIVEAUX DE CACHE
Aujourd'hui, dans la plupart des cas, la mémoire cache est
intégrée dans la puce du
processeur; toutefois, d'autres configurations sont possibles. Dans
certains cas, on
trouve un cache implanté à l'intérieur du
processeur, un autre placé juste à
l'extérieur de ce processeur, sur la carte mère et/ou un
connecteur, disposé à côté de
la CPU qui reçoit un module de mémoire cache. Quelle que
soit la configuration, il
est affecté à chaque cache un "niveau", correspondant
à sa proximité par rapport au
processeur. Par exemple, le cache le plus près du processeur est
appelé cache de
niveau 1 (L1), le cache suivant est le L2, puis le L3 et ainsi de
suite. En plus de
caches mémoire, les ordinateurs sont dotés d'autres types
de cache. Dans certains
cas, le système utilise la mémoire principale comme cache
pour le disque dur. Même
si nous n'allons pas parler ici de ce type de scénario, il est
important de savoir que
le terme de cache peut s'appliquer spécialement à la
mémoire, mais aussi à d'autres
technologies de stockage des données.
Vous vous posez peut-être
la question suivante: puisque
l'implantation d'une
mémoire cache à proximité
du processeur est si
bénéfique, pourquoi n'utiliset-
on pas un cache pour
l'ensemble de la mémoire
principale? Pour une simple
raison : la mémoire cache
est un type de puce appelé
SRAM (RAM statique), très
coûteux et qui occupe plus
d'espace par méga-octet
que les DRAM,
généralement employées
pour la mémoire principale.
De plus, si la mémoire cache
améliore les performances
globales du système, elle ne
le fait que jusqu'à un certain
point. L'avantage réel du
cache est de stocker les
instructions les plus
fréquemment nécessaires.Un
cache plus important
contiendrait une quantité
supérieure de données, mais
si elles ne sont pas souvent
demandées, il n'y a guère
d'avantage à les conserver à
proximité du processeur. |

|
La mémoire principale a
besoin de 195 ns pour
répondre à une
demande de la CPU. Le
cache externe n'a besoin
que de 45 ns
Mémoire principale
CPU avec cache
interne de 16 Ko
(niveau 1)
Cache externe de
256 Ko (niveau 2
CONFIGURATION DE LA CARTE SYSTÈME
Comme vous l'avez probablement deviné, l'emplacement des modules
mémoire sur
la carte système a un effet direct sur les performances du
système. Comme la
mémoire locale doit contenir toutes les informations à
traiter par la CPU, la vitesse
de transfert entre la mémoire et la CPU est critique pour les
performances globales
de la machine. Comme les échanges d'information entre la CPU et
la mémoire
impliquent une synchronisation complexe, la distance entre processeur
et mémoire
constitue elle aussi un facteur majeur.
ENTRELACEMENT
Le terme entrelacement décrit le processus de communication
alternée entre la
CPU et deux ou plusieurs bancs de mémoire. La technologie de
l'entrelacement est
souvent retenue dans les grands système comme les serveurs et
les stations de
travail. Son principe est le suivant: chaque fois que la CPU effectue
un adressage en
direction d'un banc de mémoire, celui-ci a besoin d'environ un
cycle d'horloge
pour "se réinitialiser". La CPU peut gagner du temps en activant
un second banc,
pendant que le premier se réinitialise. L'entrelacement peut
aussi intervenir entre
puces mémoire pour améliorer les performances. Par
exemple, les cellules mémoire
à l'intérieur d'un puce SDRAM sont divisées en
deux bancs indépendants,
activables simultanément. L'entrelacement entre ces deux bancs
permet d'obtenir
un flux continu de données. Cela écourte le cycle
mémoire total et autorise des
transferts de données plus rapides.
MODE DE TRANSFERT EN RAFALE (BURSTING)
Le mode rafale est une autre technologie pour gagner du temps. Elle
fournit à la
CPU des données complémentaires en provenance de la
mémoire, en supposant
qu'elle en aura besoin. Donc, au lieu de rechercher une à une
les informations, la
CPU reçoit un bloc correspondant à plusieurs adresses
consécutives en mémoire.
Cela représente un gain de temps car, sur le plan statistique,
il est probable que
l'adresse suivante, demandée par le processeur, sera
séquentielle à la précédente.
Ainsi, la CPU obtient toutes les instructions nécessaires sans
avoir à effectuer de
demande individuelle pour chacune d'entre elles. Compatible avec
différents types
de mémoire, le mode rafale fonctionne aussi bien en lecture
qu'en écriture.
ADRESSAGE PIPELINE
L'adressage pipeline est une technique de traitement informatique
où une tâche est
divisée en une série d'étapes où une
tâche est réalisée à chaque étape. En
divisant
une tâche importante en une série de petites tâches,
qui se chevauchent, le mode
pipeline améliore les performances par rapport au traitement
normal. Une fois
lancé le flux de données dans le pipeline, la vitesse
d'exécution est élevée, en dépit
du nombre d'étapes réalisé.
Le mode rafale et
l'adressage pipeline ont
été popularisés au
moment où la
technologie EDO est
apparue. Les puces EDO
utilisant ces fonctions
sont appelées "Burst
EDO" ou "Pipeline Burst
EDO".
Retour au guide
|
|