Google объявил RISC-V одной из первичных архитектур для Android. Что это значит для рынка?
Android решили портировать на новую архитектуру — RISC-V. Мы поговорили с экспертами и выяснили, что ожидает мобильных разработчиков.
Кадр: сериал «Видоизменённый углерод»
В начале года представители Google пришли на конференцию RISC-V Summit и заявили, что им очень интересна эта архитектура. Хотя ранее они долго хранили молчание и не говорили, что уже работают в этом направлении. Разбираемся, как может измениться мир Android-разработки и зачем всё это компании Google.
«Что это значит для рынка?» — новая рубрика, в которой мы рассказываем, как те или иные события влияют на рынок и жизнь простых разработчиков.
Что такое RISC-V
RISC-V — это открытая система команд и архитектура для процессоров. Любая компания может использовать её бесплатно — как тот же Linux или веб-сервер Apache. RISC-V, как следует из названия, основана на подходе RISC (reduced instruction set computer), который предполагает использование оптимизированных команд в работе процессора.
Часто под reduced (англ. — уменьшенный) ошибочно понимается малое число инструкций, но на самом деле это слово характеризует объём команд и время выполнения — в том числе родного цикла доступа к памяти. Плюс каждая конструкция обладает фиксированной длиной. К семейству RISC-процессоров относят RISC-V, PowerPC, ARM и другие.
В противовес RISC существует подход CISC (complex instruction set computer) — его используют, например, в Intel и AMD. При таком подходе у инструкций может быть разная длина, а сами инструкции отвечают за довольно большие операции. С точки зрения «железа» поздние модели процессоров Intel выполнены как RISC-процессоры, но «программно» всё ещё работают на CISC-схеме, то есть все CISC-инструкции перед выполнением конвертируются в RISC-инструкции.
Архитектура RISC-V довольно популярна у производителей умных часов и других устройств, а также в микроконтроллерах. Поддержка RISC-V уже есть в ядре Linux и, например, в Haiku, а сама архитектура развивается в рамках и при поддержке Linux Foundation.
Мы портировали на RISC-V систему Haiku — причём эту архитектуру мы предпочли ARM. Почему? Ну просто ARM отпугнула меня своей сложной системой прерываний, большим количеством режимов процессора, сложностью MMU и так далее. На процесс портирования Haiku большое влияние оказал проект xv6 (реализация классического Unix Денниса Ритчи и Брайана Кернигана на RISC-V. — Ред.). В качестве эмулятора RISC-V я использовал TinyEMU, хотя для этой архитектуры их очень много.
Что касается RISC-V и Android — для нашего проекта это очень выгодно: когда появятся Android-устройства под RISC-V, мы сможем запускать Haiku на планшетах и смартфонах.
Илья Чугин,
автор порта RISC-V для Haiku (ник в Matrix x512)
История вопроса
Ещё в октябре 2022 года китайские инженеры объявили о том, что начали работу по запуску Android на архитектуре RISC-V. Дело в том, что из-за санкций США (а санкции эти с каждым годом становятся все жёстче) у них не было доступа к технологиям производства других чипов, и открытая RISC-V сразу стала желанной.
А раз из двух ведущих мобильных операционных систем использовать можно было только Android, то именно его инженеры из Поднебесной и решили «накатить» на RISC-V. Очевидно, Google пошёл им навстречу и подсветил какие-то закрытые нюансы близких к «железу» слоёв своей мобильной ОС.
Именно коммиты китайских инженеров составили основу нового GitHub-репозитория RISC-V Android — причём главный вклад внесла Alibaba Group.
Сейчас Android поддерживает архитектуры ARM, MIPS и x86. Поддержка RISC-V ещё не добавлена. Поддержку в эмуляторе обещают добавить совсем скоро, а Android Runtime подружится с RISC-V в первом квартале 2023 года — так обещают гугловцы.
Наиболее «горячая» архитектура сегодня — ARM. Процессор M1 от Apple в своё время просто взорвал мир IT. И вокруг ARM разгорелась нешуточная борьба. NVIDIA пыталась купить ARM за 40 млрд долларов, но другие компании не дали ей этого сделать — сделку признали незаконной и NVIDIA дали от ворот поворот. Ещё бы: в дополнение к своим крутым графическим чипам NVIDIA в случае успешной сделки заполучила бы ещё и права на топовую архитектуру микропроцессоров. А значит, она могла бы закрыть её от тех же Intel и AMD, став, по сути, монополистом.
Сейчас всё больше стран выказывают интерес к RISC-V и всё больше устройств начинают эти процессоры поддерживать. Другое дело, что ещё не создано ни одного производительного процессора уровня смартфона, сервера или персонального компьютера. Есть только выпущенный в Китае ноутбук — но и тот очень слабый. С другой стороны, процессоры на ядре RISC-V очень классные и уже эффективны для интернета вещей, умных часов и так далее — а значит, рано или поздно они разовьются и на этой архитектуре выйдет что-то производительное.
Сейчас Европа делает ставку на RISC-V. В России в своё время тоже были сильные лоббисты, которые хотели «убить» «Эльбрус», «Байкал» и остальные российские процессоры. Они требовали признать RISC-V «единственно верной» архитектурой и инвестировать только в неё. У подобных лоббистов ноги растут из компаний типа Intel, Samsung и IBM — то есть той когорты монополистов, которая не смогла навязать прямую борьбу ARM.
Кстати, именно они в своё время не дали NVIDIA купить ARM и с помощью своих связей заблокировали сделку — потому что боялись, что ARM попадёт «не в те руки», а точнее, полностью окажется в руках одной компании, которая таким образом получит мощное преимущество перед остальными участниками рынка.
Поэтому включение в Android поддержки процессора RISC-V — это логичный ход и понятная диверсификация рисков: если вдруг кто-то всё же сможет купить ARM, у Google всегда будет на что перескочить.
Лично я не вижу ничего плохого в том, что появляется больше разных архитектур. Другое дело, что Android как был закрытой операционной системой на уровне «железа», так ею и останется — даже несмотря на поддержку открытой архитектуры RISC-V. Посредством своих правил лицензирования Google продолжает контролировать всех производителей смартфонов и добровольно такой контроль ослаблять явно не будет. И если, например, китайцы продолжат дальше развивать свою открытую версию ARM-архитектуры, они не смогут обеспечить поддержку «большого» Android для всех устройств на базе своего процессора для всего мира.
Максим Горшенин,
блогер, популяризатор российской микроэлектроники
На что это повлияет
Большая часть экспертов настроена довольно скептически — по их мнению, включение RISC-V в Android пока мало что изменит. Максимум это позволит увеличить автономность и улучшить работу камеры телефона, однако качество реализации RISC-V в чипах ещё не достигло того уровня, чтобы стимулировать мощные инновации в мобильной сфере.
Я думаю, что принципиально ничего не изменится — как для разработчиков, так и для пользователей. У Google с недавних пор конфликт с ARM, и они просто хотят ни от кого не зависеть, но в целом это точно такой же RISC, как и в ARM (которая называется Advanced RISC Machines). Единственный интересный момент — это может быть шаг к Chromebook на RISC-процессорах.
А так в коде ОС это скорее поменяет низкоуровневые вызовы, которые пишут сами разработчики Android и которые прикрыты интерфейсными API для мобильных разработчиков. Так что в целом это просто логичный шаг Google, вполне утилитарный — и на мой взгляд, тут нет каких-то серьёзных планов.
Другое дело, что Google — это гигант, а значит, сейчас все, кто вкладывался в развитие RISC-V (а это опенсорсный проект), будут выглядеть весомее (например, те же «Байкалы»).
Алексей Гладков,
автор канала Mobile Developer
Вызывает сомнение и текущее развитие чипов на RISC-V: самые мощные образцы (да и те не производятся массово), сравнимы по характеристикам с довольно старыми процессорами известных брендов. Так, JH7110 аналогичен SoC в Samsung Galaxy S3 2012 года выпуска (правда, JH7110 — 64-разрядный), а TH1520 похож на SoC в Galaxy S7 образца 2016 года.
Сама технология RISC-V перспективна, но прямо сейчас я не вижу предпосылок для её широкой популярности в мобильном сегменте. И тут непонятно — то ли блокером является отсутствие поддержки RISC-V в Android, то ли просто никто из производителей особо не спешит идти в мобильный сегмент. Но поддержка RISC-V как минимум даст возможность производить устройства с процессорами на этой архитектуре под ОС Android и стимулирует появление очередного Android NDK.
Даст ли это толчок к тому, что производители начнут выпускать устройства на RISC-V, — пока непонятно. Но это может подтолкнуть к переходу на RISC-V производителей из России и Китая, которые сейчас отрезаны от ARM-технологий.
К тому же сейчас очень популярны чипы Qualcomm (они основаны на хорошо зарекомендовавшей себя архитектуре ARM, под которую выпущено много ПО). Например, тот же Apple плотно сидит на ARM. А вот удачных чипов на основе RISC-V я ещё не видел. Кроме того, никакие техногиганты тоже не заявляли о создании процессоров на RISC-V. Возможно, кто-то уже их делает, но не массово — а пока какой-нибудь крупный бренд не заявит о том, что начал ставить RISC-V-чипы в свои смартфоны, всё это останется просто программной поддержкой без практического применения и влияния на рынок.
У RISC-V пока нет явных преимуществ, кроме того, что это открытая и бесплатно лицензируемая архитектура — за неё не нужно платить, как за тот же ARM. Архитектуру RISC-V можно свободно модифицировать и изменять, лицензия это позволяет. А вот преимуществ в производительности или каких-то других выигрышных моментов, которые бы стимулировали переходить с ARM на RISC-V, у открытой архитектуры пока нет. Но если на RISC-V появятся достойные чипы, они вполне могут стать очень популярными.
Кирилл Розов,
автор телеграм-канала и ютуб-канала Android Broadcast
Однако есть и технооптимисты, которые видят классные следствия появления RISC-V в экосистеме Android — хоть и в относительно далёком будущем.
Архитектура RISC-V предлагает гораздо большую гибкость, масштабируемость и расширяемость за счёт открытого исходного кода — в отличие от тех же ARM и x86. Её включение в Android может привести к нескольким важным последствиям для мобильной разработки:
- Благодаря более простой архитектуре, по сравнению с традиционными чипами, время автономной работы и производительность мобильных устройств увеличится. А значит, вырастут базовые показатели MAU и DAU, от чего выиграют все производители Android-приложений.
- Мобильные разработчики увеличат контроль над аппаратным и программным обеспечением устройств, что приведёт к созданию более инновационных и оптимизированных мобильных приложений. Например, могут начать появляться приложения, поддерживающие VR-гарнитуры со встроенным отслеживанием движения, — ведь благодаря низкому энергопотреблению процессоров на базе RISC-V получится создать гарнитуру, которую можно носить в течение длительного периода времени без риска перегрева.
- Архитектура с открытым исходным кодом будет способствовать созданию совместной среды разработки для мобильных устройств и приложений, что позволит небольшим digital-компаниям конкурировать с лидерами индустрии.
Алексей Лачевский,
СEO digital-агентства Trinity Monsters
Заключение
Что мы имеем в сухом остатке:
- Инициатива Google интересная и логичная с точки зрения рыночной борьбы и припрятывания туза в рукаве.
- Прямо сейчас вряд ли что-то изменится — разве только те, кто вкладывался в архитектуру RISC-V, смогут получать больше инвестиций и грантов. Потому что благодаря этому шагу Google RISC-V начинает выглядеть гораздо более перспективной и менее маргинальной технологией.
- Для мобильных разработчиков вряд ли что-то изменится и в будущем — все «железные» нюансы Google от них закрывает, а к «железу» они обращаются исключительно через API.