RISC-V: что это за архитектура и почему Google выбрал её для Android
Android готовится к переходу на новую архитектуру RISC-V. Мы обсудили с экспертами, что это значит для мобильных разработчиков.
Содержание:
Обучение программированию на Python: от новичка до профессионала Создание впечатляющего портфолио: 4 увлекательных проекта Взаимодействие с преподавателем: живое общение для лучшего усвоения знаний
Узнать большеВ начале текущего года на конференции RISC-V Summit представители Google выразили свой интерес к этой архитектуре. Ранее компания долгое время сохраняла молчание по этому вопросу и не делилась информацией о своей деятельности в этой области. Давайте рассмотрим, каким образом это может повлиять на развитие Android и какие цели преследует Google в этом контексте.
«Как это отразится на рынке?» — новая колонка, в которой мы анализируем, каким образом различные события сказываются на рынках и повседневной жизни обычных разработчиков.
Что такое RISC-V
RISC-V представляет собой архитектуру процессоров и набор команд с открытым исходным кодом. Любая организация имеет возможность воспользоваться этой технологией без каких-либо затрат, подобно тому, как это делается с Linux или веб-сервером Apache. Название RISC-V указывает на то, что она опирается на концепцию RISC (компьютеры с уменьшенным набором команд), что подразумевает применение усовершенствованных команд для повышения эффективности работы процессора.
Термин «уменьшенный» (reduced) часто воспринимается как обозначение небольшого количества инструкций, однако на самом деле он отражает как объем команд, так и время, необходимое для их выполнения, включая время доступа к памяти для базового цикла. Кроме того, каждая инструкция имеет фиксированную длину. К семейству процессоров с архитектурой RISC относятся такие модели, как RISC-V, PowerPC, ARM и другие.
Существует альтернативный подход к архитектуре вычислительных систем, известный как CISC (компьютер с комплексным набором команд), который применяется, в частности, в процессорах компаний Intel и AMD. В рамках данной архитектуры команды могут иметь различную длину, а сами команды способны выполнять довольно сложные операции. Хотя современные процессоры Intel по своей аппаратной реализации имеют черты RISC-архитектуры, они продолжают функционировать на основе CISC, что подразумевает предварительное преобразование всех CISC-команд в RISC-команды перед их выполнением.
Архитектура RISC-V набирает популярность среди разработчиков умных часов и различных устройств, а также в области микроконтроллеров. Поддержка данной архитектуры присутствует в ядре Linux, а также, к примеру, в Haiku. Развитие RISC-V осуществляется в рамках инициатив Linux Foundation, что способствует её дальнейшему прогрессу.
Мы перенесли операционную систему Haiku на архитектуру RISC-V, выбрав её вместо ARM. Причины выбора были довольно простыми: меня отпугнули сложности, связанные с системой прерываний в ARM, многочисленные режимы работы процессора и запутанная организация MMU. Процесс переноса Haiku был сильно вдохновлён проектом xv6, который представляет собой реализацию классического Unix от Денниса Ритчи и Брайана Кернигана для RISC-V. В качестве эмулятора для RISC-V я применил TinyEMU, хотя для этой архитектуры существует множество других вариантов.
Что касается взаимодействия RISC-V с Android, для нашего проекта это представляет собой значительные преимущества. Как только на рынке появятся устройства на базе Android с архитектурой RISC-V, у нас появится возможность запускать Haiku на планшетах и смартфонах.
Илья Чугин, разработчик RISC-V порта для Haiku, известен в сети под ником x512.
История вопроса
В октябре 2022 года инженеры из Китая сообщили о начале разработки версии Android, основанной на архитектуре RISC-V. Это решение стало ответом на усиливающиеся американские санкции, которые ограничили доступ к технологиям для производства альтернативных микропроцессоров. В такой ситуации открытая архитектура RISC-V быстро приобрела популярность и интерес.
Поскольку среди двух основных мобильных операционных систем доступной для использования была только Android, инженеры из Китая решили адаптировать её под архитектуру RISC-V. В этой ситуации Google, вероятно, пошёл им навстречу, предоставив информацию о некоторых закрытых аспектах, касающихся низкоуровневых элементов своей мобильной операционной системы.
Ключевую роль в создании нового репозитория RISC-V Android на GitHub сыграли коммиты китайских разработчиков, среди которых особенно выделяется вклад компании Alibaba Group.
На данный момент Android совместим с архитектурами ARM, MIPS и x86. Однако поддержка RISC-V пока отсутствует. В ближайшее время в эмуляторе обещают внедрить эту поддержку, а интеграция Android Runtime с RISC-V, согласно заявлениям представителей Google, должна состояться в первом квартале 2023 года.
На сегодняшний день архитектура ARM занимает лидирующие позиции в мире технологий. Процессор M1 от Apple произвел настоящий фурор в сфере информационных технологий. Вокруг ARM разразилась серьёзная конкуренция. NVIDIA попыталась приобрести ARM за 40 миллиардов долларов, но другие компании воспротивились этому и сделка была признана недействительной, что привело к отказу NVIDIA. Это неудивительно, ведь в случае успешного завершения сделки, NVIDIA не только укрепила бы свои позиции на рынке графических чипов, но и получила бы контроль над одной из лучших архитектур микропроцессоров. Это могло бы привести к тому, что она смогла бы ограничить доступ Intel и AMD к этой технологии, став фактически монополистом в этой области.
Все больше государств проявляют интерес к архитектуре RISC-V, и количество устройств с поддержкой этих процессоров продолжает расти. Однако на данный момент не существует высокопроизводительных процессоров, способных конкурировать на уровне смартфонов, серверов или персональных компьютеров. Единственным примером является ноутбук, выпущенный в Китае, но его характеристики оставляют желать лучшего. Тем не менее, процессоры на базе архитектуры RISC-V уже демонстрируют высокую эффективность в таких областях, как интернет вещей и умные часы. Это говорит о том, что в будущем мы можем ожидать появления более мощных решений на этой платформе.
Сегодня Европа активно поддерживает архитектуру RISC-V. В России в прошлом также существовали мощные лоббистские группы, стремившиеся «похоронить» такие процессоры, как «Эльбрус» и «Байкал», а также другие отечественные разработки. Эти группы настаивали на том, чтобы RISC-V была признана «единственно верной» архитектурой, с акцентом на необходимость инвестировать исключительно в неё. Корни таких лоббистов уходят в компании вроде Intel, Samsung и IBM — представителей той самой группы монополистов, которые не смогли установить прямую конкуренцию с ARM.
Следует отметить, что именно они в своё время воспрепятствовали NVIDIA в приобретении ARM, используя свои связи для блокировки этой сделки. Причиной этому стало опасение, что ARM окажется под контролем единственной компании, что даст ей значительное преимущество над конкурентами на рынке.
Таким образом, добавление поддержки процессора RISC-V в Android является разумным шагом и четким способом снизить риски: в случае, если кто-то все же приобретет 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, включая опенсорсные проекты, будут выглядеть более значимыми. К примеру, это касается и таких проектов, как «Байкалы».
Алексей Гладков является создателем канала, посвященного мобильной разработке.
Вопросы вызывают и текущие достижения в разработке чипов на архитектуре RISC-V. На сегодняшний день самые производительные модели, которые, к тому же, не выпускаются в больших объемах, по своим параметрам сопоставимы с достаточно старыми процессорами от известных производителей. Например, чип JH7110 можно сравнить с системой на кристалле, использованной в Samsung Galaxy S3, который был выпущен в 2012 году (хотя JH7110 поддерживает 64-битную архитектуру), в то время как TH1520 напоминает SoC из Galaxy S7, выпущенного в 2016 году.
Технология RISC-V обладает большим потенциалом, однако в данный момент я не наблюдаю оснований для её массового внедрения в мобильной сфере. Неясно, связано ли это с тем, что Android не поддерживает RISC-V, или же производители просто не проявляют особого интереса к этому направлению. Тем не менее, добавление поддержки RISC-V откроет возможности для разработки устройств на этой архитектуре, совместимых с Android, и может способствовать появлению нового Android NDK.
Неясно, станет ли это стимулом для производителей начать выпускать устройства на основе RISC-V. Тем не менее, такой шаг может способствовать переходу к RISC-V для компаний из России и Китая, которые в настоящее время лишены доступа к технологиям ARM.
В настоящее время чипы Qualcomm пользуются большой популярностью, так как они построены на проверенной временем архитектуре ARM, для которой разработано множество программных решений. Например, компания Apple активно использует ARM в своих устройствах. В то же время, мне не встречались успешные процессоры на базе RISC-V. Более того, крупные технологические компании еще не объявили о создании процессоров, основанных на этой архитектуре. Возможно, некоторые из них уже занимаются разработкой, но в малых объемах. Однако до тех пор, пока известный бренд не начнет устанавливать RISC-V-чипы в свои смартфоны, все это останется лишь на уровне программной поддержки, не оказывая значительного влияния на рынок.
На сегодняшний день архитектура RISC-V не обладает явными преимуществами, за исключением того, что она является открытой и доступной для бесплатного лицензирования. В отличие от ARM, за использование RISC-V не требуется производить какие-либо платежи. Эта архитектура предоставляет возможность для свободного внесения изменений и модификаций благодаря своей лицензии. Однако в плане производительности или других значительных факторов, которые могли бы мотивировать переход с ARM на RISC-V, открытая архитектура пока не предлагает ничего примечательного. Тем не менее, если на базе RISC-V будут разработаны конкурентоспособные чипы, они могут приобрести значительную популярность.
Кирилл Розов является создателем как телеграм-канала, так и ютуб-канала под названием Android Broadcast.
Тем не менее, существуют технооптимисты, которые предсказывают интересные последствия внедрения RISC-V в экосистему Android, хотя это, вероятнее всего, произойдёт не в ближайшее время.
Архитектура RISC-V предоставляет значительно больше возможностей для настройки, масштабирования и расширения благодаря своему открытому исходному коду, что контрастирует с архитектурами ARM и x86. Интеграция RISC-V в операционную систему Android может вызвать ряд серьезных последствий для сферы мобильной разработки:
- Упрощенная архитектура, в отличие от привычных чипов, позволит значительно продлить время работы мобильных устройств без подзарядки и повысить их производительность. Это, в свою очередь, приведет к увеличению ключевых показателей, таких как MAU и DAU, что станет выгодным для всех разработчиков приложений на платформе Android.
- Разработчики мобильных приложений получат больше возможностей для управления как аппаратным, так и программным обеспечением своих устройств. Это, в свою очередь, откроет путь к созданию более оригинальных и эффективных мобильных приложений. К примеру, можно ожидать появление приложений, совместимых с VR-гарнитурами, которые будут обладать функцией отслеживания движений. Благодаря низкому уровню потребления энергии процессоров на архитектуре RISC-V удастся разработать гарнитуры, удобные для длительного ношения без опасности перегрева.
- Архитектура с открытым исходным кодом станет основой для формирования совместной среды разработки мобильных приложений, что предоставит возможность небольшим digital-компаниям соревноваться с крупными игроками на рынке.
Алексей Лачевский является генеральным директором цифрового агентства Trinity Monsters.
Заключение
Каков итог всего происходящего:
- Инициатива Google выглядит как продуманный и обоснованный шаг в контексте конкурентной борьбы, а также как стратегический ход, позволяющий сохранить за собой значительное преимущество.
- В ближайшее время, вероятно, ничего не изменится — разве что компании, которые инвестировали в архитектуру RISC-V, смогут привлечь больше средств и грантов. Это связано с тем, что благодаря инициативе Google RISC-V начинает восприниматься как гораздо более многообещающая и менее периферийная технология.
- Вряд ли в будущем мобильным разработчикам предстоит столкнуться с какими-то значительными изменениями. Все аспекты, связанные с аппаратным обеспечением, остаются закрытыми для них со стороны Google, и взаимодействие с «железом» осуществляется исключительно через API.
Читайте также:
- Компания Google планирует представить своего соперника ChatGPT, который будет называться Bard.
- В 22 года устроиться в одну из компаний из списка большой четвёрки может показаться сложной задачей, но история Артёма, дата-сайентиста, служит отличным примером. Он поделится своим опытом и теми шагами, которые помогли ему достичь этой цели.
С самого начала своей карьеры Артём проявлял интерес к анализу данных и программированию. Он усердно учился, получая знания как в университете, так и самостоятельно, изучая различные онлайн-курсы и литературу по специальности. Это стремление к обучению стало основой его профессионального роста.
Во время учебы Артём активно участвовал в конкурсах и хакатонах, что позволило ему не только применить свои навыки на практике, но и завести полезные знакомства в сфере. Эти мероприятия помогли ему создать впечатляющее портфолио, которое позже сыграло ключевую роль в его трудоустройстве.
После окончания университета Артём не терял времени и начал искать стажировки в крупных компаниях. Он понимал, что опыт, полученный на начальных позициях, крайне важен для дальнейшего карьерного роста. Усердие и настойчивость принесли свои плоды: он получил стажировку в одной из известных фирм, где смог продемонстрировать свои навыки работы с данными.
Работа в стажировке позволила Артёму не только развивать свои технические способности, но и ознакомиться с корпоративной культурой и спецификой работы в команде. Он активно искал возможности для улучшения своих навыков и не упускал шанса учиться у более опытных коллег.
Вскоре, благодаря своим достижениями и рекомендациям, Артём получил предложение о постоянной работе в компании из большой четвёрки. Его история — это яркий пример того, как целеустремлённость, постоянное саморазвитие и активное участие в профессиональном сообществе могут привести к успеху в карьере.
- Создание собственного приложения для платформы Android – это увлекательный и познавательный процесс, который можно осуществить самостоятельно. Чтобы успешно реализовать свою идею, стоит следовать определенному плану.
В первую очередь, необходимо определить концепцию вашего приложения. Подумайте о том, какую проблему оно должно решать или какую ценность приносить пользователям. После этого стоит составить список функций, которые вы хотите включить, и продумать интерфейс.
Следующим шагом будет выбор инструментов для разработки. В большинстве случаев разработчики выбирают Android Studio – это официальная интегрированная среда разработки (IDE) от Google. Она предоставляет все необходимые ресурсы для создания приложений, включая эмулятор для тестирования и различные библиотеки.
Изучение языка программирования, необходимого для разработки, тоже имеет большое значение. Наиболее популярным языком для Android является Java, хотя всё чаще используется Kotlin благодаря его современным возможностям и лаконичности.
После того как вы освоите основы и подготовите среду, можно переходить непосредственно к написанию кода. Начните с простейших функций, постепенно добавляя новые элементы. Не забывайте тестировать приложение на разных устройствах, чтобы убедиться в его корректной работе.
Когда приложение будет готово, следует подготовить его к публикации. Для этого вам нужно зарегистрироваться в Google Play Console, создать описания, загрузить иконки и скриншоты, а затем представить своё приложение на рассмотрение.
Таким образом, создание Android-приложения самостоятельно требует времени и усилий, но при должной настойчивости и стремлении к обучению, вы вполне сможете справиться с этой задачей и реализовать свои идеи.