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 ГОД

Запоминай быстрее!

Владимир СИРОТА vovsir@km.ru

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

Вспомнить все!

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

В этот раз мы и займемся изучением вышепоставленного актуального вопроса и рассмотрим скоростные характеристики работы модулей памяти тех производителей, изделия которых реально представлены на украинском рынке. Думаю, и вопрос о том, до каких разумных :-) пределов можно разгонять память, также окажется актуальным для многих начинающих оверклокеров.

Затевая данный обзор, я, к тому же, задался целью определить, не будут ли чувствовать себя покупатели после приобретения «официальной» быстрой памяти (всякой там DDR 433, 450 и DDR 500 по номиналу), как, простите, «витязь в тигровой жо…». Ведь не секрет, что у таких «скоростных» модулей тайминги, как правило, «заторможенные». Не за счет ли последних людям продают ту же память под видом более быстрой?

Постулаты на память

В ходе наших научно-исследовательских работ мы будем исходить из следующих постулатов. Во-первых, мы станем исследовать возможности разгона только модулей памяти по номиналу DDR 400 и выше. Ибо если пользователь хочет установить в свой ПК действительно самую быстродействующую на сегодня память, то вряд ли он остановит свой выбор на DDR 266 или даже DDR 333, так как ценовой разрыв между модулями DIMM памяти разных типов DDR на сегодня крайне не значителен (порядка $1–4). И экономить на этом точно не стоит. Даже если вы будете использовать DDR 400 в качестве DDR 333, то сможете получить дополнительный прирост производительности компьютера за счет возможности применения более быстрых таймингов для DIMM.

Во-вторых, мы будем использовать по два модуля DDR 400 от каждого производителя, емкостью по 256 Мб каждый. Сделаем так потому, что емкости ОЗУ в 512 Мб, по моему скромному мнению, вполне достаточно для современного игрового/рабочего компьютера. В подтверждение своих слов приведу такие данные. При загруженном в память Word’е с открытым файлом значительных размеров; при находящемся в ОЗУ Excel’е с открытым файлом, содержащим данные и построенные по ним 24 диаграммы; с Photoshop’ом при 14 загруженных картинках; при уже «висящем» в памяти NFS Hot Pursuit 2 с проеханным уровнем — при всем этом из 512 Мб оперативной памяти свободными остаются еще около 50 Мб. Если интересно, то Word занимает около 9 Мб, Excel — 4.5 Мб, Photoshop с «неслабыми» картинками — 210 Мб, NFS — порядка 100 Мб. Всю остальную память «отъедают» ядро и службы ОС, а также драйверы (рис. 1). Так что устанавливать более чем 512 Мб памяти на рядовой современный ПК вряд ли стоит. Впрочем, если вы ориентируете ваш компьютер на специфические профессиональные задачи, как-то: обработка «весомой» графики, видео и прочие «прелести», в таком случае, конечно же, можно потратиться и на оперативную память большей емкости.

Рис. 1.

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

Запомним основы

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

Иногда некоторые читатели упрекают меня, что я использую в ходе своих «испытаний» небольшое число тестов. Касается это и данного тестирования памяти, где я буду обходиться результатами одной SiSoft Sandra 2004. Попробую объяснить, почему я так поступаю, и отстоять свою точку зрения. Но прежде давайте посмотрим правде в глаза и приглядимся, так сказать, к практике работы памяти.

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

Копнем глубже. Самые быстрые операции по обмену данными ядро процессора может осуществлять с кэшем первого уровня (L1) — скорость обмена здесь доходит до нескольких десятков гигабайт/с (рис. 2). Причем латентность при передаче данных минимальна (латентность — это задержка при поступлении данных из памяти к ядру ЦПУ (или из ядра в память), она измеряется в количестве «холостых» тактов процессора). С увеличением размера блоков передаваемых данных, а также с «перекочевыванием» их в кэш второго уровня (L2) скорость поступления/отправки данных к/от ЦПУ падает на порядок (хотя и остается очень большой), а латентность при передаче возрастает (рис. 2). При обмене же процессором информацией непосредственно с установленными модулями памяти DIMM, т.е. так называемой оперативной памятью (ОЗУ), скорость такого обмена снижается еще больше (в несколько раз (!), она просто не сопоставима со скоростями, характерными для работы с кэшем (рис. 2)). Причем наличествует общая тенденция — чем больше пакеты передаваемых данных (в Кб), тем менее производительной оказывается подсистема памяти, в прямой зависимости от того, в кэш или ОЗУ «помещаются» сами пакеты (таблица 1).

Рис. 2.

Вторая же «закавыка» в работе системы «ядро процессора — чипсет — память» заключается в том, что скорость обмена данными между ЦПУ и ОЗУ сильно зависит от разрядности данных, которыми этот самый обмен осуществляется.

Удивлены? Вы думали, что раз большинство современных процессоров именуются 32-разрядными, и такими же являются современные операционные системы, то и обмениваются они 32-битными данными, ну иногда еще 16-битными, по старой, так сказать, памяти? И что на большее — работу с 64-битными кодами — способны только недавно вышедшие процессоры AMD Opteron, Athlon 64 и Athlon FX? Уверяю вас, это не так! Современные (и даже не очень) процессоры способны на гораздо большие, чем просто 32-битные вычисления. Вы помните об инструкциях ММХ и SSE/SSE2? Так вот, набор команд ММХ включает самые что ни на есть 64-разрядные инструкции, а блоки процессора, ответственные за выполнение операций над числами с плавающей запятой (FPU-блок), вообще могут обрабатывать SSE/SSE2 команды с использованием 128-битных данных. А что касается достижения компании AMD, то она сделала «заключительный» шаг в переводе современных ЦПУ на 64-битные вычисления. Она заставила блок ALU (арифметико-логическое устройство (АЛУ), оно ответственно за операции с целыми числами) процессора, этот «последний бастион» чисто 32-разрядных вычислений, также научится обрабатывать 64-битный код. Впрочем, толку от этого пока все равно никакого (нет соответствующего ПО).

Итак, нас интересует следующее. Важно то, что при использовании ядром ЦПУ кода разной разрядности скорость обмена данными с памятью также различается, в том числе когда это касается операций по обмену данными с кэш-памятью. При обмене данными непосредственно с модулями оперативной памяти эта «разница от битности» кода сокращается, но все равно остается. При этом расклад такой — самый медленный обмен между ядром процессора и ОЗУ характерен для 32-битного кода, 64-битный побыстрее «пойдет», ну а самый быстрый трансфер данных между ЦПУ и памятью происходит при работе со 128-разрядными SSE/SSE2-инструкциями.

Конечно, можно было бы долго и упорно собирать все подобные данные и приводить вам вот такие графики (рис. 2) или заставлять смотреть вот такие таблицы (таблица 1). Только мне кажется, что глядеть на «такое» неудобно, этап рассмотрения таблиц, подобных таблице 1, подавляющее большинство читателей пропустит из-за чрезвычайной скучности такого занятия. И главное, как было уже сказано, мы не задавались целью досконально изучить все режимы работы подсистемы памяти. Это нам не нужно. Наша задача — уловить разницу в изменении быстродействия ПК при разгоне памяти, а для этого нам будет вполне достаточно нескольких хороших тестовых приложений, например таких, как тест памяти из пакета SiSoft Sandra 2004, 3D Mark03 и старый добрый Quake III. И пусть себе Sandra 2004 меряет производительность каналов памяти ПК на самых быстрых 128-разрядных SSE/SSE2-инструкциях. Зато такой «экономный» подход позволит нам получить более удобочитаемые, наглядные диаграммы результатов и упростит (сократит) обработку и анализ полученных данных. Так что не будем увлекаться маньячеством и приводить немеряное количество итоговых данных и графиков, от которых никакого эффекту, кроме ряби в глазах :-), получить невозможно.

Если все же кого-нибудь сильно интересует вопрос скорости обмена данными между ЦПУ и ОЗУ не только при передачи SSE-инструкций, то таким «любознательным» просто необходимо получить интересующую их информацию, исходя из следующих пропорций. Чтение 64-битных данных (для ММХ-инструкций) из памяти при работе CPU с модулями DIMM происходит примерно на 10% быстрее, чем при работе с 32-разрядными инструкциями. В свою очередь SSE-команды позволяют поднять производительность чтения из ОЗУ, по сравнению с ММХ, еще примерно на 24%. На операциях же записи в оперативную память разницы в производительности при использовании инструкций разной бытности практически нет вообще (таблица 1). В этом случае также совершенно не играет роли и размер пакетов данных (таблица 1), все зависит только от того, покинули ли мы :-) пределы кэша ЦПУ. При этом сохраняется общая закономерность — скорость записи в ОЗУ ниже, чем скорость чтения из него. Например, для SSE-инструкций соотношение скоростей чтения/записи из ОЗУ примерно равно 3/1.

Таблица 1.

Впрочем, рассмотренные выше соотношения зависят от конкретной платформы (установленного процессора и чипсета) и режима работы памяти, так что найти абсолютную истину здесь невозможно. Более того, не стоит забывать, что результаты тестовых измерений «скачут», особенно это касается замеров производительности при операциях чтения из памяти (скорость записи в память, как правило, довольно стабильна). А поскольку я не претендую на академичность данного труда, то регулярно обрабатывать несколько таких массивов информации, как поданы в таблице 1, счел нецелесообразным.

Ну вот вроде бы «излил» теорию, в следующей части статьи мы перейдем к практике.

(Окончание следует)

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






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

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

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





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