Введение
Если вы читаете эту статью, то наверняка хотя бы чуть-чуть представляете себе, как увеличить производительность подсистемы памяти. Но что выбрать: память с прекрасными задержками и обычной частотой, либо память с большими задержками, но с повышенной частотой? Да и вообще, насколько задержки и тактовая частота влияют на производительность компьютера?
С точки зрения объёма памяти, для high-end компьютера лучшим выбором сегодня станет пара модулей по 1 Гбайт, как мы уже показывали в статье “Сколько памяти достаточно для вашего ПК?“. Оперативная память должна предоставлять достаточно места для работы приложений, чтобы Windows не использовала файл подкачки (swap) на жёстком диске. В этом отношении достаточный объём памяти намного важнее её частоты или задержек. Единственное, что мы рекомендуем, так это устанавливать модули памяти парами, что позволяет включить двухканальный режим (где он есть).
Но современные 1-Гбайт модули памяти DDR не поддерживают столь же жёстких задержек или высоких тактовых частот, как их 512-Мбайт собраться. Поэтому и выбор между задержками и частотами будет ограничен. Что же касается памяти DDR2, которая начнёт доминировать к концу этого года, то ситуация ещё хуже. Задержки DDR2 ещё больше увеличены, дабы не мешать повышению тактовых частот.
Даже не вдаваясь в то, что значит та или иная задержка, можно следовать простому правилу: чем меньше задержки, тем быстрее работает память. Например, память DDR работает в режимах между CL2-2-2-5 и CL3-4-4-7, а память DDR2 меняет режим от CL3-2-2-8 до CL5-5-5-15. Последняя, в принципе, поддерживает задержки в два раза большие по сравнению с памятью DDR1, именно поэтому память DDR2 должна работать на существенно более высоких частотах, чтобы обходить DDR1 по производительности.
Для анализа производительности памяти мы выбрали систему на AMD Athlon 64, поскольку здесь контроллер памяти встроен в процессор и весьма ощутимо реагирует на скорость памяти и задержки. Мы решили исследовать разницу в производительности при изменении следующих параметров.
- Частота CPU: от 1450 МГц до 2610 МГц.
- Частота памяти: от 200 до 290 МГц.
- Задержки памяти: от CL2,0-2-2-5 до CL3,0-4-4-7.
Кроме того, мы исследуем масштабирование производительности при различных частотах и задержках.
Характеристики памяти
В следующей таблице приведены два наиболее популярных среди оверклокеров типа чипов памяти и их спецификации.
Популярные типы памяти | |||
Чипы памяти | Задержки | Частоты | Напряжение |
Winbond BH-5/BH-6/UTT | CL1,5 или 2,0-2-2-5 | 400-500 МГц | 2,5 – 3,8 В |
Samsung TCC5/TCCD | CL1,5 или 2,0-2-2-5 CL2,5 или 3,0-4-4-7/8 |
400 МГц 500-600 МГц |
2,5 – 2,9 или 3,0 В |
Как видим, разница между чипами есть. Чипы Samsung TCC5/TCCD можно назвать более гибкими, нежели чипы Winbond, так как они могут работать при низких частотах с жёсткими задержками, а также на высоких частотах и увеличенных задержках. Но чипы Winbond дают более высокие частоты по сравнению с Samsung, если строго придерживаться задержек 2.0-2-2-5. Конечно, если ваша материнская плата даст необходимое напряжение питания.
На практике память 2x 512 Мбайт от Winbond достигает 250 МГц или даже 270 МГц при задержках CL2,0-2-2-5, а память 2x 512 Мбайт от Samsung может заработать даже на 300 МГц или больше при задержках CL2,5-4-3-7, CL2,5-4-4-8 или CL3,0-4-4-8.
Тестовая память: G.Skill F1-4400DSU2-1GBFC
Поскольку мы исследуем влияние задержек и частоты на производительность, то мы выбрали память на основе чипов Samsung TCC5/TCCD. Они позволят протестировать более широкий ассортимент режимов.
Тайваньский производитель памяти G.Skill выслал в нашу лабораторию два 512-Мбайт модуля F1-4400DSU2-1GBFC. Они маркированы PC4400 (DDR550) при задержках CL2,5-4-4-8, а компания пытается вынести на массовый рынок модули с производительностью, достойной оверклокеров.
Конечно, производительность меняется от одного модуля к другому, да и зависит она от материнской платы, версии BIOS, настроек BIOS и использованного процессора. В нашем случае модули стабильно работали в режимах от 2,0-2-2-6 при 203 МГц до 2,5-4-3-7 при 300 МГц.
Тестовая конфигурация
Процессор | |
Socket 939 | AMD Opteron 165 Ядро Denmark (1800 МГц, 2 x 1 Мбайт кэша L2) |
Материнская плата | |
Socket 939 | DFI LANParty UT SLI-DR Expert Rev. A3 BIOS: 12/07/2005 Чипсет: nVidia nForce4 |
Память | |
DDR | G.Skill F1-4400DSU2-1GBFC 2x 512 Мбайт DDR550 (275 МГц, CL 2,5-4-4-8 1T) |
Общее аппаратное обеспечение | |
Видеокарта (PCIe) | Point of View 7800 GT GPU: nVidia GeForce 7800 GT (480 МГц) Память: 256 Мбайт GDDR3 (1180 МГц) |
Жёсткий диск I | SATA Western Digital WD740 74 Гбайт, кэш 8 Мбайт, 7200 об/мин |
Жёсткий диск II | SATA Maxtor Diamondmax 10 300 Гбайт, кэш 16 Мбайт, 7200 об/мин |
Программное обеспечение | |
nVidia nForce 4 SLI | Forceware 6.70 |
Видеокарта nVidia | Detonator 81.98 |
DirectX | Версия: 9.0c (4.09.0000.0904) |
ОС | Windows XP, SP2 |
Тесты и настройки
Тесты и настройки | |
DirectX 9 | |
3DMark01 SE | Build 330 Resolution: 640×480, 32 Bit (to eliminate any graphics bottleneck) Default Benchmark Run |
Синтетические тесты | |
SiSoftware Sandra 2005 | Version 2005.10.10.69 SR3 Memory Bandwidth Benchmark |
Everest Ultimate Edition 2006 | Version 2.50.480 Memory Latency Benchmark |
Applications | |
SuperPI | Version: 1.1 8M |
Основы разгона: HTT, множитель CPU, коэффициент деления частоты памяти
Как вы, наверняка, знаете, частота процессоров Athlon 64 и Opteron в мегагерцах является результатом умножения базовой частоты канала HyperTransport (HTT) на множитель CPU. В нашем случае мы использовали процессор Opteron 165 с множителем по умолчанию 9x, а частота HTT по умолчанию составляет 200 МГц. В результате частота процессора – 1,8 ГГц. Множитель можно только уменьшать, а частоту HTT как уменьшать, так и повышать. Есть и третий фактор: коэффициент деления частоты памяти. По умолчанию он составляет 1/1, то есть частота памяти равняется частоте HTT (системная частота 200 МГц равняется физической частоте памяти DDR – 200 МГц).
Конечно, повышение множителя процессора – самый простой способ его разгона, но производитель блокирует повышение множителя выше частоты по умолчанию. Поэтому для разгона следует увеличить частоту HTT. Если вы повысите частоту HTT с 200 до 300 МГц и одновременно снизите множитель CPU до 6, то всё равно получите скорость 1800 МГц. Если коэффициент деления памяти остаётся 1/1, то ваша память будет работать на 300, а не на 200 МГц по умолчанию. Конечно, можно снизить коэффициент до 2/3, что поможет восстановить память до 200 МГц по умолчанию. Ничего особого вы при этом не получите, но зато сей факт наглядно доказывает, что разгон сегодня очень гибок.
Как понимаете, разгон памяти (но не процессора) требует увеличения частоты HTT и уменьшения множителя процессора. Так что придётся пробовать разные варианты коэффициента деления частоты памяти.
Но есть одно препятствие в тестах масштабирования памяти. Если вы планируете увеличить частоту памяти ненамного, скажем, с 200 до 205 МГц, то для этого вам придётся немного увеличить базовую частоту HTT. Но тогда и частота процессора повысится на некоторое значение, зависящее от множителя. В данном случае – с 1800 МГц до 1845.
Ситуация осложняется. При анализе производительности памяти нам не хотелось бы изменять частоту процессора, ведь тогда результаты будут уже не корректными. К сожалению, лёгкого способа изменения отдельных системных параметров нет.
Мы выбрали несколько тестов, в значительной степени зависящих от частоты процессора и памяти. Мы проводили тесты, изменяя множитель CPU, чтобы частота процессора не менялась.
Влияние частоты CPU на производительность
Как мы уже упоминали, частота процессора Opteron 165 по умолчанию составляет 1800 МГц. Но мы без проблем получили стабильную работу на частоте 2600 МГц с напряжением CPU 1,5 В, когда канал HTT работал на частоте 290 МГц, а множитель по умолчанию оставался 9. Процессор можно разогнать и сильнее, если обеспечить более эффективное охлаждение.
Мы выставили базовую частоту HTT на уровень 290 МГц, после чего меняли множитель для каждого нового теста. Коэффициент деления частоты памяти оставался 1/1, что дало частоту памяти 290 МГц с задержками CL2,5-4-3-7.
Мы не удивились: тесты SuperPI и 3DMark01 очень зависят от частоты процессора, но мы надеялись, что Everest и SiSoft всё же будут больше зависеть от частоты памяти, чем от частоты CPU. Пытаясь повысить значимость скорости системной памяти и понизить влияние частоты CPU, мы отключили кэш L2 в отдельном тесте. Но результаты показали примерно такое же процентное соотношение, хотя, конечно, в абсолютных значениях они оказались ниже.
Графики могут дать неверное представление, что увеличение частоты CPU упирается в 290 МГц памяти, не позволяя дать более высокую производительность. Помните, что множители процессора составили 5, 6, 7, 8 и 9, в результате чего прирост тактовой частоты (относительно предыдущего уровня) составил 20%, 16,6%, 14,3% и 12,5%. В SuperPI прирост производительности составил 19%, 15,6%, 13,5% и 11.9%, так что масштабирование почти идеальное.
Что же касается тестов задержки памяти Everest, то результаты можно объяснить двояко. Задержка при 2030 МГц оказалась меньше предполагаемого уровня, но тому есть своё объяснение. Во время тестов мы получили ряд выпадающих результатов при определённых множителях. Скорее всего, причина здесь кроется в асинхронных частотах. Какие-то комбинации обеспечивают более уверенную синхронную работу. Кроме того, системная память всё же ограничивает результат. Мы могли увеличивать частоту CPU и дальше, но задержку меньше 37-40 нс получить всё же невозможно.
Влияние частоты памяти на производительность
Теперь, когда мы знаем, насколько сильно частота CPU влияет на тесты, позвольте проанализировать влияние частоты памяти. Мы выставили задержки CL2,5-4-3-7 и меняли во время тестов только коэффициент деления частоты памяти. Кстати, в данной серии тестов отключение кэша L2 обеспечило весьма интересные результаты, поэтому мы добавили графики и для них.
Как можно видеть, повышение частоты памяти действительно помогает выжать из системы максимум производительности. Но в SuperPI и 3Dmark мы смогли получить прирост производительности лишь 5,2% и 3,5%, соответственно. А ведь частота памяти увеличилась на целых 45%. Помните, что 3DMark2001, который, в отличие от более свежих версий 3DMark, при запуске на системе с более-менее современной графической картой, упирается в скорость процессора или даже памяти. В свежих играх или тестах ситуация не такая.
Наконец, следует заметить, что мы использовали одни и те же задержки для всех частот памяти. Так что если вы выбираете между DDR400 и DDR600, то эффективная разница будете невелика, ведь DDR400 может работать с меньшими задержками. Вскоре мы это и обсудим.
Теперь же позвольте проанализировать, как задержки влияют на производительность.
Влияние задержек памяти на производительность
Мы проводили тесты с базовой частотой HTT 290 МГц и коэффициентом деления частоты памяти 2/3. В итоге частота памяти составила 193 МГц – то есть DDR386. Эта частота сравнима с 290 МГц (DDR580) почти так же, как DDR400 относится к DDR600.
Различные режимы задержек показали хорошее масштабирование в SuperPI, в то время как в 3DMark01 средние три результата находятся в пределах погрешности. Результаты Everest выглядят вполне нормально, а SiSoft Sandra, похоже, вообще никак не реагирует на задержки.
Конечно, интереснее всего сравнить самые больше задержки памяти с самыми маленькими. При сохранении задержек и изменении частоты памяти от 200 до 290 МГц мы смогли получить на 5,2% и 3,5% лучшую производительность в SuperPI и 3DMark01. Затем, сохраняя частоту памяти на уровне 193 МГц и переходя от режима CL3,0-4-4-7 до CL2,0-2-2-6 (эти задержки вы будете использовать, если выставите частоты на уровне памяти DDR600 и DDR400, соответственно), мы получили разницу 5,1% и 5,7%. Что интересно, разница между худшим и лучшим результатами в SuperPI составляет 19 секунд в обоих случаях.
Похоже, что 3DMark01 на увеличение задержек реагирует меньше, чем на уменьшение частоты памяти. В любом случае, CL2,0-2-2-6 при DDR386 даёт меньшую производительность, чем CL2,5-4-3-7 при DDR580. Возможно, определённую роль здесь играют синхронные частоты HTT и шины памяти при использовании DDR580.
Указанные задержки можно получить лишь с модулями 2x 512 или 2x 256 Мбайт. Что же касается модулей 2x 1 Гбайт, то, скорее всего, вам придётся использовать задержки CL3,0-3-3-7 или CL3,0-4-4-8.
Низкие задержки или высокие тактовые частоты?
Пытаясь сравнить память с низкими задержками (Winbond) с памятью, обладающей большими задержками и высокой тактовой частотой (Samsung), мы запустили тесты в режимах CL2,0-2-2-6 и CL3,0-4-4-7 на разных тактовых частотах. И обнаружили весьма странные результаты масштабирования производительности при использовании множителя CPU 9x и разных делителей частоты памяти. Результаты не давали кривую, поэтому мы перешли на множитель CPU 7x, то есть частота работы процессора составляет 2030 МГц.
Как можно видеть, при разных частотах памяти низкие задержки обгоняют большие задержки на уровень от 3,2% до 4,1% в SuperPI и на уровень от 2,3% до 4,4% в 3DMark01. К сожалению, частота процессора 2030 МГц при увеличении частоты памяти становится “узким местом”, нивелируя преимущество от уменьшения задержек.
При частоте 1450 МГц для ядра и 193 МГц для памяти разница между низкими и высокими задержками в 3DMark01 составляет 1,9%, при частоте 2030 МГц – 2,3%, а при частоте 2610 МГц – 5,7%. Вполне разумно предположить, что если мы увеличим тактовую частоту с 2030 до 3190 МГц (вместо 2610 МГц), то разница составит где-то 8-12% при сохранении прежней частоты памяти.
Ниже мы представили кривые масштабирования на основе результатов наших тестов.
С учётом некоторых предположений 270 МГц при CL2,0-2-2-6 обгоняет 320 МГц при CL3,0-4-4-7 в SuperPI 8M на две секунды.
Именно так предположительно выглядит график масштабирования SuperPI. Что ж, позвольте дать некоторые пояснения. График гипотетический, поэтому при низких тактовых частотах производительность должна быть хуже.
Для создания логарифмической кривой мы использовали Excel. В основу графика легли пять измерений как при низких, так и при высоких задержках. Мы использовали частоты 145, 169, 184 и 203 МГц – максимум, что мы смогли достичь в обоих режимах. Но с высокими задержками мы смогли получить результат ещё и для 290 МГц.
Мы добавили предположительный результат при 290 МГц и низких задержках, учитывая 4,6% прирост при переходе с 203 до 290 МГц и высоких задержках (частота CPU 2030 МГц). Практический результат при 290 МГц и низких задержках может быть как больше, так и меньше, в зависимости от того, насколько тактовая частота CPU становится “узким местом”, как мы уже указывали выше.
Как показывают первые тесты масштабирования, при низкой тактовой частоте CPU преимущество перехода на низкие задержки составляет меньше 4,6%.
Если же оценивать только реальные измерения, при 290 МГц различие составит только 2,1%, а 320 МГц в режиме CL3,0-4-4-7 обойдёт 270 МГц при CL2,0-2-2-6 на 3 секунды. Впрочем, наши измерения всё же слишком далеки от точек с высокими тактовыми частотами, чтобы уверенно говорить о них, да и кривая строилась всего по четырём точкам.
При высокой тактовой частоте CPU значение частоты памяти оказывается важнее как в SuperPI, так и в 3DMark01. В SuperPI прирост от снижения задержек (при частоте памяти 203 МГц) составил 3,2% (частота CPU 2030 МГЦ). А при 2610 МГц CPU – 5,1%. В 3DMark01 прирост оказался 2,3% и 5,7%, соответственно.
Прирост производительности SuperPI при переходе от 203 до 290 МГц составил 4,6% при частоте CPU 2030 МГц и 5,2% при 2610 МГц CPU. Что же касается 3DMark01, то прирост составил 3,5% и 5,7%. Для наглядности мы привели следующую диаграмму.
Заключение по ней можно сделать следующее: SuperPI больше любит низкие задержки, а 3DMark01 – высокие тактовые частоты.
Заключение по тестам
По результатам наших тестов можно сделать следующие заключения.
- Между памятью с низкими частотами и низкими задержками (Winbond) и памятью с высокими задержками и высокими частотами (Samsung) разница в реальной производительности невелика. Это верно для 3DMark01 и SuperPI. И даже для приложений, чувствительных к производительности CPU/подсистемы памяти.
- Чтобы правильно ответить на поставленный в нашей статье вопрос выбора между низкими задержками или высокими тактовыми частотами, следует взять очень быстрый CPU, не создающий “узких мест”. По нашему мнению, даже разогнанного до 2610 МГц двуядерного Opteron было недостаточно, чтобы выжать максимум из низких задержек памяти.
- Учитывая два указанных выше факта, проведение тестов только с памятью Samsung и экстраполяция (вместо сравнения с памятью Winbond) не даёт достаточно точных данных для полного ответа. По нашим расчётам, различие между CL2,0-2-2-6 при 270 МГц и CL3,0-4-4-7 при 320 МГц в SuperPI 8M колеблется от 0,7% до 0,5% в обоих направлениях, в зависимости от того, как масштабируется производительность.
- Тесты показывают, что при повышении частоты CPU низкие задержки становятся более важными. Так что потенциально память Winbond способна работать на 1-2% быстрее памяти Samsung в системах Athlon 64/Opteron при частоте CPU более 3 ГГц. Конечно, Winbond больше не является активным игроком на рынке памяти DDR1, так что придерживаться этой памяти будет весьма сомнительно.
- В зависимости от тактовых частот CPU, низкие задержки дают преимущество по производительности по сравнению с высокими задержками в приложениях, чувствительных к CPU/подсистеме памяти, начиная от 2% при 2 ГГц и заканчивая 6% при 2,6 ГГц.
- Если не менять задержки памяти при частотах 2 ГГц или 2,6 ГГц, соответственно, то память DDR600 будет работать на 2% или 5% лучше, чем DDR400 в приложениях, чувствительных к CPU/подсистеме памяти.
- Что касается памяти Samsung TCC5/TCCD, то подобно установленной в модулях G.Skill F1-4400DSU2-1GBFC, DDR600 при средних задержках обгоняет DDR400 при низких задержках. DDR600 при высоких задержках работает примерно на том же уровне, что и DDR400 при низких задержках (+/- 1%).
Заключение
К сожалению, сделать громкие заявления по результатам наших тестов не получится. Мы могли бы продолжить эту статью, взяв боле скоростной CPU и память Winbond. Но память Winbond с высоким напряжением уже не производится, разница в производительности окажется мизерной, да и переход на пару модулей по 1 Гбайт идёт полным ходом. Наконец, AMD вскоре представит процессоры под DDR2. С учётом всех описанных фактов, вряд ли имеет смысл напрягаться.
Для большинства пользователей преимущество в 1-2% при сравнении памяти Winbond с Samsung будет незаметно. По сути, мы бы не советовали тратить много денег на high-end память в надежде существенно увеличить производительность ПК, повысив частоты памяти. Как мы уже отмечали выше, при сохранении задержек и частоты CPU в 2,6 ГГц, память DDR600 работает на 5% лучше DDR400 в тестах, чувствительных к CPU/подсистеме памяти. Согласитесь, очень слабый прирост при увеличении частоты памяти на 50%. Кроме того, при низких частотах CPU прирост будет ещё меньше. В современных играх, которые упираются в производительность видеокарт, прирост производительности снизится до нуля, ведь даже существенное изменение частоты CPU на играх сказывается не всегда.
Итог таков: если вы обзавелись достаточным количеством памяти (сегодня лучше оснастить систему 2 Гбайт), то особо не задумывайтесь. Деньги, которые вы заплатите за более производительную память, лучше вложить в более скоростную видеокарту. А если вы не играете, то в процессор или жёсткий диск.