G
enby!

Оптимизируем время входа в прерывание для CH32X035

Финальная серия сериала. Сегодня мы разберёмся, сколько же тактов тратится на вход в прерывание CH32X035, если ничего не делать (а используемая нами библиотека входит именно так, ибо пользуется штатным RISC-V компилятором) и сколько, если учесть возможности, добавленные к архитектуре производителями контроллеров (правда, компилятор должен быть фирменным). Что такое регистры общего назначения, я рассказываю в лекциях про ассемблер: Раз:    • 05а Азы ассемблера RISC V, часть 1   Два:    • 05б Азы ассемблера RISC V, часть 2   Три:    • 05в Азы ассемблера RISC V, часть 3   Почему сохранять можно не все регистры, я рассказываю тут:    • 19в Соглашения о вызовах функций для RISC-V   А почему нужно в принципе - тут: Раз:    • 21а Прерывания RISC-V (до перерыва)   Два:    • 21б Прерывания после перерыва   Статья на Хабре, в комментариях под которой мне доказывают, что прерывания в "Амуре" вырезаны для заботы о программистах: https://habr.com/ru/articles/872890/

Смотрите также