Консалтинговая компания Консалтер.Ру
Главная Новости Библиотека Исследования Законодательство Консалтинг Бизнес-форумы Контакты

Реклама

Рекомендуем



Консалтер.Ру > Библиотека > Информационные технологии

В.А. Авдеев, В.Ф. Гузик
Компьютеры: шины, контроллеры, периферийные устройства

Учебное пособие. Таганрог: ТРТУ, 2001. - 536 с.

Предыдущая

5. Локальные интерфейсы

5.2. Локальная шина PCI

Шина PCI предназначена для работы с напряжением питания 5V или 3.3V и может быть использована в серверах, настольных ПК, ноутбуках и лаптопах. Платы с разным питанием имеют специальные ключи в некоторых местах контактов, кроме того, особенностью шины PCI является то, что она не привязана к конкретному типу компьютера и разработана с учетом на применение в новых системах. На рис. 5.1 представлена возможная конфигурация компонентов, подключенных к шине PCI.

ISA

 

Рис. 5.1. Схема подключения компонентов к шине PCI

Для шины PCI определены два типа устройства: инициатор (мастер, задатчик) и целевое (исполнитель). Инициатор устанавливает адрес (данные при записи), команду и формирует необходимые интерфейсные сигналы целевому устройству. Причем адрес и данные передаются по мультиплексной шине AD(31-0) или AD(63-0). Дальше (с целью упрощения материала) основное внимание уделяется обязательным сигналам шины PCI, т.е. рассматривается 32-битный вариант.

Рассмотрим назначение основных сигналов шины PCI. Символ #, стоящий после названия сигнала шины PCI, указывает на то, что активным уровнем этого сигнала является низкий уровень (логический 0). Кроме того, обозначение, например (31-0), определяет группу линий (сигналов) с номерами от 31 до 0, t/s- двунаправленный сигнал ввода-вывода с тремя состояниями, s/t/s – активный по низкому уровню активный сигнал с тремя состояниями, in – стандартный сигнал ввода, out – стандартный активный формирователь, o/d – открытый сток для объединения сигналов (ИЛИ).

AD(31-0) t/s – мультиплексированная шина адреса/данных. Шинное событие (транзакция) состоит из одной фазы адреса и одной или нескольких следующих фаз данных.

C/BE(3-0)# t/s – мультиплексированная шина команды/разрешения байтов. Во время фазы адреса выполняется передача команды (чтение или запись ввода/вывода, чтение или запись в память и т.д.), а во время фазы данных – битов, указывающих на значимые (разрешенные) байты на шине AD, например, C/BE(3)# определяет байт 3 (AD31-AD24), C/BE(0)# - байт 0 (AD7-AD0).

PAR t/s – четный паритет сигналов AD(31-0) и C/BE(3-0)# для всех агентов шины PCI.

Линии AD(31-0), C/BE(3-0)# и PAR относятся к линиям адреса и данных. Следующую группу линий соответствующих сигналов составляют линии сигналов управления интерфейсом.

FRAME# t/s – цикл кадра. Этот сигнал устанавливается инициатором и указывает на начало транзакции шины , снятие сигнала означает заключительную (финальную) фазу данных.

IRDY# s/t/s – готовность инициатора. Мастер формирует этот сигнал, если способен передать или принять данные. Сигнал IRDY# употребляется совместно с сигналом TRDY#. Фаза данных выполняется при наличии активных (низких) уровней сигналов IRDY# и TRDY#. Если хотя бы один из этих сигналов имеет пассивный (высокий) уровень, в работе инициатора вставляются такты ожидания.

TRDY# s/t/s – готовность цели показывает возможность выбранного устройства закончить текущую фазу данных. При чтении TRDY# указывает на достоверность передаваемых данных, а при записи – на готовность цели принять данные.

STOP# s/t/s – стоп. Сигнал цели сообщает мастеру о приостановке текущего события.

LOCK# s/t/s – блокировка. Когда LOCK# установлен мастером, операции могут происходить по любым адресам, кроме заблокированных.

IDSEL# in – выбор устройства инициализации. Сигнал формируется главным мостом или мостом PCI-PCI для выбора устройства при записи или чтении его памяти конфигурации.

DEVSEL# s/t/s – выбор устройства, для мастера этот сигнал показывает, что устройство (цель) на шине выбрано, а для цели - что мастер декодировал адрес и выбрал цель.

Следующая группа сигналов связана с арбитражем и используется только инициаторами для захвата шины.

REQ# t/s – запрос. Показывает арбитру, что инициатор требует шину PCI. Каждый инициатор устанавливает собственный REQ#.

GNT# t/s – разрешение, устанавливается арбитром и поступает на вход соответствующего инициатора, которому этот сигнал принадлежит.

К сигналам, сообщающим об ошибках, относятся сигналы PERR# и SERR#.

PERR# s/t/s – ошибка четности формируется агентом, обнаружившим ошибку паритета. Минимальная продолжительность этого сигнала – один такт для каждой фазы данных.

SERR# o/d – системная ошибка, сообщает об ошибке паритета адреса, данных при выполнении на шине PCI специального цикла (передачи кодов сообщений, указывающих на состояние процессора (агента шины PCI)).

Системную группу сигналов составляют сигналы CLK и RST#.

CLK in – тактовые импульсы, которые управляют по переднему фронту формированием всех сигналов шины PCI, кроме сигналов сброса и прерывания.

RST# in – сброс, устанавливает регистры в начальное состояние.

В качестве необязательных сигналов рассмотрим только сигналы прерывания.

INTA# o/d – прерывание А. Сигнал запроса прерывания для однофункциональных агентов.

INTB# - INTD# o/d – запросы прерываний только для многофункциональных агентов шины PCI.

Команды шины, передаваемые во время адресной фазы по линиям C/BE#, показаны в табл. 5.1.

Таблица 5.1

КОД (C/BE)

НАЗНАЧЕНИЕ КОМАНДЫ

0000

Подтверждение прерывания

0001

Специальный цикл

0010

Чтение ввода/вывода

0011

Запись ввода/вывода

0100

Резерв

0101

Резерв

0110

Чтение памяти

0111

Запись в память

1000

Резерв

1001

Резерв

1010

Чтение конфигурации

1011

Запись конфигурации

1100

Многократное чтение памяти

1101

Цикл двойного адреса

1110

Линейное чтение памяти

1111

Запись в память и обнуление

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

Специальный цикл обеспечивает простой механизм передачи сообщений на PCI, например, состояния процессора или дополнительной сигнализации между агентами шины PCI. Команда не содержит явного адреса и передает сообщение всем агентам, среди которых находятся заинтересованные агенты, обрабатывающие полученную информацию. Чтение ввода/вывода – команда чтения данных агента, находящегося в адресном пространстве ввода/вывода. При выполнении команды все 32 бита адреса должны быть дешифрированы и сигналы C/BE(3-0)# указывают на размер передаваемых данных.

Запись ввода/вывода – эта команда выполняет запись данных в выбранное устройство на шине PCI и в остальном совпадает с командой чтения ввода/вывода. Здесь следует отметить, что большинство плат ввода/вывода шины ISA используют 10-битный адрес.

Чтение памяти – чтение данных агента, расположенного в адресном пространстве памяти.

Запись в память – команда, употребляющая адресное пространство памяти.

Чтение конфигурации осуществляется из области конфигурации требуемого агента. Агент выбран, если его IDSEL активен.

Запись конфигурации заключается в передаче данных в конфигурационную память, выбранную сигналом IDSEL соответствующего агента.

Многократное чтение памяти используется мастером для частой передачи больших массивов данных, если есть программно доступный буфер данных (КЭШ).

Цикл двойного адреса необходим для выполнения передачи 64-битного адреса соответствующих агентов.

Линейное чтение памяти – команда, аналогичная команде чтения памяти, за исключением того, что мастер реализует больше, чем две 32-битные фазы данных. Эта команда применяется при частой передаче больших массивов данных.

Запись в память и обнуление позволяет оптимально использовать память, гарантируя минимум передач для заполнения одной КЭШ, и требует размера КЭШ, заданного в конфигурационном регистре.

На шине PCI используется пакетный основной принцип передачи данных, состоящий из фазы адреса и одной или более фаз данных и применяемый в пространстве памяти или ввода/вывода.

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

В пространстве ввода/вывода дешифрация адреса выполняется каждым устройством PCI, причем младшие разряды адреса AD1 и AD0 позволяют заранее (без задержки) определить разрешенный байт данных (табл. 5.2).

Таблица 5.2

AD1

AD0

C/BE3#

C/BE2#

C/BE1#

C/BE0#

0

0

*

*

*

0

0

1

*

*

0

1

1

0

*

0

1

1

1

1

0

1

1

1

Примечание: 0 – сигнал C/BE# активен,

* - безразличное состояние.

Устройства PCI , использующие адресное пространство памяти, должны проверять младшие биты адреса AD1 и AD0, чтобы обеспечить нужный пакетный порядок. Для доступа к 32-битным данным (DW) памяти употребляются разряды адреса AD(31-2). При пакетной передаче необходимо после каждой фазы данных выполнять линейный инкремент адреса, если биты AD1 и AD0 равны 0. Кроме того, значение 01 соответственно этих же битов задает определенный режим переключения ячеек КЭШ.

Управление пересылкой данных выполняется с помощью трех сигналов: FRAME#, IRDY#, TRDY#. Сигнал FRAME# формируется мастером и указывает начало и конец события на шине. Если сигналы FRAME# и IRDY# сняты (высокие уровни), то интерфейс свободен (находится в пассивном состоянии).

Первый положительный (передний) фронт такта CLK определяет фазу адреса, во время которой направляется адрес и код команды от мастера к исполнителю. Если сигналы IRDY# и TRDY# имеют низкие (активные) уровни, то в соответствующем такте CLK выполняется передача данных. Снятие любого из этих сигналов вызывает появление тактов ожидания в работе мастера (приостанавливается передача данных). Кроме того, следует отметить, что все сигналы выбираются по переднему фронту сигнала CLK.

На рис. 5.2 представлена временная диаграмма чтения, в которой для упрощения рисунка показаны две фазы передачи (ПЕР) данных (ДАН1 и ДАН2) и один такт ожидания (ОЖИД), устанавливаемый мастером с помощью сигнала TRDY#.

            Обозначение ‘ x ‘ на диаграмме указывает на переключение сигнала на соответствующей линии шины PCI, т.е. один агент прекращает управление сигналом, а другой начинает. Исполнитель, опознав собственный адрес , устанавливает сигнал DEVSEL# и затем направляет данные по шине AD(31-0) к мастеру. Сигнал DEVSEL# может быть установлен перед передачей данных или одновременно с ними. Сброс сигнала DEVSEL# совпадает со снятием сигнала TRDY#. В фазе данных сигналы C/BE# показывают разрешенные (РАЗР) байты на шине AD(31-0). По данным пакета мастер узнает, что следующая фаза последняя, и снимает сигнал FRAME#. Событие на шине завершается, если FRAME# и IRDY# неактивны.

Рис. 5.2. Временная диаграмма чтения

Событие на шине может быть прекращено по инициативе мастера или цели. Если событие завершается мастером, то он снимает сигнал FRAME# при активном сигнале IRDY#, сообщая цели о предстоящей финальной фазе данных. Эта последняя фаза данных происходит при активных сигналах IRDY# и TRDY#. После чего сбрасывается сигнал IRDY# и вместе с сигналом FRAME# он приобретает неактивный уровень, что означает пустое состояние шины.

Для прекращения события на шине со стороны цели используется сигнал STOP#, который должен быть активным, пока FRAME# не станет пассивным.

В случае, когда ни один исполнитель не отвечает мастеру, то он, если снят сигнал DEVSEL#, завершает событие на шине, которое называется мастер-аборт, при этом сбрасываются сигналы FRAME# и DEVSEL#. Временная диаграмма записи данных изображена на рис. 5.3.

Запись начинается установкой сигнала FRAME#. На рис. 5.3 показаны две фазы данных и один такт ожидания, который устанавливается путем снятия мастером сигнала IRDY#.

Рис. 5.3. Временная диаграмма запись

В основном операция записи аналогична операции чтения за исключением того, что адрес и данные устанавливаются мастером. Последняя фаза данных определяется тем, что FRAME# пассивен, а IRDY# активен.

При наличии нескольких инициаторов на шине PCI предусмотрена процедура централизованного арбитража, которая возможна во время предыдущего доступа (скрытый арбитраж).

На рис. 5.4 показана временная диаграмма арбитража.

Диаграмма иллюстрирует взаимодействие двух агентов А и В на шине PCI. Вначале агент А устанавливает первым запрос REQ#A на управление шиной, поступающий в арбитр, и получает к ней доступ с приходом сигнала GNT#A от арбитра. С этого момента времени агент А формирует FRAME# и начинает передачу данных на шине. Сигнал REQ#A удерживается агентом, который желает продолжить событие на шине. Когда FRAME# агента А установлен, арбитр принимает запрос REQ#B агента В и сбрасывает сигнал GNT#A . С поступлением этого сигнала агент А заканчивает передачу данных на шине и снимает сигналы FRAME# и IRDY# (освобождает интерфейс).

-

Рис. 5.4. Временная диаграмма арбитража

При наличии сигнала арбитра GNT#B активного (низкого) уровня и при выполнении условия освобождения интерфейса агентом А (сигналы FRAME# и IRDY# имеют пассивный уровень) управление интерфейсом получает агент В. Если запрос REQ#B агента В снят, то это указывает арбитру на завершение события на шине агентом В и арбитр обслуживает запрос агента А. Арбитр может снять GNT# какого-либо агента В в любое время, если установлен более приоритетный запрос REQ# другого агента.

Шина PCI реализует циклы подтверждения прерывания. Временная диаграмма цикла подтверждения прерывания показана на рис. 5.5.

Временная диаграмма выполняется при реализации инициатором команды подтверждения прерывания (0000) после получения сигнала запрета прерывания. В фазе адреса инициатор передает произвольное значение адреса и код команды (0000), а в фазе данных исполнитель устанавливает вектор (младший байт), разрешение которого определяется инициатором (1000). Исполнитель должен направить вектор инициатору, когда установлены TRDY# и DEVSEL#.

Рис. 5.5. Временная диаграмма подтверждения прерывания

На шине PCI выполняется контроль четности всеми агентами в фазах адреса и данных, причем сигналы C/BE(3-0)# участвуют также при контроле. Сигнал PAR формируется агентом, который управляет AD(31-0), и отстает на один такт от адреса или данных. На рис. 5.6 изображена временная диаграмма контроля четности при выполнении операций чтения и записи данных.

Рис. 5.6. Временная диаграмма контроля четности

Во время выполнения операции чтения инициатор вырабатывает сигнал PAR# для информации, устанавливаемой во время фазы адреса (t3), и при записи для информации фазы адреса (t7) и данных (t8), а исполнитель формирует PAR# во время ввода данных (t5) в инициатор. В случае обнаружения ошибки паритета агент устанавливает сигнал PERR#.

Рассмотрим некоторые требования, предъявляемые к устройствам шины PCI. В качестве формирователей (приемников) сигналов шины следует использовать элементы, которые не потребляют ток в статическом состоянии, а потребляют его в моменты переключения. К таким элементам относятся КМОП (комплиментарные полевые кремниевые элементы), позволяющие существенно снизить потребление устройством энергии. Для построения интерфейсных схем (контроллеров) можно использовать программируемые логические интегральные схемы (ПЛИС), изготовленные по технологии КМОП, например ПЛИС фирмы Xilinx, или отечественные аналоги, выпускаемые Воронежским НИИЭТ.

Во внешней плате, подключаемой через слот (разъем) к шине PCI, большую часть тока потребляют подтягивающие резисторы (2.7К при напряжении 5V), стабилизирующие значения сигналов шины PCI. В слоте шины PCI имеются два контакта: PRSNT1# и PRSNT2#, коды на входах которых используются для индикации внешней платы в слоте и определения потребляемой мощности платой. Например, код 00 указывает, что внешняя плата присутствует и потребляемая ею мощность 7.5W максимум. Таким образом, внешняя плата должна указывать максимальную потребляемую мощность. Слоты подключаются к четырем шинам питания: 5V, 3.3V, 12V и –12V. Максимальная потребляемая мощность каждой внешней платой равна 25W. Формирователи должны иметь выходной ток низкого уровня (без резистора) – 3 мА или 6 мА с резистором. Максимальная емкость вывода компонента равна 10 пФ и максимальная длина дорожки от соединителя платы до элемента не более 3.8 см. Шинный сигнал должен быть ограничен одной нагрузкой.

В заключение этой темы рассмотрим подключение двух регистров Р1 и Р2, доступных по записи и чтению, к шине PCI (рис. 5.7), причем с целью упрощения рисунка память конфигурации не рассматривается.

Рис. 5.7. Структурная схема исполнителя шины PCI

