13 лет назад 9 февраля 2011 в 23:07 991

…Прибывает на 22-й путь (смайл). NVIDIA – странная компания с точки зрения того, как она продвигает свои разработки. Если отбросить PR-составляющую и взглянуть на перечень выпущенных за последние лет пять продуктов, все тип-топ – планомерное развитие, рост мощности… Теперь «подключим» к этому маркетологическую составляющую… Право, если бы сбывалось хотя бы 50% того, что пиарщики вливают в мозг через разные органы восприятия, то отличить картинку на мониторе и за окном было бы практически невозможно. Потому что уж очень фото- и физикореалистично. (Уважаемый редактор, можно я использую это свежеизобретенное слово? Оно тут к месту. – Прим. автора. – Да нехай будет! – Прим. ред.) В реальности, увы, все не так.

Блок-схема видеочипа GF 110. За исключеним мелких доработок, полная аналогия GF 100

Да, сам себя не похвалишь – никто не похвалит. И было бы странно читать в пресс-релизах заявления вроде «Ну, вот, мы тут слепили, что смогли к релизу, оно все сырое и глючное, но давайте уж, купите как есть, поддержите нас монеткой». Вообще, в крайности вдаряться – плохая тема. Именно по этой причине я не буду ворчать про то, что вот эту самую 580-ю «джифорсину» мы должны были видеть в начале 2010 года, что компания недооценила сложность и масштабность запущенного проекта и сливать в народ сначала куцый 480-й чип, а потом уже «изначально запланированный результат» в виде GeForce 580 – это нечестно. Просто расскажу про новую видеокарту.

Для тех, кто еще не в курсе: GeForce GTX 580 – новый одночиповый флагман в линейке ускорителей 3D-графики компании NVIDIA. И не надо смеяться: у рядового пользователя полный бардак в голове. Почти невозможно ответить коротко на вопрос: «Какая из представленных на рынке видеокарточек самая быстрая?» Чтобы дать правдивый ответ, надо задать массу наводящих вопросов: «В каком приложении? С какими настройками качества? А разрешение какое? А «директикс» десятый, девятый или одиннадцатый?» А теперь еще надо будет интересоваться, про одночиповые или двухчиповые решения ведется речь. Интернет запутывает еще больше – что ни обзор, то со своим видением идеальной видеокарточки: одни считают, что платы с двумя GPU надо рассматривать как SLI- или CrossFire X-тандем; другие утверждают, что все, продающееся одним куском, не надо делить на составляющие. Третьи изобретают какой-то свой неведомый велосипед, основываясь на личном понимании комфортной играбельности и набора ПО…

Еще производители подлили масла в огонь, решив оценивать свои творения по разным идиотским показателям вроде «fps/Вт». Это отношение количества fps в игре к 1 Вт потребляемой мощности. И как это измерять? В какой игре? На каких настройках? Пес их знает. Вот так. Понятие «хорошая видеокарта» – как дышло: куда повернул, туда и вышло.

512 ALU: почему только сейчас?
GTX 580 от своего предшественника GTX 480 в первую очередь отличается количеством ALU (Arithmetic Logic Unit, их еще называют универсальными процессорами) – теперь их 512 вместо 480. Эти 32 отсутствующих ALU были не добавлены, а включены – в GF 100 (ака GTX 480) их пришлось отключить: процент выхода годных чипов такой огромной сложности (более 3 млрд транзисторов!) на относительно новом 40-нанометровом техпроцессе был мал. К осени же TSMC отладила производство годных (черт, какое удобное слово) кристаллов, и вот теперь можно было задействовать полный набор.

Пока TSMC сражалась за снижение процента брака, NVIDIA также не сидела сложа руки – при увеличении количества задействованных ALU число транзисторов в GF 110 уменьшилось на 200 млн! Оптимизация, однако. Забегая вперед и подсматривая в таблицу характеристик, скажу, что эти миллионы транзисторов обеспечили уменьшение площади видеопроцессора на 9 мм2. Увы, проверить на практике данное утверждение с помощью линейки не удастся – как и ядро GF 100, чип GF 110 закрыт теплораспределительной крышкой. Конечно, можно ее сковырнуть, но, увы, портить товарный вид карты не разрешили (ага, тебе только разреши! – Прим. ред.). К тому же кто его знает, вдруг для передачи тепла от кристалла к крышке используются какие-нибудь затвердевающие со временем термоинтерфейсы. Тогда вместо явления миру красоты сложнейшего GPU мы получим отрывание головы, в прямом смысле этого слова. Невеселая перспектива…

Архитектура GF 110
Еще «стодесятый» научился обрабатывать текстуры формата FP16, активно применяющиеся в современных играх, и лучше «отрезать» невидимые поверхности при рендеринге (алгоритм называется Z-cull). Полную структурную диаграмму можно увидеть на рисунке. Средние зеленые квадраты, образующие 16 матриц 4 х 8, – ALU. 16 блоков, подписанных как «SM», – это Stream Multiprocessor. Кроме ALU в мультипроцессоре наличествуют 16 блоков для загрузки и сохранения данных (Load / Store Unit, или LD / ST, или LSU). Их назначение явствует из названия – это вычисление адреса для выборки или сохранения данных. Внизу, под матрицами ALU, четыре прямоугольника – текстурные блоки. Четыре вытянутых в высоту зеленых прямоугольника, SFU, или Special Function Unit, ответственны за произведение сложных математических операций и некоторых других функций.

На каждый SM приходится по 64 Кбайт памяти, которая может быть как кэшем первого уровня, так и общей памятью – распределение объема зависит от типа выполняемой задачи. Кэш L2 общий для всех 16 мультипроцессоров, на нем лежит обработка всех запросов по загрузке и сохранению данных. Это позволит полнее использовать кэш и избегать ситуаций «здесь простаиваем, а там не хватает». В видеопроцессорах кэш нужен для тех же целей, что и в CPU, – для увеличения общей производительности, что необходимо для того, чтобы уменьшить обращения к относительно медленной (по сравнению со скоростью кэша) распаянной на плате видеопамяти. Как частный пример возьмем сохранение промежуточных результатов вычислений или запрос несколькими блоками одних и тех же данных – ну зачем тратить такты на выборку из видеопамяти, когда они в кэше, «под боком»?

Что за FP16 и FP32?
Прежде чем ответить на этот вопрос, надо вспомнить, что же такое текстура. Грубо говоря, это картинка, «натянутая» на поверхность в трехмерном пространстве. Она может быть простым рисунком, фотографией… О, фотография… Все знают, насколько разными могут быть фотографии – одни с поблекшими мутными цветами, а другие яркие, сочные. Так вот, чтобы в современных играх объекты выглядели максимально реалистично, мало увеличить число полигонов – надо еще натянуть сверху качественную текстуру. Вот чтобы сохранить весь изначальный спектр оттенков текстуры, и используются форматы с плавающей точкой – эти самые FP16 или FP32. Циферки 16 и 32 показывают, сколько бит выделяется для хранения информации о цвете, а FP – сокращение от «Float Point» (плавающая точка). Логика проста: чем больше места отведено под информацию о цвете каждой точки, тем больше есть вариантов ее окраски.

Коли уж я заговорил о памяти, стоит упомянуть шесть контроллеров памяти, поддерживающих работу с GDDR5. Общая «толщина» шины – 384 бита. В прошлом поколении (GT200) контроллеров памяти было восемь и, соответственно, шире шина (512 бит), однако переход на GDDR5 и повышение тактовых частот позволили нивелировать отсутствие двух контроллеров. Пропускная способность даже увеличилась с 159 Гбайт/с до 192,4 Гбайт/с (GTX 285 и GTX 580 соответственно). В каждый SM помимо всего вышеупомянутого входит по одному блоку Polymorph Engine (желтый прямоугольник). На его «плечах» лежит обработка геометрии. В его состав входит блок по выборке вершин и тесселятор. Да-да, именно благодаря этому блоку стала возможна приемлемая скорость тесселяции – теперь другие блоки, ответственные за установку треугольников и растеризацию, не «сдыхают» при обсчете многократно усложняющейся при применении тесселяции сцены.

Четыре SM объединены в один кластер графического процессора (Graphic Processor Cluster, GPC). Вытянутый желтый прямоугольник в верху каждого GPC – движок растеризации (Raster Engine). Оранжевый прямоугольник с надписью «GigaThread Engine» – своеобразный координатор, распределяющий блоки потоков по SM, которые уже, в свою очередь, распределяют группы потоков среди ALU. Также он (GigaThread Engine) отвечает за выборку нужных данных из системной памяти и помещение их в локальную видеопамять. Ну что, теперь понятно, как внутри все просто? Увы, расписать подробно функции и назначение каждого блока не представляется возможным – для этого понадобилась бы не то что отдельная статья, а цикл из нескольких материалов, и то это был бы примитивный ввод в азы построения 3D-картинки с множеством обобщений и недоговорок. Так что, с вашего позволения, остановлюсь на таком, очень общем, описании внутренностей.

GeForce GTX 580 «в железе»
Пока внутреннее строение не совсем забыто, расскажу про видеокарту. Начну не с внешности (чего на нее глазеть – пластиково-текстолитовый невыразительный кирпич), а с печатной платы и расположении на ней компонентов. Оно стандартно (эти два слова можно копипастить из обзора в обзор, право): в середине – GPU, окруженный 12 микросхемами памяти Samsung K4G10325FE-HC04 (время доступа 0,8 нс, что соответствует тактовой частоте 1250 (5000) МГц) общим объемом 1536 Мбайт. Тактовая частота видеочипа – 770 МГц, шейдерного блока – 1540 МГц, памяти – 1000 (4000) МГц. Видно, что запас разгона по памяти приличный – 250 (1000) МГц! Обычно производители не оставляют такого, прямо скажем, жирного запаса, и объяснить наличие подарка оверклокерам в данном случае пока невозможно.

Что касается GPU, то его частота выше на 70 МГц в сравнении с видеоядром GTX 480. И все это при том, что максимальная потребляемая мощность – всего 250 Вт! Раз пошел разговор о питании, скажу, что разъемов подпитки на плате два, шестипиновый и восьмипиновый, и распаяны они на своем законном месте – в дальнем верхнем углу. Некоторые ожидали увидеть на этой плате два восьмипиновых разъема, руководствуясь здравыми соображениями: «Дескать, возросло количество блоков, соответственно, возросло и потребление энергии». Ан нет, аппетиты GTX 580 превышают оные у GTX 480 всего на один-два ватта, и, как заявляет NVIDIA, для системы с одной 580-й вполне будет достаточно блока питания мощностью 600 Вт. И это при повышенных тактовых частотах и полностью разлоченных ALU. В чем дело?

Польза правильной кормежки
Пока одна команда колдовала над внутренностями GPU, другая «перепиливала» систему питания. Две специальные умные микросхемы (неизвестного происхождения и странной маркировки) следят за напряжением на линии питания (+12 В) и энергопотреблением распаянных на PCB элементов (видеочипа и памяти). Если вдруг этот параметр выходит за установленные границы, видеокарта сбрасывает тактовые частоты ядра. Также при низкой нагрузке отключаются неиспользуемые блоки и понижается напряжение питания GPU. То есть раньше было несколько фиксированных значений напряжений и частот для каждого конкретного случая – 2D, Low Power 3D, 3D, – а теперь все определяется динамически.

Но… В самом начале статьи говорилось про странность NVIDIA. Вот наглядный пример: инженеры, пользуясь новообретенными возможностями мониторинга, снижают вдвое частоту ядра при запуске приложений FurMark и OCCT GPU Test. Да, именно так, две самые популярные среди оверклокеров (и не только) утилиты для проверки стабильности видеоподсистемы оказались «забанены» из-за того, что… создают (внимание!) нетипично большую нагрузку на видеоядро. Очень хочется вспомнить пословицу «Выше потолка не прыгнешь» и спросить с прищуром в глазах: «Что же, подсистема питания настолько слаба, что может перегреться и / или выйти из строя при полной загрузке GPU?» Если да, то почему, и если нет, то в чем причина? Думаю, эти вопросы так и повиснут в воздухе. И ладно. Потому что умные программисты вышеупомянутых утилит (по крайней мере, одной) уже нашли способ обходить эту, хм, «защиту».

