Athlon 64 — тонкая настройка

Настраиваем интегрированные опции


Не секрет, что производительность современных процессоров, даже «бюджетников», не говоря уже о high-end-моделях, в большинстве потребительских задач точнее всего можно назвать одним словом, как «достаточную». А видимую невооруженным глазом разницу между старшими моделями удается зафиксировать лишь в играх да программах обработки растровой и 3D-графики и (что в домашнем обиходе встречается намного реже) редактировании звукозаписей. Конечно, всегда будут существовать профессиональные приложения, потребности (и возможности) которых растут по мере совершенствования железа. Причем профессиональные — в широком смысле, большинство из тех, кто использует компьютер для работы, могут привести свои «случаи из жизни», когда скорость реакции даже топовой конфигурации отстает от скорости реакции человека (а значит, строго говоря, производительность нельзя назвать избыточной). Но совершенно ясно, что для привлечения массового потребителя скоростной фактор уже становится не единственным определяющим фактором при выборе. Посмотрев тесты, этот самый потребитель может обнаружить, что для успешной в целом поддержки его задач, достаточно процессора старого поколения. И тогда побудить его идти в ногу со временем и выбрать новый, могут лишь какие-то «третьи причины».

В качестве таких причин оба главных производителя x86-процессоров интегрируют в свои чипы фирменные технологии, не обязательно связанные с традиционной задачей сделать процессор «быстрее», но по-своему влияющие на привлекательность конечного продукта. Разумеется, если процессор достойно справляется со своими основными задачами, наличие подобных бонусов можно только приветствовать. Однако есть у них и общая не столь приятная черта — зависимость от программной и аппаратной поддержки «опций» материнской платой, ее BIOS и операционной системой. Если процессор приобретается в составе системного блока, пользователь, безусловно, вправе рассчитывать, что все настройки за него сделает производитель. Но в любом случае проверить и убедиться, что купленные технологии не просто формально существуют, но действительно работают оптимальным образом, всегда невредно. В этой статье мы разберемся с тонкой настройкой самого «опциеобильного» процессорного семейства — Athlon 64. Сразу хотелось бы отметить, что на основательное теоретическое исследование мы не претендуем. Только — практика.

Интегрированный контроллер памяти (и немного о Venice)

Начнем, пожалуй, с «влияющей на производительность», но, тем не менее, также поддающейся пользовательской настройке опции ядра K8 — интегрированного контроллера памяти. К тому же, наиболее заметные с точки зрения пользователя (причем не всякого, а лишь собирающегося поставить МНОГО памяти, для остальных, выбор процессора на новом степпинге, сторого говоря, может быть оправдан лишь большим разгонным потенциалом) изменения в обновленном степпинге E3 (ядро Venice) связанны именно с контроллером памяти. Вторую опцию — поддержку SSE3 стоит отнести к скорее маркетинговым бонусам, оптимизированных программ по-прежнему немного, да и в «немногих оптимизированных» реальный эффект от дополнительных команд — скромный. И вряд ли софтовики с новой силой примутся за оптимизацию по той причине, что к числу «поддерживающих SSE3» примкнули процессоры от AMD.

Направление усилий инженеров AMD очевидно — улучшить характеристики контроллера памяти так, чтобы с увеличением объема памяти (количества заполненных банков) можно было обойтись как можно меньшим снижением частоты и/или повышением таймингов. Само по себе это неизбежное явление (как для интегрированных, так и для дискретных контроллеров) и связано с ограничением электрической нагрузки на контроллер. Но если учесть, что абсолютное большинство плат для «настольных» ПК физически имеют не больше 4 модулей (8 банков), то практически идеальной можно будет считать ситуацию, когда мы сможем заполнить все банки, не вводя дополнительных задержек.

В системы на первых ревизиях Athlon 64 под Socket 939 для работы на максимальной частоте (DDR400) можно было установить только пару модулей (одно- или двусторонних 1), что на практике означало суммарный объем не более 2 Гбайт. И, например, если нам требовалось набрать 3 Гбайта (для сохранения двухканального режима работы его можно получить установкой пары двусторонних модулей по 1 Гбайту и пары односторонних по 512 Мбайт) требовалось корректировать множитель, превращая память в DDR200.


