Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Цитата yurfed:
Ment69, немного не так. Один канал это данные в одну сторону и ожидание ответа оттуда. Два канала по одному туда, по второму обратно. Отсюда и прибавка в скорости. Не приходится ждать ответа с" обратной" стороны. »
На самом деле, не так и не так. Двухканальная память подразумевает разделение всего объема ОЗУ на две половинки. Так что если имеются два модуля ОЗУ воткнутые в разъемы относящиеся к разным каналам, память всегда будет работать в двухканальном режиме.
Представьте себе некоторый склад. К складу идет железнодорожная ветка по которой ходит грузовой состав. Этот состав может перезезти какое-то количество грузов со склада на небольшую промежуточную площадку (кэш-память процессора). Или наоборот - с площадки на склад, чтобы освободить там место. Это аналог одноканального режима работы памяти. Теперь разделим склад на две половинки и к каждой проложим собственную ветку. По каждой из них ходит отдельный состав. Это аналог двухканального режима.
Повторю еще раз: если DIMM будут подключены к разъемам на разных каналах, доступ к ним будет осуществляться посредством разных каналов контроллера. То есть фактически режим будет двухканальным. Тем не менее, во многих случаях программы, включая BIOS, сообщат об одноканальном режиме работы. Почему? Потому что в зависимости от конфигурации памяти двухканальный режим может быть либо синхронным, общепринятое название - "марширующий" (lockstep) режим, либо асинхронным.
Если мы вернемся к нашей аналогии с грузовыми составами, то их можно либо запускать по-очереди, либо одновременно. В первом случае, хотя их де-факто и два, но по сути это ничем не отличается от использования одного состава. Поэтому такой двухканальный режим обычно называют одноканальным.
Как видите, это почти совпадает с тем, что написал уважаемый Ment69. Почти, но всё-таки не совсем. Почему? Потому что в примере с двумя бутылками предполагается, что вся вода внутри одинакова и всё время выливается с максимально возможной скоростью. Но для оперативной памяти это не так. Вам же никогда не бывает нужно просто тупо считать содержимое всей оперативной памяти в процессор. Даже при тестировании этой самой памяти, хотя именно тестированое ближе всего к аналогии с бутылками.
Вам надо прочитать конкретный адрес. Точнее, диапазон адресов, поскольку обмен данными между кэш-памятью и ОЗУ всегда происходит исключительно полными 64-хбайтными кэш-строками. Этот диапазон всегда полностью доступен либо на одном, либо на другом канале контроллера. Поэтому доступ к нему в любом случае будет одноканальным. Он и не может быть двухканальным - нельзя вывезти со второго склада то, что целиком хранится на первом.
Существует значительная вероятность того, что потом процессору потребуется следующая строка кэш-памяти. В двухканальном режиме она хранится в памяти подключенной к другому каналу контроллера и стало быть обращение к ней может быть произведено независимо от предыдущего чтения. В такой ситуации скорость доступа к памяти по сути увеличится вдвое (из двух бутылок одновременно льется вода).
Однако, может получиться так, что нам, допустим, нужно считывать элементы двумерного массива по столбцам, в то время как в памяти он хранится по строкам. И каждый следующий элемент оказывается в диапазоне адресов памяти подключенных к одному и тому же каналу контроллера.
В этом случае один из каналов использоваться вообще не будет и скорость доступа упадет до скорости одноканального режима (вода могла бы литься из двух бутылок, но нам нужны только молекулы содержащиеся в первой из них).
В реальной жизни скорость доступа оказывается некоторой промежуточной величиной, ближе к первому из рассмотренных вариантов. Второй вариант (отсутствие увеличения производительности в двухканальном режиме) в реальной жизни не встречается - ведь кроме данных необходимо считывать еще и код, который не может целиком находиться в памяти одного из каналов при режиме с чередованием (interlaced).

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:14, 24-10-2013 | #12