Современная электроника №3/2026
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 17 WWW.CTA.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА • № 3 / 2026 ван более узко как устройство для приборов и систем учёта энергоре- сурсов. Несмотря на относитель- ную скромность возможностей, эти чипы могут рассматриваться как пер- вый успешный шаг на пути создания полноценных отечественных микро- процессоров. В то же время ограни- ченность ресурсов выпускаемых микросхем делает полезными пони- мание основных идей их программи- рования на низком уровне. По нашему мнению, особую акту- альность рассмотрению вопросов, связанных с RISC-V, придаёт недо- статочное количество материалов по данной архитектуре, особенно на русском языке. Оригинальное английское изложение стандарта хотя и достаточно подробно для тех- нических специалистов, но читает- ся тяжело; часто многие очевидные авторам-разработчикам детали про- пущены. Например, довольно труд- но самостоятельно догадаться, зачем таким хитрым способом переставля- ются биты в смещении у команд пере- ходов, а ведь там есть определённый смысл [6]. В качестве источников, помогаю- щих разобраться в стандарте, пре- жде всего упомянем авторский Атлас [7] и диссертацию одного из разра- ботчиков стандарта Э. Уотермана [8]. В широко известных книгах [9] и [10], переписанных недавно под RISC-V (последняя переведена на рус- ский язык), про процессор рассказы- вается «попутно» – хорошо, понятно, но только те детали, которые связа- ны с изложением основной темы кни- ги. Из удачных вводных материалов на русском языке хотелось бы также порекомендовать читателям обзор [11] и описание в Сети [12]. В данной статье будет детально рас- смотрена простая на первый взгляд проблема программного занесения в регистр микропроцессора требуемо- го значения. Но, как оказывается при более подробном рассмотрении, при задании некоторых величин могут возникать трудности. Они специфич- ны для RISC-V, так что познания по другим процессорам не всегда помо- гают, о чём свидетельствуют встреча- ющиеся на форумах вопросы. Что такое RISC-V? Рассмотрение начнем с названия. Аббревиатура RISC ( Reduced Instruction Set Computer – компьютер с сокращён- ной системой команд) введена дав- но и описывает компьютер, у кото- рого набор команд содержит только самые необходимые, зато очень быстро выполняемые операции (осо- бенности сокращённого набора будут обсуждаться далее). Технология RISC зарекомендовала себя настолько хорошо, что даже создатели более ранней альтернативной ветви про- цессоров CISC ( Complex Instruction Set Computer – компьютер с полной или, как иногда переводят, «сложной» системой команд), таких как Intel, сейчас используют внутри тщатель- но оптимизированное RISC-ядро. Что касается последнего символа V в названии RISC-V, то это римская цифра пять, так что по-русски, види- мо, правильно читать имя как «RISC пять» (или, возможно, «RISC пятый»). «Пятёрка» означает [3, 4] порядковый номер набора RISC-инструкций, раз- работанного в университете Беркли в США (предыдущие четыре: RISC-I, RISC-II, SOAR и SPUR). С другой сторо- ны, авторы стандарта упоминают, что одновременно символ V ссылается на слова «Variations» и «Vectors», намекая на одну из целей разработки: иссле- дование разнообразных компьютер- ных архитектур. Как сокращают систему команд «Областью, в которой “встречают- ся” программист и конструктор ком- пьютеров, является набор машин- ных команд» [2]. В литературе часто используется английский эквива- лент термина: ISA – Instruction Set Architecture . С одной стороны, инженерам хочет- ся, чтобы набор инструкций был как можно проще: тогда его легче реа- лизовать и оптимизировать. Напро- тив, программисты желают видеть как можно больше всевозможных аппаратно реализованных инструк- ций, причём чем каждая из них будет более вариативной и мощной, тем удобнее: можно быстрее написать крупную программную систему и сде- лать её компактнее. В этом и заклю- чается корень проблемы. По сути, речь идёт о границе раздела «пол- номочий» аппаратной и программ - ной частей. Первоначально программисты писали программы на языках, близ- ких к машинному. Поэтому было удобно, когда система команд процес- сора хорошо развита и разнообразна. По сравнению с «ручными» вычисле- ниями машины получали результат очень быстро, а значит, требования к оптимизации были тогда не особен- но высокими. Но со временем ситуа- ция существенно менялась. Росли воз- можности языков программирования высокого уровня, писать программы на них стало значительно легче и быстрее. Как следствие, всё большее количество программистов отдаля- лось от машинного языка, так что тре- бования к удобству низкоуровневой системы команд компьютера отодви- гались на задний план. Зато требова- ния к производительности компьюте- ра, наоборот, выросли, в том числе и потому, что по мере увеличения коли- чества промежуточных программных слоёв происходит потеря эффективно- сти результирующего кода. Казалось бы, чем мощнее инструк- ции в системе команд процессора, тем легче получить эффективный код. Но, как показывает кропотливый стати- стический анализ кода транслиро- ванных программ, его основная часть состоит главным образом из простых команд [2]. Секрет, видимо, в том, что стремление к универсальности плохо сочетается со спецификой сложных и уникальных инструкций. Следова- тельно, и с этой точки зрения сильно усложнять систему команд тоже не требуется, напротив, вполне можно обойтись усечённым набором самых необходимых инструкций. Большой исторический опыт конструирования вычислительной техники де-факто сформировал и «отточил» компакт- ный универсальный набор элемен- тарных инструкций, на базе которо- го может быть реализована любая программа. Таким образом, мы видим, что эволюция компьютеров естествен- ным путём приводит к изменени- ям в построении набора машинных инструкций. Ради получения более высокой производительности от пол- ной системы команд CISC происходит переход к упрощённой RISC. В частно- сти, на основе анализа опубликован- ных данных в [13] сделан вывод о том, что при равной тактовой частоте про- изводительность RISC по сравнению с CISC приблизительно удваивается. Кроме того, есть ещё одно мощное положительное следствие из рассма- триваемого RISC-подхода – упроще- ние электронной схемы процессора.
RkJQdWJsaXNoZXIy MTQ4NjUy