Почему неравное количество оперативной памяти в каждом слоте снижает производительность?

12

На этой странице описаны характеристики оперативной памяти для многих ноутбуков MacBook. В разделе для моего ноутбука (13 "Pro Late 2011) написано:

Дополнительные примечания. Для обеспечения максимальной производительности заполните оба слота памяти, установив в каждый слот одинаковый модуль памяти.

Это не первый раз, когда я слышал об этом явлении, и это определенно не характерно для Apple.

Почему это так? Кроме очевидного уменьшения доступной памяти, почему было бы хуже работать с 6 ГБ (1x4 ГБ + 1x2 ГБ), чем с 8 ГБ (2x4 ГБ)?

LanceLafontaine
источник
Во-первых ... Это не феномен, это связано с каналами памяти. Во-вторых, между вашими примерами не будет увеличения / уменьшения производительности.
Ramhound
@ Ramhound, если нет снижения производительности, почему это предупреждение на веб-сайте Apple?
LanceLafontaine
Я сказал в вашем примере, если бы вы не работали в двухканальном режиме, это было бы. Существует разница между теоретической потерей производительности и фактической потерей производительности.
Ramhound

Ответы:

17

При одинаковом количестве памяти в обоих слотах память можно «чередовать», так что последовательные фрагменты памяти чередуются. Таким образом, доступ к памяти распределяется по обоим слотам практически идеально равномерно, что позволяет объединить их пропускную способность. При неравномерных объемах память не может чередоваться и должна отображаться сначала на одну карту памяти, а затем на другую. Программа, которая обращается к большому непрерывному фрагменту памяти, обнаружит, что почти все ее обращения осуществляются на одну карту памяти, и не будет никакой комбинации пропускной способности.

Дэвид Шварц
источник
Ваше (безоговорочное) использование «чередования» сбивает с толку такого старожила, как я. Чередование в этом случае только для назначения адресов памяти. Предположительно модули памяти также будут работать в одноканальном или многоканальном режимах (т.е. N каналов будут выполнять свои циклы памяти одновременно). Традиционная чередующаяся память только перекрывала свои циклы (банк памяти мог начать свой цикл чтения до того, как предыдущий банк завершил свой цикл), для дешевого увеличения производительности без добавления другого канала памяти.
опилки
@sawdust «так, чтобы последовательные куски памяти чередовали слоты ... позволяя объединить их пропускную способность»
Дэвид Шварц
1
Это часть двусмысленности. «Альтернатива» в статическом и / или динамическом смысле? Традиционная чередующаяся память будет «чередоваться» между банками как в статическом (адресация), так и в динамическом (цикл памяти) смысле. Многоканальный (динамически) доступ к модулям одновременно, а не поочередно.
опилки
4

Дополнительные примечания. Для обеспечения максимальной производительности заполните оба слота памяти, установив в каждый слот одинаковый модуль памяти.

Вероятное техническое объяснение здесь заключается в том, что ваш MacBook (материнская плата) поддерживает двухканальную архитектуру и поэтому требует 2 идентичных модуля памяти. Тесты показывают, что это дает увеличение производительности на 5-10%.

Почему это так? Кроме очевидного уменьшения доступной памяти, почему было бы хуже работать с 6 ГБ (1x4 ГБ + 1x2 ГБ), чем с 8 ГБ (2x4 ГБ)?

При использовании двух неидентичных модулей памяти материнская плата будет запускать модули памяти со скоростью самого медленного модуля.

mVincent
источник