Mémoire vive
1. Explication
La mémoire vive est le composant électronique qui permet de conserver des données et des instructions en mémoire. Le terme RAM est souvent utilisé pour désigner la mémoire vive.
La capacité de la mémoire vive se mesure en gigaoctet ou Go . Par contre, la capacité utilise la notation 1024. Une barrette de 16 Go aura 17 179 869 184 octets. En réalité, il faudrait utiliser la notation Gio.
Aujourd'hui, les ordinateurs possèdent de 8 Go et 32 Go généralement. Il est recommandé d'en avoir au moins 16 Go pour une utilisation optimale de Windows.
Une carte-mère peut accepter des tailles spécifiques de barrette et peut gérer une capacité maximale.
En programmation, lorsqu'une variable est créée, sa valeur doit être conservée dans la mémoire vive.
2. Format
Il existe 2 formats de mémoire vive.
Le format régulier (DIMM) pour les ordinateurs standards et le format petit (SO-DIMM) pour les petits appareils, comme les portables.
Voici une mémoire vive de format DIMM et SO-DIMM.
3. Type
Il existe plusieurs types de mémoire vive. Actuellement, les ordinateurs en magasin utilisent de la DDR4 ou de la DDR5.
Une carte-mère est conçue pour un type spécifique.
Malgré que la mémoire semble similaire, le guide central n'est pas à la même place. Il n'est donc pas possible d'insérer un mauvais type de mémoire sur une carte-mère.
Dans ce cours, vous utiliserez de la mémoire DDR3 et DDR4.
4. Vitesse, latence et bande passante
La mémoire vive a également une vitesse. Elle se mesure hertz, car il s'agit d'une fréquence. À chaque fréquence, le processeur est en mesure d'écrire ou de lire de l'information dans la mémoire vive. À chaque fréquence, il y a 64 bits qui se transfèrent dans le bus.
La latence est le nombre de cycles qui est nécessaire entre le moment que le CPU demande des données à la mémoire vive et que la mémoire vive commence le transfère vers le CPU. Plus la latence est basse, plus la RAM est rapide pour débuter le transfert. La latence se mesure en CL
La bande passante consiste au nombre de bits qui se transfère par seconde en fonction de la vitesse, de la latence et de la taille du bus.
Donc pour comparer deux modules de ram, il faut tenir compte de la vitesse et de la latence et de la taille du bus.
Il est important de ne pas mélanger les vitesses, car la carte-mère utilisera la vitesse la plus basse pour que toutes les mémoires vives utilisent la même vitesse.
5. ECC et non-ECC
Une mémoire ECC possède un module supplémentaire qui permet de détecter et de corriger les erreurs d'écritures dans la mémoire vive.
Généralement, une carte-mère standard accepte uniquement la mémoire non-ECC.
Une carte-mère pour un serveur, pour un workstation ou haut de gamme peuvent supporter ou obliger l'utilisation d'une mémoire ECC.
Il est important de vérifier si la carte-mère supporte ou nécessite absolument cette fonctionnalité.
Pour identifier rapidement une mémoire ECC et non ECC, il faut compter le nombre de puces.
Une mémoire non ECC a généralement 8 puces.
Une mémoire ECC a généralement 9 puces.
Il est tout de même préférable de vérifier dans les spécifications du constructeur pour s'en assurer.
6. Multi-canal
Actuellement, la majorité des cartes-mères utilisent l'accès double canal (Dual Channel) pour communiquer avec la mémoire vive en parallèle.
Il est important d'installer la mémoire vive selon les spécifications de la carte-mère. Il est recommandé d'avoir 2 barrettes de mémoire identiques (fournisseur, modèle, vitesse) lorsqu'elles sont utilisées en dual channel.
La plupart du temps, il y a un indicateur de couleur sur la carte-mère pour indiquer. Soit par la couleur de la fente, des languettes de fixation.
Il faut mettre les barrettes de mémoire identiques dans la même couleur. Les 2 barrettes de mémoire fonctionneront en double canal.
Certaines cartes-mères utilisent la notation A1, B1, A2 et B2. Le canal est le chiffre et la séquence est la lettre. Donc, avec cette nomenclature, il faut mettre les barrettes de mémoire identiques dans A1 et B1.
Il arrive souvent que l'ordre des fentes soit alterné, c'est-à-dire Blanc, Noir, Blanc, Noir. Mais il est possible que ce soit Noir, Noir, Blanc, Blanc. Les canaux ne sont pas systématiquement alternés.
En cas de doute, il est important de vérifier dans le manuel de l'utilisateur.
7. Mode flex
Une carte-mère qui ne fonctionne pas en mode flex doit avoir absolument complété la séquence.
Par exemple, si la carte-mère à Gris, Blanc, Gris, Blanc.
Cette configuration ne sera pas en double canal si la carte-mère n'est pas flex, car la séquence B n'est pas complète.
A1 | 8 Go |
---|---|
A2 | 8 Go |
B1 | 8 Go |
B2 | Vide |
Dans le cas d'une carte-mère flex, la mémoire fonctionnera en double canal jusqu'à l'utilisation de la barrette B1.
Pour éviter d'être inutilement en mode simple canal, même pour une carte-mère flex, il est recommandé de mettre des barrettes dans toutes les fentes de la séquence.
8. Performance
Il a généralement un gain de performance d'utiliser 2 barrettes de mémoire au lieu d'un seul de même capacité lorsque la carte-mère est multi-canal.
Par exemple, 2 x 8 Go installé correctement en dual channel sera généralement plus performant que 1 x 16 Go.
Généralement, même si les 8 Go sont plus lente que la 16 Go, le fonctionnement en dual channel sera considéré plus performant.
Dans ce cours, lorsque la configuration la plus performante sera demandé, il faudra s'assurer d'être en dual channel pur, c'est-à-dire sans être en mode flex, même si l'ordinateur le supporte.
Pour des vitesses différentes, le dual channel sera considéré prioritaire sur la performance.
9. Exemple de configuration
Voici des exemples de configuration.
9.1. Exemple 1
Cette configuration est valide pour du dual channel.
A1 | 8 Go |
---|---|
A2 | 2 Go |
B1 | 8 Go |
B2 | 2 Go |
9.2. Exemple 2
Cette configuration est valide pour du dual channel.
A1 | 8 Go |
---|---|
A2 | Vide |
B1 | 8 Go |
B2 | Vide |
9.3. Exemple 3
Cette configuration est valide, mais elle sera en single channel.
A1 | 8 Go |
---|---|
A2 | 8 Go |
B1 | Vide |
B2 | Vide |
9.4. Exemple 4
Cette configuration est invalide pour du dual channel, car les barrettes identiques ne sont pas ensemble.
A1 | 8 Go |
---|---|
A2 | 8 Go |
B1 | 2 Go |
B2 | 2 Go |
9.5. Exemple 5
Cette configuration est valide.
Pour une carte-mère qui supporte le mode flex, les **8 Go ** seront en dual channel et le 2 Go en single channel.
Pour une carte-mère qui ne supporte pas le mode flex, la mémoire sera en single channel.
A1 | 8 Go |
---|---|
A2 | 2 Go |
B1 | 8 Go |
B2 | Vide |
9.6. Exemple 6
L'option 1 est la moins performante et l'option 3 la plus performante pour avoir un total de 16 Go.
Option 1
A1 | 16 Go |
---|---|
A2 | Vide |
B1 | Vide |
B2 | Vide |
Option 2
A1 | 8 Go |
---|---|
A2 | Vide |
B1 | 8 Go |
B2 | Vide |
Option 3
A1 | 4 Go |
---|---|
A2 | 4 Go |
B1 | 4 Go |
B2 | 4 Go |
10. Lectures intéressantes et références
Voici quelques articles qui expliquent différentes notions sur la mémoire vive.
FS Community - DDR3, DDR4 et DDR5 : Guide Pratique des Mémoires RAM pour Serveurs : https://community.fs.com/fr/blog/server-ram-ddr3-vs-ddr4-vs-ddr5.html
Crucial - SDRAM vs DDR vs DDR2 vs DDR3 vs DDR4 vs DDR5: Quelles sont les différences ? : https://www.crucial.fr/articles/about-memory/difference-among-ddr2-ddr3-ddr4-and-ddr5-memory
Crucial - La différence entre la vitesse de la RAM et la latence CAS : https://www.crucial.fr/articles/about-memory/difference-between-speed-and-latency
Crucial - Qu’est-ce que la mémoire double canal ? : https://www.crucial.fr/articles/about-memory/what-is-dual-channel-memory
Crucial - Mémoire ECC et non-ECC - Laquelle ai-je et puis-je utiliser les deux ? : https://www.crucial.fr/support/articles-faq-memory/ecc-vs-non-ecc
Wikipedia - Mémoire à code correcteur d'erreurs : https://fr.wikipedia.org/wiki/M%C3%A9moire_%C3%A0_code_correcteur_d%27erreurs