PDA

Voir la version complète : [NDS][Tutorial] Les mémoires


Doud_
19/09/2006, 21h07
Les Mémoires

Ayant repris les cours d'info, j'ai eu un poly sur les différentes mémoires, que j'ai trouvé fort intéressant.

Ajout d'informations complémentaires!

427

I) Mémoire Vive

La mémoire vive (RAM) est utilisable pour écrire ou lire des informations. Elle constitue la plus grande partie de la mémoire principale d'un ordinateur.

On peut réaliser des mémoires RAM avec deux technologies différentes :
- RAM dynamiques (DRAM)
- RAM statiques (SRAM)

1) Les mémoires vives dynamiques (DRAM) :

On utilise ce type de mémoire car peu coûteux. Les boitiers de mémoires dynamique enferment une pastille de silicium sur laquelle sont intégrées un très grand nombre de cellules binaires.

Chaque cellules binaires est réalisée à partir d'un transistor relié à un condensateur. L'état chargé ou déchargé di condensateur permet de distinguer les deux états (bit 0 ou 1).

L'incinvéniant de cette technique simple est que le condensateur se décharge seul au cours du temps (courant de fuite). Il est donc necessaire de rafraîchir tous les condensateurs du boitier périodiquement (environ 1000 fois par seconde).

2) Les mémoires vives statiques (SRAM) :

Les mémoires statiques n'utilisent pas de condensateurs : chaque celleule binaire est réalisée à l'aide de 4 transistors formant un bistable (circuit restant dans un état 0 ou 1 tant qu'il est alimenté électriquement).

Les SRAM permettent des temps d'accès plus court que les DRAM, mais sont plus coûteuses car leur fabrication deamande 4 fois plus de transistors que les DRAM. On les utilises lorsque l'on souhaite maximiser les performances, par exemple pour construire les mémoires caches.

II) Mémoires Mortes

Ces mémoires ne sont normalement accessibles qu'en lecture. On distingue différents types de circuits de mémoires mortes.

1) ROM :
C'est un circuit intégré dont le contenu est déterminé une fois pour toute au moment de la fabrication. Le coût relativement élevé de leur fabrication impose une production en grandes séries, ce qui complique la mise à jour de leur contenu.

Au départ, ces mémoires étaient utilisées pour stocker les parties bas-niveau du système d'exploitation de l'ordinateur (BIOS par exemple).

[U]2) PROM :
A la différence de la ROM qui est enregistrée de manière définitive lors de la fabrication, la PROM (Programmable ROM) est configuré par l'utilisateur à l'aide d'un programmeur de PROM, utilisé pour enregistrer son contenu.

La PROM ne peut être modifiée par la suite.

3) EPROM :
Les mémoires EPROM (Erasable PROM) sont des PROM reconfigurable. Il est donc possible de les effacer pour les reprogrammer.

L'effacement se fait par une exposition à un fort rayonnement ultraviolet (UV). Pour cela, le boitier est percé d'une fenêtre transparente permettant l'exposition du circuit intégré.

L'opération d'effacement necessite de retirer l'EPROM de son supprt et entraîne sont immobilisation pendant environ 30 minutes.

4) EEPROM :
L'EEPROM (Electricical Erasable PROM) a le même principe qu'une EPROM, mais l'effacement se fait à l'aide de signaux électriques. (Plus pratique et rapide!)

5) Flash EPROM :
Les mémoires FLASH sont semblables aux EEPROM, mais l'effacement peut se faire par sélection par blocs, et ne nécessite pas le démontage du circuit.

Le temps d'écriture d'un bloc de mémoire FLASH est beaucoup plus grand que celui d'écriture d'une mémoire RAM, mais du même ordre que celui un disque dur.

L'accès en lecture à une EEPROM est à peu près aussi rapide qu'une DRAM. On utilise donc parfois des cartes de mémoires FLASH comme mémoire secondaires, par exemple pour les ordinateurs portables.

II) Mémoires Caches

1) Hierarchie mémoire :
Les différents types de mémoires primaires et secondaires que nous venons de voir est caractérisé par un temps d'accès et une capacité caractéristique. (Plus on s'éloigne du processeur, plus la capacité et le temps d'accès augmentent.

