Vous êtes sur la page 1sur 44

Ecole Nationale Supérieure des Energies Renouvelables,

Environnement & Développement Durable

LES MÉMOIRES

3ÈME ANNÉE : INGÉNIERIE DES RÉSEAUX ET D’INTELLIGENCE ARTIFICIELLE


MODULE ARCHITECTURE DES ORDINATEURS
ENSEIGNANT A.CHENNA
MAIL: A.CHENNA@HNS-RE2SD.DZ
CONTENU DU CHAPITRE

Système à base de
RÉSEAUX
microprocesseur

PROCESSEUR
Organisation de la
mémoire
CLOUD COMPUTING

Architecture d’un CPU


SERVEUR
MÉMOIRES ROM ET RAM
• On distingue deux types de mémoires :
• Les mémoires vives (RAM : Random Access Memory) ou mémoires volatiles. Elles
perdent leur contenu en cas de coupure d’alimentation. Elles sont utilisées pour
stocker temporairement des données et des programmes. Elles peuvent être lues
et écrites par le microprocesseur ;
MÉMOIRES ROM ET RAM
• les mémoires mortes (ROM : Read Only Memory) ou mémoires non volatiles.
• Elles conservent leur contenu en cas de coupure d’alimentation.
• Elles ne peuvent être que lues par le microprocesseur (pas de possibilité
d’écriture). On les utilise pour stocker des données et des programmes de manière
définitive.
• Les mémoires sont caractérisées par leur capacité : nombre total de cases
mémoire contenues dans un même boîtier.
SCHÉMA FONCTIONNEL D’UNE MÉMOIRE
SCHÉMA FONCTIONNEL D’UNE MÉMOIRE

• Le nombre de lignes d’adresses dépend de la capacité de la mémoire : n


lignes d’adresses permettent d’adresser 2n cases mémoire
INTERFAÇAGE MICROPROCESSEUR/MÉMOIRE
TECHNOLOGIE DES MÉMOIRES À SEMI-
CONDUCTEURS
• Les mémoires mortes (ROM, PROM, EPROM, EEPROM)
• Les mémoires vives à accès aléatoire (RAM statiques, RAM dynamiques)
LES MÉMOIRES MORTES (ROM, PROM, EPROM, EEPROM)

• ROM: La ROM ou "Read Only Memory" ( mémoire à lecture seule) est parfois
appelée mémoire morte. Il est impossible d'y écrire. Les ROM sont
programmées par leurs fabricants pour contenir des informations immuables
telles que les fonctions de certains BIOS.
• Nous verrons trois variantes de ce type de mémoire: PROM, EPROM, EEPROM
LES MÉMOIRES MORTES (ROM, PROM, EPROM, EEPROM)

• PROM: La PROM pour "Programmable ROM" est une ROM qui peut être
programmée à l'aide d'un graveur de PROM. Une fois écrite, il est impossible
d'en modifier le contenu.
LES MÉMOIRES MORTES (ROM, PROM, EPROM, EEPROM)

• EPROM: L'EPROM , "Erasable PROM" est effaçable.


• On efface ces mémoires en les laissant 10 à 20 minutes sous des rayons
ultraviolets. Le composant possède une petite fenêtre qui permet le passage
des UV.
• Une fois effacée, l'EPROM peut être reprogrammée.
LES MÉMOIRES MORTES (ROM, PROM, EPROM, EEPROM)

• EEPROM : L'EEPROM "Electricaly Erasable PROM" est une EPROM qui


s'efface par des impulsions électriques. Elle peut donc être effacée sans être
retirée de son support.
LES MÉMOIRES VIVES À ACCÈS ALÉATOIRE (RAM STATIQUES,
RAM DYNAMIQUES)

• LA RAM : La mémoire vive est généralement appelée RAM pour Random


Access Memory ce qui signifie mémoire à accès aléatoire, entendez "accès
direct".
• accès aléatoire pour des raisons historiques
• Pour les cartes perforées ou les bandes magnétiques, accès séquentiel, temps d’accès
dépend de la position dans la mémoire
LES MÉMOIRES VIVES À ACCÈS ALÉATOIRE (RAM
STATIQUES, RAM DYNAMIQUES)
• Il y a deux technologies de fabrication des RAM : statiques et dynamiques,
elles ont chacune leur domaine d'application
• La mémoire SRAM utilise des transistors pour stocker un seul bit de données
et il n'est pas nécessaire de l'actualiser périodiquement. La mémoire DRAM
utilise un condensateur distinct pour stocker chaque bit de données et doit
être périodiquement rafraîchie pour maintenir la charge dans les
condensateurs..
LES MÉMOIRES VIVES À ACCÈS ALÉATOIRE (RAM
STATIQUES, RAM DYNAMIQUES)
• la RAM statique (SRAM):
• Mémoire volatile
• chaque bit qui stocke des données est composé de quatre ou six transistors qui constituent
une bascule
• Chaque cellule SRAM peut être dans trois états différents appelés lecture, écriture et
veille.
• Une cellule est à l'état de lecture lorsque des données ont été demandées et
• à un état d'écriture lorsque les données de la cellule sont modifiées.
• La cellule est en attente lorsqu'elle est inactive.
LES MÉMOIRES VIVES À ACCÈS ALÉATOIRE (RAM
STATIQUES, RAM DYNAMIQUES)
• la RAM dynamique (DRAM)
• Mémoire volatile
• utilise des condensateurs distincts pour stocker chaque bit
• Les condensateurs non chargés représentent la valeur 0 d'un bit et, lorsqu'ils sont chargés,
représentent la valeur 1.
• Comme les condensateurs se déchargent avec le temps, ils doivent être actualisés
régulièrement pour conserver les valeurs qui y sont stockées
• cellule mémoire DRAM = condensateur + transistor
• utilisées pour la mémoire principale des ordinateurs personnels et des consoles de jeux, car
elles sont moins chères.
LES MÉMOIRES À ACCÈS SÉQUENTIEL (FIFO, LIFO)

