ЛР 6 для ИВТ. Ошибка на рисунке реализации CSR #41
-
|
Правильно ли я понимаю, что есть опечатка в методичке, и операнды в выражении нужно поменять, чтобы привести выражение в соотсетствие со схемой |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 12 replies
-
|
Да, все правильно, тут опечатка, должно быть csrrc rd, csr, rs1 # rd = csr, csr = csr & ~rs1 |
Beta Was this translation helpful? Give feedback.
-
|
Можете пояснить, в какой набор эти инструкции входят? В методичке написано, что входят в базовый набор , но в самой таблице их нет Ну и не понятно, как обработывать mret, например. Его код, вообще кажется, совпадает с ecall |
Beta Was this translation helpful? Give feedback.
-
|
И еще вопрос. В методичке сказано, что аппаратные прерывания асинхронные. То есть, как я понимаю, они должны прерывать выполнение текущей инструкции и обрабатываться немедленно, но у нас, тк PC вытаскивает новые инструкции по clk, то обработка прерывания( загрузка первой инструкции из обработчика прерывания ) может начаться только после окончания обработки текущей инструкции. И получается, что прерывать мы можем только многотактные инстукции load/store. |
Beta Was this translation helpful? Give feedback.







Да, все правильно, тут опечатка, должно быть
~WD & RDпотому, что наWDприходит значение из регистрового файлаrs1, аRDэто значение регистра изCSR, всё это нужно для операции