RISC-V обеспечивает инновационную архитектуру процессоров для SoC FPGA
Компания Microchip Technology Inc. (далее — Microchip) объявила о выпуске нового семейства PolarFire SoC, которое имеет потребление на 50% меньше, чем микросхемы конкурентов и, соответственно, упрощает решения по отводу тепла. PolarFire SoC — первая в мире система-на-кристалле с детерминированным когерентным кластером процессоров новой архитектуры RISC-V и детерминированной подсистемой памяти L2, позволяющими создавать приложения жесткого реального времени на основе ОС Linux.
Для компании Microchip всегда были важны не только структура системы команд (например, открытая и свободная система команд — Instruction Set Architecture, ISA) или тот или иной чип, а способность удовлетворять потребности в обработке данных для самой широкой клиентской базы, охватывающей большой спектр приложений и рынков. Сегодня команда Microchip выпускает не только микроконтроллеры PIC, AVR, ARM, MIPS, но и чипы архитектуры RISC-V, а также инструменты разработки, предлагая на выбор для клиентов самый широкий спектр вариантов. RISC-V — это открытая и свободная система команд и процессорная архитектура на основе концепции RISC для микропроцессоров и микроконтроллеров. Спецификация доступна для свободного и бесплатного использования, включая коммерческие реализации непосредственно в кремнии или конфигурировании вентильных матриц FPGA.
Для программируемых вентильных матриц (Field Programmable Gate Array, FPGA) следующего поколения, в котором процессорная подсистема интегрирована как блок специализированной интегральной схемы (Application Specific Integrated Circuit, ASIC), в отличие от других коммерчески доступных архитектур, была выбрана RISC-V ISA. Этот выбор в первую очередь сделан потому, что RISC-V ISA более эффективно отвечает требованиям конечных рынков и открывает новые возможности как для самой компании, так и для ее клиентов. Это прежде всего высоконадежные FPGA системы на кристалле с чипом (System-on-Chip, SoC), которые, кроме рынка мобильных устройств, весьма популярны и в других сегментах.
Однако к таким устройствам, как SoC FPGA, предъявляются различные требования, что связано с приложениями, которые обслуживают конечные рынки. Основываясь на этом, компания представила для недавно анонсированной SoC PolarFire в данной линейке SoC FPGA среднего диапазона с низким энергопотреблением, способной работать на полнофункциональной операционной системе (rich OS) Linux. Решив поддержать полнофункциональную ОС, потребитель фактически абстрагируется от роли разработчика прикладного программного обеспечения, лежащей в основе ISA и микроархитектуры. Однако стоит заметить, что ISA в сочетании с микроархитектурой будет предоставлять для данного приложения показатели между производительностью, энергопотреблением и занимаемой площадью (известные как PPA — Power, Performance, Area), но как разработчик прикладного программного обеспечения вы в значительной степени сможете уделить внимание вычислениям, вводу/выводу и памяти. Тем не менее может возникнуть вопрос: а что с экосистемой, ведь для некоторых ISA существует очень широкое поле возможностей?
Вопрос, конечно, интересный, но он касается уже устоявшейся системы команд ISA. Но здесь следует помнить, что на рынке нет двух SoC с одинаковой картой памяти, входами/выходами (I/O), коммутаторами шины, контроллером памяти, процессом загрузки и т. д. Каждый поставщик разрабатывает и производит продукты для удовлетворения потребностей своих клиентов, и это потребности разные.
Текущая ситуация такова, что экосистемы фрагментированы, и при переходе от продукта поставщика A к продукту от поставщика B приходится решать вопросы адаптации даже в рамках одной и той же ISA. И данная ситуация никогда не изменится, а значит, это и есть основной мотив для OEM-производителей, чтобы абстрагировать базовый кристалл от разработки программного обеспечения и перейти на полнофункциональную ОС. И все потому, что все SoC FPGA — разные. Когда число разработчиков программного обеспечения превысит число разработчиков конечного оборудования и составит соотношение 10:1, компании начнут максимально использовать возможности разработки готового полнофункционального программного обеспечения.
Принятие решения о поддержке полнофункциональной ОС позволило компании Microchip оценить, какой IP-процессор процессора в соответствии с требованиями клиентов доступен на рынке, зная, что в конце концов ОС абстрагирует все это за исключением PPA (поскольку в реальных приложениях при создании SoC, кроме производительности, должен быть найден практический компромисс между производительностью, энергопотреблением и занимаемой площадью), и выбрать микропроцессорную архитектуру RISC-V.
RISC-V позволяет вводить новшества на архитектурном уровне бесплатно. Соответственно, теперь клиенты компании могут разрабатывать специализированные проекты для таких приложений, как обработка изображений и машинное обучение, критические для безопасности системы, устройства индустриального «Интернета вещей» (Industrial Internet of Things, IIoT), безопасные коммуникации и системы вооружения. Например, в PolarFire SoC, работая с со своим IP-партнером SiFive, компания Microchip создала 5-ядерную подсистему процессора, которая может запускать приложения жесткого реального времени (hard real-time application — в таком приложении все времена обработки должны каждый раз гарантироваться и соблюдаться, иначе приложение не будет правильно и своевременно функционировать, что может привести к тяжким последствиям, включая гибель людей или разрушение объектов техники) и поддерживать многопроцессорность (SMP) в ОС Linux с последовательной схемой передачи сообщений в одной и той же процессорной подсистеме с использованием одного и того же ISA.
Все начинается с требований заказчиков для детерминированного управления машиной и использования экосистемы Linux во все более мелких машинах, которые имеют либо ограничения по тепловыделению, либо требования в части низкого энергопотребление. Сделать это специалистам компании Microchip позволили некоторые относительно простые изменения в существующей спецификации процессора:
- Предоставление пользователям возможности преобразовывать части подсистемы кэш-памяти первого уровня (L1) в тесно интегрированную память без промахов и прямого доступа.
- Предоставление пользователям возможности отключать предикторы ветвления в любом ядре.
- Предоставление пользователям возможности разбивать подсистему кэш-памяти второго уровня (L2) на Loosely Integrated Memory (LIM), которая может быть подключена к процессору для детерминированного доступа.
Конечным результатом является то, что PolarFire SoC предоставляет клиентам инновационную SoC FPGA на основе архитектуры RISC-V, которая позволяет им для реализации маломощных, безопасных и надежных конструкций объединять приложения жесткого реального времени и Linux непосредственно в одном чипе. Дополнительная информация доступна на сайте компании Microchip.