Найти тему
Mizhgunit

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

Оглавление

Всем привет, дорогие друзья. Рад вас видеть! Сегодня поговорим про память: вот есть у нас на вид две абсолютно одинаковые планки с одинаковой частотой, однако, внезапно, одна из них на 2-10% стабильно быстрее другой. Это как?

Ведь частота, тайминги, и железо у нас абсолютно одинаковое... Что-то здесь не чисто. А вот почему так происходит - сейчас расскажу. Давайте начинать!

Что такое ранки памяти?

Как вы поняли, разница в производительности очень легко объясняется: одна планка у нас двухранговая, а вторая - одноранговая. И, как вы понимаете, в большинстве сценариев двухранг оказывается быстрее, чем точно такая же память с точно такими же характеристиками, но одноранговая.

-2

Что это значит? Попробую объяснить очень просто: шина оперативной памяти имеет ширину в 64 бита. Если у нас на ней распаяно 8 8-битных чипов, либо, скажем, 4 16-битных чипа - такая память одноранговая.

Кстати, правильно говорить именно ранК, но я тут автор, так что пусть май вери гуд инглиш вас не смущает. Ранг - значит ранг, мне так проще.

Однако есть одна небольшая проблема: чипы памяти имеют ограниченный объем, но шина по-прежнему имеет ширину 64 бита. Что делать? Больше чипов не поставить, значит вариант один: ставить чипы большего объема...

...Либо сделать память двухранговой. В этом случае мы распаиваем еще 8 чипов и как бы делаем "двухпотоковую память". В данном случае можно подумать, что шина памяти будет равномерно делиться между шинами, однако это не так. Контроллер попеременно работает с обеими сторонами, так что шина не урезается. Это упрощенное объяснение, но суть передает.

Вот сразу первые тесты (не мои, естественно). Планки в двухканале, что на руку одноранговым модулям.
Вот сразу первые тесты (не мои, естественно). Планки в двухканале, что на руку одноранговым модулям.

И вроде бы такая система должна работать хуже, чем одноранг, однако все получилось совсем наоборот. Двухранговую память, если говорить очень грубо, можно сравнить с технологий Hyper Threading, где физически модуль один, но логических модулей сразу два.

-4
Есть еще 4- и 8-ранговая память, но ее можно встретить в основном на серверах.

Стало быть, должны быть и недостатки?

Да, двухранговый набор будет стоить дороже однорангового, к тому же двухранговые планки - это планки большого объема (от 16 гигабайт), поскольку просто нет смысла удорожать конструкцию планки ради нескольких процентов дополнительной производительности.

Это - двухканал и прогон теста на встроенной графике. Двухранг быстрее, но не критично (потому что наибольшая разница в производительности тут в одноканале)
Это - двухканал и прогон теста на встроенной графике. Двухранг быстрее, но не критично (потому что наибольшая разница в производительности тут в одноканале)

Кроме того, такие модули лучше работают (и разгоняются) в 2-модульной конфигурации. Если у вас 4 модуля, то контроллер процессора может не справляться и разница в производительности с одноранговой памятью будет не столь значительна. Грубо говоря, два двухранговых модуля - это 4 виртуальных канала памяти (ОЧЕНЬ грубо говоря, по аналогии с HT).

В играх в двухканале у одно- и двухранговой памяти разницы почти нет
В играх в двухканале у одно- и двухранговой памяти разницы почти нет

Однако при этом у двухранговой памяти сильно меньший разгонный потенциал, банально потому что вдвое больше чипов, и шанс, что все возьмут высокую частоту - ниже. Одноранг гонится прям сильно лучше, что позволяет компенсировать разницу в производительности.

Ну и про цену и объем не забываем (основная идея двухрангового модуля - увеличение объема одной планки, а не ее производительности).

В каких случаях какой тип работает лучше?

Например, если у вас уже стоят две планки памяти по 8 гб, и они - одноранговые, то есть смысл докупить еще две одноранговые планки. Хотя современное железо уже умеет одновременно работать с разными наборами памяти (например, одно- и двух-ранговые планки вместе), смысла в таком муве будет довольно мало.

Вот примерная маркировка оперативки. Ранги указаны как S, D или Q, но иногда можно встретить обозначение 1R, 2R или 4R. Это, соответственно, одноранговых, двухранговый или четырехранговый модуль.
Вот примерная маркировка оперативки. Ранги указаны как S, D или Q, но иногда можно встретить обозначение 1R, 2R или 4R. Это, соответственно, одноранговых, двухранговый или четырехранговый модуль.

Также одноранг прекрасно подходит для систем, где можно поставить много планок памяти (штук 6 или 8). Одноранговая память дешевле и лучше гонится, при этом низкую (относительно двухранга) производительность можно скомпенсировать лучшим разгоном.

Двухранг же можно брать в случае, если вам надо много оперативной памяти (например, 32 гигабайта в плату, где всего два слота. Одноранг вы в такой ситуации в принципе практически не найдете), либо если вы сейчас ставите одну планку большого объема в одноканал.

К слову, как раз в одноканальном режиме работы двухранговая память сильно быстрее одноранговой, поскольку, повторю, у нас как бы два логических модуля на одном физическом. Прирост в таком случае - порядка 5-10%. Это меньше, чем двухканал, но хоть что-то. При этом в двухканале прирост производительности - порядка 3-4%, при использовании встройки (даже в двухканале) - около 5%.

-8

Постарался объяснить максимально просто и кратко. Если налажал в формулировке - не стесняйтесь поправлять меня в комментариях. На этом все, всем спасибо за внимание, до скорого! Не забывайте про лайк и подписку!

Подпишись на телеграм (там IT-новости), Ютуб (там иногда выходят прикольные видео), и группу ВК (там пока ничего нет, но это только пока).