Athlon 64: подсистема памяти
реклама
Эта работа была прислана на наш "бессрочный" конкурс статей и автор получил приз – PCI-E видеокарту MSI NX6600GT-TD128E (MS-8983 ver.200).
Содержание:
- Введение
- Тестовая конфигурация и ПО
- Методика тестирования
- SPD, краткое описание
- Тестируемые модули памяти
- Результаты тестирования
- Выводы
Со времени моей последней публикации прошло довольно много времени, за которое довольно многое в моем ПК поменялось. Завладев свежим процессором Athlon 64, все никак не получалось протестировать все режимы памяти для него, и выбрать наиболее быстрый. И все же собравшись в духом, было решено написать эту статью:).
реклама
С приходом большого разнообразия моделей процессоров на ядре K8, все больше и больше пользователей становится их счастливыми обладателями. Однако с новыми процессорами приходят и новые вопросы. Данный материал призван ответить на основные из них: "Какие настройки памяти наилучшие для Athlon 64? Какую лучше взять память для Athlon 64?". В статье описана методика тестирования памяти, краткие теоретические сведения по SPD. Также дана схема программатора и способ программирования микросхем EEPROM SPD для записи необходимых вам настроек и задержек в модули памяти. Данный материал может быть с большой долей вероятности экстраполирован на платформы Socket 939. Тестирование проводилось на платформе Socket 754, nForce3 250Gb. Так как контроллер памяти встроен в процессор, то чипсет влияния на подсистему памяти практически не оказывает. Контроллеры памяти в Athlon 64 Socket 754 и Socket 939 значительно отличаются только количеством каналов и, возможно, некоторыми таймингами. Socket 940-процессоры Opteron и Athlon 64 FX-51/53 поддерживают ECC и требуют регистровых модулей, однако распространенность этой платформы ничтожна в настольном секторе, и детальное исследование влияния этих параметров не проводилось.
Для платформы VIA K8T800/K8T800Pro можно обратится к статье тов. Jordan: Влияние изменения таймингов оперативной памяти на производительность Athlon 64 2800+ на платформе с чипсетом VIA K8T800. Также здесь имеется краткое описание программы для настройки таймингов – A64 Tweaker. Немного теории на тему разных делителей памяти можно прочесть тут.
Все что описано ниже вы можете сделать в домашних условиях. Ни автор, ни кто-либо иной, кроме Вас, не несет никакой ответственности за возможную порчу программ или\и оборудования вследствие неверной трактовки написанного ниже. При изменении схемы или прошивок устройств ПК фирма-продавец аннулирует все гарантийные обязательства. Впрочем, посмотрите на название сайта и вы все поймете ;-).
- AMD Athlon 64 3000+ (NewCastle, CBAEC 0423SPMW, CG, Socket 754, 1.5V, 512KB L2)
- MSI K8N Neo1 FSR (MS-7030) nForce3 250Gb, BIOS 1.56 modded by Pinochio. Mods: Vcpu=1.9V, Vmem=3.3V напрямую с ATX, Vhtt=1.65V
- Модули памяти см. ниже.
- 128MB GeForce4 Ti4200 MSI MS8870 (GPU=305MHz, MEM=590MHz 4ns) Vgpu=1.85V
- 80GB Seagate Barracuda ATA IV (ST380021A, ATA5, 7200RPM)
- Creative SBLive! 5.1 Digital SB0220 SPDIF
- PowerMaster JJ350T (доделан – заменены +12В диоды и смещен баланс +7V)
- Cooling System:
- CPU: Water, Koolance CPU-300G-H06, Koolance Stars thermogrease.
- MB: Water, Koolance chipset cooler, Koolance Stars thermogrease
- VGA: Water, Innovatek O-matic GF4, KПТ-8
- MEM: Air, 120mm FAN 5V
- PSU: Air, 80mm FAN 6-8V
Остальные комплектующие значения для тестов не имеют.
Система работала под управлением ОС Windows 2000 ENG Professional, Service Pack 4, корпоративная лицензия. Были установлены все доступные Hotfix от MS. Оптимизация программного обеспечения не проводилась, с целью сохранить сходство с реальной машиной, а не экспериментальным тестовым стендом. Остальное ПО:
- DirectX 9.0c, version 4.09.0000.0904
- Win2K Ethernet driver version 4.16 (WHQL)
- Ethernet NRM driver version 4.42 (WHQL)
- Network management tools version 4.42
- GART driver version 4.36 (WHQL)
- Memory controller driver version 3.38 (WHQL)
- SMBus driver version 4.04 (WHQL)
- Win2K IDE 2.6 driver version 4.46 (WHQL)
- NVIDIA ForceWare/Detonator 43.03
- RightMark Memory Analyzer 3.42
- A64 Tweaker 0.31
- Clockgen for nForce3 1.03
- RivaTuner 2.0RC15.4
Также для проверки повторяемости результата независимо от платформы была установлена Windows Server 2003 ENG Standard Edition, корпоративная лицензия. Результаты всех тестов совпали практически без погрешности.
реклама
Было решено использовать такие режимы:
- HTT=250...325MHz x 3, CPU =x9 (2250-2520MHz), 1.9V, DDR=HTT, 2.5-3-3-6, 3.3V
- HTT=200MHz x 4, CPU=x10 2000MHz, 1.5V, DDR=200MHz, 2.5-3-3-6, 3.3V
Все тесты проводились 3 раза, результат усреднялся.
Напомню, что напряжение питания модулей во ВСЕХ случаях было равно 3.3V, прошу учесть это при чтении диаграмм и цифр, и при сравнении с результатами других статей. Выбор именно такого напряжения обусловлен простотой установки такого напряжения на памяти почти любой материнской платы. Для этого нужно подключить проводом 3.3В линию с ATX-разъема на конденсатор в цепи питания памяти. В моем случае это выглядело так:
Первый режим был использован для тестов на достижение максимальной ПСП. Материнская плата MSI K8N Neo заведомо могла стабильно работать на частоте 325МГц HTT при делителе 3. Это было проверено проходом теста S&M в долгом режиме и сутками расчета Prime95. Скриншот CPU-Z приведен ниже.
Тесты с таймингами проводились при наличии в системе модуля 256MB Transcend DDR333, заведомо работающего на частоте 200MHz при таймингах 2-2-2-5. Для тестов таймингов был использован второй режим. Также этот режим для тех, кто предпочитает, не разгоняя процессор, настраивать систему на максимальную производительность. Множитель 10 был избран для более полного соответствия этой роли, т.к. популярны процессоры Athlon 64 3000+ S754 и Athlon 64 3200+ S939.
Сейчас часто встречаются модули, которые имеют заниженные параметры. Также встречаются материнские платы, которые определяют тип памяти и жестко запрещают устанавливать частоту памяти большую записанной в SPD. Так, к примеру, при установке модуля DDR333 в материнские платы MSI K8N Neo, EPoX 8KDA3(+\J\I) и другие максимальная частота памяти ограничена 333 МГц (без разгона), хотя модуль возможно способен стабильно работать на более высоких частотах. Добиться частоты памяти равной частоте HT традиционными методами нет никакой возможности. Для этого приходилось использовать программу A64 Tweaker, которая может не всегда стабильно работать на разных платформах. Поэтому возникла потребность в программировании SPD. Превратив DDR333 в DDR400, мы легко решаем эту проблему, и разгон у нас ограничат только сами чипы памяти или процессор.
Смысл использования SPD четко ясен для производителя, как модулей памяти, так и материнских плат, однако для конечного пользователя по большому счету интереса не представлял. Наличие схемы последовательного детектирования на модуле памяти избавляет производителей материнских плат от необходимости вносить оптимальные значения основных временных параметров в системный BIOS (как это делает, например, Intel, используя в своих материнских платах Phoenix BIOS), поскольку вся необходимая информация для нормальной настройки подсистемы и ее стабильного функционирования содержится в микросхеме SPD. Кроме этого, механизм SPD может настроить систему и гарантировать более-менее устойчивую работу при использовании в подсистеме памяти модулей разной организации, разного объема и имеющих разные значения одноименных параметров. Все, что нужно сделать контроллеру – это при инициализации системы считать записанные в SPD данные.
Для программирования SPD был использован следующий "адаптер-программатор":
Сборка данного устройства не должна вызвать каких-либо затруднений для людей видевших паяльник и транзистор. Транзисторы можно использовать любые типа n-p-n, в нашем случае это были KT315Б и BC817 в SMD корпусе. Вид программатора может быть таким (это тестовый прототип, только для того, чтобы убедится, что все работает):
Я использовал DDR DIMM разъем с материнской платы для большего удобства при прошивке большого количества модулей. Также преимущество данного подхода в сохранении гарантийного вида модулей памяти. Однако можно и напрямую подпаять провода к EEPROM на плате, не выпаивая ее. Все необходимые сигналы выведены на разъеме DDR DIMM. EEPROM установленная на плате модуля имеет выводы A0,A1,A2,WP(TEST) соединенные с землей (GND).
реклама
SDA | DDR DIMM pad №93 |
SCL | DDR DIMM pad №94 |
VCC | DDR DIMM pad №184 |
GND | DDR DIMM pad №176 |
Ну а те же, кто считает такую конструкцию ненадежной и опасной может сделать плату, Например, как мою:
Размер платы не превышает размеров современного мобильного телефона. Это полная схема программатора с дополнительным стабилизатором на 5В. Если кого-то заинтересует информация по плате либо схеме, в конце статьи приведена контактная информация. В плате использовались SMD компоненты: транзисторы BC817, резисторы размера 1206, стабилизатор 5V, три светодиода (SDA, SCL и Power). Схема требует питания +9-30 V. Было применено питание +12V с БП ПК. Соединительные провода программатора к чипу следует делать минимально короткими, во избежание наводок и помех.
Не спешите сразу припаивать чип к программатору, сначала включите его отдельно. Если у вас все спаяно верно и ничего не взорвалось, проверьте соединительный кабель и только затем, выключив схему, припаивайте чип или плату. Так же не стоит использовать большие паяльники мощностью более 25 Вт, иначе есть возможность сжечь детали.
Для чтения или записи данных с чипа использовал freeware-программу PonyProg 2000. Процедура настройки и работы следующая: при первом запуске программы вы должны увидеть такое окно:
Первоначальная настройка заключается в следующем: необходимо выбрать тип прошиваемой памяти – I2C Bus 8bit EEPROM, а микросхему – 24XX Auto или 2402. Это делается при помощи выпадающих меню в верхней правой части. Затем в меню Setup > Interface Setup... нужно установить тип программатора, который используется. В нашем случае это EasyI2C I/O. Поскольку этот программатор имеет параллельный интерфейс, следует выбрать порт LPT1. В конечном виде все должно быть в точности как на скриншоте ниже:
Теперь необходимо подключить программатор с подключенной микросхемой и считать ее. Для этого предназначена кнопка Read Device. После удачной процедуры чтения у вас должно быть на экране нечто похожее:
Если же у вас модуль не считался, проверьте правильность сборки, возможно, вы перепутали сигналы SCL и SDA.
Можно записать считанные данные на диск из меню File. Настоятельно советую Вам это сделать, чтобы всегда можно было вернуться, если что-либо пойдет не так. Программа поддерживает редактирование считанных данных прямо в рабочем окне. Для этого вам нужно только активировать режим редактирования. Это делается в меню Edit, пункт Edit buffer enabled. После этого можете менять значения, точно так же, как и в любом HEX-редакторе. Сделав все, что вам было необходимо, нажимаете Write Device, показанную на скриншоте ниже и SPD EEPROM прошивается заданными данными. Данные после 128-го байта можно использовать на свое усмотрение, при работе ПК считывает только первые 128 байт. Можете записать туда свои пароли от Интернета или номер кредитной карты:-). После этого отключаете программатор и извлекаете модуль памяти.
Параметр контроллера памяти - DRAM Command Rate
Сommand Rate устанавливает задержку поступления команд в память. Собственно, это понятие является синонимом задержки декодирования контроллером командно-адресной информации. За этим параметром скрывается выбор необходимого физического банка общего адресуемого пространства установленной системной памяти.
Сама способность обработки команд с задержкой 1T зависит от таких факторов, как частота синхронизации шины памяти, количество микросхем на модуле памяти (чем больше микросхем, тем больше времени понадобится контроллеру, чтобы выбрать необходимую), качество используемого модуля, общее количество используемых модулей памяти в системе (прямо связано с количеством микросхем в составе одного модуля) и удаленность модуля от контроллера (протяженность сигнальных трасс от выводов контроллера до выводов микросхемы памяти с учетом количества переходов).
Таким образом, если в системе с процессором на ядрах SledgeHammer, ClawHammer, NewCastle, Winchester используется два 2-банковых модуля, необходимо использовать 2Т, иначе сигналы доходят с ошибками. Позже будет проанализировано влияние этого параметра на скорость в целом. В процессорах на ядре Venice и последующих возможно использование параметра 1Т в системе с 4мя банками памяти без потери стабильности.
В данной статье не будет приведено подробное описание остальных таймингов, т.к. цель исследования заключалась в выяснении максимально производительного режима для платформы Аthlon 64, а не изучении памяти. Если же потребуется детальная информация о таймингах обратитесь к статье "Настройка подсистемы памяти в BIOS SETUP".
Для модификации SPD-данных вам понадобится нижеприведенная таблица адресов, и их значения. За "частоту модуля" отвечает байт 9. Если он равен 50 – это 5.0ns память, т.е. DDR400, 60 – 6.0ns – DDR333, 40 – 4.0ns – DDR500. Аналогичная ситуация и с другими таймингами.
Байт | Назначение |
0 | Общий объем текущей информации, записанной в EEPROM |
1 | Общее количество байт информации в микросхеме SPD |
2 | Фундаментальный тип используемой памяти |
3 | Общее количество адресных линий строки модуля, включая "смешанный" объем |
4 | Общее количество адресных линий столбца модуля, включая "смешанный" объем |
5 | Общее количество физических банков модуля памяти |
06-07 | Внешняя шина данных модуля памяти |
8 | Питающий интерфейс |
9 | Временной цикл с максимальной задержкой сигнала CAS# (tCK) |
10 | Длительность задержки данных на выходе модуля с учетом CL=Х |
11 | Интерфейс модуля (None/Parity/ECC...) |
12 | Тип и способ регенерации данных |
13 | Тип организации используемых микросхем памяти |
14 | Ширина шины данных ЕСС модуля |
15 | Минимальная задержка произвольного доступа к столбцу |
16 | Длительность передаваемых пакетов (BL) |
17 | Количество логических банков каждой микросхемы в модуле |
18 | Поддерживаемые длительности задержки сигнала CAS# (CL) |
19 | Задержка выдачи сигналов выбора кристалла CS# (tA(S)) |
20 | Задержка выдачи сигнала разрешения записи WE# (tA(W)) |
21 | Специфические атрибуты модуля памяти |
22 | Атрибуты общего порядка микросхемы памяти |
23 | Минимальный цикл CLX-1 |
24 | Максимальное время доступа к данным с минимальным циклом CLX-1 (tAC) |
25 | Минимальный цикл CLX-2 |
26 | Максимальное время доступа к данным с минимальным циклом CLX-2 (tAC) |
27 | Минимальное время регенерации данных в странице (tRP) |
28 | Минимальная задержка между активизацией соседних страниц (tRRP) |
29 | Минимальная задержка RAS-to-CAS (tRCD) |
30 | Минимальная длительность импульса сигнала RAS# (tRAS) |
31 | Емкость одного физического банка модуля памяти |
32 | Время установки адресов и команд перед подачей синхроимпульса (tIS) |
33 | Время ожидания на входе после подачи синхроимпульса (tIH) |
34 | Интервал установки данных на входе перед подачей синхроимпульса (tDS) |
35 | Время ожидания данных на входе после подачи синхроимпульса (tDH) |
62 | Номер текущей версии SPD |
63 | Контрольная сумма байт 0-62 |
Контрольная сумма (Checksum) предусмотрена спецификацией и необходима для проверки правильности записанных данных. Алгоритм вычисления контрольной суммы довольно прост:
|
|
64-71 | Идентификационный код производителя по JEP106 |
72 | Информация о производителе модуля |
73-90 | Уникальный номер производителя модуля |
91-92 | Код ревизии (версии) модуля |
93-94 | Дата производства модуля |
95-98 | Основной серийный номер модуля |
99-125 | Специфические данные производителя модуля |
126-127 | Специфические атрибуты частоты функционирования модуля |
128-255 | Пустые байты для внесения необходимой дополнительной информации |
Пример записи карты программирования SPD для небуферизированного 128MB-модуля 32Mx64, 184pin DDR SDRAM DIMM с адресацией 12/10/2, использующего микросхемы памяти организации 8Mx8 с периодом синхросигнала 7ns (-262) и 7.5ns (-265).
Байт | Наименование | Значение | HEX | |
0 | Общий объем текущей информации, записанной в EEPROM | 128Byte | 80 | |
1 | Общее количество байт информации в микросхеме SPD | 256Byte | 08 | |
2 | Фундаментальный тип используемой памяти | DDR SDRAM | 07 | |
3 | Общее количество адресных линий строки модуля | 12 | 0C | |
4 | Общее количество адресных линий столбца модуля | 10 | 0A | |
5 | Общее количество физических банков модуля памяти | 2 | 02 | |
6 | Внешняя шина данных модуля памяти | 64bit | 40 | |
7 | Внешняя шина данных модуля памяти (продолжение) | N/A | 00 | |
8 | Питающий интерфейс | SSTL 2.5V | 04 | |
9 | Временной цикл с максимальной задержкой сигнала CAS# | -262 | 7.0ns | 70 |
-265 | 7.5ns | 75 | ||
10 | Длительность задержки данных на выходе модуля с учетом CL=Х | -262 | 7.5ns | 75 |
-265 | 7.5ns | 75 | ||
11 | Интерфейс модуля (None/Parity/ECC...) | Non-ECC | 00 | |
12 | Тип и способ регенерации данных | SR/1x(15.625 µs) | 80 | |
13 | Тип организации используемых микросхем памяти | x8 | 08 | |
14 | Ширина шины данных ЕСС модуля | N/A | 00 | |
15 | Минимальная задержка произвольного доступа к столбцу | 1 | 01 | |
16 | Длительность передаваемых пакетов (BL) | 2, 4, 8 | 0E | |
17 | Количество логических банков каждой микросхемы в модуле | 4 | 04 | |
18 | Поддерживаемые длительности задержки сигнала CAS# (CL) | 2, 2.5 | 0C | |
19 | Задержка выдачи сигналов выбора кристалла CS# | 0 | 01 | |
20 | Задержка выдачи сигнала разрешения записи WE# | 1 | 02 | |
21 | Специфические атрибуты модуля памяти | Unbuffered | 00 | |
22 | Атрибуты общего порядка микросхемы памяти | General | 00 | |
23 | Минимальный цикл CLX-1 | -262 | 7.5ns | 75 |
-265 | 10.0ns | A0 | ||
24 | Максимальное время доступа к данным с циклом CLX-1 | -262 | 7.0ns | 70 |
-265 | 7.5ns | 75 | ||
25 | Минимальный цикл CLX-2 | N/A | 00 | |
26 | Максимальное время доступа к данным с циклом CLX-2 | N/A | 00 | |
27 | Минимальное время регенерации данных в странице | 20ns | 14 | |
28 | Минимальная задержка между активизацией соседних строк | 15ns | 0F | |
29 | Минимальная задержка RAS-to-CAS | 20ns | 14 | |
30 | Минимальная длительность импульса сигнала RAS# | -262 | 45 | 2D |
-265 | 50 | 32 | ||
31 | Емкость одного физического банка модуля памяти | 128MB | 20 | |
32 | Время установки адресов и команд перед подачей синхроимпульса | -262 | 0.9ns | 90 |
-265 | 0.9ns | 90 | ||
33 | Время ожидания на входе после подачи синхроимпульса | -262 | 0.9ns | 90 |
-265 | 0.9ns | 90 | ||
34 | Время установки данных на входе перед подачей синхроимпульса | -262 | 0.5ns | 50 |
-265 | 0.6ns | 60 | ||
35 | Время ожидания данных на входе после подачи синхроимпульса | -262 | 0.5ns | 50 |
-265 | 0.6ns | 60 | ||
36-61 | Зарезервировано по JEDEC JC42.5-97-119 | N/A | 00 | |
62 | Номер текущей версии SPD | 0 | 00 | |
63 | Контрольная сумма байт 0-62 | Checksum | cc | |
64 | Идентификационный код производителя по JEP106 | Hyundai | AD | |
65-71 | Идентификационный код JEDEC по JEP106 (продолжение) | N/A | 00 | |
72 | Информация о производителе модуля | N/A | 00 | |
73-90 | Уникальный номер производителя модуля | N/A | 00 | |
91-92 | Код ревизии (версии) модуля | N/A | 00 | |
93-94 | Дата производства модуля | N/A | 00 | |
95-98 | Основной серийный номер модуля | N/A | 00 | |
99-125 | Специфические данные производителя модуля | N/A | 00 | |
126 | Фактическая рабочая частота модуля | N/A | 00 | |
127 | Атрибуты поддержки частоты функционирования модуля | ALL | FF | |
128-255 | Пустые байты для необходимой дополнительной информации | N/A | 00 |
Ниже будут рассмотрены два типа памяти: быстрые с малой латентностью и высокочастотные с высокой пропускной способностью. Также будет затронуты модули среднего класса. Практически у всех модулей памяти микросхема SPD имеет емкость 256 байт и полностью совместима с Atmel AT24C02 по электрическим параметрам. Поэтому перепрошивка этих модулей обычно проходит быстро и легко.
Модуль имеет маркировку:
PQI DDR333
3208GATA13-03D7
MD32456PQP
Микросхемы: PQI PQ3D328D6 0345EP
Модуль изготовлен из шестислойного текстолита. Разводка модуля стандартная. Дата изготовления 45 неделя 2003. PDF на микросхемы найти не удалось. Минимальные тайминги на частоте 200МГц: 2.5-3-3-5. Максимально достигнутый результат по частоте при 2.5-3-3-6: 253МГц. Максимальная частота при 3-4-4-8: 270МГц
Микросхемы: JetRam J56D3AT-6 T0246W. Дата изготовления 46 неделя 2002. PDF на микросхемы найти не удалось. PDF на модуль. Максимальное напряжение на модуль: 3.6 V.
Была прошита SPD от модуля G.skill DDR PC-4400 Dual Channel 256MB. Производитель: Transcend, дешевая серия Jetram. Минимальные тайминги на частоте 200МГц: 1.5-2-2-5. Максимально достигнутый результат по частоте при 1.5-2-2-5: 255МГц. Максимальная частота при 2.5-3-3-6: 260МГц. Модуль НЕ способен работать с tCAS = 3.
СPU-Z не может показать CAS=1.5. Отличный модуль, особенно учесть его цену (35-45$ за 256MB). Однако сейчас эта память такая же редкость как Winbond BH-5. Поиск тестов по Интернету закончился неудачей, если не считать одной неплохой базы на этом японском сайте, где упоминаются эти модули, тогда были достигнуты такие же впечатляющие результаты, с той лишь разницей, что использовалась система с Intel Pentium4 и напряжение питания было равно 2.9В.
Модули имеет маркировку NCP NC6972. Микросхемы: NP25D328256K-5. Модуль изготовлен из шестислойного текстолита. Дата изготовления 18 неделя 2004. PDF на микросхемы найти не удалось. Обе планки имели идентичные SPD.
На основном тестовом ПК не удалось заставить работать модули при напряжении 3.3V. Для теста использовалась платформа К7 (EPoX 8RDA3+, Athlon XP Barton). Максимально достигнутый результат по частоте при 2.5-3-3-6 на платформе K7: 250МГц.
TCCD-память:
Микросхемы: Samsung K4H560838F-TCCD (DDR500 Chip). CAS Latency: 2-2-2-5 (PC3200). CAS Latency: 2.5-3-3-7 (PC4400). Модуль изготовлен из шестислойного текстолита. Разводка модуля стандартная (идентична планке PQI).
Модули на микросхемах Samsung TCCD могут работать на больших частотах (до 310-320МГц) при напряжениях питания 3.3-3.7В при повышенных таймингах (2.5-3-3-11). Список модулей, в которых используется TCCD-микросхемы (по данным XtremeSystems.org):
- Adata PC4500 Vitesta
- Adata PC4800 Vitesta
- Apacer PC4000
- Centon Advanced DDR
- Corsair PC3200XL
- Corsair XMS PC3200C2 Rev4.1 2-3-3-6-1T
- Geil UltraX pc3200
- Gskill PC4400 (разные) Not in UK (15/10/04)
- Kingston HyperX PC 3200ULK2 ~ Not in UK (15/10/04)
- Mushkin PC3200 Rev.2
- OCZ PC3200 Rev.2
- OCZ PC3700 Platinum
- Patriot Extreme Performance PDC5123200+XBLK
- PQI 3200 Turbo 2-2-2-5
- Samsung PC4000 CL3 ~ Not in UK (15/10/04)
- Twinmos Twister Pro (все?)
- Corsair XMS PC3200C2 Rev4.2 2-3-3-6-1T – возможно TCCD
- Samsung OEM PC3200 – возможно TCCD
BH-память:
Микросхемы: Winbond W942508BH-5 (DDR400 Chip). CAS Latency: 2-2-2-5 (PC3200). Модуль изготовлен из шестислойного текстолита, модель PCB - GB3-211BX. BH-5 способны работать при любых таймингах, независимо от частоты. Предельная частота – около 280 МГц при 3.5 В.
Было исследовано влияние всех важных таймингов в программах Everest и RightMark Memory Analyzer (RMMA). Самые быстрые тайминги и самые медленные из этого исследования использовались для последующих тестов. Также проводится процентное сравнение со стандартными таймингами (2.5-3-3-5(6), 1Т). Все тесты проходились трижды, результат усреднялся.
Тестирование показало следующие результаты:
Чтобы не перегружать читателя большим количеством цифр, сделаем диаграмму латентности памяти по RMMA:
Значения латентности, измеренные RMMA, очень близки к реальным величинам, получаемым методом расчета. Минимальные задержки, как и следовало ожидать, получили при минимальных таймингах, в данном случае 1.5-2-2-5-7-11. Наиболее сильное влияние оказывают параметры CMD Rate и tCL. Возможна весьма интересная ситуация, когда хорошая память DDR333 с низкими таймингами окажется лучше DDR400, работающей в режиме 2Т. Такое не так уж и невероятно, как может показаться на первый взгляд. 4 банка памяти DDR400 не смогут работать с CMD 1T, но в режиме DDR333 возможно будет выставить минимальные задержки и CMD 1T. Процентный прирост в тестах RMMA и Everest можно увидеть ниже:
В итоге мы получаем почти 8% прироста от тонкой настройки таймингов, при условии, что ваша память их поддерживает. Много это, или мало, стоит ли доплачивать 100$ за память BH-5 или TCCD, решать только вам. Интересен так же факт, что DDR333 2-2-2-5 в общем итоге показала себя лучше DDR400 3-4-4-8 2CMD, т.е. владельцы плохой DDR400 могут ее спокойно менять на качественную DDR333, особенно если последняя разгоняется до 400МГц при незначительном ухудшении таймингов.
На данный момент я использую два модуля (Transcend DDR333 Jetram и PQI DDR333) по 256МБ. Они вместе работают на частоте 250МГц "синхронно" с процессорной шиной, при тайминге 2.5-3-3-5 и напряжении питания 3.3В
Краткие макс. результаты (255МГц, 1.5-2-2-5, 1Т, CPU=255*10):
- SiSoft Sandra 2004 = MEM test = 3858 MB/s / 3862MB/s
- RMMA = latency min/avg/max = 28,79 / 31,58 / 32,39
- RMMA = avr perf / max perf = 2094MB/s / 2350 MB/s
- SuperPi = 35 sec
- Aida = read = 3827MB/s , write = 1475MB/s , latency 39,2 ns
Модули на чипах Winbond BH-5, JetRam можно считать идеальным приобретением для производительной платформы Athlon 64/Athlon 64 FX. Они делают возможной стабильную работу при частоте 250МГц и выше при минимально возможных таймингах порядка 2-2-2-5. Однако следует понимать, что полностью свой потенциал такие модули раскрывают только при напряжениях питания порядка 3.5 вольт. При номинальном питании они разгоняются не более 220-230МГц, что уже мало по сегодняшним меркам. Это почти единственные модули, которые способны работать при таких таймингах как 1.5-2-2-4 (!). Производитель допускает максимальное напряжение для таких модулей в пределах 3.6 В.
Тем же, кто использует младшие процессоры с малыми множителями, будут полезны модули способные работать на больших частотах, порядка 300МГц (Samsung TCCD). Так же существуют модули, которые по параметрам находятся между этими двумя полюсами – это популярные недорогие модули с чипами Hynix D-43, Samsung TCCC, Geil. Увы, у меня не было возможности лично протестировать и их, по причине их отсутствия. Возможно, позже, если они попадут ко мне, выйдет обновление этой статьи.
Следует, однако, понимать, что никакие манипуляции с данными в SPD не заставят микросхемы памяти работать быстрее, чем они способны. Возможно, лишь изменять базовые тайминги, чтобы выбрать тот баланс таймингов и частоты, который для вашей системы окажется оптимальным и наиболее производительным.
Остается неясным вопрос о модулях с чипами JetRam, являются ли эти чипы аналогами Winbond BH-5 серии или нет? Этот вопрос я хотел бы обсудить c владельцами Winbond BH-5 и JetRam в этой ветке форума. Если же удастся заставить модуль заработать при высоких множителях CPU, это будет крайне интересно, т.к. насколько мне известно, частоты более 280МГц при таймингах 2-2-2-5 почти недостижимы для Winbond BH-5 и Samsung TCCD.
Мою небольшую подборку дампов SPD можно скачать тут (8.5 КБ). Таблицу с результатами можно скачать тут(12 КБ).
Благодарности и ссылки:
- iXBT: SPD: схема последовательного детектирования
- JEP106, Standard Manufacturer's Identification Code, Revision of JEP106
- PonyProg 2000 и схема программатора I2C
Другие статьи на эту тематику:
- Влияние изменения таймингов оперативной памяти на производительность Athlon 64 2800+ на платформе с чипсетом VIA K8T800.
- "Настройка подсистемы памяти в BIOS SETUP"
Выражаю благодарности следующим оверклокерам:
- [Viru$] за предоставленные для тестирования модули DDR400 NCP 512MB.
- Большое спасибо steff, за предоставленный SPD DUMP модуля G.SKILL DDR550 256MB Dual (TCCD).
- Zerg из Херсона за потраченное время на напутствия
- Всей команде TopMods.net, и персонально Dimdirol за понимание.
Tsemenko Ilya aka TiN
Ждём Ваших комментариев в специально созданной ветке конференции.
реклама
Лента материалов раздела
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают