`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Все только начинается...

0 
 

Последние полтора-два года спокойствие в области IT, похоже, достигло апогея. Тактико-коммерческие перестановки (корпорация X уступила корпорации Y 20% рынка) да сугубо инженерные инновации (какой-нибудь контроллер разместили не на том кристалле, где было принято ранее) – вот и весь небогатый «подножный корм» падких на яркие новости технических журналистов.

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

Успокоение рынка привело к снижению ажиотажа среди потребителей, что наглядно демонстрирует, например, опрос общественного мнения, проведенный радиостанцией BBC 4. Большинство из пяти тысяч случайно выбранных британцев (59%) отдали пальму первенства самому существенному изобретению последних двух сотен лет… велосипеду, в то время как основы основ современного «цифрового стиля жизни» – транзистор и компьютер – признали наиболее важными всего 8 и 6% опрошенных. Не менее индикативен и резкий спад интереса выпускников средних школ США и ряда европейских стран к выбору IT-специальностей. Заметьте, что мы говорим не о динамике, например, рынка ПК, напротив, речь идет о тех явлениях, которые в какой-то мере (в какой вообще потребитель может влиять на рынок) предопределяют будущее. Можно было бы заручиться и поддержкой «тяжелой артиллерии», скажем повторяющимися из года в год последние несколько лет заявлениями о «неизбежной скорой смерти ПК».Чем бы ни были они обусловлены, какие-то подспудные причины у таких заявлений непременно есть, и одна из самых главных – как раз достигнутая и столь расхваленная только что стабильность. Потому что затянувшаяся стабильность всегда грозит превратиться в застой. Приток «свежей крови» – инноваций – необходим и неизбежен. Если в прежние времена основными источниками как глобальных, так и «локального значения» IT-инноваций были сначала военные, затем крупные корпорации, то и в нынешние времена эта ситуация, похоже, не меняется. Но все же возникает и нечто новое: небольшие приватные компании, производящие IP (Intellectual Property – интеллектуальную собственность, именно так принято называть, например, пригодные к синтезу готовых микросхем их описания), выступают «катализаторами инноваций», предлагая гигантам нечто действительно новое. И уж если более 50% микросхем, выпущенных в 2004 г., были «съедены» очень аппетитным потребительским рынком, можно уверенно говорить о том, что за гигантами не заржавеет – были бы интересные предложения.

…их есть у меня

«Вы просите песен?
Их есть у меня!»

Филипп (Ефим Копелян).
К/ф «Интервенция»

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

Именно по соответствию этим трем требованиям и был выбран предмет рассмотрения – оригинальный сопроцессор, созданный компанией AGEIA Technologies. Разработка эта действительно в какой-то степени неожиданная: по сути, вычислитель, созданный конструкторами AGEIA, ориентирован на серьезные научные применения, в первую очередь – в мощных системах имитационного моделирования. К слову, программных продуктов инженерно-научного назначения, в которых использование вычислительных возможностей подобного уникального сопроцессора крайне привлекательно, не так уж и мало. Но все-таки миллионные тиражи и низкие цены, характерные для потребительского рынка, – это залог жизнеспособности компании-производителя, и в AGEIA нашли неожиданную область применения для своей весьма специфической разработки – игровой бизнес. И если планам AGEIA будет суждено сбыться, вероятнее всего, и пользователям из сферы науки и инженерии новые сопроцессоры будут доступны (что было бы более чем сомнительным, если бы менеджмент AGEIA сконцентрировался на не сильно чувствительном к ценам, но компактном «научном» рынке). Ну и напоследок об упомянутых обязательных соответствиях: сопроцессор от AGEIA – это именно IP. «Овеществлением» же будут заниматься мощные производители с достаточными ресурсами – в пресс-релизах компании упоминается тайваньский гигант TMSC, на мощностях которого (с технологической нормой 0,13 мкм) был выпущен первый работающий сопроцессор, содержащий 125 млн транзисторов. Сочетание сравнительно малозатратного цикла проектирования IP (низкие затраты здесь снижают так называемую невозвращаемую стоимость, NRC, ее принципиально невозможно вернуть одноразовой продажей созданного изделия и приходится «размазывать» по всей предполагаемой партии), инновационного характера разработки и, наконец, весьма удачного менеджмента (о других его успехах, кроме правильного позиционирования разработки, мы еще упомянем) позволяет специалистам оценивать серийно выпускаемые микросхемы в $15 (естественно, при продажах в партиях).

Акселерированная… физика

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

Итак, довольно общих рассуждений. Сопроцессор PhysX компании AGEIA позиционируется ею самой как «многопоточный вычислитель», предназначенный для ускорения весьма специфических классов вычислений. А именно – задач линейной алгебры. Они используются практически во всех вычислительных процедурах, связанных с реализацией довольно привлекательных и одновременно потенциально опасных для разработчиков компьютерных игр алгоритмов. В перечень таких алгоритмов можно внести моделирование динамики твердых упругих тел (движение, столкновение, деформации), конечно-элементные расчеты, моделирование потоков жидкостей и газов. Привлекательность использования их в играх обусловлена стремлением к реалистичности – попробуйте без физического моделирования, например, реалистично прорисовать трепещущую на ветру одежду игрового персонажа или развевающиеся знамена. Возможности стандартных на сегодня графических акселераторов здесь почти не при чем – их процессоры не предназначены для решения больших систем дифференциальных уравнений, поэтому основная нагрузка все равно ляжет на центральный процессор и основную память компьютера. Потенциальная опасность чрезмерного увлечения реалистичностью совершенно очевидна: в таком случае вычислительной мощности самого производительного на сегодняшний день процессора просто не хватает для исполнения программы игры. А игра, в которую можно поиграть завтра, сегодня никому не нужна.

С точки зрения прикладного программиста PhysX можно считать воплощенной в кремнии… библиотекой подпрограмм, с одним небольшим «но»: скорость их выполнения может на три порядка превышать быстродействие самого мощного коммерчески доступного микропроцессора. Добиться революционного скачка в производительности было непросто: 125 миллионов транзисторов – это все-таки не шутка. И хотя количеством транзисторов сегодня удивить кого-либо трудно, архитектура PhysX настолько отличается от любого микропроцессора, что поверхностное знакомство с ней безусловно представляет интерес.

Виртуальная вычислительная машина PhysX реализована двумя ключевыми механизмами – «заготовщиком» и «исполнителем» высокоуровневых команд. Задача «заготовщика» – исключительно быстро подготовить данные, и не просто данные, а очень много данных, для «перемалывания» их «исполнителем». «Очень много данных» здесь сказано не для красного словца, задачи линейной алгебры – это операции с матрицами, большими матрицами. А в таких операциях главное – скорость пересылки данных. Два экстенсивных способа повышения этой скорости, расширение разрядности шины и увеличение тактовой частоты, увы, не обеспечивают нужного прироста производительности. Поэтому конструкторы PhysX в полной мере воспользовались очевидным приемом – «разделяй и властвуй». Машина PhysX не только напичкана специальными областями памяти, но и использует для «общения» с хост-компьютером разделяемую (или специальную, объемом до 512 MB) память.

Все только начинается...
Отладочный модуль с процессором PhysX. В этом опытном образце сопроцессор PhysX является фактически отдельным устройством. Однако по мере развития технологии планируется объединение в одноплатной конструкции двух устройств – графического и физическо

«Заготовщик» – это высокоуровневая коммутационная машина, соединяющая три ключевые области памяти PhysX: внешнюю основную память сопроцессора (CMM, Coprocessor Main Memory), разделяемую с центральным процессором компьютера, внутреннюю сверхбыструю «черновую» память (SPM, Scratch Pad Memory), применяемую для хранения промежуточных результатов вычислений, и наконец, внутреннюю память сопроцессора (ICM, Internal Coprocessor Memory). Об ICM и SPM следует сказать особо. Это области памяти двухбанковой организации, допускающие одновременное выполнение операций чтения/записи в разных банках. Именно над хранящимися в них данными и выполняются расчетные операции. Формирователи соединений между этими областями памяти действительно впечатляют: однонаправленный коммутатор, позволяющий одновременно передавать шестнадцать 32-битных слов на выбранные 16 из 132 выходов, реверсивный ему (передача 16 из 132 входных 32-битных слов на 16 выходов) и наконец, сердце «заготовщика» – коммутатор 4×4, позволяющий одновременно передавать четыре 256-битных слова (см. рисунок). Коммутаторы 16×132 и 132×16 управляются каждый своим набором из 16 генераторов адресов (AG, Address Generator). 32 ячейки памяти ICM адресуются, соответственно, своим набором из 32 AG. Генераторы адресов здесь не простые счетчики с инкрементом/декрементом, а весьма сложные логические схемы, функционирование которых легче всего описать вложенными циклами, например на языке C:

for (i=A0; i<=B0; i+=C0)
	for(j=A1; j<=B1; j+=C1)

Параметры A0, A1, B0, B1, C0, C1 входят в состав высокоуровневых команд, выполняемых «заготовщиком». Таким образом, «заготовщик» за один такт может переслать шестнадцать 32-разрядных слов и два 256-разрядных. Его высокоуровневые команды, по сути, план такой массированной пересылки данных.

Все только начинается...
Блок-схема коммутационной машины – «заготовщика» сопроцессора PhysX. В отличие от классических процессоров в нем возможна одновременная пересылка любых шестнадцати 32-битных слов и загрузка-выгрузка двух 256-битных слов в 132 рабочих рег

После того как «заготовщик» создал необходимые для обработки наборы данных в ICM и SPM, за дело принимается «исполнитель». Это процессор гибридной архитектуры, обладающий признаками и векторных, и VLIW-процессоров. За один такт он может выполнять одновременно несколько скалярных и векторных операций. «Исполнитель» содержит четыре скалярных вычислителя, оперирующих числами с плавающей точкой, четыре векторных вычислителя и один блок скалярных целочисленных вычислений. Назначение целочисленного блока (к слову, всего 16-битного) – вовсе не вычисления, а генерация циклов и адресов. Несмотря на «скалярность», целочисленный блок содержит восемь независимых, способных работать одновременно 16-битных ALU – это необходимо для обеспечения функционирования главных вычислителей «исполнителя». Векторные вычислители состоят из четырех FPU каждый. В чем-то векторный вычислитель PhysX схож с архитектурой SPARC – в нем для поддержки взаимодействия между потоками исполнения используются специальные «разделяемые», доступные всем FPU-регистры (в SPARC разделяемые регистры именуются «регистровыми окнами»). Каждый FPU за один такт способен одновременно выполнить четыре операции: загрузку слова в регистр FPU, запись слова из регистра FPU в память, одну простую арифметическую операцию (сложение/вычитание/сравнение) и одну операцию умножения.

Банковая организация областей памяти, обрабатываемых «исполнителем», позволяет в тактах обработки одновременно проводить подготовку «заготовщиком» новых данных в другом банке. Переключение банков в терминах PhysX называется «переключением контекста». Работой «заготовщика» и «исполнителя», переключением контекста и прочими нюансами функционирования PhysX управляет встроенный специальный RISC-процессор. Кроме выполнения координирующих функций, данный процессор как бы формирует «машину PhysX» – транслирует видимые программисту команды этой машины во внутренние команды и сигналы управления. Такой прием (повышения интеллекта устройства) позволил снизить требования к драйверам, обеспечивающим его интеграцию в операционную среду хост-машины.

Бизнес-архитектура PhysX

Все только начинается...
Xbox 360 – «двигатель», которому при любых обстоятельствах суждено сдвинуть с места технологию физической акселерации. Вполне возможно, что появление модификаций Xbox 360, использующих какой-либо вариант сопроцессора PhysX, вопрос времен

То, о чем мы только что говорили, можно назвать инженерной архитектурой PhysX. Она, безусловно, интересна, но все-таки в этой истории намного интереснее не приемы достижения высокой производительности, а способы, с помощью которых такая производительность будет доступна всем. Данные способы и названы условно бизнес-архитектурой. Надо сказать, что компания AGEIA и в этой области добилась успехов. В 2004 г., еще до выпуска PhysX, она приобрела швейцарскую фирму NovodeX AG – известного производителя кросс-платформенных высококачественных библиотек для решения физических задач. Эти библиотеки и их интерфейсы (API) стали де-факто стандартом в игровой индустрии и используются ведущими разработчиками игр. Сейчас PhysX AGEIA поддерживает аппаратное ускорение именно этих библиотек, и задействовать ресурсы сопроцессора можно с помощью API NovodeX (естественно, этим возможности сопроцессора не ограничиваются – для поддержки других библиотек и API надо разрабатывать только драйверы, не изменяя аппаратной реализации). Такой умный тактический ход AGEIA должен обеспечить ее сопроцессору большое будущее: API NovodeX, в частности, не просто лицензирован, а объявлен Microsoft официальным API подсистемы физического моделирования реального времени игровой консоли Xbox 360. И пусть уже доподлинно известно, что в Xbox 360 акселератор PhysX применяться не будет, а с решением задач физического моделирования справятся три ядра PowerPC-совместимого процессора, AGEIA получает и потенциального потребителя PhysX, и время для отработки сопроцессора до пригодного к коммерческим применениям уровня. Если учесть, что PhysX даже в сегодняшнем исполнении позволяет создавать динамические интерактивные сцены со сложностью до 30 тысяч объектов (задача, с которой не сможет справиться никакой современный универсальный процессор), что стоимость сопроцессора невысока, что с выходом Xbox 360 появится целый класс игр, которые можно существенно улучшить с помощью физической акселерации, и наконец, что за рынок игровых консолей битвы будут жаркие, то можно говорить о том, что все действительно только начинается…

0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT