Осваиваем DDR3-1600
В конце первого месяца текущего учебного года мы занимались выяснением вопроса — так ли уж нужна процессорам под LGA1156 оперативная память с высокой частотой? Выяснилось, что гоняться за ней нет необходимости — в «общем зачете» система, укомплектованная DDR3-1066 отстала от снабженных DDR3-1333 менее чем на 1%. Таким образом, очевидный вывод — ввиду того, что скорость работы современной памяти выросла весьма значительно, наиболее скоростные модификации для штатного режима не актуальны: даже DDR3-1333 уже многовато. Разумеется, более быстрая память не приведет к потере производительности, однако гоняться за ней переплачивая нет смысла. С другой стороны, цены на память сегодня достаточно невысоки, так что 4 ГБ комплект DDR3-1600 CL8 обойдется лишь на 1000 рублей дороже, нежели аналогичный DDR3-1333 CL9. На фоне общей стоимости компьютера это не такие и большие деньги (даже если устанавливать 8 ГБ), ну а все характеристики существенно лучше, так что возникает соблазн переплатить. Что ж — лучший способ борьбы с соблазнами, это им поддаться :) Хотя бы для получения чисто морального удовлетворения.
Другой вопрос, что с ним потом делать? Фактически такую память можно использовать двумя способами — либо на частоте 1600 со штатными таймингами, либо понизить частоту, но и снизить относительные тайминги. Какой вариант окажется более интересным, так сразу и не скажешь. Более того — владельцы Core i7 (но не Core i5) искомую тактовую частоту в 1600 МГц могут получить двумя способами: либо остаться на штатной частоте задающего генератора и установить для памяти множитель 12, либо повышать опорную частоту с соответствующим снижением множителя. Побочным эффектом этого будет также и разгон кэш-памяти третьего уровня (да и контроллера памяти тоже), благо множитель UnCore во всех LGA1156-процессорах фиксированный, что также должно сказаться на производительности. Как — покажут только тесты. И сегодня в них у нас примут участие четыре тестовых конфигурации, показанные в таблице ниже.
Конфигурация | 2800/TB On/1333-CL9 | 2800/TB Off/1333-CL7 | 2800/TB Off/1600-CL8 | 2720/TB Off/1600-CL8 |
Опорная частота, МГц | 133 | 133 | 133 | 160 |
Коэффициент умножения | 21-26 | 21 | 21 | 17 |
Частота ядра, ГГц | 2,8-3,47 | 2,8 | 2,8 | 2,72 |
Частота UnCore, ГГц | 2,4 | 2,4 | 2,4 | 2,88 |
Коэффициент умножения (памяти) | 10 | 10 | 12 | 10 |
Частота памяти, МГц | 1333 | 1333 | 1600 | 1600 |
Относительные тайминги | 9-9-9-24 | 7-7-7-20 | 8-8-8-24 | 8-8-8-24 |
Такой набор параметров не случаен. Во-первых, поскольку мы планируем увеличивать опорную тактовую частоту, Turbo Boost имеет смысл отключить. Аналогично, желательно снизить коэффициент умножения процессора — иначе мы, очевидно, получим прирост производительности за счет его разгона, который точно будет и немаленький :) Идеальным вариантом для сравнения были бы режимы 133х12 и 200х8 (благо в этом случае и частоту процессора можно установить одинаковой), однако из-за блокированного множителя UnCore такая опорная частота для Core i7 800-й серии далеко не всегда достижима (особенно на недорогой материнской плате, типа использованной нами Intel DP55WG), поскольку частота работы кэш-памяти при таком раскладе должна достигнуть 3,6 ГГц, что достаточно много. На всякий случай мы попробовали, но ничего не получилось :) Поэтому в последней конфигурации процессор будет работать на несколько более низкой тактовой частоте — увы, но дробные множители на данной платформе отсутствуют. Впрочем, зато у нас в этом случае есть весьма серьезная прибавка к тактовой частоте кэш-памяти — почти 500 МГц (а в абсолютных цифрах — больше, чем у старших моделей Xeon и Core i7 Extreme), вот и посмотрим: сможет ли это скомпенсировать отставание всего на 80 МГц по частоте ядер (и если да, то где и насколько). Еще два варианта конфигурации в особых пояснениях не нуждаются — отличаются они лишь множителем и задержками. Отметим, что и по пропускной способности памяти, и по задержкам более предпочтительным является 1600-CL8, нежели 1333-CL7. Нам, конечно, печально, что приходится постоянно заострять внимание на том, что меньшие относительные тайминги совсем не обязательно означают меньшие задержки в абсолютном виде (интересны же с точки зрения производительности как раз вторые), но... Делать это приходится раз за разом. А первый вариант целиком и полностью взят из предыдущей статьи и преследует двоякую цель. Во-первых, доселе мы исследовали только «скучную» реализацию Turbo Boost в процессорах Core i7 900, так что примерно оценить прирост от «улучшенного порошка» желательно. Во-вторых, сразу будет видно — стоят ли чего-либо всякие игры с памятью на фоне той прибавки, которую дает достаточно скромный «заводской разгон». Разумеется, оба сравнения не являются полностью корректными с точки зрения методологии тестирования, но нас в данном случае вполне устроит и грубый качественный (а не точный количественный) ответ.
Для тестирования мы получили лучший из 8 ГБ комплектов от компании Corsair, а именно CMD8GX3M4A1600C8, способный на частоте 1600 МГц «держать» относительные тайминги 8-8-8-24 (причем при вполне нормальном напряжении питания в 1,65 В) и снабженный дополнительными вентиляторами для улучшения охлаждения.
Замечу, что у производителя есть и более быстрые киты для этой платформы, однако состоят они из всего двух модулей суммарным объемом 4 ГБ. В результате, по нашему мнению, хорошо подойдут лишь любителям экстремального оверклокинга или бенчерам: все-таки для серьезной работы при использовании 64-разрядных операционных систем ныне имеет смысл ориентироваться на большую емкость оперативной памяти. Впрочем, наши тесты нормально себя чувствуют и на 4 ГБ (более того — в такой конфигурации мы процессоры и тестируем), однако, как нам кажется, для практического использования лучше иметь много быстрой памяти, чем мало очень быстрой :) Опять же — если окажется, что прирост от быстрой памяти мал, так какой смысл ориентироваться на очень быструю (если только вашей целью не является «выжимание» последних соков из тестовых утилит).
Пристрелка
Для начала мы решили проверить производительность каждого из вариантов в синтетическом приложении, в роли которого традиционно выступал Everest 4.6 (да, это далеко не последняя версия популярного тестового пакета, однако и «реальный» софт обновляется далеко не мгновенно, так что эти результаты нам весьма интересны даже если предположить слабую оптимизированность 4.6 под Nehalem).
Как видим, по скорости чтения высокоскоростная память легко и непринужденно побеждает использованную нами в прошлый раз «сборную солянку», работающую в режиме 1333-CL9, в чем изначально никто и не сомневался :) Любопытно, разве что, отставание режима 160х10 сравнительно со 133х12 — априори предполагалось, что они будут либо одинаковы, либо как раз первый выйдет вперед.
Что он и делает в низкоуровневом тесте записи :) Впрочем, в прошлый раз мы уже выяснили сильную зависимость этого теста от частоты UnCore, так что тут просто полное сочетании теории с практикой. Более интересно то, что, благодаря снизившимся задержкам, высокоскоростная память действительно заметно быстрее «медленной» даже при одинаковой частоте UnCore.
Вот и ответ на вопрос, почему при чтении данных режим 160х10 оказался не слишком быстр: в нем и задержки выше, чем у 133х12, т.е. объяснение кроется внутри контроллера памяти — в особенностях его работы. Однако, задержки и в этом случае все равно ниже, чем при 133х10 даже при CL7, не говоря уже о «медлительном» CL9!
Итак, с точки зрения низкоуровневых утилит применение высокоскоростной памяти более чем оправдано. При этом разные режимы ее функционирования по-разному полезны. Таким образом, одно из основных условий любого тестирования выполнено — сравнивать мы будем объективно разные вещи. А вот скажется ли эта разница на реальных приложениях — посмотрим при помощи нашей стандартной методики (подробные результаты тестов, как обычно, собраны в единую таблицу).
3D-визуализация
«Самый быстрый» оказался самым медленным, однако разница такова, что их вполне можно считать одинаковыми. А на фоне прибавки, которую дает увеличение частоты процессора в буст-режиме (благо подзадачи в этой группе, как мы уже не раз выяснили, большого энтузиазма по поводу поддержки более двух потоков вычисления не высказывают, так что частота повышается очень заметно; если ей разрешить, конечно) становится понятным, что никакие игры с памятью просто не нужны.
Рендеринг трёхмерных сцен
Рендеринг традицонно относится к задачам, невосприимчивым к системе памяти, однако... Однако видно, что ее тюнинг позволяет «отыграть» отставание на 80 МГц частоты ядер, что является достаточно серьезным значением — в отличие от предыдущего случая, тут вполне эффективны все восемь потоков вычисления. При одинаковой частоте ядер же можно даже немного выиграть. Совсем немного — «официальный заводской» разгон на порядок эффективнее.
Научные и инженерные расчёты
Опять наблюдаем некоторый прирост от быстрой памяти — аж три единицы при сравнении 1600-CL8 и 1333-CL7 при одинаковой частоте процессорных ядер. Ну и когда она разная, тоже в определенных пределах все неплохо. Однако вот Turbo Boost в очередной раз (забегая вперед — как всегда) за эти пределы далеко выходит.
Растровая графика
Картинка очень похожа на первую диаграмму — быстрая память совсем не обязательно приводит к максимальной скорости работы. В целом же ее вообще можно считать бесполезной. Хотя вот к объему памяти некоторые подтесты Photoshop очень восприимчивы (как мы уже знаем), а к скорости — нет.
Сжатие данных
Архиваторы из всех существующих приложений, возможно, наиболее восприимчивы к скорости как оперативной, так и кэш-памяти. Очередное блестящее подтверждение этого тезиса — режим 160х10 оказался самым быстрым, несмотря на меньшую частоту ядер, а 133х12 с успехом «расправился» с 133х10. Однако позволяет ли это достичь эффекта, сравнимого с Turbo Boost? Как видим, и тут не получилось прийти к, хотя бы, равенству, но заявка на это была сделана.
Компиляция (VC++)
Все одинаковы, т.е. при одинаковой частоте прочих блоков скорость памяти неважна, а все 480 МГц прироста скорости кэш-памяти целиком и полностью ушли на компенсацию... 80 МГц тактовой частоты ядер.
Java
Аналогично складывается картина и в этом тесте. Впрочем, если посмотреть подробные результаты всех подтестов, то можно увидеть, что некоторые из них весьма заметно реагируют на скорость работы оперативной памяти, а кое-кто очень высоко оценил увеличение частоты кэша. Но в среднем результат одинаковый. Причем заметим — крайне близкий к тому, что показывает процессор с включенным Turbo Boost (пожалуй, наиболее близкий в сегодняшнем тестировании).
Кодирование аудио
Быстрая память, медленная память — какая разница? Главное — тактовая частота ядер, что видно очень хорошо.
Кодирование видео
Уже не в первый раз мы сталкиваемся с тем, что программы видеокодирования ведут себя аналогично рендерингу, т.е. небольшой (буквально — «копеечный») прирост производительности при использовании быстрой памяти наблюдается, но «заводской разгон» на порядок эффективнее.
Игровое 3D
Подобно архиваторам, игры очень «любят» быструю память и быстрый кэш. И, опять же, подобно архиваторам, можно зафиксировать попытку таким тюнингом догнать Turbo Boost. К сожалению, опять не совсем удачную.
Итого
Требуются ли какие-то комментарии? Думаем, что нет: переход на DDR3 1600 позволяет увеличить производительность Core i7 с частотой 2,8 ГГц на 1-2 балла, а Turbo Boost — более чем на 10. Насколько более? Да вот примерно как раз на размер прироста от более быстрой памяти ;) Кстати, если опять вспомнить предыдущую статью, то там применение памяти в режиме 1066-CL7 снижало итоговую производительность также на один балл — до 139. Так что выводы о необходимости высокоскоростной памяти очевидны.
Из отсутствия необходимости, впрочем, не следует полное отсутствие полезности — какой-никакой прирост есть, и тестовые утилиты его наличие фиксируют. Особенно хорош он в играх и архиваторах, где результаты 1600-CL8 в режиме 160х10 (с соответствующим разгоном кэша) при отключенном Turbo Boost и сниженной на 80 МГц частоте ядер и 1066-CL7 при включенном Turbo Boost идентичны. Очевидно, что немалая доля успеха здесь приходится на разогнанный кэш, но ведь есть же равенство!
Итак, подводя итоги, высокоскоростная оперативная память не необходима, но и не бесполезна. Главное только следовать чувству меры и помнить, что производительность системы памяти не является определяющей. Поэтому в первую очередь для игрового компьютера (где, как мы установили, применение таких модулей наиболее оправданно) стоит подобрать «правильную» (в рамках отведенного бюджета) видеокарту, затем — подходящий процессор, после этого — нужный объем оперативной памяти и прочее нужное. Осталось достаточное количество денег, чтобы вместо недорогих массовых модулей приобрести что-нибудь более высокого класса? Не стоит отказывать себе в таком удовольствии. Не осталось — и ладно: «недополученной производительности» много не будет.