enfrdepluk
Search find 4120  disqus socia  tg2 f2 lin2 in2 X icon 3 y2  p2 тільки steam2

GeForce 6800 Ultra особливості архітектури

У квітні 2004 року nVidia представила новий графічний процесор NV40. Новий графічний процесор NV30, який повинен був допомогти компанії зруйнувати домінуючу в секторі DirectX 9-сумісних рішень ATI Technologies, не зміг вивести NVIDIA в лідери. Виплекана в лабораторіях NVIDIA архітектура, що перевершує за можливостями вимоги стандарту DirectX 9, виявилася дуже громіздкою з точки зору кількості транзисторів і дуже вразливою в тому вигляді, в якому вона вперше побачила світ GeForce FX 5800 Ultra. Недоліки архітектури графічного процесора, а також ставка на високочастотну пам'ять GDDR2 та 128-бітну шину доступу до відеопам'яті, призвели до того, що новинка від NVIDIA у багатьох завданнях показувала набагато нижчі результати, ніж RADEON 9700 PRO від ATI.
 
geforce_go_6_series_031 

NVIDIA швидко виправила свою помилку, випустивши покращену версію NV30 – графічний процесор NV35, який виявився набагато життєздатнішим. Тим не менш, гіркота поразки з NV30 виявилася великою – компанія припинила випуск NV30, зробивши лише кілька десятків тисяч цих процесорів, а потім взагалі прибрала всі згадки про NV30 з корпоративного сайту.

Минув рік. За цей час компанія випустила низку нових досить вдалих рішень, на зміну NV35 прийшов NV38. Драйверний ряд Detonator був забутий, а його місце зайняли драйвери ForceWare, з якими, завдяки застосуванню спеціального компілятора шейдерного коду, була значно підвищена продуктивність відеоадаптерів NVIDIA в іграх, що використовують піксельні шейдери DirectX 9. Тим не менш, найкраще залишалися відеоадаптери з урахуванням графічних процесорів від ATI Technologies – RADEON 9800 PRO, та був і RADEON 9800 XT.

Звичайно, весь цей час команда інженерів-розробників NVIDIA не сиділа склавши руки - компанія прагнула взяти реванш у конкурента. Чутки про графічний процесор-монстр NV40 стали з'являтися задовго того, як він був вперше втілений у кремнії. Йшлося про шістнадцять конвеєрів рендерингу, підтримку піксельних і вершинних шейдерів версії 3.0 та про інші нововведення. Чутки, що циркулювали, були найрізноманітнішими, аж до «достовірних відомостей» про те, що новинка буде використовувати пам'ять GDDR3, що працює на частоті 1600 МГц, при цьому частота ядра становитиме до 600 МГц

Цього разу компанія діяла обережніше і ґрунтовніше, намагаючись всіма силами не допустити повторення ситуації з NV30. Цікаво, що в назвах майбутніх відеоадаптерів на базі NV40 було прийнято рішення відмовитися від літер "FX" - вони були перейменовані в GeForce 6800 Ultra та GeForce 6800.

nv_031

При розробці графічного процесора наступного покоління компанія NVIDIA не могла не врахувати попередній досвід – ситуація, коли практично у всіх цінових категоріях продуктивність графічних процесорів від конкурента виявляється вищою, незважаючи на формальну технологічну перевагу NVIDIA, компанію ніяк не влаштовувала. Тому, окрім подальшого розширення функціональності та введення підтримки шейдерів моделі 3.0, найпильніша увага при створенні NV40 була приділена підвищенню продуктивності та, особливо, посиленню спочатку слабких місць архітектури CineFX.

Піксельні конвеєри NVIDIA GeForce 6800/6800 Ultra Стосовно NV40 та архітектури CineFX 3.0 не можна було говорити про піксельні конвеєри в традиційному сенсі. Починаючи з NV30 та архітектури CineFX, графічні процесори від NVIDIA замість кількох "незалежних" піксельних конвеєрів мали один "широкий" піксельний конвеєр, в якому в обробці знаходяться одночасно відразу кілька пікселів. NV40 успадковує архітектуру NV3x, але при цьому, зрозуміло, мала значні вдосконалення та доповнення.

