x86-процессор + FPGA: перспективы нового подхода


PDF версия

В статье обсуждается новый подход к проектированию встраиваемых компьютеров на базе x86-совместимого процессора и FPGA, который позволяет увеличить гибкость и универсальность системы, сократить затраты на проектирование и модернизацию, а также уменьшить ее общую стоимость. Статья представляет собой перевод [1].

Технология программируемых пользователем вентильных матриц (Field Programmable Gate Array — FPGA) остается важным методом проектирования систем, поскольку предоставляет разработчикам многие из тех преимуществ, которыми  характеризуется архитектура x86-совместимых процессоров. К широко распространенным положительным качествам FPGA относятся многофункциональность, жизнеспособная и универсальная экосистема, а также опробованная база установленных и поддерживаемых приложений. Объединение x86-совместимых процессорных плат с портами ввода/вывода, управляемыми с помощью FPGA, еще больше расширяет список этих преимуществ, т.к. в этом случае специализированные порты ввода/вывода способны поддерживать более широкий спектр приложений.
Использование x86-процессоров последнего поколения вместе с FPGA на единой аппаратной платформе позволяет исключить применение чипсетов, так что приложения разного назначения могут быть построены на одной и той же платформе, требующей замены только IP-ядер.
Новые встраиваемые x86-совместимые компьютерные платформы в сочетании с FPGA позволяют создать новые типы приложений, обеспечивая высокую гибкость для систем, возможности которых были раньше ограничены из-за недостаточной поддержки интерфейсов или портов ввода/вывода. Используя преимущества такого подхода, разработчики могут добиться снижения стоимости комплектующих и обеспечить долговременную поддержку работы системы с интерфейсами более старых версий и специализированными портами ввода/вывода.
Кроме того, существующие системы можно модернизировать на основе новейших процессорных технологий, в том числе, ускорителей графики, а также на основе применения методов гиперпоточности и виртуализации, что позволяет обеспечить более жесткие системные требования. Это помогает ликвидировать разрыв между новейшими технологиями и более старыми системами, которые широко применяются в военной области, промышленной автоматике и на производстве.

Сочетание x86-процессора и FPGA: более гибкие возможности системы

В большинстве систем, построенных на базе x86-архитектуры, обычно используется набор из двух микросхем, предназначенный для выполнения специальных функций. Обычно в чипсеты интегрированы контроллер Ethernet, контроллер памяти, аудиоподсистема, а также определенный набор интерфейсов ввода/вывода, таких как PCI, PCI Express, SATA и LPC.
Однако в настоящее время стал тенденцией отказ от применения в чипсетах устаревших типов интерфейсов (например, IDE и PCI), которые широко распространены в  системах военного назначения, промышленной автоматике, а также в системах  безопасности и обеспечения производственных процессов. В результате в этих отраслях  из-за недостаточного внедрения передовых процессорных технологий не происходит улучшения таких показателей как энергопотребление и производительность систем.
Применение x86-процессоров последнего поколения в сочетании с FPGA представляет собой совершенно новый подход в проектировании, который, по сути, позволяет устранить ограничения заданного набора функций встраиваемых систем. Широкие функциональные возможности отличают процессоры семейства Intel Atom E6x5C, которые открыли важную веху в развитии технологии x86-процессоров и позволили отойти от использования чипсета с фиксированным набором функций.
В качестве альтернативного подхода предлагается объединение процессора Intel Atom E6x5 с FPGA компании Altera в отдельном компактном многочиповом модуле. Благодаря использованию шины PCI Express вместо внешней шины компании Intel (Front Side Bus), появляется возможность соединения FPGA непосредственно с процессором, а не со специальным чипсетом, в результате чего обеспечивается максимальная гибкость и долговременная защита системной конфигурации.
Кроме того, разработчики получают доступ к более высокой производительности в компактном форм-факторе, который обеспечивает весьма низкое значение максимальной тепловой мощности (Thermal Design Power — TDP), т.е. величины, определяющей на отвод какой тепловой мощности должна быть рассчитана система охлаждения процессора. Поскольку FPGA можно запрограммировать для поддержки как современных, так и более старых интерфейсов, OEM-производители получают реальную возможность перехода на x86-архитектуру с других типов процессорных архитектур — открывая, тем самым, путь совершенствования процессорных технологий для существующих приложений. Такой подход к проектированию подкреплен выводами эксперта в области FPGA Лоринга Уирбела (Loring Wirbel) о том, что совокупные темпы годового роста продаж FPGA составили 8,6%, что к 2015 г. обеспечит объем мирового рынка FPGA на уровне 7,5 млрд. долл.

Требования рынка и проблемы проектирования встраиваемых систем

Исторически сложилось так, что развитие новой технологии на базе x86-архитектуры было обусловлено ростом требований по производительности системы. Однако в последнее время рост степени интеграции и увеличение энергоэффективности системы становятся все более заметными факторами, влияющими на рыночные позиции x86-архитектуры. Так, например, лучшее в отрасли соотношение производительности на 1 Вт мощности было достигнуто процессором Intel Atom, который производится по 45-нм технологии и имеет TDP менее 2 Вт при рабочей частоте 1,6 ГГц. Низкое энергопотребление позволило создать системы без использования охлаждающих вентиляторов в полностью герметичных корпусах, которые отвечают требованиям по ограничению занимаемого пространства и надежности функционирования.
Благодаря влиянию этих ключевых факторов конфигурируемая x86-совместимая технология стала все глубже проникать во встраиваемые приложения. В то же время все больше интерфейсов используют специализированные контроллеры, в то время как почти все современные интерфейсы интегрированы в чипсеты.
Этот механизм в некоторой степени противоречит требованиям встраиваемого приложения, т.к. чем глубже должен быть встроен встраиваемый PC, тем более нестандартными становятся необходимые интерфейсы. Поскольку многие из стандартных PC-интерфейсов становятся не нужными для встраиваемых приложений, это приводит к росту стоимости систем и другим дополнительным затратам.
Кроме того, многие промышленные приложения основаны на устаревшей, но проверенной шине ISA, хотя новые процессоры больше не поддерживают этот интерфейс. Требуется внедрение таких решений, которые позволили бы улучшить работу с ISA-интерфейсами, но сделали бы это более эффективно, чем портирование ISA-карт ввода/вывода на PCI или PCI Express. Последнее решение является слишком дорогим и громоздким, требующим дополнительного пространства для размещения плат расширения. К тому же, этот подход рассчитан на краткосрочную перспективу, т.к. в дальнейшем в чипсетах не планируется обеспечивать поддержку PCI.
При использовании FPGA программные и IP-ядра играют доминирующую роль во встраиваемых системах на уровне аппаратных средств. Поэтому вместо использования чипсета с предварительно заданной конфигурацией портов ввода/вывода разработчики могут использовать IP-блоки для программирования интерфейсов ввода/вывода на базе одноплатного решения.
Рассмотрим пример глобального приложения, в котором предполагается использование промышленного панельного PC со специализированными полевыми шинами, имеющего в высшей степени конкурентоспособную спецификацию. Разнообразие такого рода устройств обычно требует использования различных внешних компонентов, а также серьезных временных и других затрат на проектирование системы.
Конфигурируемый интерфейс был бы идеальным альтернативным решением, который позволил бы реализовать конфигурации всех требуемых полевых шин и предоставил бы OEM-производителям конкурентные преимущества за счет использования единой универсальной аппаратной платформы с минимумом компонентов. Периодические изменения спецификаций интерфейсов, новые стандарты и модификация протоколов также вызывают проблемы при проектировании встраиваемых систем.
Создание системы с помощью стандартных компонентов может потребовать внесения изменений в аппаратную часть проекта, что в свою очередь может значительно повысить его стоимость из-за необходимости проведения испытаний и сертификации.

Эволюция x86-совместимых процессоров

Объединяя x86-совместимый центральный процессор с FPGA, разработчики получают возможность использовать IP-блоки, что увеличивает универсальность конфигурации системы и оптимизирует создаваемые приложения. В этом случае разработчику необходимо поддерживать только IP-ядра, в отличие от гораздо более сложного процесса организации совместной работы разного рода контроллеров.
Интеграция современных x86-процессоров с FPGA позволяет создать высокопроизводительную открытую платформу, в которой могут быть реализованы специализированные порты ввода/вывода для нестандартных интерфейсов и другие специфические функции. Полная функциональность чипсета может быть даже реализована непосредственно на FPGA. И, по-видимому, наиболее важным является то, что такой подход к проектированию обеспечивает длительный срок службы системы с долговременной поддержкой интерфейса.
Современные сложные встраиваемые системы зачастую имеют уникальные требования по портам ввода/вывода из-за наличия разнообразных устройств, входящих в их состав. Единая платформа на базе x86-процессора и FPGA хорошо подходит для таких приложений, обеспечивая высокую вычислительную мощность и возможность более простого управления, и в то же время реализуя полную системную функциональность на аппаратном уровне.

x86-процессор + FPGA

Гибкость и открытость характеризуют универсальную x86-совместимую технологию. Возможность создания гибкой конфигурации системы ввода/вывода позволяет OEM-производителям точно адаптировать параметры портов ввода/вывода к требованиям целевых приложений. С другой стороны, FPGA могут управлять заданиями, которые в противном случае обрабатывались бы специализированными контроллерами, например, теми, которые используются для обработки видеосигналов в режиме реального времени для обеспечения контроля качества на производственных линиях.
Конечные устройства, такие как фотоаппараты, датчики, актуаторы или сервоприводы, все в большей степени становятся цифровыми и могут теперь подключаться непосредственно к x86-совместимому оборудованию, исключая применение специализированных карт ввода/вывода.
Управление перемещением для сервоприводов, которое включает такие задачи как характеристическое отображение и индивидуальное определение параметров, также можно выполнять с помощью тандема x86 — FPGA. Используя такой подход, можно даже выполнять расчет пути или траектории не на серворегуляторе, а с помощью центрального блока управления и передавать данные через быструю полевую шину. Для этого необходим доступ к высокоскоростным полевым шинам с помощью различных видов интерфейсов промышленного Ethernet, что в свою очередь требует применения специальных механизмов обработки, которые могут меняться в зависимости от целевого приложения. Эти проблемы без труда можно решить с помощью реализации Ethernet-соединения на базе FPGA.
Один аппаратный блок способен обеспечить долгосрочную поддержку всех протоколов промышленного Ethernet: требуемая конфигурация FPGA может быть легко адаптирована под возможные изменения протоколов программным путем.

Ликвидировать разрыв между современными и устаревшими интерфейсами

Универсальность и гибкость — это ключевые факторы, связанные с проектированием на FPGA, поскольку характеристики системы можно адаптировать программным путем, а не с помощью модернизации аппаратных средств. Переопределение базовых функций программируемых устройств является главным преимуществом, которое обусловлено возможностью многократного использования логических блоков, называемых также IP-ядрами. Это обеспечивает индивидуальную функциональность системы и позволяет реализовывать на базе FPGA такие блоки как последовательные интерфейсы, контроллеры промышленного Ethernet, определяемые пользователем порты ввода/вывода, или даже позволяет создавать полную функциональность чипсета.
С помощью подбора нужной комбинации программных плат и плат периферии одна система может управлять множеством операций. Рассмотрим сложную производственную инфраструктуру, включающую Kontron PCIe/104 Microspace MSMST — первый встраиваемый одноплатный компьютер, который содержит конфигурируемый процессор серии Intel Atom E600C, предназначенный для работы в промышленном диапазоне температур.
В компьютере Kontron MSMST в одном корпусе объединены процессор серии Atom E600 с FPGA компании Altera, что существенно упрощает конструкцию приложения. Одна система может включать детектор металла и бесконтактный датчик приближения объекта (что гарантирует соблюдение требований безопасности для материалов, которые перемещаются по технологической линии), сканер для считывания штрих-кода и устройство считывания, а также дисплейное устройство для отображения данных, получаемых в режиме реального времени. Такую функционально насыщенную систему можно разместить в достаточно компактном объеме, что обеспечивается небольшими физическими размерами и низкой потребляемой мощностью процессора Atom.
На другом участке производственной линии та же самая плата может быть частью совершенно другой системы. В этом случае возможно, что эта плата не просто будет контролировать работу производственной линии, но и отвечать за детектирование объектов, которые неправильно на ней размещены. Система может детектировать и распознавать объект и отдавать команду автоматической остановки линии в целях безопасности. Подобная система, например, на автомобильном производстве могла бы детектировать сближение с объектом и вызывать отключение линии или отдавать другие корректирующие команды в целях защиты рабочего персонала и оборудования.
Подобные платформы могут быть быстро и легко сконфигурированы с помощью проверенных IP-ядер, доступных для шины CAN, последовательных интерфейсов (SPI Master/UART), интерфейсов PCI-Express, I2C, а также портов ввода/вывода общего назначения (GPIO). Интерфейсы могут быть реализованы путем выбора требуемого IP-ядра и соответствующих высокоскоростных мезонинных плат (High-Speed Mezzanine Cards — HSMC). Широкая доступность этих компонентов делает одноплатные компьютеры, такие как Kontron PCIe/104 Microspace MSMST, идеальным решением для специализированных RISC-платформ.
При эксплуатации существующих систем, которые поддерживаются устаревшими интерфейсами — ISA, RS232 или CAN, часто возникают проблемы, т.к. эти интерфейсы не поддерживаются последними поколениями чипсетов или специализированными платами расширения ввода/вывода, которые были спроектированы с помощью аппаратных средств.
Кроме того, предполагается вывести из употребления шину PCI, что представляет проблему уже для всей отрасли, т.к. в современных поколениях процессоров обеспечивается поддержка только PCI Express. Это заставляет разработчиков искать альтернативные решения, например, проектировать PCI-ключи, что отрицательно сказывается на производительности, т.к. ключи используют те ресурсы, которые могли бы понадобиться в приложении.
В то время как новые приложения получают преимущества от внедрения новых технологий, разработчикам нужно искать способы модернизации систем, установленных за последние 20 лет и построенных на базе шины PCI. Переход систем, в которых реализована производительность на уровне 32-бит/66-МГц, на интерфейсы следующего поколения — PCI Express или Gigabit Ethernet — представляется нереальным. В этом случае FPGA обеспечивает оптимальное решение, позволяя разработчикам реализовать нужный интерфейс для требуемой системы ввода/вывода.

Программирование FPGA и IP-ядер

IP-ядра или кодовый набор, который можно загрузить в плату для того, чтобы установить ее в соответствии с выбранным типом приложения, упрощают проектирование приложения, уменьшают затраты на разработку, а также сокращают время вывода продукта на рынок и общую стоимость. Эти преимущества могут быть еще больше выражены при использовании библиотеки платформы разработки компании Kontron, включающей набор конфигураций FPGA и поставляемой вместе с процессором серии Atom E6x5C от Intel, HSMC-платами и соответствующими IP-ядрами.
Библиотека IP-ядер компании Kontron доступна благодаря стратегическому партнерству с компаниями Intel и Altera, что позволяет OEM- и ODM-производителям сконцентрироваться на проектировании приложения и в то же время избежать выполнения лишней работы.
Конфигурации состоят из различных форм-факторов, а также проверенных и готовых к применению COTS-платформ с возможностью установки и поддержки различных ОС (таких как Windows, VxWorks, Linux). В состав платформ входят процессоры, FPGA, IP-ядра, дочерние HSMC-платы, драйверы и пакеты поддержки платформы, что позволяет существенно сэкономить время OEM-производителя на разработку конфигураций FPGA и их лицензирование.
Предлагаемые IP-ядра не ограничены доступными платформами библиотек, а предназначены для всех OEM-решений, для которых будет оптимальным использование тандема x86 — FPGA. Глобальный центр разработки программных средств компании Kontron предлагает программирование FPGA как возможный вид сервиса для того, чтобы сократить компаниям затраты на разработку и реализацию заказных IP-ядер.
В целом библиотеки IP-ядер и заказные опции для систем на базе FPGA помогают ускорить модернизацию, улучшить универсальность и обеспечить доступность IP-блоков в течение длительного срока службы специализированных компонентов. Разработчикам, впервые планирующим использовать FPGA, следует полагаться на поставщиков, предлагающих решения, готовые к использованию. В большинстве случаев базовой технологией для OEM-приложений все же является логика.
Ключевым в ODM-сервисе, пре­дос­тав­ляемом Kontron OEM-произ­во­ди­телям, является возможность выбора индивидуальной конфигурации платы, которая содержит высокоинтегрированный процессор Intel Atom. С помощью запрограммированных на месте FPGA специализированных ASIC (логика программируемого логического контроллера) или специализированных PCIe-устройств в системе кроме универсальных стандартных интерфейсов можно реализовать дополнительные коммуникационные порты, беспроводную связь, GPS-сервис, а также потоковое видео и аудио. Для таких устройств требуется только процессор и соответствующие компоненты. Это уменьшает как энергопотребление, так и использование материалов и компонентов. В качестве альтернативы платформенному хабу (Platform Controller Hub) EG20 компании Intel можно использовать хабы ввода/вывода сторонних производителей.

Новый подход имеет хорошие перспективы

Набор функций встраиваемого компьютера не является теперь жестко заданным, гибкие возможности для него обеспечивает сочетание x86-архитектуры с FPGA. При необходимости разработчики могут без помех программировать требуемые интерфейсы и функции. Комбинирование процессора Intel Atom E6x5C с FPGA Arria II от Altera в интегрированной встраиваемой платформе (см. рис. 1) представляет собой значительный шаг в продвижении x86-архитектуры к большей открытости и гибкости.

 

Рис. 1. Одноплатный компьютер PCIe/104 Microspace MSMST компании Kontron оборудован процессором семейства Intel Atom E600C с тактовой частотой до 1,3 МГц и встроенной системной памятью DRAM емкостью до 2 Гбайт, а также FPGA серии Cyclone IV GX от компании Altera. В процессор встроен оптимизированный по энергопотреблению ускоритель графики с памятью на 128 Мбайт и LVDS- (8/24-бит) и SDVO-интерфейсами

Устройства на платах, в которых реализован такой подход, изменяют весь процесс проектирования. Даже OEM-производители, которые нуждаются в специализированной промышленной технологии, охотно переходят на принцип «одного окна» и приобретают проверенные системы на базе тандема x86 — FPGA, включая все стандартные интерфейсы. Эта очевидная тенденция заставляет OEM-производителей более тесно, чем когда-либо, работать с поставщиками платформ, которые полностью готовы к использованию и содержат все требуемые и стандартные IP-ядра.
Единая аппаратная платформа сокращает набор комплектующих системы за счет исключения чипсетов. Кроме того уменьшаются текущие эксплуатационные издержки, т.к.  разработчики могут переконфигурировать FPGA на той же самой аппаратной платформе, меняя только IP-ядра в соответствии с требованиями различных протоколов, разрабатывая новые приложения и избегая полной переработки конфигурации платы.
Подобный аппаратно-оптими­зи­ро­ванный подход бесценен для всего спектра встраиваемых систем, т.к. он обеспечивает новые конкурентные преимущества за счет реализации заказной конфигурации на общей платформе, расширяя при этом возможности системы и сокращая время вывода продукта на рынок.

Литература
1. Christine Van De Graaf. Combining FPGAs & Atom x86 CPUs for SBC design flexibility//www.eetimes.com.

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

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