WWW.KN.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Различные ресурсы
 

Pages:     | 1 | 2 ||

«Реализация 2.0 30 Апреля, 1993 Реализация 2.0 Реализация Хронология реализации Дата 1.0 Оригинальное издание 6/22/92 2.0 Спецификации 4/30/93 соединительного разъема и ...»

-- [ Страница 3 ] --

• 100 нс (минимум) для 5V - шины, при падении напряжения ниже чем на шине 3.3V больше чем на 300mV.

Система должна выставить RST# в течение включения питания или в случае сбоя питания. После того как RST# выставлен, PCI-компонент не реагирует на сброс, пока Trst и Trst-clk не будут выполнены.

Рисунок 4-12 показывает синхронизацию сигнала RST#.

–  –  –

Сигнал REQ64# используется в течение сброса, чтобы различить компоненты, которые соединены с 64разрядной шиной данных и которые не соединены. Сигнал REQ64# находится на шине устройств (включая PCI-слоты) которые поддерживают 64-разрядные данные. Этот сигнал имеет одиночный нагрузочный резистор на материнской плате. На PCI-слотах расширения, которые не поддерживают 64разрядные данные, сигнал REQ64# не находится на шине или отсоединён, но имеет собственный, отдельный нагрузочный резистор. На REQ64# должен быть низкий уровень в течение времени, когда RST# выставлен. Устройства, которые видят REQ64# выставленным в течение сброса, соединены с 64разрядной шиной данных, в то время как те, которые не видят REQ64# выставленным, не соединены.

Эта информация может использоваться компонентом, чтобы стабилизировать плавающие входы в течение времени выполнения, как описано в разделах 4.2.1.1. и 4.2.2.1.

В течение сброса, REQ64# имеет установку и требования времени задержки относительно фронта4 RST#, REQ64# асинхронный относительно CLK в течение сброса.

4.3.3. Нагрузка Сигналы управления PCI всегда требуют, чтобы нагрузочные резисторы имели устойчивые номиналы, когда шина активно не используется. Это сигналы: FRAME#, TRDY#, IRDY#, DEVSEL#, STOP#, SERR#, PERR# и, когда используются: LOCK#, REQ64#, и ACK64#. Двухточечные сигналы и 32-разрядные разделённые сигналы не Это позволяет REQ64# быть распознанным на спаде RST#.



Реализация 2.0 требуют этих резисторов: шина гарантирует их стабильность. Сигналы 64-разрядной шины данных AD[63::32], C/BE[7::4]# и PAR64 должны также быть нагружены, когда они соединены. Когда они оставлены несоединенными (как в 64-разрядной плате в 32-разрядном разъёме) компонент непосредственно должен взаимодействовать с плавающим входом как описано в разделе 4.2.

Формулы для минимума и максимума нагрузочных резисторов приводятся ниже. Rmin прежде всего определяется Iol, выходным постоянным током низкого уровня, в то время как число нагрузок имеет только вторичный эффект. С другой стороны, Rmax прежде всего определяется числом представленных нагрузок. Спецификация предусматривает минимальное значение R, которое вычислено основанным на 16 нагрузках (самый плохой случай), и типичное значение R, которое вычисляется как максимальное значение R при 10 нагрузках. Максимальное значение R определяется только формулой и будет самым высоким в системе с самым маленьким числом нагрузок.

Rmin= [Vcc (максимум) -Vol] / [Iol + (16Iil)], где 16=max число загрузок Rmax= [Vcc (минимум) -Vx] / [num_loads * Iih],

–  –  –

4.3.4. Питание 4.3.4.1. Требования к питанию Все PCI-разъёмы требуют наличия четырех шин питания: +5V,+ 3.3V, + 12V, и -12V. Системы использующие среду передачи сигналов 3.3V всегда требуют, чтобы присутствовали все четыре шины в каждой системе, с токами, определенными в таблице 4-10. Системы, использующие 5-вольтовую среду передачи сигналов могут также использовать или 3.3V, или обеспечивать средства для добавления этого позже, чтобы поддерживать платы расширения, которые этого требуют, и должны обеспечить оставшиеся три шины питания для каждой системы.





Требования к току на контакте для двух 12-вольтовых шин приводятся в таблице ниже. Нет никаких специфических системных требований для тока на контактах 5-вольтовой и 3-вольтовой шине: это зависит от системы. Система обеспечивает общие требования питания для плат расширения, которые могут быть распределены между контактами произвольным способом. Контакты PRSNTn# на разъёме позволяют системе оценивать требования питания каждой платы, и определять, пригодна ли установленная конфигурация в общих требованиях питания. См. раздел 4.4.4.1. для дальнейших подробностей.

Таблица 4-10 определяет допуски шин питания.

–  –  –

4.3.4.2. Последовательность Не имеется никакой определенной последовательности, в которой четыре шины питания активизируются или дезактивируются. Они могут включаться или выключаться в любом порядке. Система должна установить RST# при включении и всякий раз, когда 5V-шина или шина 3.3V выходит из строя (см.

Раздел 4.3.

2). В течение сброса, все сигналы PCI доводятся до "безопасного" состояния, как описано в Разделе 4.3.2.

4.3.4.3. Изоляция Все шины питания должны быть изолированы от земли чтобы организовать таким способом управление токами переключения (d I/d t), которым подвергнута шина. Это зависит от платформы и не детализируется в спецификации.

Контакты 3.3В в PCI-разъёмах (даже если они не являются питающими) обеспечивают путь возврата переменного тока и должны быть «шинированы» вместе на материнской плате, предпочтительно при питании 3.3В, и изолированы от "земли" в соответствии с высокоскоростными методами передачи сигналов. Чтобы гарантировать адекватный возвратный путь переменного тока, рекомендуется, чтобы 12 быстродействующих конденсаторов ёмкостью 0.01microF были равномерно расположены на шине 3.3В.

4.3.5. Распределение синхронизации системы При вычислении общего количества PCI- нагрузок, особое внимание должно быть уделено максимальной длине дорожки на плате и нагрузке плат расширения, как описано в разделе 4.4.3. Также, максимальная емкость контакта в l0 pF должна быть принята для плат расширения, в то время как фактическая емкость штырька может использоваться устройств на плате.

Общий период синхронизации может быть разделен в четыре части. Допустимая выходная задержка (Tval) и входное время установки (Tsu) определяется спецификацией компонента. Суммарный перекос синхронизации (Tskew) и время распространения по шине (Tprop) - системные параметры. Tprop определен как 10 ns, но может увеличиваться до 11, понижая перекос синхронизации; то есть сумма Tprop и Tskew вместе не может превышать 12 ns, однако, ни при каких обстоятельствах Tskew не может превышать 2 ns. Tprop измеряется как показано на рисунке 4-13. Он начинается во время перехода сигнала входного буфера через пороговую точку (Vtest в Рисунке 4-12). Заканчивается он, когда сигнал самого медленного входа пересекает Vih (высокий уровень) или Vil (низкий уровень) и никогда не возвращается обратно через этот уровень снова.

Должна соблюдаться определённая предосторожность при точной оценке этой точки синхронизации. Обратите внимание, что входная буферная синхронизация тестируется с некоторой перегрузкой (Vih и Vil).Это может быть необходимо, чтобы гарантировать входную синхронизацию. Например, вход не может считаться правильным (и следовательно Tprop все еще продолжается) если он поднимается до Vih и не возвращается через Vih

–  –  –

Рисунок 4-13: Измерение Tprop (см. таблицу 4-7 для значений параметра) 4.3.6. Конструктивные требования 4.3.6.1. Маршрутизация и размещение четырехслойных плат Контакты питания размещены на разъёме, чтобы облегчить размещение на четырехслойных материнских платах. Питание может подводиться на изолированный участок разъёма 3.3В в 5-вольтовой плате, который объединяет все 3.3-вольтовые контакты PCI-разъёма, и может иметь разводку питания к разъёму питания. Хотя это стандартная методика, разводка высокоскоростных сигналов над этим слоем может вызывать проблемы целостности сигнала. Зазор в плоскости платы прерывает путь возврата переменного тока для сигнала, создавая неоднородность полного сопротивления.

Рекомендуемое решение состоит в том, чтобы упорядочивать сигнальные слои так, чтобы никакие высокоскоростные сигналы (например 33 МГц) не принадлежали к обоим слоям. Дорожки сигнала должны также оставаться полностью над плоскостью 3.3В или полностью над 5-вольтовой плоскостью.

Сигналы, которые должны переходить из одной области в другую должны быть разведены на противоположных сторонах платы так, чтобы они находились в плоскости, которая не расчленяется. Если это не возможно и сигналы должны быть направлены над зазором, два слоя должны быть связаны вместе ёмкостью 0.01microF (5-вольтовая плоскость с 3.3-вольтовой) быстродействующими конденсаторами для каждых четырех сигналов, пересекающих зазор, и конденсатор располагается не далее 0.25 дюйма от точки пересечения сигналов с зазором.

Эта рекомендация не относится к медленным сигналам типа ISA-сигналов.

–  –  –

4.3.6.2. Полное сопротивление материнской платы Не имеется никакой спецификации полного сопротивления для пустой материнской платы.

Проектировщик системы имеет два первичных ограничения :

1. Длина и скорость сигнала должна обеспечить полное распространение его "туда и обратно" по шине внутри определенной задержки распространения равной 10 нс. (см. раздел 4.3.5.)

2. Полное сопротивление в любой точке сети должно быть таким, что PCI- устройство вывода (как определено его ВАХ) может удовлетворять спецификации устройства ввода данных с одиночным отражением сигнала. Это включает в себя нагрузку, обеспеченную платами расширения.

Частота функционирования может изменяться для изменения расстояния распространения "туда и обратно" по шине, чтобы формировать конфигурации, которые не могли бы выполнять два вышеуказанных ограничения. Но это всего лишь рекомендация.

4.3.7. Назначения контактов разъёма PCI-разъём содержит все сигналы, определенные для PCI-компонента, плюс два контакта которые связаны только с разъёмом: это контакты: PRSNT1# и PRSNT2#, они описаны в Разделе 4.4.1.

Материнские платы должна изолировать оба этих контакта индивидуально от "земли" с помощью высокоскоростных конденсаторов ёмкостью 0.01 microF, потому что один или оба из контактов также обеспечивают путь возврата переменного тока. Эти контакты не могут быть на шине или как-либо соединенными друг с другом на материнской плате. Далее использование этих контактов на материнской плате необязательно. Если проект материнской платы использует эти контакты, чтобы получить информацию о плате, то каждый контакт должен иметь соответствующий нагрузочный резистор (приблизительно 5 K) на материнской плате. Назначение контактов разъёма показаны в таблице 4-11.