• Les mémoires séquentielles sont des mémoires spécialisées qui ne fonctionnent


pas avec des adresses
• les mémoires séquentielles ne permettent d’accéder aux données que dans un
ordre bien précis.
• Elle gardent leurs données triées dans l'ordre d'écriture, l'ordre d'arrivée
MÉMOIRE FIFO (FIRST IN FIRST OUT)

• Les mémoires FIFO (First In - First Out) sont un type particulier de


• mémoires RAM
• les mots ne sont pas adressables
• Les mots sont lus dans le même ordre dans lequel ils sont écrits (le premier
écrit est le premier lu)
FIFO (FIRST IN FIRST OUT)
MÉMOIRE LIFO (LAST IN – FIRST OUT)
• Les mémoires LIFO (Last In - First Out), appelées également pile
• (stack), sont un autre type de mémoire non adressable,
• avec deux opérations possibles:
• PUSH : équivalent à l'écriture, met une information au sommet de la pile, en poussant vers
le bas les informations déjà présentes dans la pile. L'information tout en bas de la pile
sera perdue
• POP : équivalent à la lecture, prend l'information qui se trouve au sommet de la pile, en
poussant tout le contenu de la pile vers le sommet. L'information lue sera enlevée de la
pile
MÉMOIRE LIFO (LAST IN – FIRST OUT)
MÉMOIRE LIFO (LAST IN – FIRST OUT)

• Les ordinateurs utilisent couramment des piles pour le stockage de l'information. Dans ces cas,
la pile n'est pas implémentée à l'aide des registres, mais utilise une partie de la mémoire
RAM de l'ordinateur
• Dans les piles à RAM, l'information ne bouge pas, n'est pas décalée vers le bas de la pile,
mais ce qui bouge est le sommet de la pile, indiqué par un pointeur: le stack pointer (SP)
• Par convention arbitraire, lors d'un push le stack pointer est décrémenté (le sommet de la pile
est déplacé vers les adresses basses de la mémoire), tandis que lors d'un pop le stack pointer
est incrémenté (le sommet de la pile est déplacé vers les adresses hautes de la mémoire)
LES MÉMOIRES ASSOCIATIVES
• Les mémoires associatives servent à accélérer la recherche d'une donnée dans un
ensemble de données. Leur fonctionnement est totalement opposé aux mémoires
adressables normales :
• Au lieu d'envoyer l'adresse pour accéder à la donnée, on envoie la donnée pour
récupérer son adresse
• Évidemment, il se peut que la donnée demandée ne soit pas présente en mémoire,
• Si la donnée est présente en plusieurs exemplaires en mémoire, la mémoire renvoie le
premier exemplaire
LES MÉMOIRES ASSOCIATIVES
• Le plan mémoire d'une mémoire associative a deux fonctions :
• mémoriser des mots mémoires
• vérifier la présence d'une donnée dans chaque case mémoire (effectuer une comparaison).

• Dans une mémoire associative, la donnée à rechercher dans la mémoire est


envoyée à toutes les cases mémoires simultanément et toutes les comparaisons
sont effectuées en parallèle.
• But: La recherche à très haute vitesse
LES MÉMOIRES ASSOCIATIVES

• Une fois la case mémoire qui contient la donnée


identifiée, il faut déduire son adresse
• On n'a pas l'adresse, mais les signaux sont là. La
traduction va donc devoir se faire par un circuit assez
semblable au décodeur : l'encodeur
• Appelé aussi mémoire adressable par contenu
A QUOI CA SERT ?

• Elles servent lorsque l'on doit effectuer des recherches d'une donnée en
mémoire rapidement.
• Il n'est pas rare que l'on doive rechercher une donnée dans un ensemble de
données
• C'est une problématique assez connue des programmeurs
• Ces Données sont toutes regroupées dans ce qu'on appelle des structures de
données : tableaux, listes, graphes…
• Effectuer des recherches dans ces structures de données n'est pas une chose
aisée (ex: recherche dans un tableau non trié).
EXEMPLE

• La mémoire va renvoyer l'adresse à laquelle elle a


trouvée la donnée.

• Evidemment, il se peut que notre donnée ne soit pas


présente dans la mémoire. Notre mémoire est donc
obligée de préciser si elle a trouvé la donnée recherchée.
Pour cela, elle va renvoyer un signal qui dit : j'ai trouvé la
donnée (ou non)
PETIT DÉTAIL…

• il se peut parfaitement que notre donnée soit présente en plusieurs


exemplaires en mémoire. Dans ce cas, on doit trouver un moyen pour gérer
ces duplicatas. (la plus petite adresse, par ex)
• De type SRAM car doit être rapide
• Taille : de quelques Mo.
LES MÉMOIRES CACHE
PROBLÈME

• La mémoire est beaucoup plus lente que le processeur


• plusieurs instructions chaque nanoseconde.
• Quelques dizaine de nanosecondes pour accéder à la mémoire
• Les mémoires aussi rapides que le processeur coûtent trop cher.
SOLUTION
• Une mémoire à plusieurs niveaux
PRINCIPE

• Quand il est question de vitesse d'accès à la mémoire, il faut distinguer la


latence et le débit.
• La latence est le temps qui s'écoule entre la demande des données et l'arrivée
de la première donnée.
• Le débit mesure ensuite le flux de données transmises pendant le régime
stable c'est-à-dire une fois la latence écoulée.
PRINCIPE
• il s'est creusé un fossé entre la vitesse des micro-processeurs et la vitesse des
mémoires dynamiques qui sont utilisées comme mémoire centrale des
ordinateurs
• Les mémoires SDRAM augmentent le débit mais réduisent peu la latence
• Solution : des caches mémoire formés de
mémoires statiques plus rapides sont intercalés
entre le micro-processeur et la mémoire centrale.
PRINCIPE
FONCTIONNEMENT

• Le cache contient des copies de données qui sont en mémoire centrale. Avant
tout accès à la mémoire, le processeur vérifie si les données ne sont pas
présentes dans le cache. Auquel cas, le processeur utilise les données
contenues dans le cache et n'accède pas à la mémoire. Sinon, il est nécessaire
d'aller chercher les données en mémoire centrale.
LES NIVEAUX DU CACHE
LE CACHE L1:

• Le cache L1 est la mémoire cache de niveau 1.


• Nous l'appelons aussi le cache primaire
• c'est le cache le plus rapide parmi tous les autres caches
• Il est plus petit que les autres caches,
• chaque cœur de la CPU possède sa propre mémoire cache N1.
LE CACHE L2

• Le cache L2 est le cache de niveau 2


• Il stocke les données qui ne sont pas stockées dans le cache L1
• Si la CPU ne peut pas trouver les données recherchées dans le cache L1, elle
vérifie le cache L2
• Le cache L2 est plus grand que le cache L1 mais plus petit que le cache L3
• Chaque cœur de la CPU possède sa propre mémoire cache L2.
LE CACHE L3

• Il stocke des données qui ne sont pas stockées dans les mémoires cache L1 et
L2
• En d'autres termes, si le CPU ne peut pas trouver les données qu'il recherche
dans les caches L1 et L2, il vérifie le cache N3
• Tous les cœurs de la CPU partagent la même mémoire cache L3.
ADRESSAGE LOGIQUE/ADRESSAGE PHYSIQUE

• Une adresse générée par le processeur est appelée adresse logique.


• Tandis qu’une adresse vue par l’unité mémoire, c’est à dire celle qui est
chargée dans le registre d’adresse de la mémoire, est appelée adresse
physique.
• Il est nécessaire au moment de l’exécution de convertir les adresses logiques
en adresses physiques.
• une adresse physique est obtenue en ajoutant à chaque adresse logique
l’adresse de base contenue dans un registre. (registre de translation )
adresse physique=adresse logique + registre de translation
ADRESSAGE LOGIQUE ADRESSAGE PHYSIQUE
CYCLE D'HORLOGE

• Définition
• Unité élémentaire de temps d'un ordinateur. Le nombre de cycles d'horloge
d'un processeur est lié à sa fréquence. Un cycle d'horloge correspond à un
battement du microprocesseur. Ainsi, un processeur cadencé à 300 MHz
possède 300 millions de cycles d'horloge par seconde. Chaque instruction
nécessite au moins un cycle d'horloge pour s'exécuter.
EXEMPLE

• CPU à 2,6GHz et mémoire avec 10ns de latence (temps de calcul de


l'adresse avant de transmettre le contenu)
• Si le CPU veut accéder à une information mémoire, après combien de temps va-t-il
recevoir l’information ? 10x10−9
• Combien de cycles CPU pendant cette durée ? 10x10 −9 x 2,6x109 = 26 cycles
COORDONNÉES
a.chenna@hns-re2sd.dz

Vous aimerez peut-être aussi