Разгон видеопамяти
Почему чипы памяти при одинаковых стандартных характеристиках так сильно различаются в работе (сравните, например, поведение Winbond BH-5 и Hynix 43!) — на это сложно найти ответ, даже на неделю углубившись в изучение datasheet'ов…
А вот если отвечать на вопрос «как разгоняется память» с точки зрения простого оверклокера, то картина будет попроще. Наверное, материал можно было бы назвать по аналогии «Разогнать все, или память глазами шамана, непосвященного в инженерные тонкости» — я попробую объяснить максимально простыми словами и кое-где не самыми научными методами, но доказавшими свою практическую эффективность, в чем заключается сложность в вопросе разгона памяти и как можно улучшить потенциал модулей. Иными словами, «кто виноват и что делать»… Рассуждения будут с многочисленными и кое-где пространными примерами, поэтому для экономящих время в конце каждого подпункта имеется его тезисное изложение.
Заранее прошу ценителей чисто инженерного подхода меня простить. Конструктивную критику (с рекомендациями по улучшению) с благодарностью приму на e-mail.
На мой взгляд, есть семь основных параметров, которые отвечают за разгонный потенциал конкретной планки:
· производитель и модель чипов,
· тайминги,
· напряжения,
· качество РСВ,
· содержимое микросхемы SPD,
· используемый контроллер памяти,
· охлаждение.
Ниже мы разберем подробно каждый из них.
Кстати, наше большое счастье в том, что оперативная память и видеопамять работают немного по-разному, и разброс результатов для оперативной памяти хотя бы в пределах модулей с одинаковыми чипами все же не такой большой… Зато видеопамять легче использовать в качестве примеров, так как они выходят ярче:) В любом случае, общий принцип работы у видео- и оперативной памяти одинаков и шесть из семи параметров (кроме контроллера памяти), о которых пойдет речь, влияют на оба типа памяти. Поэтому я посчитал нерациональным обсуждать разгон только оперативной, или только видеопамяти, и сгреб все в одну кучу… Я не затрагивал вообще Rambus RDRAM по причине малораспространенности и небольшого личного опыта работы с ней, а также поведение DDR-II в модулях оперативной памяти в связи с почти полным отсутствием информации по этому вопросу. На видеокартах же DDR-II (GeForce FX 5700Ultra/5800/Ultra, Radeon 9800 Pro 256Mb) и GDDR-II (XGI Volari Duo V8 Ultra) ничем особенным, кроме повышенного нагрева, себя не проявила.
Небольшое примечание. Все данные о частотах работы модулей оперативной памяти, если нет особого указания на обратное, приводятся для самого жесткого варианта — платформы Intel при двухканальном доступе к памяти.
Первым у нас идет самый страшный из семи параметров, ибо итог выходит совсем антинаучным…
Разные чипы имеют разный потенциал, это очевидно. Конечно, в первую очередь это зависит от показателя времени доступа, выражаемого в наносекундах (нс) и являющегося одним из ключевых параметров микросхемы памяти. Но! Зависимость, так сказать, «нановости» и рабочей частоты весьма жесткая, по принципу обратной пропорции. вот подобного единодушия среди чипов памяти нет и в помине.
Взять, к примеру, «икону» оверклокерской памяти под названием Winbond BH-5 и очень популярные у нас Hynix 43. Оба чипа по стандарту являются DDR400, то есть время доступа составляет 5 нс. Кратко сравним их поведение. Winbond отличаются способностью держать минимальные тайминги 2-5-2-2 до частот около 230МГц при напряжении 2.8-2.9В; а с дальнейшим ростом напряжений продолжают адекватно расти, будучи способными дойти до 260-270МГц на все тех же таймингах! Зато разница между максимальной частотой, достижимой на 2-5-2-2, и максимальной частотой на любых более высоких таймингах составляет всего пару мегагерц. Между прочим, только на винбондовских чипах можно настолько не задумываться о напряжениях — они выдерживают даже экстремальные 4В. Теперь что касается Hynix 43: с таймингами у них «все в порядке», то есть 2-5-2-2 не держат даже на DDR400, зато с ростом таймингов и максимальная частота растет значительно. И в ней и кроется аномалия — с «плохими» таймингами Hynix 43 начинают успешно заменять DDR500, стабильно работая на частотах 250-270МГц при напряжении 2.8-2.9В, и еще немного выше при дальнейшем росте. Прошу отметить, что это штатные частоты для 4 нс памяти, но никак не 5 нс!
Приведу другой характерный пример с видеопамятью: чипы Infineon 3.6 нс практически невозможно заставить работать свыше 300(600)МГц никакими ухищрениями в виде диких напряжений, в то время как Hynix с таким же временем доступа и на карте с идентичным дизайном PCB показывают результаты в среднем на 25(50)МГц выше!
Некоторые чипы любят низкие тайминги (и снова BH-5), в то время как большинство не способно на них работать, зато хорошо масштабируются по тактовой частоте… К сожалению, энтузиастам приходится оперировать только данными, полученными эмпирическим путем (для примера приведу статью «Статистика разгона видеопамяти» на нашем сайте). Впрочем, тут же я могу сразу же внести и поправку, прилично портящую всю идею сбора подобной статистики, просто дав ссылку на собственный материал о разгоне 16 карт Radeon 9800 Pro. Дело в том, что при абсолютно идентичных микросхемах Samsung с временем доступа 2.86 нс (маркировка 2A, используемые в GF4Ti 2B это 2.94нс-чипы), минимальной частотой оказались 347(695)МГц, максимальной — 405(810)МГц. Как вам такая «средняя температура по больнице»? Еще хуже вышло с показателями 2.8 нс микросхем от другого корейского производителя, Hynix. Пока что мы встречались с тремя картами на идентичных РСВ (GeForce FX 5900XT), использующими эти чипы. При штатной (по спецификациям) частоте 357(714)МГц, реальными частотами оказались… 415(830), 435(870) и 480(960)МГц, соответственно, то есть в третьем случае аж на СОРОК процентов выше нормы! Точность предсказания поведения конкретной карты по такому разбросу будет похожа на наведение ядерных ракет с точностью прицела «плюс-минус страна»… К счастью, с оперативной памятью все немного проще и зачастую разброс очень скромен, однако принципиально вопрос от этого не снимается аж никак.
В качестве иллюстрации приведу пример с чипами Hynix. Так называемые Hynix 43, чипы стандарта DDR400, как правило имеют бОльший потенциал разгона по частоте, чем пришедшие им на смену Hynix D5, «настоящие» DDR500. Неудивительно, что Corsair в своих модулях XMS4000 использует более надежные старые Hynix 43, несмотря на значительное превышение официальных спецификаций.
Кстати, есть еще такое понятие, как отбор чипов. К примеру, GeiL для модулей DDR500 и DDR533 использует одни и те же 3.5нс чипы собственного производства, но на старшую модель чипы отбираются вручную. В итоге по статистике DDR533 действительно работает на более высоких частотах, нежели DDR500. Поэтому указание вроде «hand-picked» в спецификации должно являться исключительно положительным моментом.
Итого: ответ на вопрос о причинах разного потенциала идентичных по характеристикам чипов от разных производителей покрыт мраком тайны… Точнее на уровне учителя начальной школы («Курица переходит дорогу для того, чтобы перейти на другую сторону») ответ как раз очевиден: «Каждый производитель использует свои алгоритмы работы чипа, так что все приходят к одному стандарту разными путями». Ответ абсолютно верен, но и не менее бесполезен в реальной ситуации — не существует никакого, по крайней мере доступного простым смертным, метода определить эти самые «внутренние алгоритмы работы», чтобы решить наконец, чьи чипы объективно лучше по своему потенциалу.
Посему мы вынуждены смириться с тем, что руководствоваться в выборе чипов возможно только статистическими данными. Составить представление о поведении тех или иных чипов памяти в разгоне можно, лишь изучив несколько источников.
Таймингами называют временные характеристики чипа памяти, определяющие задержки при проведении определенных действий. Кроме четырех ключевых и привычных для пользователей CAS Latency, RAS Active Time, RAS Precharge Time и RAS to CAS Delay (те самые сакраментальные 3-8-4-4 или 2-5-2-2), в характеристики чипов памяти входят еще очень немалое их количество. Платы на платформе AMD64, вызывающие восторг пользователей возможностью «подкрутить» с десяток таймингов, резко блекнут на фоне все одной цифры: реальное количество только основных таймингов около 30 штук.
Уменьшая тайминги, мы увеличиваем производительность подсистемы памяти, но снижаем потенциал разгона чипов.
И в данном случае самое важное — найти баланс между максимальной частотой и минимальными таймингами, тот идеальный режим работы, который позволяет достичь наилучших результатов.
Как хрестоматийный антипример связи частоты и таймингов, еще раз приведу культовые Winbond BH-5: работая почти до предела частот на 2-5-2-2, они не реагируют должным образом (увеличением разгона по частоте) при повышении таймингов. Практически все остальные чипы на 2-5-2-2 работать не способны вообще, зато с повышением таймингов и по частоте масштабируются успешнее.
Немного упрощает ситуацию одна тенденция — даже при солидных колебаниях рабочей частоты в зависимости от экземпляра, у модулей на идентичных чипах обычно всегда одинаковы минимальные тайминги.
Кстати, давно замечено, что из четырех таймингов два ведут себя более «капризно», при низких значениях ограничивая разгон или делая невозможным даже прохождение POST. Причина сильного влияния на разгон параметра CAS Latency очевидна, как-никак ключевой показатель. Но RAS to CAS Delay оказался еще более придирчивым — именно из-за него практически все модули неспособны запускаться на заветных 2-5-2-2 даже на DDR400, требуя выставления RAS to CAS на «3», а при дальнейшем разгоне — на «4». RAS Active Time, наоборот, самый непритязательный тайминг и зачастую даже при работе на предельно возможной частоте его можно снизить с «8» или «7» до «6» и даже «5».
Вопрос баланса производительности «тайминги/частота» очень комплексный, достойный подробнейшего изучения в отдельной статье (да и в Сети немало материалов на эту тему), но если кратко, то этот баланс вдобавок еще и платформозависимый. Классические 32-битные Athlon слабо реагируют на смену таймингов. На современные системы на базе Intel одинаково хорошо влияют и высокая частота, и низкие тайминги — это самый сложный случай. А вот Athlon64/FX получает огромный прирост при снижении таймингов, что скорее всего связано с интеграцией контроллера памяти непосредственно в процессор — оперативная память становится очень конкретным «бутылочным горлышком».