12 лет назад 10 февраля 2007 в 1:40 54

Скачки продолжаются

Автор: Андрей Воленко

В новом чипе g80 nvidia смогла реализовать гораздо больше новшеств, чем от нее ожидали. выход geforce 8800 в “видеокарточно-эволюционном” смысле можно сравнить с появлением первого gpu – geforce 256. в нем много любопытного, иногда даже захватывающего. он интересен не только в терминах fps и попугаев, но и с точки зрения архитектуры и технологий.

Последние несколько лет вычислительные мощности видеокарт наращивались более интенсивными темпами, нежели производительность процессоров или объемы жестких дисков. Благодаря этому рынок видеокарт насыщался новыми решениями очень быстро, карты стремительно становились все мощнее и мощнее. Однако G80 несколько прерывает этот плавный бег в гору заметным прыжком – NVIDIA выдает не улучшенное старое, а совершенно новый чип с новыми принципами и возможностями.

УНИФИЦИРОВАННАЯ АРХИТЕКТУРА

После выхода NVIDIA GeForce 3 (NV20) – первого GPU, способного выполнять пиксельные и вершинные шейдеры стандарта DirectX 8.0, видеочипы последующих поколений превращались во все более универсальные вычислительные устройства. Сложность выполняемых ими шейдерных программ дошла до такого уровня, что GPU начали напоминать обычные центральные процессоры. Самым главным архитектурным ограничением графических процессоров при этом оказывалось деление вычислительных шейдерных блоков на пиксельные и вершинные. То есть каждый GPU содержал определенное число блоков для обработки каждого вида шейдеров.

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

Решением этой проблемы, очевидно, оказывается унификация шейдерных процессоров. Наделив каждый вычислительный блок способностью просчитывать и пиксельные, и вершинные шейдеры, можно легко решить вопрос дисбаланса, в итоге полностью использовав производительность GPU.

Впрочем, G80 оказывается не первым ядром с унифицированными шейдерными блоками. До NVIDIA подобный чип успела выпустить ATI. R500 (он же Xenos) содержит 48 унифицированных шейдерных процессоров и вполне успешно применяется в консоли Xbox 360.

АРХИТЕКТУРА G80

Ядро G80 состоит из 128 унифицированных потоковых процессоров. NVIDIA говорит о независимости этих процессоров, что на самом деле чистой правдой не является. Все процессоры объединены в 8 блоков по 16 штук. Каждый блок представляет собой объединение из двух шейдерных процессоров (уже по восемь потоковых процессоров в каждом), четырех текстурных модулей и общего L1-кэша. Также ядро имеет по шесть блоков кэшей второго уровня и массивов регистров общего назначения. К любому из этих блоков может обратиться любой из 128 потоковых процессоров. То есть данные, обработанные одним шейдерным процессором, могут быть использованы другим шейдерным процессором. Частота работы потоковых процессоров более чем в два раза превышает частоту работы ядра. Для GeForce 8800GTX это 1350 и 575 МГц соответственно.

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

В чипах предыдущих поколений выборка и фильтрация текстур не могла происходить одновременно с математическими вычислениями, теперь же это возможно. Только при генерации текстурных координат на некоторое время оказывается задействовано ALU. Общий КПД чипа благодаря этому заметно повышается.

Получается замечательная картина, поскольку любой из 128 потоковых процессоров G80 представляет собой обычное вычислительное устройство, способное работать с данными в формате с плавающей точкой. То есть помимо обработки шейдеров любого типа (геометрических, пиксельных или вершинных) любой потоковый процессор независимо от других можно использовать для просчета физических эффектов или других задач. Благодаря потоковой архитектуре становится возможным использование результатов одного процессора в качестве входных данных для другого.

Чип NVIO

В ядре G80 NVIDIA решила не реализовывать привычные интерфейсы, теперь их поддержка осуществляется отдельным чипом NVIO. В эту микросхему интегрированы два 400 МГц RAMDAC, два Dual Link DVI и HDTV-Out. Такая хитрость позволила компании решить ряд проблем. Дело в том, что интерфейсы занимают существенную часть на кристалле видеопроцессора, подвержены помехам от вычислительных блоков и обычно электрически отличаются от всего ядра, то есть требуют отдельного питания. С внешним блоком интерфейсов эти проблемы отпадают автоматически, чип упрощается, а гибкость конфигурирования повышается.

