Основни дизайни на RISC-V с отворен код, защо Google се интересува и защо имат значение

RISC-V е безплатен стандарт за архитектура на набор от инструкции (ISA) с отворен код за системи върху чип (SoC).

Централният процесор е един от най-важните компоненти на нашите компютри, отговорен за извършването на основни изчисления, логически сравнения и преместване на данни. Тези прости задачи са градивните елементи на всяка по-сложна операция и правят работата на нашите системи и програми възможна.

Начинът, по който се извършват тези операции, не е произволен: Архитектурата на набора от инструкции (ISA) определя какво представляват те и какво трябва да правят компютърните процесори.

ISA определя поддържаните инструкции и функции, но не и как тези инструкции се изпълняват конкретно. Мислете за това като за рецепта за готвене - да кажем, че е за гевреци: докато рецептата е една и съща, всеки готвач ще я изпълни по различен начин, например подреждайки сусамовите семена по различен начин. Главният готвач, който готви въз основа на рецептата, в нашия пример е компютърният процесор, изпълняващ инструкции съгласно дефинирания ISA. Резултатът винаги ще бъде един и същ на теория обаче: вкусна франзела.

Лого на ARMРазличен набор от инструкции може да не дефинира директно врящата вода, но вместо това ви позволява да извършвате определени операции върху обекти: нагряване, измерване и сравняване. Сега главният готвач ще трябва да загрее вода и да сравни нейната измерена температура с известната температура на кипене. Има два основни типа архитектура за процесори: Complex Instruction Set Computing (CISC) и Reduced Instruction Set Computing (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).

Остава да се види дали RISC-V може да донесе действителни подобрения или не за клиенти, които може да се интересуват от отворени системи или от поддържана операционна система на съвместими SoC. В същото време има и други потенциални опасения освен сцеплението на RISC-V: докато разрешителният лиценз идва с определени предимства, той също може да позволи на гигантите да използвай Стратегия "Прегърни, разшири и изгаси". (кое е може би случаят е такъв когато става въпрос за Android/AOSP и услугите на Google, или дори Android Wear) -- въпреки че може да се твърди, че това все още би било по-добро от текущата ситуация. Може дори да се направи сравнение между това и днешната сцена на Android, като различни OEM производители се опитват да диференцират кожите си, за да спечелят повече потребители и потребителски ROM общности, които продължават да се стремят към власт потребители.

Посетете RISC-V уеб страница ако искате да научите повече за историята и целите на проекта или дори опитайте сами внедряване на RISC-V.