В редакцию достаточно часто поступают вопросы о «вскрытии» заблокированных конвейеров графических чипов. В данной статье мы расскажем, почему производители отключают некоторые функциональные блоки в видеочипах и как «бороться» с этим явлением. В частности, рассмотрим видеокарты, поддающиеся программной разблокировке, и методы раскрытия их потенциала.
Конвейер – один из вычислительных блоков графического процессора, который отвечает за обработку вершин или отдельных точек. Пиксельные конвейеры в современных видеочипах собраны в так называемые квады – блоки по четыре штуки, вследствие чего их включение/отключение возможно только группами.
«Маскировка» конвейеров является одним из способов производства новых версий чипов на базе уже имеющихся. Всего таких приемов три: изменение тактовых частот графического процессора и памяти, разрядности шины памяти, отключение тех или иных функциональных блоков, в частности конвейеров. Причины всех этих действий достаточно просты – компании стремятся обеспечить максимальный охват рынка и заодно избавиться от чипов, которые не прошли первоначальный контроль. Достаточно часто третий способ комбинируется с первым, потому бывают ситуации, когда блокируются вполне работоспособные конвейеры по причине того, что карта не прошла тест на требуемых частотах (а промежуточной модели фирма не выпускает). Если посмотреть историю развития 3D-акселераторов, изменение тактовых частот и разрядности шины памяти очень популярны, в то время как «маскировка» конвейеров используется достаточно редко. Обзор графических процессоров с отключенными функциональными блоками приведем в хронологическом порядке.
Раньше всех третий способ опробовала компания 3dfx: ее плата 3dfx Velocity 100 отличалась от полноценной Voodoo3 1000 лишь тем, что имела программно отключенный второй блок текстурирования. Путем исправления строчки в реестре карта легко переделывалась в старшую версию. Это позволило 3dfx заполнить пустующую в ее линейке нишу офисных видеокарт и было вынужденной мерой, принятой под давлением конкурентов – S3 и NVIDIA.
Riva Tuner – главное окно |
За ней этот подход применила ATI, создав на основе своего чипа Radeon две дополнительные модификации – Radeon LE и Radeon VE. В первой был отключен блок HyperZ, отвечающий за отсечение невидимых поверхностей, а в Radeon VE – Hardware TCL. Это также являлось вынужденной мерой – ATI в тот момент не могла сделать одновременно две линейки карт, как NVIDIA, и кроме отбракованных, на данные видеоадаптеры пошла часть нормальных GPU.
Перейдем теперь от легенд к современной истории. Начало эпопеи с разблокировкой конвейеров положил чип ATI R300. У ATI получился удачный графический процессор, который имел 8 пиксельных конвейеров, объединенных в два квада. На его основе сделали целую линейку видеокарт, причем ATI использовала все три способа создания «новых» чипов – старшие модели Radeon 9700 и 9700 PRO отличались только частотами, Radeon 9500 PRO была аналогична первой, но с урезанной до 128 битов шиной памяти, а в Radeon 9500 были отключены еще 4 конвейера и блок HyperZ. Последний графический акселератор стал без преувеличения хитом продаж и целью номер один у охотников за «легкой добычей»: первые партии Radeon 9500 были выпущены на платах от Radeon 9700 и имели 256-битовую шину, последующие – уже собственный дизайн и 128-битовую шину. Поначалу превращение Radeon 9500 в Radeon 9500 PRO/9700 производилось с помощью перепайки резистора возле чипа и заливки BIOS от старшей модели, однако благодаря Алексею Николайчуку aka Unwinder появилась возможность чисто программной переделки. Как выяснилось, ограничение на количество конвейеров было прописано в драйвере и легко поддавалось исправлению. ATI предприняла несколько попыток помешать разблокировке конвейеров программным путем, но поскольку они оказались безуспешными, решила ненадолго отступить.
Установки драйвера NVStrap |
Тем не менее стоит отметить, что «маскировка» конвейеров была все-таки вынужденной мерой – ATI не стала выпускать одновременно две линейки чипов, и ей пришлось создавать «новую» версию, чтобы успешно конкурировать с GeForce Ti4200–4600. При этом вначале для Radeon 9500 использовались платы даже от более дорогих Radeon 9700. С выходом Radeon 9600 закончилась легкая жизнь оверклокеров – Radeon 9700/9500 был снят с производства. Однако ATI оценила выгоду от продажи чипов с половиной бракованных конвейеров, и на сцене появился Radeon 9800SE. Первоначально существовал только вариант с 256-битовой шиной, но впоследствии появилась и 128-битовая версия. Переделка выполнялась так же легко, как и в варианте с Radeon 9500: достаточно было пропатчить драйвер с помощью RivaTuner. В случае, если отключенные конвейеры оказывались действительно нерабочими, вернуть все в исходное состояние было несложно.
С выходом нового чипа NV40 (семейство карт GeForce 6800) NVIDIA также внедрила подобную практику. Младшая модель в семействе содержала в отличие от старших всего 12 пиксельных и 5 вершинных конвейеров (12p/5v). При этом, поскольку NVIDIA не имела опыта борьбы со «взломщиками», вначале отключение производилось через BIOS прямым указанием рабочих/нерабочих конвейеров в регистрах чипа. Скрытые конвейеры можно было достаточно просто «оживить», прошив BIOS от старшей карты или установив промежуточный драйвер (в частности, NVStrap из программы RivaTuner). Правда, если отключенный квад оказывался действительно «битым», при возвращении BIOS от оригинальной карты случалось, что отключались рабочие конвейеры, а нерабочие оставались разблокированными, и это еще один аргумент в пользу исключительно программной переделки. Инженеры NVIDIA попытались исправить ситуацию, для чего в новых ревизиях чипа начали блокировать конвейеры на аппаратном уровне. Однако после дополнительного исследования обнаружилось, что, перезаписав содержимое одного из регистров чипа, можно разблокировать и скрытые таким образом конвейеры. При этом указанный регистр не обновляется при перепрошивке, а потому заливка BIOS от старшей карты оказывается бесполезной. Кроме того, разблокировка аппаратно отключенных конвейеров даже программным путем может вывести видеокарту из строя, посему проводить данные операции следует с учетом возможности такого исхода. Отметим также, что и в этом случае выпуск карты с заблокированными конвейерами был вынужденной мерой – NVIDIA не имела нормального конкурента картам Radeon 9800 PRO/XT, и в результате ей пришлось заполнять пробел в линейке своих видеоадаптеров именно таким способом.
Список конвейеров графического чипа (до разблокировки) |
Несмотря на то что семейства карт NVIDIA GeForce 6800 под AGP и PCI-E имеют одинаковое название, в основе их лежат разные чипы. В AGP-версиях – используется ядро NV40 с 16-пиксельными и 6-вершинными конвейерами. На данный момент производство этого GPU прекращено, и на его место пришел NV48, который представляет собой NV40, но выполненный с применением нового техпроцесса и, кроме того, содержащий ряд мелких исправлений. Карты GeForce 6800 GT/Ultra имеют схему 16p/6v, GeForce 6800 – 12p/5v, GeForce 6800LE – 8p/4v. А под PCI-E раньше были доступны только GeForce 6800 GT/Ultra на базе чипа NV45 (NV40 + мост AGP/PCI-E), в которых сразу активировались все конвейеры. Выпущенный впоследствии графический акселератор GeForce 6800 PCI-E основывался на чипе NV41, изначально имел конфигурацию 12p/5v и в отличие от одноименной карты под AGP не содержал скрытых конвейеров. А вот появившаяся следом за ней GeForce 6800LE PCI-E включала в себя недоступные конвейеры, однако в отличие от AGP-версии они были заблокированы на кристалле, т. е. переделать эту карту в GeForce 6800 невозможно. На данный момент NV41 заменяется его обновленной версией – NV42, на основе которой производится и GeForce 6800 GS. GeForce 6800 LE на базе NV42 также не поддается разблокировке.
Список конвейеров графического чипа (после разблокировки) |
Перейдем теперь от карт среднего уровня к бюджетным. Кандидатом на разблокировку здесь является GeForce 6200 на чипе NV43, который используется и в картах GeForce 6600/GT/LE. GeForce 6200 представляет собой GeForce 6600 с отключенной половиной пиксельных конвейеров. Данные карты подлежат переделке, только если ревизия чипа ниже чем А4 (увидеть ее можно так же, как и разблокировать конвейеры, – с помощью программы RivaTuner). Стоит уточнить, что в картах 6200А под AGP и 6200ТС под PCI-E применяется другой чип – NV44, в котором имеются только 4 пиксельных конвейера. Отметим, что выпуск карт GeForce 6200 был вынужденным, но при этом они еще и не пользуются особой популярностью, поскольку стоят ненамного дешевле полноценного 6600, а работают ощутимо медленнее.
Последним графическим процессором от NVIDIA с заблокированными конвейерами пока является GeForce 7800 GT. В отличие от GeForce 7800 GTX, которая имеет формулу 24p/8v, у 7800 GT заблокированы пиксельный квад и вершинный конвейер. Сделано это на кристалле, и «вскрытию» они не поддаются. В этом случае можно говорить о достаточно удачном сбросе чипов, не прошедших тест на работоспособность (как GeForce 7800 GTX), поскольку на момент анонса и появления видеокарт в продаже прямого конкурента от ATI не наблюдалось.
Riva Tuner. Настройки для опытных пользователей |
В ответ на выпуск семейства GeForce 6800 ATI представила свою линейку карт – Radeon X800 на чипе R420 под AGP и R423 под PCI-E. Под AGP были объявлены только две версии – X800 PRO и X800 XT PE, в то время как под PCI-E – три: X800 PRO, X800 XT и X800 XT PE. Модели X800 XT и X800 XT PE имели по 16 пиксельных конвейеров, а X800 PRO – по 12, т. е. заблокированным являлся 1 квад. Вначале считалось, что такие карты не поддаются программной переделке, поскольку наученная опытом ATI теперь блокировала конвейеры путем пережигания дорожки на корпусе чипа. Конечно, нашлись желающие соединить перерезанную дорожку, но в большинстве своем эти продукты оказались с действительно нерабочими конвейерами. Однако впоследствии было обнаружено, что на видеоадаптеры X800 PRO с поддержкой VIVO устанавливается полноценная версия R420(423), а конвейеры отключены в BIOS. Заливкой в карту BIOS от X800 XT PE можно разблокировать конвейеры в X800 PRO, но тогда на нее по умолчанию ставятся частоты X800 XT PE, на которых она может не запуститься, несмотря на удачное «вскрытие» конвейеров. Поэтому перед прошивкой BIOS файл с ним редактировался, и туда прописывались частоты от X800 PRO. Впоследствии семейство Х800 пополнилось следующими картами:
Сравнительно недавно этот ряд пополнили:
Причем для последней заявлена возможность 100%-ной переделки в полноценную 16-конвейерную карту (так ли это на самом деле, еще предстоит проверить). Добавилось и семейство X850 (чип R480, 16p/6v), в котором X850 PRO имеет те же 4 заблокированных конвейера. Заметим, что, несмотря на такое разнообразие имен, все это вариации одного и того же чипа. R420 и R423 отличаются друг от друга только интерфейсом, R430 – это не совсем удачный перезапуск R423 по новому техпроцессу (0,11 мкм вместо 0,13 мкм), поскольку при достаточном выходе годных частотный потенциал данного ядра оказался довольно низок (400–450 MHz по сравнению с 500–550 у R42x). У R480 и R481 также разница лишь в интерфейсе. И они представляют собой R42x, произведенные по несколько оптимизированному 13-микронному техпроцессу, что позволило поднять частотную планку до 550–600 MHz. Небольшие изменения произошли и в способе блокировки конвейеров – вслед за NVIDIA к блокировке через BIOS и путем пережигания дорожки была добавлена блокировка конвейеров непосредственно на кристалле. Узнать, как именно заблокированы конвейеры на картах X8xx достаточно просто с помощью RivaTuner или AtiTool. В случае RivaTuner необходимо запустить ее из командной строки с такими параметрами – RivaTuner.exe /rr990 /rr994 /rr99c /rr402c. Результат окажется примерно следующим:
В случае AtiTools необходимо, удерживая Shift, нажать Settings и найти следующие строки:
Первая из них отвечает за блокировку конвейеров непосредственно на кристалле, если 5-й символ отличается от F, значит их невозможно разблокировать. Вторая строка отражает факт блокировки конвейеров путем перерезания дорожки на корпусе чипа. Если последний символ также F, конвейеры заблокированы через BIOS, и их можно попробовать разблокировать путем прошивки BIOS от старшей карты. В противном случае они возможно разблокируются, если замкнуть дорожку на подложке чипа. Напоминаем, что при любой переделке данных карт пользователь лишается гарантии, так что стоит ли этим заниматься, решать вам самим.
Riva Tuner. Ручная установка частот видеочипа и памяти |
Выпуск такого разнообразия карт на практически одинаковых чипах, но с разными количеством конвейеров и частотами, и в этот раз был вынужденной мерой. X800 PRO возник как конкурент 6800 GT, после чего его сменил X850 PRO. X800 должен был конкурировать с GeForce 6800, чего не произошло, и он вынужден был соперничать с GeForce 6600 GT. X800 SE был выпущен взамен «мертворожденного» X700 XT, и ему также пришлось соперничать с GeForce 6600 GT. А выпуск X800 GT, X800 GTO и X800 GTO2, судя по всему, – это отчаянная попытка удержать за собой хотя бы один сегмент карт (диапазон $150–250) до появления в массовой продаже семейства X1xxx, а также способ избавиться от остатков чипов серий R420, R423, R430, R480 и R481.
В завершение отметим, что в новой линейке ATI X1xxx пока нет карт со «скрытыми» конвейерами, хотя по Сети уже ходят слухи о выпуске облегченной версии X1800. Однако даже если она будет иметь заблокированные конвейеры, возможность их разблокировки на данный момент представляется очень сомнительной.
Название | Возможность разблокировки |
Radeon 9500 | Есть, программно, в Radeon 9500 PRO или 9700 |
Radeon 9800SE | Есть, программно, в Radeon 9800/PRO |
GeForce 6800 AGP | Есть, программно, в GeForce 6800 GT/Ultra |
GeForce 6200 | Есть, если ревизия чипа ниже А4, в GeForce 6600 |
GeForce 7800 GT | Нет |
X800 PRO | Зависит от способа блокировки, в X800 XT/XT PE |
X850 PRO | Зависит от способа блокировки, в X850 XT/XT PE |
X800 | Зависит от способа блокировки, в X800 XT/XT PE |
X800 SE | Зависит от способа блокировки, в X800/PRO/XT/XT PE |
X800 GT | Зависит от способа блокировки, в X800/PRO/XT/XT PE |
X800 GTO | Зависит от способа блокировки, в X800 XL/XT/XT PE |
X800 GTO2 | Есть, перепрошивкой BIOS, в X800 XL/XT/XT PE |