Ядра Venice и San Diego: нюансы поддержки до 4 Гб памяти

30 июня 2005, четверг 09:18
Небрежно процитированная фраза из нашего сводного анализа обзоров Athlon 64 FX-57 по поводу возможности корректной работы контроллера памяти с модулями DDR объёмом свыше 2 Гб озадачила не только нас, но и некоторых наших читателей. Всё дело в том, что подобную тему затронули коллеги с американского сайта Hard OCP, однако полностью её не раскрыли. Следует отметить, что описываемые нововведения касаются всех процессоров на степпинге E4 ядра San Diego, а не только процессора Athlon 64 FX-57. В равной степени они относятся и к процессорам на степпинге E3 ядра Venice, так как их контроллеры памяти модернизировались параллельно.

Уточним формулировку, выдвинутую нашими коллегами: процессоры на ядрах, предшествующих San Diego, испытывали некоторые трудности с работой памяти с низкими таймингами, а также проблемы с отдельными конфигурациями памяти объёмом свыше 2 Гб. Сия фраза отнюдь не означает, что процессоры Winchester и Newcastle/ClawHammer вообще не поддерживали память объёмом 4 Гб. Просто заставить такую конфигурацию работать стабильно в режимах максимальной производительности было сложно - приходилось либо снижать частоту памяти, либо ослаблять тайминги. Компоновка чипов на модулях DIMM (односторонняя или двухсторонняя) тоже оказывала своё влияние.

Как вы можете помнить, возможность выбора между таймингами 1T и 2T появилась в 0.13 мкм процессорах степпинга CG. Все процессоры Athlon 64 в исполнении Socket 754 этого года выпуска основаны именно на данном степпинге, возможность активации таймингов 1T/2T и включения технологии Cool'n'Quiet варьируется вместе с числом установленных в материнскую плату модулей DIMM. Как сегодня доказал мой коллега, для разгона лучше использовать один модуль памяти. Впрочем, это правило применимо и к платформе Socket 939: чем меньше модулей памяти, и чем ближе они расположены к процессору, тем лучше разгоняется система. Само по себе удаление модуля от процессорного разъёма значения не имеет - всё зависит от разводки. На платах DFI, например, лучше всего разгоняются самые дальние от процессора модули памяти.

Говоря непосредственно о проблеме поддержки объёма 4 Гб памяти системами класса AMD64, хочется сослаться на комментарии представителей AMD. Формально контроллер памяти ядер поколения K8 поддерживает до 1 Тб (одного терабайта) оперативной памяти, ограничения создаются лишь объёмом модуля и их числом. Например, Socket 754 поддерживает до трёх модулей DIMM, Socket 939 - до четырёх модулей DIMM. Процессоры Opteron в исполнении Socket 940 способны поддерживать до восьми модулей DIMM на процессор. Двухъядерные процессоры Athlon 64 X2 в этом плане не отличаются от одноядерных Athlon 64 в исполнении Socket 939 - два ядра имеют общий контроллер памяти.

Ограничения по объёму модулей памяти диктуются уровнем развития технологии производства чипов памяти - сейчас существуют и 2 Гб модули, но их цена не способствует широкому распространению, да и относятся они к регистровому типу, а потому применяются в системах класса Socket 940. Более того, в домашнем компьютере потребность в 8 Гб памяти ещё не скоро станет реальностью. Большинство экспертов сходится во мнении, что 2 Гб на сегодняшний день хватает с запасом. Если настольная система с таким объёмом памяти "тормозит" в типовых приложениях, то "узкие места" надо искать в другой сфере.

Текущее состояние дел отражает описание возможностей контроллера памяти процессоров Athlon 64 и Athlon 64 FX степпингов E3/E4. В режиме DDR 400 двухканальная память может работать в следующих конфигурациях:

  • Четыре двухсторонних модуля памяти -> тайминги 2T;
  • Четыре односторонних модуля памяти -> тайминги 1T;
  • Два двухсторонних модуля памяти -> тайминги 1T.