–  –  –

Контакты, помеченные "+5V(I/O)" и "+ 3.3V(I/O)" - специальные контакты питания для управления и запуска PCI-шины передачи сигналов на универсальной плате. На материнской плате они соединены с "+5V" или "+3.3V".

Особое внимание должно быть уделено соединению REQ64# и ACK64# на материнской плате.

Соответствующие нагрузочные резисторы располагаются на этой материнской плате (а не плате расширения) чтобы гарантировать, что имеется не более чем один соответствующий резистор, соединенный с любым из этих контактов. 64-разрядный разъём не всегда представлен на материнской плате, так что эти контакты размещаются на разделе 32-разрядного разъёма. Эти сигналы должны быть шинированы вместе (с одиночным нагрузочным резистором на каждом сигнале) на всех контактах, которые обеспечивают 64-разрядную шину данных. Для 32-разрядных контактов эти сигналы должны остаться открытыми. Они не должны быть соединены вместе, и каждый должен иметь собственный нагрузочный резистор так, чтобы 64-разрядные платы, подключенные в 32-разрядные слоты функционировали правильно. Для специальной информации REQ64# в течение сброса, обратитесь к разделу 4.3.2.

–  –  –

4.4. Спецификация платы расширения 4.4.1. Назначение контактов платы PCI-разъём содержит все сигналы, определенные для PCI-компонента, плюс два контакта, которые связаны только с разъёмом. Это сигналы - PRSNT1# и PRSNT2#. Они используются для двух целей:

индикация, что плата физически представлена в слоте и обеспечение информацией относительно общих требований питания платы. Таблица 4-12 определяет требуемую установку PRSNT# для плат расширения.

–  –  –

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

–  –  –

Контакты помеченные “+Vio”- это специальные контакты питания для определения и управления сигналов PCI на универсальной плате. На этой плате, буферы ввода/вывода PCI-компонентов должны запитываться только от этих специальных контактов, а не от контактов +5V или +3.3V.

–  –  –

4.4.2. Требования питания 4.4.2.1. Изоляция При типичных условиях, ёмкость между питанием и землёй будет обеспечивать хорошую изоляцию для контактов питания разъёма. Максимальная длина дорожки от разъёма до Vcc/GND слоя должна быть 0.25 дюймов.

Однако, на универсальной плате, вероятно шина питания буфера ввода - вывода не будет иметь адекватной ёмкости по отношению к земле, чтобы обеспечить необходимую изоляцию. Контакты, помеченные "+ Vio" должны быть изолированы от "земли" в среднем с ёмкостью 0.047 microF на контакт.

Дополнительно, все +3.3-вольтовые и любые неиспользуемые +5-вольтовые контакты должны быть изолированы от земли как описано ниже, чтобы гарантировать, что они продолжают функционировать как эффективные контрольные точки переменного тока:

1. Изолирование должно составить в среднем по крайней мере 0.01 microF на контакт питания.

2. Длина дорожки от контакта до конденсатора должна быть не больше 0.25 дюйма при использовании ширины дорожки по крайней мере 0.02 дюйма. Не имеется никакого ограничения относительно числа контактов, которые могут совместно использовать один и тот же конденсатор, если вышеуказанные 2 требования выполняются.

4.4.2.2. Потребляемая мощность Максимальная мощность, позволенная для любой PCI-платы -- 25 Вт, и представляет общую мощность, выведенную от всех четырех шин питания, обеспечиваемых в разъёме. В самом плохом случае, все 25Вт могли бы быть выведены из + 5V- или из + 3V-шины.

Ожидается, что много систем не будут обеспечивать полные 25 ватт на разъём питания для каждой шины питания, потому что большинство плат обычно потребляет намного меньше чем это количество. По этой причине, PCI платы, которые потребляют больше чем l0 ватт должны включаться и сбрасываться к питанию, сохраняющему состояние, которое потребляет l0 Вт или меньше, если это возможно. Пока это состояние имеется, плата должна обеспечить полный доступ к PCI-пространству конфигурации, и должна выполнить требуемые функции начальной загрузки, типа базисного текстового режима на плате видеосигнала. Все другие функции платы могут быть приостановлены, если необходимо. Это питание, сохраняющее состояние может быть достигнуто различными способами.

Например:

1. Тактовые частоты на плате могут быть уменьшены, что в принципе уменьшает эффективность, но не ограничивают функциональные возможности

2. Шины питания некритических частей могли бы быть закрыты от с FET, который мог бы ограничить функциональные возможности После того, как драйвер для платы был инициализирован, плату можно довести до полностью включенного состояния, полное состояние эффективности, используя устройство - зависимый механизм выбора. В системах с продвинутым управлением питанием, драйвер устройства может требоваться, чтобы сообщить итоговую потребляемую мощность перед осуществлением полного доступа к плате, чтобы позволить системе определить, имеет ли она достаточный резерв мощности для всех плат в текущей конфигурации. Драйвер должен быть способен точно определить максимальные требования питания для платы, и из которых шин(ы) это питание будет подаваться.

–  –  –

4.4.3. Конструктивные требования 4.4.3.1. Ограничения длины дорожки

Длина дорожки от разъёма на краю платы до PCI-устройства следующая:

1. Максимальные длины дорожек для всех сигналов 32-разрядного интерфейса ограничены 1.5 дюймами для 64-битовых плат и 32-разрядных плат.

2. Длины дорожек дополнительных сигналов, используемых для 64-разрядного расширения ограничены до 2-х дюймов на всех 64-разрядных платах.

3. Длина дорожки для CLK сигнала равна 2.5 дюйма плюс/минус 0.1 дюйма для 64- разрядных плат и 32-разрядных плат и они должны быть направлены только к одной нагрузке.

4.4.3.2 Маршрутизация

Контакты питания размещаются на разъёме, чтобы облегчить размещение на четырехслойных платах.

"зазор питания" может использоваться, как описано в Разделе 4.3.6.l, хотя это - стандартная методика, направление высокоскоростных сигналов непосредственно над этим зазором может вызывать проблемы целостности сигнала. Зазор в плоскости прерывает путь возврата переменного тока для сигнала, создавая неоднородность полного сопротивления.

Рекомендуемое решение состоит в том, чтобы упорядочивать размещение сигнальных уровней так, чтобы никакой высокоскоростной сигнал (например 33 MHz) не был привязан к обоим слоям. Сигнальные дорожки должны также остаться полностью над слоем 3.3V или полностью над слоем 5V. Сигнал, который должен перейти от одной области к другой должен быть разведён на противоположных сторонах платы так, чтобы они были отнесены к слою "земли" которая не расчленяется. Если это не возможно, и сигналы должны быть направлены над зазором, два слоя должны быть связаны вместе посредством ёмкости (5V слой непосредственно с 3.3-вольтовым слоем) в 0.01 microF быстродействующими конденсаторами для каждых четырех сигналов, пересекающих зазор, и конденсатор помещается не далее, чем на 0.15 дюймов от точки пересечения сигналами зазора.

4.4.3.3 Полное сопротивление (импеданс) Характеристический импеданс (Z0) разделяемых дорожек сигнала на плате расширения должен контролироваться, чтобы быть в диапазоне от 60 до 100 Ом. Скорость прохождения сигнала по дорожке должна быть между 150 и 190 ps/inch (пикосекунд на дюйм).

Реализация 2.0

4.4.3.4. Нагрузка сигнала Разделяемые сигналы PCI должны быть ограничены одной нагрузкой на плате расширения. Нарушение длины дорожки на плате расширения или невыполнение ограничений ставит под угрозу целостность сигнала системы. Это специфично для плат расширения:

• Подключайте ROM(ПЗУ) расширения непосредственно (или через приемопередатчики шины) на любые PCI-контакты.

• Подключите два или более PCI-устройств на плату расширения, если они не поместились позади интерфейса PCI-PCI.

• Подключайте любую логику (другую, нежели одиночное PCI-устройство) - это позволит исследовать PCI-контакты.

• Используйте PCI-компонент, устанавливающий более одной нагрузка на каждом PCI-контакте;

например, разделите компоненты шины адреса и шины данных.

• Используйте PCI-компонент, который имеет ёмкость большую чем 10 pF на контакт.

• Подключайте любые нагрузочные резисторы или другие дискретные устройства к сигналам PCI, если они не помещены позади моста PCI-PCI.

Глава 5 Конструктивная спецификация

5.1. Краткий обзор PCI плата расширения основана на заготовке печатной платы (см. рисунки 5-1 и 5-2), которая реализована очень просто в существующих разработках многочисленных изготовителей. Разработанная плата адаптирована к ISA. EISA и MC - системам. PCI платы разложения имеют два базисных коэффициента формы: стандартной длины и короткой длины. Стандартная длина платы обеспечивает площадь 49 квадратных дюймов. Короткая длина была выбрана для панельной оптимизации, чтобы обеспечить самую низкую стоимость. Короткая плата также обеспечивает самую низкую стоимость при разработке системы с самым низким уровнем энергопотребления, и позволяет проектировать небольшие системы. Разъем для платы расширения предусматривает как 64-разрядные интерфейсы, так и 32 разрядные.

PCI платы и разъемы имеют ключи для осуществления перехода 5В к 3.3В. Базисный 32-разрядный разъем содержит 120 контактов. Логическая нумерация контактов показывает 124 контактных опознавательных числа, но четыре контакта не представлены и заменены расположением самого ключа.

При одной ориентации, ключ на разъем расположен так, чтобы можно было вставлять 5В - платы при передаче сигналов системы; если ключ повернут на 180°, то можно вставлять платы с сигнальным напряжением 3.3В. Универсальные вставляемые платы предусматривают работу с 5В и 3.3В и имеют два паза - ключа, поэтому их можно вставлять в любой разъем. При наличии расширения до 64 разрядов, на том же самом разъеме, увеличивает общее число контактов до 184. 32-разрядный разъем подразумевает соответствующее напряжение для передачи сигналов, 32-разрядные платы и 64-разрядные платы взаимодействуют внутри классов напряжений передачи сигналов в системе, определяемых положением ключа в 32-разрядном разъеме. 32-разрядная плата идентифицирует себя для 32-разрядной передачи на 64-разрядном разъеме. 64-разрядная плата в 32 - разрядном разъеме может быть сконфигурирована для 32 - разрядных пересылок.

