Pourquoi des quantités inégales de RAM dans chaque emplacement diminuent-elles les performances?

12

Cette page décrit les spécifications de la RAM pour de nombreux ordinateurs portables MacBook. Dans la section pour mon ordinateur portable (13 "Pro fin 2011), il est écrit:

Remarques supplémentaires: pour de meilleures performances, remplissez les deux emplacements de mémoire en installant un module de mémoire égal dans chaque emplacement.

Ce n'est pas la première fois que j'entends parler de ce phénomène, et ce n'est certainement pas spécifique à Apple.

pourquoi est-ce le cas? Outre la diminution évidente de la mémoire disponible, pourquoi serait-il pire de fonctionner avec 6 Go (1x4 Go + 1x2 Go) qu'avec 8 Go (2x4 Go)?

LanceLafontaine
la source
Tout d'abord ... Ce n'est pas un phénomène lié aux canaux mémoire. Deuxièmement, il n'y aurait aucune augmentation / diminution des performances entre vos exemples.
Ramhound
@Ramhound s'il n'y a pas de baisse de performances, pourquoi cet avertissement sur le site Web d'Apple?
LanceLafontaine
J'ai dit dans votre exemple que si vous ne fonctionniez pas en mode double canal, il y en aurait. Il existe une différence entre la perte de performance théorique et la perte de performance réelle.
Ramhound

Réponses:

17

Avec des quantités égales de mémoire dans les deux emplacements, la mémoire peut être "entrelacée" de sorte que des morceaux successifs de mémoire alternent entre les emplacements. De cette façon, les accès à la mémoire sont répartis de manière presque parfaitement uniforme sur les deux emplacements, permettant à leur bande passante de se combiner. Avec des quantités inégales, la mémoire ne peut pas être entrelacée et doit être mappée d'abord sur un bâton puis sur l'autre. Un programme qui accède à une grande partie de mémoire contiguë trouvera presque tous ses accès allant sur un seul bâton, et il n'y aura pas de combinaison de bande passante.

David Schwartz
la source
Votre utilisation (sans réserve) de "entrelacé" est source de confusion pour un ancien comme moi. L'entrelacement dans ce cas est uniquement pour l'attribution d'adresse mémoire. On peut supposer que les modules de mémoire fonctionneraient également en modes monocanal ou multicanaux (c'est-à-dire que N canaux effectueraient leurs cycles de mémoire simultanément). La mémoire entrelacée traditionnelle ne chevauchait que leurs cycles (une banque de mémoire pouvait commencer son cycle de lecture avant que la banque précédente ait terminé son cycle), pour un gain de performances bon marché sans ajouter un autre canal de mémoire.
sciure de bois
@sawdust "afin que des morceaux successifs de mémoire alternent les emplacements ... permettant à leur bande passante de se combiner"
David Schwartz
1
Cela fait partie de l'ambiguïté. "Alternate" dans un sens statique et / ou dynamique? La mémoire entrelacée traditionnelle «alternerait» entre les banques à la fois dans le sens statique (adressage) et dynamique (cycle de mémoire). Le multicanal accéderait (dynamiquement) aux modules simultanément, plutôt que de s'alterner.
sciure de bois
4

Remarques supplémentaires: pour de meilleures performances, remplissez les deux emplacements de mémoire en installant un module de mémoire égal dans chaque emplacement.

L'explication technique probable ici est que votre MacBook (carte mère) prend en charge une architecture double canal et nécessite donc 2 modules de mémoire identiques. Les repères suggèrent qu'il donne une amélioration des performances de 5% à 10%.

pourquoi est-ce le cas? Outre la diminution évidente de la mémoire disponible, pourquoi serait-il pire de fonctionner avec 6 Go (1x4 Go + 1x2 Go) qu'avec 8 Go (2x4 Go)?

Lorsque deux modules de mémoire non identiques sont utilisés, la carte mère exécutera les modules de mémoire à la vitesse du module le plus lent.

mVincent
la source