Do you have a question? Post it now! No Registration Necessary
- Arcady Schekochikhin
April 1, 2004, 5:36 am


Именно что ОС имеет значение. Вопрос как раз в том - сколько действий надо
произвести
для обработки прерывания (для источника данных - извлечь данные, проверить
статусы,
буферизовать данные, дать знать вышележащему уровню). Опять таки - разделяемые ли
прерывания - ведь иначе разруливатель будет вызван и он уже будет звать все
обработчики.
Далее - если это не PCI master то значит данные надо извлекать из регистров - а
это
всегда медленно - хорошо хоть не ISA регистры. Нормально сделанное железо при
таких
скоростях включает в себя ФИФО и группирование прерываний (одно прерывание на
кучу
событий). Еще лучше когда пишется прямо в память в выделенные буфера - но все
равно
это данные потом придется отдавать на верхний уровень - но хотьне 500000 раз в
секунду.

Когда устройство буферизует данные и вместо прерывания просто выставляет флаг в
регистре или в памяти, а ОС каждые N ms (например) вызывает для всех участвующих
драйвер специальную точку входа. Драйвер смотрит - если данных нет то отвалить.
Да - лишняя работа - но зато для всех драйверов - всего одно переключение
контекста.

Не очень понятно - "если все остально будет работать медленно..." - суть стенда
именно
в ПОКАЗАТЬ. То есть вас интересует полный цикл - от прихода данных до
отображения!
Аркадий
Site Timeline
- » введение в ARM-процессоры
- — Next thread in » Microcontrollers (Russian)
-
- » LCD
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » Drut srebrny, albo grubo posrebrzony miedziany.
- — The site's Newest Thread. Posted in » Electronics (Polish)
-