На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Железо
Разделы в "Железо":
Новое в разделе "Железо"НакопителиМат. платы и процессорыПолезняшкиНакопителиВидеоПринтерыЗвукСканерыЦифровые камеры

"Быстрая" память: заблуждения и факты


Создается такое впечатление, что производители компьютерных комплектующих в последнее время стремятся к одному -- заполнить рынок как можно большим количеством "железа". Процессоры выходят чуть ли не каждый месяц, в линейках видеочипов NVidia и ATI уже, что называется, "черт ногу сломит", чипсетов для Pentium 4 уже больше десяти. Несмотря на, казалось бы, гораздо меньшее пространство для экспериментов, развернулись не на шутку и производители памяти...
Для начала следовало бы перечислить "героев" поименно. Итак, какие же типы памяти сейчас реально присутствуют на рынке и какие должны на нем появиться в ближайшее время? Проще всего привести их прямо в тексте статьи, но при беглом взгляде на позиции, присылаемые различными компаниями для публикации в еженедельнике "Hot Line", нам пришла в голову идея "одним выстрелом убить двух зайцев" и все-таки представить эту информацию в виде таблицы. Более того -- чтобы окончательно покончить с чехардой хотя бы "у себя дома", мы приводим в ней не только правильные наименования различных типов памяти, но и неправильные -- уж слишком часто приходится встречаться с последними.

В этой статье мы рассмотрим некоторые из самых распространенных мифов, связанных с функционированием подсистемы памяти в современных x86-системах. Мифов этих накопилось довольно много, и, что самое печальное, слепая вера в них иногда доставляет массу неприятностей как конечным пользователям, так и тем, кто торгует комплектующими. Более того -- даже сами продавцы иногда верят в эти "байки компьютерной эры" не меньше покупателей, совершенно искренне "консультируя" последних, чем потенциально себе же вредят, ибо "...сколь веревочке не виться", рано или поздно время и практика реальной работы с компьютером все расставляют по местам.


Скорости разные бывают...

Наименования и типы памяти
Давайте задумаемся: а что это вообще такое -- "быстродействие подсистемы памяти"? Вопрос отнюдь не праздный, потому что одним числом (как это часто пытаются сделать) описать этот параметр невозможно. Как минимум мы имеем дело с двумя величинами -- скоростями линейного чтения/записи и скоростью доступа к нужной ячейке памяти. Самое большое заблуждение, с которым постоянно приходится иметь дело специалистам в данной области, когда они, к примеру, консультируют рядового покупателя, -- это непонимание последним важности второго параметра (а бывает и так, что он просто не подозревает о его существовании). Так и хочется процитировать несколько намеренно "корявую" в плане языка, но очень точную по смыслу народную присказку: "Если бы все было так просто, то оно бы не было так сложно". И действительно -- "магические цифры" в наименованиях новых типов памяти (PC2100, PC2700, PC3200) вроде бы обещают невиданные показатели в сравнении со "скромненькими" PC100/PC133... но иногда, увы, ожидания оказываются настолько расходящимися с реальностью, что это даже вызывает у пользователя возмущение: "Как же так?! Мне обещали, что все программы будут "летать", а они по-прежнему "ползают"! Однако на самом деле вины тут ничьей нет, скорее это не вина, а "беда". А беда у нас в подавляющем большинстве случаев с обманутыми ожиданиями от компьютерного железа одна -- незнание.

К примеру, на системе, оснащенной одним из самых быстрых типов памяти, исполняется некая программа. Будет ли она исполняться медленнее на системе с меньшей пропускной способностью ОЗУ? Не факт. Мы бы даже сказали, "дважды не факт", ибо есть две ситуации, при которых ответ будет отрицательным, и только одна, приводящая к положительному результату.

Ситуация первая, "плохая" -- программа производит активные вычисления с довольно малым объемом данных, и размер кода программы меньше или равен объему кэша второго уровня установленного в системе процессора. В этом случае большинство данных и код один раз считываются в L2-кэш CPU, после чего процессор долго "переваривает" их внутри себя, вообще не обращаясь к основному ОЗУ. Таким образом, быстродействующая подсистема памяти может проявить себя только один раз (данные и код быстрее попадут в кэш), но относительно общего времени выполнения задачи эти мгновения исчезающе малы, и ими можно пренебречь. Аналогичного рода ситуация, только "расширенная" -- это случай, когда программа сама по себе велика, но вся она состоит из подобного типа "кусков", и переключение между ними происходит нечасто (относительно общего времени выполнения задачи).

Ситуация вторая, "плохая" -- программа написана "беспорядочно", с множеством постоянно происходящих переходов (JMP), и работает с большим количеством данных относительно малого объема. При этом становится очень важным вторая (та самая "забытая") характеристика быстродействия памяти: скорость доступа к произвольному адресу памяти, или латентность. Фактически работа контроллера ОЗУ в данном случае напоминает езду на мощном спортивном автомобиле по городу с узкими и короткими улочками -- двигатель-то позволяет ехать со скоростью хоть 200 км/ч, да только где ж ее набрать -- не на дистанциях же около 100 метров?! А дальше опять поворот... А со скоростью произвольного доступа у нас, увы, все по-прежнему не очень хорошо. Более того -- латентность у DDR SDRAM стала даже больше, чем у обычной PC100/PC133.

Ну и наконец, ситуация третья, "хорошая". В идеале она представляет собой программу, которая состоит из небольших блоков кода, помещающихся в кэш второго уровня (чувствуете похожесть на самую первую?), но при этом код обрабатывает относительно большие массивы данных, "прокачивая" их через себя и каким-то образом модифицируя. В этом случае мы, прибегая к той же "транспортной" аналогии, наблюдаем широкую, гладкую трассу, проходящую "сквозь" процессор, по которой с большой скоростью и по прямой движется поток машин. Никаких "поворотов", никаких узких мест -- контроллер и ОЗУ работают в идеальном режиме. Что же это за программы? Самые простые примеры: архиваторы, программы для конвертации одних форматов в другие, словом -- все, что связано с обработкой потоковых данных. Вот почему наша Тестовая лаборатория использует для тестирования быстродействия подсистемы памяти ПО именно этого класса.

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


И еще немного о мифах

Раз уж мы решили затронуть тему "мифов", было бы неправильно умолчать еще о двух заблуждениях, по большому счету именно к скорости подсистемы памяти отношения не имеющих, но по своим последствиям не менее неприятных, чем вышеприведенные.

Заблуждение первое: быстрая память хороша сама по себе. Это не так. Даже если мы создадим почти идеальные условия (ситуация третья, "хорошая"), память с большой пропускной способностью даст выигрыш только в том случае, если вычислительная мощь процессора позволит обработать поток данных с соответствующей скоростью. Практика показывает, что в некоторой степени преимущества, к примеру, памяти типа PC2100 над обычной PC133 начинают сказываться на системах, оснащенных процессорами с частотой 1300--1400 MHz. Существенное же ускорение от использования быстрой памяти проявляется на частотах от 1600--1700 MHz и выше (не забываем вышенаписанное -- по-прежнему это касается только тех ситуаций, в которых это преимущество способно проявиться в принципе).

Заблуждение второе: "...денег мало, но нужно выбирать прогрессивные технологии -- не буду покупать 256 MB медленной PC133, лучше куплю 128 MB быстрой PC2100...". Почти со стопроцентной уверенностью можно предсказать, что работать такая система будет медленнее, причем намного медленнее. Как правило, программы, требовательные к скорости работы с ОЗУ, критичны не только к этому параметру, но и к другим. В частности, они и места в памяти занимают немало. При 128 MB ОЗУ "на все про все" (не забываем, что сама ОС тоже "отхватывает" изрядный его кусок) запуск такого ПО заканчивается резким увеличением количества обращений к файлу подкачки, и -- "прощай, скорость, прощай навсегда!". Как можно увидеть разницу в скорости PC133 и PC2100, когда 50% времени уходит на постоянную работу с винчестером?

DDR400: стандарт еще не принят, но "первые ласточки" уже прибыли

Память DDR266 (PC2100) еще только набирает вес и популярность в глазах массовых пользователей, медленно тесня старую добрую PC133 SDRAM, а новая DDR333 (PC2700) лишь недавно появилась в прайс-листах отечественных компаний. Но неутомимый прогресс не стоит на месте, и энтузиасты уже вовсю говорят о DDR400 -- памяти нового стандарта, работающей на частоте 400 MHz (200 2) и именующейся как PC3200 (по причине теоретической пропускной способности 3200 MBps). Как известно, стандарт DDR400 еще официально не утвержден, однако первые продукты, в названиях которых так или иначе значится волшебное число "400", уже появились -- и даже у нас.

Из производителей чипсетов пока только VIA Technologies сделала шаги в сторону DDR400. Так, выпущены два чипсета Apollo P4X400 и Apollo KT400 (для систем на Pentium 4 и Athlon XP соответственно), в названиях которых те самые "400" присутствуют. Странность заключается в том, что официально о поддержке памяти DDR400 ни в одном из двух чипсетов не заявляется -- и для P4X400, и для KT400 перечень типов поддерживаемой памяти заканчивается на DDR333. Однако не нужно быть семи пядей во лбу, чтобы догадаться о значении числа 400 в данном случае. Кроме того, для P4X400 в списке частот памяти уже указаны 200/266/333/400 MHz.

Означает это лишь одно: как только стандарт DDR400 будет официально принят, VIA тут же выедет "в белом фраке на белом верблюде" с парой готовых и даже опробованных чипсетов под две наиболее массовые настольные платформы -- P4 и Athlon.

В новых чипсетах немало... скажем так, новых возможностей, поскольку назвать их интересными язык пока не поворачивается. Например, поддержка AGP 8X -- это, конечно, очень современно, но вот толку от нее пока немного. Но, так или иначе, продукты заслуживают детального рассмотрения, выходящего за рамки данного материала. Поэтому пока мы предлагаем лишь мини-обзор трех плат, появившихся у нас "с пылу с жару".

Albatron KX400+ Pro
Albatron KX400+ Pro (Socket A, VIA KT333). Эта плата -- первый продукт Albatron Technology, попавший на страницы нашего издания. Президентом этой молодой, но энергичной тайваньской компании является один из соучредителей Gigabyte. Albatron Technology начала работать в области производства материнских плат и видеокарт, и, по ее заявлениям, в KX400+ Pro впервые реализована поддержка DDR400 SDRAM. Плата интересна тем, что основана на чипсете VIA Apollo KT333, официально не совместимом с этим типом памяти, но, тем не менее, в характеристиках платы поддержка DDR400 все-таки значится -- правда, с явной ссылкой на оверклокинг. Фактически это означает, что Albatron провела соответствующий тюнинг, позволяющий работать с памятью данного стандарта, но достижимо это, ввиду ограничений чипсета, только при частоте FSB 333 (166) MHz. Впрочем, истинные "мастера оверклокинга" достигали на Athlon XP и бoльших высот, так что ничего принципиально невозможного здесь нет.

Интересно и то, что на KX400+ Pro вместо стандартного южного моста VT8233A используется новый VT8235, поддерживающий, в частности, USB 2.0.

Micro-Star KT4 Ultra
Micro-Star KT4 Ultra (Socket A, VIA KT400). Как и всегда у Micro-Star, плата является универсальной PCB с разводкой под все требуемые "по максимуму" микросхемы, поэтому "старшинство" модели определяется тем, какие из них реально присутствуют на конкретном экземпляре. В данной PCB предусмотрены контроллер FireWire, 6-канальный звук на чипе CMedia CMI8738, 10/100 Ethernet, и даже такая экзотика, как набортовый Bluetooth-адаптер и чип Promise PDC20376. Последний представляет собой и вовсе интересную комбинацию: это контроллер Serial ATA (два порта), поддерживающий еще один порт стандарта UATA/133. В нашем варианте поставки присутствовал только 6-канальный звук. Также в плате реализована фирменная технология MSI D-LED (светодиоды расположены на планке с дополнительными USB-разъемами). В комплекте идет традиционный для Micro-Star набор утилит: PCAlert версии 4.0 (программа аппаратного мониторинга), Live BIOS/Live Driver (программно-онлайновый сервис для автоматического обновления BIOS и драйверов платы), Live Monitor (этот инструмент позволяет отслеживать обновления BIOS и драйверов в фоновом режиме через заданные промежутки времени), а также знаменитая утилита FuzzyLogic, выдержавшая уже четыре редакции и позволяющая "интеллектуально" определять максимальные допустимые частоты FSB при разгоне, при которых система сохраняет работоспособность. Тонкие настройки сразу "выдают" серьезную оверклокерскую плату: можно пошагово изменять частоту FSB (до 280 MHz, но, положа руку на сердце, это чистой воды маркетинговый ход, так как вряд ли хоть один CPU заработает на такой частоте), также поддерживается ручное управление напряжением CPU VCore, DDR/Termination Voltage, AGP Voltage.

Soltek SL-85ERV
Soltek SL-85ERV (Socket 478, VIA P4X400). Плата под Pentium 4 формата ATX покрыта беловато-серебристым лаком, как и некоторые другие новые модели Soltek. Набор разъемов -- 1 AGP, 6 PCI, 3 DIMM (поддерживается только DDR-память); слот AMR/CNR отсутствует. Имеется AC'97-кодек Realtek ALC650, опционально устанавливается сетевой чип-компаньон VIA VT6103 (на модификации SL-85ERV-L). Разъемов питания на плате три -- ATX, дополнительный ATX/12V и стандартный "винчестерный", который можно использовать вместо ATX/12V, если блок питания не имеет соответствующего разъема. Есть перемычки для ручной установки FSB 100/133 MHz и защиты Flash ROM от записи. Частота памяти DDR (266/333/400) выставляется явным образом, независимо от частоты FSB. Из четырех разъемов вентиляторов мониторинг осуществляется для двух, есть два термодатчика в разных концах платы -- встроенный и требующий внешней термопары. Используется южный мост VT8235 с поддержкой USB 2.0. Плата оснащена AMI BIOS с полным набором оверклокерских функций: плавное изменение частоты FSB 100--200 MHz, управление напряжениями питания процессора (1,1--1,85 В с шагом 0,025), AGP (1,5/1,6/1,7/1,8 В) и памяти (2,5/2,6/2,7/2,8 В); поддерживаются и ручное распределение IRQ по слотам, и отключение неиспользуемых контроллеров USB 2.0.


Тестирование

Данный материал не претендует на роль полномасштабного тестирования всех типов памяти, всех чипсетов... и так далее. В конце концов, мы и не ставили перед собой такой цели. Поэтому была выбрана всего одна платформа (Socket 478) и не очень большое количество тестов: низкоуровневый Cachemem, определяющий фактическую скорость прокачки данных и латентность, и два приложения, одно из которых известно своей чувствительностью к быстродействию подсистемы памяти (архиватор WinAce с размером словаря 4 MB), другое же, наоборот, по результатам многих предыдущих тестирований признано достаточно индифферентным к пропускной способности ОЗУ (программа 3D-моделирования Maya). В принципе, с нашей точки зрения этого набора вполне достаточно, чтобы оценить главное: каким образом в зависимости от типа используемого ПО результаты низкоуровневых измерений производительности могут коррелироваться с быстродействием системы при работе с реальными программами.

В качестве представителей соответствующих чипсетов были выбраны платы: Soltek SL-85ERV (VIA Apollo P4X400, инженерный сэмпл), DFI NB-76EA (Intel i845G, поддерживает работу с DDR333 при сохранении штатных частот FSB/AGP/PCI), ASUS P4T533-C (Intel i850E, плата предназначена для установки 16-битовых модулей RDRAM), ASUS P4T533 (i850E, рассчитана на использование с 32-битовыми модулями RDRAM). Для "имитации" DDR266/333/400 применялся один и тот же модуль, управление реальной частотой работы памяти осуществлялось с помощью BIOS материнских плат. Ввиду физических ограничений самого модуля (микросхемы памяти все-таки имеют фиксированное время доступа) параметр CAS для DDR266 был равен 2, для DDR333 -- 2.5, для DDR400 -- 3. Насколько нам известно, это вполне соответствует реальному наличию модулей на рынке (модули DDR400/CAS2.5, например, сейчас практически недоступны).

Изюминкой же данного теста является то, что в нем мы впервые использовали недавно вышедший процессор Intel Pentium 4 2,8 GHz. "Подоспел" он, не скроем, весьма удачно, ибо чем больше частота работы ядра -- тем больше и загруженность шины ОЗУ. Пожалуй, сейчас Pentium 4 с такой частотой и с его 533-мегагерцевой системной шиной является практически идеальной платформой именно для исследования быстродействия различных типов памяти.


Результаты тестов

Начнем с наиболее интересного -- с показателей латентности. На сводном графике, где присутствуют все типы памяти и чипсеты, легко заметить, что RDRAM очень неплохо помогает бороться с латентностью, за которую ее всегда ругали, банальное повышение частоты работы -- линии PC800 и PC4200 идут почти параллельно, но вторая -- ощутимо ниже первой. Правда, абсолютным чемпионом в данном тесте является все-таки комбинация из i845G и DDR333 SDRAM. Однако не менее интересен второй график -- одна и та же память, аналогичные тайминги... и такие разные результаты! Линии опять-таки почти параллельны, но как сильно отличается латентность в зависимости от контроллера памяти! Чипсет VIA P4X400 явно гораздо хуже "справляется" с задержками, чем i845G. К слову, данный график еще раз подтверждает мысль, не раз звучавшую в начале статьи: подсистема памяти -- это именно подсистема, а не "отдельно взятый модуль DIMM определенного стандарта". Контроллер ОЗУ, являющийся частью чипсета, вносит свои "поправки" в ее функционирование, и, скажем так, не всегда эти поправки положительны по эффекту.

Диаграммы со скоростями чтения и записи особых сюрпризов не преподнесли: самую высокую скорость продемонстрировала система с памятью PC4200 (PC1006) RDRAM, буквально по пятам за ней следует DDR333. А вот DDR400... Напомним, что ее работу мы могли оценить только на одном чипсете, а именно -- на VIA Apollo P4X400. Честно говоря, ожидали мы намного большего, поэтому единственное, что остается, -- грешить на плату. Предположение в общем-то вполне обоснованное с учетом того, что мы имели дело с инженерным сэмплом. Дополнительным косвенным подтверждением гипотезы о "неокончательности" результатов DDR400 и VIA P4X400 является еще и тот факт, что в диаграмме со скоростью записи ситуация намного лучше: VIA P4X400 + DDR400 удалось обогнать всех, кроме i850E + PC4200 RDRAM.

А вот тестирование быстродействия систем с помощью реальных приложений четко расставило все по своим местам (как мы, впрочем, и ожидали). Прирост производительности от использования DDR333 вместо DDR266 на чипсете i845G по результатам теста Сachemem равен 21% по чтению и 25% по записи. В весьма "дружелюбном" к быстрой памяти WinAce -- уже всего 17%. Примерно аналогичная ситуация наблюдается и в случае PC800 RDRAM vs. PC4200. Свидетельствует это прежде всего о том, что теоретическая пропускная способность -- это одно, фактическая (результаты низкоуровневых тестов) -- другое, а прирост быстродействия в программах -- как говорится, "совсем третье". И уж точно не стоит питать надежды, что поделив 333 на 266, вы получите коэффициент, позволяющий оценить реальное увеличение быстродействия при апгрейде с одного типа памяти на другой.

Результаты тестирования систем в Maya... Надеемся, что этот "холодный дождик" действительно охладит пыл некоторых неофитов, утверждающих, что увеличение пропускной способности ОЗУ является магической "панацеей" -- "лекарством от всего". Да, иногда использование быстрой памяти приводит к положительным результатам. А иногда -- нет. Все зависит исключительно от специфики конкретного приложения. В данном случае, например, разница в производительности между самой быстрой и самой медленной системой составила всего 3%.


Заключение

Оно будет кратким. Всевозможнейших типов, стандартов, частот, и прочая, и прочая на рынке памяти действительно стало гораздо больше, чем раньше. Однако это вовсе не означает, что стоит гнаться сломя голову за каждой новинкой. "Слабенький" контроллер может нивелировать эффект от применения любой, даже самой быстрой памяти, используемые приложения -- так и вовсе "не прочувствовать" всех ее прелестей, а перманентный апгрейд, как известно, -- хобби довольно накладное, да и не столь уж благодарное. Хорошая, продуманная конфигурация всегда отличается от собранной по принципу "чтобы все было круто!" тем, что составляющий ее пользователь смотрит не только на цифры в спецификациях, но и реально оценивает полезность каждого компонента, соотношение цена/производительность, и прежде всего -- задачи, которые он собирается решать с помощью компьютера. Этот принцип отбора универсален и вполне подходит к любым комплектующим. Системная память -- не исключение.

Станислав Гарматюк
ITC Online

Спонсор раздела

Лучшие статьи раздела читайте в еженедельном сетевом журнале
"I2R Computer"
Подпишитесь на рассылку
"Железо. И2Р"
Подписка на Subscribe.Ru
Другие разделы
Новое в разделе
Мат. платы и процессоры
Полезняшки
Накопители
Видео
Принтеры
Звук
Сканеры
Цифровые камеры
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100