Какое поведение ожидается от ядер RISC-V при попытке записи в регистры управления (CSR), доступные только для чтения?

Какое поведение демонстрируют ядра RISC-V при попытке записи в регистры управления (CSR), которые имеют атрибут только для чтения?
  • 31 марта 2025 г. 19:04
Ответы на вопрос 2
В архитектуре RISC-V попытка записи в регистры управления (CSR), которые имеют атрибут только для чтения, приводит к возникновению исключения. Этот механизм позволяет защитить критически важные системные регистры от несанкционированного изменения.

В RISC-V предусмотрены различные уровни привилегий, и доступ к регистрам CSR зависит от уровня привилегий, с которого происходит выполнение инструкции. Если программа пытается выполнить запись в CSR, предназначенный только для чтения, процессор:

1. Генерирует исключение (обычно это "illegal instruction" или "store access fault", в зависимости от конкретной реализации).
2. Если система настроена на обработку таких исключений, она может не завершать работу, а передать управление системе обработки исключений.

Таким образом, попытка записи в регистр CSR, доступный только для чтения, будет неуспешной и вызовет обработку исключения в соответствии с архитектурными спецификациями RISC-V.
Ну обычно подобная запись игнорируется. Значение не изменяется, ошибок не возникает
Похожие вопросы