Kod

RISC-V: Czym jest ta architektura i dlaczego Google wybrało ją dla Androida?

RISC-V: Czym jest ta architektura i dlaczego Google wybrało ją dla Androida?

Nauka programowania w Pythonie: od początkującego do profesjonalisty Tworzenie imponującego portfolio: 4 ekscytujące projekty Interakcja z nauczycielem: komunikacja na żywo dla lepszego przyswajania wiedzy

Dowiedz się więcej

Na początku tego roku, podczas konferencji RISC-V Summit, przedstawiciele Google wyrazili zainteresowanie Ta architektura. Wcześniej firma przez długi czas milczała w tej sprawie i nie dzieliła się informacjami o swoich działaniach w tym obszarze. Zastanówmy się, jak może to wpłynąć na rozwój Androida i jakie cele Google realizuje w tym kontekście.

„Jak to wpłynie na rynek?” to nowy felieton, w którym analizujemy, jak różne wydarzenia wpływają na rynki i codzienne życie zwykłych programistów.

Czym jest RISC-V

RISC-V to architektura procesora i zestaw instrukcji o otwartym kodzie źródłowym. Każda organizacja może korzystać z tej technologii bez żadnych kosztów, podobnie jak w przypadku Linuksa czy serwera WWW Apache. Nazwa RISC-V wskazuje, że opiera się on na koncepcji RISC (komputer o zredukowanym zestawie instrukcji), która polega na wykorzystaniu zaawansowanych instrukcji w celu zwiększenia wydajności procesora.

Termin „zredukowany” jest często postrzegany jako oznaczający niewielką liczbę instrukcji, ale w rzeczywistości odzwierciedla on zarówno ich rozmiar, jak i czas potrzebny do ich wykonania, w tym czas dostępu do pamięci w cyklu podstawowym. Ponadto każda instrukcja ma stałą długość. Rodzina procesorów z architekturą RISC obejmuje takie modele jak RISC-V, PowerPC, ARM i inne.

Istnieje alternatywne podejście do architektury systemów obliczeniowych, znane jako CISC (komputer o złożonym zestawie instrukcji), które jest stosowane w szczególności w procesorach firm Intel i AMD. W ramach tej architektury instrukcje mogą mieć różną długość, a same instrukcje są zdolne do wykonywania dość złożonych operacji. Chociaż nowoczesne procesory Intela posiadają cechy architektury RISC w swojej implementacji sprzętowej, nadal działają w oparciu o architekturę CISC, co oznacza, że ​​wszystkie instrukcje CISC są przed wykonaniem tłumaczone na RISC.

Architektura RISC-V zyskuje na popularności wśród twórców smartwatchy i różnego rodzaju urządzeń, a także w dziedzinie mikrokontrolerów. Wsparcie dla tej architektury jest obecne w jądrze Linuksa, a także na przykład w Haiku. Rozwój RISC-V odbywa się w ramach inicjatyw Linux Foundation, co przyczynia się do jej dalszego rozwoju.

Przenieśliśmy system operacyjny Haiku na architekturę RISC-V, wybierając ją zamiast ARM. Powody tego wyboru były dość proste: odstraszyła mnie złożoność związana z systemem przerwań w ARM, wieloprocesorowymi trybami pracy oraz skomplikowaną organizacją MMU. Proces portowania Haiku był w dużej mierze inspirowany projektem xv6, który jest implementacją klasycznego Uniksa autorstwa Dennisa Ritchiego i Briana Kernighana dla RISC-V. Użyłem TinyEMU jako emulatora dla RISC-V, chociaż istnieje wiele innych opcji dla tej architektury.

Jeśli chodzi o interakcję RISC-V z Androidem, stanowi to znaczącą zaletę dla naszego projektu. Gdy tylko urządzenia z Androidem z architekturą RISC-V pojawią się na rynku, będziemy mogli uruchomić Haiku na tabletach i smartfonach.

Ilya Chugin, twórca portu RISC-V dla Haiku, jest znany w sieci pod pseudonimem x512.

Tło

