Компьютеры

GeForce-мажор

Выходу первого ускорителя нового тысячелетия посвящается. Кто на новенького?

Вторую осень подряд на ведущих производителей видеоакселераторов обрушиваются технические проблемы. Вспомним 1999 год: из всех ведущих производителей видеочипов только Nvidia и S3 смогли представить той осенью новые продукты. Впрочем, объявив Savage2000 раньше конкурентов, S3 сильно задержала его выпуск и поначалу комплектовала традиционно сырыми драйверами. Производительность подкачала, и чип остался в памяти мало популярным последним продуктом S3. Во всяком случае, той S3, к которой мы привыкли.

Нельзя сказать, что для Nvidia осень 99-го прошла без проблем. NV10 стал своего рода легендой ушедшего тысячелетия, открыв серию Nvidia GeForce. Поначалу планировалось, что чип будет производиться по 0,18-мкм технологии, что позволило бы разместить на нем 23 млн. транзисторов и довести тактовую частоту до 200 МГц. Четыре конвейера рендеринга при таком раскладе смогли бы обеспечить производительность в 800 мегапикселов в секунду. Разумеется, столь мощная система требует высокой пропускной способности шины локальной памяти, и в новом продукте было решено применить новейшие технологии, а именно DDR SDRAM. Уже летом у Nvidia был готов новый чип, но технологию 0,18 мкм в течение всего оставшегося 1999 года производственники освоить не сумели. В качестве временной замены был предложен процесс 0,22 мкм. О функционировании на 200 МГц и речи не шло, хотя ожидалась частота 160 МГц. Но 23 млн. транзисторов давали о себе знать. С переходом на более «толстый» техпроцесс, площадь чипа тоже увеличилась, а с ней — и тепловыделение. Чтобы ускоритель работал стабильно, Nvidia предлагала использовать дополнительное питание для платы и отдельные системы отвода тепла от чипа, в частности, воздухоотводящий раструб. Большинство производителей к дополнительному питанию отнеслись спокойно, а вот делать с видеокартой теплоотводящий раструб не согласился никто. Тогда решили снизить напряжение ядра (чтобы отказаться от дополнительного питания) и урезать частоту до 120 МГц. Но появилась еще одна проблема: в первой половине осени производители памяти попросту не были готовы поставлять в нужных количествах DDR SDRAM. Так что, с учетом сильно пониженной частоты чипа, было решено поставлять первые версии карт с обычной SDRAM (ближе к концу года появились карты с DDR-памятью). Таким образом, после череды изменений спецификаций чипа и будущих карт появился на свет GeForce256, а для подстраховки Nvidia запустила в производство 0,22-мкм чипы Riva TNT2 (известные как TNT2A). Так мучительно рождался продукт Nvidia, который в гордом одиночестве совершил победное шествие по осени 99-го.

3dfx VSA-100

Новая серия продуктов 3dfx вселяла уверенность в том, что хотя бы у этой компании не будет технических проблем. 0,25-мкм процесс, SDR-память — эти отточенные технологии не могли дать сбоя. Но о VSA-100 уже и так много сказано, так что повторяться не будем. Следствием двух пропущенных циклов стала продажа почти всех имеющиеся материальных и нематериальных активов своему главному конкуренту — компании Nvidia. Другие же компании ограничились либо вариациями на тему MAX, Ultra, Pro, MAXX и тому подобным, либо скромным молчанием.

После чуть более оживленной весны-лета 2000 года все взгляды снова устремились на осень. А она обещала быть жаркой. Во-первых, ждали Nvidia NV20 — чип, который должен был совершить революцию в области графики для PC. Во-вторых, должен был выйти 3dfx Rampage, разрабатывавшийся аж с 1998 года (первые наброски новой технологии появились еще в 97-м). По заявлению 3dfx, этот чип должен был стать королем, каким был Voodoo 2. Дальше — ATI, представившая довольно сильный продукт в лице Radeon и заявившая о возвращении к полугодовому циклу. И, наконец, Matrox, сулившая показать нечто сверхъестественное.

