Re: современные x86 и прерывания

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Quoted text here. Click to load it

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

Quoted text here. Click to load it

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

Quoted text here. Click to load it

Не очень понятно - "если все остально будет работать медленно..." - суть стенда
именно
в ПОКАЗАТЬ. То есть вас интересует полный цикл - от прихода данных до
отображения!

Аркадий

Site Timeline