Nous avons supposé que presque chaque instruction du processeur effectuait un accès, en lecture ou en écriture à la mémoire principale. Si c'était réellement le cas, le processeur passerait la majeure partie de son temps à attendre les accès mémoire, et n'utiliserait pas pleinement ses capacitées!

2) Principe des mémoires caches :
On peut aisément pallier au problème cité ci-dessus en intercalant entre le processeur et la mémoire principale un circuit de mémoire statique, plus rapide que la mémoire dynamique, mais de plus petite taille.

On va essayer de garder dans cette memoire les informations normalement en mémoire principale dont le processeur se sert le plus souvent à un instant donné!
Lors d'un accès par le processeur à un mot en mémoire, deux cas peuvent se présenter :
- Le mot est présent dans le cache. Comme il est plus rapide, il envoie la donnée demandée sur le bus de données;
- Le mot n'est pas présent dans le cache. L'accès mémoire se déroule normalement et le cache peut en profiter pour copier la donnée afin d'en disposer la prochaine fois.

3) Efficacité d'un cache : principe de localité :
L'utilisation d'une mémoire cache n'est efficace que s'il arrive fréquemment qu'un mot demandé par le processeur se trouve déjà en dans le cache.

Comme nous l'avons vu, une donnée entre dans le cache lorsqu'elle était lue en mémoire principale. Le premier accès à une données est donc lent, mais les suivants à la même adresse seront logiquement plus rapide.

On constate donc que plus le programme fait des accès mémoires variés, moins le cache sera efficace.

Nous savons que le processeur effectue deux types d'accès mémoires :
- Lecture des instructions.
- Lecture (ou écriture) des données.

Les accès aux instructions sont toujours différents, sauf lorsque le programme effectue des répétitions (boucles), ce qui se produit en fait assez fréquemment. Tout comme les accès aux variables.

0n appelle donc localité d'un programme sa tendance à effectuer des accès mémoires répétés, cette tendance augment le gain de vitesse apporté par le cache.

4) Autres aspects :
La gestion des caches est très importante pour les performances des ordinateurs modernes.

Les processeurs récents possèdent des caches intégrés et utilise en utilise souvent 2 :
- un pour les données.
- un pour les instructions.

A l'extérieur du processeur, on trouve un autre cahce de niveau 2, dit "externe".

Notons enfin que la même problématique se retrouve pour la gestion des accès aux mémoires secondaires : la différence de vitesse entre les mémoires vives et les disques durs rend l'utilisation d'un cache encore plus avantageuse (avec malheureusement des accès aux mémoires secondaires se répétant moins que ceux de la mémoire principale).

Voilà, merci de m'avoir lu, et j'espère que ça intéressera du monde :)

Pitt
19/09/2006, 21h53
Salut,

merci pour ce cours ; par contre, dans quelle catégorie se trouve la IWRAM ?

Miles teg
19/09/2006, 21h57
Ces mémoires ne sont normalement accessibles qu'en lecture.
On peut préciser ce point?

Si on parle bien des mémoires flash qu'on connait bien, c'est bien accessible en écriture... ou je rate un truc?

ou alors ca ne porte que sur la mémoire ROM...

thoduv
19/09/2006, 22h05
On peut préciser ce point?

Si on parle bien des mémoires flash qu'on connait bien, c'est bien accessible en écriture... ou je rate un truc?

ou alors ca ne porte que sur la mémoire ROM...
Il a bien dit "normallement": en effet elles ne sont pas "accessible" en écriture, mais "programmables", c'est à dire qu'on peut écrire dessus par blocs, avec un protocole spécial.

Salut,

merci pour ce cours ; par contre, dans quelle catégorie se trouve la IWRAM ?
IWRAM = Internal Working RAM, c'est une mémoire synchrone de je sais pas quel type.

Pitt
19/09/2006, 22h09
Merci :D

Miles teg
19/09/2006, 22h21
Il a bien dit "normallement": en effet elles ne sont pas "accessible" en écriture

Est ce que ca voudrait dire que "accèder normalement" à une mémoire, ca serait d'écrire dessus sans avoir à la formater?

crabos
19/09/2006, 22h31
je m'emdormirais ce soir un peu moins bete ^^ merci ;p

Bobby Sixkilla
19/09/2006, 22h55
3) EPROM :
Les mémoires EPROM (Erasable PROM) sont des PROM reconfigurable. Il est donc possible de les effacer pour les reprogrammer. L'effacement se fait par une exposition à un fort rayonnement ultraviolet (UV).

