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


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

Шины, устройства, функции и хост



Каждое устройство PCI при установке в конкретную систему получает иденти­фикатор, однозначно определяющий его положение на дереве шин PCI данно­го компьютера. Идентификатор имеет иерархическую структуру и состоит из номеров шины (bus), устройства (device) и функции (function). Идентификатор задает положение блока конфигурационных регистров заданной функции вы­бранного устройства в общем конфигурационном пространстве системы. Иден­тификаторы фигурируют при обращениях к регистрам конфигурационного пространства, а также при обмене сообщениями между устройствами (DIM в PCI-X).

Шина PCI представляет собой набор сигнальных линий, непосредственно со­единяющих интерфейсные выводы группы устройств (слотов, микросхем на плате). В системе может присутствовать несколько шин PCI, соединенных мос­тами PCI. Мосты электрически отделяют интерфейсные сигналы одной шины от другой, соединяя шины логически; главный мост соединяет главную шину PCI с хостом (процессором и памятью). Каждая шина имеет свой номер шины (PCI bus number). Шины нумеруются последовательно, начиная от хоста; шина PCI, подключенная к главному мосту, имеет нулевой номер.

Устройством PCI называется микросхема, или карта расширения, подключен­ная к одной из шин PCI и использующая для доступа к конфигурационным ре­гистрам выделенную ей линию IDSEL, принадлежащую этой шине. Устройство может быть многофункциональным, то есть состоять из множества (от 1 до 8) так называемых функций. Каждой функции отводится конфигурационное про­странство в 256 байт, в PCI-X оно расширено до 4096 байт. Многофункцио­нальные устройства должны отзываться только на конфигурационные циклы с номерами функций, для которых имеется конфигурационное пространство. При этом функция с номером 0 должна присутствовать обязательно (по резуль­татам обращения к ней определяется присутствие устройства), номера осталь­ных функций назначаются разработчиком устройства произвольно (в диапа­зоне 1-7). Простые (однофункциональные) устройства в зависимости от реализации могут отзываться либо на любой из номеров функций, либо только на номер функции 0.

Нумерацией и конфигурированием всех устройств PCI занимается хост — «хо­зяин» шины PCI. Роль хоста, как правило, исполняет центральный процессор, связанный с шиной PCI главным мостом, от которого и начинается нумерация шин. Конфигурирование всех устройств шины возможно только со стороны хоста — в этом заключается его особая роль. Ни с одной из шин PCI ни один за-датчик не имеет доступа к конфигурационным регистрам всех устройств PCI, без чего полное конфигурирование недоступно. Даже с нулевой шины PCI за-датчику недоступны конфигурационные регистры главного моста, а без доступа к ним невозможно запрограммировать распределение адресов между хостом и устройствами PCI. С других шин PCI возможности доступа к конфигураци­онным регистрам еще скромнее.

Конфигурирование выполняется для каждой функции) как уже отмечалось, полный идентификатор функции состоит из трех номеров: шины, устройства и функции. Короткая форма идентификатора вида РСЮ:1:2 (например, в сооб­щениях ОС Unix) означает функцию 2 устройства 1, подключенного к главной (0) шине PCI. Диспетчер устройств (конфигурационное ПО) должен опериро­вать списком всех функций всех устройств, обнаруженных на всех шинах PCI данной системы (компьютера).

В шине PCI принята географическая нумерация — номер устройства определя­ется местом его подключения. Номер устройства (device number, dev) опреде­ляется той линией шины AD, к которой подключена его линия сигнала IDSEL. В соседних слотах PCI, как правило, задействуются соседние номера устройств; их нумерация определяется разработчиком системной платы (или пассивной кросс-платы в промышленных компьютерах). Часто для слотов используются убывающие номера устройств, начиная с 20 или 15. Группы соседних слотов могут подключаться к разным шинам; на каждой шине PCI нумерация уст­ройств независимая (могут быть и устройства с совпадающими номерами, но разными номерами шин). В устройствах PCI, интегрированных в системную плату, имеет место та же система нумерации. Их номера «запаяны намертво», в то время как номера устройств на картах расширения можно менять, пере­ставляя их в разные слоты.

Одна карта PCI может содержать только одно устройство шины, к которой она подключается, поскольку ей в слоте выделяется только одна линия IDSEL. Если на карте размещают несколько устройств (такова, например, 4-портовая карта Ethernet), то на ней приходится устанавливать мост — устройство PCI, к кото­рому и обращаются по линии IDSEL, выделенной данной карте. Этот мост орга­низует на карте дополнительную шину PCI, к которой можно подключить мно­жество устройств. Каждое из этих устройств получит свою линию IDSEL, но относящуюся уже к дополнительной шине PCI данной карты.

С точки зрения обращения к пространствам памяти и ввода-вывода географи­ческий адрес (номера шины и устройства) в пределах одной шины безразличен. Однако номер устройства определяет номер линии запроса прерывания, ко­торой может пользоваться устройство. Подробнее об этом см. в 14.5, здесь же отметим, что на одной шине устройства с номерами, отличающимися друг от друга на 4, используют одну и ту же линию прерывания. В системах с несколь­кими шинами PCI перестановка устройства в слоты разных шин может влиять на производительность, что связано с характеристиками данной шины и ее уда­ленностью от главного моста.

Разобраться с нумерацией устройств и полученных ими линий прерываний на конкретной плате можно, если устанавливать карту PCI поочередно в каждый из слотов (отключая питание) и смотреть на сообщения об обнаруженных уст­ройствах PCI, выводимые на дисплей в конце теста POST. В этих сообщениях фигурируют и устройства PCI, установленные непосредственно на системной плате (не отключенные параметрами CMOS Setup). Однако чтобы не возникло иллюзии простоты, отметим, что «особо умные» операционные системы (на­пример, Windows) не довольствуются полученными назначениями номеров прерываний и изменяют их по своему усмотрению.




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