Основные конструкции RISC-V с открытым исходным кодом, почему Google заботится и почему они важны

RISC-V — это бесплатный стандарт архитектуры набора команд (ISA) с открытым исходным кодом для систем на кристалле (SoC).

Процессор — один из наиболее важных компонентов наших компьютеров, отвечающий за выполнение базовых вычислений, логических сравнений и перемещения данных. Эти простые задачи являются строительными блоками любой более сложной операции и делают возможным запуск наших систем и программ.

То, как выполняются эти операции, не является случайным: архитектура набора инструкций (ISA) определяет, что они собой представляют и что должны делать компьютерные процессоры.

ISA определяет поддерживаемые инструкции и функции, но не то, как конкретно выполняются эти инструкции. Думайте об этом как о кулинарном рецепте — скажем, это рогалики: хотя рецепт один и тот же, каждый повар будет выполнять его по-разному, например, по-разному располагая семена кунжута. Шеф-повар, готовящий по рецепту, в нашем примере — это компьютерный процессор, выполняющий инструкции в соответствии с определенным ISA. Однако теоретически результат всегда будет один и тот же: вкусный бублик.

Логотип АРМДругой набор команд может не определять кипящую воду напрямую, но вместо этого позволяет выполнять определенные операции с объектами: нагревать, измерять и сравнивать. Теперь повару придется нагреть воду и сравнить ее измеренную температуру с известной температурой кипения. Существует два основных типа архитектуры процессоров: вычисления со сложным набором команд (CISC) и вычисления с сокращенным набором команд (RISC).

Проще говоря, цель CISC — облегчить работу программистов (предлагая одну инструкцию по кипячению воды, другую — по нагреву масла и т. д.) за счет большего процессоры, в то время как RISC пытается иметь более простой набор инструкций, что требует дополнительных усилий от программистов, но приводит к меньшим размерам процессоров и меньшему энергопотреблению. потребление. Поскольку две архитектуры имеют разные возможности, программу, работающую на одной из них, обычно приходится переписывать для работы на другой. Одна из самых популярных архитектур сегодня на смартфонах является частью семейства RISC: ARM, что означает Acorn RISC Machine.

Стоит отметить, что это в основном относится к компиляторам программирования/портирования. Для других целей, таких как создание пользовательской программы, вы обычно используете язык высокого уровня, который в некоторой степени сравним с CISC на уровне программного обеспечения. Еще одно важное замечание: цель этого сравнения – дать вам простое, но интуитивное понимание этих концепций. Точное и подробное объяснение было бы гораздо длиннее и более техническим.

Наконец, это подводит нас к RISC-V (произносится как «риск пять»), который представляет собой бесплатную ISA с открытым исходным кодом для SoC. (Системы-на-чипе, которые в основном упаковывают ЦП и другие необходимые компоненты для запуска системы. вместе). Большинство других ISA, например, от Intel, IBM или ARM, являются проприетарными и не могут использоваться другими без лицензий (согласование которых может занять до пары лет). С другой стороны, RISC-V может использоваться, внедряться и производиться кем угодно бесплатно, единственным реальным условием является признание авторов RISC-V.

Это позволяет независимым исследователям и разработчикам внедрять свои собственные процессоры или модифицировать реализации RISC-V с открытым исходным кодом. то, что невозможно, например, с лицензией ARM (для этого требуется отдельная лицензия, которую около 15 крупных компаний иметь). В то же время компании могут расширять и модифицировать ISA без раскрытия исходного кода, аналогично Android. Отсутствие лицензионных сборов также означает более дешевые процессоры, хотя на практике это не сильно снизит цены на смартфоны, даже если RISC-V получит широкое распространение в долгосрочной перспективе: гонорар за SoC просто не будет составлять значительную часть стоимости смартфона (Qualcomm берет 2.5—5% от продажной цены в виде роялти, например).

RISC-V — не первая бесплатная ISA, существуют и другие. Наиболее популярным и наиболее активно разрабатываемым из остальных является OpenRISC, которая началась в 2000 году и выпускается под лицензией GNU GPL. Игнорирование другие различия, разрешительная лицензия RISC-V делает его более вероятным для принятия более крупными компаниями, и это имеет значение. Например, Google, Hewlett-Packard Enterprise (HPE) и Oracle — три крупные компании, которые недавно присоединился рабочая группа по стандарту RISC-V, эффективно демонстрирующая свой интерес к RISC-V как к открытому стандарту. Пока все реализации соответствуют спецификациям («соответствуют RISC-V»), клиенты по-прежнему смогут использовать одну экосистему или другой (например, GNU/Linux) теоретически, хотя у компаний будет стимул делать это, чтобы избежать необходимости писать или портировать свои системы с царапать. В то же время набирающая популярность RISC-V означает, что небольшие компании могут фактически поддерживать сообщество открытого исходного кода, сохраняя при этом гибкую систему (одна из таких компаний, интересующихся RISC-V, — низкийRISC).

Еще неизвестно, сможет ли RISC-V принести реальные улучшения или нет для клиентов, которые могут быть заинтересованы в наличии открытых систем или запуске любой поддерживаемой операционной системы на компьютере. совместимые SoC. В то же время существуют и другие потенциальные проблемы, помимо популярности RISC-V: хотя разрешительная лицензия дает определенные преимущества, она также может позволить гигантам использовать Стратегия «Принять, расширить и погасить» (который возможно, так и есть когда дело доходит до Android/AOSP и сервисов Google, или даже Android одежда) — хотя можно возразить, что это все равно лучше, чем нынешняя ситуация. Можно даже провести сравнение между этим и сегодняшней сценой Android, когда различные OEM-производители пытаются дифференцировать свои скины, чтобы привлечь больше пользователей, и сообщества пользовательских ПЗУ, борющиеся за власть пользователи.

Посетить Веб-страница RISC-V если вы хотите узнать больше об истории и целях проекта или даже попробуйте реализацию RISC-V самостоятельно.