Написать обработчик handler: прерывания по таймеру RARS Timer Tool, который по заданному интервалу переключает управление между N «параллельными» заданиями, а по прошествии определённого времени запускает ещё одно задание — финальное. Параллельные задания оформлены как вечные циклы, финальное вызывает ecall 10. Дополнительно написать подпрограмму boot:, которая принимает пять параметров:

  1. Адрес таблицы заданий
  2. Количество заданий (N)
  3. Адрес финального задания
  4. Время окончания работы (в милисекундах)
  5. Интервал переключения между заданиями (в милисекундах)

Подпрограмма boot: должна настраивать обработчик, включать прерывания и запускать первое задание.

<!> Количество тактов в секунду у RARS дичайше плавает, так что сравнение происходит с точностью до целой части.

1000
3

Подсказка: контекст процесса, который надо сохранять и восстанавливать при переключении, — это uepc и регистры a*

1.0261073


CategoryHomework

LecturesCMC/ArchitectureAssembler2025/Homework_MultiTasking (последним исправлял пользователь FrBrGeorge 2025-04-19 21:33:41)