Десять распространенных заблуждений, связанных с RISC-V

Предлагаем вашему вниманию перевод официальной статьи с сайта международного Альянса riscv.org. Статья написана проф. Паттерсоном - заместителем председателя совета директоров RISC-V international, согласована Советом директоров международного Альянса и отражает официальную позицию Альянса по изложенным вопросам.

Дэвид Паттерсон (David Patterson), вице-председатель совета директоров Международного Альянса RISC-V, заслуженный профессор компьютерных наук, почетный профессор Калифорнийского университета в Беркли, Distinguished инженер Google

Оригинал

В данной статье приведены десять заблуждений о RISC-V, которые достаточно распространены на сегодняшний день. Статья продолжает и использует материалы разделов «Ошибки и подводные камни» из книги «Компьютерная архитектура: Количественный подход» (Computer Architecture: A Quantitative Approach). Далее мы поясняем, почему они ошибочны.

1. RISC-V — это процессор с открытым исходным кодом, как Linux — операционная система с открытым исходным кодом.

2. Все RISC-архитектуры (набора команд, далее также Instruction Set Architecture; ISA) похожи.

3. Выбор устоявшейся, закрытой ISA является более безопасным бизнес-решением, чем выбор новой открытой архитектуры RISC-V.

4. RISC-V ISA набирает популярность только потому, что она дешевле.

5. Экосистемы закрытых ISA не фрагментированы.

6. Модульность RISC-V приводит к более фрагментированной программной экосистеме, чем у закрытых ISA.

7. RISC-V подходит только для встраиваемых приложений.

8. RISC-V не так безопасна, как закрытые ISA.

9. Процессоры RISC-V всегда будут отставать от известных процессоров закрытых архитектур по производительности и надежности ПО.

10. Учитывая вышеизложенные доводы, RISC-V не может стать доминирующей ISA.

1. Заблуждение: RISC-V — это процессор с открытым исходным кодом, как Linux — операционная система с открытым исходным кодом.

В Linux есть единая база открытого исходного кода, код из которой вы можете загрузить, в то время как RISC-V — это в первую очередь открытый стандарт, спецификация аппаратно-программного интерфейса, для которой возможно (и существует) множество различных реализаций. Более подходящим аналогом, чем Linux, является Ethernet, поскольку и Ethernet, и RISC-V являются свободными и открытыми стандартами.

До появления стандарта Ethernet компании использовали свои собственные, проприетарные стандарты локальных вычислительных сетей (LAN): Apple AppleTalk (1985), Datapoint ARCNET (1977), Digital Equipment Corporation DECnet (1975), IBM Token Ring (1984), Xerox Ethernet (1974) и так далее. В 1980 году компании Digital Equipment Corporation, Intel и Xerox («DIX») объединили усилия для разработки единого стандарта локальной сети на основе Ethernet. Они также создали организацию под эгидой IEEE — рабочую группу 802.3, которая в течении последних сорока лет занимается развитием и усовершенствованием стандарта Ethernet.

Ethernet быстро развивался и давал преимущества в стоимости и производительности, поскольку многие компании смогли создавать сетевые продукты, которые работают на базе унифицированного программного стека поверх стандарта Ethernet. Хотя вы можете создавать свои собственные коммутаторы Ethernet и, возможно, где-то есть совместимые открытые аппаратные решения, многие просто покупают стандартные коммутаторы Ethernet. Спустя всего десть лет после появления первой версии стандарта DIX Ethernet стал доминирующей сетевой технологией. Сегодня проприетарные локальные сети практически исчезли. Кто-нибудь скучает по ним?

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

Так же как Ethernet и USB, RISC-V является открытым стандартом, который позволяет многим организациям разрабатывать совместимое аппаратное обеспечение, что стимулирует конкуренцию, рост экономической эффективности и развитие обширной общей программной экосистемы, позволяя предлагать продукты RISC-V на многих рынках. Так же как у Ethernet и USB, у RISC-V есть организация, которая развивает стандарт в соответствии с новыми требованиями. Так же как с Ethernet и USB, вы можете приобретать готовое оборудование на основе RISC-V, разрабатывать его самостоятельно, лицензировать готовые коммерческие разработки или использовать совместимые разработки с открытым исходным кодом.

2. Заблуждение: Все RISC-архитектуры похожи.

Хотя архитектуры процессоров с сокращённым набором команд (Reduced Instruction Set Computer; RISC) действительно имеют некоторые общие черты, RISC-V обладает рядом уникальными особенностей по сравнению с предыдущими ISA, отчасти потому, что она более новая, и отчасти из-за подхода ее архитекторов. Эти особенности, в том числе, побудили ЕС (Европейский Союз) выбрать RISC-V для своей инициативы по разработке процессоров, а NАСА (National Aeronautics and Space Administration; NASA) — выбрать RISC-V для своих будущих космических миссий.

Стандарт RISC-V содержит небольшой базовый набор команд, на который любое программное обеспечение всегда может расчитывать, а также дополнительные расширения, которые разработчики процессоров и компиляторы могут использовать по своему усмотрению. Таким образом, дизайны на основе RISC-V могут быть меньше и потреблять меньше энергии, так как из них можно исключить ненужные функции. Стандарт также предлагает Профили для описания стандартных целевых архитектур для различных сегментов применения (см. Заблуждение №7).

RISC-V также содержит ряд свойств, которых нет в другой популярной RISC ISA — ARMv8 и ее следующих версиях:

— RISC-V поддерживает добавление дополнительных команд для ускорения работы приложений. Например, для задач машинного обучения или цифровой обработки сигналов.

— RISC-V поддерживает сокращенный формат команд, что уменьшает размер кода. Кэш инструкций того же размера может хранить примерно на 50% больше команд RISC-V, что сокращает количество cache misses и, следовательно, количество тактов на команду (Clocks Per Instruction; CPI).

— В RISC-V единая команда сравнения и ветвления, по сравнению с двумя (установка флагов, затем ветвление на их основе). Условные переходы составляют 10-20% выполняемых команд, поэтому экономия получается значительной.

3. Заблуждение: Выбор устоявшейся, закрытой ISA является более безопасным бизнес-решением, чем выбор новой открытой архитектуры RISC-V.

Легко забыть, что закрытые архитектуры тесно связаны с успехом компаний, которые ими владеют, и могут исчезнуть, если компания потерпит неудачу. Например, некогда популярные ISA DEC VAX, DEC Alpha и SUN SPARC практически исчезли.

Также трудно помнить, что закрытые ISA — это интеллектуальная собственность, которая, в т.ч. может быть продана компаниям, преследующим иные цели, чем ее предыдущие владельцы. Например, у MIPS ISA за всю историю было более полудюжины владельцев, а у Arm ISA на текущий момент было три: Acorn, ARM Holdings plc и Softbank. Для сравнения, RISC-V развивается коллективным участием сотен компаний в нейтральной международной организации по развитию стандарта — RISC-V International. Именно их коллективный интерес определяет развитие RISC-V под эгидой данной некомменческой организации.

Подобно Ethernet и USB, архитектура RISC-V не зависит от успехов какой-то одной компании, поэтому это более разумный выбор для развития программной экосистемы компаний на долгосрочный период. Эта долгосрочная доступность и независимость является еще одной причиной, по которой ЕС и НАСА выбрали RISC-V для своих планов на будущее.

4. Заблуждение: RISC-V ISA набирает популярность только потому, что она дешевле.

Начнем с того, что популярность RISC-V объясняется другими причинами, а не только дешевизной. Приведенные выше разоблачения Заблуждений №2 и №3 указывают на преимущества RISC-V, не зависящие от стоимости. Помимо технических преимуществ архитектуры, сама открытость стандарта означает, что процессоры на его основе будут разрабатывать больше организаций, чем для какой-либо другой архитектуры. Что должно привести к созданию более совершенных версий ядер на основе RISC-V по сравнению с ядрами других архитектур, разрабатываемым небольшим кол-вом организаций. Соответсвенно, преимущества ISA и более многочисленное сообщество разработчиков, с высокой вероятностью, приведут к лучшим характеристикам по производительности, энергоэффективности и площади у процессоров RISC-V по сравнению с обычными ISA. Наконец, наличие большого количества поставщиков RISC-V, как и с Ethernet или USB, позволяет быстрее начинать проекты, до подписания контрактов или соглашений о неразглашении, на согласование которых могут уйти месяцы. Таким образом, выбор стандарта RISC-V (как и Ethernet или USB) может сократить время на разработку, даже если это не принесет выгоды с точки зрения затрат.

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

И все же, несмотря на перечисленные преимущества с точки зрения затрат, RISC-V набирает популярность в первую очередь благодаря свободе и гибкости, заложенным в его бизнес- и техническую модели. Это преимущество позволяет заинтересованным сторонам быстро создавать конкурентоспособные решения, используя ресурсы многих партнеров с взаимными интересами, избегая зависимости от единственного поставщика и «vednor lock-in».

5. Экосистемы закрытых ISA не фрагментированы.

Более старые закрытые ISA на протяжении длительного времени страдали от непредвиденных несовместимостей. Вот несколько характерных примеров:

— Несмотря на свои усилия использовать x86-64 ISA совместно, AMD и Intel все еще требуют разные виртуальные машины.

— Расширение Intel AVX-512 значительно фрагментировано.

— Компиляторы ARM используют множество runtime тестов, чтобы проверить, доступны ли SIMD команды перед их использованием.

— ARMv1-ARMv7 используют 32-разрядные адресные пространства, но они несовместимы с ARMv8-A и последующими версиями, которые поддерживают как 32-, так и 64-разрядные адреса. ARMv8-M добавляет новые функции к более старой 32-разрядной версии архитектуры, но несовместима с ARMv8-A.

Ни одна программная среда не является более фрагментированной, чем современные системы на кристалле (СнК) для большинства устройств. Они включают в себя множество несовместимых ISA и программных стеков для различных типов и марок процессорных ядер и акселераторов (прикладные и встроенные процессорные ядра, DSP, акселераторы ML, ISP и др). Одна из причин в том, что все эти блоки как правило построены на основе закрытых ISA, которые нельзя использовать разработчикам других сложно-функциональных блоков (IP), и поэтому каждый процессорный блок имеет свою собственную ISA.

6. Заблуждение: Модульность RISC-V приводит к более фрагментированной программной экосистеме, чем у закрытых ISA.

Это заблуждение звучит с тех пор, как мы впервые начали продвигать RISC-V, поэтому о нем не забывали. Некоторые сегменты рынка требуют стабильной ISA и даже совместимости на уровне двоичного кода — задачи, которые RISC-V решает с помощью Профилей. Профили определяют набор стандартных расширений ISA, которые представляют наибольшую ценность для большинства пользователей в конкретном сегменте рынка, позволяя сообществу разработчиков ПО сосредоточить ресурсы на создании соответствующей программной экосистемы. Аналогично, поставщики аппаратных платформ разрабатывают свои решения на основе тех же стандартных профилей, чтобы гарантировать, что их разработки будут поддерживаться широким набором ПО. Например, RISC-V предлагает Профили для 64-разрядных UNIX-систем. Профили являются той основой, на которой можно создавать портируемые приложения и операционные системы.

Помимо профилей, RISC-V ISA предлагает восхитительную возможность исплоьзования общей базовой ISA с необходимыми дополнениями и единым программным стеком для множества разнообразных процессоров в СнК. По этой причине RISC-V может фундаментально снизить фрагментацию программных стеков современных СнК (см. Заблуждение №5 выше).

7. Заблуждение: RISC-V подходит только для встраиваемых приложений.

Встраиваемые системы были наиболее успешным рынком для RISC-V на начальном этапе; они эффективно используют модульность и конфигурируемость RISC-V для улучшения производительности, площади и энергоэффективности, часто имеют простейший программный стек и таких дизайнов в целом больше запускается. Даже если бы данное заблуждение было правдой, рынок встраиваемых устройств и Интернета вещей (IoT) — это огромный интересный рынок, создающий новые гаджеты, которые мы все используем каждый день. На этот сегмент приходится 90% ежегодного потребления процессоров в штуках, а выручка сопоставима с доходами на рынке серверов.

Однако, даже поверхностный взгляд на список компаний = участников альянса RISC-V International позволяет предположить, что компании уже разрабатывают продукты RISC-V и на других рынках, таких как аэрокосмическая промышленность, автомобилестроение, рынок высокопроизводительных вычислений и центры обработки данных.

История Ethernet может многое рассказать о будущем RISC-V. Для замены Ethernet на новых рынках было предложено множество сетевых стандартов (например, ATM, FDDI, Infiniband), однако сегодня именно Ethernet используется повсеместно на скоростях от 1 до 400 Гигабит/с; именно он является lingua franca мировых сетей.

Аналогично, у RISC-V есть шанс стать lingua franca мировых вычислений, предлагая единую базовую архитектуру от самых маленьких встраиваемых устройств до крупнейших суперкомпьютеров, плюс расширения, максимально адаптирующие ее к нуждам различных рынков.

8. Заблуждение: RISC-V не так безопасна, как закрытые ISA.

Одним из преимуществ открытой ISA является то, что эксперты из многих областей и многих организаций могут участвовать в разработке новых функцональностей до того, как они будут финализированы. Одним из наиболее активных комитетов в сообществе RISC-V является рабочая группа по безопасности (Security SIG, Special Interest Gruop), которая разрабатывает множество функций безопасности для RISC-V, включая криптографические расширения и доверенные среды выполнения. Это развитие является причиной того, что RISC-V становится популярным на рынках, где безопасности уделяется особое внимание, — от СнК до жестких дисков, автомобильной техники и даже ядер с legacy загрузчиками.

9. Заблуждение: Процессоры RISC-V всегда будут отставать от известных процессоров закрытых архитектур по производительности и надежности ПО.

Конкуренты стандарта Ethernet, между прочим, выдвинули то же самое заблуждение в начале 1980-х годов. В то время как у старых закрытых ISA есть преимущество в силу более раннего «старта», как и в первые дни Ethernet, мы считаем, что этот разрыв будет исчезнать по мере того, как все больше компаний, производящих аппаратное и программное обеспечение, осознают преимущества использования бесплатного и открытого стандарта ISA (см. Заблуждение №7). RISC-V позволяет компаниям диверсифицировать свои бизнес-интересы и инвестировать в технологии с опережением кривой жизненного цикла. Например, MIPS теперь предлагает разработки на основе RISC-V в дополнение к собственной архитектуре, которой сделала их известной. Для компаний-производителей ПО, возможность работать на различных аппаратных платформах — это возможность присутствовать на нескольких рынках, ускоряя инвестиции и внедрение.

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

10. Заблуждение: Учитывая вышеизложенные доводы, RISC-V не может стать доминирующей ISA.

Мы считаем, что вышеприведенные пункты являются заблуждениями, и не могут блокировать развитие RISC-V.

Нет никаких технических разногласий по поводу того, что единая базовая ISA технически может использоваться повсеместно, от встраиваемых систем до суперкомпьютеров; основные обсуждения лежат в бизнес-плоскости, а также о том, должна ли это быть закрытая или открытая ISA. Если мы действительно достигнем единого lingua franca в области вычислений, то достаточно очевидно, что было бы слишком опасно связать судьбы всей отрасли информационных технологий с состоянием единственной компании. Было бы гораздо безопаснее, если бы мы могли вместо этого полагаться на свободный и открытый стандарт, как мы это делаем в отношении сетей и периферийных устройств.

Чуть более чем за десятилетие RISC-V обоснованно стала, по крайней мере, третьей по значимости ISA для будущих приложений вычислительной техники. Энтузиазм в отношении открытой ISA, который мы наблюдаем во всей отрасли, напоминает тем из нас, кто достаточно стар, чтобы помнить, о бурном развитии открытого сетевого стандарта на заре внедрения Ethernet. В перспективе нескольких лет выбор в пользу закрытой ISA вместо открытой RISC-V для новых проектов может стать таким же странным, как и выбор в пользу закрытых альтернатив Ethernet или USB.

Точно так же, как свободный и открытый Ethernet является доминирующей сетевой технологией, а свободный и открытый USB — доминирующим стандартом на интерфейс периферийных устройств, мы ожидаем, что к концу уже этого десятилетия основной ISA для новых проектов станет свободная и открытая архитектура стандарта RISC-V.

Справочные материалы:

1. Digital, Intel and Xerox, 1980. The Ethernet, A Local Area Network. Data Link Layer and Physical Layer Specifications.

2. While the 32-bit ARMv3 to ARMv7 ISAs offer compact instructions, the 64-bit ARMv8 and successor ISAs do not.

3. See Processor compatibility mode in Hyper-V.

4. The last table in the AVX-512 wikipedia page shows the haphazard use of features, e.g., Cooper Lake (2020) and Zen 4 (2022) have BFloat16 arithmetic, but not Ice Lake (2019), Tiger Lake (2020), Alder Lake (2021), or Rocket Lake (2021).

5. Asanović and D. Patterson, August 2014. Instruction sets should be free: The case for RISC-V.

6. RISC-V Profiles.

7. Profiles are compatible with the inclusion of custom instructions, which are typically invoked via optimized libraries.

8. Slovick, The Automotive Space Gears Up to Take on RISC-V, Sept. 26, 2022, Electronic Design.

9. Mann, China may prove Arm wrong about RISC-V’s role in the datacenter, Oct. 5, 2022, The Register.

10. As long as an ISA has 32-bit address and 64-bit address versions, which RISC-V and many other ISAs offer.

еще публикации
В НИУ МИЭТ завершился интенсивный курс по архитектуре процессорных систем на базе RISC-V
08.07.2025
В НИУ МИЭТ завершился интенсивный курс по архитектуре процессорных систем на базе RISC-V
Читать
Правовая поддержка: Антон Плесков о текущей ситуации и перспективах развития RISC-V в России
03.06.2025
Правовая поддержка: Антон Плесков о текущей ситуации и перспективах развития RISC-V в России
Читать
Технологический вектор: Сергей Якушкин о планах и перспективах развития RISC-V в России
12.05.2025
Технологический вектор: Сергей Якушкин о планах и перспективах развития RISC-V в России
Читать