Піксельний конвеєр NV40 значно, в 4 рази, був «розширений» в порівнянні з конвеєром NV35 - тепер в обробці могли перебувати 16 пікселів одночасно, і максимальна швидкість виведення становить 16 пікселів за такт. При накладенні більш ніж однієї текстури швидкість виведення пікселів знижується - наприклад, при накладенні двох текстур обробка тих же 16 пікселів займе два такти, тобто швидкість виведення знизиться до 8 пікселів за такт. Працюючи з Z-буфером чи буфером шаблонів піксельний конвеєр NV40 як і, як і NV35, «прискорюється». Загальне чотириразове збільшення продуктивності торкнулося роботи в таких умовах: тепер графічний процесор був здатний виводити максимум 32 значення Z за такт. Отже, «грубою сили» у NV40 було достатньо: можна сміливо говорити про чотириразове збільшення швидкості заповнення порівняно з NV35.

Разом з розширенням піксельного конвеєра компанія NVIDIA наростила і обчислювальну потужність піксельного процесора. По-перше, число доступних тимчасових регістрів - найслабше місце піксельних процесорів чіпів серії GeForce FX, пов'язане з особливостями будови піксельного конвеєра NV3x і NV40 - було збільшено, і тепер складні піксельні шейдери при обчисленнях з повною 32-бітною точністю не повинні були ставити п. процесор "на коліна".
По-друге, очевидно, число повноцінних ALU (арифметико-логічних пристроїв), виконують операції над компонентами пікселів, в NV40 подвоєно. Точніше, два типи FP ALU NV35, «повноцінні» та «спрощені», що прийшли на заміну цілочисловим ALU NV30, перетворилися на «повноцінні» ALU, які виконують операції будь-якої складності з однаковою швидкістю. Ось як NVIDIA показувала перевагу CineFX 3.0 з подвоєним числом ALU над традиційними архітектурами:

419151

Отже, арифметико-логічні пристрої NV40 могли виконати до 8 операцій над компонентами одного пікселя за один такт, а якщо врахувати, що конвеєр NV40 обробляв 16 пікселів одночасно, то в сумі виходить, що NV40 мав 32 повноцінних ALU, що працюють з плаваючою точкою, вони можуть здійснити до 128 операцій над компонентами пікселя за такт.

Піксельні шейдери 3.0
Підтримка піксельних шейдерів моделі 40, що з'явилася в NV3.0, мала на увазі, в першу чергу, підтримку динамічних циклів і розгалужень у піксельних шейдерах. Тепер рішення про те, яка гілка шейдера буде виконуватися для того чи іншого пікселя, приймалися прямо в процесі виконання шейдера - змінні, значення яких визначають хід виконання шейдера, можуть змінюватися, не будучи заздалегідь визначеними константами, як у випадку зі статичними розгалуженнями і цикл.
Очевидно, при виконанні шейдерів 2.0 нова функціональність NV40 ніяк не проявила себе, тут були важливі лише швидкісні характеристики піксельного процесора.

NVIDIA HPDR – зображення стають реалістичнішими
Графічні процесори від NVIDIA попереднього покоління не мали підтримки виведення інформації з піксельного шейдера в кілька буферів одночасно (Multiple Render Targets) та рендерингу в буфер з поданням даних у форматі з плаваючою точкою (FP Render Target). Сімейство чіпів від ATI спочатку підтримувало ці функції, вигідно відрізняючись від графічних процесорів NVIDIA.

У NV40, нарешті, з'явилася повна підтримка як Multiple Render Targets, так і FP Render Target, що дозволило маркетологам компанії ввести в ужиток новий термін: NVIDIA HPDR. За цією абревіатурою, що розшифровується як High-Precision Dynamic-Range, ховається можливість побудови сцен із високим динамічним діапазоном освітленості (HDRI, High Dynamic Range Images).

Компанія NVIDIA використала 16-бітний формат OpenEXR, розроблений студією Industrial Light and Magic (ILM). У 16-бітному описі OpenEXR один біт відводився під знак показника експоненти, п'ять біт для значення показника експоненти і десять біт для подання мантис хроматичних координат кольору (u, v), по п'ять біт на координату. Динамічний діапазон уявлення становить дев'ять порядків величини – від 6.14*10^-5 до 6.41*10^4.

Serios Sam 2 HDR

4838627771 


