NVIDIA. Давний и бессменный лидер рынка дискретных графических процессоров. Рассмотрим, как появились и развивались видеокарты NVIDIA. Первая часть повествует о становлении графики компании в период до появления DirectX 10.
STG-2000: неоднозначный первенец
RIVA 128: совместимость с DirectX
RIVA TNT: мультитекстурирование
GeForce 256: аппаратная трансформация и освещение
GeForce 2
GeForce 3: шейдеры
GeForce 4
GeForce FX5000: ранний DirectX 9
GeForce 6000: DirectX 9.0c и HDR
GeForce 7000
STG-2000: неоднозначный первенец
NVIDIA была основана в 1993 году. Тогда происходил рост популярности трехмерных игр, который делал перспективным разработку 3D-ускорителей. Именно этим и занялась новая компания.
В течение двух лет NVIDIA разрабатывала свой первый продукт, и, наконец, представила его в мае 1995 года. Это была мультимедийная карта STG-2000 на базе чипа NV1. Плата имела разъем PCI и объединяла в себе 3D-ускоритель, блок работы с 2D-графикой и звуковую карту.
NV1 стал первым графическим чипом для IBM-PC совместимых компьютеров с поддержкой аппаратного текстурирования. Он имел по одному текстурному модулю (TMU), пиксельному конвейеру и растровому блоку (ROP). Чип производился по техпроцессу 500 нм и работал на частоте 12 МГц. В качестве памяти использовалось 2 или 4 МБ EDO RAM с пропускной способностью 600 МБ/c.
Особенностью NV1 стала работа с четырехугольными примитивами, аналогично приставке Sega Saturn. Несколько игр с этой приставки, такие как Virtua Fighter и Panzer Dragoon, были портированы на ПК и успешно работали на STG-2000.
Вскоре после выхода STG-2000 компания Microsoft представила API DirectX, работающий с треугольными полигонами. В итоге чип NV1 остался не у дел. NV2, разрабатываемый в недрах компании для приставки Sega Dreamcast, был отменен.
RIVA 128: совместимость с DirectX
В 1996 году NVIDIA приступила к работе над 3D-ускорителем, работающим с треугольными полигонами. В приоритете была максимальная совместимость с графическими API DirectX 5 и OpenGL 1.0. В основе ускорителя лежит доработанная архитектура прошлого чипа, получившая название Fahrenheit. Разработка увидела свет в августе 1997 года — тогда компания представила карту RIVA 128.
Сердцем модели стал чип NV3, выпускаемый по техпроцессу 350 нм. Как и предшественник, он имел по одному пиксельному конвейеру, ROP и TMU, но обладал гораздо более высокими частотами чипа и памяти — оба работали на 100 МГц. Память представляла SGRAM объемом 4 МБ. Ее полоса пропускания увеличилась до 1.6 ГБ/c благодаря 128-битной шине. Буфер кадра и текстуры могли храниться в системной ОЗУ. Чип NV3 одним из первых получил поддержку шины AGP 2x, но выпускались и PCI-карты.
RIVA 128 стала первым популярным продуктом компании благодаря совместимости с DirectX, неплохой производительности, а также сочетанию обработки 2D-изображения и 3D-ускорителя в одной карте — конкурирующая Voodoo Graphics от 3dfx Interactive для своей работы требовала дополнительной 2D-карты. Другой конкурент, ATI 3D Rage Pro, обладала сравнимой с RIVA 128 функциональностью, но часто была медленнее, и вдобавок не поддерживала OpenGL.
В феврале 1998 года NVIDIA выпускает обновленную RIVA 128 ZX. Объем памяти возрос до 8 МБ, а ее частота увеличилась на четверть.
RIVA TNT: мультитекстурирование
На фоне усиливающейся конкуренции со стороны Voodoo 2, NVIDIA понадобилось более производительное решение. Им стала RIVA TNT на базе чипа NV4, выпущенная в июне 1998 года. Модель получила поддержку мультитекстурирования, которое стало одним из главных нововведений DirectX 6 и OpenGL 1.2.
Конвейеров, ROP и TMU в NV4 стало по два. Чип научился работать с 32-битным цветом и 24-битным Z-буфером, в отличие от конкурирующей Voodoo 2, и получил более качественную фильтрацию текстур. Память представляли 8 или 16 МБ SDRAM. Модели все чаще стали оснащаться активным охлаждением, хотя чип еще мог обходиться и без него.
Voodoo 2 была популярнее и показывала более высокую производительность при использовании собственного API Glide, который к тому времени получил большое распространение в играх. Но Riva TNT привлекла внимание к DirectX и OpenGL. Единственная модель не способствовала популярности, поэтому в начале 1999 года NVIDIA решила расширить линейку новыми моделями RIVA TNT2.
Карты серии TNT2 основаны на чипе NV5. Новый техпроцесс 250 нм позволил повысить частоты до полутора раз. Чип получил поддержку шины AGP 4x, 32-битного буфера и текстур разрешением 2048х2048. Карты серии TNT2 оснащались 16 или 32 МБ памяти SDRAM. Для сравнения: у современной RTX4090 24 ГБ памяти. Или, по меркам 1998 года, 24576 МБ.
Бюджетные модели основывались на NV6, упрощенном варианте NV5 с 64-битной шиной. Самой быстрой картой с ним стала Riva TNT2 M64. Младшие модели со сниженными частотами получили названия Vanta и Vanta LT.
Главным конкурентом линейки TNT2 стала Voodoo 3. Несмотря на меньшие продажи и более низкую производительность, линейка RIVA TNT2 за счет разнообразия моделей нашла применение в компьютерах разных ценовых сегментов, тем самым поспособствовав популяризации 3D-игр.
GeForce 256: аппаратная трансформация и освещение
Развитие 3D-ускорителей в 90-е годы происходило бурно, но большую часть обработки графики все так же выполнял ЦП компьютера. В сентябре 1999 года Microsoft выпустила DirectX 7, который принес поддержку аппаратной трансформации и освещения (T&L) с помощью видеокарты.
В октябре 1999 года NVIDIA дает старт карте GeForce 256. В ее основе графическая архитектура Celsius. Чип NV10 имеет аппаратный блок T&L и четыре пиксельных конвейера, к каждому из которых привязано по одному ROP и TMU. 128-битная шина поддерживает два вида памяти — SDRAM и DDR. Пропускная способность модели с DDR была почти вдвое выше, чем у версии с SDRAM: 4.8 ГБ/c против 2.6 ГБ/c. Имелись версии с 32 и 64 МБ памяти.
На внедрение аппаратного T&L в игры потребовалось время, и на момент выхода дороговизна GeForce 256 не оправдывала чистого роста производительности без учета этой технологии. С оптимизированными играми в системах со слабым процессором карта могла значительно превосходить предшественников и конкурентов, но такое применение было маловероятно.
GeForce 2
В апреле 2000 года была выпущена первая карта серии GeForce 2 на базе чипа NV15, переведенного на техпроцесс 180 нм.
Новшеством по сравнению с NV10 стало два TMU на конвейер. TMU работают совместно с новым блоком Nvidia Shading Rasterizer, который смешивает текстуры для реализации эффектов мультитекстурирования. Таким образом, реализованы некоторые функции DirectX 8, хотя шейдеров у ГП еще нет. Используется память DDR. Ее полоса пропускания возросла до 7.3 ГБ/c.
В июне свет увидела бюджетная серия GeForce 2 MX. В ее основу лег чип NV11, получивший вдвое меньше блоков, чем NV15, но сохранивший 128-битную шину. Большинство карт серии оснащались памятью SDRAM, хотя существуют и варианты с 64-битной DDR.
С появлением GeForce 2 и первых Radeon от ATI, поддержка аппаратного T&L в играх стала распространяться все больше. Voodoo 4 и 5 появились позже, и уже не могли обогнать конкурентов по производительности при гораздо большей цене. В итоге, в конце 2000 года NVIDIA купила 3dfx Interactive, тем самым положив конец одному из конкурентов.
В отличие от прошлой линейки, карты серии GeForce 2 стали по-настоящему массовыми. Игры положительно откликались на удвоенное количество TMU, но производительность все чаще стала упираться в пропускную способность памяти.
GeForce 3: шейдеры
В феврале 2001 года была представлена GeForce 3. В ее основу лег чип NV20 на архитектуре Kelvin, производимый по 150 нм техпроцессу. Главным улучшением стала программируемая шейдерная архитектура с поддержкой DirectX 8.0.
Конфигурация NV20 схожа с предшественником: 4 ROP и 8 TMU. На каждый из четырех конвейеров приходится по пиксельному шейдеру. Еще один шейдер используется для обработки вершин, он совмещен с блоком T&L. 128-битная шина памяти стала использоваться более эффективно благодаря технологии сжатия Lightspeed Memory Architecture. GeForce 3 оснащаются 64 или 128 МБ памяти DDR.
NV20 получил поддержку сглаживаний MSAA и Quincunx, которые значительно быстрее доступного ранее SSAA. Работа анизотропной фильтрации улучшена, добавлена поддержка текстур разрешением 4096х4096. ГП поддерживает технологию RT-Patches, являющуюся одним из предков современной тесселяции, но так и не получившую распространения.
Производительность GeForce 3 в старых играх, не использовавших шейдеры, была на уровне или даже ниже прошлой линейки GeForce 2. Как и конкурирующий Radeon 8500 на чипе R200, карты стали раскрываться только с приходом игр с поддержкой DirectX 8. К тому времени компания выпустила следующее поколение карт, обладающее повышенной производительностью — GeForce 4.
GeForce 4
В феврале 2002 года были представлены GeForce 4 — новые представители архитектуры Kelvin, распространившие ее в массы. Чип NV25 схож с NV20, но имеет два вершинных шейдера, которые могли работать как сдвоенный блок T&L. Добавилась поддержка пиксельных шейдеров версии 1.3, требующаяся для совместимости с DirectX 8.0a. Сглаживание теперь отнимало меньше производительности. Ядру покорились 300 МГц частоты, а память ускорилась на четверть, хотя объем не изменился.
NV25 использовался в производительной линейке GeForce 4 Ti. В бюджетной линейке GeForce 4 MX использовался другой чип — NV17, который из-за отсутствия шейдеров ограничен DirectX 7. Он достаточно схож с NV11, использовавшимся в GeForce 2 MX, и немного быстрее него за счет частоты и поддержки технологии сжатия памяти.
В конце 2002 года появились модели на чипах NV28 и NV18. Они повторяли прежний ассортимент, но получили поддержку шины AGP 8x.
Ti-модели были дорогими, MX — дешевыми. Поэтому GeForce 4 MX пользовались популярностью. Но с появлением игр, которые задействовали шейдеры, их пользователи остались не у дел: в ранних проектах не отображались некоторые эффекты, а более поздние отказывались запускаться. Благо, после этой серии производитель избавился от подобной практики, и современные Ti-модели по функциональности не отличаются от обычных карт серии.
У ATI не было адекватного ответа на топовые GeForce 4 Ti до июля 2002 года, когда была выпущена гораздо более быстрая Radeon 9700 Pro с поддержкой DirectX 9. Но спустя полгода NVIDIA ответила новой линейкой — GeForce FX5000.
GeForce FX5000: ранний DirectX 9
В январе 2003 года NVIDIA выпускает первые карты линейки GeForce FX5000, рассчитанные на работу с DirectX 9. В их основе новая архитектура Rankine.
Потребляемая мощность превысила возможности слота AGP, поэтому GeForce FX потребовали дополнительного питания с помощью разъема MOLEX. Появилось автоматическое управление вентилятором в зависимости от температуры ГП.
Первыми стали карты серии FX5800 на основе 130 нм чипа NV30. 4 ROP и 8 TMU соседствуют с четырьмя пиксельными и тремя вершинными шейдерами, которые переработаны для поддержки шейдерной модели 2.0a и управления потоком команд. К 128-битной шине подключалось 128 МБ памяти нового типа — GDDR2. Качество сглаживания и анизотропной фильтрации улучшилось. К тому же, они стали меньше влиять на производительность.
Карты серий FX5600 и FX5200 вышли спустя два месяца. В их основе — чипы NV31 и NV34. По сравнению со старшим NV30, у них вдвое меньше TMU. Младший NV31 имеет несколько упрощений в работе конвейеров. В отличие от старшей карты, здесь использовалась обычная память DDR объемом 64, 128 или 256 МБ.
Во второй половине 2003 года NVIDIA выпустила обновленные чипы NV35 и NV36, пришедшие на смену NV30 и NV31. Пиксельные процессоры получили усовершенствования, повышающие производительность. NV36 лег в основу карт серии FX5700, которые комплектовались памятью DDR, GDDR2 или GDDR3. NV35 использовал обычную DDR, но за счет 256-битной шины превосходил NV36 по пропускной способности памяти в два раза. Этот чип использовался в серии карт FX5900.
Выпущенный позже NV38 представлял копию NV35, оптимизированную для достижения высокой частоты. Его обладателем стала топовая FX 5950 Ultra. В начале 2004 года NVIDIA выпускает модели серии с интерфейсом PCI-E x16, который реализуется с помощью чипа-моста HSI. Эти карты получают новый суффикс «PCX».
Несмотря на поддержку DirectX 9, серия FX работала с ним достаточно медленно из-за малого количества шейдерных блоков. Конкурирующие Radeon на базе чипов серии R300 в этом плане были быстрее. Повышение производительности в новом API принесет следующая серия карт — GeForce 6000 на новой архитектуре Curie.
GeForce 6000: DirectX 9.0c и HDR
Первые карты нового семейства выпустили в мае 2004 года — за несколько месяцев до прихода DirectX 9.0c, поддержкой которого они могли похвастать. Обновленный DirectX принес рендеринг в расширенном динамическом диапазоне (HDR) и шейдеры версии 3.0.
Большинство моделей линейки выпускались со 128 или 256 МБ памяти, за исключением топовой 6800 Ultra, которая имела вариант с 512 МБ. Эти карты первыми получили поддержку технологии SLI, позволяющей объединять силы двух ГП для ускорения работы игр.
Шейдерные процессоры получили множество улучшений и изменения в организации. Каждый пиксельный шейдер содержит в себе два ALU, занимающихся вычислениями. По четыре шейдера и TMU сгруппированы в пулы квадов, которые работают с фрагментами изображения 2х2 пикселя. В дебютном чипе NV40 четыре пула — то есть, 16 шейдеров и 16 TMU.
Помимо этого, в чипе шесть вершинных шейдеров, а также 16 блоков ROP. Интерфейс памяти 256-битный. Он способен работать с DDR, DDR2 и GDDR3, пиковая пропускная способность которой достигла 35 ГБ/c. NV40 используется в серии видеокарт GeForce 6800.
Практически каждая модель серии имела два вида: с интерфейсами AGP 8x и PCI-E x16. Мост HSI, ранее распаиваемый на плате, интегрировали на подложку ГП. AGP-варианты получали дополнительное питание через разъемы MOLEX, а для PCI-E карт стал использоваться привычный и сегодня разъем питания 6-pin.
Чип NV40 получил несколько обновлений. В NV41 был интегрирован мост HSI для реализации PCI-E варианта. NV42 перенесли на более тонкие нормы 110 нм, как и младшие модели чипов. NV45 остался на техпроцессе 130 нм, но получил оптимизации для достижения более высоких частот. Конкурирующая серия Radeon X800 превосходила GeForce 6800 при использовании шейдеров версии 2.0, но более современные шейдеры версии 3.0 не поддерживала.
Старшие карты были хороши, но достаточно дороги. В августе 2004 года NVIDIA выпускает видеокарту среднего ценового сегмента, сразу же ставшую хитом — 6600GT. Несмотря на более простой чип NV43, содержащий лишь 4 ROP, половину шейдерных процессоров и TMU от полного NV40, карта показывала хорошую производительность. Свою роль в этом сыграла быстрая память GDDR3, хотя шина памяти у нового ГП была урезана до 128 бит.
На основе NV43 вышли и другие модели серий 6600 и 6200, в которых была заблокирована часть имеющихся блоков. В младшем чипе NV44 осталась лишь половина блоков от NV43, за исключением трех вершинных процессоров. Этот ГП использовался в картах серии GeForce 6200 и 6500.
GeForce 7000
Серия GeForce 7000 также основана на архитектуре Curie, но с некоторыми доработками Карты получили улучшения в поддержке сглаживания: стали доступны гамма-коррекция и Transparency AA, за счет комбинации методов сглаживающий полупрозрачные текстуры.
Первенец серии GeForce 7800 был выпущен в июне 2005 года. Чип G70 получил шесть пулов квадов, 24 TMU и столько же пиксельных шейдеров. В состав последних, помимо векторных ALU, вошли два небольших скалярных ALU для простых операций. Это дало прирост производительности при выполнении сложных шейдеров.
Вершинные шейдеры изменений не претерпели, но их количество увеличилось до восьми. Аналогично NV40, у G70 16 блоков ROP и 256-битная шина памяти. Карты GeForce 7800 оснащались 256 или 512 МБ памяти GDDR3, которая обеспечивала полосу пропускания до 54 ГБ/c. Интерфейс PCI-E x16 теперь был интегрирован в чип, а для реализации шины AGP применялся «развернутый» мост HSI.
Среди продуктов NVIDIA эта линейка карт последней получила AGP-модели. После этого по сей день все видеокарты для соединения с системой используют только интерфейс PCI-E, в том числе современные NVIDIA RTX. В марте 2006 года на смену G70 пришел G71. Он производился по более тонкому техпроцессу 90 нм, который снизил TDP и увеличил рабочие частоты. На основе G71 были выпущены карты серии GeForce 7900, в том числе первые двухчиповые модели компании — 7900GX2 и 7950GX2.
Одночиповые GeForce 7900 модели конкурировали с картами серии Radeon X1800 и X1900, которые где-то превосходили, а где-то наоборот уступали продукции NVIDIA. Связка двух карт этих серий в CrossFire противопоставлялась двухчиповым 7900GX2 и 7950GX2.
В отличие от топовых, карты среднего и младшего ценового сегмента серии GeForce 7000 имели 128 или 256 МБ памяти. Средний сегмент представлял G73 — «половинка» старшего чипа, не считая еще один вершинный шейдер. К 128-битной шине памяти подключалась память DDR2 или GDDR3. Полный чип стал основой серии GeForce 7600, а урезанная версия — модели 7300GT.
Младший G72 использовался в сериях GeForce 7300 и 7200. Его характеристики по сравнению с G73 урезали вдвое. Ширина шины памяти у разных моделей — 64 или 32 бита. В основе модели 7100GS — чип прошлого поколения NV44.
GeForce 7000 стала последней линейкой с отдельными пиксельными и вершинными шейдерами. Следующая линейка GeForce 8000 принесла универсальные шейдеры, которые и до сих пор используются в любой современной видеокарте