Скованные одной цепью: Технология видеочипов ATI и NVIDIA
"…Связанные одной целью", – строчки очень известной песни группы "Наутилус
Помпилиус" и сегодня как нельзя лучше описывают существование графических
гигантов ATI и NVIDIA. Пусть с запозданием, но калифорнийцы наконец-таки
выпустили свой процессор GF100. Следовательно, пора столкнуть лоб в лоб
архитектуры двух извечных "друзей", рассказав более подробно про новые
процессоры. Как гласит народная мудрость: лучше поздно, чем никогда. Хотя
винить в подобной задержке стоит в первую очередь NVIDIA. С канадцев же взятки
гладки, ибо с микросхемой Cypress (кипарис), названной в честь одного
вечнозеленого кустика, мы познакомились еще в году священного быка. Поэтому
начать сие повествование стоит с технических наработок канадской мануфактуры.
Так что вспомним про выход процессора Cypress, как будто это случилось вчера.
Под знаменем "красного октября" графический процессор RV870 постучался в двери
изголодавшихся до новинок энтузиастов и вредных IT-журналистов.
Он был первым
Сразу же приятно удивляют характеристики ядра. На 334 квадратных миллиметрах
кремния разработчикам удалось разместить 2.15 миллиарда транзисторов.
Естественно, такое возможно исключительно за счет перехода на новый
40-нанометровый техпроцесс, который осуществился за счет инновационных наработок
силиконового "мастодонта" TSMC. Корпорации, чьи заводы обеспечивают кремниевыми
устройствами большинство IT-компаний. Канадцы вообще отлично поработали, и перед
запуском новейшей линейки акселераторов проверили свои возможности за счет
выпуска видеокарт ATI Radeon HD 4770. Для сравнения, чип RV790 (кремниевое
"сердце" видеокарты ATI Radeon HD 4890) обладал всего 959 миллионами
транзисторов.
Вообще сравнения ядра четвертого поколения с пятым избежать никак не удастся.
Уж очень схожи архитектурные особенности данных микросхем. Но ATI явно
воспользовалась одним неписанным правилом: возьми что было и умножь вдвое. Так
потоковых процессоров у Cypress насчитывается аж 1600 единиц. Против 800 у чипа
RV790. Та же тенденция происходит с текстурными (TMU) и растровыми блоками.
Первых отныне 80, а вот ROP-юнитов (или же Render Back-Ends, RBE) насчитывается
ровно 32. Вместо прежних сорока и шестнадцати единиц соответственно. Доставка
информации к SIMD-ядрам совершается за счет блока MEB (Memory Export Buffer),
который за один такт записывает не 32-битные величины (как раньше), а удвоенное
их число – 64-битные величины. Этот буфер призван заменить общую кольцевую шину,
от которой отказались еще в серии Radeon HD 4xxx. Вместе с каналом запроса
данных (Data Request Bus) и четырьмя модулями кэша второго уровня (по 128 Кбайт
каждый) создается единая вычислительная цепь. Получил удвоенное количество
блоков растеризации и модуль GE (Graphics Engine), который отвечает за
переработку команд для последующей отправки в параллельные вычислительные
"комбайны".
Увеличение RBE-блоков, а также упор на обработку Z-буферов повиляли на
некоторые аппаратные возможности видеокарт ATI пятой ревизии. Отныне к
стандартным режимам антиалиазинга добавился еще один – CFAA с краевым
сглаживанием полигонов. То есть теперь при использовании данного метода картинка
потеряет характерные "лесенки", но при этом не будет размазываться. Не забываем
и про тесселяцию – способ увеличения полигонов за счет кривых Безье, N-патчей и
карт смещения. К вершинным и геометрическим шейдерам добавились еще dominian- и
hull-шейдеры. Для разработчиков игр, пожалуй, уже давно не было столько
возможностей по претворению своих задумок в жизнь. И время показало, что чип
Cypress с этим великолепно справляется.

Блок-схема архитектуры процессора Cypress
Наконец, скажем пару слов о технологии OIT (Order Independent Transparency).
С ее помощью увеличивается качество рендеринга полупрозрачных объектов и
постэффектов. Подобные изменения, само собой, повлияли на уровень
производительности 40-нанометрового чипа. Пиковая вычислительная мощность ATI
Radeon HD 5870 составляет 2.72 Тфлопс супротив 1.2 Тфлопс ядра четвертой серии.
Отсюда, кстати, идут и такие показатели, как отношение мощности к потребляемой
энергии и производительности, соотносимой к миллиметру квадратному площади чипа.
Для RV870 они составляют 14.5 Гфлопс/Вт и 7.9 Гфлопс/мм2, а для старой ревизии –
7.5 Гфлопс/Вт и 4.6 Гфлопс/мм2.
Роем глубже
Как видишь, маркетологам канадской компании есть где разгуляться.
Характеристики "кипариса" выглядят воистину великолепно. В остальном же перед
нами хорошо знакомый чип RV, основанный на суперскалярном дизайне шейдерных
процессоров. Каждая такая единица состоит из пяти ALU, один из которых отвечает
за выполнение сложных математических инструкций exp, sin, cos и log. Остальные
четыре логических юнита осуществляют общие команды, подчиняясь массиву
регистра общего назначения и блоку управления ветвлениями. Отсюда и получаем
невероятное число потоковых процессоров в размере 1600 кремниевых "бойцов".
Далее архитектурная иерархия Cypress объединяет 16 шейдерных процессоров в
так называемое SIMD-ядро. По сравнению с прошлым чипом их количество
увеличилось вдвое и отныне составляет 20 штук. Вместе с шейдерными процессорами
"кучкуются" четыре текстурных блока и кэш первого уровня. Если кто не догадался,
то именно из-за этого RV870 располагает 80 TMU вместо сорока. Емкость же кэша по
традиции увеличилась вдвое: с 64 до 128 Кбайт. Да еще и с пропускной
способностью порядка одного терабайта в секунду. Канал связи SIMD-ядра работает
со скоростью 435 Гбайт/с. С другой стороны, каждый текстурный процессор
по-прежнему состоит из 16 блоков выборки текстур, 4 блоков фильтрации и такого
же количества блоков адресации. Правда, отныне ради поддержки Microsoft API
DirectX 11 и HRD пришлось увеличить разрешение карты текстур до 256 миллионов
пикселей.
Не сильно изменился и контроллер памяти. Новая линейка видеокарт совершенно
отказалась от кольцевой архитектуры в пользу поддержки обнаружения критических
ошибок EDC (Error Detection Code) и более высоких частот памяти. Именно поэтому
большинство "мозгов" линейки Evergreen функционируют на частоте более 1 ГГц. Как
ты прочтешь чуть позже, такими характеристиками NVIDIA похвастать до сих пор не
может.
Референс ты мой, референс
В качестве промежуточного вывода осталось поведать про эталон графического
адаптера канадцев – референсные платы ATI Radeon HD 5870 и ATI Radeon HD 5850.
Чип первой, Cypress, функционирует на частоте 850 МГц. Про "внутренности" ядра
мы уже говорили. А вот память девайса основана на сверхпопулярном, быстром
стандарте GDDR5. По умолчанию "мозги" функционируют с частотой 1200 (4800) МГц.
С системой память функционирует за счет 256-битной шины, способной пропустить до
153.6 Гбайт данных в секунду. Естественно, адаптер поддерживает интерфейс PCI
Express версии 2.0. Графический акселератор ATI Radeon HD 5850 обладает слегка
урезанным чипом RV870. Видно сие отставание не только на уровне частоты, но и
функциональных блоков. Так, потоковых процессоров отныне 1440, а текстурных
блоков – всего 72. Не коснулись деградации только ROP-юниты. Частоты ядра и
памяти снизились. Чип функционирует с сигналом 725 МГц, а "мозги" – со скоростью
1000 (4000) МГц. С памятью работает все тот же 256-битный интерфейс. Правда, за
счет уменьшения частоты пропускная способность GDDR5 снизилась до 128 Гбайт в
секунду.
Появление Fermi
В конце концов летом этого года к компании видеокарт ATI с поддержкой DirectX
11 добавилась небольшая группа адаптеров NVIDIA на базе архитектуры Fermi.
Причем из четырех современных графических акселераторов "зеленых" три из них
основаны на базе одного процессора с легко запоминающимся названием GF100. И
лишь устройство под маркой NVIDIA GeForce GTX 460 располагаетвидоизмененным
чипом GF104. Впрочем, обо всем по порядку.