На платах NVIO расположен рядом с обслуживаемыми им интерфейсами. После того как в Сеть просочились первые фотографии карты без кулера, невиданный доселе NVIO на некоторое время оказался главным предметом домыслов.

NVIDIA Lumenex Engine

Модуль Lumenex является очень важной частью нового GPU. Он отвечает за выборку и фильтрацию текстур, полноэкранное сглаживание, поддержку HDR и вывод результата рендеринга на экран.

Благодаря Lumenex удалось существенно улучшить качество работы антиалиасинга. Теперь при сглаживании используются зональные (coverage) и геометрические семплы, этим обеспечены четыре новых режима мультисемплированного сглаживания для карт на одном GPU: 8x, 8xQ, 16x и 16xQ. Технология получила название Coverage Sampling Antialiasing (CSAA). Скорость работы сглаживания при этом увеличилась. NVIDIA уверяет, что 16x CSAA всего на 10-20% медленнее, чем привычный 4x мультисемплинговый антиалиасинг.

На картах с чипами семейства GeForce 7 при HDR-рендеринге (High Dynamic Range) не работало полноэкранное сглаживание. Сейчас же процесс HDR-рендеринга осуществляется со 128-битной точностью одновременно с мультисемплинговым антиалиасингом. Реалистичность эффектов освещения и наложения теней заметно повысилась, глубокий HDR-рендеринг позволил обеспечить высокую детализацию самых темных и самых светлых объектов сцен.

По качеству анизотропной фильтрации G80 превзошел ATI RD580. Вместе с технологией множественного трилинейного текстурирования анизотропная фильтрация позволила сделать картинку заметно четче, существенно снизив масштаб искажений.

NVIDIA Quantum Effects

Целый табун потоковых процессоров G80 обеспечивает очень высокий уровень производительности для просчета физических эффектов. Одновременно с расчетом графики на 8800 можно реализовать ряд натуралистичных эффектов, будь то имитация движущегося меха, волос, воды или же вывод правдоподобной дымки, огня и взрывов.

Естественно, все эти эффекты станут доступны после выхода Windows Vista и, соответственно, DirectX 10.0.

Подсистема памяти

По сравнению с чипами G70/71 контроллер памяти существенных изменений не претерпел. Вместо четырех подразделов реализовано шесть, то есть шина памяти расширена до 384 бит. Также контроллер получил поддержку GDDR4-памяти, хотя пока используется привычная GDDR3 с частотой 1800 МГц. Теоретическая пропускная способность шины составила 86,4 Гб/с. Объем памяти тоже оказался нестандартным – на карты GeForce 8800GTX устанавливают по 768 Мб.

CUDA API: сущность и перспективы

Гибкая шейдерная архитектура помимо просчета физики в игровых приложениях пригодна для более серьезного применения. Теоретически на G80 можно выполнять задачи математического, экономического или, например, статистического моделирования. Список возможных приложений можно продолжать очень долго, поскольку потоковый процессор G80 по производительности плавающей арифметики заметно превосходит существующие настольные процессоры.

Чтобы реализовать весь потенциал нового GPU, необходима его поддержка со стороны приложений, то есть API (интерфейс программирования приложений). Для этого NVIDIA разработала специальный CUDA (Compute Unified Device Architecture) API, который обещает плавно переехать и на следующие поколения чипов NVIDIA.

CUDA – это унифицированная вычислительная архитектура. В ней реализованы специальный SDK, API и компилятор С. Таким образом, написание ПО, использующего мощности видеочипа, оказывается очень простым. NVIDIA обещает минимум десятикратный прирост производительности по сравнению с двухъядерным Core 2 Duo E6700.

Если NVIDIA удастся популяризовать это решение, то характер развития индустрии может очень сильно измениться. NVIDIA через некоторое время просто может выпустить некоторый вариант настольного процессора, вернее, чипа, объединяющего CPU и GPU.

