Основні проекти RISC-V з відкритим кодом, чому Google піклується та чому вони важливі

RISC-V — це безкоштовний стандарт архітектури набору команд (ISA) із відкритим кодом для систем на кристалі (SoC).

Центральний процесор є одним із найважливіших компонентів наших комп’ютерів, який відповідає за виконання основних обчислень, логічних порівнянь і переміщення даних. Ці прості завдання є будівельними блоками будь-якої складнішої операції та роблять можливим запуск наших систем і програм.

Те, як виконуються ці операції, не є випадковим: архітектура набору інструкцій (ISA) визначає, що вони собою являють і що мають робити комп’ютерні процесори.

ISA визначає підтримувані інструкції та функції, але не визначає, як саме ці інструкції виконуються. Подумайте про це як про рецепт приготування — скажімо, це для бубликів: хоча рецепт однаковий, кожен шеф-кухар виконуватиме його по-різному, наприклад, по-різному розташує насіння кунжуту. Шеф-кухар, який готує страви за рецептом, у нашому прикладі — це комп’ютерний процесор, який виконує інструкції відповідно до визначеного ISA. Хоча в теорії результат завжди буде незмінним: смачний бублик.

Логотип ARMІнший набір інструкцій може не визначати безпосередньо кип’ятіння води, але дозволяє виконувати певні операції з об’єктами замість цього: нагрівати, вимірювати та порівнювати. Тепер шеф-кухар мав би нагріти воду та порівняти її виміряну температуру з відомою температурою кипіння. Існує два основних типи архітектури процесорів: обчислення зі складним набором інструкцій (CISC) і обчислення зі скороченим набором інструкцій (RISC).

Простіше кажучи, мета CISC полягає в тому, щоб полегшити роботу програмістів (пропонуючи інструкцію кип’ятити воду, іншу – нагрівати олію тощо) ціною більшої процесорів, тоді як RISC намагається мати простіший набір інструкцій, що вимагає від програмістів додаткових зусиль, але призводить до менших процесорів і меншої потужності споживання. Через те, що дві архітектури мають різні можливості, програма, яка працює на одній, зазвичай має бути переписана для запуску на іншій. Однією з найпопулярніших сьогодні архітектур смартфонів є частина сімейства RISC: ARM, що означає Acorn RISC Machine.

Варто зазначити, що це в основному стосується компіляторів програмування/портування. Для інших цілей, таких як створення користувацьких програм, ви зазвичай використовуєте мову високого рівня, яку можна порівняти з CISC на рівні програмного забезпечення. Інша важлива примітка полягає в тому, що це порівняння має на меті дати вам просте, але інтуїтивно зрозуміле розуміння цих понять. Точне, глибоке пояснення було б набагато довшим і більш технічним.

Це нарешті підводить нас до RISC-V (вимовляється як «ризик п’ять»), який є безкоштовним ISA з відкритим кодом для SoC. (Системи на чіпі, які в основному упаковують ЦП та інші необхідні компоненти для роботи системи разом). Більшість інших ISA, таких як Intel, IBM або ARM, є власністю і не можуть використовуватися іншими без ліцензій (переговори про які можуть тривати кілька років). З іншого боку, RISC-V може використовуватися, впроваджуватися та створюватися будь-ким безкоштовно, єдиною реальною умовою є визнання авторів RISC-V.

Це дозволяє незалежним дослідникам і розробникам впроваджувати власні процесори або модифікувати реалізації RISC-V з відкритим кодом, те, що неможливо, наприклад, з ліцензією ARM (для цього потрібна окрема ліцензія, яку близько 15 великих компаній мати). У той же час ISA також може бути розширена та змінена компаніями без публікації вихідного коду, порівнянно з Android. Відсутність ліцензійних зборів також означає дешевші процесори, хоча на практиці це не значно знизить ціни на смартфони, навіть якщо RISC-V набуває широкого використання в довгостроковій перспективі: гонорар за SoC просто не становить величезної частини вартості смартфона (Qualcomm приймає 2.5—5% від ціни продажу як роялті, наприклад).

RISC-V не є першою безкоштовною ISA, оскільки існують і інші. Найпопулярнішим і найбільш активно розробляється з інших є OpenRISC, яка почалася в 2000 році і випущена під GNU GPL. Ігнорування інші відмінності, дозволяюча ліцензія RISC-V робить його більш правдоподібним для прийняття більшими компаніями, і це має значення. Наприклад, Google, Hewlett-Packard Enterprise (HPE) і Oracle є трьома більшими компаніями, які нещодавно приєднався робоча група стандарту RISC-V, ефективно демонструючи свою зацікавленість у RISC-V як відкритому стандарті. Поки всі реалізації відповідають специфікаціям («сумісні з RISC-V»), клієнти зможуть використовувати одну екосистему або інший (наприклад, GNU/Linux) теоретично, тоді як компанії мали б стимул робити це, щоб уникнути необхідності писати або портувати свої системи з подряпина. У той же час RISC-V набирає обертів, що означає, що менші компанії можуть фактично підтримувати спільноту з відкритим кодом, маючи при цьому гнучку систему (одна з таких компаній, зацікавлена ​​в RISC-V, низький РИЗИК).

Залишається з'ясувати, чи зможе RISC-V принести реальні покращення чи ні для клієнтів, які можуть бути зацікавлені у відкритих системах або запуск будь-якої підтримуваної операційної системи на сумісні SoC. У той же час існують інші потенційні проблеми, окрім тяги RISC-V: хоча дозвільна ліцензія має певні переваги, вона також може дозволити гігантам використовувати Стратегія Embrace, Extend and Extinguish (який можливо, випадок коли йдеться про Android/AOSP і служби Google, або навіть Android Wear) – хоча хтось може стверджувати, що це все одно краще, ніж поточна ситуація. Можна навіть провести порівняння між цим і сьогоднішньою сценою Android, де намагаються різні OEM-виробники щоб диференціювати свої скіни, щоб залучити більше користувачів, і користувальницькі спільноти ПЗУ, що зберігаються для влади користувачів.

Відвідайте Веб-сторінка RISC-V якщо ви хочете дізнатися більше про історію та цілі проекту або навіть спробуйте реалізацію RISC-V самостійно.