LINUX.ORG.RU

Вопрос знатокам про оперативную память

 


0

1

Дано: в мат. плате имеется 4 разъёма под оперативку 1,2,3,4. Допустим в каждый разъём установлен модуль 16 гигабайт.

Вопрос: Если у меня система в данный момент использует 32 гига, то эти 32 гига распологаются в модулях 1 и 3? Или они равномерно распределены по всем четырём модулям?

p.s. Двухканальный режим, проц Ryzen

★★

Последнее исправление: devorg (всего исправлений: 1)

то эти 32 гига распологаются в модулях 1 и 3? Или они равномерно распределены по всем четырём модулям?

Кмк, всё сложнее, и как адреса сопоставляются с физическими - знает один лишь контроллер памяти.

vvn_black ★★★★★
()

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

pfg ★★★★★
()
Ответ на: комментарий от devorg

значит размазывает по двум планкам. по каким конкретно обычно описано в мануале на материнку.

pfg ★★★★★
()

Большая часть будет размазана по 1 и 3, меньшая по 2 и 4. Ядро не стремится держать выделенную физическую память строго одним куском.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от vvn_black

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

firkax ★★★★★
()
Ответ на: комментарий от NiTr0

Не будет, внутри одного канала интерливинг между модулями не делают (по крайней мере сколь-нибудь массово), потому что, во-первых, эффективность на модулях разного размера сильно падает, во-вторых, этот эффект проявляется только для двух модулей. Зачем усложнять контроллер памяти, когда от этого ИРЛ толку либо нет, либо он косметический?

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

делают даже в пределах одного двухранкового модуля, между ранками.

пушо пока пришла команда на выбор строки/столбца - можно не ждать 100500 тактов, пока модуль прожует ее, а давать команду другому ранку.

и было такое начиная еще со времен SDRAM. давало прирост несколько % как минимум - при егойных смешных таймингах (2-3Т)…

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

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

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

контроллер памяти - он какбы вообще не в курсе, что такое «модуль памяти». он оперирует ранками. более того - на некоторых платах можно было поставить 3 модуля памяти, но только одноранковых, двухранковых - не более двух. пушо всего 4 ранка контроллер поддерживал, а слотов - 3.

а вот как интерливинг делать - ему уже биос говорит…

NiTr0 ★★★★★
()
Последнее исправление: NiTr0 (всего исправлений: 1)

Там 4 слота, 2 одного цвета, 2 другого. Да, не с проста… Планки, вставленные в слоты одинакового цвета работают в двуканале, разного - нет.

tz4678_2
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.