Максимальное рассеяние мощности платы кодируется на контактах PRSNT1# и PRSNT2# платы расширения. Такое аппаратное кодирование может считываться программным обеспечением системы после инициализации. Программное обеспечение системы может затем определять, является ли адекватным охлаждение и ток питания в системе для осуществления надежной работы во время инициализации и запуска. Обеспечиваемые уровни питания и их кодирование описываются в главе 4, "Электрическая спецификация".

PCI плата расширения включает в себя кронштейн для установки платы и ее закрепления.

Объединительная плата - интерфейс между платой и системой. Объединительная плата была разработана с возможностью установки в нее плат расширения в ISA/EISA и MC - системах.

Реализация 2.0

См. рисунки 5-4 и 5-5 для ISA/EISA - трансляций и рисунки 5-6 и 5-7 - для MC трансляций. На плате PCI должны быть кронштейны для каждого типа, чтобы конечные пользователи могли сконфигурировать плату для своей системы. ISA/EISA комплект содержит PCI кронштейн, от 4 до 40 шурупов и расширитель платы. Общая длина PCI платы расширения - как такой же MC - платы. Расширитель закреплен на передней части платы PCI, чтобы обеспечить поддержку стандарта ISA для направляющей части платы. MC - комплект содержит кронштейн MC, от 4 до 40 шурупов и фигурный кронштейн.

Составляющая сторона PCI платы расширения противоположна платам ISA/EISA и MC. PCI плата является зеркальным изображением плат ISA/EISA и MC. Целью PCI является реализация такого исполнения плат в системах с ограниченном числом слотов для этих плат. В этих системах PCI разъем платы расширения может сосуществовать внутри одного слота с ISA/EISA или MC разъемом расширения. Эти слоты называются общедоступными. Общедоступные слоты позволяют конечному пользователю устанавливать PCI, ISA/EISA или MC - плату. Однако, в общедоступный разъем одновременно может быть установлена только одна плата расширения.

Например, общедоступные слоты в PCI системах с ISA шиной расширения могут размещать ISA или PCI плату расширения:

общедоступные пазы в PCI - системах с MC - шиной расширения могут размещать MC- или PCI - плату расширения и т.д.

5.2. Физические размеры и допуски платы расширения Максимальная высота верхней стороны PCI платы расширения не должна превышать 0.570 дюймов (14.48 мм). Максимальная высота задней стороны платы не должна превышать 0.105 дюймов (2.67 мм).

На рисунке используется положение А, чтобы разместить PCI - плату горизонтально к интерфейсам выводной рамки, обратно от рамки и направляющей платы. Положение А реализовано через ключ на ребре платы и ключ на соединителе.

См. на рисунках с 5-1 по 5-10 физические размеры PCI - платы расширения.

–  –  –

Рисунок 5-4: ISA - сборка (5В) Реализация 2.0 Рисунок 5-5: ISA - Сборка (5В) Реализация 2.0 Рисунок 5-6: MC - сборка (5В) Реализация 2.0 Рисунок 5-7: MC - сборка (3.3В) Реализация 2.0 Рисунок 5-8: Кронштейн ISA

–  –  –

5.2.1. Физическое описание разъема Разъемы, поддерживающие PCI платы расширения, отведены от шины MC. MC разъемы подробно описаны и имеют проверенное качество и надежность. Имеются четыре разъема, которые могут использоваться в зависимости от PCI реализации. Различия между разъемами - 32 бит и 64 бит, и 5В и

3.3В среды передачи сигналов. Специальный код (ключ) дифференцирует показатели напряжения. Такой же физический разъем используется для 32-разрядных сигнальных оборудований. В одном положении ключ настроен на работу с 5В платами. При повороте на 180°, разъем допускает 3.3В платы. Вывод нумерует изменения разъема для различных сред передачи сигналов, чтобы поддержать то же самое относительное размещение сигналов на разъеме (см. Рисунки 5-14, 5-15, 5-17, и 5-l9 для детального изучения расположения платы).

На рисунках разъема, рекомендуемые детали схемы расположения даны как номинальные величины.

Предельно допустимые отклонения в схеме расположения деталей должны соответствовать рекомендациям изготовителя разъемов и принятой инженерной практике.

См. рисунки с 5-13 по 5-19 для изучения размеров разъема и рекомендаций по схеме расположения. См.

рисунки 5-20 до 5-26 для изучения размеров соединительного устройства для плат и допусков. Допуски для плат даны таким образом, чтобы можно было выпускать взаимозаменяемые платы.

–  –  –

Рисунок 5-26: Контакты соединительного устройства для плат PCI В таблице 5-1 перечислены разъемы PCI предлагаемые изготовителями.

Могут быть использованы и другие разъемы, если они соответствуют техническим характеристикам, изложенным в этом документе.

–  –  –

5.2.2. Планарное исполнение Возможны два типа планарного исполнения: разъемы монтируются на плоскости или на плате. Для иллюстрации здесь приводится подробное описание только разъемов, монтированных на плоскости. Эти основные принципы могут быть приложены к конструкции плат. Смотри рис.5-27, 5-28 и 5-29 для изучения деталей EISA, ISA и МС плат, соответственно. На рисунках показано относительное взаиморасположение базовых линий разъема PCI 5V и 3.3V к базовым линиям разъемов EISA, ISA и MC. Оба разъема на 5V и 3.3V показаны на плоскости с точным соблюдением пропорций. По нормальному, эта система должна включать в себя либо PCI разъем на 5V, либо на 3.3V, но не оба сразу.

Стандартные зазоры между платами составляют 0.8 дюйма для ISA/EISA и 0.85 дюйма для МС, вследствие чего в системе имеется только один общий слот для всех плат. Система PCI допускает установку дополнительных слотов в том случае, если существующее пространство окажется недостаточным для размещения плат. Если смотреть на конструкцию сзади, то общий слот размещен таким образом, что слоты ISA, EISA или МС располагаются справа, а PCI слоты слева.

–  –  –

В этой главе дается характеристика программной модели и правила использования для конфигурации регистрового пространства в соответствующих приборах PCI. Эта глава ограничивается определением составных частей PCI для множества типов систем. В этой главе не рассматривается система зависимых выходов для платформ особого типа. Система зависимых выходов характерна для РС - совместимых платформ, таких, как отображение адресного пространства PCI на адресное пространство процессора, входная последовательность команд, требования соединения host-to-PCI bus и т.д., эту информацию вы сможете найти в «Руководстве по проектированию PCI систем».

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

Критерии оценки этих ловушек конфигурации перечислены ниже:

• наличие достаточной поддержки, позволяющей будущим механизмам конфигурации обеспечивать:

• полное перераспределение оборудования, включая систему прерывания

• монтаж, конфигурация и самозагрузка без вмешательства пользователя

• составление адресного пространства системы с помощью оборудования независимого программного обеспечения

• эффективная поддержка существующих механизмов конфигурации (например, утилита конфигурации EISA)

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

• система рычагов такая же, как и при шаблонном подходе к общим функциям, однако, это не мешает налагать особые требования на оборудование

6.1. Организация пространства конфигурации Этот раздел посвящен организации регистров пространства конфигурации и характеристике специальной записывающей структуры или маски на 256-байтовом пространстве. Это пространство поделено на заранее определенный заголовок и область, зависящую от устройства. Устройства реализуют только необходимые и соответствующие регистры в каждой области. Пространство конфигурации устройства должно быть доступным в любое время, а не только при самозагрузке системы.

Вышеупомянутый заголовок имеет размер 64 байта и каждое устройство должно поддерживать формат этой области. Эта область состоит из полей, которые однозначно идентифицируют устройство и позволяет устройству быть контролируемым. Остальные 192 байта специфичны для устройства и не описываются в этом документе.

Реализация 2.0

Программное обеспечение системы может нуждаться в сканировании канала PCI c целью определения, какие устройства реально присутствуют. Для этого программное обеспечение конфигурации должно считывать ID (идентификатор) поставщика в каждом возможном слоте PCI. Главная шина моста PCI должна однозначно определять попытки чтения ID поставщика несуществующего устройства. Поскольку 0FFFFh является неиспользуемым ID поставщика для главной шины моста PCI, то допустимо возвращение значения из всех единиц при попытке считывания регистров пространства конфигурации несуществующих устройств.

–  –  –

Рисунок 6-1 описывает расположение 64-байтовой предопределенной части заголовка 256-байтового пространства конфигурации, которую должно поддерживать каждое PCI устройство. Устройства должны поместить все необходимые специфичные им регистры только в ячейки от 64 до 255. Все многобайтовые числовые поля следуют в little-endian порядке. То есть нижние адреса содержат наименее значительные части поля. Программное обеспечение должно соблюдать осторожность, чтобы правильно работать с полями закодированных битов, которые имеют биты, зарезервированные для будущего использования.

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

Реализация 2.0

То есть значения зарезервированных битов должны сначала читаться, потом объединены с новыми значениями других битов и затем данные записываются обратно. Раздел 6.2. описывает регистры в вышеупомянутой части заголовка пространства конфигурации.

Вышеупомянутая часть заголовка пространства конфигурации разделена на две части. Первые 16 байтов одинаково определены для всех типов устройств. Оставшиеся 48 байтов могут иметь различное расположение в зависимости от основной функции, которую поддерживает устройство. Общее расположение определяется в зависимости от поля тип заголовка (размещенного на 0Eh). В настоящее время определен только один тип заголовка (00h), который имеет расположение, показанное в рисунке 6В следующих изданиях будут определены другие типы заголовков имеющих особые функции (т. к., дополнительная память, PCI-to-PCI мосты, и т.д.).

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

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

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

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

–  –  –

Кодирование подкласса и интерфейса программирования дано ниже для каждого определенного базового класса. Все неопределенные кодировки зарезервированы.

Базовый класс 00h Этот базовый класс определяется для установления соответствий оборудования для приборов, которые были определены прежде, чем было определено поле Кода Класса. Никакие новые приборы не должны использовать это значение и существующие приборы должны быть переключаемыми, чтобы более соответствовать значению, если возможно.

Для кодов класса с этой величиной базового класса, для оставшихся полей имеются два определенных значения как показано в таблице ниже. Все другие величины зарезервированы.

–  –  –

Базовый класс 01h Этот базовый класс определен для всех типов контроллеров накопителей информации. В этом классе выделяются несколько подклассов. Не определено никаких специальных программируемых интерфейсов на регистровом уровне.