То есть, как только число банков памяти достигает восьми, контроллер ослабляет тайминги до 2T. На практике эти сочетания могут иметь следующее значение: вы сможете запустить четыре модуля памяти объёмом по 512 Мб (двухсторонних) на частоте DDR 400 при значении таймингов 2T, пара модуле объёмом по 1 Гб (двухсторонних) сможет работать на частоте DDR 400 при значении таймингов 1T. В обоих случаях вы получите общий объём памяти 2 Гб и двухканальный режим. Какой вариант лучше?

Обобщая статистику использования памяти в том и другом режимах, можно дать следующие рекомендации. Добиться стабильной работы комбинации 4 х 512 Мб бывает не так просто, особенно если модули попарно отличаются маркой производителя или характеристиками чипов. С четырьмя модулями памяти вы добьётесь более низкой частоты в разгоне процессора. Тайминги придётся ослабить. Кстати, с недавних пор комплект "2 х 1 Гб" обойдётся дешевле комплекта "4 х 512 Мб", что дополнительно повышает привлекательность 1 Гб модулей.

Сочетание двух модулей по 1 Гб обойдётся в покупке дешевле и обеспечит более высокий разгонный потенциал процессора, более агрессивные тайминги, лучшие условия охлаждения памяти и оставит место для дальнейшей модернизации.

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

Таким образом, непосредственно контроллер памяти процессоров Athlon 64 не накладывает ограничений на использование 4 Гб памяти. Другое дело, что некоторые ограничения могут исходить от BIOS материнской платы или операционной системы. Windows и Linux текущих версий источником подобных проблем быть не могут (особенно 64-разрядные версии), так что корень зла следует искать в чипсетах. А точнее говоря, в BIOS конкретных материнских плат.

Дело в том, что на практике при установке в материнскую плату 4 Гб памяти многие пользователи наблюдали следующую картину: система видела только часть памяти, измеряемую цифрами от 3.25 Гб до 3.8 Гб. Заметим, что тип используемой операционной системы на ситуацию никак не влиял - ограничение явно присутствовало на уровне BIOS. Существующая гипотеза объясняет этот не очень приятный феномен достаточно просто: объём доступной памяти определяется особенностями распределения адресного пространства в BIOS материнской платы, часть памяти резервируется под нужды чипсета и графического адаптера. Огромный объём памяти в 4Гб в результате не виден для операционной системы полностью, чаще всего доступны примерно 3.5 Гб.

Кстати, последние материнские платы на базе чипсета nForce 4 Ultra имеют в BIOS функцию 4 Gb RAM Remapping, призванную эффективнее обходить существующие ограничения. Компания MSI на своём сайте при описании особенностей конфигурирования подсистемы памяти одной из материнских плат на базе чипсета nForce 4 Ultra приводит ещё одно интригующее объяснение: "Due to the South Bridge resource deployment, the system density will only be detected up to 3+ GB (not full 4GB) when each DIMM is installed with an 1GB memory module". Другими словами, при использовании четырёх модулей памяти объёмом по 1 Гб особенности распределения ресурсов южного моста (?) вызывают ограничение на доступ к полному объёму оперативной памяти - в итоге система видит чуть больше 3 Гб памяти.

Между прочим, на этой же странице сайта MSI есть полезная табличка для определения возможных конфигураций памяти в двухканальном режиме:

Обратите внимание, что установить четыре модуля по 1 Гб не возбраняется, но о возможных проблемах производитель честно предупреждает выше. Рядом приводятся и другие полезные памятки, часть из которых устарела после выхода процессоров степпингов E3 и E4.

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

В качестве итога можем сказать, что пока реализация поддержки 4 Гб памяти в системах на базе процессоров Athlon 64 и Athlon 64 FX (за исключением версии в исполнении Socket 940) сталкивается с определёнными проблемами, но сам контроллер памяти в этом не виноват. Для многих пользователей вопрос имеет скорее теоретическую ценность, чем практическую, так как приобретение 4 Гб оперативной памяти пока экономически не оправдано. Кроме того, операционные системы не умеют эффективно распоряжаться таким "богатством". Однако, с появлением двухъядерных процессоров нового поколения и заточенных под них программ ситуация может измениться в лучшую сторону. Правда, тогда и контроллеры памяти процессоров AMD64 наверняка усовершенствуются до адекватного уровня.

Оценитe материал

Возможно вас заинтересует

Сейчас обсуждают