С-ускоритель

Автор: Владимир Николаевич
Опубликовано в журнале "Компьютерра" №21

Новое семейство микропроцессоров S5000, которое начинает выпускать калифорнийская компания S5000, может стать свежим словом для всей индустрии.

Основой чипа, нацеленного на рынок встроенных систем, является известный 32-разрядный RISC-процессор Tensilica Xtensa, работающий на частоте 300 МГц. Его собственная производительность заурядна, но на новом кристалле он совмещен с модулем под названием Stretch Instruction Set Extension Fabric. Эта «фабрика», по сути, представляет собой матрицу программируемых вентилей (FPGA). Ее главное отличие от обычных систем с фиксированной архитектурой в том, что электрические цепи FPGA можно быстро и многократно перестраивать программными методами.

FPGA-матрицы давно привлекают внимание разработчиков, хотя по цене и тактовой частоте они значительно уступают своим "статичным собратьям". В последние годы количество их логических ячеек удалось довести до десятков тысяч, что позволяет выполнять за один тактовый цикл целые алгоритмы. Нередко это настолько ускоряет программы, что цены и низкие частоты FPGA отходят на второй план. Хотя совмещение на одном кристалле FPGA и процессора нельзя назвать новостью, разработчики приложений для таких систем вынуждены писать код по частям - отдельно для конфигурации FPGA, и отдельно для всего остального. По заявлению Stretch, в ее чипе изменяемая логика впервые настолько интегрирована с процессором, что разработчики вообще могут о ней забыть.

Создание приложений для семейства S5000 будет выглядеть следующим образом: текст программы пишется на С\С++, а затем фирменным компилятором переводится в машинный код процессора. Далее программисту достаточно выделить в алгоритме нужный фрагмент, нажать кнопку, и компилятор автоматически превратит этот кусок С-программы в модуль, исполняемый FPGA-блоком за один тактовый цикл. К сожалению, на сайте www.stretchinc.com не указано, насколько большие программы можно "сжать в одно мгновенье", - расплывчато говорится лишь о «сотнях инструкций за такт".

Вероятно, конкретные цифры станут известны в июле, когда на рынок выйдет первый чип S5610. Его цена около сотни долларов, две младшие модели с упрощенными интерфейсами будут доступны осенью за 70 и 35 долларов. Пока в Сеть выложены впечатляющие данные тестов, а также сравнение работы встроенного RISC-процессора в одиночку и с модулем FPGA. Использование последнего ускоряет подсчет контрольной суммы ТСР-пакетов в 16 раз, вращение картинки - в 36 раз, быстрое преобразование Фурье (по 256 комплексным точкам) - в 51 раз, а коррекцию ошибок в GSM-протоколе (Viterbi-декодер) вообще в 120 раз.

Насколько хорошим окажется новый чип на деле, покажет время. Несомненно, возможности перепрограммируемых матриц во многом остаются невостребованными, и если идея Stretch окажется успешной, ее примеру наверняка последуют более крупные компании. Впрочем, вряд ли в ближайшие годы Intel или AMD объявят хотя бы о разработке FPGA-блоков для центральных процессоров персональных компьютеров - их внедрение потребовало бы серьезной ломки устоявшейся архитектуры, как "железной", так и программной.

Однако можно предположить, что в обычных персоналках все-таки есть место для перепрограммируемых чипов. Место это - в мощных видеокартах. С каждой новой версией DirectX они все меньше напоминают устройства для выполнения однотипных операций, намертво зашитых в графический процессор. Загрузка в видеопроцессор оригинальных микропрограмм (программирование шейдеров) скоро станет обычным делом, и для выполнения их с максимальной скоростью вполне логично сделать некоторые узлы процессора перестраиваемыми. Например, при запуске игры с очередной сногсшибательной графикой.


<<AMD «доливает» в Кремниевой Саксонии
Все материалы номера
Послушай кнопок перебор >>