Наглядное изображение потокового мультипроцессора GF100
Подобно процессору Cypress и его производным "зеленые" перевели свои
кристаллы на 40-нанометровый технологический процесс! Данное событие позволило
на 529 квадратных миллиметрах разместить сразу 3.2 миллиарда транзисторов. В
сравнении с чипом GT200 и его 1.4 миллиардом кремниевых затворов цифра поражает.
Да и процессоры ATI (читай – Cypress) отстают от GF100 больше чем на (!)
миллиард.
В основе архитектуры Fermi лежат кластеры графической обработки (Graphics
Processing Clusters, GPC). В состав GF100 входит 4 подобных блока. В каждом
кластере может находиться до 4 потоковых мультипроцессоров (Streaming
Multiprocessor, SM). Так, глава семейства, NVIDIA GeForce GTX 480, располагает
15 SM-юнитами. Отсюда напрашивается вывод о том, что процессор "четыреста
восьмидесятой" гипотетически является не самым производительным. И, возможно,
совсем скоро мы узнаем нового героя и вожака линейки. А пока же вместе с NVIDIA
GeForce GTX 480 на базе GF100 присутствуют адаптеры NVIDIA GeForce GTX 470 и
NVIDIA GeForce GTX 465. У первой платы 14 потоковых мультипроцессоров, а у
второй – всего 11.
Каждая такая единица насчитывает по 32 ядра CUDA. Отсюда получаем разницу в
классе между чипами: 480 у одноименной видеокарты, 448 у NVIDIA GeForce GTX 470
и 352 у NVIDIA GeForce GTX 465. На фоне первых двух адаптеров "четыреста
шестьдесят пятый" заметно отстает. Следовательно, причислить данный акселератор
к Hi-End-классу не получится. Скорее младший GF100 станет вожаком мейнстримового
сообщества калифорнийских видеокарт. Пролетариат одобрит! Между собой потоковые
мультипроцессоры связаны за счет шести 64-битных контроллеров памяти. Они же
"сотрудничают" с общим кэшем второго уровня объемом 768 Кбайт. Как видишь,
архитектура представляет довольно-таки сложный единый механизм. Поэтому
неудивительно, что у фабрик TSMC огромные проблемы с выпуском годных чипов.
Столько технологически грузных элементов и громадное количество транзисторов
ставят инженеров китайских заводов в тупик! Между прочим, по сей день. А это, в
свою очередь, пагубно сказывается на конечной стоимости устройства.