Режим чтения регистров Р1 и Р2 не является основным, а предусмотрен для проверки работы регистров. Работа схемы описывается в соответствии с временными диаграммами записи и чтения с одной фазой данных. Вначале инициатор устанавливает адрес на шину AD(31-0), а затем – сигнал FRAME#, поступающий в блок управления (БУ). БУ формирует сигнал строб адреса/команды (СтрА/К) по положительному фронту первого CLK установленного FRAME#, т.е. когда сигналы адреса на линиях AD(31-0) и команды на линиях C/BE(3-0)# являются стабильными. По сигналу СтрА/К происходит запоминание адреса в регистре адреса (РА) и команды в регистре команды (РК). Запоминание этой информации связано с тем, что минимальный период такта CLK равен 30 нс и для гарантированной дешифрации адреса его не хватает. Обычно на “медленных” мультиплексированных системных шинах A/D сначала дешифруют адрес, а затем запоминают результат дешифрации и младшие биты адреса, выбирающие нужные регистры в исполнителе. В схеме исполнителя дешифратор адреса (ДША) декодирует общую старшую часть адреса и формирует сигнал выбора (ВыбВУ). Кроме того, значения (0 и 1) бита адреса А2 осуществляют соответствующий выбор регистров Р1 и Р2. Биты адреса А1 и А0 с помощью дешифратора номера байта (ДшНБ) управляют разрешением передачи соответствующего байта в формате данных. Кроме того, дешифратор команд (ДшК) декодирует 4-битный код команды и формирует сигнал чтения ввода/вывода (ЧтВв/Выв) или запись ввода/вывода (ЗпВв/Выв). Дешифратор управляющих сигналов (ДшУс) в соответствии с входной информацией формирует сигнал записи в Р1 (ЗпР1), чтения Р1 (ЧтР1) , ЗпР2, ЧтР2, общего чтения (ОбЧт) или общей записи (ОБЗп). Сигнал ОбЧт вырабатывается, если установлен ЧтР1 или ЧтР2. Для формирования сигналов ЧтР1,ЧтР2,ЗпР1,ЗпР2 в нужный момент времени БУ вырабатывает сигнал строб записи/чтения (СтрЗп/Чт), если установлены сигналы ВыбВУ, IRDY# и соответствующий импульс CLK. Передний фронт сигнала DEVSEL# устанавливается одновременно с фронтом сигнала ВыбВУ, а задний фронт снимается, как только будет снят сигнал IRDY# (см. рис. 5.2 и 5.3). При выполнении операции чтения данных сигнал TRDY# устанавливается одновременно с передачей данных от исполнителя к инициатору и сбрасывается после снятия инициатором сигнала IRDY#.

Если выполняется операция записи данных в какой-либо регистр исполнителя, то необходимо за 30 нс (до прихода данных) выполнить дешифрацию адреса (сформировать сигнал ВыбВУ).

При отсутствии возможности выполнить это условие следует на один такт задержать формирование TRDY#, т.е. ввести такт ожидания в работе инициатора. В схеме не используется приемопередатчик данных, вносящий задержку как, например, в контроллерах шины ISA, здесь вместо него применяются два формирователя (ФОР) с тремя состояниями. Кроме того, при чтении данных схема контроля (СК) формирует выходной сигнал PAR# , а при записи данных она сравнивает входной сигнал PAR# с результатом проверки принимаемых данных на четность. Если обнаружена ошибка, то устанавливается сигнал PERR#.

Стандарт шины PCI предусматривает наличие отдельного адресного пространства конфигурации, используемого специальными программами. Для выполнения автоконфигурации, обработки катастрофических ошибок, инициализации устройств и мостов, подключенных к шине PCI, каждому устройству отводится 256-байтная память, имеющая следующий формат заголовка конфигурации (рис. 5.8).

В формате заголовка первые 16 байтов являются стандартными для PCI устройств, а следующие 48 байтов могут иметь различные размещения в зависимости от базовых функций этих устройств. Специфические (произвольные) сведения об устройствах записываются в байтах памяти конфигурации в диапазоне 64-256.

Рис. 5.8. Формат заголовка конфигурации

Идентификаторы устройства и изготовителя определяют соответственно тип (номер) устройства и его изготовителя.

В поле состояния (16-битном регистре состояния) отмечаются события, происходящие на шине PCI, например, установка устройством сигнала SERR# (системная ошибка), обнаружение устройством ошибки паритета (PAR), завершение целью транзакции с ошибкой (адресат-аборт), завершение мастером операции, на которую не отвечает цель (мастер-аборт) и т.д. Транзакция – событие на шине, состоящее из фазы адреса и одной или нескольких фаз данных.

Поле команды (16-битный регистр команды) выполняет некоторое управление работой устройства и использует младшие 10 битов, в которых разрешаются или запрещаются доступы к вводу-выводу, шине PCI, памяти, регистрам палитры видеоадаптера типа VGA и задаются другие функции управления.

Коды класса устройств содержат коды базового класса (старшие байты со смещением 0Bh), которые на крупном уровне определяют классы устройств.

Различают следующие классы устройств и их коды: контроллеры запоминающих устройств (01h), сетевые контроллеры (02h), дисплейные адаптеры (03h), мультимедийные устройства (04h), контроллеры памяти (05h) и мосты (06h).

Средний байт (смещение 0Аh) кода класса содержит код подкласса устройств. Например, для базового класса 01h контроллеру SCSI соответствует подкласс 00h, контроллеру IDE – подкласс 01h, контроллеру гибкого диска – подкласс 02h и т.д.

Младший бит (смещение 09h) определяет интерфейс программирования на уровне регистра. Обычно этот байт равен 00h.

Базовый класс мостов (код 06h) имеет следующие подклассы: главный мост (00h), ISA мост (01h), EISA мост (02h), MC мост (03h), PCI-PCI мост (04h) и пр.

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

Тип заголовка указывает, является ли данное устройство однофункциональным или многофункциональным и определяет структуру всех остальных байтов формата заголовка, начиная с адреса 10h. Для приведенного формата заголовка код типа заголовка равен 00h.

Таймер, входящий в состав заголовка, подсчитывает число тактов шины PCI и определяет время, выделенное мастеру, для освобождения шины при наличии других запросов на захват шины.

Размер КЭШ задается числом 32-битных данных и необходим с целью определения границы пакетной передачи данных.

Базовые адреса позволяют определить наличие различных устройств, присоединяемых к шине PCI, объем используемой памяти, адресное пространство контроллеров ввода/вывода. Шесть 32-битных регистров отведены под базовые адреса, начиная со смещения 10h. Бит 0 в базовых регистрах указывает на его отношение к памяти (0) или вводу/выводу (1). В базовом регистре памяти указывается расположение базового адреса, например, в 32-битных или 64-битных адресных пространствах и значение базового адреса. Значение базового адреса ввода/вывода хранится в соответствующем регистре базового адреса с битом 0, равным 1.

Смещение 30h указывает на базовый адрес расширения ПЗУ и разрешение дешифрации адреса.

Регистр установки таймера (2 байта) предназначен для задания длительности пакетного периода и частоты доступа к шине PCI. В регистре вывод прерывания (8 бит) определяется, какой сигнал прерывания используется устройством, например, значение 1 соответствует сигналу INTA#, значение 2 – сигналу INTB# и т.д. Регистр линии прерывания хранит информацию о соединении вывода прерывания устройства со входом системного контроллера прерывания, т.е. сообщается номер запроса системного контроллера прерывания.

Выбор адресного пространства конфигурации любого устройства PCI выполняется с помощью интерфейсного сигнала IDSEL. Сигнал IDSEL формирует главный мост (дизайнер системы) или мост PCI-PCI и этот сигнал достоверен (устойчив) только в первом такте CLK установки сигнала FRAME# (в фазе адреса) при выполнении команды конфигурации. Для расширения числа подключаемых к шине устройств предусмотрена возможность соединения вывода IDSEL через резистор с одной из старших адресных линий (не используемых при доступе к памяти конфигурации) для выбора соответствующего устройства PCI. Каждый сигнал IDSEL выбирает соответствующее ему устройство PCI.

Временная диаграмма чтения памяти конфигурации представлена на рис. 5.9.

* - неопределенное состояние

Рис. 5.9. Чтение памяти конфигурации

Так как шины PCI могут быть иерархического типа, состоящего из нескольких шин, разделенных мостами, то предусмотрены 2 типа доступа (041) со стороны моста (главного или PCI-PCI) к устройствам (целям) PCI. При доступе типа 0 (в пределах одной шины PCI) мост содержит два порта: 32-битный регистр адреса конфигурации (CF8h) и 32-битный регистр данных конфигурации (CFCh), с помощью которых выполняется обращение к памяти конфигурации устройства PCI. В регистре адреса конфигурации биты D1D0, равные значениям 00, определяют тип доступа 0. Биты D7-D2 задают номер регистра памяти конфигурации, биты D10-D8 – номер функции, если устройство PCI многофункциональное, и биты D15-D11 – номер устройства PCI, который может быть преобразован только в одно единичное значение в фазе адреса на одной из линий AD31-AD11 (сигнал IDSEL). На рис. 5.10 представлена схема трансляции содержимого регистра адреса конфигурации (РАК) на линии AD(31-0) шины PCI.

