nVidia GeForce 8800

 SINCE 1998
  • Играй си играта, човече!
author image by PC Mania | Archive | 0 Comments | 11 дек. 2006

Близо година ATI дършеше лидерската позиция по отношение на производителността при видеоускорителите и дори четиричиповите решения на nVidia (QuadSLI GF7950GX2) не успяха да обърнат нещата. Затова nVidia са изключително доволни от своето ново осмо поколение Geforce продукти, които не само бяха обявени навреме за премиерата на Windows Vista, но и наистина сe намират по магазините.

DirectX 10

Едно от нововъведенията в дългоочаквания Windows Vista е поредната версия на DirectX – 10. На практика DX10 вече се състои основно от Direct3D10 като останалите компоненти (DirectSound, DirectInput и др.) или са заменени от други технологии (XNA и т.н.) или се подготвят за отпадане в някоя от следващите версии. Това орязване на DX10 се компенсира от революционните промени, въведени в D3D10/SM4 (Shader Model 4.0). Тенденцията, която се развива още от DX8/SM1.x се разгръща с пълна сила – изчислителните блокове вече са напълно унифицирани и изпълняват всички видове изчисления (без разделение на Vertex/Pixel Shader инструкции). Драстично е увеличен броят променливи и константи на разположение на програмите, увеличени са броят и размерите на текстурите. Поддържат се целочислени операции, както и някои други функции, характерни за изчислителните устройства (процесори) с общо предназначение (т.е. DX10 GPU-тата могат много по-лесно да се използват за работа с всякакви данни, а не само за манипулация на графични обекти и изображения). ATI и nVidia предоставяха развойни среди и компилатори и за досегашните си продукти, но изискванията на DX10 са предпоставка за много по-благоприятен хардуер. Така графичният процесор ще може да поеме и допълнителни задачи като например физически ефекти, чиято обработка засега се опитва да ускори единствено AEGIA с PhysX платките.

По отношение на графиката основното преимущество на унифицирания подход е в максималното оползотворяване на наличните ресурси независимо от конкретната сцена и приложение (т.е. ако преобладават Vertex инструкциите, няма да има Pixel Shader блокове, които да чакат безучастно, а напротив – по-голяма част от унифицираните блокове ще се заемат с Vertex обработката и крайният резултат ще бъде готов по-рано). Добавя се и тов тип Shader обработка – геометрична (Geometry Shader), която манипулира групи от vertex-елементи преди разделянето им на отделни точки (pixel).

GF8800 (G80)