–  –  –

Базовый класс 02h Этот базовый класс определен для всех типов контроллеров сети. В этом классе выделяются несколько подклассов. Не определено никаких специальных программируемых интерфейсов на регистровом уровне.

–  –  –

Базовый класс 03h Этот базовый класс определен для всех типов контроллеров дисплея. В этом классе выделяются несколько специфичных подклассов, каждое из которых имеет известный программируемый интерфейс регистрового уровня.

–  –  –

Базовый класс 04h Этот базовый класс определен для всех типов устройств мультимедиа. В этом классе выделяются несколько подклассов. Не определено никаких специальных программируемых интерфейсов на регистровом уровне.

–  –  –

Базовый класс 05h Этот базовый класс определен для всех типов контроллеров памяти (обратитесь к разделу 6.2.5.3.). В этом классе выделяются несколько подклассов. Не определено никаких специальных программируемых интерфейсов на регистровом уровне.

–  –  –

Базовый класс 06h Этот базовый класс определен для всех типов мостов. PCI мост - любой PCI прибор, который отображает PCI ресурсы (память или ввод/вывод) от одной части устройства к другой. В этом классе выделяются несколько подклассов. Не определено никаких специальных программируемых интерфейсов на регистровом уровне.

–  –  –

6.2.2. Управление устройством Регистр Команды обеспечивает способность прибора генерировать циклы PCI и отвечать на них.

Когда 0 записан в этот регистр, то прибор логически разъединен от PCI шины для всех доступов за исключением доступа конфигурации. Функциональная возможность всех приборов должна поддерживаться на этом базовом уровне. Отдельные биты в регистре Команды могут быть задействованы или нет в зависимости от функциональных возможностей приборов. Например, в том случае если в приборе не задействовано пространство ввода/вывода, то в 0 разряде регистра Команды не будет осуществляться регистрация данных. Как правило, используются устройства со всеми нулями в регистре Команды, но в разделе 6.4.

объяснены некоторые исключения. Рисунок 6-2 показывает схему регистра, и Таблица 6-2 объясняет значения различных битов в регистре Команды.

–  –  –

6.2.3. Состояние устройства Регистр Состояния используется для протоколирования информации о состоянии PCI шины.

Определение каждого из битов дано в Таблице 6-3, и схема регистра показана на Рисунке 6-3. Приборы могут не требовать задействования всех битов в зависимости от функциональных возможностей прибора. Например, прибор, который действует в качестве ведомого, но никогда не сообщает о своем аварийном прекращение работы, не использует бит 11.

Чтение этого регистра происходит нормально. Запись немного отличается, эти биты могут быть сброшены, но не установлены. Бит сбрасывается всякий раз, когда регистр записан, и данные в соответствующем бите равны 1. Например, чтобы очистить бит 14 и не воздействовать на все другие биты, запишите значение 0100_0000_0000_0000b в регистр.

–  –  –

6.2.4. Смешанные функции В этом разделе описаны регистры независимые от устройств и необходимые только для обеспечения перечисленных ниже функций.

Размер Кэша Этот регистр определяет размер кэша системы в 32-разрядных словах. Этот регистр для чтения/записи должен использоваться мастер - устройствами, которые могут генерировать команды Write и Invalidate Памяти (Смотрите раздел 3.1.1). Приборы, участвующие в протоколе кэширования (Смотрите раздел 3.3) используют это поле, чтобы знать, когда повторить сигнал доступа в пределы кэша. Эти приборы могут игнорировать линии PCI поддерживающие кэш (SCONE и SBO#) когда этот регистр установлен в 0. Это поле должно быть установлено в 0 при сбросе.

Таймер Времени ожидания Этот регистр определяет, в единицах часов шины PCI, значение Таймера задержки для этого мастера PCI шины (Смотрите раздел 3.4.4.1.). Этот регистр должен быть выполнен как перезаписываемый любым мастером в том случае, если возможна разбивка больше чем две фазы данных. Этот регистр может быть выполнен как только для чтения для устройств, которые разбивают данные на две или менее количество фаз, но фиксированное значение должно ограничиваться 16 или меньше. Типичной реализацией было бы формирование пяти старших битов (оставляя три младших только для чтения), приводящее к степени детализации таймера до восьми часов. При сбросе, регистр должен быть установлен в 0 (если программируемый).

–  –  –

Линия Прерывания Регистр линии Прерывания представляет собой 8-разрядный регистр, используемый для сообщения линии прерывания, направляющей информации. Этот регистр для чтения/записи и может использоваться любым устройством (или функцией устройства) который использует выводы прерывания. Программное обеспечение POST должно регистрировать информацию маршрутизации в этом регистре во время инициализации и конфигурирования системы.

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

Вывод Прерывания Регистр вывода Прерывания сообщает, какие выводы прерывания использует устройство (или функция устройства). Значение 1 соответствует INTA#. Значение 2 соответствует INTB#. Значение 3 соответствует INTC#. Значение 4 соответствует INTD#. Устройства (или функции устройства) которые не используют вывод прерывания, должны поместить 0 в этот регистр. Этот регистр только для чтения.

MIN_GNT и MAX_LAT Это байтовые регистры только для чтения и используются для определения устройств желающих установки значения Таймера времени ожидания. Для обоих регистров значение определяет период времени в единицах 1/4 микросекунды. Значение 0 указывают, что устройство не требует установки Таймеров времени ожидания.

MIN_GNT используется для определения длительности периода разбивки устройства, нуждающегося в принятии тактовой частоты 33 МГц. MAX_LAT используется устройством для определения частоты получения доступа к PCI шине.

Устройства должны определять значения, которые позволят им эффективно использовать PCI шину также как их внутренние ресурсы.

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

6.2.5.1. Таблицы адресов При включении питания программное обеспечение должно сформировать согласованную таблицу адресов перед подключением машины к рабочей системе. В связи с этим необходимо точно установить объем памяти системы, и сколько адресного пространства требуют в системе контроллеры ввода/вывода. После определения этой информации, программное обеспечение включения питания может точно разместить контроллеры ввода/вывода в правильных позициях и продолжать начальную загрузку системы. Основные регистры на схеме размещаются в заранее определенном заголовке пространства конфигурации.

Для PC на основе x86 значения в этом регистре соответствуют числам IRQ (0-15) стандартной двойной 8259 конфигурации. Значение 255 определено как значение «неизвестного» или «несоединенного » контроллера прерывания. Значения от l5 до 255 зарезервированы.

Реализация 2.0

–  –  –

Базовые регистры, которые отображают в пространство ввода/вывода, всегда 32-битовые, где в бите 0 аппаратно определена 1, а бит 1 зарезервирован и должен возвращать 0 при чтении, другие биты используются, чтобы отобразить устройство в пространство ввода/вывода (см. Рисунок 6-6).

Реализация 2.0

Базовые регистры, которые отображают в пространство памяти (Рисунок 6-5) могут быть 32 бита или 64 бита (для поддержки отображения в 64-разрядное адресное пространство) с битом 0, аппаратно установленным в 0. Для базовых регистров памяти, биты 2 и 1 имеют кодируемое значение как показано в Таблице 6-5.

Бит 3 должен быть установлен в 1, если данные предопределены и сбрасываться в 0 в противном случае. Устройство может отмечать диапазон как предопределенный; если не имеется никаких побочных эффектов при чтении, устройство возвращается к считыванию данных независимо от байта разрешения и мост хоста может объединить записи процессора в этот блок2 не вызывая помех. (см. раздел 3.2.3.). Биты 0-3 только для чтения.

–  –  –

Число старших битов, которые устройство фактически устанавливает, зависит от того, сколько адресного пространства устройство может адресовать. Устройство, которое хочет адресное пространство памяти 1 МБ (использующее 32-разрядный регистр базового адреса) должно сформировать старшие 12 битов адресного регистра, аппаратно другие биты установлены в 0.

Программное обеспечение Включения питания может определять количество адресного пространства требуемое устройству для записи всех единиц в регистр и для чтения значений обратно. Устройство должно возвращать 0 во все незадействованные биты адреса, точно определяя требуемое адресное пространство.

Эта конструкция предполагает, что все задействованное адресное пространство питается от двух источников и располагается линейно. Устройства могут задействовать больше адресного пространства чем требуется, но декодирование для 4КБ пространства Памяти и для 256-байтового ввода/вывода предложено для устройств, которые нуждаются в меньшем их количестве. Устройства, которые потребляют больше адресного пространства чем они используют, не требуются, чтобы ответить на неиспользуемую часть того адресного пространства.

Шесть DWORD ячеек распределены под регистры Базового адреса стартующие со смещения 10h пространства конфигурации. Первый регистр Базового адреса всегда размещается со смещения 10h.

Второй регистр может быть в смещении 14h или 18h в зависимости от размера первого. Смещения последующих регистров Базового адреса определены размером предыдущих регистров Базового адреса.

Типичное устройство требует одного блока памяти для функций управления. Некоторые графические устройства могут использовать два блока, один для функций управления и другой для буфера изображения. Устройство, которое хочет отображать функции управления, и в память и в пространство ввода/вывода одновременно, должно использовать два базовых регистра (один для Памяти, один для ввода/вывода). Драйвер для этого устройства может использовать только одно пространство и в этом случае другое пространство будет неиспользуемым. Устройства должны всегда отображать функции управления в пространство памяти.

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

Реализация 2.0 6.2.5.2. Регистр базового адреса расширенного ROM Некоторые PCI устройства, особенно, которые предназначены для использования в дополнительных модулях в PC архитектуре, требуют локальных EPROM для расширения ROM (смотрите раздел 6.3. для определения содержания ROM). 4-байтовый регистр в смещении 30h пространства конфигурации определен для хранения базового адреса и информации о размере этого расширенного ROM. На рисунке 6-7 показана организация этого слова. Этот регистр функционирует точно также как 32-разрядный регистр Базового адреса за исключением того, что кодирование (и использование) младших битов различно. Старшие 21 бит соответствуют старшим 21 битам базового адреса расширенного ROM. Число битов (из этих 21), которые устройство фактически использует, зависит от типа выравнивания, которое поддерживает устройство. Например, устройство, которое позволяет расширенному ROM быть отображенным в пределах любых 64КБ, должно использовать старшие 16 битов регистра, оставляя младшие 5 (из этих 21) аппаратно установленными в 0. Устройства, которые поддерживают расширенную ROM должны использовать этот регистр.

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

Базовый адрес расширенного ROM Зарезервировано ( старшие 21 бит) Разрешение декодирования адреса ____________ |

Рисунок 6-7: Схема расположения регистра базового адреса расширенного ROM

Бит 0 в регистре используется для проверки, имеет или нет устройство доступ к расширенному ROM.

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

Для того, чтобы минимизировать число декодеров адреса, необходимых устройству, можно совместить использование декодера между регистром Базового адреса расширенного ROM и другими регистрами Базового адреса. Когда разрешено декодирование расширенного ROM, декодер используется для доступа к расширенному ROM и независимое от устройства программное обеспечение не должно обращаться к устройству через любые другие регистры базового адреса.

6.2.5.3. Дополнительная память Механизм для обработки дополнительной памяти будет определен в следующем выпуске спецификации.

Будет проведен сравнительный анализ значимости нового Типа Заголовка и регистров конфигурации дополнительной памяти. Эти описания позволят автоматически определять размеры и конфигурацию дополнительной памяти.

Реализация 2.0

6.3. Расширенные PCI ROM PCI спецификация обеспечивает механизм, при котором устройства могут обеспечивать код расширенного ROM, который может быть выполнен для устройств со специфической инициализацией и, возможно, функцией начальной загрузки системы (Смотрите раздел 6.2.5.2.). Этот механизм позволяет ROM содержать несколько различных образов для приспособления различных машин и архитектур процессора. Эта раздел содержит необходимую информацию и схему расположения кода образов в расширенном ROM. Обратите внимание, что PCI устройства поддерживающие расширенную ROM должны допускать, что ROM будет обращаться к любым разрешенным комбинациям байта. Это значит, что должен поддерживаться доступ DWORD к расширенному ROM.

Информация в ROM располагается так, чтобы быть совместимой с существующими Intel x86 заголовками расширенного ROM для ISA, EISA, и MC адаптеров, но она должна также поддерживать другие машинные архитектуры. Информация, доступная в заголовке была расширена так, чтобы более оптимально использовать функции, обеспеченные адаптером и свести к минимуму объем пространства памяти используемое во время выполнения кода расширенного ROM.

Информация заголовка расширенного PCI ROM поддерживает следующие функции:

• Длина кода обеспечивает идентификацию общего непрерывного адресного пространства, необходимого отображающему устройству PCI ROM при инициализации.

• Индикатор идентифицирует тип выполняемого или интерпретируемого кода, который существует в адресном пространстве ROM в каждом образе ROM.

• В ROM задана проверка уровня для кода и данных.

• Необходим указатель на Важнейшие Данные Изделия о устройстве.

• Включены в ROM также ID производителя и ID устройства поддерживающего PCI устройство.

Основное различие в модели использования между расширенным PCI ROM и стандартом ISA, EISA, и MC ROM в том, что код ROM никогда не выполняется просто так. Он всегда копируется из ROM в ОПЕРАТИВНУЮ ПАМЯТЬ и выполняется из ОПЕРАТИВНОЙ ПАМЯТИ. Это позволяет динамически устанавливать размеры кода (для инициализации и во время выполнения) и улучшает скоростные показатели при выполнении исполняемого кода.

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

Рисунок 6-8). Каждый образ должен начинаться на 512-байтовой границе и должен содержать заголовок расширенного PCI ROM. Начальная точка каждого образа зависит от размера предыдущих образов.

Последний образ в ROM имеет специальное кодирование в заголовке, чтобы идентифицировать его как последний образ.

–  –  –

6.3.1.1. Формат заголовка расширенного ROM PCI Информация, требуемая в каждом образе ROM делится на две различные области. Одна область, заголовок ROM, должна размещаться в начале образа ROM. Вторая область, Структура Данных PCI должна быть размещена в первых 64КБ образа. Формат для заголовка расширенного ROM PCI дан ниже.

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

Дополнения для заголовка расширенного ROM PCI и/или Структуры Данных PCI могут быть определены специфичностью архитектуры системы. Дополнения для PC-AT совместимых систем описаны в разделе 6.3.3.

–  –  –

6.3.1.2. Формат структуры данных PCI Структура данных PCI должна быть размещена в первых 64КБ образа ROM и должна быть выровнена по

DWORD. Структура Данных PCI содержит следующую информацию:

–  –  –

6.3.2. Листинг процедуры теста при включении питания (POST) Главным образом, системный код POST обрабатывает дополнительные PCI устройства тождественно тем, которые впаяны на материнскую плату. Существует одно исключение - обработка расширенного ROM. Код POST обнаруживает выбор ROM в два шага. Сначала код определяет, установило ли устройство регистр Базового адреса расширенного ROM в пространстве конфигурации. Если регистр установлен, то POST должен отобразить и разрешить ROM в неиспользуемую область адресного пространства, и проверить первые два байта для сигнатуры AA55h. Если они найдены, то имеется представленный ROM, иначе никакой ROM не присоединен к устройству.

Если ROM присоединен, то POST должен искать образ ROM, который имеет соответствующий тип кода и согласованные поля ID изготовителя и ID устройства, соответствующие полям в устройстве.

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

OPENBOOT - это архитектура процессора и системы независимого стандарта для специализированного устройства, имеющего дело c кодом выбора ROM. Документация по OPENBOOT доступна в IEEE Draft Std 75iD7, за 4 января 1993.

Реализация 2.0 6.3.3. РС - совместимые расширения ROM Этот раздел описывает дальнейшие требования на образы ROM и по обработке образов ROM, которые используются в PC-совместимых системах. Это относится к любому образу характеризуемому Intel x86, совместимому с PC-AT в поле типа кода структуры данных PCI, и любой платформы, которая является совместимой с PC.

6.3.3.1. Заголовок расширений ROM Стандартный заголовок для образов расширения ROM PCI немного расширен для PC - совместимости.

Были добавлены два поля, одно в смещении 02h обеспечивает размер инициализации для образа.

Смещение 03h - точка входа для функции INIT расширения ROM.

–  –  –

6.3.3.1.1. Обновления POST кода POST код в этих системах копирует число байтов, определенных нициализацией поля размера в ОПЕРАТИВНУЮ ПАМТЬ, и затем вызывает функцию INIT, где точкой входа является смещение 03h.

POST код требуется для оставления области ОПЕРАТИВНОЙ ПАМТИ, куда код расширения ROM был скопирован для возврата перезаписи до окончания функции INIT. Это позволяет коду INIT сохранять некоторые статические данные в области ОПЕРАТИВНОЙ ПАМТИ и корректировать размер во время выполнения кода так, чтобы он потреблял меньшее количество пространства, во время работы системы.

PC -совместимый специфичный набор шагов для системного кода POST при обработке каждого расширения ROM:

1. Скопируйте из ROM в ОПЕРАТИВНУЮ ПАМЯТЬ количество байтов, определенных размером Инициализации.

2. Оставьте область ОПЕРАТИВНОЙ ПАМТИ перезаписываемой и вызовите функцию INIT

3. Используйте байт в смещении 02h (который, возможно, изменялся) для определения количества памяти используемой во времени выполнения.

Перед начальной загрузкой системы, POST код должен подготовить область ОПЕРАТИВНОЙ ПАМЯТИ, содержащую код расширения ROM только для чтения.

POST код должен обрабатывать VGA устройства с расширением ROM специальным способом.

Расширенная БАЗОВАЯ СИСТЕМА ВВОДА-ВЫВОДА VGA устройства должна быть скопирована с 0C0000h. VGA устройства могут быть идентифицированы при исследовании поля Кода Класса в пространстве конфигурации устройства

Реализация 2.0

6.3.3.1.2. Функция INIT расширений Совместимое с PC расширение ROM содержит функцию INIT, которая является ответственной за инициализацию устройства ввод/вывода и подготовку операций во время работы. Функции INIT в расширении ROM PCI имеют некоторые расширенные возможности, так как область ОПЕРАТИВНОЙ ПАМЯТИ, где размещен код, оставлена перезаписываемой, во время выполнения функции INIT.

Функция INIT может сохранять статические параметры в области ОПЕРАТИВНОЙ ПАМЯТИ в течение функции INIT. Эти данные могут затем использоваться БАЗОВОЙ СИСТЕМОЙ ВВОДА-ВЫВОДА во время работы или драйверами устройства. Эта область ОПЕРАТИВНОЙ ПАМЯТИ не будет перезаписываема во время работы.

Функция INIT может также корректировать количество ОПЕРАТИВНОЙ ПАМЯТИ, которую она потребляет во время работы. Это сделано для модификации размера байта в смещении 02h в образе. Это помогает сохранять ограниченный ресурс памяти в расширенной области ROM (0C0000h-0DFFFFh).

Например, расширение ROM устройства может требовать 24 КБ для инициализации и кода во время работы, но имеется только 8КБ для кода во время работы. Образ в ROM должен показать размер из 24КБ, так чтобы код POST копировал всю вещь в ОПЕРАТИВНУЮ ПАМТЬ. Затем, во время выполнения функции INIT, она может корректировать размер байта до 8КБ. При возвращении из функции INIT, POST видит, что размер во время выполнения - 8 КБ и может копировать следующее расширение БАЗОВОЙ СИСТЕМЫ ВВОДА-ВЫВОДА в нужное место.

Функция INIT гарантирует, что контрольная сумма размера образа правильна. Если функция INIT изменяет область ОПЕРАТИВНОЙ ПАМТИ, то новая контрольная сумма должна быть вычислена и сохранена в образе.

При входе, функция INIT передает три параметра: номер шины, номер устройства и функциональный номер устройства, которое обеспечило расширение ROM. Эти параметры могут использоваться для обращения к инициализируемому устройству. Они переданы в x86 регистры, [AH] содержит номер шины, старшие пять бит [АL] содержат номер устройства и младшие три бита [АL] содержат функциональный номер.

6.3.3.1.3. Структура образа PC - совместимый образ имеет три блока соответствующие этим: блок времени выполнения, блок инициализации и блок отображения. Блок отображения - результирующий блок отображения и он должен быть больше или равен блоку инициализации.

Блок инициализации определяет объем образа, который содержит, и инициализацию и код времени выполнения. Это объем данных, которые код POST копирует в ОПЕРАТИВНУЮ ПАМЯТЬ перед выполнением подпрограммы инициализации. Блок инициализации должен быть больше или равен блоку времени выполнения. Данные инициализации, скопированные в ОПЕРАТИВНУЮ ПАМЯТЬ, должны иметь контрольную сумму 0 (используя стандартный алгоритм).

