Computerworld, США

Проект TRIPS может привести к появлению нового типа процессоров

Специалисты Техасского университета работают над архитектурой, призванной решить ряд проблем, с которыми сталкиваются современные разработчики микросхем.

Специалисты Техасского университета работают над архитектурой, призванной решить ряд проблем, с которыми сталкиваются разработчики микросхем

Число транзисторов на микросхеме вот уже несколько десятков лет удваивается как минимум раз в два года, и разработчики микропроцессоров используют эти транзисторы весьма эффективно. При производстве новейших микросхем применяются такие технологии, как прогнозирование ветвления программы и «опережающее» выполнение. Это позволяет создавать «магистрали» команд для увеличения производительности процессора за счет одновременного выполнения нескольких команд. Но растущая сложность таких микросхем и высокий уровень выделения тепла при их работе свидетельствуют о том, что подобный подход себя практически исчерпал. Вместо того чтобы пытаться создавать более быстродействующие процессорные ядра, разработчики микросхем начинают устанавливать на чип большее число ядер.

В связи с этим, по словам Дуга Бургера, профессора Техасского университета, возникает серьезная проблема. Для того чтобы прикладное программное обеспечение могло использовать возможности этих многочисленных ядер, программисты должны структурировать свой код в расчете на его параллельное выполнение, а это крайне сложно или даже невозможно для некоторых приложений.

«Отрасль столкнулась с проблемой программируемости вычислительных платформ, переложила ответственность на программное обеспечение и надеется, что программист сможет написать код для таких систем», — заметил он.

Бургер и его коллеги рассчитывают решить эту проблему с помощью нового микропроцессора и архитектуры набора команд, получившей название TRIPS, или Tera-op Reliable Intelligently Adaptive Processing System.

«Наша цель — использовать параллельность, вне зависимости от того, предоставляет такую возможность программист или нет», — сказал Бургер.

Для этого в TRIPS используется несколько методик. Во-первых, компилятор TRIPS посылает исполняемый код на аппаратное обеспечение блоками, содержащими до 128 команд. Процессор «видит» и исполняет весь блок целиком, и в случае, если он содержит одну команду, значительно снижаются расходы, связанные с обработкой и планированием команды.

Во-вторых, команды внутри блока выполняются в виде «потока данных» так, будто это одна команда, сразу же при появлении для нее входных данных, а не в некой последовательности, заданной компилятором или программистом. «Благодаря этому данные как бы ?протекают? через команды», — пояснил Стив Кеклер, еще один профессор, руководящий проектом TRIPS вместе с Бургером.

Возросшая эффективность

Важной особенностью новой технологии является то, что внутри блока компилятор TRIPS объединяет в одну две команды, которые относятся к разным путям исполнения, если у них одна и та же цель и операция.

«В отличие от предложенных ранее архитектур, базирующихся на концепции потоков данных, наша модель активного использования потоков данных позволяет компилятору создавать значительно более сжатый и более эффективный код», — подчеркнула профессор Кетрин Маккинли, возглавляющая часть проекта, связанную с созданием компилятора.

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

По сравнению с традиционными методами увеличения производительности — наращиванием тактовой частоты процессоров и созданием более широких конвейеров — рост производительности, достигнутый за счет применения этих методик, происходит при меньшем потреблении энергии.

Задача сокращения уровня энергопотребления заставляет разработчиков микросхем переходить на многоядерные процессоры. Бывший инженер Intel Марк Макдермотт, теперь занимающий пост вице-президента по разработке компании Coherent Logix, сказал: «Посмотрите, например, на процессор типа Pentium, в нем содержится огромное количество управляющей логики, управляющих транзисторов, которые вообще не выполняют никакой работы — они только расходуют энергию. TRIPS пытается частично переложить эти сложности обратно на компилятор».

По мнению разработчиков TRIPS, ее методики потоковой обработки данных оправдывают себя для трех видов параллельных вычислений, используемых в программном обеспечении, — параллелизм на уровне команд, на уровне потоков и на уровне данных. По этой причине TRIPS называют «полиморфной», тем самым подчеркивая, что данная архитектура может эффективно использоваться для самых разных приложений — научных, коммерческих и встроенных.

А это именно то качество, которого добивалось Агентство перспективных исследований Министерства обороны США (DARPA) в своем проекте Polymorphous Computing Architectures. Выделив на создание TRIPS 15,4 млн. долл., агентство рассчитывало получить процессор, способный на многих приложениях поддерживать скорость 1 трлн. операций в секунду.

Университет планирует предоставить свою архитектуру TRIPS корпорации IBM, которая к февралю должна создать для университета прототипные процессоры. Эти процессоры будут иметь два ядра, каждое из них способно обрабатывать 16 команд одновременно. По словам Кеклера, процессоры, тактовая частота которых составит 500 МГц, будут выполнять 16 млрд. операций в секунду. Университет планирует довести эту технологию до коммерческого уровня и к 2012 году добиться цели, поставленной DARPA, — предложить процессоры с тактовой частотой 10 ГГц, способные выполнять 1 трлн. операций в секунду.

«Мы весьма заинтересованы в коммерциализации данной технологии и сейчас ищем коммерческих партнеров», — сказал Бургер. DARPA также рассчитывает на большой коммерческий успех новой архитектуры. Этот факт плюс полиморфизм означают, что Пентагон мог бы покупать готовые к работе процессоры за значительно меньшие деньги, чем ему сейчас приходится платить за экзотические, специализированные процессоры для конкретных систем.

Чак Мур, один из руководителей корпорации AMD, полагает, что TRIPS выглядит весьма многообещающе. «Эта концепция соответствует реальному поведению кода, — заметил он. — Полиморфные возможности TRIPS позволят эффективно использовать ее для самых разных видов работ».

По мнению Мура, одно из наиболее серьезных препятствий на пути создания массового коммерческого процессора на базе данной технологии — это проблема совместимости с существующим программным обеспечением и системами, то есть, в первую очередь, совместимости с архитектурой x86. Но один из способов обеспечить такую совместимость — использовать TRIPS как сопроцессор.

«Процессоры общего назначения в архитектуре x86 могли бы передавать сопроцессору выполнение самых ресурсоемких задач, при этом сохранив совместимость с унаследованными системами и программным обеспечением», — считает Мур.