КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Шины и карты расширения

К этому моменту тест POST уже определил таблицу соответствия этих линий номерам входов; пользуясь этой таблицей, он записывает нужное значение в конфигурацион¬ный регистр Interrupt Line. Определить, есть ли еще претенденты на тот же номер прерывания, можно, лишь просмотрев конфигурационные регистры функций всех устройств, обнаруженных на шине (это не так уж сложно сделать, пользуясь функ¬циями PCI BIOS). «Прелести» разделяемых прерываний обсуждаются в п. 12.4.1.
Спасением от бед «разделяемости» может быть перестановка карт в подходящий слот. Однако попадаются «подарки разработчиков» интегрированных плат, у которых из нескольких слотов PCI неразделяемая линия прерывания есть только у одного (а то и нет вообще). Такие недуги без скальпеля и паяльника, как правило, не лечатся.
На шине PCI имеется и иной механизм оповещения об асинхронных событиях, основанный на передаче сообщений (PCI Message-Based Interrupts). Для сигна¬лизации запроса прерывания устройство запрашивает управление шиной и, по¬лучив его, выполняет запись номера прерывания по заранее оговоренному адресу.

6.2. Шина PCI
191
Этот механизм может использоваться на системных платах, имеющих «продвину¬тый» контроллер прерываний APIC. Запись номера запроса производится в соот¬ветствующий регистр APIC. Для системных плат на чипсете с хабом ICH2 82801 этот регистр находится по адресу памяти FEC00020h, а номер прерывания может быть в диапазоне 0-23L Однако одновременно оба механизма работать не могут; если разрешена работа APIC, то логика контроллеров 8259 не используется, и наоборот.
6.2.7. Прямой доступ к памяти, эмуляция ISA DMA (PC/PCI)
Как было сказано выше, шина PCI не предоставляет возможности прямого досту¬па к памяти с использованием централизованного контроллера в стиле 8237А (как для шины ISA). Для разгрузки центрального процессора от рутинных перекачек данных предлагается прямое управление шиной со стороны устройств, называ¬емых ведущими устройствами шины (PCI Bus Master). Степень интеллектуально¬сти ведущего устройства может быть различной. В простейшем варианте ведущее устройство обеспечивает пересылку блоков данных между устройством и систем¬ной памятью (или памятью других устройств) по указанию от CPU. Здесь CPU командами обращения к определенным регистрам ведущего устройства задает начальный адрес, длину блока, направление пересылки и разрешает запуск переда¬чи. После этого пересылка выполняется по готовности (или инициативе) устрой* ства, без отвлечения CPU. Таким образом выполняется прямой доступ к памяти (DMA).

Hosted by uCoz