Реконфигурируемые процессоры

Многие из нас время от времени мечтают изменить свою жизнь и привычки ("с понедельника я…" и т. д.). Другое дело — новое поколение микропроцессоров, которые сулят нам невероятную производительность при минимальном потреблении электроэнергии.

Это было, было…

Индустрия специализированных микросхем существует уже десятки лет. Широкое распространение получили несколько основных разновидностей. И самой примитивной, а следовательно, наименее эффективной из них являются микросхемы ASIC — Application Specific Integrated Circuit. Идеология производства ASIC проста, как транзистор. Сначала заказчик предоставляет поставщику алгоритм, который требуется воплотить в "железе". Инженеры формализуют его с помощью различных специализированных инструментальных программ и транслируют описание в язык проектирования HDL. Из заранее скомпонованной библиотеки шаблонов подбирается набор логических блоков для реализации отдельных частей алгоритма. Затем эти блоки размещаются на стандартного размера и вида плане будущей микросхемы. После этого остается только связать шиной отдельные блоки в правильной последовательности, и продукт готов.

Проблема ASIC в том, что внесение минимальных изменений в функциональность схемы может вызвать полное перепроектирование. Кроме того, работа над подобными микросхемами требует достаточно высокой квалификации от инженеров. В настоящее время, когда сроки подготовки к выпуску новой продукции сокращаются с каждым днем, а поиск специалистов и удержание их на месте выливаются в колоссальные денежные затраты, с таким положением вещей становится все труднее мириться. Поскольку для каждой функции, исполняемой специализированным чипом, необходимо предусмотреть отдельный логический блок, то в результате микросхема оказывается перегруженной редко используемыми, но абсолютно необходимыми элементами. По некоторым оценкам, в типичной ASIC-матрице одновременно работают всего от 10 до 30% транзисторов. И хотя ASIC облегчает задачу выпуска малотиражных заказных изделий, но отнюдь не снимает всей массы существующих проблем.

Более гибкие возможности предоставляет технология FPGA — Field Programmable Gate Array (рис. 1). На практике есть три основные ее разновидности: Static RAM Technology, Anti-Fuse Technology и EPROM/EEPROM Technology. Аббревиатура EPROM расшифровывается как Erasable Programmable Read-Only Memory и относится к однократным методикам программирования микросхем. Более совершенна технология EEPROM — Electrically Erasable PROM, которая позволяет с помощью внешнего устройства изменять конфигурацию. Немногим дальше EPROM ушла технология Anti-Fuse — она поддерживает только однократное программирование (пережигание соединений). Наибольшую свободу разработчику обеспечивает первая из перечисленных методик. Чип, созданный на основе идеологии Static RAM, можно репрограммировать множество раз, причем даже во время работы системы — "на ходу". Однако скорость процесса конфигурирования оставляет желать лучшего, впрочем, как и минимальные размеры подложки и, следовательно, энергопотребление. Дело в том, что для достижения такой гибкости приходится использовать ячейки статической памяти. Они необходимы для управления функциональностью логических блоков и шинных коммутаторов. Но, к сожалению, технология SRAM накладывает определенные ограничения на плотность упаковки элементов.

Если рассматривать FPGA на более "низком уровне", то все изготовленные в рамках этой технологии изделия попадают в четыре большие категории: симметричный массив (Symmetrical Array), системы, основанные на рядах (row-based), море вентилей (Sea-of-Gates), иерархические PLD (hierarchical PLD). Это варианты стандартных "заготовок", потребность в них возникла вследствие продолжительности процесса производства микросхемы "с нуля" (около трех месяцев).

Используя заранее сформированные массивы транзисторов, в которых надо только выполнить "разводку" (т. е. проложить металлические линии соединений), удается избежать длительных задержек. В симметричном массиве логические блоки, обычно состоящие из интерфейса и нескольких вентилей, равномерно распределены по площади подложки, как небоскребы в Нью-Йорке, а между ними, подобно стрит и авеню, проложены дорожки шин данных. В случае матрицы, основанной на рядах, логические блоки выстраиваются в длинные продольные ряды, перемежающиеся с шинами данных. Море вентилей состоит из большого количества элементов, каждый из них связан со всеми ближайшими соседями. Прежде чем описывать структуру иерархических PLD-схем (Programmable Logic Device), необходимо пояснить сам термин PLD. Так обозначают логический блок, состоящий из массива вентилей AND, подсоединенных к массиву вентилей OR.

Например, разновидность PLD под названием Programmable Array Logic содержит в себе программируемую матрицу вентилей AND, подключенных к фиксированному слою вентилей OR. В иерархическом PLD несколько матриц различного размера и сложности соединены между собой, здесь прослеживается определенная подчиненность блоков.

Для полноты описания завершим раздел примером типичного логического блока (Configurable Logic Block) — элементарного кирпичика, который лежит в основании всей конструкции чипа FPGA. Обычно он состоит из двух независимых функциональных преобразователей и двух триггеров. Такой набор хорошо удовлетворяет требованиям большинства комбинаторных логических операций, поскольку в основном они используют менее четырех входных аргументов.

Два реквиема

Чтобы внести некоторую ясность, позволю себе привести заголовки двух научных работ, на основании которых была написана эта часть статьи. "Наступающая эра репрограммирования, или ASIC-технология мертва" Чака Фокса (Chuck Fox), президента Chameleon Systems, и "Смерть DSP" Ника Треденника (Nick Tredennick). Авторы этих изобличающих памфлетов утверждают, что как ASIC, так и DSP вкупе с традиционными процессорами, являются пережитками прошлого. В будущем этим технологиям останется лишь ограниченная доля рынка, а их место займут разнообразные репрограммируемые "на лету" микросхемы.

Приведем аргументы. Даже с теоретической точки зрения DSP и mP, как принято обозначать традиционные процессорные архитектуры, конечно уступают в эффективности специализированным схемам. ASIC и FPGA, чипы на частотах, равных всего нескольким мегагерцам, способны многократно превзойти производительность раскалившихся гигагерцевых "цифровых молотилок". Однако проектирование ASIC — далеко не простая задача, а наиболее совершенные FPGA имеют большие размеры и длительные периоды реконфигурации. Производители вынуждены балансировать между специализацией и стандартизацией. Если такие требования, как создание нишевых продуктов, получение максимальной добавочной стоимости, а также дисбаланс между быстро меняющимися требованиями рынка и возможностью модернизации чипов толкают их в сторону специализированных решений, то необходимость быстрой разработки новых изделий, поддержания высокой стоимостной и операционной эффективности производства склоняет их в сторону стандартизации.

Сложившийся дисбаланс называют "полупроводниковым маятником", который иллюстрирует основную идею доктора Тсугио Макимото (Tsugio Makimoto) из корпорации Sony: масштабы использования технологии репрограммируемых микросхем нарастают и спадают волнами (рис. 2). Вначале были стандартные "дискретные" элементы, т. е. транзисторы и лампы "как они есть". Согласно Макимото, этот период начался в 1957 г. и пошел на спад в 67-м.

Спустя 10 лет пришло время интегральных схем (ИС), которые и стали первыми специализированными (можно сказать, однократно программируемыми) элементами. Началась "война калькуляторов", и в 1977 г. полупроводниковая промышленность, более не будучи в состоянии постоянно обновлять модельный ряд, "была вынуждена" изобрести микропроцессор. Теперь основная функциональность представлена программой, которая располагается в оперативной памяти и, следовательно, может быть динамически модернизирована. Так эффективность была принесена в жертву удобству.

Но прошло еще десятилетие, и в 1987 г. началась "эра ASIC". Специализированные чипы в полной мере "отомстили" за безвинно загубленных "первобытных" собратьев (в лице ИС) — производство их расцветает столь бурно, что некоторые аналитики предсказывают увеличение оборотов индустрии заказных микросхем до 8 млрд. долл. к 2005 г.

И наконец, ко всеобщему удовлетворению в 1997 г., согласно данным Макимото, начала подниматься "волна" FPGA, и если его теория верна, царствование динамически репрограммируемых чипов будет продолжаться вплоть до 2007 г. Так что прогнозам аналитиков просто не суждено сбыться.

Возникает закономерный вопрос: а зачем нам, собственно, необходимы специализированные решения, когда старый добрый микропроцессор, следуя эмпирическому закону Мура, удваивает свою производительность каждые 18 месяцев? И Фокс находит контраргумент — закон Шеннона (Shennon’s law). Данный закон определяет необходимую производительность для реализации функций систем мобильной связи (рис. 3). Как видно из графика, Мур явно не успевает за "шустрым" Шенноном. И с каждым поколением систем связи разрыв увеличивается. Более того, количество официально признанных коммуникационных стандартов достигло уже 10 штук, двух- и трехдиапазонные телефоны становятся нормой жизни. Можно предсказать, что завтра, с развитием служб доставки цифровых данных и мобильного доступа к Internet, их появится еще больше.

И здесь мы обратимся к аргументам Ника Треденника — он анализирует тенденции. На рис. 4, взятом из его статьи, показано распределение рынка между различными классами устройств. Класс определяется набором качеств, присущих устройствам, входящим в него. Например, в класс "Нулевой стоимости" попадает основная масса потребительской электроники. Все эти бытовые приборы — стиральные машины, утюги, холодильники, наладонные компьютеры и приставки Audrey — являются потребителями различных классов процессоров и обладают общей особенностью: объем продаж напрямую зависит от абсолютной стоимости продукта.

Сегмент "Нулевой энергии" включает в себя весь спектр мобильной техники: ноутбуки, КПК, электробритвы и телефоны. Они, в свою очередь, требуют не только минимизации стоимости, но и максимального снижения электропотребления.

За термином "Нулевая задержка" скрывается вся потребительская электроника плюс высокоуровневые офисные устройства (сетевые принтеры, телефонные и сетевые коммутаторы и т. д.). В этом классе в почете высокая степень готовности устройства и обработка задач в масштабе реального времени.

И наконец, в сегмент "Нулевой объем" попадают малотиражные специализированные продукты, предназначенные в основном для маркетинговых целей. Затраты на разработку и производство, а также цена не играют здесь никакой роли. Ник Треденник приводит остроумный пример с процессором 80960MX, созданным корпорацией Intel для прототипа истребителя нового поколения YF-22. Конечно, несколько тысяч истребителей вряд ли окупили бы затраты на проектирование сложного чипа, однако все обернулось еще курьезнее. На первых же испытаниях прототип разбился и 960MX угодил точнехонько в сегмент "Нулевой объем".

Другой хорошо известной областью использования малотиражных продуктов, являются, например, гонки класса "Формула-1", где недавно в правилах появилось очередное существенное послабление в пользу вспомогательной электроники. Так вот сегмент применения специализированных микросхем описывается пересечением сегментов "Нулевой стоимости", "Нулевой энергии" и "Нулевой задержки". Пока рыночная доля таких устройств (КПК, мобильные телефоны нового поколения, цифровые камеры) невелика, однако именно здесь в последние годы происходит наиболее существенный прирост производства и потребления.

Осталось только выяснить: чем же так приглянулись специализированные чипы специалистам и почему им патологически не нравятся ни DSP, ни mP? Прежде всего, уровнем потребления энергии — где традиционному ЦП необходимо выполнить тысячи операций, там DSP обходится сотней, а надлежащим образом спроектированное аппаратное решение — десятком. Отсюда простое правило: чем меньше операций, тем меньше мегагерцев тактовой частоты и скромнее энергопотребление. К тому же универсальные процессоры зачастую содержат избыточное число блоков, которые не всегда необходимы для решения конкретной задачи, однако все они потребляют энергию. Такой подход получил название "Методика загадочного дома винчестеров" (Winchester Mystery House technique). Винчестер беспрестанно добавлял к своему дому новые комнаты, полагая, что в итоге количество перейдет в качество.

Другая болезнь процессоров лежит в принципиальной невозможности запрограммировать их соответствующим образом. Не каждая задача поддается оптимальному решению даже на уровне ассемблера ввиду конкретных физических ограничений чипа. Однако сегодня большинство программистов пользуются компиляторами с языков высокого уровня, которые вносят свою лепту в снижение эффективности алгоритма. В случае с реконфигурируемым процессором цепочка подготовки программы сводится к минимальному количеству шагов: алгоритм — компилятор — процессор. Вы скажете: "ASIC, ведь они уже широко используются!". К сожалению, по словам специалистов, не понаслышке знакомых с индустрией заказных микросхем, они сталкиваются с двумя основными проблемами: нехватка времени и грамотных специалистов. Кроме того, с точки зрения телекоммуникационных технологий, динамическое репрограммирование — это "манна небесная". Например, отпадает необходимость в телефонах, содержащих всю электронику для поддержки различных стандартов связи, или в использовании малоэффективного процессора общего назначения. Достаточно снабдить устройство FPGA чипом, и кодеки будут загружаться прямо из сотовой сети, к которой производится подключение.

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

"Чип по требованию"

Одна из компаний, которая, по словам наблюдателей, находится ближе всех к осуществлению чаяний индустрии на практике, носит соответствующее название — Chameleon Systems. Первые образцы процессоров CS2112 уже готовы, а промышленное производство запланировано на вторую половину этого года. Логическая модель внутреннего устройства чипа представлена на рис. 5. В качестве главного контроллера используется 32-битовый 125 MHz RISC-процессор ARC Cores. Его "напарником" выступает так называемая "fabric" — блок репрограммируемой логики, состоящей из 108 Data Path Units (DPU), разделенных на четыре части, или "ломтика" (slices). Каждая часть делится, в свою очередь, на три элемента (tiles) по девять DPU. Элементарный кирпичик DPU включает в себя семь 32-битовых ALU и два 16-битовых умножителя. Все элементы микросхемы связаны между собой высокопроизводительной 128-битовой шиной RoadRunner. Инструкции (в количестве 8 штук) хранятся в блоках CTL (control unit), приписанных к каждому DPU. Реконфигурация производится путем загрузки битового потока из основной памяти прямо во время работы устройства. Помимо внешней памяти, каждая часть содержит 8-килобайтовый блок локальной памяти (LM). Чтобы ускорить процесс реконфигурации, элементы, содержащиеся в slice, разделены на активный и запасной планы. Переключение между ними происходит в рамках одного цикла, поэтому конфигурация нового процесса сначала проводится для DPU запасного плана.

Программа для такого "двухголового чуда" тоже разделяется на две части: предназначенную для выполнения на RISC-процессоре и пригодную для реализации в виде аппаратной конфигурации. Это делается автоматически, специально написанным для CS2112 "параллелизирующим компилятором". Часть программы, которая будет выполняться на RISC-процессоре, является управляющей, она генерирует вызовы аппаратных функций репрограммируемого модуля и проходит специальную оптимизацию. Взаимодействие с модулем происходит через eBIOS — системную библиотеку. Другой участок кода направляется в подсистему "синтеза оборудования" (HW Synthesis), и на выходе образуется битовый конфигурационный поток. Затем обе части программы компилируются в единый исполняемый модуль компилятором GNU C. Как вы можете видеть, разработчики из Chameleon Systems в достаточной мере позаботились об инструментальных средствах для "безболезненного" программирования чипа. Во всяком случае, в теории все выглядит гладко.

Теперь несколько слов о "скромной" компании BOPS (изначально название звучало как "Billions of Operations, Inc."). Первым плодом деятельности BOPS является архитектура Embedded ManArray Processor Architecture — жуткая смесь различных методологий. Две основные ее составляющие вполне традиционны: это управляющий процессор (Sequence Processor — SP) и массив вычислительных элементов (Processing Elements — PE). Все команды разделяются на две группы: исполняемые на процессоре и предназначенные для параллельной обработки на массиве PE. Есть и более детализированное классификационное распределение на арифметические и управляющие инструкции и операции пересылки данных. Управляющие инструкции исполняются только SP. Члены групп арифметических команд и команд пересылки данных комбинируются в так называемые indirect VLIW-инструкции, которые хранятся в распределенных блоках памяти, — VIM или iVLIW Instruction Memory.

Одна 32-битовая iVLIW может содержать следующий набор: команду для арифметико-логического устройства (ALU), команду для аккумулирующего умножителя (MAU), по одной команде для устройств выборки (DSU), загрузки (load unit), сохранения (store unit) данных. Существует и механизм обработки SIMD-операций — в этом случае одна команда сопровождается несколькими элементами данных или операндами.

Каждый вычислительный элемент (SP или PE) архитектуры имеет свой блок — VIM. Все они связаны между собой центральной шиной ManArray Interconnection Network. Поскольку команды пересылки данных тоже можно комбинировать во VLIW-манере, то коммуникационные процедуры выполняются параллельно вычислительным. Архитектура шины является особой гордостью компании, поскольку им удалось построить эффективную модель, в которой для любой операции пересылки в системе, состоящей из четырех кластеров, требуется не более двух шагов. Кластер представляет собой массив PE и SP, связанных с помощью коммутатора по схеме "каждый-с-каждым". Элементы кластера могут также напрямую взаимодействовать с элементами двух других кластеров. Возможны самые разнообразные конфигурации системы: 1 SP x 1 PE, 1 SP x 2 PE, 4 SP x 4 PE и т. д.

