Здравствуйте, vdimas, Вы писали:
N>>И сидят три процессора и рулят каждый своим шаговым двигателем, отсчитывая nopʼами задержку... ой, нет трёх процессоров? Какой облом. Значит, таймеры в софте, очередь ближайших срабатывающих (ну, сделана массивом или вообще явным тестом
V>Каким "тестом"?
V>Что тестировать-то?
V>Просто в цикле крутишь несколько счетчиков параллельно, при обнулении счетчика выдаёшь сигнал.
А некоторые не крутишь, ибо закончились. А код, по твоему варианту, крутит их всех.
V>Причем, в одном слове можно располагать несколько счетчиков обычно.
N>>на каждой итерации — неважно)? А как же пункт 1?
V>Это ты слишком сложные для себя вопросы пока задаешь. ))
Это ты не можешь простейший алгоритм в голове уложить, чтобы не ляпнуть по-тупому такое, что смеются не только лишь все (tm).
V>>>2. Точность таймера с учётом времени реакции на прерывание может не удовлетворять требуемым скоростям (скоростям обработки детали, например).
N>>Это же какой контроллер надо подобрать, чтобы он на прерывание реагировал дольше, чем длится 2-3 команды?
V>Любой, с длиной конвейера больше 2-х, вестимо.
Воистину фейспалм — писали контроллеры такие же "спецы", если у них прерывание не может врезаться в конвейер, когда это действительно нужно. Хотя им это не нужно — они же поллят и получают ту же проблему с конвейером и без прерываний
V>В любом случае, для сценари использования таймера "выдай мне прерывание через столько-то времени" (а там именно такой сценарий) — это будет накопление ошибки, бо обычно у тебя нет никакой информации о том, сколько действительно времени потребовалось на реакцию на таймер. А когда таймеров более одного, ты находишься в обработке прерывания одного из них, прерывания от других запрещены... Дальше продолжать или уже догадался?
Двойной фейспалм — вместо таймеров использовать туалетную бумагу, которая не в состоянии показать даже текущее время. Ну и "спец", который рассказал про событие от одного таймера во время прерывания другого, но точно так же забыл про событие от одного таймера во время поллинга группы таймеров, по рецепту этого же "спеца".
N>>Там должны быть кэш DRAM, OoO исполнение команд... ой, а откуда это он у нас такой? Кто его сюда поставил?
V>Ну вот опять. В неприличной форме напрашиваешься на грубый ликбез.
V>Скучно...
Твой образ на RSDN никакого ликбеза провести не в состоянии — ему самому в школу идти надо, с нуля.