Однако осень 2000-го стала еще более скучной, чем осень 99-го. Выпустить обещанный NV20 помешали технологические проблемы: чип разрабатывался для процесса 0,13 мкм, а был освоен только 0,18 мкм. Nvidia, как всегда, нашла обходные пути, представив GeForce2 Pro (обычный GeForce2 GTS с более быстрой памятью) и GeForce2 Ultra (переразогнанный GeForce2 GTS). 3dfx заявила, что Rampage будет готов только к весне 2001 года, а на осень запланировала сильно переспелый (анонсированный еще в ноябре 99-го) и неимоверно дорогой Voodoo5 6000 на базе четырех чипов VSA-100, но и он был отменен. ATI призналась, что Radeon MAXX (двухпроцессорный Radeon), готовившийся на осень, так и не увидит свет. Причина — в проблеме согласования двух чипов под управлением Windows2000. Зато уже весной 2001 года ATI обещает выпустить Radeon второго поколения (Radeon 2). От Matrox ничего, кроме морально устаревшего еще до своего появления G450, не было видно. Так все ведущие производители видеочипов дружно пропустили «осенний марафон». Зато теперь от зимы-весны первого года нового века все ждали наплыва революционных продуктов.

И начало уже положено. 27 февраля 2001 года (см. также новости этого номера) Nvidia официально объявила свой новый продукт — GeForce3, ранее известный как NV20. Он представляет собой первый образец GPU нового поколения и является первым видеочипом нового столетия.

Nvidia GeForce3

Nvidia удивляет нас не только возможностями своих видеоконтроллеров, но и их количеством. За последние шесть месяцев на рынке появились такие хиты, как GeForce2 GTS, GeForce2 MX, GeForce2 Pro и GeForce2 Ultra. Появления GeForce3 с замиранием сердца ждал весь компьютерный мир.

NV20

Чип содержит 57 млн. транзисторов и производится по 0,15 мкм технологии. Это рекордное для нашего времени количество транзисторов служит лучшим подтверждением его революционности. Для примера — GeForce2 GTS имел всего 25 млн. вентилей, а разница в 32 миллиона — это, грубо говоря, и есть новые технологии, введен ные в GeForce3. Несмотря на возможность создания процессора, функционирующего на частоте 250 МГц (изначально для NV20 планировалось 300 МГц), GeForce3 будет тактироваться на 200 МГц. Достоверно известно, что ASUSTeK Computer, получив в распоряжение первую тестовую версию чипа, усердно работала над системой охлаждения новых карт — видимо, снизить частоту заставили проблемы с перегревом кристалла.

Внутренняя архитектура представляет собой четыре конвейера рендеринга с двумя модулями текстурирования (TMU) в каждом, так называемая схема 4х2 (напомним, что у GeForce2 GTS также 4x2, а у Radeon — 3x3). Очень похоже на GeForce2GTS? Да, но в GeForce3 реализована технология удаления скрытых поверхностей HSR (Hidden Surface Removal), которая мгновенно делает этот акселератор на голову выше всех существующих. Еще одно радикальное отличие — возможность объединения результатов рендеринга предыдущих тактов. То есть в пределах одного прохода, используя только один конвейер рендеринга, можно наложить на один пиксель четыре билинейные текстуры. Правда, на это уйдет два такта, но зато мы уже не обращаемся два раза к памяти. Это, во-первых, разгружает шину памяти, а во-вторых, существенно улучшает качество картинки. Качественные улучшения обязаны тому, что логика внутричипового расчета имеет некоторую избыточность, которая пропадает при работе с памятью по схеме чтение-изменение-запись. Вкупе с технологией объединения конвейеров рендеринга GeForce3 стал первым ускорителем, способным наложить четыре текстуры на треугольник (квадротекстурирование) за один проход и за один такт.

