Введение
Сегодня память DDR400 стала формальным стандартом. Комитет Jedec принял своё решение, и производители памяти и материнских плат, наконец-то, занялись проблемами интеграции. Как вы знаете, у DDR400, также известной как PC3200, возникало множество проблем с интеграцией, к тому же переход на эту память не приводил к заметному росту производительности. Без какого-либо официального стандарта поиск идеальной комбинации между памятью и материнской платой был похож на игру в покер втёмную.
Конечно же, создание быстрой памяти DDR400 – занятие отнюдь не из лёгких. Запускать старую технологию DDR-1 на частоте 400 МГц – всё равно, что строить карточный домик. После выхода “в массы” стандарт DDR-2 полностью изменит дизайн чипов памяти и раскладку модулей, кроме того, он будет обладать пониженным сигнальным напряжением, что приведёт к достижению тактовых частот вплоть до 667 МГц. Впрочем, не следует ожидать появления этой технологии на рынке раньше конца 2003 года. До этого времени вы можете оптимизировать настройки BIOS, чтобы выжать всё возможное из памяти DDR400 или решить проблемы с нестабильностью.
Старые системы тоже получат преимущество от использования новых модулей. Даже если вы не сможете запустить модули DDR400 на максимальной частоте 400 МГц, вы получите улучшенные параметры задержек, которые позволят увеличить производительность при низких тактовых частотах. Для этой цели как нельзя лучше подходят быстрые модули памяти. Чаще всего, именно уменьшение задержек CAS или RAS-to-CAS в большей степени улучшает производительность подсистемы памяти, нежели повышение частоты шины памяти. В статье мы рассмотрим принципы и технологии задержек памяти и дадим несколько советов по улучшению производительности. Наши советы относятся также к стандартам DDR333 и DDR266, что позволяет использовать их для оптимизации практически любого компьютера.
Модули для “разгона”
Специальные модули для “разгона” обладают более высокими тактовыми частотами и лучшими задержками. К примеру, Kingston выпускает модули PC3500 с тактовой частотой до 433 МГц.
Лучше всего купить специальные модули для “разгона”, которые превышают спецификации стандарта DDR400 и обеспечивают высокую частоту работы и низкие задержки. Подобные модули выпускают Corsair, Geil, Kingston, Mushkin и другие компании, причём они носят название PC3500 или PC3700. Хотя подобных стандартов и не существует, но по названию явно видно, насколько эти модули можно “разогнать”.
Однако память DDR SDRAM демонстрирует свой максимальный потенциал лишь на двухканальных материнских платах, где пропускная способность двух модулей DDR складывается. Среди материнских плат лучшим выбором станут модели на базе чипсета nVidia nForce2 для процессоров AMD и Intel 865, 875 и 7205 для процессоров Intel.
Имейте в виду, что для работы в двухканальном режиме вам необходимо установить два (или четыре) модуля памяти. Обычно BIOS затормаживает задержки памяти для увеличения стабильности системы, именно потому и необходима оптимизация. Кстати, сегодня производители памяти, например Corsair и Geil, уже начали продавать модули памяти парами специально для двухканальных систем.
“Разгоняем” память
Производители типа Corsair продают модули памяти парами специально для двухканальных систем.
Не стоит оставлять попытки поднять частоту шины памяти даже на старых чипсетах. К примеру, вы можете установить память DDR400 на материнскую плату с чипсетами VIA KT333 или KT400 для процессоров AMD. Если эти чипсеты официально могут и не поддерживать новые стандарты памяти, вы можете обнаружить соответствующие опции по “разгону” в меню BIOS, что поможет увеличить тактовые частоты с DDR333 на уровень DDR400.
Впрочем, если система с частотой 400 МГц работает нестабильно, то вы можете забыть о тонкой подстройке частоты. Частота памяти изменяется параллельно с шиной процессора, поэтому её можно изменить лишь большими шагами, вроде перехода с DDR333 на DDR400. Изменение частоты обычно производится с помощью отношения частоты шины памяти к частоте шины FSB. К примеру, 3/3 означает DDR333 и шину FSB на 333 МГц, а 4/3 – скорость памяти DDR400. Если вы желаете увеличивать частоту памяти небольшими интервалами, то придётся изменять частоту FSB.
Однако, с другой стороны, преимущества увеличения частоты работы памяти на системе с AMD Athlon XP далеко не очевидны. Вы можете даже снизить производительность, если установите шину памяти на 400 МГц, а FSB – на 333 МГц. Лучший результат достигается оптимизацией задержек быстрой памяти в BIOS.
Задержки лучше частоты шины
Задержки влияют на производительность памяти нисколько не меньше, чем частота шины памяти. В конце концов, шина данных может извлечь выгоду из пропускной способности памяти только в том случае, если данные считываются из чипов памяти, и при этом чипы успевают их выдавать. Если память считывается из разных зон, то по многочисленным причинам поток данных прерывается. Задержки памяти определяют скорость, с которой выполняются отдельные шаги при доступе к памяти. Причём оптимизировать задержки действительно стоит, поскольку это позволяет увеличить производительность вплоть до десяти процентов. Более того, оптимизация задержек может быть выгоднее увеличения частоты шины. Качественная память DDR333 с низкими задержками будет работать быстрее модуля DDR400, где задержки были увеличены для достижения высокой тактовой частоты.
При оптимизации памяти перво-наперво следует отключить её автоматическую конфигурацию. Дело в том, что при активации этой функции материнская плата считывает параметры задержек и тактовой частоты из чипа SPD (Serial Presence Detect) на модуле памяти и затем использует их для конфигурации памяти. Эти параметры записываются производителем памяти в чип EEPROM, причём производители часто перестраховываются и указывают очень консервативные задержки, чтобы память работала стабильно на максимально большом числе систем. Используя же ручную конфигурацию, вы можете идеально настроить память для вашей системы – в большинстве случаев модули памяти будут работать стабильно и при превышении спецификаций производителя.
Если же вы являетесь владельцем дешёвых модулей памяти, то и у них лучше настроить конфигурацию вручную. “Безымянные” производители известны своим стремлением максимально удешевить производство, к тому же они часто прошивают неправильные данные в чипы SPD. Неудачливым покупателям приходится бороться с низкой производительностью и со сбоями системы, не зная о их реальной причине.
Не только CL
Самыми важными таймингами памяти являются задержки CAS (CL), RAS-to-CAS (tRCD) и время предзаряда RAS (tRP). Многие модули памяти имеют спецификации вида PC2700-2.0-2-2.0 или PC3200-3.0-3-3.0. Первая часть названия относится к типу памяти, а оставшиеся три числа обозначают вышеупомянутые тайминги. Другие производители указывают задержку CAS в виде CL 2.0 или CL 3.0. Хотя эта задержка значительно влияет на производительность, забывать про остальные вряд ли стоит, поскольку они имеют не меньшую важность.
Чтобы оценить влияние задержек на производительность, давайте обратимся к результатам тестов по кодированию MPEG-4. В конце статьи мы приведём краткое описание самых важных задержек и дадим советы по их оптимизации и настройке (в части “Как оптимизировать память в BIOS”). Если на вашем фирменном модуле подозрительно отсутствует информация о его производительности, вы можете обратиться к таблице ниже, где приведены адреса производителей в Интернете (см. “Производители памяти”).
Чтобы лучше понимать смысл задержек, вам следует знать все шаги процесса доступа к памяти. Мы привели их в таблице “Задержки памяти”. Процесс чтения начинается после того, как контроллер памяти выберет модуль памяти, содержащий требуемую информацию. Контроллер адресует нужный чип на модуле и данные, которые на нём хранятся. Ячейки памяти на чипе расположены в виде массива, адресуемого с помощью столбцов и строк. Каждое пересечение обозначает один бит памяти.
Тестирование
Представлены результаты для частоты памяти (PC2700 = DDR333; PC2100 = DDR266), задержки CAS (CL), задержки RAS-to-CAS, времени предзаряда RAS и времени активности строки.
Enter the Matrix
Сначала контроллер памяти отсылает адрес строки требуемой ячейки памяти. Через некоторое время, tRCD (задержка RAS-to-CAS), модуль памяти помещает содержимое строчки в промежуточное хранилище. На современных чипах памяти этот процесс занимает два или три такта. Причём временной промежуток может быть кратен даже половине такта (CL 2.5), поскольку память DDR SDRAM отсылает сигналы управления и данных на обоих фронтах тактового импульса, то есть два раза за такт.
Как только содержимое строчки попадёт в промежуточное хранилище, контроллер вышлет сигнал CAS (строб адреса столбца), который указывает адрес столбца ячейки памяти. Через промежуток времени tCL (задержка CAS) содержимое выбранной ячейки будет помещено в выходной регистр чипа памяти.
В BIOS можно выставить продолжительность задержек tRCD и tCL в тактах. Чем меньше будут значения, тем лучше будет производительность. Задержки CL 2.0 или даже 1.5 возможны только на самых быстрых модулях.
Если вы считываете прилегающие данные из одной строчки памяти, то на скорость доступа влияет только задержка CL, ведь контроллер уже знает адрес строчки и ему не нужно проверять его ещё раз. Если же контроллеру необходимо адресовать другую строку в чипе памяти, то для перехода от одной строчки к другой требуется промежуток времени tRAS (время активности строчки). Задержка tRAS увеличивается на время tRP (время предзаряда RAS), которое необходимо для перехода цепи на повышенный уровень напряжения. Другими словами, даже самым быстрым модулям необходимо не меньше семи тактов на весь процесс.
Современные чипы DDR SDRAM, в свою очередь, подразделяются на четыре сегмента (банка), каждый из которых представляет отдельную зону памяти. Чередование банков позволяет одновременно адресовать участки в различных банках чипа, что повышает скорость передачи данных. Когда данные считываются из одного банка памяти, то возможна адресация участка данных в другом банке. В BIOS можно указать, сколько банков памяти чипа можно адресовать одновременно. Самая быстрая настройка – “четыре”.
Максимальная производительность с 1 Гбайт памяти или выше
Другим важным критерием производительности является объём установленной памяти. Приложения по редактированию видео и изображений получают существенный прирост производительности от увеличения памяти. Значения Content Creation Winstone лишь подтверждают тот факт, что системы Windows 2000 и XP проявляют себя в полной мере только при оснащении 1 Гбайт памяти или больше. Тесты показывают, насколько сильно производительность системы зависит от объёма памяти. Впрочем, 512 Мбайт памяти можно считать минимумом для быстрых систем Windows XP. Дни, когда для Windows 98 и Me требовалось максимум 512 Мбайт памяти для большинства системных задач, давно закончились.
Максимальный объём памяти полностью зависит от материнской платы и чипсета. Для получения дополнительной информации обратитесь к таблице “Поддержка памяти” ниже. Впрочем, в системах архитектуры x86 максимальный объём памяти составляет 3,5 Гбайт независимо от того, сколько памяти установлено. Процессор просто не сможет адресовать больший объём памяти. Оставшаяся ёмкость зарезервирована для управления шиной PCI.
Следует устанавливать как можно меньше модулей памяти. Уменьшение числа чипов на модуле также положительно сказывается на производительности и стабильности. Модули чаще всего состоят из восьми или 16 чипов.
Число модулей памяти напрямую влияет на командный коэффициент (command rate). Коэффициент определяет число тактов, которые требуются контроллеру памяти для активации модулей и чипов. Если вы заполнили все банки памяти, то вам придётся увеличивать командный коэффициент с одного такта до двух для сохранения стабильности системы. К сожалению, это приводит к уменьшению производительности вплоть до трёх процентов.
Производители памяти
Производитель | Сайт |
Corsair | www.corsairmemory.com |
Crucial | www.crucial.com |
Dataram | www.dataram.com |
Geil | www.geil.com.tw |
Infineon | www.infineon.com |
Kingmax | www.kingmax.com.tw |
Kingston | www.kingston.com |
Micron | www.micron.com |
Mushkin | www.mushkin.com |
Samsung | www.samsungsemi.com |
Transcend | www.transcendusa.com |
Twinmos | www.twinmos.com |
OCZ Technology | www.ocztechnology.com |
Задержки памяти
Оптимизация задержек повысит скорость выполнения различных шагов, осуществляемых при доступе к памяти. Сначала контроллер памяти определяет адрес строки, где находится адресуемая ячейка памяти. Адрес столбца передаётся после того, как пройдёт время tRCD. Затем потребуется время tCL на передачу данных на внешний регистр. Процесс повторится по истечении tRAS и tRP.
Поддержка памяти чипсетами материнских плат
Чипсет | Тип памяти1) | Макс. объём |
AMD | ||
ALI M1647 | DDR2662) | 3072 Мбайт |
Nvidia Nforce | DDR2663) | 1536 Мбайт |
Nvidia Nforce 2 | DDR4003) | 3072 Мбайт |
SIS 735 | DDR266 | 1024 Мбайт |
SIS 745 | DDR333 | 1536 Мбайт |
SIS 746 | DDR333 | 3072 Мбайт |
SIS 746FX | DDR400 | 3072 Мбайт |
VIA KT266A | DDR266 | 2048 Мбайт |
VIA KT333 | DDR333 | 4092 Мбайт4) |
VIA KT400 | DDR333 | 4092 Мбайт4) |
VIA KT400A | DDR4003) | 4092 Мбайт4) |
Intel | ||
ALI M1671 | DDR333 | 3072 Мбайт |
ALI M1681 | DDR400 | 3072 Мбайт |
Intel 7205 | DDR3333) | 4092 Мбайт4) |
Intel 845E | DDR266 | 2048 Мбайт |
Intel 845PE | DDR333 | 2048 Мбайт |
Intel 865P | DDR333 | 4092 Мбайт4) |
Intel 865PE | DDR4003) | 4092 Мбайт4) |
Intel 875P | DDR4003) | 4092 Мбайт4) |
SIS 645 | DDR333 | 3072 Мбайт |
SIS 648 | DDR333 | 3072 Мбайт |
SIS 648FX | DDR400 | 3072 Мбайт |
SIS 655 | DDR3333) | 4092 Мбайт4) |
VIA P4X266A | DDR266 | 4092 Мбайт4) |
VIA P4X333 | DDR333 | 4092 Мбайт4) |
VIA P4X400 | DDR333 | 4092 Мбайт4) |
VIA P4T400 | DDR400 | 4092 Мбайт4) |
1)Поддерживается самый быстрый стандарт DDR SDRAM; DDR266 = PC2100; DDR333 = PC2700; DDR400 = PC3200
2) Со степпинга C1 поддерживается DDR333
3) Двухканальный интерфейс памяти
4) Доступно 3576 Мбайт
Как оптимизировать память в BIOS
Меню BIOS на материнских платах предлагает множество настроек для оптимизации памяти. Настройки изменяют функции работы с памятью, которые, несмотря на общую природу, часто получают разные названия. Мы вкратце объясним настройки. Обычные значения параметров указаны в скобках, лучшее значение подчёркнуто. Мы также включили примеры названия опций в различных версиях BIOS. Учтите, что меню далеко не всех BIOS имеет все настройки.
Автоматическая конфигурация/ Automatic Configuration (On/ Off)
(DRAM Auto, Timing Selectable, Timing Configuring) Если вы желаете вручную сконфигурировать задержки памяти, то вам следует отключить автоматическую конфигурацию памяти.
Чередование банков/ Bank Interleaving (Off/ 2/ 4)
(Bank Interleave) Чипы памяти DDR SDRAM состоят из четырёх банков. Одновременный доступ ко всем четырём банкам с помощью чередования увеличивает производительность.
Длина пакета/ Burst Length (4/ 8)
Длина пакета указывает, сколько блоков данных отсылаются в один цикл передачи. В идеальном случае одна передача будет заполнять одну строку памяти в кэше L2 современных Pentium 4 и Athlon XP. То есть она должна равняться 64 байтам или восьми пакетам данных.
Задержка CAS/ CAS Latency tCL (1.5/ 2.0/ 2.5/ 3.0)
(CAS Latency Time, CAS Timing Delay) Обозначает число тактов, проходящих между адресацией столбца и появлением данных на выходном регистре. Производитель памяти указывает максимально возможную установку CL.
Командный коэффициент CMD/ Command Rate CMD (1/ 2)
(Command Rate, MA 1T/2T Select) Число тактов, необходимых для адресации нужного участка данных в модуле памяти и чипе памяти. Если вы заполните максимальное число банков, то придётся увеличить коэффициент до двух, что негативно скажется на производительности.
Время предзаряда RAS/ RAS Precharge Time tRP (2/ 3)
(RAS Precharge, Precharge to active) Число тактов, требуемых для подзаряда цепей, чтобы определить адрес строки.
Задержка RAS-to-CAS/ RAS-to-CAS Delay tRCD (2/ 3/ 4/ 5)
(RAS to CAS Delay, Active to CMD) Число тактов, которые пройдут между определением адреса строки и высылкой адреса столбца. Установка этой задержки в два такта может дать улучшение производительности вплоть до четырёх процентов.
Время активности строки/ Row Active Time tRAS (5/ 6/ 7)
(Active to Precharge Delay, Precharge Wait State, Row Active Delay, Row Precharge Delay) Задержка, происходящая в случае адресации двух различных строк в чипе памяти друг за другом.
Частота памяти/ Memory Clock (100/ 133/ 166/ 200 MHz)
(DRAM Clock) Определяет тактовую частоту шины памяти. Обычно указывается в виде отношения к частоте FSB. Технология DDR удваивает скорость передачи по отношению к реальной тактовой частоте шины памяти.