*Если материнская плата поддерживает соответствующий множитель в BIOS, возможна работа как DDR266

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

Вообще, переходя к практической части, надо признать, что даже ограничения контроллеров в прежних ревизиях критическими не назовешь. Подавляющее большинство приложений, требующих больше 2 Гбайт памяти, слабо чувствительны к тонким нюансам ее производительности. Напротив, в серверах и рабочих станциях, оперирующих действительно большими объемами памяти, активно используется DDR266–DDR333, чаще всего регистрового типа.

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

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

Лабораторная работа

Для окончательного прояснения ситуации, осталось ответить на три практических вопроса. К каким значениям таймингов надлежит стремиться для получения оптимального взаимодействия контроллера с памятью? Имеет ли смысл тратиться на элитную память, способную работать на штатной частоте с агрессивными таймингами вплоть до минимального на сегодняшний день сочетания 2-2-2-5, если объем памяти умещается в двух модулях? И какой вариант (большую частоту с 2T-задержкой или меньшую — с 1T) выбрать, если приходится заполнять памятью все слоты?

Не будем отвлекаться на физическую трактовку каждого тайминга, благо информацию об этом найти нетрудно. Общие рекомендации в отношении первых трех параметров — tCAS (CAS# Latency), tRCD (RAS# to CAS# Delay), tRP (Row Precharge) оригинальностью не отличаются, чем меньшее значение удается утвердить, тем во всех случаях выше будет производительность.

Причем наибольшее влияние на общую производительность оказывает изменение параметра CAS# Latency. Нюансы возникли лишь с последним в списке параметром tRAS (Activate to Precharge), в некоторых версиях BIOS его можно встретить под названием Minimal RAS Active Time. Увеличение этого параметра положительно сказывается на максимальной пропускной способности памяти ценой увеличения латентности случайного доступа (на последовательный и псевдослучайный доступ влияние минимально). Тесты проводились на материнской плате MSI K8N Neo4 Platinum на чипсете nForce4 Ultra, память — DDR400 Corsair XMS CMX512-3200XL, комплект из двух модулей по 512 Мбайт со штатными таймингами 2-2-2-5, процессор Athlon 64 3500+ (D0), видеокарта ASUS EAX800XL/2DTV. Первые две строчки таблицы — тесты с искусственно завышенными задержками, характерными для бюджетных Value-модулей и современного мейнстрима, соответственно.

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

Но если обратить внимание на собственно разницу между показателями, достигнутыми в разных тестах… То красноречиво видно, что даже в суперчувствительном к тонкостям функционирования памяти, архиваторе WinRAR и также весьма по сути своей чувствительным играм, в случае когда речь идет о столь тонких изменениях, разница никак не тянет на критическую. И даже на «заметную на глаз» тянет с трудом! Впрочем, задача любого тюнинга состоит вовсе не в том, чтобы вытянуть неудовлетворительную производительность на пристойный уровень, а в том — чтобы выжать максимум из имеющейся изначально мощной системы. Чего мы и стремились добиться.

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

Осталось разобраться с частной задачей оснащения компьютера особо большим объемом памяти. В тестах использовалась DDR400 Kingston ValueRAM HyperX KHX3200K2/2G — два комплекта по 2 гигабайта с официальными таймингами 2,5-3-3-7 (в спецификации отдельно подчеркнут факт возможности использования такой памяти с 1T-задержкой). По умолчанию наша материнская плата (использовалась такая же, как в предыдущем тесте и два процессора Athlon 64 3500+, ревизий D0 и E3) выставила тайминги 2,5-2-4-8, которые и были оставлены на время тестирования.

Для сравнения был собран стенд с дискретным контроллером (материнская плата MSI 925X Neo на чипсете i925X, процессор Pentium 4 550) и двумя комплектами памяти — из четырех модулей DDR2-533 KingMax KMX128DD64-533 по 1 Гбайт и DDR2-667 EB DC Platinum OCZ26672048EBDCPE-K в виде двух комплектов по два 1-гигабайтных модуля каждый. В первом комплекте стандартные тайминги соответствуют типичному (и закрепленному в стандарте) для массовой DDR2-533 сочетанию 4-4-4-12, во втором — прописанное в SPD значение оказалось 4-2-2-8, но модули стабильно работали и с таймингами 3-2-2-7, на которых и тестировались для получения "максимального" результата. Аналогом параметра 1T/2T Memory Timings для дискретных контроллеров традиционно является 1T/2T Command Rate, в настоящее время он практически не встречается в BIOS материнских плат на интеловских чипсетах и заблокирован по умолчанию на значении 2T. Кстати, в BIOS плат на чипсете nForce4 SLI IE этот параметр снова «вытащен на свет», но пока возможность перевести его в 1T касается лишь элитной памяти и лишь случаев минимального заполнения банков («витринный» пример — память Corsair XMS2-5400 с заявленными таймингами 3-2-2-8-1T).

Результаты не требуют пространных комментариев. Совершенно очевидно, что вне зависимости от степпинга процессорного ядра, целесообразно выбирать вариант с максимальной частотой. Кроме скоростного преимущества, такой вариант отличается и большим запасом надежности. Так в качестве эксперимента были установлены два 1-гигабайтных модуля Kingston ValueRAM вперемешку с парой 512-мегабайтных Corsair XMS. И эта диковинная смесь работала без каких-либо замечаний с таймингами 2,5-2-4-8 как на «новом», так и на «старом» ядре в режимах с 2T-задержкой. Работала она и на частоте 333 МГц и 1T-задержке на системе с ядром Venice, но вот для стабильности первого режима (частота 200 МГц — 1T) на ядре Winchester потребовалось поднять тайминги до 3-3-3-8.

Впрочем, если устанавливать одинаковые модули (требование, действительное для любых систем с двухканальным контроллером), никаких проблем не возникает в любых режимах. А рекомендация приобретать специально подобранные «двухканальные» пары, имеет под собой и совершенно определенное практическое основание. Судя по тестам в RMMA, четко фиксируется разница в латентности (особенно случайного доступа), от «почти нуля» в случае удачно подобранной четверки, до 10-15% при установке модулей от разных производителей, даже имеющих одинаковые «фабричные» тайминги, равный объем и количество чипов. На результаты тестов пропускной способности степень «родства» модулей, как правило, не влияет. Поскольку комплектов из четырех модулей в продаже не встречается, оптимальный вариант расстановки — установить в каждый банк по одному модулю из каждого двухмодульного комплекта.

Что касается результатов стендов с DDR2, они приведены исключительно «на правах иллюстрации» (благо за подробными исследованиями характеристик модулей памяти в сочетании с разными чипсетами читателям iXBT далеко уходить не требуется). Здесь отметим лишь, что в отношении латентности преимущество интегрированного контроллера сохраняется вне зависимости от установки параметра 1T/2T, причем переломить ситуацию не позволяет даже разогнанная до предела по таймингам DDR2-667. В части пропускной способности ситуация, напротив, складывается однозначно в пользу DDR2, причем покупкой (к сожалению, все еще очень дорогих и слабо распространенных) Pentium 4 для 1066 МГц шины, либо экспериментами с множителем, из DDR2-667 можно выжать еще 1000-1500 Мбайт/c благодаря расшивке «бутылочного горлышка» системной шины.

Однако, если ограничиться сравнением производительности на бюджетных (но фирменных!) модулях, которые наиболее характерны в условиях, когда требуется поставить большой объем памяти. То — явно не будет большим грехом против истины, утверждать, что производительность подсистемы памяти в среднем будет примерно одинаковой вне зависимости от типа памяти, а общая производительность компьютера будет зависеть от других факторов.

Cool & Quiet

Переходим к наиболее зависимой от «инфраструктуры» технологии, из числа интегрированных в Athlon 64. Суть механизма вряд ли нуждается в долгих представлениях, поскольку существует уже приличный по компьютерным меркам срок. Если вкратце, работает он следующим образом — драйвер Cool & Quiet (диспетчер энергосбережения), считающий холостые такты процессора, определяет насколько сильно в данный момент можно снизить частоту и напряжение питания без ущерба для производительности. Минимальными значениями в зависимости от типа процессора являются 800-1000 МГц и 0,8-1,0 В, соответственно. В режиме «спокойной» работы тепловыделение снижается настолько, что в просторном корпусе процессору вполне хватает пассивного охлаждения.

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

Все это замечательно выглядит в описании, но чтобы также замечательно работало, поддержка C&Q требуется не только от процессора, но и материнской платы и ее BIOS. К счастью, «принципиальная неподдержка» C&Q ушла в прошлое вместе с ранними ревизиями плат, большинство из которых были на Socket 754.

И по состоянию на середину 2005 года объективная реальность такова: все платы на Soсket 939 поддерживают, по крайней мере, снижение частоты и напряжения, без каких-либо ограничений по моделям процессоров и количеству модулей памяти. А для Socket 754 сохраняется требование установки не более двух модулей памяти. И бороться с этим ограничением уже не имеет практического смысла, поскольку 754-ый разъем по мере расширения линейки Sempron в сторону меньших частот, мигрирует в самый что ни на есть low-budget-сектор, а факт поддержки Cool & Quiet актуален только для Athlon 64 (всех) и Sempron (только с рейтингом от 3000+). А для «бюджетников», как правило, и два модуля памяти — излишество, достаточно одного.

Не так весело обстоят дела с поддержкой «интеллектуального» управления частотой вращения вентиляторов — то есть второй составляющей технологии Cool & Quiet, полностью зависящей от материнской платы. Понятно, что AMD к ее реализации отношения не имеет, она лишь может заставить свои процессоры меньше греться, а заставить кулеры «тише» вращаться должна сама плата. На этом пункте выбор плат с безукоризненно реализованной функциональностью резко сужается и фактически среди гарантированно «поддерживающих» остаются лишь платы под Socket 939 от большой тройки (ASUS, MSI и Gigabyte), плюс ABIT со своей технологией m-Guru, располагающим особо богатыми сервисными настройками в этом вопросе. В отличие от большинства плат, выпускаемых под марками «второго» эшелона, у них в настройках BIOS есть соответствующий нехитрый пункт (Q-Fan, Smart Fan и т. п.).

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

Впрочем, все это нисколько не освобождает от ответственности разработчиков материнских плат, у которых к настоящему моменту уже было достаточно времени, чтобы разобраться в положительных отличиях «усовершенствованных 64-битных числодробилок» от всех остальных. Не будем тыкать пальцем, просто порекомендуем всем, кому хотелось бы получить гарантированный «Quiet», продукцию упомянутой «большой тройки». Тогда, возможно, и остальные подтянутся, ведь в абсолютном большинстве случаев речь идет лишь о добавлении соответствующей поддержки в BIOS, аппаратная логика на платах есть, что доказывается возможностью управления оборотами кулеров с помощью SpeedFan и т. п. В AMD, тем временем, подумывают прийти на помощь нерасторопным партнерам, и уже давно можно встретить в боксовой комплектации процессоров кулеры с терморезистором. Конечно, это косвенная регулировка, не позволяющая кардинально влиять на частоту вращения (поскольку измеряется температура не процессорного ядра, а радиатора, во избежание перегрева, устанавливаются заведомо безопасные пороги срабатывания). Однако, главную задачу — переход боксового кулера на малошумные обороты даже такой способ регулировки обеспечить может.

Хорошо, будем считать, что аппаратные требования мы выдержали! А значит, самое время активировать Cool & Quiet по всем правилам и канонам. Включаем в BIOS пункт Cool & Quiet (за исключением плат Gigabyte, где этот пункт заблокирован во включенном положении и в Setup'е не фигурирует). При желании устанавливаем максимальную и минимальную частоту и напряжение в пунктах регулирующих FID и VID (впрочем, если вы хотите вмешиваться в логику работы Cool & Quiet, гораздо удобнее воспользоваться утилитой RightMark CPU Clock Utility, а в BIOS оставить значения по умолчанию, соответствующие максимальному диапазону).

Также переводим в Enabled пункты Q-Fan/Smart Fan. Для некоторых плат можно выбрать алгоритм управления — выставить баланс между активностью кулера и допустимой рабочей температурой процессора. Исходя из практических наблюдений, если выставить максимальную температуру в пределах 55-60 градусов, то для поддержания ее коробочному кулеру придется выходить на максимальные обороты только во время длительной работы под максимальной нагрузкой, вне зависимости от типа корпуса и прочих частностей. При этом, если температура воздуха в корпусе не превышает 35-40 градусов (что, кстати, важно и для стабильной работы остальных компонентов), когда частота процессора соответствует минимальным 800-1000 МГц и поднимается лишь на короткие промежутки времени (типичная работа с текстом, графикой и прочими «офисно-домашними» приложениями), вентилятор действительно может оставаться остановленным на протяжении всего сеанса работы. Температура ядра в таком режиме превышает температуру воздуха в корпусе не более чем на 10-15 градусов, даже для процессоров, основанных на 0,13 мкм степпингах, и двухядерных моделях. Наблюдение подкреплено сборкой компьютеров на Athlon 64 в самых разных корпусах, включая тесные Mini-Tower с единственным вентилятором в блоке питания.

Разобравшись с BIOS, загружаемся в Windows (для полного успеха мероприятия настоятельно рекомендуется иметь как минимум Windows XP SP1), устанавливаем драйвер Cool & Quiet, который можно найти либо на диске с драйверами к материнской плате, либо скачать здесь (в списке «Дипетчера устройств» выбираем процессор и обновляем его «драйвер»), для Windows XP SP2 это необязательное действие. Итогом наших усилий будет новая «схема управления питания» под названием Диспетчер энергосбережения, ее и активируем.

Все готово!

Убедиться в том, что Cool & Quiet заработала, теперь можно, если открыть заглавное окно раздела «Система», частота будет соответствовать текущей. А о том, что в порядке также и управление кулером, вы узнаете, оставив компьютер в покое на несколько минут. Обороты должны, как минимум, ощутимо снизится.

Что делать, если, все настроено правильно, но частота не снижается или наоборот — снижается в простое, но на максимум автоматически не возвращается? Или плата завышает напряжение, и процессор продолжает греться? Первейшая (и в большинстве случаев достаточная!) рекомендация — обновить BIOS материнской платы до последней доступной версии. Особенно если в вашем распоряжении оказался процессор на одном из 0,09 мкм степпингов, а плата выпущена не вчера.

Вторым шагом, позвольте, еще раз «отпиарить» утилиту RightMark CPU Clock Utility, с помощью которой нередко удается организовать автоматическое управление даже для старых плат из «черного списка» под Socket 754. К тому же минимальная частота и напряжение, доступные через нее, обычно оказываются ниже тех, что открыты через официальный драйвер, а значит, в контексте тюнинга, имеет смысл пользоваться этой утилитой в любом случае, если вы хотите довести идею энергосбережения до доступного идеала.

NX-бит, AMD64, SSE2 и т. п.

Строго говоря, все существующие расширения должны быть «прописаны» в BIOS материнской платы (хотя и совсем не обязательно это должно проявляться явно в виде пункта в BIOS Setup).

Собственно 64-битное расширение AMD64 в каком-либо пользовательском внимании не нуждается, поддержка зашита в BIOS материнских плат с первых версий, и какие-либо пункты для включения/блокировки в Setup поголовно отсутствуют. Так что на такой компьютер можно сразу же устанавливать свежеиспеченную Windows XP x64 Professional, например. Зато, как ни странно, пункт «включения» SSE2 встречается даже на современных платах, и, конечно же, должен находиться во включенном положении.

А для включения антивирусной DEP с использованием аппаратной защиты от исполнения программного кода, записанного в область данных (для чего такие области помечаются специальным No eXecution-битом и попытка исполнения приводит к стандартной ошибке защиты памяти) в Windows XP SP2 нужно проделать такой неблизкий путь: раздел Система — закладка Дополнительно — в разделе Быстродействие нажать кнопку Параметры — закладка Предотвращение выполнения данных — установить галочку «Включить DEP для всех программ и служб, кроме выбранных ниже».

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



1 Double Sided, как обычно пишут в руководствах к материнским платам, хотя строго говоря, следовало бы употреблять термин «двухбанковая»/«однобанковая» (что тоже выходит не очень удачно, ибо понятие «банк» в двухканальной конфигурации «зарезервировано» за парой разъемов, составляющих каждый из двух каналов). Дело в том, что встречаются модули, имеющие 8 чипов памяти, распаянные на обеих сторонах модуля (для улучшения охлаждения, например). И такой модуль будет вести себя как Single Sided. Поэтому надежнее всего отличать принадлежность к категории Single/Double по количеству микросхем — 8 и 16, соответственно. вернуться к статье



Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.