4) EEPROM :
L'EEPROM (Electricical Erasable PROM) a le même principe qu'une EPROM, mais l'effacement se fait à l'aide de signaux électriques. (Plus pratique et rapide!)

5) Flash EPROM :
Les mémoires FLASH sont semblables aux EPROM, mais l'effacement peut se faire par sélection par blocs, et ne nécessite pas le démontage du circuit.
C'est quoi la différence entre EEPROM et Flash EPROM? Pour moi c'est la même chose. C'est quoi cette histoire de bloc? Avec une EEPROM, l'effacement ce fait comment?

Doud_
19/09/2006, 22h58
Si tu veux je met l'intégralité des définitions, j'ai résumé pour que ca ne soit pas trop "lourd"

Bobby Sixkilla
19/09/2006, 23h04
Chela-oit! :) (ton corps change, ce n'est pas sale :))

Doud_
19/09/2006, 23h10
ok, je fais ca dans la semaine alors!

(le chela-oit je l'ai lu 5 fois avant de comprendre >_< )

Doud_
28/09/2006, 14h43
Grosse update du contenu, bonne lecture ;)

Bobby Sixkilla
28/09/2006, 15h23
Merci! :wub:

L'effacement de l'EEPROM se fait bit par bit alors?

Doud_
03/10/2006, 23h18
Désolé pour la réponse tardive, j'ai donc cherché un peu et :

- Pour les EPROM, l'effacement se fait bien par exposition aux U.V. (pendant environ 15 à 30 minutes à une distance de deux centimètres environ.

- Pour les EEPROM, l'effacement se fait par envois successif de tension (de très courtes durée), mais pas grand chose de plus... je demande à mon prof demain ;) )

Pyroh
04/10/2006, 01h08
- Pour les EPROM, l'effacement se fait bien par exposition aux U.V. (pendant environ 15 à 30 minutes à une distance de deux centimètres environ.
Ouai ben t'ira expliquer ca au bios de mon vieu 486 qui a vu la lumiere ambiante 5 minutes et qui s'en est retrouvé tout changé (ben ouai je me demandais ce qu'il y avait sous la languette auto-collante) :lol:

Doud_
04/10/2006, 20h32
Ouai ben t'ira expliquer ca au bios de mon vieu 486 qui a vu la lumiere ambiante 5 minutes et qui s'en est retrouvé tout changé (ben ouai je me demandais ce qu'il y avait sous la languette auto-collante) :lol:

:p pas cool ça....


Et pour l'EEPROM, j'ai posé la question à mon prof, et nada!(désolé bobby :unsure: )
Donc si quelqu'un sur le forum connait la réponse, qu'il n'hesite pas....

odin
14/09/2007, 00h48
Il a bien dit "normallement": en effet elles ne sont pas "accessible" en écriture, mais "programmables", c'est à dire qu'on peut écrire dessus par blocs, avec un protocole spécial.


IWRAM = Internal Working RAM, c'est une mémoire synchrone de je sais pas quel type.

Il y a une mé-compréhension importante dans ce dossier. Ce qui différencie vraiment une mémoire morte d'une mémoire vive, ce n'est pas la capacité d'être accessible en écriture ou pas. La mémoire morte se distingue de la mémoire vive au fait que même sans être alimentées, les données qui y sont inscrites restent en mémoire.
La mémoire vive quant à elle a besoin d'être toujours sous tension, sinon les données sont oubliées.

Pour faire une analogie, on peut dire que la mémoire morte fonctionne de la même façon qu'un disque dur : les données qui y sont inscrites restent même si on coupe l'alimentation.

Voilà, j'espère que mon explication est claire.
Odin

Il n'y a pas de problèmes pour un ingénieur, il n'y a que des solutions.

odin
14/09/2007, 00h54
:p pas cool ça....


Et pour l'EEPROM, j'ai posé la question à mon prof, et nada!(désolé bobby :unsure: )
Donc si quelqu'un sur le forum connait la réponse, qu'il n'hesite pas....

Si mes souvenirs d'élétroniques sont bons, les EEProm s'effacent case par case. On envoi l'adresse de la case à effacer et on lui soumet une petite tension de commande d'effacement.