Блок времени выполнения определяет объем образа, который содержит код выполнения. Это количество данных код POST оставит в ОПЕРАТИВНОЙ ПАМЯТИ во время работы системы. И снова, этот объем образа должен иметь контрольную сумму 0.

–  –  –

Эта структура данных PCI должна содержаться внутри блока времени выполнения образа (если таковой имеется), иначе она должна содержаться внутри блока инициализации. Рисунок 6-9 показывает типичную схему расположения образа в расширении ROM.

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

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

Некоторые системы не могут гарантировать, что данные поступили в оперативную память прежде, чем прерывания выставлены ЦЕНТРАЛЬНОМУ ПРОЦЕССОРУ. Если они не обработаны правильно, это может привести к проблемам согласованности данных (потери данных). Эта ситуация наиболее часто происходит при установке буферов регистрации в мостах между PCI шиной и другими шинами (см.

обсуждение по мостам в Руководстве по Проектированию систем PCI).

–  –  –

Имеются три способа, при которых данные и прерывания согласованно могут быть гарантированы:

1. Аппаратные средства системы могут гарантировать, что регистрирующие буфера заполнятся прежде, чем прерывания будут выставлены процессору.

2. Устройство, передающее сигналы прерывания может выполнять чтение данных только что записанных перед передачей сигналов прерывания. Это заставляет регистрирующие буфера быть заполненными.

3. Драйвер устройства может выполнять чтение любого регистра в устройстве перед доступом к данным, записанным устройством. Это причины чтения регистрирующих буферов, которые нужно заполнить.

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

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

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

–  –  –

В этом приложении определены кодировки сообщения Специального цикла. Текущий список определяет мало кодировок, но ожидается рост. Зарезервированные кодировки не должны использоваться.

Сообщения кодировок [15::0] Тип сообщения

–  –  –

ЗАКРЫТИЕ СИСТЕМЫ - широковещательное сообщение, указывающее что процессор вступает в режим закрытия системы.

ОСТАНОВ - широковещательное сообщение от процессора, указывающее что он выполнил команду останова.

Кодирование X86 архитектуры - обобщенное кодирование для использования x86 процессорами и chipsets. [31:: l 6] определяет специфичное значение сообщения специального цикла. Специфичные значения определены Корпорацией Intel и находятся в документации по изделию.

Использование специальных кодировок Использование или генерирование кодировок специфичных для архитектуры не ограничено для инициатора запроса кодирования. Специфичные кодировки могут использоваться любым изготовителем в любой системе. Эти кодировки позволяют системе налаживать специфичную связь между PCI устройствами скооперированными для целей, которые не могут быть обработаны со стандартными типами цикла передачи данных.

Реализация 2.0

Будущие кодировки Члены компаний PCI SIG, которые требуют специального кодирования вне диапазона определенных в настоящее время кодировок должны послать письменный запрос в Комитет Управления PCI SIG.

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

–  –  –

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

Конечные автоматы используют три типа переменных; состояния, PCI сигналы и внутренние сигналы.

Они отличаются от друг друга:

State in a state machine = STATE PCI signal = SIGNAL Internal signal = Signal Конечные автоматы не имеют задержек из состояния ввода, пока сигналы генерируются и доступны для использования в машине. Все сигналы PCI запираются на фронте CLK.

Конечные автоматы поддерживают некоторые опции (но не все) обсужденные в PCI спецификации.

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

Интерфейс шины состоит из двух частей. Первая - bus sequencer, который выполняет фактическую операцию шины. Вторая часть - внутреннее или аппаратное приложение. В ведущем - внутреннее приложение генерирует транзакцию и обеспечивает адрес, данные, команду, byte enables и длину передачи. Оно также ответственно за адрес, когда транзакция повторяется. В адресате - внутреннее приложение определяет, когда транзакция прекращена. Программа упорядочения (sequencer) выполняет операцию шины как запрошено и гарантирует, что PCI протокол не нарушен. Обратите внимание, что адресат осуществляет блокировку ресурса.

Уравнения конечного автомата принимают логическую операцию, где "*" является функцией AND и имеет старшинство над "+", который является функцией OR. Круглые скобки имеют старшинство над обоими. Символ "!" используется для отрицания (NOT) переменных. В уравнениях конечного автомата, PCI SIGNAL's представляют фактическое состояние сигнала на PCI шине. Истинные сигналы низкого уровня будут истинны или установлены, когда они появляются как !SIGNAL# и ложны или сняты, когда они появляются как SIGNAL#. Истинные сигналы высокого уровня будут истинны или установлены, когда они появляются как SIGNAL и ложны или сняты, когда они появляются как !SIGNAL. Внутренние сигналы будут истинны,

–  –  –

когда они появляются как Signal и ложны, когда они появляются как !Signal. Несколько выходов допустимы в уравнении, когда используют символ "==", для ссылки на предыдущее состояние.

