15 лет назад 23 июля 2009 в 15:00 964

После его спуска на воду довольно быстро выяснилось, что он абсолютно не приспособлен к суровым условиям морских походов, и его капитан был вынужден поднять на флагштоке знамя речного флота. На новом поприще потенциал корабля раскрылся в полной мере, положенный срок был отработан до конца, после чего престарелую посудину списали и отправили на заслуженный отдых. Но, несмотря на достигнутый в новом деле успех, капитан судна тосковал – ему хотелось вновь ощутить дыхание морского ветра, услышать шум прибоя… По ночам ему снились белоснежные паруса и высокие мачты фрегатов, бороздящих ныне те морские просторы, по которым он когда-то сам решил безрассудно отправиться в плавание.

Larrabee

В те годы он был самонадеян и горделив, хотя и прожил на свете уже почти три десятка лет. Добившись успеха в сухопутных делах, завоевав признание коллег по цеху и заставив их бояться себя, он посчитал, что и в любом другом ремесле сумеет достичь не меньших высот. Безусловно, он не раз слышал рассказы бывалых моряков о грозных корсарах, превращающих до того безмятежную водную гладь в настоящий ад для тех, кто не подумал об оснастке своего корабля достаточным числом пушек. Но капитан лишь посмеивался над этими людьми. Он не озаботился хорошим вооружением своего суденышка – понадеялся на то, что в случае опасности ему поможет праведная миротворческая эскадра, стоящая на рейде в ближайшем порту. Но он просчитался: союзники почти всегда приходили слишком поздно – уже тогда, когда корабль был на волосок от гибели. Капитан, конечно, осознал свою ошибку, но поправить уже ничего не мог. Прошли годы, про i740 уже все забыли, легкие парусники, бороздившие некогда морские просторы, уступили свое место громадным броненосцам, а тот капитан все не расставался с мечтой снова уйти в дальнее плавание.

И вот недавно он снова начал действовать…
Вам, должно быть, интересно, зачем я рассказал эту странную историю. Удовлетворю ваше любопытство – сия метафоричная легенда повествует о том, как фирма Intel в свое время попыталась пробиться на рынок графических ускорителей, создав весьма необычную видеокарту i740. Главной отличительной особенностью этого адаптера стало использование им в качестве хранилища текстур исключительно оперативной памяти компьютера, тогда как изрядно «похудевшему» набортному ЗУ оказались поручены лишь функции кадрового буфера. Так Intel (да и не только она одна) представляла себе будущее дискретных графических устройств. И, как вскоре выяснилось, представляла неправильно, ибо обычные видеокарты были гораздо мощнее i740. Зато идеи, положенные в основу этого чуда-юда, пригодились при проектировании чипсетов с интегрированными графическими ядрами. Собственно, до недавнего времени этот сегмент рынка видеоускорителей был единственным, в котором Intel проявляла свою активность. Но, как оказалось, процессорный гигант не отказался от своих намерений по «откусыванию» и дискретной части этого «пирога» – к выходу готовится семейство графических адаптеров под кодовым названием Larrabee. Чем же Intel собирается поразить нас в этот раз?

Все новое – хорошо забытое старое?
Как и i740, Larrabee не похож на конкурирующие разработки других фирм – видимо, технологические стратеги Intel посчитали, что победить таких маститых соперников, как AMD и NVIDIA, «на их поле» не удастся, и решили создавать новый видеочип, выбрав в качестве базиса процессорное ядро P54C, применявшееся аж в доисторических Pentium MMX. Само собой, это ископаемое подвергли существенной модернизации, но, по сути, «пень» «пнем» и остался. Такой на первый взгляд странный выбор был обусловлен тем, что новинка изначально создавалась как универсальное устройство, оптимизированное под обработку многопоточных кодов.

Его универсальность призвана обеспечить программируемая центральнопроцессорная архитектура, которая значительно более гибка по сравнению со своей графической «коллегой». А приспособленность к многопоточным вычислениям достигается за счет включения в чип большого количества одинаковых ядер – именно этот факт может быть наиболее вероятной причиной выбора столь маломощных на данный момент (но вместе с тем и простых) процессоров, как Pentium MMX, в качестве фундамента для Larrabee (попробуйте-ка представить себе хотя бы 12-ядерный Nehalem).

Larrabee

Даже гипотетический представитель последнего поколения ЦП Intel, с дюжиной «голов», не сможет тягаться по количеству одновременно обсчитываемых потоков ни с одной модификацией Larrabee.

Кстати, даже гипотетический представитель последнего поколения ЦП Intel, имеющий дюжину «голов», не сможет тягаться по количеству одновременно обсчитываемых потоков ни с одной модификацией Larrabee. Ведь, во-первых, количество ядер в этих чипах будет не меньше восьми (по некоторым данным, в рамках 45-нанометрового техпроцесса их число может достигнуть 64), а во-вторых, после модернизации P54C количество параллельно выполняемых одним таким ядром потоков увеличилось с одного до четырех, причем каждому из них выделен свой набор регистров. Как видите, в зависимости от модели Larrabee будет способен обрабатывать от 32 до 256 последовательностей данных одновременно!

