URL данного справочника
НавигаторИнструкции
арифметические сдвиги загрузки сохранения См. также
|
![]() Инструкции базового набора RV64IНабор команд RV64I дополняет основной 32-битный набор RV32I.
Т.е. все, что входит в "предшествующий" набор RV32I, описанный ранее, по-прежнему работает: например, при написании 64-битных программ можно прользоваться условными переходами, а команда
Набор RV64I предназначен для работы с 64-битными целыми числами. При этом возможно два варианта арифметических операций и сдвигов:
Например, инструкция Зачем это нужно? Философия у авторов RISC-V была такая. 64 бита полезны главным образом при задании больших адресов памяти. Что же касается чисел, то в большинстве практических задач 232 = 4 294 967 296 - это уже достаточно много. Так что для чисел старшие 32 бита можно не использовать, а главное - не тратить время на их чтение из памяти. Подчеркнем, что "расширенные" таким образом 32-битные числа корректно обрабатываются остальными командами, например, их можно сравнивать в инструкциях условных переходов. В набор RV64I входит 15 инструкций: 3 арифметических, 9 сдвигов и 3 инструкции обмена 64-битными данными с ОЗУ. С примерами можно познакомиться в описаниях сответствующих инструкций. Особое внимание рекомендую обратить на инструкции сдвигов, которые имеют некоторые тонкости в кодировании для RV32I и RV64I. Все инструкции RV64I имеют разрядность 32 бита. Примеры кодирования инструкций показаны при их описании. |