На протяжении долгих лет архитектура графических процессоров принципиально не изменялась. Такое понятие, как «конвейер», стало доминирующим в описании архитектуры конкретного видеопроцессора, и отличия между ними в основном состояли в количестве отдельных вычислительных блоков. И вот наконец сегодня компания NVIDIA показывает нам другой путь развития.
Новации в GeForce 8800
Теперь пройдёмся по особенностям и нововведениям в новой архитектуре от NVIDIA.
Начнём с потоковых процессоров (Stream processors).
Итак, 128 потоковых процессоров объединены по 8 и работают на частоте 1350 МГц. Они обрабатывают сырые данные и передают их блокам текстурирования. На каждые 4 потоковых процессора приходится 1 юнит адресации текстур и 2 юнита фильтрации текстур. То есть на каждый функциональный блок в ядре, как видим по диаграмме, приходится 16 потоковых процессоров, 4 юнита адресации текстур и 8 юнитов фильтрации текстур. Нововведение: каждому такому блоку выделен кэш первого уровня. Текстурные блоки и кэш работают на частоте ядра 575 МГц.
|
|
Это сделано как раз для обеспечения потоковой обработки данных. Данные, обработанные одним потоковым процессором и выгруженные в кэш (это и есть stream output), могут быть вычитаны с помощью диспетчера ветвлений GigaThread другим процессором и заново обработаны (stream input), без ожидания выгрузки в кадровый буфер.
Что также изменено в G80: все потоковые процессоры – скалярные. Мы уже на протяжении нескольких лет наблюдаем постепенный переход от векторных вычислений к скалярным (от цвета к математике), однако в рамках классической архитектуры одновременно проводить оба типа вычислений было невозможно. Для этого процессорные единицы разделялись, потому как скалярные вычисления на векторных процессорах выполняются очень неэффективно. Применялись даже такие экзотические решения, как динамическое перепрофилирование с векторных на скалярные вычисления.
GeForce 8800 полностью построен из скалярных процессоров в связи с тем, что все больше вычислений проводятся на шейдерной основе. Инженеры NVIDIA небезосновательно решили, что 128 скалярных процессоров будут более эффективны, чем 32 векторных конвейера по 4 (3 + 1) единицы. В случае необходимости выполнения векторных вычислений векторный код переводится в скалярный в самом ядре G80 для максимальной эффективности. Процессоры способны одновременно выполнять инструкции MUL и MAD и обеспечивают до 520 гигафлоп производительности.
Текстурные блоки обособлены от потоковых процессоров. Шейдерные математические операции могут выполняться в ядре одновременно с работой над текстурированием, в то время как предыдущие архитектуры вынуждали ядро прервать вычисление и ждать выборки и обработки текстуры, а затем продолжить работу с шейдером.
|
|
Более того, заметно улучшенный по сравнению с G7x диспетчер ветвлений шейдера под названием GigaThread позволяет выполнять вычисление нескольких ветвлений шейдера одновременно, а не последовательно, как в случае с G7x. Причём, по сообщениям NVIDIA, отличная эффективность сохраняется при granularity ветвления в 16 пикселей, а иногда и 32 пикселя. Идеальным случаем для ветвления в G80 является тайл в 4х4 когерентных пикселя:
|
|
Текстурные блоки способны текстурировать до 64 пикселей за такт и адресовать до 32 текселей. При включении билинейной фильтрации или анизотропной фильтрации 2х скорость текстурирования падает до 32 пикселей за такт (на самом деле она не падает, скорость текстурирования уравнивается со скоростью адресации текстур).
Таким образом, билинейная фильтрация и 2x AF выполняются в G80 вообще без потерь производительности. Билинейная фильтрация FP16-текстур выполняется также со скоростью 32 пикселя/такт, что в 5 раз быстрее G70, а двукратную анизотропную фильтрацию TMU выполняет на скорости 16 пикселей за такт.
|
|
|
Сравнение скорости фильтрации G7x и G80 |
Скорость заполнения текстур в режимах билинейной и двукратной анизотропной фильтрации равна 575 МГц*32 текселя за такт = 18,4 млрд текселей за такт. Однако если учесть, что 2xAF выполняется без потерь производительности и требует двукратной билинейной фильтрации, эффективная скорость заполнения сцены составляет уже 36,8 млрд текселей. Уже и в графике появляется понятие «эффективная скорость», как в памяти DDR для частоты.
Изменения в следующей стадии обработки – растеризации – достойны отдельного рассмотрения – в частности, способы сглаживания картинки. Поддерживаются все существующие методы: мультисэмплинг, суперсэмплинг и адаптивное сглаживание. Введены новые профили сглаживания: 8x, 8xQ, 16x и 16xQ.
Ещё одно нововведение в архитектуре G80: вместо того чтобы проводить выборку Z-данных уже в процессе обработки в ROP, отсеивание пикселей, которые не будут видны на сцене, проводится сразу после входа данных для пиксельной обработки (так по привычке и крутится в голове «пиксельный процессор»). Это должно очень сильно повлиять на производительность, потому что в сложных сценах с большим количеством объектов традиционные архитектуры просчитывают огромное количество точек, которые уже после прохождения всех вычислительных блоков будут просто выброшены ROP. А ведь это немалые задержки в ядре, которых можно избежать, если сразу определить, над чем работать, а что проигнорировать.
Эту способность NVIDIA называет Early-Z, а сам метод отсеивания невидимых пикселей – Z-Cull, он уже присутствовал и в GeForce 6x. Заявленная скорость отсеивания в 4 раза больше, чем в GeForce 7900GTX.
|
|
Наконец мы видим первую видеокарту, способную без ухищрений обрабатывать HDR-графику одновременно с полноэкранным сглаживанием. ROP ядра способны обрабатывать текстуры в формате как FP16, так и FP32, причём возможно одновременное использование обоих типов текстур. Они могут использоваться для мультисэмплинга. В ROP заложены новые технологии сжатия данных, что должно улучшить работу с цветом и Z-буфером.
Каждый из ROP обеспечивает 64-битный интерфейс доступа к кадровому буферу, то есть суммарная шина доступа к памяти имеет разрядность 384 бит. На видеокарты GeForce 8800GTX устанавливаются чипы ёмкостью 512 Мбит, что в сумме и даёт 768 Мбайт памяти, о которой было столько пересудов. Поддерживаются типы памяти DDR1, DDR2, GDDR3 и GDDR4. На GeForce 8800GTX устанавливаются чипы GDDR3, работающие на частоте 900 МГц. Таким образом, полоса пропускания шины памяти составляет 86,4 Гбайт/с. Кроме того, каждый блок ROP снабжен кэшем L2 для все той же поддержки stream input/stream output. Довольно логичный ход, поскольку этот кэш намного быстрее кадрового буфера.
Теперь отвлечёмся от «железных» нововведений и рассмотрим новые технологии обработки графики.
NVIDIA вместе с GeForce 8800 представляет технологию Lumenex Engine. В неё входят новые методы сглаживания (8xQ, 16xQ), которые выполняются на скорости, сравнимой со скоростью 4xFSAA традиционным мультисэмплингом.
Детализация обработки FP-текстур сильно выросла, и теперь просчёт HDR выполняется со 128-битной точностью, по 32 бит на компонент. Если подобная точность будет реализована в играх или хотя бы в тестовых приложениях, мы сможем наблюдать различимые детали как на очень тёмных, так и на очень светлых поверхностях и забудем о деталях с тенями. Причём HDR-обработка как в формате FP16, так и в формате FP32 проводится одновременно с полноэкранным сглаживанием мультисэмплингом без каких-либо ограничений. Фильтрация текстур больше не имеет «неудобных» углов обзора и выполняется одинаково качественно на любом объекте. Для подтверждения качества фильтрации текстур приводим скриншот сравнения GeForce 7900GTX и GeForce 8800GTX:
|
|
Для своего нового символа NVIDIA выбрала реального человека: модель и актрису Эдриенн Керри (Adrianne Curry), известную в основном американским жителям по телепередаче «America’s Next Top Model», телесериалу «My Fair Brady» и по публикациям в журнале Playboy, как же без этого. Однако в лучших традициях производителей видеокарт её не просто сфотографировали, но и оцифровали, и теперь на сайте NVIDIA гордо красуется электронный клон американской красавицы. Ну а мы с нетерпением ждём демо с этой барышней.
Итак, приводим пару иллюстраций того, с какой детализацией Lumenex Engine позволил смоделировать лицо Эдриенн:
|
|
|
|
Lumenex Engine использует 10-битную адресацию цветовых координат, что позволяет включить в отображаемую палитру более миллиарда оттенков, в то время как традиционная 8-битная адресация дает 16,7 млн оттенков. Впрочем, мониторов, способных отображать такое количество оттенков, пока не существует, но это неплохой задел на будущее для NVIDIA и стимул для производителей мониторов.
Ещё одна технология, введённая в GeForce 8800: Quantum Effects. Это технология обработки физики средствами самого графического процессора. Она позволяет разгрузить центральный процессор и значительно повысить реалистичность в играх. Основные типы эффектов, обрабатываемых Quantum Effects, – огонь, дым, взрыв, столкновения мелких объектов, а также реалистичная отработка волос, меха и воды.
|
|
Реализуется поддержка Quantum Effects путем написания специальных программ, включаемых в игровое приложение. Поскольку NVIDIA позиционирует технологию как конкурента AGEIA, логично предположить, что основана она на API Havok FX, что не может не радовать, поскольку этот же API рассматривался и ATi, и хоть тут у нас не будет войны стандартов. Между прочим, стоит подумать о жизнеспособности Ageia в свете поддержки конкурента двумя основными производителями видеопроцессоров.
Для любителей просмотра видео высокого разрешения NVIDIA подготовила и внедрила в ядро поддержку технологий PureVideo и PureVideo HD. Если о PureVideo уже довольно давно и подробно рассказывалось на просторах Сети, то PureVideo HD – это новая инкарнация технологии, лишь около недели назад появившаяся в арсенале средств NVIDIA. Упор в ней делается на поддержку новых стандартов HD DVD и Blu-ray. Аппаратная составляющая представлена встроенным в ядро декодером видео, сжатого с использованием кодеков H.264, VC-1, WMV/WMV-HD и MPEG-2 HD. Это решение позволяет не нагружать центральный процессор декодированием видеопотока, оставив на его плечах только постобработку и разделение аудио/видеопотока. По сообщению NVIDIA, в тестовом пакете HQV Benchmark, оценивающем производительность видеокарт в декодировании видео, GeForce 8800 получили 128 очков из 130 возможных, что является рекордом.
С помощью PureVideo HD можно просматривать видео Blu-ray и HD DVD, защищённое технологией AACS (с использованием совместимых с PureVideo программных проигрывателей от таких разработчиков, как CyberLink, Intervideo и Nero).
Постобработка с помощью PureVideo HD позволяет сгладить картинку и провести тонкую настройку цветности в видео высокого разрешения, а главное – устранить шумы, на которые жалуются многие пользователи. Для сравнения – иллюстрация.
|
|
Продолжает парад инноваций технология Extreme High Definition Gaming (XHD). Эта технология позволяет играть в трёхмерные игры на широкоэкранных мониторах в разрешениях до 2560х1600. При этом заявляется, что чёткость изображения до 7 раз превосходит данную характеристику в видео стандарта 1080i и вдвое – 1080p. Для этого необходимо подключать монитор по Dual-Link DVI. А для того чтобы получить ещё и приемлемую производительность, NVIDIA рекомендует массивы из 2 видеокарт в SLI, благо для них NVIDIA сегодня представила и новые чипсеты, о чём в отдельном материале вам расскажет мой коллега.
|
|
Вывод
Итак, можно сказать, что у NVIDIA получилось сойти с пути эволюции и начать революционный этап в развитии графических процессоров. Во многом это заслуга не только этой компании, но и Microsoft, разработавшей новый API DirectX 10, однако как «железо» ничто без программ, так и программы ничто без оборудования, способного их исполнять. Планка производительности в очередной раз поднята на невиданный ранее уровень, а новые идеи будут развиваться на протяжении нескольких лет, как до сегодняшнего дня развивались традиционные архитектуры. Нам лишь осталось дождаться выхода игр, поддерживающих все те возможности, что предоставила разработчикам NVIDIA, и наслаждаться наконец так давно обещанной кинематографической графикой.
Ознакомиться с результатами теста nVIDIA GeForce 8800GTX.












Спасибо.