Блок-схема архитектуры Fermi
Помимо описанных физических единиц мультипроцессоры GF100 оснащены шестью
"комбайнами" ROP, диспетчером GigaThread (этот движок запрашивает информацию из
системной памяти, он же следит за ее размещением в кэше второго уровня),
текстурными модулями (Texture Processor Count, TPC) и внешним интерфейсом PCI
Express. Блоки растровых операций делятся на определенное количество в
зависимости от ранга видеокарты. У самого старшего "жирафа" их 48. У NVIDIA
GeForce GTX 470 уже 40. А вот у самой младшей модели всего 32. Каждому
потоковому мультипроцессору приставлено по 4 текстурных модуля. Следовательно,
если увеличивается количество одних элементов, то увеличивается количество и
других. Так, у самого производительного GF100 насчитывается 60 текстурных
блоков. Далее по старшинству адаптеры обладают 56 и 44 TPC соответственно.
Процессор GF104, используемый в видеокартах NVIDIA GeForce GTX 460, немного
видоизменен. Чип оснащен семью потоковыми мультипроцессорами. Только в каждом
таком блоке находится не 32 ядра CUDA, а сразу 48. В результате графический
адаптер не сильно отстает от NVIDIA GeForce GTX 465. А за счет 32 растровых и 56
текстурных блоков способен опередить младший GF100 в ряде игровых приложений.
GF100 под микроскопом
Разобравшись с архитектурой чипа в общих чертах, предлагаем более детально
углубиться в строение потокового мультипроцессора. Теперь уже третьего
поколения. Каждый потоковый мультипроцессор состоит из устройства для
целочисленных вычислений (ALU) и устройства для вычисления данных с плавающей
запятой (FPU). Первый способен выполнять 32- и 64-битные операции. А второй
совершает совмещенные операции умножения и сложения FMA (Fused Multiply Add) с
одним округлением вместо старой операции MAD (Multiply Add). Связываются ALU и
FPU за счет интерфейса Display Port. В каждом потоковом мультипроцессоре
находится по четыре блока специальных функций SFU (Special Function Units). Эти
юниты выполняют сложные математические операции sin, cos, log, exp. Кроме того,
SFU интерполирует графические атрибуты. В качестве буфера памяти у потокового
мультипроцессора присутствует 16 блоков загрузки и сохранения данных LD/ST (Load/Store).
С их помощью вычисляются адреса источников. Подобные блоки на самом деле
являются обычным кэшем первого уровня. В зависимости от версии GF100 объем LD/ST
может меняться от 16 до 48 Кбайт. Подобного в процессорах GT200 ранее не было.
Кроме того, у потокового мультипроцессора присутствует 48 Кбайт общей памяти (Shared
Memory) и 12 Кбайт кэша текстур (Texture Cache). Они не могут связываться друг с
другом. Но все три обращаются к ядру CUDA. И только LD/ST напрямую
взаимодействует с кэшем второго уровня. А та, в свою очередь, с памятью GDDR5.
Кстати, согласно конфигурации GF100, "мозги" видеокарты значительно разнятся.
Например, NVIDIA GeForce GTX 480 располагает 1536 Мбайт памяти стандарта GDDR5 и
384-битной шиной. А вот NVIDIA GeForce GTX 470 уже может рассчитывать на 1280
Мбайт и 320-битную шину памяти. Наконец, обе младшие модели снабдили 1024 Мбайт
GDDR5 и 256-битным каналом в придачу.
Одним из главных составляющих GF100 является блок параллельной обработки
геометрии PolyMorph Engine (PME). На каждый потоковый мультипроцессор приходится
по одному такому юниту. Сам же PME состоит из пяти компонентов: выборки вершин
(Vertex Fetch), тесселятора (Tessellator), трансформатора экранных координат (Viewport
Transform), установщика атрибутов (Attribute Setup) и потокового вывода (Stream
Output). За исключением последнего блока функционал первых четырех ясен из их
названий. А между тем Stream Output лишь выполняет программу, возвращая
обработанные данные согласно списку стадий параллельной обработки геометрии.
Подобным способом калифорнийцы желают максимально ускорить обсчет геометрии, а
также выбор вершин шейдеров. Что, несомненно, поумерит аппетиты игровых
приложений касательно затрат оперативной памяти.
Три девицы под окном
Можно еще много чего рассказывать про процессор GF100, но это будет больше
касаться алгоритмов обработки информации. В частности, NVIDIA обещает улучшенную
обработку тесселяции, сглаживания, трассировки лучей. Естественно, увеличенное
вдвое относительно чипа GT200 количество ядер CUDA позволит увеличить
производительность одноименной технологии. В статье
Mortal Combat за прошлый
месяц ты уже наверняка познакомился с представителями новой линейки графических
адаптеров калифорнийской компании. Согласно референсным настройкам самая старшая
из них работает с частотой чипа 700 МГц. Шейдерный блок действует со скоростью
1401 МГц. А вот память устройства с пропускной способностью 177.4 Гбайт/с
функционирует на частоте 924 (3696) МГц. Процессоры видеокарт NVIDIA GeForce GTX
465 и NVIDIA GeForce GTX 470 работают на одной частоте 608 МГц. Как и шейдерные
блоки с памятью. Первый параметр действует с сигналом 1215 МГц, а второй – с 802
(3208) МГц. При этом пропускная способность GDDR5 разнится из-за шины памяти.
Ждем новых битв
Ваш покорный слуга уже имел смелость предположить, что столь запоздалый выход
линейки видеокарт только положительно скажется на извечном противоборстве ATI и
NVIDIA. А вот какая из сторон ("зеленая" или "красная") победит – не возьмется
ответить никто. Конечно, кроме истинных фанатов той или иной "секты". Именно
поэтому нас, друзья, ждут новые безжалостные сражения на испепеленных
виртуальным огнем полигональных полях сражения. И пусть победит сильнейший, хотя
порой кажется, что это противостояние не закончится никогда!
| КОММЕНТАРИИ: |
|
|
|
|

Keywords: zPOSTz zARTICLEz, zVIDEOz z19940z
Для Авторов: edit delete
Автор: news Дата: 21.10.2010 10:59:17©
|