Значительно улучшен блок T&L. В первую очередь, возросла производительность: теперь акселератор способен на 3D-расчеты, эквивалентные по сложности 76 млрд. операций с плавающей точкой в секунду. Во-вторых, блок стал программируемым, то есть разработчики игровых приложений получают мощный инструмент. И это очевидная «статья расходов» новых транзисторов — они обеспечивают логику и математику GPU нового поколения. Разумеется, T&L упрется в пропускную способность шины AGP, так как ее ширины просто не хватит. По заявлению Nvidia, все данные о геометрии полигонов хранятся в специальном буфере локальной видеопамяти.

Технология HSR (часть архитектуры Lightspeed Memory Architecture) подобно технологии HyperZ от ATI предназначена для снижения значения Overdraw (степень перерисовки). Известно, что видеоакселераторы, реализующие классическую модель рендеринга (все современные продукты Nvidia, 3dfx, S3 и др.) имеют определенный минус. Видеоакселератор рисует все полигоны в сцене, даже те, которые скрыты за другими полигонами. Overdraw показывает, сколько раз был перерисован пиксель до его финального представления (сколько полигонов было нарисовано на месте одного и того же пикселя конечного изображения), и в современных играх колеблется в пределах от одного до восьми. Средняя же величина Overdraw всей сцены обычно имеет значение близкое к трем. Цель технологии HSR — снизить значение Overdraw до единицы, то есть снять с видеоакселератора задачу рисования скрытых полигонов. Освободившиеся ресурсы видеоакселератора будут востребованы для рисования следующих видимых полигонов. Производительность блока HSR характеризуется величиной Depth Complexity (сложность глубины). Она показывает максимальное количество перекрытых полигонов в районе одного экранного пикселя, которое HSR блок способен «отсечь». Depth Complexity в GeForce3 равен шести. То есть в сценах, имеющих постоянное по всему экрану значение Overdraw, равное шести, чип будет работать в шесть раз быстрее за счет выделения только видимых полигонов. Ожидается, что блок HSR поднимет производительность в хорошо оптимизированных приложениях в три раза. Почему не в шесть? Это объясняется тем, что в современных приложениях на экране довольно много места занимают участки, имеющие значение Overdraw равное единице и двум. Отчасти и тем, что средняя величина Overdraw всей сцены обычно имеет значение близкое к трем. К сожалению, технология HSR не разгружает узкую шину памяти, а это, как мы помним, самая критичная часть любого современного видеоакселератора. Разгрузки не происходит потому, что HSR просто перераспределяет ресурсы видеоакселератора более эффективно, но самих ресурсов остается столько же.

Видеопамять для GeForce3, если можно так выразиться, еще не народилась. При использовании производителями 4-наносекундной DDR SDRAM (230/460 МГц) в сильно нагружаемых приложениях чип сможет показать только 60 процентов своих возможностей, остальное срежется узкой полосой пропускания памяти. А если принять во внимание, что, по заявлению Nvidia, чип будет хранить вершины обрабатываемых полигонов в локальной видеопамяти, нагрузка на шину памяти еще возрастет. С решением этой проблемы частично справляется кэш-память, и в NV20 ее объем, по неофициальным данным (хотя, с другой стороны, на что еще можно было потратить 32 млн. транзисторов?), увеличен в разы, так что по сравнению с предшественниками GeForce3 будет более сбалансирован.