W październiku 2022 roku inżynierowie z Chin ogłosili rozpoczęcie prac nad wersją Androida opartą na architekturze RISC-V. Decyzja ta była odpowiedzią na narastające sankcje USA, które ograniczyły dostęp do technologii produkcji alternatywnych mikroprocesorów. W tej sytuacji otwarta architektura RISC-V szybko zyskała na popularności i zainteresowaniem.

Ponieważ Android był jedynym dostępnym na rynku systemem operacyjnym dla urządzeń mobilnych, inżynierowie w Chinach postanowili dostosować go do architektury RISC-V. Google prawdopodobnie w ramach życzliwości udostępnił użytkownikom niektóre zastrzeżone aspekty niskopoziomowych elementów swojego mobilnego systemu operacyjnego.

Zaangażowanie chińskich deweloperów, ze szczególnym uwzględnieniem Alibaba Group, odegrało kluczową rolę w utworzeniu nowego repozytorium RISC-V dla Androida w serwisie GitHub.

Obecnie Android jest kompatybilny z architekturami ARM, MIPS i x86. Jednak obsługa RISC-V nie jest jeszcze dostępna. Emulator obiecuje wkrótce wdrożyć tę obsługę, a przedstawiciele Google twierdzą, że integracja środowiska uruchomieniowego Androida z RISC-V jest spodziewana w pierwszym kwartale 2023 roku.

Obecnie architektura ARM zajmuje wiodącą pozycję w świecie technologii. Procesor M1 firmy Apple wywołał prawdziwą sensację w sektorze IT. Wokół ARM wybuchła poważna konkurencja. NVIDIA próbowała przejąć ARM za 40 miliardów dolarów, ale inne firmy sprzeciwiły się temu i transakcja została uznana za nieważną, co doprowadziło do wycofania się NVIDIA. Nie jest to zaskakujące, ponieważ gdyby transakcja doszła do skutku, NVIDIA nie tylko umocniłaby swoją pozycję na rynku układów graficznych, ale także przejęła kontrolę nad jedną z wiodących architektur mikroprocesorowych. Mogłoby to doprowadzić do ograniczenia dostępu Intela i AMD do tej technologii, a tym samym do uzyskania monopolu w tej dziedzinie.

Coraz więcej krajów wykazuje zainteresowanie architekturą RISC-V, a liczba urządzeń obsługujących te procesory stale rośnie. Jednak obecnie nie ma wydajnych procesorów, które mogłyby konkurować na poziomie smartfonów, serwerów czy komputerów osobistych. Jedynym przykładem jest laptop wydany w Chinach, którego parametry pozostawiają wiele do życzenia. Niemniej jednak procesory oparte na architekturze RISC-V już teraz wykazują wysoką wydajność w takich obszarach jak Internet Rzeczy i smartwatche. Sugeruje to, że w przyszłości możemy spodziewać się pojawienia się bardziej wydajnych rozwiązań opartych na tej platformie.

Obecnie Europa aktywnie wspiera architekturę RISC-V. W przeszłości w Rosji działały również potężne grupy lobbingowe, które dążyły do ​​„pogrzebania” procesorów takich jak Elbrus i Bajkał, a także innych krajowych projektów. Grupy te nalegały na uznanie RISC-V za „jedyną prawdziwą” architekturę, podkreślając potrzebę inwestowania wyłącznie w nią. Korzenie tych lobbystów sięgają firm takich jak Intel, Samsung i IBM – przedstawicieli tej samej monopolistycznej grupy, której nie udało się nawiązać bezpośredniej konkurencji z ARM. Należy zauważyć, że to właśnie te firmy kiedyś uniemożliwiły firmie NVIDIA przejęcie ARM, wykorzystując swoje powiązania do zablokowania transakcji. Powodem tego była obawa, że ​​ARM znajdzie się pod kontrolą jednej firmy, co dałoby mu znaczną przewagę rynkową.

Dlatego dodanie obsługi procesorów RISC-V do Androida jest rozsądnym posunięciem i wyraźnym sposobem na ograniczenie ryzyka: jeśli ktoś przejmie ARM, Google nadal będzie miało alternatywę, na którą może się przestawić.

