OSDev

для всех
Текущее время: 29 мар 2024, 18:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Прерывания
СообщениеДобавлено: 11 апр 2012, 14:32 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Тыркался в виндовской "информации о системе", набрёл на строки вида
IRQ 4294967278: Renesas Electronics USB 3.0 Host Controller
или
IRQ 4294967294: Intel Xeon Processor блаблабла PCI Express Root Port 1b - 3C03

Вопрос: как это, прерывания с номером вида FFFFFFxx? Разве их всего не 256? Или в винде ещё и свой механизм псевдопрерываний с большими номерами?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прерывания
СообщениеДобавлено: 11 апр 2012, 15:04 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Прерываний аппаратных всего 16 в PIC, в APIC 24 или чють больше, там просто адрес какойто показывается, или ещё чтото.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прерывания
СообщениеДобавлено: 11 апр 2012, 15:50 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Цитата:
Прерываний аппаратных всего 16 в PIC, в APIC 24

Я про количество в таблице прерываний. Их же ещё и программно вызывать можно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прерывания
СообщениеДобавлено: 11 апр 2012, 15:58 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
IRQ это аппаратные прерывания.
В таблице IDT находятся программные и их число ограниченно 256.
Что касается IRQ то на два PIC их 16
В IOAPIC их 24.
А есть ещё MSI которые позволяют делать до 256 аппаратных. А если подумать то и до $FFFFFFFF прерываний
Правда интел в своем IOAPIC ввело ещё внутреннюю коммутацию прерываний для встроенной системной шины. Так что IOAPIC по ногам держит 24, а по сообщениям от 0 до 255.

И это реальные.
Что касается виндоуса ,то я бы на их месте сделал бы HAL с виртуальными номерами. Разрядность для х86 32 бита для 64битной 64бита.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прерывания
СообщениеДобавлено: 11 апр 2012, 17:57 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Bargest писал(а):
Вопрос: как это, прерывания с номером вида FFFFFFxx? Разве их всего не 256? Или в винде ещё и свой механизм псевдопрерываний с большими номерами?


Не путайте номера запросов аппаратных прерываний (IRQ -- Interrupt Request) и номера векторов прерываний. Последних действительно только 256, а первых может быть сколько угодно в зависимости от используемого контроллера прерываний -- именно он принимает сигналы IRQ и преобразует их в номера векторов, которые и передаёт процессору.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB