Привет, Хабр! Я Виктор Сергеев, по-прежнему редактирую статьи в МТС и рассказываю о технологиях. Сегодня хочу обсудить прогноз Линуса Торвальдса по архитектуре RISC-V. По его мнению, путь к популярности у технологии буквально усыпан проблемами. Что за проблемы, так ли это страшно и что с RISC-V сейчас? Обо всем этом — под катом.
Что за проблемы?
Линус Торвальдс считает, что, несмотря на все успехи архитектуры RISC-V, у нее впереди много проблем. Основная — сложности во взаимодействии между разработчиками ПО и «железа».
Разработчики «железа» не спешат выкладывать подробную документацию о нюансах технологии, которой могут воспользоваться кодеры. По словам Торвальдса, существует пропасть между Verilog и ядром, не говоря уже о более высоких уровнях стека. У разработчиков программ будут проблемы: софт может работать не так, как нужно. Чрезмерное потребление вычислительных ресурсов, проблемы при взаимодействии софта между собой, неожиданные падения ПО — вот чего можно ожидать на первых порах «эпохи RISC-V».
Но все это можно решить. В свое время ARM и x86 преодолели те же проблемы, и сейчас эти технологии популярны. Правда, для этого понадобилось много времени: для ARM — 40 лет, а x86 — 47. По сравнению с ними RISC-V совсем новичок — технология развивается с 2010 года. Ее достоинство в том, что она полностью открыта, так что в ней заинтересованы многие компании. Особенно китайские, ведь в отношении них действуют торговые санкции со стороны США. А вот у RISC-V таких проблем нет, тем более что в КНР создают отдельную версию — RISC-X.
Кстати, в РФ тоже развивают RISC-V. На базе этой архитектуры разрабатывают мобильные чипы для отечественных планшетов.
Через тернии к звездам
По словам Линуса Торвальдса, до массового распространения RISC-V-технологии пройдет немало времени. Разработчики ПО и «железа» не смогут достичь полного взаимопонимания ни в краткосрочной, ни в среднесрочной перспективах.
Те, кто сейчас работает в RISC-V-отрасли, могут и не знать, с какими сложностями в свое время столкнулись архитектуры ARM и х86. Компании будут снова «изобретать велосипед», и потребуется не одно поколение RISC-V-процессоров, чтобы избавиться от всех проблем в работе ПО и аппаратного обеспечения.
«Они будут учиться, совершая ошибки — все те же, что совершались раньше», — сказал Торвальдс.
По его мнению, открытость архитектуры не поможет в достижении согласия между кодерами и специалистами по электронике. Но рано или поздно эту проблему решат.
Не все так плохо
Несмотря на опасения Торвальдса, RISC-V уже используется современными производителями электроники.
Основали Quintauris GmbH
В самом конце прошлого года стало известно, что несколько крупных компаний, включая Robert Bosch GmbH, Infineon Technologies AG, Nordic Semiconductor ASA, NXP® Semiconductors, Qualcomm Technologies, Inc., основали новую организацию под названием Quintauris GmbH. Она будет разрабатывать и внедрять новые технологии, базирующиеся на RISC-V.
Команда Quintauris GmbH будет следить, чтобы новые технологии были унифицированы, а продукция партнеров совместима. К тому же эксперты станут помогать друг другу создавать надежные решения для разных отраслей. Основной фокус сделают на автомобильной индустрии, потом спектр деятельности Quintauris GmbH расширят.
Выпускают устройства
Выпускаются и устройства на базе RISC-V: ноутбуки ROMA, BPCD, MuseBook, Lichee Console 4A. Например, расскажу подробнее о двух последних.
MuseBook
Ноутбук появился в мае 2024 года. Он предназначен для разработчиков аппаратного обеспечения, программистов и любителей DIY. Цена — 300 $. Конечно, этот девайс не подходит для работы с «тяжелым» контентом, но и цели такой у него не было.
Лэптоп получил 14,1-дюймовый дисплей с разрешением 1 920 × 1 080 и частотой обновления экрана в 60 Гц. Клавиатура — привычная многим, но кнопка Windows заменена на аналог с логотипом RISC-V.
Вес устройства — 1,3 кг, толщина — 18 мм. Есть слот для карт памяти microSD, два USB-C-порта, два USB 3.0 Type-A, коннектор для наушников, 8-пиновый разъем с поддержкой таких интерфейсов, как I2C, UART, PWM, GPIO.
Полный список характеристик:
SoC: SpacemiT K1 8-ядерный X60 RISC-V чип с RVA22;
ОЗУ: вплоть до 16 Гб, 32-бит LPDDR4-2400MT, 32-бит LPDDR4X-2666MT;
память: от 32 Гб до 128 Гб eMMC, есть сокет M.2 (PCIe 2.1 2x) для NVMe SSD вплоть до 1 Тб и слот для карт памяти MicroSD;
дисплей: 14,1-дюймовый IPS-экран с разрешением 1 920 × 1 080, частотой 60 Гц;
сеть: RTL8852BE Wi-Fi 6 модуль;
питание: USB PD 3.1 Type-C;
размеры: 322,6 × 209,2 × 17,8 мм;
вес: 1,36 кг;
ОС: поддерживаются Bianbu OS от Debian, Ubuntu, Linux.
Ноутбук Lichee Console 4A
Ноутбук выглядит как уменьшенная модель одного из девайсов от Lenovo. На самом деле это проект независимой компании, которая решила выпустить девайс для кодеров. Этот ноутбук получил экран с диагональю всего 7 дюймов, кроме того, у него 16 Гб ОЗУ и процессор LM4A TH1520. Цена — 300 $.
Функции у девайса неплохие. Он совместим с LPDDR4X ОЗУ, установлен SSD на 128 Гб, есть возможность подключения внешнего NGFF SSD. Дисплей — 7-дюймовый с разрешением 1 280 × 800. Есть HDMI-порт, позволяющий подключать внешний монитор. Экран ноутбука — сенсорный, емкостный. Для проведения конференций можно использовать камеру на два мегапикселя.
Характеристики Lichee Console 4A:
SOM (система на модуле): LM4A (TH1520, 4 × C910);
RAM: 16 Гб LPDDR4X;
память: 128 Гб eMMC + external NGFF SSD;
дисплей: 7 дюймов, 1 280 × 800, есть miniHDMI;
ввод: Capacitive Touch, RedPoint 72-клавиатура;
камера: фронтальная, 2 Мп;
аудио: 3,5 мм;
сеть: Wi-Fi 6 + BT5.4, опционально — 1 × GbE;
порты и разъемы: 1 × USB3.0 Type-A, 1 × USB3.0 Type-C, 1 × USB2.0 Type-A, 1 × MicroSD;
батарея: 3 000 мА·ч@7.6В;
размеры и вес: 18 × 14 × 2 см, 650 г.
Архитектура RISC-V развивается активнее, чем ARM или x86 в свое время. Те же китайцы сейчас стараются развивать электронную отрасль, используя открытую архитектуру RISC-V, создают чипы и устройства на ее основе.
Возможно, Торвальдс просто «дует на воду», но в одном он прав: полноценное открытое взаимодействие между разработчиками ПО и «железа» — ключевой момент в популяризации архитектуры.
Комментарии (22)
SIISII
30.07.2024 14:10+2Если на архитектуру есть полноценная документация, описывающая кодирование и поведение всех команд, систему прерываний и т.д. и т.п., то никакой "пропасти" нет: что там написано на Верилоге, программистам совершенно без разницы. Если некоторая реализация не соответствует документации -- это бракованная реализация, и её надо исправлять, а не объявлять баги фичами, вот и всё.
loltrol
30.07.2024 14:10Ну всякие meltdown и spectre с вами не согласны.
SIISII
30.07.2024 14:10+2Почему ж? Эти проблемы не оказывают влияния на правильность выполнения программы, а соответственно, на переносимость между разными реализациями этой архитектуры. Если уязвимость закрыть (например, принудительно очищать кэши при прерываниях), программы как работали, так и будут работать. Таким образом, и реализация, допускающая эксплуатацию этой уязвимости, и реализация, её не имеющая, будут полностью совместимы между собой и удовлетворять требованиям, изложенным в описании архитектуры.
le2
30.07.2024 14:10наивные микропроцессоры из 70х годов никому не нужны. Современное ядро процессора напичкано костылями и различными ускорителями, что сокращает время выполнения реальных задач на порядки.
unreal_undead2
30.07.2024 14:10программы как работали, так и будут работать
Только немного медленнее. А производительность имеет значение, и в реальных тяжёлых задачах кроме системы команд надо смотреть на то, как работают кеши, TLB, переключение конктеста и прочее на конкретной микроархитектуре.
SIISII
30.07.2024 14:10А это уже вопрос тонкой оптимизации под конкретную микроархитектуру, а не совместимости. Скорость работы, кстати, тоже далеко не везде важна -- хотя, конечно, есть задачи, где её всегда мало. Ну а если не очищать кэши и т.п. при переключении контекста, то всегда будет риск подобных уязвимостей независимо от архитектуры. Так что, в данном случае приходится выбирать между либо максимальной производительностью, либо потенциальным наличием уязвимостей.
unreal_undead2
30.07.2024 14:10Эти вопросы тонкой оптимизации могут серьёзно влиять на решение клауд провайдеров и прочих больших игроков по закупке определённых процессоров и соответственно на прибыль (а то и просто существование) их производителей. А так то да, принципиальных проблем с запуском какого-нибудь Postgres под Linux на RISC V нет.
Testman2023
30.07.2024 14:10Посмотрел ради интереса:
Operating Systems - Home - RISC-V InternationalOperating Systems
Testman2023
30.07.2024 14:10+1Приценивался в прошлом году на посмотреть, но смысла не увидел.
Sipeed LicheePi 4A Risc-V TH1520 Linux SBC Development Board
Pi 4A 8and8GB
Pi 4A 16and128GB - 17-18 т.р. сейчас на aliexpress
Pi 4A 8and32GBevgeny_72
30.07.2024 14:10У них даже сборки мини- или микро- серверов есть. Кластер от 120 т.р. стоил, а сейчас не знаю. Risc-v в основном под использование в ИИ заточен.
diakin
30.07.2024 14:10+2для этого понадобилось много времени: для ARM — 40 лет, а x86 — 47.
Откуда эти цифры взялись?
gimcnuk
30.07.2024 14:10+1Полный список характеристик:
вообще не очень полный, не хватает самой главной - частоты, которая как будто прячется (не здесь, а в целом на разных интернет-ресурсах)
SpacemiT K1 8-ядерный X60 - 1.6 GHz
LM4A (TH1520, 4 × C910) - 1.85 GHz
CBET_TbMbI
А какова конечная цель развития RISC-V? Заменить со временем все современные процессоры/архитектуры (или составить конкуренцию)? Или занять только какую-то нишу? Какую?
Fahrain
Насколько я понял, ARM (компания) просто не разрешает в обход себя вносить какие-либо изменения. Т.е. вы не можете какой-то спец. dsp сделать и воткнуть в процессор.
x86 - "старый", опять-таки проприетарный
А Risc-V может пилить кто угодно, лицензия позволяет - поэтому сейчас все на него и пытаются перейти.
Кроме того Risc-V свободен от американского и не попадает под санкции, в отличие от arm.
SIISII
Ну, архитектура ARM предусматривать возможность цеплять сопроцессоры -- собсно, "юридически" FPU является именно сопроцессором. И, вроде как, никаких ограничений на сопроцессоры пользователя там не предусмотрено.
Fahrain
Ну там не техническая проблема, а именно юридическая - вам просто нельзя так делать, если компания arm не одобрила.
le2
ARM:
- продаёт "право первой ночи". Большие пацаны получают новые ядра раньше, иногда на годы.
- юридически ограничивает использование. Что именно ограничивает в каждом случае - секрет под NDA. Из того что утекло: долгие годы Cortex-M0 мог официально работать только на 48МГц, хотя технически исправно у STM работал и на 72МГц, как старший Cortex-M3, потому что по тем же нормам был выполнен.
- может запретить применение добросовестным покупателям из неправильных стран.
- каждый дизайн ARM прибит гвоздями к техпроцессам.
- ARM уже планирует брать роялти с каждого проданного конечного изделия исходя из его розничной цены.
- изначально технически ARM был ущербен по сравнению с MIPS, которого делали как убийцу x86. У MIPS были продублированы банки регистров и переключение задач происходило значительно быстрее. Именно поэтому в каждом мобильнике сейчас (честно говоря, за все не берусь говорить) модем выполнен на ядре MIPS, потому что контекст ОС там переключается на порядки чаще.
Но у ARM была понятная бизнес-стратегия - минимальные по площади ядра производимые на отстающих на 2-3 поколения производственных площадках. И почему ARM так выстрелил в текущее состояние - это счастливое сочетание успеха уникальной бизнес-модели TSMC и мобильников.
Но главный секрет в том что ядро процессора это развлечение больше для юристов. Технически по-площади кристалла, и по интеллектуальному вкладу, ценность представляет больше системная шина, периферия. Я не владею закрытой информацией, но субъективно все три десятка вендоров процессоров RISC-V из России просто подменили ядро одно на другое. Примерно этим, вероятно, и занимаются прочие разработчики процессоров на RISC-V в мире. Малой кровью скинут ограничения от ARM, в начале, естественно для условно простых товаров. Потому что допиливать Linux, устранять аппаратные бутылочные горлышки можно долго.
unreal_undead2
Большие пацаны покупают архитектурную лицензию и сами рисуют ядра. Но ISA и расширения остаются под контролем ARM и без контракта с ней не обойтись.
Vedomir
А какова конечная цель развития Linux?
alexey_public
WindowsMustDie (с)