Вы вошли как Гость · Группа "Гости"Приветствую Вас, Гость Сделать стартовой   Добавить в избранное
Меню сайта
АДМИНИСТРАЦИЯ
     Arsh             Tigo-H
 
Tigo-H Icq: 277504457
Arsh Icq: 259056522
Мой Банер
Наш опрос
Оцените мой сайт
Всего ответов: 814
Друзья сайта
Поиск по новостям
 

 

Начало » Статьи » Компьютеры [ Добавить статью ]

NVIDIA GeForce 8800 GTX революция в мире 3D
Графический ускоритель GeForce 8800
Официальное название чипа GeForce 8800
Кодовое имя G80
Технология 90 нм
681 миллион транзисторов (!)
Унифицированная архитектура (массив общих процессоров для потоковой обработки вершин и пикселей, а также других возможных видов данных)
Аппаратная поддержка последних новшеств DirectX 10, в том числе и новая шейдерная модель - SM4, генерация геометрии и запись промежуточных данных из шейдеров.
384 бит шина памяти, 6 независимых контроллеров шириной 64 бита, поддержка GDDR4 (1.8Ггц)
Частота ядра 575 МГц (GeForce 8800 GTX)
128 скалярных (не векторных, внимание!) ALU с плавающей точкой (целочисленные и плавающие форматы, поддержка FP 32бит точности в рамках стандарта IEE 754, MAD+MUL без потери тактов)
ALU работают на удвоенной частоте (1.35ГГц для 8800GTX)
32 текстурных блока, поддержка FP16 и FP32 компонент в текстурах
64 блока билинейной фильтрации (то есть, возможна честная бесплатная трилинейная фильтрация, а также вдвое более эффективная по скорости анизотропная фильтрация)
Возможность динамических ветвлений в пиксельных и вершинных шейдерах - размер блока планирования - 8х4 (32) пикселя.
6 широких блоков ROP (24 пикселя) c поддержкой AA до 16 семплов на пиксель, в том числе при FP16 или FP32 формате буфера кадра (то есть, возможны HDR+AA). Каждый блок состоит из массива гибко конфигурируемых ALU и отвечает за генерацию и сравнение Z, MSAA, блендинг. Пиковая производительность всей подсистемы до 96 MSAA отсчетов (+ 96 Z) за такт, в режиме без цвета (Z only) - 192 отсчета за такт.
Запись результатов до 8 буферов кадра одновременно (MRT)
Все интерфейсы вынесены на внешний дополнительный чип NVIO (2 RAMDAC, 2 Dual DVI, HDMI, HDTV)
Очень хорошая масштабируемость архитектуры, можно по одному блокировать или убирать контроллеры памяти и ROP (Всего 6), шейдерные блоки (Всего 8 блоков TMU+ALU)
Очень большой размер кристалла.
Первые карты на базе GeForce 8800
NVIDIA GeForce 8800 GTX 768MB GDDR3, 575/1350/1800 MHz, 128 unified processors/32 TMUs/24 ROPs - $599;
NVIDIA GeForce 8800 GTS 640MB GDDR3, 500/1200/1600 MHz, 96 unified processors/24 TMUs/20 ROPs - $449;
Архитектура
Итак, здравствуй, первая унифицированная архитектура от NVIDIA:
Перед нами вся диаграмма чипа. Чип состоит из 8 универсальных вычислительных блоков (шейдерных процессоров), и хотя NVIDIA говорит о 128 процессорах, заявляя, что каждое ALU является таковым, это несколько неверно - единица исполнения команд - такой процессорный блок, в котором сгруппированы 4 TMU и 16 ALU. Всего, таким образом, мы имеем 128 ALU и 32 TMU, но гранулярность исполнения составляет 8 блоков, каждый из которых в один момент может заниматься своим делом, например, исполнять часть вершинного, или пиксельного, или геометрического шейдера над блоком из 32 пикселей (или блоком из соответствующего числа вершин и иных примитивов). Все ветвления, переходы, условия и т.д. применяются целиком к одному блоку и таким образом, логичнее всего, его и называть шейдерным процессором, пускай и очень широким.
Каждый такой процессор снабжен собственным КЭШем первого уровня, в котором теперь хранятся не только текстуры, как ранее, но и другие данные, которые могут быть запрошены шейдерным процессором. Важно понимать, что основной поток данных, например, пиксели или вершины, которые и проходят обработку, двигаясь по кругу под управлением серого кардинала (блока помеченного на схеме как Thread Processor), - не кэшируются, а идут потоком. В этом и состоит основная прелесть сегодняшних графических архитектур - отсутствие полностью случайного доступа на уровне обрабатываемых примитивов. Однако в будущем картина может измениться, но об этом немного позже.
Кроме управляющего блока и 8 вычислительных шейдерных процессоров в наличии 6 блоков ROP, исполняющих определение видимости, запись в буфер кадра и MSAA (синие, рядом с блоками КЭШа L2), сгруппированные c контроллерами памяти, очередями записи и КЭШем второго уровня.
Таким образом, мы получили очень широкую (8 блоков обрабатывающих порции по 32 пикселя каждый) архитектуру, способную плавно масштабироваться в обе стороны. Добавление или удаление контроллеров памяти и шейдерных процессоров будет соответствующим образом масштабировать пропускную способность ВСЕЙ системы, не нарушая баланса (вспомним основную проблему среднего класса ATI) и, не создавая узких мест. Логичное красивое решение, реализующее основной плюс унифицированной архитектуры - автоматический баланс и высокий КПД использования имеющихся ресурсов. Уберем мысленно половину блоков - и вот, решение среднего уровня. Оставим только два шейдерных процессора и один ROP - и вот, самое бюджетное решение, в том числе для встраивания в системные чипсеты.
Кроме шейдерных блоков и ROP в наличии набор управляющих и административных блоков:
Блоки, запускающие на исполнение данные тех или иных форматов (Vertex, Geometry и Pixel Thread Issue), - своеобразные привратники, подготавливающие данные для числодробилки в шейдерных процессорах в соответствии с форматом данных, текущим шейдером и его состоянием, условиями ветвлений и т.д.
Setup/Raster/ZCull - блок, превращающий вершины в пиксели, - здесь выполняется установка, растеризация треугольника на блоки по 32 пикселя, предварительный блочный HSR.
Input Assembler - блок, выбирающий геометрические и прочие исходные данные из памяти системы или локальной памяти, собирающий из потоков исходные структуры данных, которые пойдут извне на вход нашей «карусели». А на выходе в итоге, после многих кругов под управлением сперва вершинного, потом геометрического (см. статью по DX 10) и затем пиксельного шейдера и настроек блендинга, мы получим готовые, сглаженные, если надо, пикселы из ROP блоков.
Кстати, небольшое отступление: хорошо видно, что в будущем эти блоки приобретут более общий характер и не будут так завязаны на конкретные виды шейдеров. То есть превратятся в универсальные блоки, осуществляющие запуск данных на вычисление и конверсию форматов – например, от одного шейдера к другому, от вершинного к пиксельному и т.д. Никаких принципиальных изменений в архитектуру это уже не внесет, диаграмма будет выглядеть и работать практически также, за исключением меньшего числа специальных «серых» блоков. Уже сейчас все три блока Thread Issue являются, скорее всего (реально), одним блоком с общей функциональностью и контекстными дополнениями:
Прелести унификации - дорога к полностью универсальному потоковому процессору открыта уже сейчас, и вопрос можно считать практически решенным. Кстати, об этом снова далее ;-)
Пока посмотрим ближе на
Шейдерный процессор и его TMU/ALU
Итак, в каждом из 8 шейдерных блоков в наличии 16 скалярных ALU. Что, опять таки, дает нам потенциальную возможность увеличить КПД их нагрузки вплоть до 100% вне зависимости от кода шейдера. ALU работают на удвоенной частоте и таким образом, соответствуют или превосходят (в зависимости от операций в шейдере) 8 четырехкомпонентных векторных ALU старого «образца» (G70) на равной базовой частоте ядра. NVIDIA приводит такой расчет пиковой производительности:
Однако он действителен для самого невыгодного для других варианта, когда имеют место два умножения. В реальной жизни стоит поделить это преимущество в полтора раза или около того. Но, в любом случае, эти скалярные ALU за счет более высокой тактовой частоты и их числа обгонят все ранее существовавшие чипы. За исключением, может быть, SLI конфигурации G7X в случае не самых выгодных для новой архитектуры шейдеров. Это предположение мы проверим далее, в синтетических и игровых тестах.
Интересно, что точность всех ALU составляет FP32 и, с учетом новой архитектуры, мы не предвидим никакого преимущества для FP16 шейдеров с пониженной точность. Как и в случае последних чипов ATI об этом компромиссе можно, наконец-то, забыть. Еще один интересный момент - поддержка вычислений в целочисленном формате. Этот пункт необходим для реализации SM4. При реализации арифметики соблюден стандарт IEE 754, что делает ее пригодной для серьезных, неигровых вычислений - например, научных, статистических или экономических. Об этом - чуть далее ;-)
Теперь о взаимодействии текстурных блоков и ALU в рамках одного шейдерного блока:
Операция выборки и фильтрации текстур не требует ресурсов ALU и может теперь производиться полностью параллельно математическим вычислениям. Генерация текстурных координат (на схеме - А) по-прежнему отнимает часть времени ALU. Это снова логично, если мы хотим использовать транзисторы чипа на все 100%, ведь генерация текстурных координат требует стандартных плавающих операций, и заводить для нее отдельные ALU было бы непредусмотрительно.
Сами по себе текстурные модули имеют следующую конфигурацию:
В наличии 4 модуля для адресации текстур TA (определения по координатам точного адреса для выборки) и вдвое больше модулей для билинейной фильтрации TF. Почему так? Это позволяет при умеренном расходовании транзисторов обеспечить честную бесплатную трилинейную фильтрацию или вдвое понизить падение скорости при анизотропной фильтрации. И то, и то - вполне характерно для сегодняшнего использования ускорителей, когда анизотропия становится самым популярным методом фильтрации среди игроков, покупающих карты хайенд сегмента. Скорость на обычных разрешениях, в обычной фильтрации и без АА давно не имеет смысла - и предыдущее поколение ускорителей прекрасно справляется в таких условиях даже с самыми последними играми на самых больших мониторах. Сегодняшние чипы можно по праву назвать AF+AA+HDR чипами. Кстати, про HDR - поддерживаются, в том числе и FP16/FP32 форматы текстур. А также SRGB гамма-коррекция на входе (TMU) и выходе (ROP).
Обещано также значительное улучшение КАЧЕСТВА анизотропии, которое должно теперь сравниться или даже обогнать последние продукты ATI в режиме высокого качества AF. Забегая вперед, отметим, что мы проверили это заявление, и оно соответствует действительности! NVIDIA реально устранила еще одно слабое место своих чипов - и теперь мы имеем прекрасную по качеству анизотропию с очень слабым падением скорости (конкретные результаты исследования далее, в игровом разделе статьи).
Напоследок, приведем спецификации шейдерной модели новых процессоров, соответствующей требованиям SM4:
Налицо значительные количественные и качественные перемены - все меньше и меньше ограничений для шейдеров, все больше и больше общего с CPU. Пока без особого произвольного доступа (такая операция появилась в SM4, - пункт Load Op на диаграмме, но ее эффективность для общих целей пока сомнительна, особенно в первых реализациях), но нет сомнений, что в скором времени и этот аспект будет развит, как была развита за эти 5 лет поддержка FP форматов - от первых проб в NV30 до тотального, сквозного FP32 конвейера во всех режимах сейчас - в G80.
Блоки ROP, запись в буфер кадра, сглаживание
Как мы помним, кроме 8 шейдерных блоков, в наличии 6 блоков ROP такого содержания:
На диаграмме показаны два отдельных пути для Z и C, однако реально это один набор ALU, которые делятся на две группы при обработке пикселей с цветом, либо действуют как одна группа при обработке в режиме Z-Only, увеличивая, таким образом, пропускную способность вдвое. В наше время нет смысла считать отдельные пиксели - их и так достаточно, важнее посчитать, сколько MSAA сэмплов может быть обработано за такт - эти данные и приведены. Соответственно, при MSAA 16х чип может выдавать 6 полноценных пикселей за такт, при 8х - 12 и т.д. Интересно, что масштабируемость работы с буфером кадров на высоте - как мы помним, каждый блок ROP работает с собственным контроллером памяти и не мешает соседним.
Наконец-то есть полноценная поддержка FP32 и FP16 форматов буфера кадров ВМЕСТЕ с АA - теперь никаких ограничений для фантазии разработчиков - HDR на протяжении всего конвейера не требует изменения общей последовательности построения, кадра, даже в AA режиме - все шейдеры останутся, по сути, прежними, надо будет только изменить формат данных.
CSAA
Появился и новый метод сглаживания - CSAA. Мы исследуем его подробно в следующей статье, которая планируется к выходу в скором времени. Пока отметим, что этот метод во многом похож на подход ATI и также имеет дело с псевдостохастическими паттернами и распространением отсчетов на соседние геометрические зоны (происходит размазывание пиксела, пикселы не имеют резкой границы, а как бы переходят один в другой, с точки зрения AA, покрывая некую зону). Цвета отсчетов и глубина хранятся отдельно от информации об их местоположении, и таким образом, на один пиксель может приходиться 16 отсчетов но, например, всего 8 вычисленных значений глубины - что дополнительно экономит ПСП и такты.
Известно, что классический MSAA в режиме большем чем 4х становится очень прожорливым, с точки зрения памяти, в то время как качество растет все меньше и меньше. Новый метод корректирует это поведение, позволяя получать 16х режим сглаживания, заметно более качественный, чем MSAA 16х с вычислительными затратами, сравнимыми с 4х MSAA. Пока суммируем, что и здесь NVIDIA подтянула свои слабые (ранее), по сравнению с ATI, места.

Источник:
Категория: Компьютеры | Добавил: mayrhayastan (15.05.2007) | Автор:
Просмотров: 772 | Комментарии: 0 | Рейтинг: 0.0 |

Всего комментариев: 0
avatar
Сайт управляется системой uCoz

 

  
Форма входа
    website counter

мои работы
      
               photoshop photos  

Форум
Новости
случайная фотография
ONLINE
Онлайн всего: 1
Гостей: 1
Пользователей: 0
день рождения
Календарь новостей
Наше время
  
Статистика
          
 
 
 
 
Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст Ваш текст