Moim zdaniem nie ma nic złego w zwiększaniu liczby zróżnicowanych architektur. Warto jednak zauważyć, że Android pozostaje zamkniętym systemem operacyjnym na poziomie sprzętowym i jest mało prawdopodobne, aby to się zmieniło, nawet biorąc pod uwagę pojawienie się otwartej architektury RISC-V. Dzięki swojemu systemowi licencjonowania Google zachowuje kontrolę nad producentami smartfonów i prawdopodobnie nie osłabi tej kontroli. Na przykład, jeśli chińskie firmy będą nadal rozwijać własną, otwartą wersję architektury ARM, napotkają trudności w zapewnieniu pełnego wsparcia dla Androida dla wszystkich urządzeń korzystających z ich procesorów na rynku globalnym.

Maxim Gorshenin jest blogerem aktywnie promującym rosyjską mikroelektronikę.

Jak to wpłynie?

Wielu ekspertów pesymistycznie ocenia perspektywy wdrożenia RISC-V w Androidzie, uważając, że raczej nie doprowadzi to do znaczących zmian. W najlepszym razie może to doprowadzić do nieznacznego wydłużenia czasu pracy na baterii i pewnej poprawy funkcjonalności aparatu. Jednak jak dotąd jakość integracji RISC-V z procesorami nie osiągnęła takiego poziomu, aby stać się katalizatorem poważnych innowacji w technologii mobilnej.

Uważam, że nic się zasadniczo nie zmieni ani dla twórców oprogramowania, ani dla użytkowników końcowych. Google ostatnio jest w konflikcie z ARM i dąży do uwolnienia się od zależności od zewnętrznych producentów. Jednak w swojej istocie nadal jest to architektura RISC, podobna do tej używanej przez ARM (znanej jako Advanced RISC Machines). Interesującym aspektem jest to, że może to być krok w kierunku adopcji Chromebooków opartych na procesorach RISC.

Dlatego zmiany w kodzie systemu operacyjnego będą dotyczyć głównie wywołań niskiego poziomu wykonywanych przez samych programistów Androida, które są następnie ukrywane za interfejsami API dostępnymi dla programistów mobilnych. Ogólnie rzecz biorąc, wydaje się to całkowicie rozsądnym i praktycznym posunięciem ze strony Google. Moim zdaniem nie ma tu żadnych poważnych intencji.

Należy jednak zauważyć, że Google jest znaczącym graczem na rynku, dlatego wszyscy uczestnicy, którzy zainwestowali w rozwój platformy RISC-V, w tym projekty open source, będą mieli większe znaczenie. Dotyczy to na przykład projektów takich jak „Bajkał”.

Aleksiej Gładkow jest twórcą kanału poświęconego rozwojowi aplikacji mobilnych.

Aktualne osiągnięcia w rozwoju układów scalonych opartych na architekturze RISC-V również budzą wątpliwości. Obecnie najbardziej wydajne modele, które zresztą nie są produkowane masowo, pod względem parametrów porównywalne są ze starszymi procesorami znanych producentów. Na przykład układ JH7110 można porównać do układu SoC zastosowanego w Samsungu Galaxy S3, który został wydany w 2012 roku (chociaż JH7110 obsługuje architekturę 64-bitową), podczas gdy TH1520 przypomina SoC z Galaxy S7, wydanego w 2016 roku.

Technologia RISC-V ma ogromny potencjał, ale na razie nie widzę powodu, dla którego miałaby być szeroko stosowana w urządzeniach mobilnych. Nie jest jasne, czy wynika to z faktu, że Android nie obsługuje RISC-V, czy też producenci po prostu nie wykazują dużego zainteresowania tym kierunkiem. Jednak dodanie obsługi RISC-V otworzy możliwości rozwoju urządzeń opartych na tej architekturze, które będą kompatybilne z Androidem i mogą ułatwić wydanie nowego pakietu Android NDK.

Nie jest jasne, czy zmotywuje to producentów do rozpoczęcia wydawania urządzeń opartych na RISC-V. Jednak taki krok mógłby ułatwić przejście na RISC-V firmom w Rosji i Chinach, które obecnie nie mają dostępu do technologii ARM.

Procesory Qualcomma cieszą się obecnie dużą popularnością, ponieważ są zbudowane na sprawdzonej architekturze ARM, dla której opracowano liczne rozwiązania programowe. Na przykład Apple aktywnie wykorzystuje ARM w swoich urządzeniach. Jednocześnie nie spotkałem się z żadnymi udanymi procesorami opartymi na RISC-V. Co więcej, duże firmy technologiczne nie ogłosiły jeszcze stworzenia procesorów opartych na tej architekturze. Być może niektóre z nich już je opracowują, ale w niewielkich ilościach. Jednak dopóki znana marka nie zacznie instalować układów RISC-V w swoich smartfonach, wszystko to pozostanie jedynie na poziomie wsparcia programowego, bez znaczącego wpływu na rynek.

Obecnie architektura RISC-V nie ma żadnych wyraźnych zalet, poza tym, że jest otwarta i dostępna na zasadzie bezpłatnej licencji. W przeciwieństwie do ARM, RISC-V nie wymaga żadnych opłat za użytkowanie. Dzięki licencji architektura ta pozwala na bezpłatne zmiany i modyfikacje. Jednak pod względem wydajności lub innych istotnych czynników, które mogłyby uzasadniać przejście z ARM na RISC-V, otwarta architektura nie oferuje jeszcze niczego godnego uwagi. Niemniej jednak, jeśli konkurencyjne układy scalone zostaną opracowane w oparciu o RISC-V, mogą zyskać znaczną popularność.

Kirill Rozov jest twórcą kanału Telegram i kanału YouTube o nazwie Android Broadcast.

Niemniej jednak istnieją technooptymiści, którzy przewidują interesujące konsekwencje wdrożenia RISC-V w ekosystemie Androida, choć jest mało prawdopodobne, aby nastąpiło to w najbliższym czasie.

Architektura RISC-V oferuje znacznie więcej możliwości personalizacji, skalowalności i rozbudowy dzięki swojemu otwartemu charakterowi, który kontrastuje z architekturami ARM i x86. Integracja RISC-V z systemem operacyjnym Android może mieć szereg istotnych implikacji dla rozwoju urządzeń mobilnych:

  • Uproszczona architektura, w porównaniu z tradycyjnymi układami scalonymi, znacznie wydłuży czas pracy baterii urządzeń mobilnych i poprawi ich wydajność. To z kolei doprowadzi do wzrostu kluczowych wskaźników, takich jak MAU i DAU, co będzie korzystne dla wszystkich deweloperów aplikacji na Androida.
  • Deweloperzy aplikacji mobilnych będą mieli większą kontrolę zarówno nad sprzętem, jak i oprogramowaniem swoich urządzeń. To z kolei utoruje drogę do tworzenia bardziej oryginalnych i efektywnych aplikacji mobilnych. Na przykład możemy spodziewać się pojawienia się aplikacji kompatybilnych z zestawami VR, które będą wyposażone w funkcję śledzenia ruchu. Niskie zużycie energii przez procesory RISC-V umożliwi tworzenie zestawów słuchawkowych, które będą wygodne w noszeniu przez długi czas, bez ryzyka przegrzania.
  • Architektura open source stanie się podstawą wspólnego środowiska tworzenia aplikacji mobilnych, umożliwiając małym firmom cyfrowym konkurowanie z dużymi graczami na rynku.

Alexey Lachevsky jest prezesem agencji cyfrowej Trinity Monsters.

Wnioski

Jaki jest wniosek z tego wszystkiego:

  • Inicjatywa Google wydaje się być przemyślanym i uzasadnionym posunięciem w kontekście konkurencji, a także strategicznym, pozwalającym firmie utrzymać znaczącą przewagę.
  • W najbliższej przyszłości prawdopodobnie nic się nie zmieni – poza tym, że firmy, które zainwestowały w architekturę RISC-V, będą mogły pozyskać więcej funduszy i grantów. Dzieje się tak, ponieważ dzięki inicjatywie Google RISC-V zaczyna być postrzegana jako technologia znacznie bardziej obiecująca i mniej marginalna.
  • Twórcy aplikacji mobilnych prawdopodobnie nie będą musieli stawić czoła żadnym znaczącym zmianom w przyszłości. Wszystkie aspekty związane ze sprzętem pozostają dla nich zamknięte po stronie Google, a interakcja ze sprzętem odbywa się wyłącznie za pośrednictwem API.

Czytaj także:

  • Google planuje wprowadzić swojego konkurenta, ChatGPT, który będzie nazywał się Bard.
  • W wieku 22 lat znalezienie pracy w jednej z firm Wielkiej Czwórki może wydawać się trudnym zadaniem, ale historia Artema, data scientist, stanowi doskonały przykład. Podzieli się on swoim doświadczeniem i krokami, które pomogły mu osiągnąć ten cel.

    Od samego początku swojej kariery Artem wykazywał zainteresowanie analizą danych i programowaniem. Uczył się pilnie, zdobywając wiedzę zarówno na uniwersytecie, jak i samodzielnie, studiując różne kursy online i literaturę z zakresu swojej specjalności. Ta chęć uczenia się stała się podstawą jego rozwoju zawodowego.

    Podczas studiów Artem aktywnie uczestniczył w konkursach i hackathonach, co pozwoliło mu nie tylko wykorzystać swoje umiejętności w praktyce, ale także nawiązać przydatne kontakty w terenie. Te wydarzenia pomogły mu zbudować imponujące portfolio, które później odegrało kluczową rolę w jego poszukiwaniach pracy.

    Po ukończeniu studiów Artem natychmiast zaczął szukać staży w dużych firmach. Zrozumiał, że doświadczenie zdobyte na stanowiskach podstawowych jest kluczowe dla dalszego rozwoju kariery. Jego pracowitość i wytrwałość opłaciły się: dostał staż w renomowanej firmie, gdzie mógł wykazać się swoimi umiejętnościami z zakresu data science.

    Staż pozwolił Artemowi nie tylko rozwinąć umiejętności techniczne, ale także poznać kulturę korporacyjną i specyfikę pracy zespołowej. Aktywnie poszukiwał możliwości doskonalenia swoich umiejętności i nigdy nie przepuścił okazji, by uczyć się od bardziej doświadczonych kolegów.

    Wkrótce, dzięki swoim osiągnięciom i rekomendacjom, Artem otrzymał stałą ofertę pracy w firmie z Wielkiej Czwórki. Jego historia jest doskonałym przykładem tego, jak determinacja, ciągłe samodoskonalenie i aktywny udział w życiu zawodowym mogą prowadzić do sukcesu zawodowego.

  • Tworzenie własnej aplikacji na platformę Android to fascynujący i edukacyjny proces, który można realizować samodzielnie. Aby skutecznie wdrożyć swój pomysł, warto trzymać się konkretnego planu.

    Najpierw musisz zdefiniować koncepcję swojej aplikacji. Zastanów się, jaki problem powinna rozwiązywać lub jaką wartość powinna wnosić dla użytkowników. Następnie sporządź listę funkcji, które chcesz uwzględnić, i przemyśl interfejs.

    Kolejnym krokiem jest wybór narzędzi programistycznych. W większości przypadków programiści wybierają Android Studio — oficjalne zintegrowane środowisko programistyczne (IDE) od Google. Zapewnia ono wszystkie niezbędne zasoby do tworzenia aplikacji, w tym emulator do testowania i różne biblioteki.

    Nauka języka programowania wymaganego do tworzenia aplikacji jest również ważna. Najpopularniejszym językiem dla Androida jest Java, choć Kotlin jest coraz częściej używany ze względu na swoje nowoczesne funkcje i zwięzłość.

    Po opanowaniu podstaw i skonfigurowaniu środowiska możesz przejść do kodowania. Zacznij od najprostszych funkcji, stopniowo dodając nowe elementy. Nie zapomnij przetestować aplikacji na różnych urządzeniach, aby upewnić się, że działa poprawnie.

    Gdy aplikacja będzie gotowa, czas przygotować ją do publikacji. Aby to zrobić, musisz zarejestrować się w Konsoli Google Play, utworzyć opisy, przesłać ikony i zrzuty ekranu, a następnie przesłać swoją aplikację do rozpatrzenia.

    Stworzenie aplikacji na Androida samodzielnie wymaga czasu i wysiłku, ale dzięki wytrwałości i chęci do nauki możesz sobie z tym zadaniem poradzić i wdrożyć swoje pomysły.