Чтение онлайн

на главную

Жанры

Шины PCI, USB и FireWire

Гук Михаил Юрьевич

Шрифт:

Регистры Base Address Registers (BAR) описывают области памяти и портов ввода-вывода. Программными манипуляциями с регистрами можно определить размеры областей. Для областей памяти и портов описания различаются: область памяти (размером не более 2 Гбайт) описывается следующим образом: • бит 0 = 0 – признак памяти; • биты [2:1] – тип адресации: 00 – 32-битная адресация, 10 – 64-битная (в этом случае регистр расширяется следующим за ним 4-байтным словом, 64-битная адресация обязательна для PCI–X), 01 и 11 – резерв (01 в прежних версиях предназначались для памяти в пределах первого мегабайта); • бит 3 (Prefetchable) –

признак «настоящей» памяти, то есть допускающей предвыборку; • биты [31:4] – базовый адрес памяти; • область портов (размером до 256 байт) описывается следующим образом: • бит 0 = 1 – признак области портов; • бит 1 = 0 (резерв); • биты [31:2] – базовый адрес блока портов.

Регистр Expansion ROM Base Address управляет адресацией ПЗУ программной поддержки устройства. Размер ПЗУ определяется так же, как и в регистрах базовых адресов (см. выше). Обращение к ПЗУ возможно лишь при разрешенном использовании памяти (бит 1 в регистре команд). Назначение бит регистра:

• бит 0 – разрешение использования ПЗУ;

• биты [1:10] – резерв;

• биты [11:31] – базовый адрес. •

Специальные регистры устройств

PCI–X Устройства PCI–X имеют дополнительные регистры (рис. 5.2), положение которых определяется через список свойств (Capability ID = 07). Регистры для ECC-контроля появились только в версии PCI–X 2.0.


Регистр PCI–X Status содержит идентификатор функции – ее адрес в иерархии конфигурационного пространства, который устройство «подсматривает» на шине, при выполнении операции конфигурационной записи. Этот идентификатор требуется устройству для передачи его в фазе атрибутов. Кроме того, в регистре имеются признаки возможностей устройства, а также индикаторы ошибок, связанных с расщепленными транзакциями. Назначение битов регистра PCI–X Status:

• биты [2:0] (RO) – Function Number, номер функции;

• биты [7:3] (RO) – Device Number, номер устройства, который оно узнает по значению AD[15:11] в фазе адреса конфигурационной записи, обращенной к данному устройству, выбранному линией IDSEL (после сброса устанавливается 1F);

• биты [15:8] (RO) – Bus Number, номер шины, который оно узнает по значению AD[7:0] в фазе атрибутов конфигурационной записи, обращенной к данному устройству (после сброса устанавливается FF);

• бит 16 (RO) – 64-bit Device, признак 64-битной шины AD;

• бит 17 (RO) – 133 MHz Capable, признак поддержки частоты 133 МГц (иначе 66 МГц);

• бит 18 (RWC) – Split Completion Discarded, признак отброшенного завершения расщепленной транзакции (запросчик его отверг);

• бит 19 (RWC) – Unexpected Split Completion, признак неожиданного получения завершения расщепленной транзакции;

• бит 20 (RO) – Device Complexity, признак сложного устройства (моста);

• биты [22:21] (RO) – Designed Maximum Memory Read Byte Count, максимальное число байт в последовательности, инициируемой устройством (его возможности): 0 – 512 байт, 1 – 1024, 2 – 2048, 3 – 4096;

• биты [25:23] (RO) – Designed Maximum Outstanding Split Transactions, предельное число незавершенных расщепленных транзакций: 0…7 – 1, 2, 3, 4, 8, 12, 16, 32 транзакции;

• биты [28:26] (RO) – Designed Maximum Cumulative Read Size, максимальный суммарный объем данных чтения памяти, ожидаемых устройством (запросы отправлены, ответы еще не получены): 0…7 – 8, 16, 32…1024 квантов ADQ

• бит 29 (RWC) – Received Split Completion Error Message, признак получения сообщения об ошибке завершения расщепленной транзакции;

• бит 30 (RO) – PCI–X 266 Capable, поддержка режима PCI–X 266 (Mode 2);

• бит 31 (RO) – PCI–X 533 Capable, поддержка режима PCI–X 533 (Mode 2).

Регистры ECC-контроля служат для управления контролем и диагностики. Регистр ECC Control and Status Register служит для управления ECC-контро-лем: разрешает ECC в Mode 1 (в Mode 2 ECC обязателен) и разрешает исправление однократных ошибок. В этом же регистре сообщаются признаки обнаружения ошибки, команды и фазы шины, в которой обнаружена ошибка, а также значения синдрома ошибки и атрибутов транзакции. Регистры ECC First Address, ECC Second Address и ECC Attribute Register содержат адрес, при обращении по которому обнаружена ошибка ECC, и атрибуты транзакции.

Расширенное конфигурационное пространство PCI–X

В спецификации PCI–X 2.0 введено расширение конфигурационного пространства одной функции до 4096 байт. При этом стандартный 256-байтный набор регистров и формат заголовка сохраняется, а дополнительное пространство используется для нужд устройства, включая и размещение описаний дополнительных возможностей. Для доступа к расширенному конфигурационному пространству может использоваться как расширенный вариант механизма 1 (см. далее) с передачей дополнительных 4 бит номера регистра по линиям AD[27:24], так и отображение конфигурационных регистров на адрес памяти. В случае отображения на адрес памяти иерархический адрес конфигурационных регистров всех устройств PCI отображается на биты A[27:0], базовый адрес (A[63:28]) зависит от реализации системы и сообщается операционной системе. Все конфигурационные регистры всех устройств всех шин PCI требуют для отображения в памяти область размером 256 Мбайт. Схема отображения простая и логичная:

• A[27:20] – Bus[7:0], номер шины;

• A[19:15] – Device[4:0], номер устройства;

• A[14:12] – Function[2:0], номер функции;

• A[11:8] – Extended Register [3:0], расширение номера регистра;

• A[7:0] – Register[7:0], номер регистра.


Устройство должно воспринимать и отрабатывать конфигурационные обращения, выполненные любым способом. При этом разработчик устройства должен помнить, что при попадании устройства в систему с обычной шиной PCI программно доступными окажутся лишь первые 256 байт конфигурационного пространства функции, так что в расширенное пространство следует помещать только те регистры, которые не используются в стандартном режиме работы PCI.

Для расширенного пространства введен и новый формат описания свойств с учетом «длинного» (10-битного) адреса регистра. Расширенный список свойств должен начинаться с адреса 100h (или же там должна быть структура, не позволяющая трактовать этот фрагмент как начало цепочки). Каждое свойство начинается с 32-битного идентификатора, за которым располагаются регистры, описывающие данное свойство. 32-разрядный идентификатор расширенных возможностей – PCI Extended Capability ID имеет следующую структуру:

Поделиться:
Популярные книги

Дядя самых честных правил 7

Горбов Александр Михайлович
7. Дядя самых честных правил
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Дядя самых честных правил 7

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Шатун. Лесной гамбит

Трофимов Ерофей
2. Шатун
Фантастика:
боевая фантастика
7.43
рейтинг книги
Шатун. Лесной гамбит

Proxy bellum

Ланцов Михаил Алексеевич
5. Фрунзе
Фантастика:
попаданцы
альтернативная история
4.25
рейтинг книги
Proxy bellum

Последний попаданец 2

Зубов Константин
2. Последний попаданец
Фантастика:
юмористическая фантастика
попаданцы
рпг
7.50
рейтинг книги
Последний попаданец 2

Средневековая история. Тетралогия

Гончарова Галина Дмитриевна
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Средневековая история. Тетралогия

Дворянская кровь

Седой Василий
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Дворянская кровь

Дайте поспать! Том IV

Матисов Павел
4. Вечный Сон
Фантастика:
городское фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Дайте поспать! Том IV

Запределье

Михайлов Дем Алексеевич
6. Мир Вальдиры
Фантастика:
фэнтези
рпг
9.06
рейтинг книги
Запределье

Совок 4

Агарев Вадим
4. Совок
Фантастика:
попаданцы
альтернативная история
6.29
рейтинг книги
Совок 4

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Жандарм 3

Семин Никита
3. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 3

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3