Комментарии 22
А какова конечная цель развития RISC-V? Заменить со временем все современные процессоры/архитектуры (или составить конкуренцию)? Или занять только какую-то нишу? Какую?
Насколько я понял, ARM (компания) просто не разрешает в обход себя вносить какие-либо изменения. Т.е. вы не можете какой-то спец. dsp сделать и воткнуть в процессор.
x86 - "старый", опять-таки проприетарный
А Risc-V может пилить кто угодно, лицензия позволяет - поэтому сейчас все на него и пытаются перейти.
Кроме того Risc-V свободен от американского и не попадает под санкции, в отличие от arm.
Ну, архитектура ARM предусматривать возможность цеплять сопроцессоры -- собсно, "юридически" FPU является именно сопроцессором. И, вроде как, никаких ограничений на сопроцессоры пользователя там не предусмотрено.
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, устранять аппаратные бутылочные горлышки можно долго.
А какова конечная цель развития Linux?
Если на архитектуру есть полноценная документация, описывающая кодирование и поведение всех команд, систему прерываний и т.д. и т.п., то никакой "пропасти" нет: что там написано на Верилоге, программистам совершенно без разницы. Если некоторая реализация не соответствует документации -- это бракованная реализация, и её надо исправлять, а не объявлять баги фичами, вот и всё.
Ну всякие meltdown и spectre с вами не согласны.
Почему ж? Эти проблемы не оказывают влияния на правильность выполнения программы, а соответственно, на переносимость между разными реализациями этой архитектуры. Если уязвимость закрыть (например, принудительно очищать кэши при прерываниях), программы как работали, так и будут работать. Таким образом, и реализация, допускающая эксплуатацию этой уязвимости, и реализация, её не имеющая, будут полностью совместимы между собой и удовлетворять требованиям, изложенным в описании архитектуры.
наивные микропроцессоры из 70х годов никому не нужны. Современное ядро процессора напичкано костылями и различными ускорителями, что сокращает время выполнения реальных задач на порядки.
программы как работали, так и будут работать
Только немного медленнее. А производительность имеет значение, и в реальных тяжёлых задачах кроме системы команд надо смотреть на то, как работают кеши, TLB, переключение конктеста и прочее на конкретной микроархитектуре.
А это уже вопрос тонкой оптимизации под конкретную микроархитектуру, а не совместимости. Скорость работы, кстати, тоже далеко не везде важна -- хотя, конечно, есть задачи, где её всегда мало. Ну а если не очищать кэши и т.п. при переключении контекста, то всегда будет риск подобных уязвимостей независимо от архитектуры. Так что, в данном случае приходится выбирать между либо максимальной производительностью, либо потенциальным наличием уязвимостей.
Эти вопросы тонкой оптимизации могут серьёзно влиять на решение клауд провайдеров и прочих больших игроков по закупке определённых процессоров и соответственно на прибыль (а то и просто существование) их производителей. А так то да, принципиальных проблем с запуском какого-нибудь Postgres под Linux на RISC V нет.
Посмотрел ради интереса:
Operating Systems - Home - RISC-V International
Operating Systems
![](https://habrastorage.org/getpro/habr/upload_files/f78/fd3/e2e/f78fd3e2e47bfdbd301432dbc8aa980d.png)
Приценивался в прошлом году на посмотреть, но смысла не увидел.
Sipeed LicheePi 4A Risc-V TH1520 Linux SBC Development Board
Pi 4A 8and8GB
Pi 4A 16and128GB - 17-18 т.р. сейчас на aliexpress
Pi 4A 8and32GB
для этого понадобилось много времени: для ARM — 40 лет, а x86 — 47.
Откуда эти цифры взялись?
Полный список характеристик:
вообще не очень полный, не хватает самой главной - частоты, которая как будто прячется (не здесь, а в целом на разных интернет-ресурсах)
SpacemiT K1 8-ядерный X60 - 1.6 GHz
LM4A (TH1520, 4 × C910) - 1.85 GHz
«У RISC-V впереди много проблем и ошибок»: прогноз Линуса Торвальдса