CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Дай Бог памяти

Александр КОНДАУРОВ, начальник отдела научно-технической информации K-Trade

Современный ПК уже давным-давно перешагнул ту грань, за которой количество зависящих друг от друга и взаимодействующих друг с другом параметров укладывалось в рамки какой-либо адекватной модели. Настройка системы постепенно все больше начинает напоминать шаманские пляски с бубном, особенно для «непосвященных».

В самом деле — ну как заранее предвидеть, что вот эта системная плата, работающая абсолютно стабильно с совершенно любой памятью, напрочь откажется воспринимать память именно вот того производителя. Причем последняя с запасом прошла все тесты на стендах и точно так же совершенно стабильно работает со всеми остальными доступными платами. Или ну кто же мог бы предположить, что изменение всего одного параметра в системном реестре, казалось бы, совершенно не имеющего никакого отношения не только к железу, но и к каким-либо критичным частям системы в целом, вдруг полностью «убьет» все содержимое всех дисков, установленных в компьютере на момент перезагрузки?..

Помочь ответить на эти вопросы может только богатый опыт, наработанный на множестве подобных конфузов, как своих собственных, так и произошедших у друзей, знакомых, описанных в литературе или на форумах. Однако разработчики и производители всего этого множества устройств, плат, стандартов, программного обеспечения, все, кто обеспечивает рынок персональных компьютеров, прекрасно понимают, что делать ставку на «шаманов» и «гуру» они просто не могут — их количество сильно ограничено. Именно поэтому чем дальше, тем больше усилий затрачивается на то, чтобы результаты совместной работы устройств от разных производителей были по возможности предсказуемыми. Однако и от пользователя требуются некоторые усилия — как минимум, разобраться с тем, что более или менее формализуемо и хоть как-то однозначно влияет на результат. Мы и попытаемся внести некоторую ясность в этот, казалось бы, совершенно «темный лес» проблем.

Память: за что мы платим?

Как мы выбираем память? Чаще всего смотрим в документацию к своей системной плате и выясняем, какую память она поддерживает. Потом в прайсе любимой компьютерной фирмы ищем раздел соответствующих модулей и уж дальше — кто на что настроен. Кто подешевле (а какая разница?), кто подороже (наверное, качественнее!), кто — просто по знакомому бренду... Дальше-то совсем никаких сложностей: в плату вставил, лишь бы защелки на место попали, включил и работай...

Конечно, в соответствующем разделе прайса обычно находится не один продукт, а несколько, с разными названиями, различными цифрами в описаниях... Чем же они все же отличаются друг от друга?

Параметры памяти

Разница между сюрреалистами и мной состоит в том, что сюрреалист — это я.

Сальвадор Дали

Об очевидном параметре —объеме — долго распространяться не нужно. Всем давно известно, что памяти лишней не бывает, и в большинстве случаев объем покупаемой памяти ограничивается только финансовыми возможностями пользователя. На самом деле, такой подход постепенно себя изживает: благосостояние клиента растет, память дешевеет, и кое-кто уже начинает упираться в ограничения системных плат или операционных систем. Если Windows XP «съест» все, что ей ни дадут (в рамках ограничений материнских плат, разумеется), то владельцы Windows 9x все чаще и чаще сталкиваются с понижением стабильности работы системы при установке больше, чем полугигабайта ОЗУ. По сообщениям Microsoft, это может быть связано с неоптимальной работой системы кэширования столь больших объемов памяти.

Второй параметр, всегда присутствующий в прайсах, —тип памяти. На сегодняшний день в персональных компьютерах применяется динамическая оперативная память трех типов:

SDRAM (Synchronous Dynamic Random Access Memory — синхронная динамическая память произвольного доступа; от асинхронных отличается тем, что выдает данные в строго определенные моменты времени и обходится без сигналов подтверждения);

DDR SDRAM (Double Data Rate SDRAM выдает данные дважды за такт — по переднему фронту синхроимпульса и по заднему);

RDRAM (Rambus DRAM — динамическая память корпорации Rambus, обеспечивающая очень высокую пропускную способность ценой большого энергопотребления и солидной цены).

Статическая память заметно быстрее, значительно дороже и намного труднее организовывается в банки большого размера.

Третий параметр также часто упоминается в названии модулей памяти, хотя и не всегда. Это —пропускная способность канала памяти, напрямую зависящая от типа памяти и тактовой частоты, для которой эта линейка предназначена. В наиболее распространенной сегодня DDR SDRAM она обозначается буквами PC, за которыми следует количество мегабайт в секунду, которые в состоянии передать канал, работающий с этой памятью. Стандартными на сегодня являются PC1600 (1600 Мб/с, тактовая частота — 100 МГц, эффективная тактовая частота с учетом удвоенного потока данных — 200 МГц, DDR200), PC2100 (2100 Мб/с, 133 МГц, DDR266), PC2700 (2700 Мб/с, 166 МГц, DDR333) и PC3200 (3200 Мб/с, 200 МГц, DDR400). Некоторые производители маркируют свои модули памяти как PC3000 или PC3500, но эти нестандартные значения, и они свидетельствуют о том, что изготовитель уверен в разгонном потенциале своей продукции. Для SDRAM PC100 и PC133 означают просто тактовую частоту, на которой работает линейка, а для RDRAM PC800 и PC1066 — эффективную частоту (она вдвое выше тактовой).

Если этот параметр не указан, то чаще всего имеется в виду наиболее распространенный и наиболее медленный из выпускаемых вариант. Для DDR SDRAM сегодня это PC2100 (PC1600 стал стандартом, но массового выпуска так и не состоялось). Для SDRAM это скорее всего может свидетельствовать о PC133 (PC100 уже давно не выпускается), а в случае с RDRAM отсутствие указания чаще всего означает PC800. Однако если данный параметр вам важен, перед покупкой стоит его уточнить.

И завершает список de facto обязательных признаков, во-первых, наличие или отсутствиеконтроля четности (ECC — Error Checking and Correction). ECC-линейки памяти имеют кратное девяти количество чипов, в отличие от кратного четырем у Non-ECC. А во-вторых, наличие или отсутствиебуферныхрегистров (Registered). Если этих обозначений в названии модуля нет, то, соответственно, эти параметры отсутствуют. Регистровая память и память с контролем четности используются по большей части в серверных платформах, где ее применение оговорено спецификациями системной платы. Надо заметить, стоят такие модули заметно дороже своих «простых» аналогов.

Теперь перейдем к параметрам, которые в прайсах указываются далеко не всеми продавцами, но которые тоже могут существенно повлиять как на совместимость линейки с системной платой, так и на скорость работы подсистемы памяти.

На совместимость с системными платами влияет организация памяти и количество банков в модуле. 256 Мб на одной планке могут быть организованы по-разному: это либо 2 банка по 128 Мб, либо один 256-Мб’ный банк. Для старых системных плат важно не превысить объем одного банка (например чипсет i440ZX «видел» не более 64 Мб в одном банке, а i815E — до 256 Мб). Для новых же чаще бывает как раз наоборот: чипсет i845 может работать только с 4 банками памяти, и несмотря на наличие 3 слотов для памяти, двухбанковую линейку удастся поставить только в первый из них. Таким образом, желающему установить на свою плату 1.5 Гб оперативной памяти придется искать три однобанковых DIMM’а, а обычными на сегодня двухбанковыми он сможет набрать только один гигабайт (от второй и третьей линейки система увидит только половину).

На скорость работы подсистемы памяти влияет большая группа параметров, так или иначе связанных с задержками между выдачей сигналов и получением ответа от модуля. Так как описать полный протокол работы синхронной памяти достаточно сложно, остановимся только на тех параметрах, влияние которых наиболее заметно, и которые можно регулировать, изменяя настройки в BIOS’е.

Работа памяти SDRAM

Сначала чипсет активирует ряд и банк памяти, выдавая команду выбора строки RAS (Raw Address Select). Спустя время, необходимое чипу памяти для того, чтобы отреагировать на RAS (это время называется задержкой между командой выбора строки и командой чтения данных —RAS-to-CAS Delay), чипсет посылает команду чтения данных (выбора колонки) CAS (Column Address Select). После чего ждет, пока пройдет CAS Latency Time — задержка между формированием логикой управления кристалла микросхемы команды чтения и доступностью к чтению первого слова данных, и считывает с шины данных полученный результат. Если данные читаются пакетом, то за следующий такт читается следующий бит. Длина пакета задается параметром Burst Rate. После того, как пакет считан, чипсет выжидает следующий промежуток времени —RAS Precharge Time, длительность подзаряда строки, в течение которого восстанавливаются заряды на прочитанных ячейках, и выдает следующую команду выбора строки или чтения Рисунокданных, если следующая «порция» данных находится в той же строке.

Время от времени данные, к которым давно не обращались, нуждаются в восстановлении — дозарядке конденсаторов в ячейках до номинального уровня. С момента начала дозарядки до момента, когда строка вновь готова к обращениям, проходит время, называемое Precharge Delay.

Влиятельные параметры

Наиболее влияющим на скорость работы памяти временным параметром при заданной тактовой частоте памяти является CAS Latency Time — задержка между формированием логикой управления кристалла микросхемы команды чтения и доступностью к чтению первого слова. Если регистрация (опознавание приемником сигнала конкретного логического уровня) команды чтения происходит по фронту такта N, а CAS Latency составляет M тактов, то соответствующие данные будут доступны через N+M тактов. Однако для обеспечения гарантированной выдачи данных транзисторы выходных цепей линий данных включаются на один такт раньше (N+M-1). То есть на них выводятся данные с неопределенными (на тот момент) уровнями, в результате чего контроллер памяти ожидает еще один такт и только после этого принимает поступающие данные. При установке параметра задержки, равной CL2, для модулей, рассчитанных на CL3, выходные цепи могут не успеть выставить нужный уровень (и обеспечить номинальный ток) для точного представления данных на шине, и может возникнуть ошибка. В случае с DDR памятью появилась возможность более точной подстройки этого параметра — по полутактам. Несмотря на то, что CAS Latency Time измеряется в тактах, стоит обратить внимание на его, в сущности, временной характер. Дело в том, что 3 такта для DDR400 составят 15 наносекунд, и именно столько времени должно пройти до считывания данных. Так что если вам довелось поставить линейку PC3200 (DDR400) CL3 в плату, которая работает только на DDR266, то у вас есть возможность уменьшить задержку до 2 тактов (или до 2.5 тактов на DDR333), сохранив длительность задержки в пределах тех же 15 наносекунд.

Еще один важный параметр — задержка между командой выбора строки и командой чтения данных —RAS-to-CAS Delay. После подачи команды активизации банка, строку, к которой происходит обращение, необходимо зарядить (выполнить цикл накопления заряда Precharge) до момента поступления команды чтения. Это означает, что данные передаются из массива памяти на внутрикристальный выходной усилитель уровня с задержкой в 2 или 3 такта. Если данные читаются из уже открытой строки, то это промедление существенного влияния на скорость работы не оказывает, но в случае хаотически разбросанных по большому объему данных может повлиять на скорость работы в целом. Точно так же, как и в случае с CAS Latency Time, характер параметра — временной.

Длительность подзаряда строки —RAS Precharge Time — определяет, сколько времени нужно чипу памяти на то, чтобы обновить считанные данные. То есть через сколько времени можно вновь обращаться к следующей строке памяти после закрытия предыдущей. Обычно этот параметр равен двум или трем тактам системной шины. При этом большее значение гарантирует отсутствие ошибок, но на один такт увеличивает время чтения, если следующая выборка производится из другой строки памяти. Как и раньше, здесь важны не столько такты, сколько время.

Задержка подзаряда —Precharge Delay — время, необходимое для подзаряда строки, когда запросы к ней не обрабатываются, а напряжения на ячейках памяти приводятся к номинальному уровню. Чем больше это время, тем надежнее восстанавливаются данные, но и тем дольше они блокируются от внешнего доступа. В большинстве контроллеров этот параметр задается в интервале от 5 до 7 и по степени влияния на скорость системы примерно аналогичен с RAS Precharge Time.

Длина пакета —Burst Length — задает длину пакета данных, считываемых друг за другом при выполнении операции чтения. По умолчанию параметр обычно равен 4-м: по команде пакетного чтения из чипа памяти считываются подряд четыре бита данных без задержек и таймаутов. Его увеличение (обычно до 8-ми) позволяет сэкономить время при последовательном чтении, но в случае хаотично разбросанных по памяти данных приводит к удлинению цикла чтения и чтению ненужных битов.

В старых BIOS’ах первые четыре из перечисленных временных параметров сводились в одну линейку под названием типа Memory Timings и выбирать предлагалось из нескольких наборов вроде «3-3-3-7/3-2-2-6/2-2-2-5». В современных BIOS’ах чаще всего реализована возможность раздельной установки каждого из них. Значения по умолчанию в большинстве случаев либо берутся из регистров SPD (Serial Presence Detect), хранящих, помимо всего прочего, информацию и о таймингах памяти, на которые она рассчитана производителями. В случае если этой информации нет, или BIOS’у запрещено обращать внимание на SPD, по умолчанию выставляются самые медленные настройки. В «оверклокерских» BIOS’ах можно обнаружить как уже готовые наборы параметров (например, в Soltek 75FRN2-RL таких наборов целых четыре — стабильный, оптимальный, быстрый и агрессивный), так и возможность ручной настройки других временных параметров работы системной памяти.

Набор основных временных параметров памяти SDRAM и DDR SDRAM в большинстве случаев не отличается (собственно, различаются только «половинными» значениями CAS Latency, доступными для выбора в системах с DDR-памятью). В RDRAM же система таймингов совершенно особенная. Обусловлено это принципиально другим протоколом работы памяти, во-первых, и последовательной шиной, соединяющей чипы памяти, во-вторых. При том, что ядро чипа памяти — матрица динамических ячеек — такая же, как и в SDRAM, способ обращения к ней и передачи данных от нее в случае RDRAM накладывают свои особенности на настройку подсистемы памяти. Главным параметром, определяющим скорость работы RDRAM (при равной тактовой частоте), оказывается время доступа к строке —Raw Access Time, величина которого обычно не превышает 40 наносекунд. Это почти на порядок больше, чем время отклика SDRAM, однако не стоит пугаться большой цифры. Эта память «медленно запрягает, но быстро едет» — так много времени необходимо только при инициализации потока, потом же данные идут непрерывной чередой при очень немаленькой эффективной тактовой частоте — 800 или 1066 МГц. Такая особенность и предопределила области применения, в которых эта память выигрывает (высокоскоростные сетевые маршрутизаторы, серверы баз данных, в общем, те устройства, где преобладают пересылки больших цельных массивов данных). А вот в системах, работающих с хаотически разбросанными по массиву памяти данными, где преобладают не длинные потоки, а короткие выборки из разных мест области, RDRAM либо проигрывает, либо с трудом удерживается «на уровне» за счет высокой тактовой частоты. С приходом на рынок двухканальных чипсетов огромная тактовая частота перестает быть панацеей (две линейки DDR400, работающие в параллель, по эффективной тактовой частоте догоняют PC800 RDRAM). В итоге, у этой памяти практически нет перспектив на будущее в персональных компьютерах, и останавливаться подробнее на ней мы не станем.

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov