Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Прерывания сообщениями — MSI



На шине PCI имеется прогрессивный механизм оповещения об асинхронных событиях, основанный на передаче сообщений MSI (Message Signaled Interrupts). Здесь для сигнализации запроса прерывания устройство запрашивает управление шиной и, получив его, посылает сообщение. Сообщение выглядит как обычная запись двойного слова в ячейку памяти; адрес (32-битный или 64-битный) и шаблон сообщения на этапе конфигурирования устройств записы­ваются в конфигурационные регистры устройства (точнее, функции). В сооб­щении старшие 16 бит всегда нулевые, а младшие 16 бит несут информацию об источнике прерывания. Устройство (функция) может нуждаться в сигнализа­ции нескольких типов запросов; в соответствии с его потребностями и своими возможностями система указывает устройству (функции), сколько различных типов запросов оно может вырабатывать.

Прерывания через MSI от одних устройств в одной системе могут генериро­ваться наряду с обычными прерываниями INTx# от других устройств. Но каж­дое устройство (функция), генерирующее прерывания через MSI, не должно использовать прерывания через линии INTx#.

Механизм MSI может применяться на системных платах, имеющих «продвину­тый» контроллер прерываний APIC. Правда, не все преимущества MSI реально используются. Так, для системных плат на чипсетах с хабом ICH2 и ICH3 фир­мы Intel поддержка MSI сводится к организации альтернативных путей подачи запросов IRQ[1:23] на входы APIC (запросы IRQ с номерами 0, 2, 8 и 13 через MSI не передаются). Всем устройствам PCI назначается один и тот же адрес со­общений (Message Address e FEC00020h), по которому в APIC находится ре­гистр IRQ Pin assertion. В сообщении указывается номер взводимого запроса прерывания в диапазоне 1-23 (исключая 2, 8 и 13). Линии запросов для преры­ваний через MSI не могут использоваться совместно (разделяемо) с прерыва­ниями, полученными другими способами (по линиям запросов от устройств PCI и от других устройств системной платы). Возможно, на других платформах прерывания через MSI используются более эффективно.

Мосты PCI и PCI-X

Мосты PCI (PCI bridge) — специальные аппаратные средства соединения шин PCI (и PCI-Х) между собой и с другими шинами. Главный мост (host bridge) ис­пользуется для подключения PCI к «центру» компьютера (системной памяти и процессору). «Почетной обязанностью» главного моста является генерация обращений к конфигурационному пространству под управлением центрального процессора, что позволяет хосту (центральному процессору) выполнять конфи­гурирование всей подсистемы шин PCI. В системе может быть несколько глав­ных мостов, что позволяет предоставить высокопроизводительную связь с цен­тром большему числу устройств (число устройств на одной шине ограничено). Из этих шин одна назначается условно главной (bus 0).

Одноранговые мосты PCI (Peer-to-Peer bridges) используются для подключения дополнительных шин PCI. Эти мосты всегда вносят дополнительные наклад­ные расходы в передачу данных, так что эффективная производительность при обмене устройства с центром снижается с каждым встающим на пути мостом.

Для подключения шин PCMCIA, CardBus, MCA, ISA/EISA, X-Bus и LPC ис­пользуются специальные мосты, входящие в чипсеты системных плат или же являющиеся отдельными устройствами PCI (микросхемами). Эти мосты вы­полняют преобразование интерфейсов соединяемых ими шин, синхронизацию и буферизацию обменов данных.

Применение мостов PCI предоставляет следующие возможности:

♦ увеличение возможного числа подключенных устройств, преодолевая огра­
ничения электрических спецификаций шины;

♦ разделение устройств PCI на сегменты — шины PCI — с различными харак­
теристиками разрядности (32/64 бит), тактовой частоты (33/66/100/133 МГц),
протокола (PCI, PCI-X Mode I, PCI-X Mode 2, PCI Express), причем на каж­
дой шине все абоненты равняются на самого слабого участника (правильная
расстановка устройств по шинам позволяет с максимальной эффективно­
стью использовать возможности устройств и системной платы);

♦ организация сегментов с «горячим» подключением/отключением устройств;

♦ организация одновременного параллельного выполнения транзакций от ини­
циаторов, расположенных на разных шинах.

Каждый мост PCI соединяет только две шины — первичную (primary bus), нахо­дящуюся ближе к вершине иерархии, со вторичной (secondary bus); интерфей­сы моста, которыми он связан с этими шинами, называются, соответственно, первичным и вторичным. Допускается только чисто древовидная конфигура­ция, то есть две шины соединяются друг с другом лишь одним мостом и нет «петель» из мостов. Шины, подсоединяемые ко вторичному интерфейсу данно­го моста другими мостами, называются подчиненными (subordinated bus). Мос­ты PCI образуют иерархию шин PCI, на вершине которой находится главная шина с нулевым номером, подключенная к главному мосту. Если главных мос­тов несколько, то из их шин (равных друг другу по рангу) условно главной ста­новится шина, которой назначен нулевой номер.

Каждый мост программируется — ему указываются диапазоны адресов в про­странствах памяти и ввода-вывода, отведенные устройствам его вторичной и подчиненных шин. В каждом мосте определяется по одной области для адресов пространства ввода-вывода, «настоящей» памяти (допускающей предвыборку) и памяти для отображения регистров ввода-вывода. Если адрес ЦУ текущей транзакции на одной шине (стороне) моста относится к шине противополож­ной стороны, мост транслирует транзакцию на соответствующую шину и обес­печивает согласование протоколов шин. Таким образом, совокупность мостов PCI выполняет маршрутизацию (routing) обращений по связанным шинам.

Если в системе имеются несколько главных мостов, то сквозная маршрутиза­ция между устройствами разных шин может оказаться невозможной: главные мосты могут быть связаны друг с другом лишь через магистральные пути кон­троллера памяти. Поддержка трансляции всех типов транзакций PCI через главные мосты в этом случае становится чересчур сложной, а потому специфи­кацией PCI строго и не требуется. Таким образом, все активные устройства всех шин PCI могут обращаться к системной памяти, но возможность однорангового общения может оказаться в зависимости от принадлежности этих уст­ройств той или иной шине PCI. Передача сообщений (команда DIM) с шины на шину через главные мосты реализуется проще, чем передача транзакций всех типов. Для главных мостов PCI поддержка передачи сообщений желательна, но не обязательна.

Мост должен выполнять ряд обязательных функций:

♦ Обслуживать шину, подключенную к его вторичному интерфейсу:

• выполнять арбитраж — прием сигналов запроса REQx# от ведущих уст­
ройств шины и предоставление им права на управление шиной сигнала­
ми GNTx#;

• парковать шину — подавать сигнал GNTx# какому-то устройству, когда
управление шиной не требуется ни одному из задатчиков;

• генерировать конфигурационные циклы типа 0 с формированием инди­
видуальных сигналов IDSEL к адресуемому устройству PCI;

• «подтягивать» управляющие сигналы к высокому уровню;

• определять возможности подключенных устройств и выбирать удовле­
творяющий их режим работы шины (частота, разрядность, протокол);

• формировать аппаратный сброс (RST#) по сбросу от первичного интер­
фейса и по команде, сообщая о выбранном режиме специальной сигнали­
зацией.

 

♦ Поддерживать карты ресурсов, находящихся по разные стороны моста.

♦ Отвечать под видом целевого устройства на транзакции, инициированные
мастером на одном интерфейсе и адресованные ресурсу, находящемся со
стороны другого интерфейса. Транслировать эти транзакции на другой ин­
терфейс, выступая в роли ведущего устройства (мастера), и передавать их
результаты истинному инициатору.

Мосты, выполняющие данные функции, называются прозрачными (transparent bridge); для работы с устройствами, находящимися за такими мостами, не тре­буется дополнительных драйверов моста. Именно такие мосты описаны в спе­цификации PCI Bridge 1.1, и для них как устройств PCI есть специальный класс (06). В данном случае подразумевается «плоская» модель адресации ре­сурсов (памяти и ввода-вывода): каждое устройство имеет свои адреса, уни­кальные (не пересекающиеся с другими) в пределах данной системы (компью­тера).

Существуют и непрозрачные мосты (non-transparent bridges), которые позволя­ют организовывать обособленные сегменты со своими локальными адресными пространствами. Непрозрачный мост выполняет трансляцию (преобразование) адресов для транзакций, у которых инициатор и целевое устройство находятся по разные стороны моста. Досягаемыми через такой мост могут быть не все ре­сурсы (диапазоны адресов) противоположной стороны. Непрозрачные мосты используются, например, когда в компьютере выделяется подсистема «интел­лигентного ввода-вывода» (12О) со своими процессором ввода-вывода и ло­кальным адресным пространством.

В адресации портов ввода-вывода есть особенности, связанные с «наследием», доставшимся от шины ISA, — 10-битным декодированием адреса, приводящим к «изрезанное™» карты адресов и появлению псевдонимов. В мостах PCI при­меняются специальные меры, позволяющие сочетать особенности адресации устройств ISA с компактным описанием диапазонов адресов.

В мостах может быть реализована специальная поддержка графического адап­тера VGA, который может находиться на стороне вторичного интерфейса мос­та. При включенной поддержке мост осуществляет трансляцию обращений к памяти VGA в диапазоне адресов OAOOOOh-OBFFFFh, а также к регистрам ввода-вывода в диапазонах 3B0h-3BBh и 3C0h-3DFh и всем их 64 псевдо­нимам. Кроме того, для поддержки VGA требуется особый подход к чтению и записи регистров палитр ( VGA Palette Snooping), которые расположены по адре­сам 3C6h, 3C8h и 3C9h, и их псевдонимов.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.