G80 изненадва със своята архитектура заради множеството изявления на nVidia в смисъл, че изискванията на DX10 могат да се покрият и без реализирането на унифицирани изчислителни блокове и че чип с такива засега не е ефективно да се произвежда. Vertex, Geometry и Pixel Shader изчисленията в G80 са поверени на 128 идентични (унифицирани) изчислителни блока (Stream Processor). Те работят със скаларни величини и съответно четири SP вършат работа/такт колкото един PS (Pixel Shader), тъй като той обработва направо векторни величини. G80 обаче използва още трикове, характерни за обикновените процесори – дълбок конвейер, който позволява достигането на повече от два пъти по-висока честота в сравнение с останалата част на GPU-то. Всеки SP може да обработва по две инструкции едновременно – MAD/целочислена и MUL. G80 разполага с три разпределителя на задачи (thread) – Vertex, Geometry и Pixel. Всеки от тях подава съответната инструкция към някой от осемте блока за обработка на нишки. Всеки блок се състои от 16 SP-та (2 групи по с обща кеш памет от първо ниво, 4 модула за адресиране на текстури с по 2 модула за текстурни филтри (т.е. трилинейното филтриране не се отразява на производителността и е с доста по-добро качество от досегашните ускорители). Общ брой текстуриращи модули – 32 (общо 64 филтрирания) – двойно повече от Radeon X1950XTX и с 8 повече от GF7900GTX.

Резултатите от осемте блока за обработка за нишки се подават или обратно към разпределителите на задачи (за по-нататъшна обработка) или към комутатор (X-bar switch), чрез който достигат един от шестте финализиращи блока. Всеки от тях се състои от кеш памет от второ ниво, 64-битов интерфейс за достъп до паметта (общо за G80 чипа – 384bit) и по 4 ROP модула за визуализиране на пикселите. Във финализиращите модули се извършва и изглаждането на ръбовете (anti-aliasing), включително и Transperency AA за прозрачни текстури (оградна мрежа и др.). При G80 MSAA (Multi-Sample AA) подходът е доразвит като CSAA (Coverage Sampling AA) – дълбочинната информация не се преизчислява за всички спомагателни кадри.

Разработчиците имат пълната свобода да използват G80 не само за графични, но и за всякакви други цели – SP блоковете поддържат стандарта за изчисления с плаваща запетая IEEE-754, осигурен е достъп до паметта за запис на резултатите след всеки завършен етап. nVidia предоставя и специален C компилатор за G80 – CUDA (Compute Unified Device Architecture). PureVideo HD спомага за декомпресирането на H.264/MPEG4 и DVD/MPEG2 видеопотоци.

Разработката на G80 е струвала на nVidia $475 милиона в рамките на 4 години (за разлика от досегашните графични ускорители при G80 значителна част от структурата е оптимизирана на ниво транзистор – какъвто е и подходът при разработката на новите поколения при централните процесори). G80 чипът се произвежда по 90nm технология от ТSMC и е изграден от 681 милиона транзистора, заемащи около 500 кв. мм площ. За сравнение GF7900 е изграден от 278 милиона транзистора, R1900/1950 – от 384, двуядрените A64FX – от 227, а четириядрените Core2 – от 582 милиона. Въпреки нечувания брой транзистори върховият модел платка с G80 чип консумира едва с 5W повече от R1950XTX – 185W. Охладителят заема пространството над съседния PCI/e слот, но нивото на шума е съизмеримо с това при повечето GF7900 и X1950 платки.
G80 е разработен с идеята за балансирана гъвкавост при активиране/дезактивиране или премахване на модули.

Първоначално се очакват два модела платки – GTX и GTS. GF8800GTX притежава 8 изчислителни и 6 финализиращи модула. GF8800GTS притежава 6 изчислителни и 5 финализиращи модула. Тактовата честота на SP блоковете при GTX е 1350MHz, а при GTS – 1200МHz. Тактовата честота на останалата част от чипа при GTX е 575MHz (GF7900GTX и RX1950XTX работят на 650MHz), а при GTS – 500MHz. Контролерите за достъп до паметта при GTX са шест (общо 384bit) с общ пропускателен капацитет 86GB/s до 768МB GDDR3 памет (поддържа се и GDDR4), а при GTS – пет (общо 320bit) с 64GB/s до 640MB GDDR3 памет.
Входно/Изходните видеоинтерфейси при G80 са изнесени в отделен чип – NVIO.

Това се налага заради и без това огромните размери на G80, както и заради чувствителността на аналоговите интерфейси към високите тактови честоти, което би могло да доведе до смущения. NVIO поддържа 10-битови цветове (колкото ATI AVIVO – подобрение в сравнение с GF7, които поддържаха до 8-bit), два 400MHz RAMDAC изхода за аналогов сигнал (VGA), два двуканални TMDS/LVDS изхода (Dual-Link) – с DVI или HDMI куплунг, HDTV/TV-Out и HDCP (за кодирани Blu-Ray/HD-DVD филми), ако производителят на платката е предвидил съответния ROM ключ.
Производителността на GF8800 е без конкуренция дори при досегашните DX9 игри – GF8800GTS обикновено е по-бърз от която и да е друга видеоплатка, а GF8800GTX изпреварва дори двуплатковите конфигурации като CrossFire X1950XTX, SLI GF7900GTX и SLI GF7950GX2. Естествено GF8800 блестят в цялата си слава чак при разделителни способности над 1600х1200 и FSAA над 4х (за което е необходим и подобаващ процесор).
GF8800GTX са доста дълги (внимавайте с пространството в кутията), а платките имат по два SLI конектора – за последователно (верижно) свързване на повече от две платки (QuadSLI или трета платка за физически ефекти). Консумацията на една GF8800GTX платка е 185W, което изисква поставянето на два 6-проводни PCIe захранващи кабела (по стандарт PCI Express x16 слота предоставя до 75W, още толкова може да се получи и от всеки PCIe захранващ кабел).

Съответно за двуплаткова работа в SLI режим с GF8800GTX са необходими четири PCIe захранващи кабели (някои производители на захранвания за обявили такива модели с мощност от 1kW нагоре). По принцип nVidia препоръчват 500-600W захранване за едноплаткова и 700-800W за двуплаткова работа. GF8800GTS платките са малко по-къси и имат само по един SLI конектор и PCIe захранващ куплунг. Засега обявените GF8800 модели нямат Video-In.

Radeon X1950

Преди появата на GF8800 ATI затвърдиха позициите си спрямо GF7950GX2 като пуснаха Radeon X1950ХТХ – модификациран вариант на R1900XTX, който използва GDDR4 памет (по-малка консумация на енергия спрямо GDDR3), работеща на 1000MHz/2000DDR (за сравнение 1900ХТХ използва 775MHz/1550DDR памет). Допълнително подобрение се получава и от това, че X1950 CrossFire Master платката работи на същите честоти като ХТХ модела (при X1900CF честоти бяха като на малко по-бавния ХТ модел).
ATI най-накрая решиха да вградят блока за CrossFire обработка (Composition Engine) в GPU-тата си, премахвайки необходимостта от външни кабели.

Новият CF метод се прилага при X1950Pro и X1650XT, които представляват орязани версии на X1950XTX. При тях няма CF Master платки, а всяка X1950Pro/X1650XT платка има по два CF извода, към които се свързват съответно 12bit CF Bridge лентови адаптори (по подобие на SLI Bridge, които обаче обикновено са твърди, а не лентови). Максималната разделителна способност в CF режим е 2560х2048 (няма такива монитори засега), а CF изводите са два за да може повече от 2 платки да се свързват последователно (верижно) – за обработка на физически ефекти и т.н.

Автор: Стоян Спахиев