Например, OE[PAR] == (S_DATA * !TRDY# * (cmd=read)] Это указывает, что буфер вывода для PAR разрешен, когда предыдущее состояние S_DATA и TRDY# установлен и когда транзакция чтения. Первый конечный автомат - для адресата, второй - для ведущего.

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

–  –  –

Когда адресат поддерживает команды Special Cycle, дополнительный терм должен быть включен, чтобы не допустить в течение транзакции Special Cycle.

OE[PAR] = OE[AD[31::00]] задержанное на один такт.

Реализация 2.0 Определения Внутренние вxоды конечного автомата Эти сигналы между target bus sequencer и backend. Они указывают, как bus sequencer должен ответить на текущую операцию шины.

Hit = Попасть на декодирование адреса.

Dt = Devsel таймер истекает и DEVSEL# не установлен.

T-abort = Адресат в ошибочном состоянии и требует, остановки текущей транзакции.

Term = Завершить транзакцию. (Внутренний конфликт или n состояний ожидания).

Ready = Готов к передаче данных.

L_lock# = Запирающая (в течение фазы адреса) версия LOCK#.

Tar_dly = Turn around задержка, требуемая только для состояния с нулевым временем ожидания декодирования R_perr = сообщение об ошибке четности - импульс, продолжительностью в один такт PCI Следующие абзацы обсуждают каждое состояние и описывают, какие уравнения могут быть удалены, если некоторые из PCI опций не реализованы.

IDLE и TURN-AR являются двумя отдельными состояниями конечного автомата, но объединены здесь, потому что переходы состояния те же самые для обоих состояний. Они выполнены как отдельные состояния, так как активные сигналы должны быть сняты перед установкой адресата в третье состояние.

Если адресат не может делать декодирование адреса за один цикл, путь из IDLE в S_DATA может быть удален. Адресат резонно требует путь от TURN_AR состояния в S_DATA и B_BUSY для back-to-back операций шины. Адресат должен быть способен декодировать back-to-back транзакции.

B_BUSY является состоянием, где агент ждет текущую транзакцию для завершения и возврата шины к простою. Это состояние полезно для устройства, которое медленно декодируют адрес или выполняет subtractive декодирование. Если адресат не делает ни одной из этих двух опций, путь к S_DATA и BACKOFF может быть удален. Терм "!Hit" также может быть удален из уравнения B_BUSY. Это сокращает состояние ожидания для завершения текущей транзакции шины.

S_DATA - состояние, целью передачи данных и нет необязательных уравнений.

BACKOFF - адресат идет после установки STOP# и ждет, когда ведущий снимет FRAME#.

FREE и LOCKED отнесятся к состоянию адресата относительно операции блокировки. Если адресат не реализует LOCK#, эти состояния не требуются. FREE указывает, когда агент может принимать любой запрос, когда он адресат. Если LOCKED, адресат повторит любой запрос, когда он не адресат, если LOCK# снят во время фазы адреса. Агент отмечает себя блокированным всякий раз, когда он адресат транзакции и LOCK# снят во время фазы адреса. Это небольшое перепутывание для адресата, чтобы блокировать себя на транзакции, которая не блокированная. Однако, с точки зрения реализации, это простой механизм, который использует комбинаторную логику и всегда работает. Устройство разблокирует себя в конце транзакции, когда обнаружит, что FRAME# и LOCK# сняты.

Второе уравнение в goto LOCKED в состоянии FREE может быть удалено, если выполнено быстрое декодирование. Первое уравнение может быть удалено, если выполнено среднее или медленное декодирование. L-lock# является запирающимся LOCK# в течение фазы адреса и используется, когда агент завершает декодирование.

–  –  –

Следующие сигналы генерируются из состояния и выбранных (не асинхронно) сигналов шины.

FRAME# = !(ADDR + M_DATA * !Dev_to * {[!Comp * (!To + !GNT#) * STOP#] + !Ready})

–  –  –

Определения Эти сигналы идут между bus sequencer и backend. Они обеспечивают информацию для sequencer, когда транзакция выполняется и обеспечивают информацию для backend о том, как транзакция продолжается.

Если цикл повторяется, backend будет делать правильную модификацию используемых регистров и затем указывать sequencer выполнять другую транзакцию. Bus sequencer не забывает, что транзакция была повторена или прервана, но берет запросы из backend и выполняет PCI транзакцию.

Master-abort Транзакция была прервана ведущим. (Нет DEVSEL#) Target-abort Транзакция была прервана адресатом.

Step Агент, использующий продвижение адреса, (ждет в состоянии пока !Step).

Request Задержка запроса.

Comp Текущая транзакция в последней фазе данных.

L-cycle Последний цикл был записью.

To Тайм-аут ведущего истек.

Dev-to Devsel таймер истек без установки DEVSEL# Sa Следующая транзакция тому же агенту, что и предыдущая.

Lock-a Запрос блокированной операции.

Ready Готов передать данные.

Sp-cyc Команда Special Cycle.

Own-lock Этот агент в настоящее время обладает LOCK#.

Ldt Данные пересылались в течение операции LOCK.

R-perr Сообщение об ошибке четности - импульс, продолжительностью в один такт PCI Конечный автомат ведущего имеет много встроенных опций, который не интересны для некоторых реализаций. Каждое состояние будет обсуждено, показывая воздействие некоторых опций на уравнения.

IDLE - когда ведущий ждет запрос, чтобы сделать операцию шины. Единственая опция в этом состоянии

- имеет термин "Step". Может быть удалено из уравнений, если продвижение адреса не поддерживается.

Все пути должны быть реализованы. Путь к DR-BUS требуется для обеспечения, чтобы шина не оставлялась в третьем состоянии в течение длительных периодов Ведущий, чей GNT# установлен, должен управлять шиной, если Request не установлен.

ADDR не имеет опций и используется для управления адресом и командой на шине.

M_DATA - там, где данные перемещены. Если ведущий не поддерживает fast back-to-back транзакций, путь к состоянию ADDR не требуется.

Уравнения правильны с точки зрения протокола. Однако, компиляторы могут давать ошибки, когда они проверяют все возможные комбинации. Например, из-за протокола, Comp не может быть утвержден, когда FRAME# снят. Comp указывает, что ведущий находится в последней фазе данных, и FRAME# должен быть снят для того, чтобы быть истинным. Следовательно, первый терм в уравнении goto M_DATA вызывает проблемы с последним термом в уравнении goto TURN_AR. Чтобы устранения этого, добавьте FRAME# * TRDY# * STOP# к терму (cmd = 0001 * Comp). Если только FRAME# добавлен, то на другие уравнения воздействуют подобным способом. Последний терм в уравнении goto S_TAR требует добавления TRDY# по той же самой причине.

TURN_AR - это где ведущий снимает сигналы при подготовке к установке их в третье состояние. Путь к ADDR может быть удален, если ведущий не делает back-to-back транзакций.

S_TAR может быть реализован несколькими способами. Состояние было выбрано, чтобы разъяснить, что "состояние" должно быть вспомнено, когда адресат устанавливает STOP#.

Реализация 2.0

DR_BUS используется, когда GNT# был установлен, и ведущий или не подготовлен, чтобы начать транзакцию (для продвижения адреса) или не имеет незавершеных транзакций. Если продвижение адреса не реализовано, то уравнение в goto DR_BUS, имеющее "Step" может быть удалено и уравнение goto ADDR может также удалить "Step".

Если LOCK# не поддерживается ведущим, то состояния FREE и BUSY могут быть удалены. Эти состояния для ведущего, чтобы знать состояние LOCK# когда он желает делать блокированную транзакцию. Конечный автомат просто проверяет, что LOCK# установлен. Если установлен, то остается BUSY пока FRAME# и LOCK# оба не сняты выражая, что LOCK# теперь свободен.

Когда сигналы устойчивы

1. Следующие сигналы гарантировано будут устойчивыми на всех фронтах CLK, если только сброс завершен: LOCK#, IRDY#, TRDY#, FRAME#, DEVSEL#, STOP#, REQ#, GNT#, REQ64#, ACK64#, SBO#, SDONE, SERR# (только на спаде) и PERR#.

2. Address/Data линии гарантированно будут устойчивыми определенном смене синхронизации следующим образом:

a. Address - AD[31::00] устойчивы независимо от логического состояния на первом такте выборки при установленном FRAME#.

b. Address - AD[63::32] устойчивы независимо от логического состояния на первом такте выборки при установленном REQ64#.

c. Data - AD[31::00] устойчивы и действительны независимо, какой маршрут байта включен в транзакцию на чтение, когда установлен TRDY# и на запись, когда установлен IRDY#. В любое другое время они могут быть не определены. Линии AD не могут изменяться, пока текущая фаза данных не завершится, если IRDY# установлен на транзакции записи или TRDY# установлен на транзакции чтения.

d. Data - AD[63::32] устойчивы и действительны независимо, какой маршрут байта включен в транзакцию, когда ACK64# установлен и TRDY# установлен на чтении и когда IRDY# установлен на записи. В любое другое время они могут быть не определены.

e. Data - Special cycle command - AD [31::00] устойчивы и действительны независимо, какой маршрут байта включен в транзакцию, когда IRDY# установлен.

f. Не пропускайте асинхронные данные непосредственно к PCI, пока IRDY# установлен на транзакции записи и пока TRDY# установлен на транзакции чтения.

3. Command/Byte enables гарантированно будет устойчивым на определенной смене синхронизации следующим образом:

a. Command - C/BE[3::0]# и C/BE[7::4]# устойчивы и допустимы первый раз, когда FRAME# и REQ64# соответственно установлены и содержат коды команды.

b. Byte Enables - C/BE[3::0]# и C/BE[7::4]# устойчивы и допустимы такт после фазы адреса и каждый такт в течение всей фазы данных независимо, если состояния ожидания вставлено. В течение пакета, ведущий обновляет byte enables в такте, заканчивающем каждую фазу данных (IRDY# и TRDY# установлены). Обновленное значение допустимо на следующий такт.

Реализация 2.0

4. PAR устойчив и допустим один такт после времени действия AD[31::00]. PAR64 устойчив и допустим один такт после времени действия of AD[63::32].

5. IDSEL устойчив и допустим только в первый такт, когда FRAME# установлен, когда доступ - команда конфигурации. IDSEL не определен в любое другое время.

6. RST#, IRQA#, IRQB#, IRQC# и IRQD# не ограничены в использовании или синхронны.

Сигналы управления

7. Когда FRAME# и IRDY# установлены и установлен GNT#, агент может начинать доступ.

8. Транзакция начинается, когда FRAME# является установленным впервые.

9. Следующее определяет FRAME# и IRDY# во всех PCI транзакциях.

a. FRAME# и соответствующий IRDY# определяют занятое/неактивное состояние шины, когда любой утвержден - шина занята; когда оба сняты, шина неактивна.

b. Если FRAME# был снят, он не может быть переустановлен в течение той же самой транзакции.

c. FRAME# не может быть снят, если IRDY# установлен. (IRDY# должен всегда устанавливаться на первой смене синхронизации, что FRAME# снят).

d. Если ведущий установил IRDY#, он не может изменять IRDY# или FRAME#, пока текущая фаза данных не завершится.

10. Последняя фаза данных завершается, когда:

a. FRAME# снят и TRDY# установлен (нормальное окончание) или b. FRAME# снят и STOP# установлен (target termination) или c. FRAME# снят и таймер выбора устройства истек (master abort) d. DEVSEL# снят и STOP# установлен (target abort).

11. Когда FRAME# и IRDY# сняты, транзакция закончилась.

12. Следующие правила определяют FRAME#, IRDY#, TRDY# и STOP# во всех PCI транзакциях.

a. Всякий раз, когда STOP# установлен, FRAME# должен быть снят как можно скорее в соответствии с правилами снятия FRAME# (т.е., IRDY# должен быть установлен). Снятие FRAME# должен произойти как можно скорее после установки STOP#; предпочтительно в два или три цикла. Адресат не должен принять никакую связь синхронизации между установкой STOP# и снятием FRAME#, но должен хранить STOP# установленным пока снят FRAME#. Когда ведущий производит выборку установленного STOP#, он должен снять FRAME# на первом цикле с этого времени, в котором IRDY# установлен. Установка IRDY# (и следовательно снятие FRAME#) может происходить как следствие нормального IRDY# поведения ведущего (имел текущую транзакцию не завершенную адресатом) и быть отсрочено нуль или большее количество циклов в зависимости от того, когда ведущий готов для завершения передачи данных. В качестве альтернативы, ведущий может установить IRDY# немедленно (даже без подготовки для завершения передачи данных), если TRDY# снят, таким образом показывая отсутствие дальнейшей передачи данных.

–  –  –

b. Если STOP# установлен, то должен остаться установленным, пока FRAME# не снят; после чего, STOP# должен быть снят.

c. Если адресат установил TRDY# или STOP#, он не может изменять DEVSEL#, TRDY#, STOP#, пока текущая фаза данных не завершится.

13. Данные пересылаются между ведущим и адресатом на каждой смене синхронизации, для которой IRDY# и TRDY# установлены.

14. Источник данных требуется, чтобы прервать xRDY# сигнал безоговорочно, когда данные действительны (IRDY# на транзакции записи, TRDY# на транзакции чтения). Принимающий агент может установить xRDY# по выбору.

15. Ведущий должен снять REQ# сигнал, когда текущая транзакция завершена адресатом (STOP# установлен). Хозяин должен снять REQ# минимум на два такта PCI, один, когда шина идет к неактивному состоянию (в конце транзакции, где STOP# был установлен) и такт за или такт после неактивного состояния.

16. Агент утверждает, что был адресатом доступа, устанавливая DEVSEL#.

17. DEVSEL# должен быть установлен с или до смены, в которой адресат разрешает выходы (TRDY#, STOP# или (на чтении) линии AD).

18. Если DEVSEL# был установлен, он не может быть снят, пока не завершится последняя фаза данных, исключая сигнал target-abort.

Монопольный доступ

19. LOCK# находится в собственности, и управляется только одним агентом, и может сохраняться, когда шина освобождается.

20. Адресат, поддерживающий LOCK# на PCI должен твердо придерживаться следующих правил:

a. Адресат на блокированных доступах самостоятелен, когда LOCK# снят в течение фазы адреса.

b. Если только блокировка установлена, адресат остается блокированным, пока не производит выборку обоих FRAME# и LOCK# снятых вместе или это сигналы Target-abort.

c. Гарантируйте монопольно владельцу LOCK# (если только блокировка установлена) минимум 16 байтов (выравненных) ресурса1. Это включает доступы, которые не происходят на PCI для многопортовых устройств.

21. Ведущий, поддерживающий LOCK# на PCI должен твердо придерживаться следующих правил:

a. Ведущий может обращаться только к одиночному ресурсу в течение блокированной операции.

b. Блокировка не может колебаться между границ устройства.

c. Шестнадцать байтов (выровненных) - максимальный размер ресурса, на который ведущий может рассчитывать как на монопольный в течение блокированной операции. Доступ к любой части 16 байтов блокирует все 16 байтов.

d. Первой транзакцией блокированной операции должна быть транзакция чтения.

максимум - полный ресурс.

Реализация 2.0 e. LOCK# должен быть установлен такт после фазы адреса и сохраняться установленным, чтобы сохранять управление.

f. LOCK# должен быть освобожден, если повторение сообщается прежде, чем фаза данных завершена и блокировка не установлена2.

g. LOCK# должен быть освобожден всякий раз, когда доступ завершен с target-abort или masterabort.

h. LOCK# должен быть снят минимум на один неактивный цикл между последовательными операциями блокировки.

Арбитраж

22. Арбитр может снять GNT# агента на любом такте.

23. Если установлен, GNT# может быть снят согласно следующим правилам:

a. Один GNT# может быть снят при совпадении с установкой другого GNT#, если шина не в неактивном состоянии. Иначе, задержка на один такт требуется между снятием GNT# и установкой следующего GNT# или еще может иметься состязание линий AD и PAR.

Пока FRAME# снят GNT# может быть снят в любое время, для обслуживания ведущего с более высоким приоритетом3 (3) или в ответ на снятие связанного REQ#. Если GNT# снят и FRAME# установлен, транзакция шины допустима и продолжится.

24. Когда арбитр утверждает GNT# агента и шина неактивна, то агент должен разрешить AD[31::00], C/BE[3::0]# и(один такт спустя) PAR буферов вывода за восемь PCI тактов (требуемых), в то время как два-три такта рекомендуется.

Контроль по четности

25. Паритет генерируется согласно следующим правилам:

a. Паритет вычисляется одинаково на всех PCI транзакциях независимо от типа или формы.

b. Количество "1" на AD[31::00], C/BE[3::0]# и PAR равно четному числу.

c. Количество "1" на AD[63::32], C/BE[7::4]# и PAR64 равно четному числу.

d. Генерирование паритета обязательно; это должно выполняться всеми PCI-совместимыми устройствами.

Если блокировка была установлена, ведущий сохраняет монопольное использование LOCK#, когда завершение с повторением или разъединение.

Более высокий приоритет здесь не подразумевает фиксированный приоритетный арбитраж, но относится к агенту, который выиграл бы арбитраж в данный момент времени.

Реализация 2.0

–  –  –

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

–  –  –

operation логическая последовательность транзакций, например, захват.

output driver электрический задающий элемент (транзистор) для одиночного сигнала на PCI устройство.

PCI connector разъем расширения, который соответствует электрическим и механическим требованиям стандарта локальной шины PCI.

–  –  –

subtractive decoding метод декодирования адреса, в котором устройство принимает все доступы, не положительно декодируемые другими агентами. См.

также положительное декодирование.

target агент, который отвечает (с положительным подтверждением установления DEVSEL#), чтобы транзакция шины инициализировалась master’ом.

Pages:     | 1 | 2 ||
Похожие работы:

«УДК 160.1. "ЭПИСТЕМИЧЕСКИЙ ИСКУПИТЕЛЬ": СВОД ПРИЕМОВ ЛЕГИТИМАЦИИ БЕССМЫСЛИЦЫ В ГУМАНИТАРНЫХ НАУКАХ1. Статья посвящена кризису гуманитарного знания, демонстрирующего глубочайшее истощение классических представлений об объек...»

«Способы передачи антропонимов и эргонимов на английском языке в письменных переводах УДК 811.111 СПОСОБЫ ПЕРЕДАЧИ АНТРОПОНИМОВ И ЭРГОНИМОВ НА АНГЛИЙСКОМ ЯЗЫКЕ В ПИСЬМЕННЫХ ПЕРЕВОДАХ (из практики отечественных компаний Тюменской области) С.И. Шилик...»

«Между времен Дина Рубина Адам и Мирьям "Эксмо" Рубина Д. И. Адам и Мирьям / Д. И. Рубина — "Эксмо", 2007 — (Между времен) ISBN 978-5-457-10741-0 "Земную жизнь пройдя до половины. да что там! – давно перевалив эту умозрительную вершину, я научилась водит...»

«ІНТЕГРОВАНІ ТЕХНОЛОГІЇ ПРОМИСЛОВОСТІ _ УДК 623.418.2 Бирюков А.И. ОСОБЕННОСТИ ЭКСПЛУАТАЦИИ ПИСТОЛЕТОВ СО СВОБОДНОЙ ОТДАЧЕЙ ЗАТВОРА ПРИ ИСПОЛЬЗОВАНИИ БОЕПРИПАСОВ ПОСЛЕГАРАНТИЙНЫХ СРОКОВ ХРАНЕНИЯ В настоящее время Украина не имеет на своей территории заводов, специализирующихся на производст...»

«Европейская университетская программа www.ti.com/ru/universities.htm Усилители Стандартные блоки, необходимые для преподавания аналоговой электроники Прецизионные усилители Универсальный отладочный мо...»

«+7 495 221 76 61 ЭЛЕКТРОГИДРАВЛИЧЕСКАЯ СКВАЖИННАЯ АППАРАТУРА ДЛЯ ИНТЕНСИФИКАЦИИ ДОБЫЧИ НЕФТИ И ДЕТАЛЬНОЙ СЕЙСМОРАЗВЕДКИ Аннотация В докладе описана конструкция и работа новой скважинной электрогидравлической аппаратуры диаметром 102 мм и энергоемкостью 5 кДж, созданной ведущими специалистами Российского Ядерного Центра по импульсным системам...»

«Влияние современных мультфильмов на психику ребенка. В современном мире трудно найти ребенка, который бы не любил смотреть мультфильмы, и многие из родителей без разбора скупают для своих любимых деток современные мультики, совсем не задумываясь о том, что современные мультфильмы резко отличаются от мультфильмов "прош...»

«Баланс мощности и электроэнергии Октябрь 2011 – Март 2012 Апрель 2012 Департамент прогнозирования Содержание Содержание Введение и основные выводы 1. Предварительные замечания 2. Баланс электроэнергии 3. Первая ценовая зона 3.1. Вторая ценовая зона 3.2. Баланс мощности 4. Первая ценовая зона 4....»

«ЛЕКЦИЯ 1 ПОГЛОЩЕНИЕ СВЕТА В ПОЛУПРОВОДНИКАХ ПРИ МЕЖЗОННЫХ ОПТИЧЕСКИХ ПЕРЕХОДАХ. (во многом это пока свободной переложение нескольких параграфов учебника А.И.Ансельма "Введение в теорию полупроводников") 1. Вопросы, которые планируется рассмотреть в курсе "Оптика полупроводников".2...»

«л итерату pa ХАКАСИИ ю :,-4 ' У А Б А К А Н 1996 л итература ХАКАСИИ Учебная хрестоматия для 10 класса русских школ Утверждено Министерством образования Республики Хакасия явзЕазиикягжииггг*. а кас ская.-а. '.•гиг.а.хжая i ииорс а л н а я j библиотека.1 г а г : ^ а ж х ж г = ХАКАССКОЕ КНИЖНОЕ ИЗ...»

«ТАРИФНЫЙ ПЛАН "ВО SMART MINI". Стоимость, в руб. Тарифный план (с учётом НДС) Ежемесячная плата, руб./мес. Ежемесячная плата ТП "ВО Smart mini"1 400,00 Ежемесячная плата ТП "ВО Smart mini" при использовании пакета услуг 300...»

«Методика выполнения дипломной работы.Оглавление: 1. Введение.2. Выбор темы дипломной работы.3. Задание на дипломную работу.4. Выполнение работы.4.1. Порядок выполнения работы.4.1 Работа с литературой.4.2 Выбор модели и алгоритма решения п...»

«Генри Лайон Олди Что наша жизнь? – игра. Авторский текст http://www.litres.ru/pages/biblio_book/?art=158502 Аннотация "Ты выходишь на сцену, занавес открывается, и за миг до начала спектакля ты бросаешь взгляд в темный зрительный зал, где копится ожидание. Вот она, Бездна Голодных глаз." Содержание I. КОГДА ОН – ФАУСТ, КОГДА –...»

«Летние загадки о растениях Летние загадки по теме "Овощи. Фрукты. Ягоды"Дом зеленый тесноват: Узкий, длинный, гладкий. В доме рядышком сидят Круглые ребятки. (Горох) Сидит девица в темница, а коса – на улице. (Морковь) Сидит баба на грядках, вся в заплатках, кто ни взглянет – тот заплачет. (Лук) Сидит...»

«Приложение к свидетельству № 60441 Лист № 1 об утверждении типа средств измерений Всего листов 6 ОПИСАНИЕ ТИПА СРЕДСТВА ИЗМЕРЕНИЙ Генераторы сигналов произвольной формы 33210A, 332...»

«УТВЕРЖДЕН приказом управления государственной архивной службы Новосибирской области от 30.12.2014 № 201-од Административный регламент управления государственной архивной службы Новосибирской области предоставления государственной услуги "Проставление апостиля на архивных справках, архивных в...»

«СИСТЕМЫ ПОЖАРНОЙ СИГНАЛИЗАЦИИ АСПЕКТЫ НАДЕЖНОСТИ И ЖИВУЧЕСТИ М. Левчук руководитель департамента маркетинга и продаж компании "Аргус Спектр" Сравнение структур систем пожарной сигнализации – дело хлопотное. У каждого решения есть свои плюсы и минусы. И все же,...»

«Приложение 1 Описание работы услуги "Антивирусное программное обеспечение" Как подключить услугу "Антивирусное программное обеспечение"? Для подключения услуги "Антивирусное программное обеспечение" необходимо установить на мобильное устройство программу "Антивирус Касперского...»

«Индекс учета №1319/25 УТВЕРЖДЕНО протокол заседания Правления ЗАО "МТБанк" 29.03.2016 №18 Новая редакция УТВЕРЖДЕНО протокол заседания Правления ЗАО "МТБанк" 31.05.2017 №57 ПУБЛИЧНАЯ ОФЕРТА на заключение договора срочного безотзывного банковского вклада (депозита) физического лица в белорусских р...»

«РЕШЕНИЕ по жалобе № 8889 на действия (бездействие) при организации и проведении торгов Дата рассмотрения жалобы по существу 23.07.2014 г. Москва Комиссия Управления Федеральной антимонопольной службы по Московской области (далее – Управление) по рассмотрению жалоб на нарушения при организации и проведении т...»

«JABRA STORM Руководство пользователя jabra.com/storm © 2014 GN Netcom A/S / GN Netcom US, Inc. Все права защищены. Jabra® является зарегистрированным товарным знаком компании GN Netcom A/S. Все другие товарные знаки, упомянутые в этом документе, являются с...»

«Низковольтные приводы переменного тока Drive IT Руководство пользователя Модуль интерфейса импульсного энкодера МТАС01 Модуль интерфейса импульсного энкодера МТАС01 Руководство пользователя RU200630101214 ИЗМ. A RU Дата вступления в силу: 30.10.2006 © ABB Oy, 2006 г....»

«Наш театр (1877) Глібов Леонід Іванович Мы в долгу перед читателями. Театральный сезон начался еще 26 августа, но мы до сих пор ничего не сказали о новой труппе. Молчание наше не было признаком невнимания к театру, составляющему теперь единственное ра...»








 
2017 www.kn.lib-i.ru - «Бесплатная электронная библиотека - различные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.