Уже больше года вся мировая компьютерная общественность с интересом читает новости о противостоянии двух мощнейших компаний по производству 3D-ускорителей AMD/ATI и Nvidia и их новых графических архитектур на базе чипов R600 и G80. Пожалуй, трудно вспомнить ещё какое-либо знаменательное событие в жизни компьютерной индустрии за последний год, как выход на рынок первых графических решений на базе этих чипов с поддержкой DirectX10, ну разве только выход новых процессоров от Intel на базе архитектуры Core.
Итак, вот и появились на прилавках магазинов видеокарты нового поколения от компаний ATI/AMD - Radeon HD2900XT и Nvidia - GeForce 8800GTS/GTX/Ultra. Эти видеокарты - первые в истории индустрии трехмерной графики карты, отвечающие требованиям стандарта DirectX10, известного так же как WGF 2.0. В связи с выходом в свет первых DX10-совместимых GPU имеет смысл рассказать о возможностях и преимуществах DirectX10.
Основными целями, ставившимися перед Microsoft при разработке API следующего поколения – DirectX10 – были:По данным разработчиков графических чипов, с задачей Microsoft вполне справилась и новый API действительно получил огромное количество новых возможностей по сравнению с предшественниками.
- -Снизить зависимость от центрального процессора.
-Предоставить разработчикам унифицированный набор инструкций для программирования пиксельных и вершинных шейдеров.
-Увеличить функциональность пиксельных и вершинных шейдеров.
-Дать возможность графическим процессорам управлять потоками данных внутри себя (stream-in/stream-out), увеличивая тем самым эффективность исполнения кода.
-Увеличить эффективность работы с текстурами, максимальное разрешение текстур, поддержать новые форматы HDR и произвести другие эволюционные изменения.
Детище компании NVIDIA - G80
Ну а сейчас перейдём к более подробному изучению архитектур G80 и R600. Начнём, пожалуй, с архитектуры, представленной компанией Nvidia – G80. Начал я именно с неё не случайно, а потому, что карты на базе этой архитектуры вышли намного ранее своего соперника, и карты на базе этого чипа уже покорили системы многих любителей игр во всём мире.
Чип G80 выполнен по 90нм техпроцессу и имеет 681 млн транзисторов, для сравнения карты на базе чипа G71 имели 278 млн, G70 – 302 млн.
Новая разработка NVIDIA, GeForce 8800 соответствует идеологии унификации. Сердцем нового чипа является универсальное вычислительное ядро, состоящее из 128 унифицированных процессоров, причем это ядро работает на значительно более высокой частоте, нежели остальные блоки G80.
Любой из 128 потоковых процессоров G80 представляет собой обычное вычислительное устройство, способное работать с данными в формате с плавающей запятой. Следовательно, он не только способен обрабатывать шейдеры любого типа – вершинные, пиксельные или геометрические, но и использоваться для просчета физической модели или других расчетов, в рамках концепции Compute Unified Device Architecture (CUDA), причем, независимо от других процессоров. Иными словами, одна часть GeForce 8800 может заниматься какими-либо расчетами, а другая, к примеру, визуализацией их результатов, благо, поточная архитектура позволяет использовать результаты, полученные на выходе одного из процессоров в качестве источника данных для другого.
Создавая GeForce 8800, NVIDIA заботилась не только о производительности, но и о качестве изображения – свойстве, в котором предыдущие разработки компании зачастую уступали изделиям ATI Technologies. Изменения и улучшения коснулись как полноэкранного сглаживания, так и анизотропной фильтрации.
До появления GeForce 8800 наиболее качественным режимом полноэкранного сглаживания, поддерживаемым графическими решениями NVIDIA, был гибридный 8xS, сочетающий в себе свойства суперсемплинга и мультисэмплинга. Он обеспечивал великолепное сглаживание, но за использование суперсэмплинга приходилось расплачиваться чудовищным падением производительности, и режим практически всегда оказывался невостребованным, так как не позволял играть комфортно. Таким образом, максимальным пригодным к использованию на GeForce 7 режимом FSAA оставался стандартный мультисэмплинг 4x, в то время как ATI Radeon X1000 мог предложить пользователю мультисэмплинг 6х, менее качественный, нежели режим NVIDIA 8xS, но более пригодный к практическому применению.
Появление GeForce 8800 решило проблему отставания NVIDIA в области полноэкранного сглаживания применительно к одночиповым графическим картам. Во-первых, список доступных пользователю режимов сглаживания пополнился мультисэмплингом 8x, обозначенным в настройках драйверов ForceWare как 8xQ. Во-вторых, новый графический процессор получил поддержку трех новых режимов сглаживания – 8х, 16х и 16хQ, использующих так называемый метод Coverage Sampling Antialiasing (CSAA). О новом методе следует рассказать подробнее.
Использование мультисэмплинга 16x теоретически было возможно и ранее, но лишь появление CSAA позволило применять столь качественное сглаживание на практике, теряя в производительности приблизительно столько же, сколько и при использовании обычного мультисэмплинга 4х.
Главное отличие CSAA от привычного мультисэмплинга заключается в максимально возможном уменьшении количества смешиваемых сэмплов. Так, если в случае с MSAA (multi-sampling antialiasing) 16x количество сэмплов на каждый пиксел на экране будет равно 16, то в случае с CSAA их количество будет значительно меньше, что сокращает накладные расходы.
Так, следует обязательно отметить, что при использовании метода CSAA экономится только количество сэмплов цвета/Z, но не количество выборок на так называемой "сетке покрытия", так что процент попадания сэмплов в принадлежащий исходному пикселю треугольник значительно выше, нежели в случае классического MSAA 4х. Экономия на количестве выборок цвета оправдана, поскольку именно информация о цвете создает основную нагрузку на подсистему памяти, а деградация качества сглаживания в случае использования 4 выборок значений цвета/Z на пиксель при 16 coverage samples будет заметна лишь в отдельных случаях. Чаще всего в тех, когда контраст между очень небольшим сглаживаемым полигоном и фоном высок, так как 4 сэмплов может оказаться недостаточно для аккуратного усреднения цвета финального пиксела и качество сглаживания окажется близким к MSAA 4x.
Всего GeForce 8800 поддерживает 3 режима CSAA – 8x, 16x и 16хQ. Первые два режима оперируют 8 и 16 сэмплами покрытия, соответственно, при 4 сэмплах цвета/Z, а режим 16xQ является высококачественным и при выборке значения цвета/глубины использует 8 сэмплов. Таким образом, по качеству он наиболее приближен к классическому MSAA 16x.
На момент анонса чипа G80 в состав семейства G80 вошли 8800GTS/GTX, а позднее к ним присоединилась 8800 Ultra.
Вот характеристики этих видеокарт:
Характеристики карты GeForce 8800 GTX:Максимальные разрешения и частоты вывода видеосигнала:
- Ядро: G80 Техпроцесс (мкм): 0.09
Транзисторов (млн): 681
Частота ядра - 575 МГц
Частота памяти – 1800(900) МГц
Объем памяти - 768 Mб
Тип памяти - GDDR3
Ширина шины памяти – 384 бит
Время выборки памяти - 1.1 нс
Пропускная способность - 86 Гб/с
Шина - PCI-Express 16х
RAMDAC - 2x400МГц
Кол-во унифицированных шейдерных блоков(без деления на пиксельные и вершинные) – 128
Частота работы унифицированных шейдерных блоков – 1350 МГц
Теоретическая скорость заполнения сцены - 38.4 млрд пикселей в секунду
Новый режим полноэкранного сглаживания CSAA
Ядро, масштабируемое по частоте до 1,5 ГГц
2-кратный прирост в производительности пиксельных процессоров и 12-кратный - вершинных относительно G71
Новые ROPs с поддержкой одновременного FP32 + MSAA (Долгожданное
сглаживание при HDR)
Поддержка HDR с 16-битной точностью + MSAA
Пиковая производительность - 518,4 GFlop в секунду
Кол-во текстурных блоков - 32 (8 групп по 4 TMU)
Кол-во блоков растеризации - 24
Макс. антиалиасинг - 16х
Макс. анизотропная фильтрация - 16х
128 процов разбиты на 8 кластеров по 16 устройств
Каждый проц может выполнять MADD + MUL операцию за такт
Чистая производительность MADD - 345,6 GFlop в секунду
Вес - около 800 г
Размеры - 270 х 125 х 40 мм
Кол-во разъемов МИО - 2 (для объединения 4-х видеокарт в режим Quad SLI)
Кол-во разъемов дополнительного питания - 2
Кулер в стандартном исполнении имеет две тепловых трубки, используя в работе принцип воздушного охлаждения, он получился достаточно тихим, да и нагревается он не так сильно, как можно представить при взгляде на требования к мощности блоков питания.
- 240 Hz Max Refresh Rate
- 2048 x 1536 x 32bit @ 85Hz Max - по аналоговому интерфейсу
- 2560 x 1600 @ 60Hz Max - по цифровому интерфейсу
Характеристики карты GeForce 8800 GTS:Характеристики карты GeForce 8800 Ultra:
- Частота ядра - 500 МГц
Частота памяти – 1600(800) МГц
Объем памяти - 640 Mб
Тип памяти - GDDR3
Ширина шины памяти – 320 бит
Время выборки памяти - 1.2 нс
Техпроцесс - 0.09 мкм
Пропускная способность - 64 Гб/с
Шина - PCI-Express 16х
RAMDAC - 2x400МГц
Кол-во унифицированных шейдерных блоков(без деления на пиксельные и вершинные) – 96
Частота работы унифицированных шейдерных блоков – 1200 МГц
Пиковая производительность - 346,6 GFlop в секунду
Кол-во текстурных блоков - 24 (6 групп по 4 TMU)
Кол-во блоков растеризации - 20
Макс. антиалиасинг - 16х
Макс. анизотропная фильтрация - 16х
96 процессоров разбиты на 6 кластеров по 16 устройств
Каждый проц может выполнять MADD + MUL операцию за такт.
Чистая производительность MADD - 230,4 GFlop в секунду
Размеры - 235 х 125 х 40 мм
Кол-во разъемов МИО - 1
Кол-во разъемов дополнительного питания - 1
- Частота ядра - 612 МГц
Частота памяти – 2160(1080) МГц
Объем памяти - 768 Mб
Тип памяти - GDDR3
Ширина шины памяти – 384 бит
Время выборки памяти - 1.0 нс
Техпроцесс - 0.09 мкм
Шина - PCI-Express 16х
RAMDAC - 2x400МГц
Кол-во унифицированных шейдерных блоков(без деления на пиксельные и вершинные) – 128
Частота работы унифицированных шейдерных блоков – 1511 МГц
Кол-во текстурных блоков - 32 (8 групп по 4 TMU)
Кол-во блоков растеризации - 24
Макс. антиалиасинг - 16х
Макс. анизотропная фильтрация - 16х
128 процессоров разбиты на 8 кластеров по 16 устройств
Каждый проц может выполнять MADD + MUL операцию за такт.
Размеры - 270 х 125 х 40 мм
Кол-во разъемов МИО - 2
Кол-во разъемов дополнительного питания - 2Детище компании AMD/ATI - R600
Ну а теперь, я думаю, можно перейти к краткому обзору архитектуры от компании AMD/ATI – R600.
Чип R600 выполнен по 80нм техпроцессу и имеет около 700млн транзисторов, что немного больше, чем у конкурента G80. Графический процессор AMD R600, в отличие от Nvidia G80, использует упаковку с открытым кристаллом, причем, сам кристалл из-за 512 битной шины размещен на ней под углом 45 градусов. Для защиты от возможных сколов упаковка кристалла снабжена металлической защитной рамкой, предотвращающей перекос подошвы кулера.
Новая разработка AMD/ATI, Radeon HD2900 так же, как и его конкурент, соответствует идеологии унификации. Сердцем чипа является динамический распределитель задач/нитей кода (ultra-threaded dispatch processor), который может одновременно распределять, по заявлениям ATI, тысячи задач, что довольно логично, учитывая, что новому распределителю потоков придётся управлять работой куда большего количества вычислительных ресурсов и типов данных.
Непосредственно потоковые процессоры (stream processors), которые отвечают за вычисления вершинных, геометрических и пиксельных шейдеров, организованы как 4 SIMD блока, состоящих из 16 шейдерных процессоров, каждый из которых включает в себя 5 скалярных ALU, 4 из которых могут исполнять по одной инструкции типа FP MAD за такт, а пятый при этом способен исполнять сложные инструкции вроде SIN, COS, LOG, EXP и т.д. (также за один такт).
Текстурные процессоры, как и в случае с архитектурой Radeon X1000, вынесены за пределы вычислительного конвейера и организованы как 4 больших блока, каждый из которых включает в себя 8 процессоров, отвечающих за вычисление адреса текстуры (texture address processors), 4 процессора, отвечающих за фильтрацию текстур (texture filter units), а также 20 процессоров отвечающих за выборку текстур (texture samplers). Ни один из блоков не имеет собственного кеша, а использует унифицированные L1, L2 и вершинные кеша.
Блоки render back-ends графического процессора R600 также представляют собой 4 довольно комплексных процессора, умеющих выполнять типичные для растеризаторов операции вроде блендинга, сглаживания и т.п..
Но 320 универсальных процессоров на R600 и 128 процессоров на G80 ни в коем случае нельзя сравнивать. Так как они имеют несколько разное строение. В играх, которые больше насыщены шейдерами будут лидировать продукты на базе чипа R600, а в играх, которые требуют большего количества текстурников – G80.
На момент анонса чипа R600 в состав семейства 2ххх вошла только одна карта HD2900 XT.
Вот характеристики видеокарты HD 2900 XT:
- - Кодовое имя чипа R600
- Технология 80 нм
- ~700 миллионов транзисторов
- Унифицированная архитектура с массивом общих процессоров для потоковой обработки вершин и пикселей, а также других видов данных
- Аппаратная поддержка DirectX 10, в том числе и новой шейдерной модели — Shader Model 4.0, генерации геометрии и записи промежуточных данных из шейдеров (stream output)
- 512-бит шина памяти, восемь контроллеров шириной 64 бита, соединенных шиной ring bus
- Частота ядра 750 МГц
- Эффективная частота памяти 1650 МГц (2*825 МГц)
- Тип памяти GDDR3
- Объем памяти 512 Mb/ 1Gb
- Количество универсальных процессоров 320
- 320 скалярных ALU с плавающей точкой (целочисленные и плавающие форматы, поддержка FP32 точности в рамках стандарта IEEE 754)
- Количество текстурных блоков — 16, блоков блендинга — 16, поддержка FP16 и FP32 компонент в текстурах
- 16 блоков билинейной фильтрации с возможностью фильтрации FP16 текстур на полной скорости и поддержкой трилинейной и анизотропной фильтрации для всех текстурных форматов
- Возможность динамических ветвлений в пиксельных и вершинных шейдерах
16 блоков ROP с поддержкой режимов антиалиасинга с возможностью программируемой выборки более чем 16 сэмплов на пиксель, в том числе при FP16 или FP32 формате буфера кадра. Пиковая производительность до 16 отсчетов за такт, в режиме без цвета (Z only) — 32 отсчета за такт
- Пропускная способность памяти 106 гигабайт в сек.
- Теоретическая максимальная скорость закраски 12.0 гигапикселя в сек.
- Теоретическая скорость выборки текстур 12.0 гигатекселя в сек.
- CrossFire разъем
- Длина карты 24.13 см
- Шина PCI-Express 16х
- Два DVI-I Dual Link разъема, поддерживается вывод в разрешениях до 2560х1600
- TV-Out, HDTV-Out, поддержка HDCP, HDMI адаптер
- Энергопотребление до 215 Вт
- Запись результатов до 8 буферов кадра одновременно (MRT)
- Интегрированная поддержка двух RAMDAC, двух портов Dual Link DVI, HDMI (со звуком), HDTVЗаключение. Выводы. Плюсы и минусы каждой из архитектур.
Думаю, в данном сравнении однозначных выводов быть не может, так как у каждой из графических архитектур, рассмотренных мною, есть как свои плюсы, так и минусы.
Ну что ж, начнём с техпроцесса, в этом противостоянии пальму первенства держит AMD/ATI со своим 80 нм техпроцессом и 700 млн транзисторов - абсолютный рекорд на данный момент. Также к пока "невостребованным" плюсам архитектуры R600 можно отнести 512 битную шину, поддержку памяти стандарта GDDR-3/4 и 512Mb/1Gb видеопамяти. Плюс ко всему ещё можно вспомнить о наличии 320 потоковых процессоров. Мультимедийные возможности нового семейства также выглядят многообещающе, но, к сожалению, полноценная поддержка унифицированного аппаратного декодера еще только должна появиться в драйверах. Хотя сейчас чипы официально поддерживают декодирование VC-1 и передачу звука через HDMI, отсутствие некоторых программных возможностей делает эти возможности практически бесполезными на сегодня.
Ну и, конечно, же нельзя не вспомнить о драйверах от компании ATI. Их можно отнести как к плюсам, так и к минусам. Вернёмся к дате выхода чипа R600: первые версии драйверов, поддерживающие HD2900 ХТ. Карта практически во всех приложениях проигрывает конкуренту в лице GTS. Но с выходом новой версии драйверов производительность в приложениях растёт, постепенно догоняя конкурентов. Сейчас уже можно сказать, что 2900ХТ быстрее, чем 8800 GTS 640 Mb почти в большинстве приложений, а иногда быстрее и 8800GTX. Ещё нельзя не сказать о качественных режимах графики. При включении антианалисинга и анизотропной фильтрации производительность 2900ХТ сильно падает, практически в разы. Решение этой проблемы пока не удалось найти и это несомненный минус, как самой карточки, так и всей архитектуры чипа R600.
Теперь поговорим о плюсах архитектуры G80 и карт серии 8800. Одним из главных плюсов самой карты является более низкое, по сравнению с соперником, шумо- и тепловыделение. Для кого-то эти значения являются главными, так как многие люди хотят иметь очень мощный и производительный компьютер, но в тоже время не хотят слушать рёв кулера, как это происходит на карте HD2900 XT. Также к плюсам G80 можно отнести большее количество текстурных блоков и наличие 128 унифицированных процессоров, которые в зависимости от приложения могут обойти R600 с её 320 процессорами. Ну а небольшие минусы – это меньшая ширина шины памяти 384 бит против 512 бит, что в тоже время не мешает обгонять G80 в некоторых приложениях карты на базе R600. И в тоже время, наверное, самый маленький минус – это максимально поддерживаемый объём видеопамяти равный 768 Mb, а у R600 – 1Gb. Хотя карты HD2900 XT редко встречаются с таким объёмом памяти, да и в играх пока такой объём памяти невостребован, то, как таковым минусом наличие меньшего объёма видеопамяти считаться не может. Для современных игр вполне хватает 512/640Mb видеопамяти. А вот, сколько видеопамяти играм нужно будет через год, уже трудно сказать. Так что если вы берёте карту на полтора-два года, то вам есть смысл задуматься о решениях с большим объёмом видеопамяти.