Доступ типа 1 (доступ к устройству на другой шине) определяется значениями битов D1 D0, равными 01. При этом обращении используются в регистре PAR биты D23-D16, предназначенные для выбора одной из 128 шин системы.

Рис 5.10. Схема трансляции содержимого РАК на шину AD

Разъем шины PCI показан на рис. 5.11, в котором для удобства размещения номера выводов представлены в двух колонках.

Ряд В

Номер

Ряд А

Ряд В

Номер

Ряд А

-12 В

1

-TSTRES

-C/BE 3

26

IDSEL

Test Clock

2

+12 B

AD 23

27

+3,3 B

GND

3

TSTMSLCT

GND

28

AD 22

Test DO

4

Test DO

AD 21

29

AD 20

+5 B

5

+5 B

AD 19

30

GND

+5 B

6

-INTR A

+3,3 B

31

AD 18

-INTR B

7

-INTR C

AD 17

32

AD 16

-INTR D

8

+5 B

-C/BE 2

33

+3,3 B

-PRSNT 1

9

Reserved

GND

34

-FRAME

Reserved

10

+V I/O

-IRDY

35

GND

-PRSNT 2

11

Reserved

+3,3 B

36

-TRDY

GND / Ключ

12

GND / Ключ

-DEVSEL

37

GND

GND / Ключ

13

GND / Ключ

GND

38

-STOP

Reserved

14

Reserved

-Lock

39

+3,3 B

GND

15

-RST

ParityER

40

SDONE

Clock

16

+V I/O

+3,3 B

41

-SBOFF

GND

17

-GNT

SysERR

42

GND

-REQ

18

GND

+3,3 B

43

PAR

+V I/O

19

Reserved

-C/BE 1

44

AD 15

AD 31

20

AD 30

AD 14

45

+3,3 B

AD 29

21

+3,3 B

GND

46

AD 13

GND

22

AD 28

AD 12

47

AD 11

AD 27

23

AD 26

AD 10

48

GND

AD 25

24

GND

GND

49

AD 9

+3,3 B

25

AD 24

GND / Ключ

50**

GND / Ключ

GND / Ключ

51****

GND / Ключ

GND

73

AD 56

AD 8

52

-C/BE

AD 55

74

AD 54

AD 7

53

+3,3 B

AD 53

75

+V I/O

+3,3 B

54

AD 6

GND

76

AD 52

AD 5

55

AD 4

AD 51

77

AD 50

AD 3

56

GND

AD 49

78

GND

GND

57

AD 2

+V I/O

79

AD 48

AD1

58

AD 0

AD 47

80

AD 46

+V I/O

59

+V I/O

AD 45

81

GND

-ACK 64

60

-REQ 64

GND

82

AD 44

+5 B

61

+5 B

AD 43

83

AD 42

+5 B

62

+5 B

AD 41

84

+V I/O

 

 

 

GND

85

AD 40

 

 

 

AD 39

86

AD 38

Reserved

63

GND

AD 37

87

GND

GND

64

-C/BE 7

+V I/O

88

AD 36

-C/BE

65

-C/BE 5

AD 35

89

AD 34

-C/BE

66

+V I/O

AD 33

90

GND

GND

67

PAR 64

GND

91

AD 32

AD 63

68

AD 62

Reserved

92

Reserved

AD 61

69

GND

Reserved

93

GND

+V I/O

70

AD 60

GND

94

Reserved

AD 59

71

AD 58

 

 

 

AD 57

72

GND

 

 

 

Примечание: *12,13 – ключ для 3,3 В; **50,51 – ключ для 5 В.

Рис. 5.11. Разъем шины PCI

Предыдущая

Похожие материалы:
Логическая модель макроэкономики
Алесинская Т.В. Основы логистики: Логистический процесс на складе
Логистические системы
Локальные нормативные акты, содержащие нормы трудового права
Гончарук В.А. Развитие предприятия: Локальные цели и системный подход
Ломщик пода



О сайте   Авторам   Реклама и услуги   Контакты
Copyright © 2007-2021, Консалтер.Ру