Напомним, что компании уже очень близко подошли к этому, а AMD во многом по этой причине приобрела ATI. Недавно AMD заявила о выпуске многоядерных чипов с ядрами разного назначения. Тенденции рынка на лицо, NVIDIA старается не отстать в этой гонке.

КАРТА MSI GEFORCE 8800GTX

Первое, что удивляет в плате – ее габариты. Референс-клон MSI GeForce 8800GTX целых 27 сантиметров длиной. Такой монстр уместится далеко не в каждом компьютере, да и если даже уместится, то может помешать установке жестких дисков в расположенную слишком близко к материнской плате корзину. По этой же причине разъемы для дополнительного питания вынесены не на торец платы, а на верхнюю кромку.

Шестипиновых разъемов стало два – 8800GTX предъявляет повышенные требования к блоку питания компьютера. Для работы карты необходим БП мощностью 450 Вт, способный выдать честные 30 А по линии 12 В. В режиме 3D карта потребляет около 150 Вт, в 2D – немалые 100 Вт. На какие нужды уходят 100 Вт фактически при простое большей части вычислительных блоков карты – непонятно.

Чип, выполненный по 90-нанометровым технологическим нормам и содержащий 681 млн транзисторов, закрыт теплораспределительной крышкой. В виде 12 микросхем производства Samsung со временем выборки 1,1 нс реализованы 768 Мб GDDR3-видеопамяти. Все это безумие охлаждается достаточно тихой двухэтажной системой охлаждения. Турбинный вентилятор кулера прогоняет воздух через алюминиевый радиатор, имеющий всего одну тепловую трубку. Уровень шума удивительно низкий, карта оказывается тише многих представителей предыдущего поколения.

/врезка

Конфигурация тестового стенда

Процессор

– Intel Core 2 Extreme QX6700 (2,66 ГГц, 1066 МГц, 2×4 Мб L2 кэш)

Материнская плата

– Gigabyte GA-965P-DS3 (Intel 965P Express)

Оперативная память

– 2x 1 Гб Corsair CM2X1024-6400

Жесткий диск

– Seagate Barracuda 7200.7 120 Гб (IDE, 7200 об/мин)

Программное обеспечение

– Windows XP Professional Service Pack 2

/конец врезки

/Врезка

Результаты тестирования

Chaintech GeForce 7950GX2 Sapphire Radeon X1950XTX MSI GeForce 8800GTX
3DMark03 Normal 32927 21663 32964
High 13155 10746 13127
3DMark05 Normal 14339 12862 15314
High 9429 8375 13318
3DMark06, SM 2.0 Normal 3633 2531 4703
High 2332 1813 3190
3DMark06, SM 3.0 Normal 3481 2805 4813
High NA 1603 2777
3DMark06, SM Overall Normal 8394 6628 11528
High NA 4495 7756
Half-Life 2, кадров в секунду Normal 138 159 168
High 111 103 151
Quake 4, кадров в секунду Normal 207 162 231
High 127 102 155
F.E.A.R., кадров в секунду Normal 196 190 214
High 63 48 87

/конец врезки

РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

Без труда можно заметить, что новый флагман превосходит предыдущие решения на голову. Двухчиповый GeForce 7950GX2 и Radeon X1950XTX одинаково сильно отстают от 8800GTX. В режимах с легкой графикой отставание относительно мало, поскольку тестовый процессор оказывается неспособен максимально озадачить видеокарту. При переходе к тяжелым режимам, когда процессорозависимость уменьшается, 8800GTX уже более чем на 50% впереди. При дальнейшем переходе к более тяжелой графике разрыв еще увеличивается, старые флагманы начинают “подтормаживать”, в то время как 8800GTX ведет себя достойно.

Пока мы всего лишь смогли протестировать производительность GeForce 8800GTX в существующих приложениях DirectX 9.0c. В этих задачах новый чип оказался недостижимым для старых флагманов. С 8800GTX могут побороться разве что SLI- и Crossfire-связки старых решений.

Оценить карту при работе с DirectX 10.0 и обсчете физических эффектов пока нет возможности. Как нет возможности хотя бы увидеть работу приложений, написанных под API CUDA. К тестированию G80 и его последователей придется вернуться позднее, когда будет написано соответствующее ПО и потенциал карты будет раскрыт в большей мере.