Однако разгружать шину памяти только посредством кэширования — кощунство, поэтому Nvidia предложила еще одно решение. Это вторая часть (но отнюдь не по значимости) архитектуры Lightspeed Memory Architecture. Суть: в GeForce3 применен совершенно новый контроллер памяти. Точнее, это уже не один, а четыре контроллера. Чем была плоха реализация контроллера в GeForce256 и GeForce2 GTS? Представьте, что видеочип читает из памяти или записывает в память 64-битный (8-байтовый) блок, — при этом он пользуется всей шириной 256-разрядной внутренней архитектуры и 128-разрядным DDR-каналом шины локальной памяти, хотя для передачи этого блока данных хватило бы и 64-разрядного канала SDR. Получается, что в этом случае три четверти канала памяти просто не используется. Четыре независимых контроллера памяти GeForce3 имеют 64-битную разрядность, что в сумме дает 256-разрядную внутреннюю архитектуру, и обслуживают 128-разрядную шину DDR-памяти. То есть процессор параллельно работает с четырьмя независимыми блоками данных. И если в потоке данных встретится блок размером 64-бита, он будет передан по независимой 64-разрядной шине, а три соседние 64-разрядные шины не будут пустовать, они будут заняты передачей своих блоков данных. Достоинство такого подхода также в том, что часть шины данных может работать на чтение данных, а часть — на запись.

Одно из существенных нововведений в NV20 — поддержка новых методов полноэкранного сглаживания, названная HRAA (High Resolution Antialiasing). Теперь сглаживание будет происходить не при помощи суперсэмплинга, а при помощи мультисэмплинга. Кроме того, реализован новый режим АА — Quincunx, который обещает нам качество сглаживания, близкое к четырехсэмпловому, но при падении производительности не большем, чем при двухсэмпловом сглаживании. Метод основывается на том, что для формирования конечного пикселя используется пять сэмплов, один из которых находится в центре решетки разбивки, а остальные по ее углам. Хитрость заключается в том, что каждый угловой сэмпл (кроме тех, что расположены на границе экрана) будет использоваться четыре раза (для формирования четырех конечных пикселей), при этом найден он будет всего один раз. При этом действительно среднее значение найденных пикселей на один сэмпл будет стремиться (справа) к двум. Подход интересен еще и тем, что чем более высокое разрешение используется, тем ближе к двум будет это значение. Не стоит думать, что теперь реализован бесплатный антиалиасинг — просто потери производительности при использовании не будут катастрофическими. Еще одно слагаемое качества картинки — применение более высококачественной анизотропной фильтрации, использующей 32 текстурных сэмпла.

Благодаря конвейерам, оснащенным программируемым T&L-блоком, в NV20 введена поддержка 3D-текстур и, следовательно, воксельной графики (подобную технологию мы видели в ATI Radeon). Технология 3D-текстур позволяет создавать более точные 3D-объекты, передавая специфику материалов, обрабатывать объемные среды (туман, взвесь частиц в луче света), а также создавать объекты с изменяющейся структурой — разрушающиеся стены, вмятины, трещины и тому подобное. Открывается интересная возможность поддержки сплайновых полигонов. Да, сплайновые криволинейные поверхности, это уже почти реальность. Пока трудно судить, насколько эта технология перспективна и эффективна, но при правильной реализации она открывает просто фантастические возможности. Программируемый T&L-блок (nfiniteFX Engine) открывает технологию пиксельных и вершинных шейдеров, позволяя программистам регулировать процесс рендеринга, что дает практически бесконечные возможности по созданию новых эффектов. Ведь, если разобраться, в GeForce256, как и в GeForce2, не было настоящего геометрического процессора. Ну, посудите сами, разве можно назвать процессором то, что не умеет выполнять команды? Да, конечно, в GeForce256 и GeForce2 очень помогала возможность аппаратной трансформации и освещения полигонов, но это же и ограничивало программистов, которые не были больше способны управлять процессами рендеринга и наложения текстур. Теперь появился первый настоящий GPU. Простите, но получается, что GeForce256, GeForce2 да и Radeon были не более чем промежуточными продуктами, подготавливающими почву, — а именно приложения, использующее большое количество полигонов, — для настоящих GPU.

Все вышеприведенные технологии требуют не только больших объемов памяти, но и увеличивают нагрузку на шину данных. И хотя карты будут комплектоваться 64 мегабайтами видеопамяти, ожидается активное использование алгоритмов аппаратного сжатия текстур (DXTC). Кстати, помимо стандартных методов рельефного текстурирования Nvidia использовала технологию EMBM (Environment Mapped Bump Mapping), реализованную еще в Matrox G400. Из всех методов выдавливания этот демонстрирует наибольшую реалистичность.

