ЛР 6 для ИВТ. Как проверять работоспособность подсистемы прерывания? #44
-
|
Может посоветовать, как проверять прерывания( инструкции CSR, mret и т.д. )? Мы нашли заметку про RARS из 4ой лабы.
Но можете поподробней написать про тестирование процессора, потому что про это в лабе ни слова? До этого мы пользовались venus, и он ни csr, ни mret не поддерживает. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
К сожалению, ручками. То есть нужно написать программку на языке ассемблера, например, в RARS, запустить ее на симулированном процессоре и потом смотреть потактово, что все работает правильно и в соответствии с ожиданиями. Например, написали программку: вечный цикл + обработчик прерывания на 10 входе прерывания (подобно примеру из лабника). Потом запускаете и смотрите, что цикл шлепает и сам он в прерывание не заходит. Потом моделируете сигнал, что прерывание произошло на 5 входе - ничего не происходит, потом на 10-ом - происходит прерывание, значит правильно работает. Типа такого. Да, это плохая верификация, она не гарантирует правильный результат, плюс неудобная, но с одной стороны альтернатив пока нет, а с другой это некоммерческое изделие, поэтому можно) @HepoH3 может быть добавит слова о автоматической проверке, в прошлом году ребята поднимали сервис для этого. Резюмирую: пишите программу, смотрите поведение на временных диаграммах. Если поведение прогнозируемое, то все работает правильно. + ждем комментарий от Андрея Павловича |
Beta Was this translation helpful? Give feedback.
К сожалению, ручками. То есть нужно написать программку на языке ассемблера, например, в RARS, запустить ее на симулированном процессоре и потом смотреть потактово, что все работает правильно и в соответствии с ожиданиями. Например, написали программку: вечный цикл + обработчик прерывания на 10 входе прерывания (подобно примеру из лабника). Потом запускаете и смотрите, что цикл шлепает и сам он в прерывание не заходит. Потом моделируете сигнал, что прерывание произошло на 5 входе - ничего не происходит, потом на 10-ом - происходит прерывание, значит правильно работает. Типа такого.
Да, это плохая верификация, она не гарантирует правильный результат, плюс неудобная, но с одной стороны альт…