Стоит сказать, что усовершенствования P54C одним только привитием «духа параллельных вычислений» не ограничились. Например, техпроцесс поднятого из могилы «зомби» стал 45-нанометровым, в то время как оригинал выпускался – страшно сказать – аж по 600-нанометровой технологии. Дополнительное уменьшение размеров ядра было достигнуто за счет лишения P54C поддержки программ с внеочередным исполнением команд. Ключевое отличие обновленной «пеньковой» архитектуры от старой заключается в том, что первая предполагает наличие в ядре процессора помимо двух целочисленных и одного вещественного АЛУ еще одного арифметико-логического устройства – векторного, чем вторая похвастать не может.

Этот вычислительный блок, занимающий примерно одну треть площади «ядра-хозяина», способен одновременно выполнять до 16 операций с плавающей запятой одинарной точности (32 бита) или же до 8 – двойной (64 бита). По этим показателям он значительно превосходит векторные АЛУ других процессоров Intel, потолком возможностей которых является обсчет лишь четырех 32-битных операций за такт. Также этот компонент ядра Larrabee поддерживает инструкции, использующие в качестве операндов данные целых типов. Довольно интересной особенностью этого модуля является его возможность работать с командой векторной загрузки данных из памяти – ее 512-битный операнд рассматривается как совокупность шестнадцати 32-разрядных адресов, по которым и производится считывание. В некоторых случаях эта функция позволяет достигать троекратного (!) увеличения быстродействия.

Вообще же все векторные АЛУ являются главным калибром «вычислительной артиллерии» Larrabee: именно эти блоки будут определять лицо детища Intel, являясь источниками львиной доли его производительности, – в частности, на их плечи ляжет основная нагрузка при обработке шейдеров. Здесь будет уместно провести небольшое сравнение современных видеочипов с новинкой от процессорного гиганта. Давайте посмотрим на предельное количество одновременно выполняемых шейдерных инструкций у GT200, RV770 и 32-ядерного Larrabee – для чипа, отмеченного гордой надписью «NVIDIA», этот показатель составит 240 (240 потоковых процессоров, каждый из которых работает над одной операцией), для ATI – 800 (160 x 5) и, наконец, для Intel – 512 (32 x 16) штук. Наверняка показатель «красных» вызвал у вас улыбку, но статья-то сегодняшняя сугубо теоретическая, поэтому рассмотрению подвергаются исключительно расчетные величины.

Для Larrabee будет крайне важна, я бы даже сказал сверхважна, эффективность написанных программистами Intel компиляторов – и пример довольно далекой от теоретических вершин производительности видеокарт тандема AMD и ATI последних лет это наглядно подтверждает. Правда, стоит отметить, что компиляторы процессорного гиганта славятся своим качеством, поэтому можно ожидать, что реальная вычислительная мощь Larrabee будет ближе к своему максимально достижимому потолку, чем у Radeon`ов периода «после DirectX 10». Но также следует помнить, что этот самый потолок у графических адаптеров Intel будет не таким уж и высоким в сравнении с оным у разработок конкурента – ведь до появления первых в продаже еще довольно много времени (на рынок они попадут в лучшем случае в конце нынешнего года), и соперничать им придется уже со следующим поколением видеокарт AMD.

Наиболее близкое к мозговым ресурсам «камня» запоминающее устройство – кэш первого уровня – увеличилось в четыре раза (по числу потоков), что позволяет хранить в нем одновременно 32 Кбайт инструкций и такой же объем данных. Вместо архаичной сумки-тележки под названием «кэш второго уровня», которую из-за немощи покойного старикана вынуждена была таскать его мать (то есть внешней была эта память (смайл)), наш «вурдалак» получил современный костюмчик с глубокими удобными карманами, а-ля Вассерман, в которые при необходимости можно запихать 256 Кбайт информации. И тянуться к ним не так далеко, и маму больше беспокоить по пустякам не надо.

Непосредственно в состав ядер входит лишь кэш первого уровня, а его «возвышенный» аналог представляет собой обособленный от вычислительной части блок. Вторые «этажи» кэш-памяти всех ядер сообщаются между собой посредством двунаправленной кольцевой шины шириной 2 x 512 бит. Выбор в пользу «бублика» обусловлен необходимостью ускорения процесса согласования данных, хранящихся в кэшах разных ядер, и обеспечения эффективного взаимодействия большого массива вычислительных устройств. Также к этой магистрали «пришвартованы» контроллер памяти, способный работать с оперативкой типа GDDR5 (вот уж будет мощь – с такой-то шиной!), и единственный поистине графический компонент процессора Larrabee – «скопление» текстурных модулей.

Действительно, лишь один этап визуализации выполняется новым детищем Intel не программно, а аппаратно (то есть при помощи специальных блоков с фиксированной функциональностью) – это выборка и фильтрация текстур. Чем же можно объяснить необычное решение инженеров процессорного гиганта? Пожалуй, главным его обоснованием является тот факт, что эта стадия построения изображения, в отличие от других, очень плохо поддается эффективной с точки зрения производительности реализации на устройствах с архитектурой x86 – быстродействие снижается в 12-40 раз. К тому же основное вычислительное устройство Larrabee – векторное АЛУ – оптимизировано для обработки 32-битных переменных, тогда как при текстурной фильтрации приходится иметь дело главным образом с 8-битными операндами. Сами текстурные блоки Larrabee довольно схожи со своими «коллегами» из видеочипов AMD и NVIDIA – они, в частности, поддерживают технологии сжатия текстур, mip-mapping`а и анизотропной фильтрации.