3D Prophet III

Одна из первых карт на GeForce3 —3D Prophet III от Guillemot/Hercules.

Итак, при заявленных 800 мегапикселов и 1,6 гигатексела в секунду реальная производительность ожидается несколько выше — благодаря введению технологий HSR, HRAA и DXTC, а также за счет усовершенствования T&L. По сравнению с GeForce2 Ultra производительность нового чипа должна быть выше в 3-7 раз (хотя некоторые синтетические тесты могут выдавать гораздо более низкие результаты). От технологий 3D-текстур и шейдеров следует ждать значительного улучшения качества изображения. Отрицательные стороны новинки — чрезвычайно узкая для такого мощного процессора шина памяти и завышенные цены на готовые карты (около 600 долларов). С учетом быстрого снижения цен уже через год карта сможет стать стандартным графическим решением. Ожидается выпуск удешевленной версии чипа (NV17). Если чип будет иметь такое же соотношение цена/производительность, как и GeForce2MX, то успех младшего брата на рынке будет обеспечен.

А что же остальные производители? Неужели они сидели сложа руки? Во всяком случае этого нельзя сказать о 3dfx.

3dfx Specter

После неудачной серии карт Voodoo4/Voodoo5 все устремили взоры на новый продукт, разрабатываемый более двух лет, что называется, с нуля, и известный ранее как Rampage («Буйный»).

Rampage logo

Помните, легендарный чипсет Voodoo Graphics? Он тоже был разработан с нуля и произвел революцию, открыв железный век 3D-графики. Разработчики не испугались сделать два чипа вместо одного, и это дало им много преимуществ. К чему это? А к тому, что последнее творение 3dfx должно было состоять из набора чипов — Sage и Rampage. Все вместе это бы называлось Specter.

Sage содержал четыре программируемых конвейера с мощным геометрическим сопроцессором, а также встроенный RAMDAC. Как и все остальные разработки 3dfx, Sage был синхронизирован с памятью. Функциональная частота — 200 МГц, хотя в данном случае это ограничение не технологии чипа, а скорее частоты наиболее доступной на тот момент памяти. Наконец-то аппаратный T&L, и не какой-нибудь, а уже программируемый. Обработка более 75 млн. треугольников в секунду. Такая большая мощность возможна благодаря тому, что сам видеоконтроллер разбит на два чипа и это позволяет сделать более сложным каждый из них. Естественно, поддерживается технология T-buffer, но уже через технологию M-buffer, которая позволяет увеличить качество, поднять скорость, и главное, создавать эффекты с независимо большим количеством опорных сэмплов. Интересен факт применения внутреннего рендеринга с точностью выше 32 бит, что должно положительно сказаться на конечном качестве изображения. Точно известно, что чипсет поддерживает технологию удаления скрытых поверхностей (аналогично блоку HSR от Nvidia). Программируемый T&L-конвейер, помимо повышения скорости, дает известные преимущества. Аппаратная поддержка воксельной геометрии, 3D-текстур, сплайновых поверхностей. Множество фактов говорит о том, что чип способен создавать криволинейные полигоны, причем сложности высокого порядка. В чип введена поддержка уже привычной технологии сжатия текстур FXT1 (а также S3TC). Остальное — уже стандарт: 32-битные текстуры, 24-битный Z-buffer. Sage использовал 128-битную шину данных и синхронную по частоте с чипом память DDR SDRAM, что дает пропускную способность в 6,4 Гбайт/с. Учитывая, что модулей текстурирования в чипе нет, можно сказать, что чип с запасом сбалансирован по памяти.

