|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Помогите разобраться с прерываниями |
|
Помогите разобраться с прерываниями
|
Новый участник Сообщения: 18 |
Профиль | Отправить PM | Цитировать Какие прерывания куда распределены?
Куда указывают те прерывания которые BIOS не распределил? |
|
Отправлено: 17:03, 06-08-2009 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:32, 14-08-2009 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать И все же куда указывают те вектора прерываний которые BIOS не распределил?
|
Отправлено: 10:23, 17-08-2009 | #12 |
Не дед Сообщения: 15390
|
Профиль | Отправить PM | Цитировать Каких таких 24? Ещё раз повторюсь, что две микросхемы по 8 входов позволяют организовать 16 прерываний. BIOS позволяет оперировать именно этими 16 прерываниями, да и то не всеми из них.
|
------- Отправлено: 12:19, 17-08-2009 | #13 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Цитата DVDshnik:
Описание В отличие от PIC поддерживает до 256 прерываний, реально же только 24. Поддерживает спецификацию PCI. Можно определить присутствие контролера командой ассемблера CPUID. APIC делится на две части: LOCAL и I/O APIC. LOCAL - располагается в процессоре, а вернее в ядре. I/O APIC контролер представлен в чипе микросхемой 82093AA. Контроллер прерываний (interrupt), позволяющий использовать 24 аппаратных прерывания вместо 16. Ограничение в 16 аппаратных прерываний, не менявшееся с 1982 года, сдерживало установку в персональный компьютер дополнительных устройств. В конце 2001 года появились первые материнские платы с APIC. Ссылки на источники выше. |
|
Отправлено: 12:59, 17-08-2009 | #14 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sdima85:
Я честно сказать слегка подзапутался, кто куда должен смотреть (BIOS, APCI и т.д.). Ссылку на П. Абеля я привел. Там хоть с адресами памяти приведено. Т.е. есть что посчитать и посмотреть. А вобще это СПО, драйвера. Программисты должны знать и те технари, которые непосредственно работают с данным уровнем. |
|
------- Отправлено: 13:40, 17-08-2009 | #15 |
Не дед Сообщения: 15390
|
Профиль | Отправить PM | Цитировать Тогда вообще непонятно, почему же ни в одном из BIOS'ов мне не удалось заметить номер прерывания больший, чем 15.
Цитата sdima85:
|
|
------- Отправлено: 06:42, 18-08-2009 | #16 |
Старожил Сообщения: 223
|
Профиль | Отправить PM | Цитировать IMHO, путаница возникла из-за того, что контроллеры APIC могут работать в режиме эмуляции пары контроллеров PIC (2-х микросхем 8259, 16 линий запросов на прерывания, обрабатываемых одним процессорм). Этот режим устанавливается по включению питания при выполнении POST (поэтому в BIOSe нет номера прерывания более 15).
Цитата sdima85:
Упрощенно, IRET восстанавливает состояние процесса на то, что было в момент прерывания (регистры, адрес команды, флаги...) Когда же система готовится к переходу в мультипроцессорный режим, тот же самый контроллер APIC перепрограммируется в симметричный режим работы с использыванием таблицы перенаправлений прерваний. Каждому запросу соответствует свой элемент в таблице перенаправлений, находящейся в APIC. Каждый элемент содержит вектор прерывания, процессор, который должeн его обработать и параметы анализа сигнала запроса на входе INTINn( уровень или перепад сигнала - есть запрос). Кроме того, APIC позволяют вызывать прерывание и записью номера входа INTIN в регистр. При этом возможна и экономия сигнальных входов: APIC может иметь входы INTINn не для всех номеров запросов, посылаемых через запись в этот регистр. Однако число запросов всегда ограничивается размером таблицы перенаправлений. Если коротко, то в современных чипсетах, в симметричном режиме работы APIC максимальное число аппаратных линий запросов на прерывание может быть 24, а запросов на прерывание до 256. Неиспользуемое прерывание, имхо, должно также маскироваться, и его элемент в таблице перенаправлений должен содержать вектор, указывающий на команду возврата из прерывания IRET (возможно, ошибаюсь, и в расширенном режиме используется другая команда). |
|
------- Последний раз редактировалось ab57, 19-08-2009 в 10:30. Причина: Добавил про IRET Отправлено: 12:46, 18-08-2009 | #17 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Помогите разобраться | pogo | Microsoft Windows NT/2000/2003 | 2 | 06-07-2009 13:00 | |
MySQL - Помогите разобраться | Red Virus | Программирование и базы данных | 1 | 04-03-2008 21:39 | |
FreeBSD - Помогите разобраться. | Myrzilka | Общий по FreeBSD | 0 | 15-01-2008 23:51 | |
Помогите разобраться | Larich | Хочу все знать | 1 | 08-06-2007 08:25 | |
Помогите разобраться..... | Dimskiy | Microsoft Windows 2000/XP | 4 | 26-06-2006 18:50 |
|