Как вы уже, наверное, поняли, BOPS отказалась от традиционного для реконфигурируемых микросхем принципа: рассредоточенное по кристаллу множество элементарных логических блоков. Вместо этого она создала некое подобие гибкой многопроцессорной системы. Конфигурация определяется набором iVLIW-команд, хранящихся для каждого PE и SP. Например, в VIM опытного образца чипа предусмотрено пять слотов для команд, соответственно это является кэшем на пять конфигураций. Микросхема, произведенная с детализацией 0,25 мкм, работает на частоте 100 MHz, обладает потенциальной производительностью 10 BOPS и при этом довольно компактна. Матрица 2 x 2, включающая в себя 1 Mb SRAM, интерфейсы подключения внешнего управляющего процессора (host processor), SDRAM и PCI 2.0, занимает площадь всего 90 кв. мм. При обработке изображений по алгоритмам JPEG и MPEG чип справлялся с потоком 128 MBps, в то время как производительность аналогичного специализированного процессора производства Altera — лишь 17,5 MBps.

Помимо двух вышеназванных компаний, в погоню за "Большим призом" "эры Реконфигурируемых Процессоров" (выражение Чака Фокса) бросились и другие фирмы: morphICs, QuickSilver и Silicon Spice. Первая из них ориентируется на коммуникационный сегмент рынка, хотя и не исключает более широкого применения своих разработок. К сожалению, на сайте morphICs отсутствуют какие-либо технические детали. Найти описание продукта, который, по утверждениям корпоративных пресс-релизов, уже находится в состоянии "прототип на уровне платы" (board-level prototype), не удалось. Говорится лишь о предполагаемых сроках первых массовых поставок чипов, которые намечены на конец текущего года. Сейчас проходит этап оценки созданной архитектуры (гетерогенная многопроцессорная архитектура, ориентированная на цифровую обработку сигналов) многочисленными и влиятельными партнерами компании. Среди них — Broadcom Corporation, Cisco Systems, Dell Ventures, France Telecom/Innovacom, Siemens Mustang Ventures и Mitsui Comtek.

Официальная информация от QuickSilver столь же туманна, как и творения маркетингового отдела morphICs. В документе "Technology Backgrounder" рассказывается об архитектуре ACM — Adaptive Computing Machine. Ориентированная на удовлетворение потребностей индустрии беспроводных коммуникаций ACM обеспечивает гибкие возможности реконфигурации "на лету" (от сотен до тысяч раз в секунду) и обещает по меньшей мере десятикратное (или даже стократное) увеличение производительности по сравнению с mP. Чтобы показать преимущество своей разработки над традиционными DSP и даже более оптимизированным тандемом DSP + ASIC, специалисты компании представили результаты сравнения энергетической эффективности при выполнении аудиокодека стандарта CDMA — QCELP. Во время работы DSP потреблял мощность 84 мВт (площадь кристалла — 4 кв. мм). Комбинация DSP + ASIC рассеивала 18,45 мВт при общей площади 27,2 кв. мм. А проворный ACM вместе с тем же DSP (одинаковый чип во всех трех случаях) потреблял всего 18,35 мВт, общая площадь кристалла не превысила 9,15 кв. мм. Низкий уровень энергопотребления неудивителен: микросхема ACM функционировала на частоте всего 4 MHz! При этом для последовательного выполнения восьми основных алгоритмов конфигурация чипа сменялась 400 раз в секунду.

Последний участник "забега" — Silicon Spice — 6 октября прошлого года был успешно поглощен корпорацией Broadcom, что заставляет задуматься. Теперь упомянутая компания, помимо "спонсорской поддержки" morphICs, сама приступила к разработке конкурирующих продуктов. Или нет? Возможно, планируется слияние двух "подшефных"?

На рынке реконфигурируемых микросхем началось оживление. Этот факт не может быть проигнорирован даже закоренелым скептиком. Однако выйдет ли толк из этих "тощих" (ACM, BOPS) и "толстых" (XPP) претендентов, пока не известно. Очевидно, что энергопотребление процессоров все в меньшей степени влияет на работу мобильных компьютеров. Возможно, для Palm снижение частоты и уменьшение размеров кристалла играет определенную роль, но для КПК с цветным экраном высокого разрешения, проигрывателем MP3-файлов, сотовым интерфейсом и высокоемкой подсистемой памяти игра вряд ли будет стоить изведенных на нее свеч. И этот постулат уже с успехом доказан компанией Transmeta, за одиссеей которой вы могли следить весь прошлый год на страницах нашего издания. Остается дождаться осени, когда появятся первые промышленные образцы, и за новыми изделиями должна выстроиться очередь производителей. Приготовимся измерять ее длину…