Холодильник для трех миллиардов
Если GTX 580 любит «много-много кушать», значит, употребленные им ватты должны выделиться в виде тепла. Основные «грелки», в порядке убывания выделяемой тепловой мощности: GPU, видеопамять, силовые элементы питания. Избыточное тепло от последних двух отводится «по старинке», с помощью алюминиевого скелета системы охлаждения. Он контактирует с памятью и силовыми ключами через термопрокладки, а дроссели обдуваются потоком воздуха от расположенного прямо над ними вентилятора (специально для этого в основании предусмотрены прямоугольные вырезы).

Радиатор GPU на данный момент можно назвать один из самых эффективных в своем классе. На 480-ю устанавливалась наборная конструкция с пятью теплотрубками, непосредственно контактировавшими с теплораспределительной крышкой. Куда больше?.. Оказывается, есть куда. Называется устройство «испарительная камера». По сути это та же теплотрубка, только сильно сплющенная и расширенная. Внешне она выглядит как медный прямоугольник малой высоты (издали легко спутать с пластиной толщиной 3 мм), полый внутри. Часть внутреннего пространства заполнена жидкостью с малой температурой кипения, воздух откачан (с одного бока радиатора можно увидеть запаянное отверстие, через которое производили заполнение камеры и вакуумирование). С одной стороны (холодной) на прямоугольник напаяны ребра количеством 41 штука, а с другой (горячей) он прилегает непосредственно к теплораспределительной крышке GPU.
Тепло от видеочипа нагревает горячую сторону, жидкость испаряется. Пар, контактируя с холодной поверхностью, охлаждается (передает тепло ребрам через верхнюю крышку), конденсируется и благодаря капиллярному эффекту стекает на горячую сторону. Круг замкнулся. Преимущество такого решения в том, что выделяемое GPU тепло равномерно распространяется по всему радиатору, чего, увы, никак нельзя достичь, просто используя «шмат» меди такого же размера.

Забор воздуха, проходящего сквозь радиатор, производится только с одной стороны через круглое отверстие. Прорези в текстолите, по которым так хорошо узнается GTX 480, «заделали». Зря, очень зря: несмотря на увещания производителя о специальном профиле кожуха, оптимизированного для работы плат в SLI-режиме (что-то я этой оптимизации в упор не вижу), при установке впритык второй карты GTX 580 быстро набирает обороты и «садится на уши». При отсутствии «помех» в соседнем слоте GTX 580 тих, особенно если сравнивать с 480-м. К счастью, выброс всего нагретого воздуха производится за пределы корпуса через фигурную решетку в планке крепления.

Что до температур… 78° в загрузке, 47° в простое – достойный результат для мощнейшей на сегодняшний день одночиповой видеокарты с штатной системой охлаждения. И даже при всех минусах работы СО в SLI-режиме (ну кто, кто придумал назвать эту СО оптимизированной под SLI-режим, а? Покажите мне этого человека!) для такой видеокарты это лучшая двухслотовая система охлаждения. Круче могут быть только монстры производства Thermalright (такой Г-образный радиатор под 140-миллиметровую вертушку, пронизанный шестью теплотрубками, идущими от квадратного теплосъемника) и жидкостные системы охлаждения. Надеюсь, разные «оверклокерские» бренды представят в скором будущем похожие варианты. Поставить пару трехсекционных радиаторов, запустить прожорливый шутер – и надобность в центральном отоплении отпадет…

Вместо заключения
А тестов производительности не будет – сами там прикиньте, что к чему, у меня уже пальцы стучать по 101 клавише отваливаются. Шучу, шучу. Дождитесь следующего материала, и будет вам и тест, и производительность, и даже разгон. UP

Никто не прокомментировал материал. Есть мысли?