Rampage обеспечивал стандартное текстурирование. Хотя слово «стандартное» для чипа с поддержкой криволинейных полигонов не вяжется. Rampage синхронизирован с Sage и памятью и работает на частоте 200 МГц. Кристалл должен был вместить шестнадцать (!) модулей текстурирования, то есть по четыре на каждый конвейер. Эффективность применения четырех TMU на одном конвейере спорна (например, Nvidia в GeForce три на это не пошла). Для трилинейной фильтрации необходимо два модуля. В режиме мультитекстурирования (битекстурирования) используются две текстуры. Если мы хотим накладывать две отфильтрованные текстуры на полигон за один проход в режиме мультитекстурирования, нам понадобятся четыре текстурных блока. Это на сегодняшний день минимум, ведь в DirectX 8 поддерживается мультитекстурирование с 2-8 текстурами на полигон. Естественно, что использование 16-текстурных сэмплов позволяет добиться высокого качества анизотропной фильтрации. Такой подход должен поднять качество и скорость рендеринга. Rampage также использует 128-разрядную шину данных и синхронную память DDR SDRAM, что дает пропускную способность в 6,4 Гбайт/с. Как видим, и этот чип сбалансирован по памяти.

Каждый чип имеет свою память. То есть данный видеоконтроллер имел фиксированное распределение памяти. Это, несомненно, можно отнести к плюсам. Я объясню почему. В результате использования общей шины для различных типов данных могут возникать конфликты доступа. Например, в то время как в кэш память грузятся текстуры из внешней видеопамяти, поступает запрос на порцию данных от RAMDAC видеокарты — шина будет предоставлена RAMDAC, потому что он имеет наивысший приоритет. В результате чип временно прекращает текстурирование и приостанавливает рендеринг. Specter это не грозило, так как на каждый чип фиксировано приходится по 128 разрядов шины памяти. Разделение видеоконтроллера на два функциональных чипа позволило оптимизировать систему кэширования под каждую задачу и увеличить объем кэш-памяти в каждом чипе.

Нас ждал поистине революционный продукт, имеющий со своими предшественниками общее — разве что только фирму разработчика. Увидим ли мы Specter? По всей видимости, нет! Увидит ли кто-нибудь Specter? Возможно. Во-первых, чип уже практически завершен. А Nvidia заключила контракт с Quantum3D на поставку чипов для ее будущих систем Graphite и AAlchemy. Чипы GeForce2 MX и GeForce2 Ultra уже используются в системах Graphite (как одночиповые решения). А системы AAlchemy используют только многочиповые, высокопроизводительные решения. Поскольку чипы Nvidia фактически не умеют объединяться, а в распоряжении Nvidia есть Specter, то вполне возможно, что для систем AAlchemy компания будет поставлять чипы Sage и Rampage (учитывая возможность объединения до 32 пар чипов). Но мы-то все равно этого уже не увидим…

Вместо эпилога

Ну что тут можно сказать? Характеристики продуктов первой половины 2001 года определяются требованиями Microsoft DirectX 8.0. Это и мультисэмплирование, и 3D-текстуры, и шейдеры, и высокие значения Fill rate и Triangle rate, и алгоритмы сжатия текстур. Ждем таких же сильных решений от остальных производителей. ATI обещает уже в марте показать Radeon 2, заявляя, что этот чип будет биться на одном поле с GeForce3.

Видеочипы все больше походят на процессоры. Это и полностью программируемые этапы рендеринга, и реализация нестандартных контроллеров памяти, и даже постоянное увеличение объема накристальной кэш-памяти. Даже судьба их схожа. Вспомните, процессоры AMD не могли показать всю свою мощь до массового выхода программ, использующих 3DNow!. Аналогично — до сих пор не востребованы таланты Pentium 4. Вот и новый GPU Nvidia GeForce3, имея колоссальные возможности, вынужден ждать выхода игр, оные использующих.

Год назад 3dfx пошла по пути улучшения визуального качества 3D-графики, а Nvidia основной упор сделала на скоростные показатели и функциональность своих продуктов. Если бы меня в то время спросили, какой путь предпочтительней, я бы не задумываясь выбрал первый. Однако 15 декабря 2000 года Nvidia купила 3dfx.