«Конвергенция полупроводников» и будущее системного проектирования


PDF версия

В статье рассмотрены преимущества и недостатки трех различных способов создания системы: программно-ориентированного, аппаратно-ориентированного и ПЛИС-ориентированного метода.

Показано, что реализация приложения на базе ПЛИС позволяет системным разработчикам принимать оптимальные решения с точки зрения быстродействия и энергопотребления и, в то же время, сохранять достаточную гибкость и возможность модификации системы. Статья представляет собой перевод [1].

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

Категории приложений

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

Программно-ориентированное решение

Разработчики используют три разных способа реализации рассматриваемых систем. Первый заключается в разработке программного обеспечения и запуска его на микропроцессоре, специализированной микросхеме (ASSP) или мощном 32-разрядном микроконтроллере (МК). Разработчики выполняют отладку программного обеспечения, уточняя алгоритм, а затем начинают проверку функционирования системы. Если задача выполняется слишком медленно, скорость повышается путем переноса задачи на отдельный процессор или на ускоритель, если в интегральной схеме предусмотрена подходящая высокопроизводительная подсистема (DSP-ядро либо векторный процессор). Когда все задания начинают соответствовать всем требованиям к временным параметрам, система считается готовой для окончательной проверки функционала, синхронизации и энергопотребления.
В нашем примере с системой видеонаблюдения управляющее программное обеспечение следовало бы запускать на центральном процессоре. Стандартные алгоритмы обработки изображений могли бы работать на базе стандартных библиотечных программ на DSP-ядре, в то время как более сложные специализированные алгоритмы необходимо было бы разрабатывать вручную, чтобы обеспечить их параллельное исполнение на всех доступных ядрах процессора.
Такой способ проектирования имеет важные преимущества. Он ориентирован на программное обеспечение и, следовательно, на функциональные возможности системы. И поскольку большая часть функций системы реализована программно, систему сравнительно легко модернизировать в случае возникновения ошибок или изменения системных требований. Но, как правило, программное обеспечение, запущенное на процессоре или DSP-ядре, является наиболее медленным и энергозатратным способом реализации алгоритма. Поэтому программно-ориентированный подход — не самый лучший для системы путь, т.к. он имеет ограничения по производительности и эффективности. Поскольку различные функции системы являются программно реализуемыми, они легко копируются любым конкурентом или обходятся каким-либо обманным путем теми злоумышленниками, кто имеет доступ к системе.

Аппаратно-ориентированный подход

Другой подход к проектированию системы состоит в разработке аппаратных средств непосредственно на базе системных требований и параллельном создании программного обеспечения для запуска на этом оборудовании. Именно таким способом разрабатываются специализированные интегральные схемы (ASIC). Вначале системный архитектор определяет необходимые процессоры, ускорители, память, контроллеры и передает эти требования группе разработчиков кристалла, которые приступают к проектированию ASIC.
В нашем примере системный архитектор мог бы выбрать пару ARM-ядер для запуска системного программного обеспечения, получить лицензию на процессор обработки изображений от стороннего производителя для решения задач предварительной обработки изображений и разработать специализированный микропрограммный DSP-конвейер для реализации сложных алгоритмов. В процессе проектирования интегральной схемы группа разработчиков программного обеспечения вынуждена иметь дело с тремя наборами программных инструментов проектирования и отладки для трех совершенно разных подсистем.
Аппаратно-ориентированный подход имеет серьезные преимущества. Он обеспечивает максимальное быстродействие системы и наибольшую энергоэффективность для любой технологии. Однако он требует опытной команды разработчиков интегральных схем и — при переходе на новый технологический процесс — значительных инвестиций. Кроме того, после завершения разработки ASIC внесение изменений в аппаратные средства, коррекция ошибок и модернизация при изменении требований к системе затрудняются, связаны с большими затратами и требуют много времени. Решение проблемы программным способом может сэкономить день, но только лишь в ущерб скорости и потребляемой мощности, что делает подход на основе ASIC достаточно привлекательным.
Таким образом, аппаратно-ориентированный подход, по идее, является наилучшим выбором для проектов, требующих максимальной производительности и минимального энергопотребления. Однако на практике разработчики создают ASIC только в том случае, если речь идет о крупносерийном производстве, оправдывающем затраты и риск, или если известно, что требования к аппаратным средствам, вероятнее всего, не претерпят изменений в процессе эксплуатации изделия. В реальных условиях команды разработчиков, столкнувшиеся с критичными проблемами проекта, часто реализуют проект на основе ASIC или приобретают ASSP, которые они не в состоянии спроектировать самостоятельно.