Процес побудови та виведення HDR зображення силами графічного процесора NV40 розбивався на 3 фази:
Light Transport – розрахунок сцени з високим динамічним діапазоном освітленості та збереження інформації про світлові характеристики для кожного пікселя в буфері, який використовує формат представлення даних із плаваючою точкою – OpenEXR.
NVIDIA наголошувала, що NV40 підтримував роботу з даними, представленими у форматі з плаваючою точкою, на всіх етапах побудови HDR-сцени, чим гарантував мінімальні втрати точності:
- обчислення в шейдерах з плаваючою точкою,
- фільтрація текстур з плаваючою точкою,
- операції з буферами, що використовують подання даних у форматі з плаваючою точкою.
Tone Mapping – переклад зображення з високим динамічним діапазоном у формат LDRI RGBA або sRGB.
Color and Gamma Correction – переведення зображення в колірний простір пристрою відображення – CRT або LCD монітора тощо.

Отже, з появою NV40 та технології HPDR, зображення з високим динамічним діапазоном, що ще на один крок наближають прихід фотореалістичної графіки в ігрові світи, стали доступні не тільки власникам відеокарт від ATI, але й шанувальникам NVIDIA.

Вершинні конвеєри, вершинні шейдери 3.0
Підсиливши піксельний процесор NV40, компанія NVIDIA не забула і про «геометричну силу» нових GeForce. Нові графічні чіпи мали вдвічі більше вершинних конвеєрів – шість проти трьох у NVIDIA GeForce FX 5950 Ultra. Нові ігри мали все більш складні моделі, кількість полігонів у сценах зростала, тому подвоєна вершинна продуктивність нових графічних процесорів від NVIDIA не виявилася незатребуваною.
Разом із збільшенням продуктивності зросла і функціональність вершинних процесорів NV40 – у новому графічному процесорі NVIDIA заявила повну підтримку вершинних шейдерів моделі 3.0. Як і у випадку з піксельними шейдерами, довжина вершинних шейдерів була тепер практично не обмежена (насправді вона обмежена специфікаціями шейдерів моделі 3.0 в DirectX), при цьому шейдери можуть мати динамічні розгалуження і цикли - рішення про те, який код буде виконуватися для тієї або іншої вершини, приймається прямо в процесі виконання шейдера, а чи не на етапі компіляції.

Vertex Frequency Stream Divider Ще одна цікава нагода, якій були наділені вершинні процесори NV40. Використовуючи цей дільник частоти, вершинні процесори NV40 могли зчитувати дані з потоків і оновлювати вхідні параметри вершинного шейдера не для кожної оброблюваної вершини, як раніше, а рідше, з частотою, яку можна змінювати.

NVIDIA наводить такий приклад застосування цієї можливості: зчитуючи з потоку з певною частотою дані, що визначають наприклад анімацію, можна на основі одного і того ж набору даних, що визначають геометрію моделі, наприклад, солдата, створити цілу армію з солдатів, які не будуть абсолютно однаковими «клонами» - кожен відрізнятиметься від інших, маючи унікальний зовнішній вигляд та унікальну анімацію.

UltraShadow II
Вперше заявлена ​​у графічному процесорі NV35, технологія UltraShadow, отримавши індекс "2" у назві, перейшла і в NV40. Суть технології не змінилася: при розрахунках динамічних тіней за допомогою буфера шаблонів можна було вказати граничні величини Z (depth bounds), за межами яких облік тіней від світлових джерел не проводитиметься. Тим самим можна було заощадити на обчисленнях та підвищити продуктивність у сценах, які використовують розрахунок тіней у реальному часі.
Дія UltraShadow II компанія NVIDIA ілюструвала схемою: на ній відзначені граничні значення (zmin та zmax), за межами яких розрахунок буфера шаблонів не проводиться:

419161

Можливість завдання граничних умов для розрахунку тіней разом із відомою здатністю NV40 «прискорюватися» при розрахунку буфера шаблонів і Z-буфера, тобто виводити вже не 16, а 32 значення за такт, дозволяло розраховувати на появу серйозної переваги NV40 перед конкурентами в іграх, широко використовують розрахунок динамічних тіней за допомогою буфера шаблонів. 
Приклад гри, що використовує динамічний розрахунок тіней, або, більше того, чий ігровий процес буквально побудований на тінях - Doom3.

Програмований відеопроцесор
Домашній комп'ютер вже давно позиціонувався як універсальна платформа для розваг, а значить, розробникам не було особливого сенсу розділяти графічні процесори, призначені для використання в персональних комп'ютерах, за класами типових завдань - якомога повнішим функціональним набором наділяється вся лінійка чіпів.
NV40 мав програмований відеопроцесор, призначений для кодування/декодування відеопотоків та виконання різних операцій над ними. Раніше про це заявляла компанія S3 з її VPU DeltaChrome. Крім того, відеоадаптери ATI RADEON 9500/9600/9700/9800 також могли декодувати відео, використовуючи потужності піксельних процесорів. Відеопроцесор NV40, NVIDIA VP, мав такі можливості:
Підтримка адаптивного деінтерлейсингу
Високоякісне масштабування та фільтрація
Видалення блокових артефактів
Вбудований ТВ-кодер
Конверсія колірних просторів
Конверсія частоти кадрів
Гамма-корекція
шумозаглушення
Підтримка HDTV (режими 720p, 1080i, 480p, CGMS)
Апаратна синхронізація аудіо- та відеопотоків
Підтримка кодування та декодування MPEG-1/2/4
Підтримка декодування WMV9/H.264

Повноекранне згладжування: новий рівень якості
Однією з суттєвих відмінностей між графічними процесорами сімейства R3х0 від ATI та чіпами серії GeForce FX від NVIDIA був різний підхід до реалізації повноекранного згладжування. GeForce FX від NVIDIA підтримували мультисемплінг, суперсемплінг та їх комбінації, використовуючи традиційне розташування субпікселів на впорядкованих ортогональних гратах (Ordered Grid), в той час як графічні процесори від ATI використовують мультисеплінг з розташуванням субпікселів на повороті.

419181

Метод повноекранного згладжування, що використовує розташування субпікселів на поверненій решітці, за тих же витрат забезпечував набагато більш високу якість згладжування меж полігонів порівняно з методом, що використовує традиційне розташування субпікселів.

Після провалу NV30 nVidia доклала всіх зусиль для повернення втрачених позицій. І це компанії вдалося зробити з випуском відеокарти NV40, також відомої як GeForce 6800. Карта була дуже ефективною і набагато продуктивнішою, ніж FX 5900, у тому числі через чимало транзисторів (222 млн.). NV45, яка теж називалася GeForce 6800, була ні що інше, як NV40 з мостом AGP-to-PCI Express, що дозволяло карті підтримувати новий стандарт інтерфейсу і, крім того, SLI. Технологія SLI дозволяла поєднувати дві відеокарти PCI Express GeForce 6 для підвищення продуктивності. Вимоги до харчування для того часу були просто колосальними – був необхідний блок живлення потужністю 222W або вище, і дві вільні лінії живлення.

Характеристики NVIDIA GeForce 6800 Ultra

 

Найменування GeForce 6800 Ultra
Ядро NV40/NV45
Техпроцес (мкм) 0.13
Транзисторів (млн) 222
Частота роботи ядра 400
Частота роботи пам'яті (DDR) 550 (1100)
Шина та тип пам'яті GDDR3 256 Bit
ПСП (Гб/с) 35,2
Піксельні конвеєри 16
TMU на конвеєр 1
Текстур за такт 16
Текстур за прохід 16
Вершинних конвеєрів 6
Піксельні шейдери 3.0
Vertex Shaders 3.0
Fill Rate (Mpix/s) 6400
Fill Rate (Mtex/s) 6400
DirectX 9.0c
Anti-Aliasing (Max) SS & MS - 8x
Анізотропна фільтрація (Max) 16x
Обсяг пам'яті 256
Інтерфейс AGP/PCI-E
RAMDAC 2x400

З виходом компанія nVidia, нарешті, змогла вийти з тяжкого болота лінійки NV30 і випустити дійсно передовий графічний прискорювач, який змусить прискорено битися серце будь-якого геймера NVIDIA - NV40 це чіп, який, вже за традицією, став родоначальником нового сімейства графічних чипів . Встановивши міцні відносини з розробниками ігор та програмного забезпечення в процесі адаптації архітектури NV30, наступний графічний процесор, NV40 компанія розробляла вже не "наобум", а з огляду на вимоги та побажання розробників. І його представник GeForce 6800 Ultra - Найшвидший на той день ігровий прискорювач, був здатний буквально підірвати ігри того часу і ігор в пізніший період.

Far Cry

water_fix1