Общий взгляд на Larrabee
Теперь, когда мы знакомы с внутренней организацией процессора Larrabee, можно обратить внимание и на «жизнедеятельность» полноценных устройств этого класса. Благодаря тому, что в основу их положена обычная архитектура x86, они будут способны выполнять написанные для центральных процессоров программы без изменения кода, что наверняка очень пригодится для ускорения работы специфических многопоточных приложений. Если же говорить о графической применимости Larrabee, то нельзя не отметить следующую важную деталь: в связи с тем, что устройства этого типа будут обрабатывать шейдеры, используя универсальные ядра ЦП, а не разработанные исключительно в рамках спецификаций какого-либо API потоковые процессоры, их совместимость с новыми версиями DirectX и OpenGL зависит лишь от их драйверов.

Наверняка отсутствие необходимости регулярно перекраивать архитектуру чипа в угоду постоянно ужесточающимся требованиям к железу со стороны DX и OGL станет причиной того, что смена модельных линеек видеокарт Intel будет проходить гораздо реже, чем у AMD и NVIDIA. Скорее всего, новые поколения Larrabee будут замещать старые в основном при освоении прогрессивных технологических норм, гораздо реже – при обновлении архитектуры. В остальное же время Intel будет просто постепенно добавлять к текущему списку своих видеоадаптеров свежие модели с экстенсивно развитыми характеристиками.

Ну и несколько слов о программном обеспечении. Система программирования нижнего уровня для Larrabee включает в себя компилятор, преобразующий код языков C и C++ в родные для процессора этого устройства команды. Функционирование же программ, написанных на прочих языках (например, шейдеров DirectX и OpenGL), осуществляется при помощи соответствующих «надстроек», использующих API Larrabee. Само собой, с точки зрения простоты «выжимания всех соков» из нового видеопроцессора код C / C++ предпочтительнее, в остальных же случаях многое будет зависеть от эффективности дополнительных компиляторов.

Венец эволюции или тупиковая ветвь развития?
Год от года функциональность графических процессоров расширяется – если когда-то их таланты ограничивались только построением двухмерного изображения, то со временем они научились работать с третьим измерением, ускорять декодирование видео, заниматься перебором паролей, участвовать в программах распределенных вычислений… Все это было бы невозможно без эволюции их архитектур и постепенного перехода от непрограммируемого типа конвейера к его программируемому потомку. Но все же наличие большого числа узко специализированных блоков с фиксированной функциональностью (например, текстурных модулей и блоков установки треугольников) даже в современных видеочипах не позволяет им по степени универсальности сравниться со своими центральными «коллегами». Зато по той же причине в плане теоретической производительности графические чипы значительно превосходят ЦП.

Начиная проектировать Larrabee, Intel ставила перед собой задачу создать устройство, обладающее всеядностью центрального и вычислительной мощью графического процессоров. А как можно увидеть на одной из презентационных схем, в ходе развития своих архитектур две эти компьютерные составляющие постепенно сближались, из чего, по разумению инженеров Intel, следует логичность (а может, даже и неизбежность – кто знает) появления подобных Larrabee чипов. Хоть пока и неизвестно, как этот гибрид проявит себя в боевых условиях, но одно ясно точно: его появление непременно отразится на облике мира высоких технологий. Как именно? Поживем – увидим.

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

В «профессиональной» же сфере даже при гипотетически низком потолке своих графических способностей Larrabee, несомненно, будет полезен в качестве хорошо оптимизированного под многопоточные вычисления «дублера» ЦП. Если же вести речь о вероятном исходе наиболее интересного из предстоящих Larrabee сражений – битве с дискретными видеокартами AMD и NVIDIA, то тут все настолько туманно, что без включения фантазии не обойтись. Как вам, например, такой вариант: детище Intel года за три укладывает на лопатки Radeon и GeForce, затем живет некоторое время мирно, копит силы, а потом берет и наносит подлый разящий удар ничего не ожидающему ЦП, превращаясь в эдакий «сверхпроцессор» и захватывая мимоходом функции звуковых карт? Фантастика, конечно, но чем черт не шутит?

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