Третий путь

ПЛИС предлагают системным разработчикам третий альтернативный путь. Во многих отношениях ПЛИС являются промежуточным вариантом реализации системы между программно-ориентированным подходом на базе процессора и аппаратно-ориентированной альтернативой на базе ASIC. Реализованный на ПЛИС алгоритм не так просто модифицировать, как в программе, но изменить конфигурацию ПЛИС намного проще, чем выпустить новую версию ASIC, даже если изменения касаются всего нескольких слоев металлизации. С другой стороны, задание на ПЛИС может выполняться намного быстрее и потреблять намного меньше мощности, чем то же самое задание, реализованное программным способом. Однако версия на ПЛИС, как правило, работает медленнее и потребляет больше мощности, чем эквивалентная ASIC.
По этим причинам системные разработчики обращаются к ПЛИС, если только программное решение не способно обеспечить требования по быстродействию и потребляемой мощности либо нет возможности найти ASSP с подходящими функциями, либо когда ограниченный бюджет, малый объем выпуска или вероятность внесения изменений исключают применение ASIC. По счастью для поставщиков ПЛИС, данная ситуация возникает достаточно часто, так что в последнее время их продажи растут быстрее, чем альтернативных изделий (см. рис. 1).

 

Рис. 1. Развитие архитектуры ПЛИС и объемы продаж программируемых логических устройств

В примере с системой видеонаблюдения разработчики могли бы найти оптимальную комбинацию, состоящую из стандартного микропроцессора с запущенным системным программным обеспечением, ПЛИС с реализованным стандартным IP-блоком обработки изображений и специализированного DSP-конвейера для сложных вычислений. Таким образом, проект на ПЛИС напоминал бы решение на ASIC на уровне функциональных блоков, хотя реализация может быть совершенно другой на вентильном уровне.

Поиск оптимального решения

В идеальном случае системный разработчик выбирает наилучший способ реализации для каждой конкретной задачи. При этом некритичные задания решаются программным способом на центральном процессоре. Критичные, с точки зрения производительности или потребляемой мощности, задания определяются стандартами и потому имеют привязку к аппаратуре. Задачи, требующие аппаратной поддержки, но допускающие модификацию, реализуются с помощью программируемой логики на ПЛИС.
Еще совсем недавно такой подход к решению задач был общепринятой практикой. Степень интеграции была достаточно мала, так что микропроцессоры, ускорители, сложные контроллеры интерфейса и ПЛИС были отдельными кристаллами. Но когда технология кристаллов подошла к 90-нм рубежу, системы-на-кристалле (СнК) объединили в себе все эти функции, кроме программируемой матрицы ПЛИС. И бóльшая часть решений по реализации приложений стала приниматься разработчиками СнК, а не системными разработчиками. Разработчики системы могли обеспечить дифференциацию устройства только путем выбора оптимальной СнК, создавая уникальное программное обеспечение и, по возможности, продуманный интерфейс сопряжения ПЛИС с СнК.
В настоящее время ситуация снова меняется. Огромное число транзисторов на одном кристалле позволяет реализовать на нем множество разных функций и возможностей. В компании Altera это явление получило название silicon convergence (дословно: «конвергенция полупроводников», или объединение в одном кристалле функций разных полупроводниковых устройств). В мощные микроконтроллеры были добавлены специализированные аппаратные средства, поэтому они стали напоминать ASIC. ASIC и ASSP могут включать в себя мощные 32-разрядные процессоры, и потому они стали походить на микроконтроллеры высоко класса. Такие ПЛИС как, например, семейство компании Altera, стали включать в себя как многоядерные процессоры, так и специализированные аппаратные блоки, обеспечивая возможность для системного разработчика выбирать программное обеспечение, специализированные аппаратные средства или программируемую логику в зависимости от характера реализуемой задачи (см. рис. 2).

 

Рис. 2. Применение ПЛИС для реализации энергоэффективных электроприводов

В нашем примере такой кристалл с объединенными функциональными возможностями позволил бы организовать запуск системного программного обеспечения и многопотоковой части алгоритма по обработке изображений на двух мощных процессорных ядрах. Разработчики могли бы реализовать оставшуюся часть алгоритма на комбинации аппаратных DSP-ядер и программируемой матрицы, которые также входят в состав кристалла.
Поскольку растущая стоимость разработки ограничивает применение ASIC все меньшим числом приложений, комбинация в одном кристалле многих функций позволяет объединить три оставшихся системных решения в одно. Микроконтроллеры, ASSP и ПЛИС становятся все более похожими друг на друга, однако с одним важным исключением. В силу технологических особенностей и закона об интеллектуальной собственности лишь ПЛИС обеспечивают самую современную технологию программируемой логики. Только эти устройства могут всецело поддержать стратегию системного разработчика, направленную в сторону дифференциации устройств вплоть до аппаратного уровня.

Будущее дифференциации конечных продуктов

Тенденция объединения многих функций в одном кристалле определит направление развития системной разработки на следующие несколько лет. С одной стороны, мы увидим, что микроконтроллеры высшего класса и ASSP образуют основу систем, чья аппаратная часть практически стала стандартным продуктом, а дифференциация между системами на рынке переместилась в сферу программного обеспечения. С другой стороны, мы увидим аппаратно-дифференцированные системы на базе ПЛИС, которые будут отличаться от всех остальных изделий.
Такое расхождение будет ускоряться благодаря развитию двух перспективных технологий: интегральных 3D-схем и гетерогенных систем программирования. 3D-схемы позволят интегрировать совершенно разные технологии — например, ПЛИС, микропроцессоры, DRAM и радиочастотные схемы в виде слоев кристаллов, что радикально улучшит временные параметры и энергопотребление по сравнению с отдельными кристаллами. Одним из первых примеров развития такой технологии стал процессор Intel Atom серии E6x5C, в который интегрированы центральный процессор Atom и ПЛИС компании Altera. Процессор Atom обеспечивает стандартную в отрасли архитектуру для запуска программного обеспечения, а ПЛИС — возможность создания специализированных ускорителей и контроллеров интерфейса.
Серия процессоров E6x5C также наглядно демонстрирует потребность в развитии второго перспективного направления — гетерогенной программной среды. В идеальном случае системные разработчики начинают с создания и отладки программного обеспечения для одного центрального процессора. Затем платформа проектирования позволяет определить критичные участки кода, распределяя задачи по нескольким ядрам процессора с совместным использованием кэш-памяти и создавая аппаратные ускорители для критичных программных ядер. Команда разработчиков могла бы таким образом оптимизировать проект, чтобы обеспечить требуемые показатели по временным параметрам и энергопотреблению.
Примером такой среды разработки является проект OpenCL-FPGA, который в настоящее время находится в процессе разработки в компании Altera (см. рис. 3). Цель этой работы заключается в формировании единой среды, в которой системные разработчики могли бы создавать программы на диалекте языка C, отделять программные ядра, требующие большого объема вычислений, генерировать параллельные аппаратные подсистемы для ускорения программных ядер и интегрировать полученную аппаратно-программную систему.

 

Рис. 3. Единая среда разработки на базе OpenCL-FPGA компании Altera

 

Заключение

Увеличение степени интеграции кристаллов позволило собрать все основные электронные блоки под одним корпусом, что лишило системных разработчиков возможности в полной мере дифференцировать конечные изделия. Однако ПЛИС не только все больше становятся похожими на ASSP и микроконтроллеры, но и, действительно, увеличивают потенциал системных разработчиков по дифференциации аппаратных средств. Развитие перспективных технологий — 3D-схем и гетерогенных программных сред разработки — позволит увеличить отрыв интегральных схем системного уровня на базе ПЛИС от традиционных микроэлектронных устройств.

Литература
1. Danny Biran. Silicon Convergence and the Future of System Design//www.altera.com.

 

Выборг +7 81378  54653,
Москва  +7 495 7881292
Санкт-Петербург  +7 812 3216160,
Ульяновск  +7 8422 256939
info@icgamma.ru, www.icgamma.ru

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *