Особенности контроллера памяти процессоров Athlon 64 ревизии E3
реклама
Разрабатывая и доводя до стадии массового производства новые ядра, компания AMD стремится не только к повышению предельных тактовых частот своих процессоров, но и к улучшению их характеристик. Ядро ревизии E стало очередным этапом на этом пути: с его внедрением процессоры Athlon 64 и их производные приобрели новые свойства. Наиболее заметным усовершенствованием стало появление в процессорах AMD поддержки инструкций SSE3, которые имелись в продуктах конкурента со времени начала выпуска CPU с 90 нм ядром Prescott. Кроме этого, традиционной доводке подвергся и интегрированный контроллер памяти.
Тесты показали, что поддержка SSE3 команд даёт очень немного. Приложений, эффективно использующих эти инструкции, на сегодняшний день крайне мало, да и сам набор SSE3 вряд ли может претендовать на звание полноценного подмножества команд.
Поэтому, на этот раз мы решили уделить большее внимание изменениям, внесённым в интегрированный контроллер памяти процессоров с ядром ревизии E. Следует заметить, что в более ранних ядрах своих CPU AMD не только увеличивала производительность контроллера памяти, но и расширяла его совместимость с различными комбинациями различных модулей памяти. Ядро ревизии D, известное в первую очередь благодаря процессорам Athlon 64 с кодовым именем Winchester, в этом плане явилось своеобразным рубежом. Во-первых, в процессорах Winchester по сравнению с предшественниками несколько увеличилась производительность контроллера памяти. Во-вторых, процессоры с ядром Winchester стали способны работать с модулями DDR400 SDRAM, установленными сразу во все четыре слота DIMM на материнской плате. Казалось бы, оптимум достигнут, однако, инженеры AMD посчитали иначе. Процессоры AMD с ядром ревизии E располагают ещё более совершенным контроллером памяти.
Куда же были направлены усилия инженеров на этот раз? Естественно, определенные оптимизации были вновь сделаны для увеличения производительности котроллера памяти. Так, тесты процессоров с ядром Venice продемонстрировали их небольшое превосходство над аналогами с ядром Winchester. Кроме того, снова улучшилась совместимость. Процессоры AMD с ядром ревизии E стали способны нормально функционировать при установке в систему нескольких модулей памяти различной организации и объёма, что, несомненно, значительно упрощает выбор комплектующих для дальнейшего апгрейда. Также, процессоры, в основе которых лежит новое ядро, теперь могут без проблем работать и с четырьмя двухсторонними модулями DDR400 SDRAM. Ещё одним интересным свойством процессоров с ядром ревизии E стало появление новых делителей, задающих частоту памяти. Благодаря этому новые CPU от AMD теперь безо всяких оговорок поддерживают DDR SDRAM, работающую на частотах, превышающих 400 МГц.
В этом материале мы рассмотрим некоторые из перечисленных выше особенностей интегрированного контроллера памяти ядра ревизии E, ибо, как нам кажется, они того явно заслуживают.
Работа с четырьмя двухсторонними модулями DDR400 SDRAM
реклама
Интегрированный контроллер памяти процессоров Athlon 64 – достаточно капризный узел. Различные неприятные моменты, связанные с его функционированием стали выясняться с момента появления процессоров с поддержкой двух каналов памяти. Выяснилось, что из-за достаточно высокой электрической нагрузки, которую накладывают модули памяти на контроллер, Athlon 64 имеет определённые проблемы при работе с четырьмя модулями DIMM. Так, при установке в систему на базе Athlon 64 четырёх модулей памяти, CPU может сбрасывать их частоту, увеличивать тайминги или не работать вообще.
Впрочем, справедливости ради следует отметить, что серверный аналог Athlon 64, Opteron, подобных проблем лишён благодаря использованию более дорогих регистровых модулей. Однако, применение таких модулей в настольных системах неоправданно, и поэтому пользователям необходимо мириться с некоторыми ограничениями, возникающими при установке в систему более двух модулей DIMM.
Впрочем, постепенно описанные проблемы всё же решаются. В то время как старые процессоры Athlon 64, основанные на ядрах, производимых по 130 нм технологии, не могли работать с четырьмя двухсторонними модулями DDR400 SDRAM на частоте 400 МГц вообще и снижали их частоту до 333 МГц, современные процессоры с 90 нм ядрами предлагают пользователям несколько лучшие варианты. Уже в ядре ревизии D, известном нам по кодовому имени Winchester, стала возможна работа с четырьмя двухсторонними модулями DDR400 SDRAM, при условии установки тайминга Command Rate в 2T.
Параметр Command Rate определяет, через сколько тактов модули памяти готовы принять очередную команду от контроллера памяти после её подачи. Необходимость увеличения этого тайминга может обуславливается значительной загрузкой шины адресов и команд при высокой частоте передачи сигналов по этой шине. Учитывая, что совокупность контроллера, модулей и соединяющих их проводов обладает ненулевой ёмкостью, установление состояния этой шины может требовать определённой задержки для стабилизации логического уровня. Поэтому, увеличение параметра Command Rate с 1T до 2T упрощает работу контроллера памяти и добавляет дополнительную надёжность, но несколько снижает производительность системы.
Ещё до появления процессорного ядра ревизии E неоднократно появлялись слухи, что это ядро сможет позволить отказаться от применения тайминга 2T при установке в систему четырёх двухсторонних модулей памяти. Однако, к сожалению, этого не произошло. Процессоры с этим ядром способны работать с DDR400 SDRAM при тайминге 1T во всех конфигурациях, за исключением тех случаев, когда в систему устанавливается четыре модуля памяти, по крайней мере, два из которых имеют двухстороннюю организацию. Учитывая, что подавляющее большинство наиболее распространенных модулей памяти объёмом 512 Мбайт относятся как раз к двухсторонним, столкнуться с ситуацией, когда в систему необходимо инсталлировать четыре двухсторонних модуля, можно достаточно легко.
Таким образом, процессоры с архитектурой K8 и ядром ревизии E допускают следующие варианты использования DDR400 SDRAM в двухканальном режиме:
Канал 1 | Канал 2 | Command Rate | ||
Single Sided | - | Single Sided | - | 1T |
Double Sided | - | Double Sided | - | 1T |
Single Sided | Single Sided | Single Sided | Single Sided | 1T |
Single Sided | Double Sided | Single Sided | Double Sided | 2T |
Double Sided | Double Sided | Double Sided | Double Sided | 2T |
На первый взгляд, ничего страшного в ухудшении таймингов при использовании четырёх двухсторонних модулей памяти нет. Однако в ряде случаев с неприятностями всё-таки можно столкнуться.
реклама
Во-первых, четыре двухсторонних модуля в системе могут появиться при очередном апгрейде. Пара модулей по 512 Мбайт, которые в большинстве своём являются двухсторонними – наиболее распространённая конфигурация на сегодняшний день. Более 40% современных систем, используемых пользователями-энтузиастами, содержат именно два модуля по 512 Мбайт. Вполне естественный путь наращивания объёма оперативной памяти в такой системе – установка ещё двух модулей по 512 Мбайт. Общий размер памяти в этом случае увеличится до 2 Гбайт, однако возрастёт ли при этом производительность – это непростой вопрос, поскольку в данном случае тайминг Command Rate придётся увеличить до 2T.
Следует заметить, что переход на использование модулей памяти объёмом 1 Гбайт также не является панацеей. Дело в том, что гигабайтные модули на сегодняшний день относительно редки, а значит и дороги, а, кроме того, ввиду их большего объёма, они не могут похвастать столь же хорошими задержками, как модули объёмом по 512 Мбайт.
В результате, появление в системе на базе Athlon 64 четырёх двухсторонних модулей памяти может ожидать любого пользователя. Чтобы понять, как может повлиять на производительность системы такой апгрейд, мы решили провести небольшое тестирование и сравнить производительность системы на базе процессора Athlon 64 с ядром Venice с оперативной памятью объёмом 1 Гбайт (2 двухсторонних модуля по 512 Мбайт) и с оперативной памятью объёмом 2 Гбайта (4 двухсторонних модуля по 512 Мбайт).
Для целей сравнения нами были собраны две тестовые системы, отличающиеся количеством установленных модулей памяти. В составе этих систем нами было использовано следующее оборудование:
- Процессор: AMD Athlon 64 3800+ (Socket 939, 2.4 ГГц, 512KB L2, ревизия ядра E3 - Venice);
- Материнская плата: DFI NF4 Ultra-D (Socket 939, NVIDIA nForce4 Ultra);
- Память: Corsair CMX512-3200XLPRO, 4 x 512MB, 2-2-2-10;
- Графическая карта: PowerColor RADEON X800 XT (PCI-E x16);
- Дисковая подсистема: Maxtor MaXLine III 250GB (SATA150);
- Операционная система: Microsoft Windows XP SP2.
В первую очередь приведём результаты синтетических тестов, показывающие практическую пропускную способность подсистемы памяти и её латентность.
4 x 512MB | 2 x 512MB | |
ScienceMark 2.0, Memory Bandwidth, MB/s | 4498 | 5628 |
ScienceMark 2.0, Memory Latency, cycles | 116 | 104 |
ScienceMark 2.0, Memory Latency, ns | 48.11 | 43.13 |
SiSoft Sandra 2005, RAM Int Buffered Bandwidth, MB/s | 4936 | 6014 |
SiSoft Sandra 2005, RAM Float Buffered Bandwidth, MB/s | 4936 | 5952 |
На результаты синтетических тестов объём оперативной памяти никакого влияния не оказывает. Поэтому полученный результат оказывается вполне очевиден: при использовании в системе четырёх двухсторонних модулей памяти её производительность ниже, чем при применении двух аналогичных модулей. Причём, ухудшение скорости наблюдается как с точки зрения пропускной способности, так и с точки зрения латентности.
Бенчмарки, основанные на использовании реальных алгоритмов и приложений, могут вести себя при увеличении числа модулей DIMM и объёма оперативной памяти несколько по-другому. Ведь многим приложениям может оказаться недостаточно 1 Гбайта памяти и при наращивании её объёма производительность может увеличиться. Поэтому, измерением пропускной способности и латентности подсистемы памяти мы не ограничились.
реклама
Ситуация неутешительна. В играх и распространённых тестовых приложениях добавление в систему двух дополнительных модулей памяти приводит к падению производительности. Впрочем, ничего сверхъестественного в этом нет: большинство современных программ вполне укладываются в 1 Гбайт оперативной памяти. Добавление же дополнительных модулей DIMM приводит к увеличению тайминга Command Rate, но не даёт никаких дополнительных преимуществ.
Впрочем, для того чтобы получить более полную картину производительности системы на базе Athlon 64 с 2 Гбайтами памяти, мы дополнительно воспользовались и набором тестовых скриптов WorldBench 5, который позволил нам оценить скорость испытуемых систем в распространённых офисных приложениях и программах для работы с цифровым контентом.
Здесь ситуация несколько отличается от того, что мы видели ранее. Как показывают результаты WorldBench 5, существует некоторое количество приложений, которые получают выигрыш от добавления в систему дополнительной памяти, несмотря на ухудшение таймингов. Так, система с четырьмя модулями DIMM и объёмом оперативной памяти 2 Гбайта показывает более высокую производительность, нежели аналогичная система с двумя модулями памяти, в таких приложениях, как ACDSee PowerPack 5.0, Adobe Premiere 6.5, 3ds max 5.1, Windows Media Encoder 9.0, MusicMatch Jukebox 7.10 и WinZip 8.1. Объединяет эти программы одно: все они работают с большими объёмами данных и активно используют во время своего функционирования дисковую подсистему. То есть, прирост в скорости обеспечивается не столько предотвращением свопинга, сколько более глубоким кешированием дисковых операций. Поскольку от удвоения объёма оперативной памяти ни в одном из тестовых приложений не наблюдается значительного роста производительности, можно говорить о том, что для подавляющего большинства современных задач объёма памяти в 1 Гбайт более чем достаточно.
Таким образом, особенности контроллера памяти процессоров Athlon 64 на базе ядра ревизии E таковы, что задействование четырёх модулей памяти двухсторонней организации может повлечь за собой ощутимое падение производительности. Этот факт не следует упускать из виду при выборе вариантов апгрейда.
Поддержка DDR500: наконец-то!
Как было показано выше, процессоры K8 с ядром ревизии E не получили никаких дополнительных преимуществ по сравнению с предшественниками при работе с четырьмя модулями памяти. Однако, помимо некоторой оптимизации контроллера памяти, заключающейся в усовершенствованных алгоритмах её распределения, инженеры AMD расширили его функциональность путём добавления дополнительных делителей для формирования частоты шины памяти. В результате, CPU с ядром ревизии E получили поддержку более скоростных, нежели DDR400 SDRAM, типов памяти. И хотя модули таких типов памяти так и не прошли сертификацию JEDEC, переключившегося на разработку стандартов DDR2 SDRAM, определённое распространение на рынке они нашли.
Производители памяти для пользователей-энтузиастов давно освоили выпуск модулей DDR SDRAM, способных работать на частотах свыше 400 МГц. До сих пор эти модули были предназначены, в основном, для оверклокеров, Теперь же, благодаря стараниям инженеров AMD, такие модули DIMM способны заинтересовать и обычных пользователей. Дело в том, что новые процессоры Athlon 64, Athlon 64 FX, Athlon 64 X2 и Sempron, в основе которых лежит ядро ревизии E, обладают поддержкой DDR466 и DDR500 SDRAM.
Прежде чем мы перейдём к обсуждению того положительного эффекта, который могут получить владельцы процессоров К8 с новым ядром, несколько слов необходимо сказать об особенностях работы контроллера памяти данных CPU. Это позволит нам оценить некоторые тонкости поддержки DDR500 и DDR466 памяти в новых процессорах семейства Athlon 64.
Тактование шины памяти в процессорах K8 несколько отличается от того, как это происходит в CPU семейств Athlon XP и Pentium 4. Процессоры Athlon 64 и их производные лишены системной шины FSB, поскольку они основываются на так называемой архитектуре Direct Connect. Контроллер памяти в CPU с этой архитектурой является частью процессорного ядра, поэтому для обращений к контроллеру памяти процессор не использует никакие шины и шинные протоколы.
Частота же процессоров семейства K8 формируется исходя не из частот каких-либо шин, а основываясь на частоте тактового генератора, которая в штатном режиме равна 200 МГц. Соответственно, частота работы памяти в системах на основе процессоров Athlon 64 (и их производных) определяется не частотой тактового генератора или каких-либо шин, а отталкиваясь лишь от тактовой частоты процессора и его коэффициента умножения.
Базовое соотношение, определяющее частоту памяти в Athlon 64 системах, имеет вид:
Частота_DRAM = Частота_CPU / ceil (Множитель_CPU / Делитель_частоты_DRAM)
В этой формуле Частота DRAM – это искомая частота, на которой тактуется память, Частота_CPU – тактовая частота процессора, Множитель_CPU – его множитель, а Делитель_частоты_DRAM – это делитель, задающий режим работы контроллера памяти и выбираемый из заранее заданного множества. Фигурирующая в уравнении функция ceil хорошо известна программистам, она возвращает наименьшее целое значение, большее или равное аргументу.
Заметим, что именно тем фактом, что частота тактования памяти определяется лишь тактовой частотой процессора и соответствующим делителем, объясняется то, что процессоры Athlon 64 с различной тактовой частотой выставляют слегка различные частоты на модули памяти. В частности, в документации, присутствующей на сайте AMD, можно встретить следующую табличку:
Составить такую таблицу не составит большого труда, если знать, какие делители частоты DRAM поддерживаются в процессорах Athlon 64. К счастью, это не является большим секретом. Так, процессоры с ядром ревизии D располагают следующим множеством делителей: 1/2, 3/5, 2/3, 7/10, 3/4, 5/6, 9/10 и 1/1. Все эти делители позволяют получить поддержку процессорами памяти, работающей на частотах, близких к значениям 100, 120, 133, 140, 150, 166, 180 и 200 МГц. Процессоры с новым ядром ревизии E приобрели два дополнительных делителя, больших 1. Эти делители равны 7/6 и 5/4. Благодаря им процессоры Athlon 64 с ядром ревизии E приобретают поддержку памяти с частотами, близкими к 233 и 250 МГц.
Если же говорить о точных частотах памяти, которые можно выставить благодаря новым делителям, то они перечислены в таблице:
Частота процессора | Частота памяти | ||
DDR400 | DDR466 | DDR500 | |
Делитель 1/1 | Делитель 7/6 | Делитель 5/4 | |
2000 МГц | 200 МГц | 222.2 МГц | 250 МГц |
2200 МГц | 200 МГц | 220 МГц | 244.4 МГц |
2400 МГц | 200 МГц | 218.2 МГц | 240 МГц |
Для того чтобы соответствующие делители, позволяющие увеличить частоту памяти свыше 200 МГц, можно было задействовать, их поддержка необходима со стороны BIOS. Это, кстати, касается не только делителей, больших 1. Поэтому, на данный момент далеко не все материнские платы, после установки в них процессора AMD с ядром ревизии E позволят задействовать указанные в таблицы частоты памяти. Но те, которые позволят, дадут возможность применения более скоростной, нежели DDR400 SDRAM, памяти без разгона каких-либо других параметров системы. То есть, процессоры с новыми ядрами ревизии E дают возможность использовать оверклокерскую память без разгона тактового генератора процессора, и, соответственно, без увеличения частоты шины HyperTransport.
Для того, чтобы оценить положительный эффект от поддержки новыми процессорами более скоростных типов памяти, мы решили провести небольшое тестирование, в котором бы сравнивалась производительность процессора Athlon 64 при работе с обычной DDR400 SDRAM, а также при работе с более скоростными модулями памяти DDR466 SDRAM и DDR500 SDRAM.
Впрочем, одного такого тестирования для всесторонней оценки факта появления поддержки в Athlon 64 DDR466 и DDR500 SDRAM всё-таки будет недостаточно. Дело в том, что многие продвинутые пользователи уже давно и вполне успешно используют в Athlon 64 системах память, работающую на частотах свыше штатных. Достигается это благодаря стандартному оверклокерскому фокусу: уменьшению множителя процессора и повышению частоты тактового генератора. Современные наборы логики позволяют тактовать шины PCI Express и PCI независимо от процессорного тактового генератора, а потому такой трюк в большинстве случаев не встречает никаких препятствий. Что же касается частоты шины HyperTransport, которая жёстко связана с частотой процессорного тактового генератора, то для её нормального функционирования часто применяется уменьшение соответствующего множителя, что позволяет избежать возможных проблем и на этом фронте.
Соответственно, для установления полной справедливости, в наше тестирование будут добавлены и результаты того же процессора, где его работа с памятью с повышенной частотой достигается не применением новых делителей, а путём наращивания частоты тактового генератора свыше номинального значения.
Для испытаний мы использовали ту же самую тестовую систему, что уже была описана в предыдущем разделе. Испытуемый процессор Athlon 64 3800+ на ядре Venice запускался нами в четырёх режимах:
- Тактовая частота задаётся как 12 x 200 МГц, память работает на частоте 200 МГц (DDR400) с таймингами 2-2-2-10;
- Тактовая частота задаётся как 12 x 200 МГц, память работает на частоте 218 МГц (DDR436) с таймингами 2-3-2-10;
- Тактовая частота задаётся как 12 x 200 МГц, память работает на частоте 240 МГц (DDR480) с таймингами 2-3-3-10;
- Тактовая частота задаётся как 10 x 240 МГц, память работает на частоте 240 МГц (DDR480) с таймингами 2-3-3-10.
Заметим, что некоторые различия в таймингах памяти при тестах обусловлены возможностями используемых во время тестов модулей DIMM Corsair CMX512-3200XLPRO, в основе которых лежат широко распространённые чипы Samsung TCCD. Начнём мы вновь с результатов синтетических тестов, демонстрирующих реальную пропускную способность и латентность подсистемы памяти.
FSB=200MHz | FSB=200MHz | FSB=200MHz | FSB=240MHz | |
DDR400 (2-2-2-10) | DDR436 (2-3-2-10) | DDR480 (2-3-3-10) | DDR480 (2-3-3-10) | |
ScienceMark 2.0, Memory Bandwidth, MB/s | 5628 | 6098 | 6346 | 6374 |
ScienceMark 2.0, Memory Latency, cycles | 104 | 96 | 88 | 88 |
ScienceMark 2.0, Memory Latency, ns | 43.13 | 39.82 | 36.5 | 36.66 |
SiSoft Sandra 2005, RAM Int Buffered Bandwidth | 6014 | 6353 | 6534 | 6510 |
SiSoft Sandra 2005, RAM Float Buffered Bandwidth | 5952 | 6268 | 6464 | 6440 |
Синтетические тесты показывают вполне очевидный рост пропускной способности памяти и уменьшение латентности с увеличением её частоты. Что же касается результатов памяти, работающей на частоте 240 МГц, то они примерно одинаковы как при штатной частоте тактового генератора 200 МГц и задействовании нового делителя 5/4, так и при разгоне тактового генератора до 240 МГц с использованием обычного делителя 1/1. Давайте посмотрим, что же нам покажет тестирование в комплексных бенчмарках.
Результаты вполне закономерны. Более быстрая память позволяет добиться более высокой производительности. Нельзя сказать, что прирост быстродействия от использования DDR480 SDRAM получается значительным, однако он вполне осязаем и составляет в среднем 2-3%. Практически точно такой же выигрыш можно получить и без использования новых возможностей ядра ревизии E: разгон памяти посредством наращивания частоты тактового генератора даёт примерно такой же результат.
В итоге, остаётся признать, что новые усовершенствования контроллера памяти процессоров K8, открывающие поддержку более скоростных типов DDR-I памяти, нежели DDR400 SDRAM, могут быть полезны лишь для тех пользователей, которые заинтересованы в использовании процессоров в штатном режиме. Оверклокеры же имеют доступ к повышенным частотам на шине памяти уже давно, причём с гораздо большей гибкостью конфигурирования. Производительность же при этом получается примерно такой же.
Замечания, пожелания и комментарии к статье можно высказать в отдельной ветке конференции.
реклама
Лента материалов раздела
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают