[an error occurred while processing this directive]
|
А вот как: "рисуем" простой статический автомат. В нем одно состояние - исходное и N-состояний, соотв. N-запросам.
1. Исходное- проверяем наличие запросов, если нет - ждем, те переходми в это-же состояние, если есть - переходим на обслуживание в состояние, соотв. запросу. Порядок проверки запросов и даст приоритет. Сначала проверяеся самый верхний.
2. В состоянии N-ого приоритета ждем, когда закончится запрос и пока он не закончился, переходим в это-же состояние. Когда запрос этого N-ого приоритета закончился, переходим в исходное. тогда при передаче приоритетов потеряем 1 такт. Или проверяем наличие других приоритетов, как в п.1, но при этом затратим больше ресурсов.
А все остальное компилятор сделает сам. Успехов. Иосиф Каршенбойм.
E-mail: info@telesys.ru