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

Pages:     | 1 || 3 |

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

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

Обычно, чтобы облегчить задачу создания систем, продавцы компонентов должны прилагать описание «поведения» для времени ожидания (обычно запрещено давать описание поведения адаптеров стандартных шин в реальном времени). Для мастер - устройства необходимо указывать как время ожидания, так и последствия его нарушения. Целевые устройства должны определить наихудший случай ответа, а также все события, которые могут вызывать повторение или разъединение. Если время ожидания адресата обуславливается внешними факторами (например, как долго адаптер ISA производит цикл), то это должно быть ясно установлено.

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

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

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



Сигнал LOCK# указывает, что исключительный доступ начал работать. Утверждение GNT# не гарантируют управление сигналом LOCK#. Управление LOCK# получено под собственный протокол вместе с GNT#. При использовании блокировки ресурса, агенты выполняющие неисключительный доступ могут продолжать свою работу, даже в то время, когда другой мастер использует сигнал LOCK#. Однако, из требований совместимости, арбитр может преобразовывать блокировку ресурса в блокировку "шины", предоставляя агенту, который выставил LOCK#, исключительный доступ к шине до выставления LOCK#. За более подробной информацией относительно полной блокировки шины обращайтесь к разделу 3.5.6.

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

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

–  –  –

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

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





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

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

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

Адресат маркера транзакции блокирует сам себя, если LOCK# выключен в течение фазы адреса. Если адресат ожидает сигнала LOCK#, пока активирован DEVSEL#, он не может различить, блокирован ли текущий доступ или тот, который происходит одновременно с блокированным доступом. Исполнитель может сохранять "состояние", чтобы определить, блокирован ли доступ, но это требует защелки LOCK# на последовательных тактах и сравнения для определения блокирован ли доступ. Более простой способ для адресата - пометить себя блокированным при любом доступе. Это требуется там, где LOCK# является деактивированным в течение фазы адреса. Блокированный адресат остается в блокированном состоянии, пока FRAME# и LOCK# являются деактивированными. Для разрешения другого доступа на многопортовое устройство, адресат может производить выборку LOCK# на такте, следующим после фазы адреса, чтобы определить, блокировано ли устройство действительно. Когда LOCK# является выключенным в течение фазы адреса и включенным (такт после фазы адреса), многопортовое устройство блокировано и должно гарантировать доступ только PCI мастеру. Когда LOCK# является выключенным в течение фазы адреса и такта после фазы адреса, адресат свободен, чтобы ответить на другие запросы и не блокирован.

Блокированный адресат может только принимать запросы, когда LOCK# выключен в течение фазы адреса.

Блокированный адресат ответит, выставив STOP# с выключенным TRDY# всем транзакциям, когда LOCK# включена в течение фазы адреса.

Итак, адресат доступа самостоятельно блокирует себя при любом доступе, это требуется, когда LOCK# выключен в течение фазы адреса. Адресат отпирает себя, когда FRAME# и LOCK# являются оба выключенными. Это небольшая путаница для адресата, который блокирует себя на транзакцию, которая не блокирована. Однако с точки зрения реализации, это простой механизм, который использует комбинаторную логику и всегда работает. Устройство отопрет себя непосредственно в конце транзакции, когда FRAME# и LOCK# выключены. Адресат может также помнить состояние (которое является пригодным для многопортового устройства), чтобы определить, правильно блокировано ли он или нет. Адресат правильно блокирован, когда LOCK# выключен в течение фазы адреса и включен на следующем такте.) Обратите внимание: арбитр должен быть в алгоритме "равнодоступности", когда LOCK# включен; иначе может происходить Livelock (длительная блокировка).

Существующее программное обеспечение, которое не поддерживает правила использования блокировки PCI, неправильно работать. Для PCI резидентной памяти (прежде всего системной памяти), которая поддерживает LOCK#, требуется быть обратно совместимой к существующему программному обеспечению, рекомендуется выполнить полную блокировку ресурса. Обратитесь к разделу 3.5.5. для получения подробной информации по избежанию зависания.

–  –  –

Мастер, который использует LOCK# на PCI, должен твердо придержаться следующих правил:

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

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

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

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

• LOCK# должен быть выставлен на такте, следующем после фазы адреса и оставаться таким до поддержки управления.

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

• LOCK# должен быть всегда выключен, когда доступ завершен аварийным прекращением работы как со стороны ведомого, так и со стороны ведущего.

• LOCK# должен быть выключен минимум для одного цикла ожидания (IDLE) между последовательными операциями блокировки.

3.5.2. Начало монопольного доступа Когда устройство должно сделать исключительную операцию, оно внутренне проверяет состояние LOCK# перед выставлением REQ#*. Мастер отмечает LOCK# занятым всегда, когда LOCK# выставлен, и не занятым, когда FRAME# и LOCK# являются выключенным. Если LOCK# занята, агент должен удержать сигнал REQ#, пока LOCK# не является доступной.

Пока ожидается разрешение, мастер продолжает контролировать LOCK#. Если LOCK# является занятой, мастер деактивирует REQ#, потому что другой агент получил управление LOCK#.

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

Рисунок 3-10 иллюстрирует старт монопольного доступа. LOCK# является выключенной в течение фазы адреса для запроса операции блокировки, которая должна быть инициализирована с командой чтения.

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

–  –  –

Блокированная операция не установлена на шине до завершения первой фазы данных первой транзакции (IRDY# и TRDY# установлены). Если адресат повторяет первую транзакцию без завершения фазы данных, мастер не только должен запретить транзакцию, но и также должен также выставить LOCK#. Если только первая фаза данных завершается, исключительная операция установлена, и мастер сохраняет LOCK# выставленной, пока либо операция блокировки не завершается, либо по ошибке (аварийное прекращение работы по инициативе мастера или адресата). Аварийное прекращение работы по инициативе адресата разъединяет нормальное соединение даже когда операция блокировки установлена. Когда работа мастера завершена адресатом с разъединением или повторением после того, как блокировка была установлена, адресат указывает, что в настоящее время шина занята и невозможно завершить запрошенную фазу данных.

Адресат получит доступ, когда он не занят и продолжает удерживать блокировку, исключая все другие доступы. Мастер продолжает управлять сигналом LOCK#. Неисключительный доступ к неблокированным адресатам на PCI возможен в то время, когда LOCK# установлен. Когда монопольный доступ выполнен, LOCK# является выключенным, и другие владельцы могут соперничать за монопольный доступ.

3.5.2. Продолжение монопольного доступа

Рисунок 3-11 показывает главное продолжение монопольного доступа. Однако этот доступ может или не может завершить исключительную операцию. Когда хозяину предоставлен доступ к шине, он начинает другой монопольный доступ к адресату, которого он предварительно блокировал. LOCK# является выключенным в течение фазы адреса, чтобы восстановить блокировку. Блокированное устройство принимает и отвечает на запрос. LOCK# выставлена на такте 3, чтобы сохранить адресата в блокированном состоянии и позволить текущему мастеру сохранять монопольное использование LOCK# до конца текущей транзакции.

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

–  –  –

3.5.3. Осуществление доступа к блокированному агенту Рисунок 3-12 показывает попытку мастера получить неисключительный доступ к блокированному агенту.

Когда LOCK# выставлен в течение фазы адреса, и если адресат блокирован, он сообщает о том, что никакие данные не перемещены. Разблокированный адресат игнорирует LOCK# при решении, что он должен ответить. Также, пока LOCK# и FRAME# выставлены в течение фазы адреса, разблокированный адресат не входит в блокированное состояние.

–  –  –

3.5.4. Завершение монопольного доступа В течение заключительной передачи исключительной операции, LOCK# является невыставленным, так что адресат примет запрос, а затем подтверждение, пока монопольный доступ не завершится успешно.

Мастер может снять LOCK# в любое время, когда исключительная операция завершена. Однако рекомендуется (но не требуется) чтобы LOCK# была выключена с выключением IRDY# после завершения последней фазы данных блокированной операции. Выставление LOCK# в любое другое время может приводить к последующей транзакции, завершаемой с лишним повторением. Блокированный агент разблокирует себя всякий раз, когда LOCK# и FRAME# выключены.

Если хозяин хочет выполнять две независимых исключительных операции на шине, он должен гарантировать минимум один такт между операциями, где и FRAME# и LOCK# являются выключенными.

(Например, случай, описанный на рисунке 3-8 (такт 3) был бы запрещен). Это гарантирует, что любой адресат, блокированный первой операцией, будет разблокирован до старта второй операции. Агент должен разблокировать себя, когда FRAME# и LOCK# оба выключены на одном фронте синхроимпульса.)

3.5.5. Поддержка сигнала LOCK# и согласование кэша обратной записи

Блокировка ресурса, как описано ранее, может зависнуть при использовании связанного кэша. Зависание может произойти, если программное обеспечение позволяет блокировкам пересекать границу строки кэша, когда обеспечивается кэширование, и используется полная блокировка ресурса. Пример этого зависания строки кэша диапазонов блокировки n и n + 1. Строка кэша n + 1 была изменена самим кэшем. Мастер устанавливает блокировку, читая строку кэша n. Операция блокировки продолжается чтением строки кэша n + 1. Результат (n + 1) приводит к HITM, который указывает, что изменяемая строка была обнаружена.

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

Этого зависания избегают, требуя адресатов, которые поддерживают writeback кэшированную память (и полную блокировку ресурса), чтобы позволить обратную запись, даже когда он блокирован.

Адресат может различать обратную запись и другие транзакции записи с помощью SDONE и SBO# в течение фазы адреса (или такта после выставления SDONE, когда адреса поставлены в очередь). Когда CLEAN обозначен в течение фазы адреса, текущая транзакция является или CLEAN или writeback. Переход из HITM к CLEAN в течение фазы адреса указывает замену строки. В то время как переход из HITM к CLEAN в течение фазы адреса указывает обратную запись. Адресат обратной записи, вызванной HITM к CLEAN в течение фазы адреса должен принять ее, даже когда он блокирован. Адресат может принимать замены строки (STANDBY к CLEAN в течение фазы адреса), но это не требуется когда он блокирован. Все другие транзакции завершены адресатом с повторением, когда он блокирован. (Обратите внимание, что адресат обратной записи не может завершать транзакцию, пока строка кэша не была перемещена).

–  –  –

3.5.6. Полная блокировка шины Блокировка PCI-ресурса может быть преобразована в полную блокировку шины, если арбитр предоставляет шину любому другому агенту пока LOCK# включена. Когда первый доступ повторен, мастер должен выключить и REQ#, и LOCK#. Когда первый доступ завершается нормально, полная блокировка шины тоже, арбитр не будет предоставлять шину любому другому агенту. Если арбитр предоставил шину другому агенту, когда полная блокировка шины устанавливалась, арбитр должен удалить другой доступ, чтобы гарантировать, что установлена полная блокировка шины. Полная блокировка шины может нанести значительный удар по эффективности системы, и особенно видеосистемы. Все неисключительные доступы не будут продолжены, пока происходит операция блокировки.

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

3.6. Другие операции с шиной 3.6.1. Выбор устройства DEVSEL# управляется адресатом текущей транзакции, как показано на Рисунке 3-13. DEVSEL# может управляться одним, двумя или тремя тактами после фазы адреса и выставляется в регистре состояния, описанном в Разделе 6.2.3. DEVSEL# должен быть выставлен до фронта, на котором адресат выставляет IRDY#, STOP#, или данные. Другими словами, адресат должен выставить DEVSEL# прежде, чем выдает любой другой ответ. Во всех случаях, за исключением случая, когда адресат выставил DEVSEL#, он должен не выставлять DEVSEL#, пока не сброшен FRAME# (IRDY# выставлен) и последняя фаза данных завершена. При нормальном завершении мастером, снятие DEVSEL# должно совпадать со снятием IRDY#.

Исключение - аварийное прекращение работы.

Рисунок 3-13: Установка в активное состояние сигнала DEVSEL# Реализация 2.0 Если никакой агент не выставил DEVSEL# внутри трех тактов FRAME#, агент, делающей декодирование, может требовать и выставление DEVSEL#. Если система не имеет такого агента, мастер никогда не увидит выставленный DEVSEL# и завершает транзакцию с механизмом прекращения работы мастером (смотрите раздел 3.3.3.1.).

Адресат должен делать полную декодировку перед запуском / выставлением DEVSEL# или любым другим выходным сигналом. Запрещено управлять DEVSEL# до полной декодировки, а затем позволять декодирующие действия на шине. (Это могло бы вызывать конкуренцию.) Адресат должен определить строки AD с FRAME# прежде, чем может быть выставлен DEVSEL# на других командах. Адресат должен определить IDSEL с FRAME# и AD[1:: 0] прежде, чем DEVSEL# может быть выставлен в команде конфигурации.

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

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

Однажды выставленный DEVSEL# не может быть снят, пока последняя фаза данных не завершена, за исключением сообщения об аварийном прекращении работы.

Если первый доступ отображается в адресный интервал адресата, он выставляет DEVSEL#, чтобы требовать доступа. Но если мастер пытается продолжать доступ, пересекая границы ресурса, адресат требует сигнала разъединения.

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

При наличии проблем с этим типом ввода/вывода, декодирующее устройство (мост шины расширения) может поступать следующим образам:

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

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

3.6.2. Специальный цикл (Special Cycle)

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

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

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

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

Команды Special Cycle не будут распространяться поперек мостов.

Команда Special Cycle может содержать сообщение зависимых данных, которые не интерпретированы PCI секвенсором непосредственно, но переданы по мере необходимости к аппаратным средствам, связанным с PCI секвенсором. В большинстве случаев явно адресованные сообщения должны быть обработаны в одном из трех физических адресных пространств на PCI.

Команда Special Cycle подобна любой другой команде шины, где имеется фаза адреса и фаза данных. Фаза адреса начинается подобно всем другим командам с выставления FRAME# и завершается подобно всем другим командам, когда FRAME# и IRDY# снимаются. Уникальность этой команды по сравнению с другими

- это то, что никакой агент не отвечает выставлением DEVSEL#. Эта команда, в основном, передает всем агентам, принимает команду агента и обрабатывает запрос.

Фаза адреса не содержит никакую важную информацию по сравнению с полем команды. Там нет никакого явного адреса. В течение фазы данных AD[15::00] содержится тип сообщения и необязательное поле данных.

Сообщение закодировано на младшие 16 бит, а именно AD[15::00]. Необязательное поле данных закодировано на старшие 16 бит, а именно AD[31::16] и не используется во всех сообщениях. Мастер команды Special Cycle может вставлять состояния ожидания подобно любой другой команде, в то время как адресат не может. Сообщение и связанные данные имеют значение только на первых тактах IRDY#.

Информация содержится и в синхронизации последующих фаз данных.

В течение фазы адреса C/BE [3::0]# = 0001 (Special Cycle) и AD[31::00] содержат случайные значения и должны игнорироваться.

В течение фазы данных C/BE [3::0]# выставлен и AD[31::00] содержит:

AD[15::00] Закодированное сообщение AD[31::16] Сообщение зависимых полей данных Секвенсор PCI шины начинает эту команду подобно всем другим и завершает ее с аварийным прекращением работы. Аппаратное приложение обеспечивает всю информацию подобно любой другой команде и запускает секвенсор шины. Когда секвенсор сообщает, что доступ завершен аварийным прекращением работы, аппаратное приложение считает доступ завершенным. В этом случае бит Received Master Abort в конфигурации регистра состояния (Раздел 6.2.3.) должен быть не установлен. Самая быстрая команда Special Cycle может завершиться за 5 тактов. Один дополнительный такт требуются для оборотного цикла перед следующим доступом. Следовательно, всего 6 PCI тактов требуется от начала Special Cycle до начала другого доступа.

Общий объем сообщений составляет 64КБ. Коды сообщений определены и описаны в Приложении A.

–  –  –

3.6.3. Пошаговая передача адреса / данных Способность агента к установке сигналов больше, чем за несколько тактов, называется «продвижением» или «пошаговой передачей».

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

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

Продвижение разрешается только на AD[31:: 00], AD[63:: 32], PAR, PAR64# (для 64-разрядных передач данных, но не для команды DAC), и выводов IDSEL, потому что они всегда ограничиваются сигналами управления: то есть эти сигналы имеют силу только по фронту такта, на котором они используются. AD ограничен сигналом FRAME# в фазах адреса, и IRDY# или TRDY# - в фазах данных (в зависимости от направления перемещения данных). PAR неявно ограничивается на каждом фронте такта, после которого были использованы AD. IDSEL ограничен комбинацией сигнала FRAME# и дешифрированной команды конфигурации.

Рисунок 3-14 иллюстрирует задержку выставления FRAME#, до управления всеми адресными линиями AD.

Мастеру разрешается (и требуется) управлять AD и C/BE# и шиной IDLE. Но может потребоваться много тактов, чтобы управлять имеющим значение адресом перед выставлением FRAME#. Однако, при задержке выставления FRAME# мастер может потерять свое обращение к шине. Как и в случае работы с любым мастером, сигнал GNT# должен быть выставлен на фронте прежде, чем будет выставлен сигнал FRAME#.

Если GNT# был деактивирован, на фронте отмечено "A", мастер требует немедленно выставить сигналы в третье состояние, потому что арбитр предоставил шину другому агенту (новый мастер имел бы более высокий приоритет). Если GNT# был деактивирован (на фронте такта отмечено "B" или "C"), то FRAME# будет уже установлен, и транзакция продолжится.

–  –  –

3.6.4. Цикл конфигурации PCI обеспечивает полную программно управляемую инициализацию и конфигурацию через отдельное адресное пространство конфигурации. PCI устройства должны обеспечить 256 байтов регистров конфигурации для этой цели. Описания регистра можно найти в главе 6. Этот раздел описывает команды PCI-шины для доступа к пространству конфигурации. Как обсуждалось ранее, каждое устройство дешифрирует собственные адреса для нормального доступа. Однако доступ в адресном пространстве конфигурации требует выбирающего декодирования, которое должно быть выполнено извне, и сообщено на PCI устройство через IDSEL выход, который функционирует подобно классическому сигналу "выбор микросхемы". PCI устройство - является адресатом команды конфигурации ( чтения или записи ) только в случае, если выставлен IDSEL и AD[1:0] - "00" в течение фазы адреса команда. Внутренняя адресация 64DWORD регистрового пространства выполняется по AD[7:: 2]. Команда конфигурации подобно другим командам позволяет доступ байта, слова, DWORD, операции пакета. Остальная часть транзакции осуществляется также, как другие команды, включая всю семантику завершения. Если никакой агент не отвечает, запрос завершается аварийным прекращением работы (Раздел 3.3.3.1.). Интерфейс шины расширения не должен передавать этот запрос через шину расширения.

Сигналом IDSEL управляется интерфейс главный компьютер / память или проектировщик системы. Однако этот сигнал выбора был разработан, чтобы позволить подключение с одним из старших 2l линии адреса, которые не используются иначе в доступе конфигурации. Не существует никакого известного или стандартного пути определения IDSEL из старших 21 битов адреса: следовательно, сигнал IDSEL должен быть поддержан. Устройства не должны делать внутреннее подключение между линией и внутренним сигналом IDSEL, чтобы сохранить сигнал. Единственная исключительная ситуация - первичный мост шины, так как это определяет выставлен ли IDSEL. AD[3l::00] линии должны быть активно управляемы в течение фазы адреса. Подключая различные линии адреса на каждое устройство и выставляя один из AD[31:11] линии в это время, 21 различные устройства могут быть однозначно выбраны для доступа конфигурации.

Реализация 2.0

При этом подходе (соединять одну из старших 21 линий с IDSEL) может возникать такая проблема, как дополнительная загрузка на линии. Это может быть исправлено сопротивлением, соединяющим IDSEL и соответствующую линию. Это, однако, приводит к очень медленной скорости на IDSEL, и поэтому он может быть в недопустимом логическом состоянии большую часть времени, как показано на Рисунке 3-15 метками "XXXX". Однако так как он используется только на фазе адреса цикла конфигурации, шина адреса может быть настроена несколькими тактами перед FRAME#9, таким образом гарантируя, что IDSEL будет в рабочем состоянии, когда он понадобится. Для всех других циклов IDSEL не определен и может быть в неопределенном состоянии в течение фазы адреса. Настройка шины адреса подобна адресному продвижению, как было описано в предыдущем разделе.

–  –  –

Тип 1 и тип 0 доступа конфигурации различаются значениями на AD[1::0]. Тип 0 цикла конфигурации (когда AD[1::0] = "00") используется, чтобы выбрать устройство на PCI шине, где цикл выполняется. Тип 1 цикла конфигурации (когда AD[1::0] = "01") используется, чтобы передать запрос конфигурации на другую PCI шину.

Поля Register Number и Function Number имеют то же самое значение для обоих типов конфигурации, тогда как Device Number и Bus Number используется только в 1-ом типе доступа. Зарезервированные поля должны игнорироваться адресатами.

–  –  –

Интерфейсы (и главный компьютер и PCI-to-PCI), которые генерируют Тип 0 цикла конфигурации, используют Device Number, чтобы выбрать выставление IDSEL. Function Number обеспечивается на AD[10::08]. Register Number обеспечивается на AD[7::2]. AD[1::0] должен быть "00" для Типа 0 доступа конфигурации.

Тип 0 доступа конфигурации не работает вне локальной PCI шины и должен требоваться локальным устройством или завершаться аварийным прекращением работы.

Если адресат доступа конфигурации находится на другой шине (не локальной PCI шине), должен использоваться тип 1 доступ конфигурации. 1 тип доступа игнорируется всеми адресатами за исключением мостов PCI-to-PCI. Эти устройства декодируют поле Bus Number, чтобы определить, находится ли адресат доступа конфигурации позади моста. Если Bus Number не для шины позади моста, доступ игнорируется.

Мост требует доступа, если адресат на шине позади моста. Если Bus Number не на вторичной шине моста, доступ просто передается неизменяемым. Если Bus Number соответствует вторичному номеру шины, мост преобразовывает доступ в Тип 0 доступа конфигурации.

Мост изменяет AD[1::0] на "00" и передает AD[10::

02] неизмененным. Device Number декодируется, чтобы выбрать 1 из 32 устройств на локальной шине. Мост выставляет правильный IDSEL и инициализирует доступ конфигурации.

Устройства, которые отвечают на 0 тип тактов конфигурации, разделяются на два класса. Класс первый (одиночное функциональное устройство) определен для обратной совместимости, и использует только IDSEL и AD[1::0] ("00") чтобы определить, отвечать или нет. Второй класс устройств (многофункциональное устройство) использует поля Function Number, IDSEL, AD[1::0] ("00"), а также закодированное значение AD[10:: 08] чтобы определить, отвечать или нет. Два класса отличаются кодированием в верхней части пространства конфигурации.

Многофункциональные устройства требуют делать полную декодировку AD[10::08] и отвечают, только если они выполнили регистры пространства конфигурации для выбранной функции. Они также требуют всегда выполнять функцию 0 в устройстве. Выполнение других функций необязательно и может быть назначено в любом порядке (т.е. функцию двухфункциональное устройство может ответить на функцию 0, но может выбирать любую из других возможных функциональных номеров (1-7) для второй функции).

Реализация 2.0

Код конфигурации исследует шину в порядке Device Number (то есть Function Number будет нулевой).

Если одиночное функциональное устройство обнаружено, то Device Number больше не будет проверяться.

Если обнаружено многофункциональное устройство, то все Device Number далее будут проверены.

3.6.4.1. Генерация циклов конфигурации

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

Для PC-AT совместимых машин имеются два механизма, позволяющие программному обеспечению генерировать циклы конфигурации. Они упоминаются как Механизм Конфигурации #1 и Механизм Конфигурации #2. Механизм Конфигурации #1 - предпочитаемая реализация, и должен обеспечиваться всеми будущими ведущими мостами (существующие мосты должны преобразоваться тоже, если это возможно).

Механизм Конфигурации #2 определен для обратной совместимости и не должен использоваться в соответствии в новых проектах10. Ведущие мосты, которые нужно использовать в PC-AT совместимых системах должны выполнять по крайней мере, один из этих механизмов.

3.6.4.1.1. Механизм конфигурации #1

Два DWORD расположения ввода/вывода используются в этом механизме. Первое DWORD по адресу (CF8H) ссылается на регистр чтения/записи, который называется CONFIG_ADDRESS. Второй DWORD адрес (CFCh) ссылается на регистр, называемый CONFIG_DATA. Общий механизм для доступа к пространству конфигурации должен писать значение в CONFIG_ADDRESS, который определяет PCI шину, устройство на этой шине, и регистр конфигурации в устройстве, к которому обращаются. Читают или пишут CONFIG_DATA, затем заставляют мост транслировать этот CONFIG_ADDRESS к запрошенному циклу конфигурации на PCI шине.

Reserved Bus Device Function Register 00 Number Number Number Number |_______ Enable bit (‘1’ = enable, ‘0’ = disabled)

Рисунок 3-16: Размещение Регистра CONFIG_ADDRESS

CONFIG_ADDRESS - 32-битный регистр, показанный на Рисунке 3-16. Бит 31 - флажок для определения, когда доступ к CONFIG_DATA должен транслирован циклам конфигурации на PCI шине. Биты от 30 до 24 зарезервированы, они только для чтения, и должны возвратить нули при чтении. Биты от 23 до 16 выбирают PCI шину в системе.

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

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

Реализация 2.0 Биты с 15 до 11 выбирают специфическое устройство на шине. Биты с 10 до 8 выбирают специфическую функцию в устройстве (если устройство поддерживает многократные функции). Биты с 7 до 2 выбирают DWORD в пространстве конфигурации устройства. Биты 1 и 0 только для чтения и должны возвратить 0 при чтении.

Всегда, когда ведущий мост видит, что полное DWORD ввод/вывод пишется в CONFIG_ADDRESS, мост должен задержать данные в регистре CONFIG_ADDRESS. На полном DWORD ввода/вывода читается в CONFIG_ADDRESS, мост должен возвратить данные в CONFIG_ADDRESS. Любые другие типы доступа к этому адресу (не DWORD) должны обработаться подобно нормальному доступу ввода/вывода, и не должно выполняться никакое специальное действие. Следовательно, только пространство ввода/вывода использованное этим регистром - DWORD в выданном адресе. Устройства ввода/вывода, использующие регистры BYTE или WORD, не действуют, потому что они будут передаваться неизмененными.

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

Имеются два типа трансляции, которые могут происходить. Первый, 0 тип - трансляция, когда адресуемое устройство находится на PCI шине, связанной с мостом. Второй, тип 1, происходит, когда устройство находится на другой шине где-нибудь позади этого моста.

Для трансляций типа 0 (см. Рисунок 3-17), мост декодирует поле DEVICE NUMBER, чтобы выставить соответствующий IDSEL11 и выполняет цикл конфигурации на PCI шине, где AD[1::0] = "00". Биты 10 - 8 из CONFIG_ADDRESS скопированы в AD[10::8] на PCI шину как закодированное значение, которое может использоваться компонентами, которые содержат многократные функции. AD[7::2] также скопирован из регистра CONFIG_ADDRESS. Рисунок 3-17 показывает трансляцию из регистра CONFIG_ADDRESS на AD линии на PCI шине.

Рисунок 3-17: Трансляция типа 0 через интерфейс циклов конфигурации Для трансляции Типа 1, интерфейс непосредственно копирует содержание регистра CONFIG_ADDRESS на AD линии в течение фазы адреса цикла конфигурации, устанавливающим, что AD[1:: 0] - "01".

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

Реализация 2.0 В обоих случаях разрешающий байт для передач данных должен быть непосредственно скопирован с шины процессора.

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

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

3.6.4.1.2. Производство специальных циклов с механизмом конфигурации #1

Этот раздел описывает, как ведущие мосты, которые выполняют Механизм Конфигурации #1 для доступа к пространству конфигурации, должны позволить программному обеспечению генерировать Специальные Циклы. Ведущие мосты не должны обеспечивать механизм для разрешения программному обеспечению генерировать Специальные Циклы.

Когда в регистр CONFIG_ADDRESS записано такое значение, что BUS NUMBER соответствует номеру шины мостов, DEVICE NUMBER - все 1, FUNCTION NUMBER - все 1, REGISTER NUMBER имеет значение 0, тогда мост выполняет Специальный Цикл после того, как регистр CONFIG_DATA записан.

Когда регистр CONFIG_DATA записан, мост генерирует кодирование Специального Цикла на выходе C/BE [3:: 0]# в течение цикла адреса и управляет данными из ввода/вывода на AD[3l:00] в течение первого цикла данных. Чтение CONFIG_DATA, после того, как CONFIG_ADDRESS был установлен описанным выше способом, имеет неопределенные результаты. Мост может обрабатывать это как нормальную операцию цикла конфигурации (то есть генерировать Тип 0 цикла конфигурации на PCI шине). Это аварийное прекращение работы, и процессору будет возвращены все 1.

Если поле BUS NUMBER CONFIG_ADDRESS не соответствует номеру шины моста, то мост пишет в CONFIG_DATA как Тип 1 цикла конфигурации, точно так же, когда не соответствует номер шины.

3.6.4.1.3. Механизм конфигурации #2

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

–  –  –

Рисунок 3-18: Размещение регистра разрешения пространства конфигурации Этот регистр чтения/записи порта ввода/вывода, который логически находится в ведущем мосте. Бит 0 разрешающий бит для генерации Специальных Циклов. Этот бит должен быть установлен в 0, чтобы генерировать циклы конфигурации и установлен в 1, чтобы генерировать Специальные Циклы. Раздел 3.6.4.1.4. описывает Специальные Циклы с Механизмом Конфигурации * 2. Биты от 1 до 3 обеспечивают функциональный номер для цикла конфигурации. Эти три бита перемещены в AD[l0:: 08], когда цикл конфигурации сгенерирован. Поле ключа используется для того, чтобы разрешить функцию отображения.

Ведущий мост отвечает на чтение CSE регистра, возвращая последние данные, записанные в этот регистр.

Все доступы к CSE регистру должны быть одиночные байтовые операции.

После сброса регистр CSE очищен, и ведущий мост устанавливается в заданное по умолчанию состояние и обрабатывает все доступы ввода/вывода обычно.

Forward - регистр:

Forward регистр, размещенный на адресе ввода/вывода CFAh используется, чтобы определить то, к чему на PCI шине обращаются. Это регистр чтения/записи, инициализирован в 0 при сбросе, и возвращает последнее записанное значение при чтении. Когда Forward регистр установлен в 00, значит обращаются к шине сразу позади моста, и тип 0 доступа конфигурации сгенерирован. Когда Forward регистр отличен от нуля, сгенерирован тип 1 доступа конфигурации, содержание Forward регистра отображено в AD[23:: l6] в течение фазы адреса цикла конфигурации.

Отображение пространства конфигурации:

Когда мосту разрешают делать отображение пробела конфигурации (то есть поле ключа CSE регистра отлично от нуля) мост должен преобразовать все доступы ввода/вывода в диапазоне C000h- CFFFh в PCI циклы конфигурации. Шестнадцать PCI устройств можно адресовать с помощью битов 11:: 8 из адреса ввода/вывода. Биты 7::2 адреса Ввода - вывода выбирают DWORD внутри пространства конфигурации устройства.

–  –  –

Рисунок 3-20 показывает трансляцию, сделанную, когда Forward регистр отличен от нуля. Это указывает, что устройство, к которому обращаются, находится на PCI шине в другом месте, чем непосредственно позади моста. Мост должен генерировать тип 1 конфигурации цикла и отображать Forward регистр в AD [23:: 16] PCI Шины.

–  –  –

3.6.4.1.4. Производство специальных циклов с механизмом конфигурации #2 Этот раздел определяет, как ведущие мосты, которые выполняют Механизм Конфигурации #2 для доступа к пространству конфигурации должны позволить программному обеспечению генерировать Специальные Циклы. Ведущие мосты не должны обеспечивать механизм для разрешения программному обеспечению генерировать Специальные Циклы.

Реализация 2.0 Когда CSE регистр установлен так, чтобы бит 0 был "1", поле Function Number все 1, и поле ключа отлично от нуля, тогда мосту разрешено делать Специальный Цикл или Тип 1 цикла конфигурации на PCI шине.

Когда Специальный Цикл разрешен, и центральный процессор адресует для записи ввода/вывода адресует CF00H, мост сравнивает содержание Forward регистра с 00. Если содержание Forward регистра 00, то ведущий мост генерирует Специальный Цикл на PCI шине. В течение фазы адреса мост генерирует кодирование Специального Цикла на C/BE [3:: 0]# и управляет записью данных из ввода/вывода (CF00H) на AD[31:00] в течение первой фазы данных Специального Цикла. Если содержание Forward регистра не равно "0", то Ведущий Мост генерирует Тип 1 цикла конфигурации на PCI шине с полями Device Number и Function Number равными 1 (AD[15::08] будут все 1), и Register Number будет 00h (AD[7::2] будут все 0) в течение фазы адреса PCI конфигурации записывает цикл.

Доступ для чтения к вводу/выводу адреса CXXXh, пока CSE регистр, разрешенный для Специальных Циклов, будет иметь неопределенные результаты. Доступы для записи к вводу/ выводу адресуют CXXXh (если бы не CF00H) в то время как CSE регистр, разрешенный для Специальных Циклов, будет иметь неопределенные результаты. В CSE регистре, всякий раз, когда бит Разрешения Специального Цикла (SCE) установлен, и поле Function Number не все 1, доступ ввода/вывода в диапазоне CXXXh будет иметь неопределенные результаты.

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

PCI шина поддерживает цикл подтверждения прерывания как показано на 3-21 Рисунке. Этот рисунок иллюстрирует цикл прерывания x86 на PCI, и приведен только как пример.

В течение фазы адреса, AD[31::

00] не содержит имеющий силу адрес, но должен управляться с устойчивыми данными, PAR имеет силу, и четность может быть проверена. Только одиночный агент может отвечать на подтверждение прерывания.

Устройство, которое делает так, должно выставить DEVSEL#. Вектор должен быть возвращен, когда выставлен TRDY#. Цикл подтверждение прерывания подобен любому другому циклу, в котором циклы могут быть вставлены, и запрос может быть завершен, как обсуждено в Разделе 3.3.3.2.

–  –  –

В отличие от традиционного 8259 двойного цикла подтверждения, PCI выполняет одиночное подтверждение. Преобразование из формата процессорных двух циклов в PCI формат цикла легко выполняется в мосте, отбрасывая первое подтвержденное прерывание из процессора.

3.7. Функции ошибки

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

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

3.7.1. Контроль по четности Контроль по четности на PCI обеспечивает механизм для определения транзакцию транзакцией, если мастер достиг успеха в достижении желательного адресата и если данные, перемещаемые между ними, проходят правильно. Чтобы гарантировать, что выполняется правильная операция шины, четыре командных строки включены в вычисление четности. Чтобы гарантировать, что правильные данные перемещены, допускается также включение 4 байтов в вычисление четности. Агент, который является ответственным за запуск AD[3l::00] на любой данной фазе шины, также ответственен за запуск проверки на четность на PAR.

В течение фазы адреса и фазы данных, четность покрывает AD[31::00] и C/BE [3::0]# линии независимо от того, несут или нет все линии значимую информацию. В течение конфигурации, Специального Цикла, или подтверждения прерывания, команды некоторых (или всех) линий адреса не определены, но требуется довести их до устойчивых значений и включить в вычисление четности.

Четность сгенерирована согласно следующим правилам:

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

• Число «1» на AD[31:: 00], C/BE [3:: 0]#, и PAR равняется четному числу.

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

На любой данной фазе шины, PAR управляется агентом, который управляет AD[31::00] и отстает от соответствующего адреса или данных на один такт. Рисунок 3-22 иллюстрирует чтение и запись транзакции с четностью. Мастер управляет PAR для фаз адреса на тактах 3 и 7. Адресат управляет PAR на фазе данных на транзакции чтения (такт 5), в то время как мастер управляет PAR на фазе данных на транзакции записи (такт 8). Обратите внимание, что один такт отстает от другого. PAR ведет себя подобно AD[3l::00], включая состояния ожидания и оборотные циклы.

–  –  –

Четность должна быть проверена, чтобы определить, успешно ли адресовал мастер желательному адресату и переместились ли данные правильно. Проверка четности на PCI требуется за исключением двух классов устройств, перечисленных в Разделе 3.7.2. Агенты, которые поддерживают проверку четности, должны всегда устанавливать Обнаруженный бит Ошибки Четности в пространстве конфигурации регистр Состояния (обратитесь к Разделу 6.2.3.) когда ошибка четности обнаружена. Любое дополнительное действие вне установки этого бита обусловлено установкой бита Ответа Ошибки Четности в пространстве конфигурации регистра команд и выдается в раздел ошибок.

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

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

Два сигнала используются на PCI схеме сообщения об ошибке. PERR# используется исключительно для сообщения об ошибках четности данных на всех транзакциях, за исключением команд Специального Цикла.

Протокол шины гарантирует, что PERR# одновременно не будет никогда управляться многократными агентами шины.

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

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

Реализация 2.0 И PERR# и SERR# являются требуемыми сигналами, так как требуется передача сигналов ошибки четности на PCI. Однако это требование отклонено для двух классов устройств.

1. Устройства, которые разработаны исключительно для использования на плоских системных платах;

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

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

Обратите внимание, что все агенты требуют генерировать четность (нет никаких исключений для этого требования). Использование SERR# для сообщения об ошибках нечетности необязательно. Однако должно быть принято, что передача сигналов на SERR# генерирует NMI и, следовательно, неисправима.

Следовательно, нужно осторожно использовать SERR#.

Следующие разделы описывают ответственность каждого агента шины относительно передачи сигналов на PERR# и SERR#.

3.7.2.1. Ответ ошибки четности и сообщений на PERR# Этот раздел описывает соответствующий запрос, сообщение, ошибки четности данных во всех операциях шины за исключением команд Специальных Циклов. Все ошибки четности адреса, также как ошибки четности данных команд Специального Цикла сообщаются на SERR#, и описаны в следующем разделе. Все ссылки к ошибкам четности в этом разделе ограничены строго четностью данных (за исключением команд Специального Цикла).

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

Исключая установку бита обнаружения Ошибки Четности, вся передача сигналов ошибки четности и ответ управляется битом Ответа Ошибки Четности. Этот бит требуется в предварительно перечисленных устройствах. Если бит очищен, агент игнорирует все ошибки четности и завершает транзакцию, как если бы четность была правильна. Если бит установлен, агент должен выставить PERR#. Во всех случаях, Обнаруженный бит Ошибки Четности должен быть установлен.

Агент должен всегда выставлять PERR# на два PCI такта после передачи данных, в котором ошибка произошла, как показано на Рисунке 3-22. Агент, получающий данные свободен выставить PERR#, когда ошибка четности обнаружена (которая может происходить прежде, чем данные перемещены)13. Когда PERR# выключен, он должен остаться таким два такта после фактической передачи. Мастер знает, что ошибка четности данных произошла в любое время, когда PERR# выставлен, но также знает, что передача была свободна от ошибок 2 такта после передачи.

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

На транзакции записи это может происходить, когда IRDY# выставлен, и адресат вставляет состояние ожидания. На транзакции чтения это происходит, когда TRDY# выставлен, и мастер вставляет состояние ожидания.

Реализация 2.0 С этих пор PERR# является поддержанным сигналом tri-состояния, нужно довести его до правильного значения на каждом срезе такта. Для возвращения его в номинальное состояние в конце каждая операции шины, он должен активно управляться за один такт, спустя два такта после цикла AD шины (например, такт 7 на Рисунке 3-22). PERR# цикл происходит на один такт позже (такт 8 на Рисунке 3-22). PERR# может никогда не быть выставленным в текущем цикле до истечения трех тактов после фазы адреса.

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

Когда мастер доступа узнает, что ошибка четности произошла на транзакции, он сообщает это системе.

Рекомендуется, чтобы мастер сообщил это драйверу устройства ошибки, генерируя прерывание (или изменяя состояние регистров, или флажок, чтобы упомянуть несколько параметров). Ни один из этих параметров не является доступным устройству. Обратите внимание, что проектировщик системы может выбирать сообщать все ошибки четности операционной системе, преобразуя весь сигнал ошибки PERR# в сигнал ошибки центрального ресурса SERR#.

3.7.2.2. Реакция на ошибку и сообщений о ней по SERR#

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

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

Сигнал SERR# не имеет никакой связи синхронизации с любой PCI - транзакцией14. Однако, об ошибки необходимо сообщать так скоро, насколько это возможно; предпочтительно -внутри двух тактов детектирования ошибки. Единственный агент заинтересовал SERR# (поскольку вход) - центральный ресурс, который преобразовывает низкий импульс в сигнал на процессор. Так как центральный ресурс системно зависим от сигналов процессора, то можно было бы генерировать немаскируемые прерывания NMI, высокоприоритетное прерывание, установить состояние ожидания или флажок. Однако, агент, который устанавливает в активное состояние сигнал SERR#, должен будет для центрального ресурса сгенерировать NMI; иначе об ошибке надо сообщит с помощью другого механизма (например, прерыванием, через статусный регистр, или флаг).

–  –  –

Когда бит ответа ошибки четности установлен и бит разрешения SERR# установлен тоже, агент может выставлять SERR# при следующих условиях:

• Обнаружена ошибка четности адреса или ошибка четности данных на Специальных Циклах

• Обнаружена ошибка четности, которая не сообщена некоторым другим механизмом (только текущим мастером шины).

Когда бит разрешения SERR# установлен, агент может выставлять SERR# при следующих условиях:

• Мастер (который не имеет драйвера) включался в транзакции, которые неправильно завершены.

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

Обратите внимание, что аварийное прекращение работы мастером - не аварийное условие для мостов для команд конфигурации и Специального цикла. SERR# не должен использоваться для этих условий или для обычно восстанавливаемых случаев. Выставление SERR# должно быть выполнено обдуманно и осторожно, начиная, когда результата может быть NMI. Аварийное прекращение работы адресатом - может быть сообщено (только мастером) как ошибка передачей сигналов SERR#, когда мастер не может сообщать ошибку через драйвер устройства.

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

3.8. Поддержка кэша

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

Кэширование поддержки для общедоступной памяти выполнено двумя необязательными контактами, названными SDONE и SBO#. Они передают информацию состояния кэша между мостом /кэшем и адресатом запроса памяти. Интерфейс / кэш отслеживает доступ памяти на PCI, и определяет то, что отклик требуется целевым устройством, чтобы гарантировать согласованность с памятью системы.

Для избежания «отслеживающей перегрузки» интерфейс можно запрограммировать так, чтобы сигнализировать о «чистом отслеживании» (Clean Snoop) немедленно, по адресным интервалам, по которым наиболее часто происходят обращения, и которые конфигурированы как кэшируемые (например, буфер изображения). Любое целевое устройство PCI, поддерживающее кэшируемую память, должно контролировать поддержку выводов кэша PCI, и соответственно реагировать. Целевые устройства, конфигурированные так, чтобы не кэшироваться, могут игнорировать сигналы SDONE и SBO#, так как это может сохранять небольшой время задержки запроса, в зависимости от конфигурации. Так как PCI позволяет блоки безграничной длины, целевое устройство кэшируемого запроса должно прервать запрос, если встретятся диапазоны памяти, которые выходят за границу строки кэша.

–  –  –

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

Когда доступ или вторая транзакция завершается, контроллер кэша и памяти готов принять новый адрес.

Следовательно, требуется только запираемых два адреса.

Если вторая транзакция - кэшированная, требуется контроллер памяти, чтобы вставить ожидание состояния, пока первый доступ завершается. Когда доступ первой транзакции завершается, контроллер памяти продолжает работу с транзакцией. Если вторая транзакция к не кэшированному адресу, адресат может завершать транзакцию пока SDONE и SBO# не проверены. Если адресат второй транзакции выставляет TRDY# (или STOP#) до или с выставлением SDONE, это подразумевает не кэшированную транзакцию и кэш не будет иметь доступ к адресу, когда TRDY# выставлен. Следовательно, максимальное число адресов, которые могут быть используемы в любое время - два.

3.8.1. Определение состояний кэша

PCI спецификация определяет SDONE и SBO#, чтобы обеспечить информацию между агентами, которые участвуют в протоколе кэша. Когда SDONE выставлен, это указывает что доступ завершился. Когда SBO# выставлен, это указывает на изменяемую линию.

Когда SBO# является выключенным и SDONE выставлен, это указывает "CLEAN" результат доступа.

Реализация 2.0

Имеется три состояния кэша на PCI. Значение каждого состояния, когда управляется кэшем/ мостом (которые будут описаны после кэша) и как контроллер кэшированной памяти должен интерпретировать их, будет обсуждено далее.

Сигналы кэширования PCI SDONE и SBO# имеют одно из трех следующих состояний:

–  –  –

3.8.1.1. Контроллер кэша / кэшированной памяти

Когда кэш управляет тремя состояниями на шине, подразумевается следующее:

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

CLEAN - указывает, что нет конфликта кэшей, и доступ к памяти может завершаться обычно. Он подразумевает пропадание к кэшу, или на неизменяемую линию в течение транзакции записи или попадание на изменяемую линию в течение команды Memory Write и Invalidate. Обратная запись, вызванная командой Memory Write и Invalidate или Memory Write к неизменяемой линии кэша не требуется. (Это допустимо, пока мастер транзакции гарантирует, что каждый байт будет изменяться, и адресат не будет завершать транзакцию до всего перемещения.) Кэш выставит CLEAN в течение фазы адреса, когда он текущий мастер шины и записывает обратно изменяемую линию.

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

HITM - указывает, что доступ к изменяемой линии, и требуется writeback адрес доступа на следующей операции. Кэш останется в этом состоянии до обратной записи. Все другие кэшированные транзакции будут завершены с повторением контроллером памяти, в то время как HITM выставлен на шине. (Если любая другая кэшированная транзакция требует завершения перед обратной записью изменяемой линии, произойдет livelock.) В течение обратной записи изменяемой линии, кэш будет делать транзакцию от HITM до CLEAN в течение фазы адреса.

Реализация 2.0

Контроллер памяти "обычно" завершает транзакцию с повторением, позволяя происходить обратной записи, и затем заново запрашивает агента, который был завершен с повторением. Контроллер памяти завершит все последующие кэшированные транзакции с повторением, пока выставлен HITM.

3.8.2. Поддерживаемые состояния и переходы [1] STANDBY -- CLEAN -- [CLEAN] -- STANDBY [2] STANDBY -- HITM -- CLEAN -- [CLEAN] -- STANDBY Последовательность [1] - нормальный случай, где кэш находится в STANBY до завершения доступа и затем выставляет CLEAN, чтобы указать, что транзакция должна завершиться обычно. Кэша переходит к STANDBY, если второй адрес не задержан, когда доступ первой транзакции завершается. Если второй адрес заперт и кэш не мастер, он переходит к STANDBY, указывающему доступ. Если кэш - мастер второй транзакции, он может продолжать удерживать CLEAN, когда транзакция - обратная запись кэша, или знает, что доступ CLEAN; иначе он будет переходить к STANDBY.

Последовательность [2] - когда изменяемая линия обнаружена в течение доступа. Однажды выставленный кэшем HITM, будет находиться в этом состоянии, пока изменяемая линия не написана обратно. Кэш будет переходить к CLEAN, выполняя обратную запись. После CLEAN кэш выставит STANDBY, указывающий, что кэш готов к доступу по новому адресу. Если кэш - мастер второй транзакции, он может продолжать удерживать CLEAN, когда транзакция - обратная запись кэша или знает, что доступ CLEAN; иначе, он будет переходить к STANDBY.

–  –  –

Транзакция на Рисунке 3-23 начинается, когда адрес заперт на такте 2. Адресат сохраняет TRDY# выключенным (вставляя состояние ожидания), пока доступ не завершается. Доступ завершается на такте 5, когда SDONE выставлен. SBO# не был выставлен, пока результат доступа показывает CLEAN.

Рисунок 3-24: Доступ на изменяемую линию, следующую за обратной записью.

–  –  –

На рисунке 3-24 инициализация транзакции начинается на такте 2 с адресом, который заперт. Адресат этой транзакции вставляет состояния ожидания, пока выставлен SDONE. В этом примере кэш показывает, доступ к изменяемой линии на такте 4, выставляя SBO# и SDONE. (Однажды выставленный SBO# должен остаться таким, пока выставлен SDONE). Так как адресат транзакции кэшированный, он выставляет STOP#, чтобы завершить транзакцию на такте 5. Это позволяет кэшу, который выставил HITM, писать изменяемую линию обратно в память. Для транзакций чтения, контроллер памяти должен устанавливать в третье состояние AD линии, когда выставлен HTIM. Все транзакции кэшированным адресатам завершены с повторением, в то время как HITM выставлен на шине.

Рассмотрение линии указывает, что прошло некоторое количество времени, с тех пор, как доступ был выставлен на первой транзакции. В это время не кэшированные транзакции могут завершаться, и кэшированные транзакции могут начинаться, но требуется, чтобы они были завершены с повторением, пока выставлен HITM. Транзакция обратной записи начинается на такте A. Обратите внимание на переходы кэша из HITM к CLEAN в течение фазы адреса. Это указывает контроллеру памяти, что доступ обратной записи начинается, и требуется принять всю линию. (Если контроллер памяти не способен завершить транзакцию, он должен вставить состояния ожидания, пока он не способен завершить ее. Это условие должно произойти, когда кэшированный адресат имеет внутренний конфликт, например, операция регенерации массива.) (Если адресат блокирован, он принимает обратные записи, вызванные доступами на изменяемые линии; иначе происходит зависание.) И кэш, и контроллер памяти могут вставлять состояния ожидания в течение обратной записи. Контроллер памяти требуется, чтобы принять всю линию в одиночной транзакции, и кэш будет обеспечивать всю линию. Обратите внимание, что кэш переходит от CLEAN к STANDBY на такте B.

Кэш теперь готов принять другой адрес доступа. Как только обратная запись завершается, шина возвращается к нормальной операции, где кэшированные транзакции будут выполняться. Порядок обратной записи не зависит от транзакции, которая вызвала обратную запись. На рисунке, DATA - 1 только указывает первую передачу данных, а не DWORD номер.

–  –  –

Рисунок 3-25 - пример команды Memory Write и Invalidate. Кэш имеет несколько параметров того, как обработать эту команду. Так как мастер гарантирует, что каждый байт на линии кэша будет изменяться, кэш мог бы просто выставить CLEAN, даже если линия попадает на изменяемую линию. В этом примере, кэш выставляет CLEAN на такте 5. Как только кэш выставляет CLEAN, он готово к доступу к следующему адресу, обеспеченному на шине. Следовательно, кэш должен ждать, пока он будет готов, перед выставлением SDONE.

Если SBO# был выставлен на такте 5, доступ закончился попаданием на изменяемую линию и будет записан обратно. Кэш может обрабатывать команды Memory Write и Invalidate подобно любой другой команде и, следуя условию HITM, появиться на шине. (Обратная запись вызывает транзакцию дополнительного пространства на шине, которая не требуется.) Кэш мог бы ждать фиксированное число тактов для выставления TRDY# перед индикацией результата доступа. Если TRDY# выставлен перед результатом, рекомендуется, чтобы кэш отбросил линию и выставил CLEAN. Если TRDY# не выставлен, кэш продолжает обеспечивать результат доступа. Однако, время ожидания TRDY# должно быть фиксировано, потому что контроллер памяти может всегда ждать выставления SDONE перед продолжением транзакции.

–  –  –

Рисунок 3-26: Передача данных в измененную строку после обратной записи В рисунке 3-26 начальная транзакция начинается в такте 2 и завершается в такте 3. В то время как отслеживание первой транзакции находится в прогрессе, начинается следующая транзакция в такте 5. Вторая транзакция также короткая и завершается в такте 6. Вторая транзакция кэшируема, и она завершается, пока еще идет первая транзакция. В такте 7 завершается первая транзакция. Если был активен сигнал FRAME#, и идет процесс, то состояние SDONE и SBO# имеет значение только для первого адреса, пока SDONE не станет активным. Если SDONE был активным, то в следующий раз, когда он вновь станет активным, это будет означать вторую транзакцию. Если в вышеупомянутой диаграмме SDONE активен в такте 5 вместо такта 7, то результат такого отслеживания не имеет никакого эффекта на вторую транзакцию, даже если это происходит во время второй транзакции.

3.8.4. Поддержка кэша сквозной записи Поддержка кэша сквозной записи - такая же, как и у кэша обратной записи, за исключением сигнала SBO#, который в этом случае не используется. Контроллер памяти контролирует шину, а также «смотрит», сколько на ней имеется ожидающих обработки адресов. Максимум может ожидаться два адреса. Каждый раз когда активен SDONE, контроллер памяти может разрешить завершение другой кэшируемой транзакции.

В режиме сквозной записи поддерживаются только переходы с промежуточными состояниями:

STANDBY-CLEAN-[CLEAN]-STANDBY Если SBO# не используется в режиме сквозной записи, он может быть установлен в высокий уровень проектировщиком системы. Следовательно, между состояниями STANDBY и CLEAN могут быть только переходы, имеющие промежуточные состояниями. Если кэш является мастером второй транзакции, то он это может продолжать сигнализировать CLEAN (это показано как необязательное состояние), когда идет транзакция строки кэша методом обратной записи или известно состояние CLEAN; в противном случае, будет переход к состоянию STANDBY. Рекомендуется, чтобы кэшируемые целевые устройства предусматривали использование как SDONE, так и SBO#.

Реализация 2.0

Для каждого сигнала FRAME#, который установлен на шине, кэш установит SDONE при появлении адреса.

Если два установления сигнала FRAME# происходят без установки SDONE, то вторая кэшируемая транзакция не может завершиться. Если второй запрос кэшируется, то контроллер памяти должен вставить состояния ожидания, пока предыдущий опрос не завершается (активный сигнал SDONE). Если второй запрос некэшируемый, запрос завершается, и кэш не будет обращаться по адресу. В этом смысле, обработки ожидает только один адрес.

3.8.5. Замечания по арбитражу Арбитр требуется, чтобы осуществить некоторый вид алгоритма «равнодоступности», когда сигнал HITM проходит на шине, в противном случае может происходить длительная блокировка. Длительная блокировка происходит, когда кэш, который имеет изменяемую строку, неспособен выполнить обратную запись, потому что два высокоприоритетных агента обращаются к памяти кэшируемого. Когда HTTM появляется на шине, все транзакции кэшируемого завершаются с повтором.

Рекомендуется, чтобы арбитр, когда кэш присутствует в системе, мог выбирать, чтобы соединить REQ# с фиксированным входом, так что приоритетный уровень может быть поднят, когда HITM появляется на шине.

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

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

Эта величина зависит от алгоритма арбитража и того, когда на шине может появиться запрос на обратную запись.

3.9. Расширение шины до 64 разрядов PCI поддерживает 64-разрядные линии данных, чтобы обеспечить дополнительную ширину пропускания для агентов, которым это необходимо. 64-разрядные устройства нуждаются в дополнительных 39 выводах:

REQ64#, ACK64#[63::32], C/BE[7::4], и PAR64. Эти сигналы определены в разделе 2.2.8. В конце сброса, REQ64# сообщает 64 -разрядному устройству, что оно либо соединено с 64 - разрядными линиями данных, либо нет. Когда REQ64# - неактивный, в конце сброса, то устройство соединено с 64-разрядными линиями данных. Когда REQ64# активен, в конце сброса, то устройство соединено с 64-разрядными линиями данных.

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

В течение 64-разрядной транзакции, весь протокол PCI и синхронизация остаются прежними. К 64разрядным пересылкам данных чувствительными являются только команды по работе с памятью. Команды Interrupt Acknowledge и Special Cycle16 - это обычные 32-разрядные команды и не должны использоваться с REQ64#. Требования команд конфигурации к ширине диапазона ввода - вывода не могут сгладить излишнюю сложность, а, следовательно, 64-разрядные пересылки данных поддерживают только команды работы с памятью.

Так как никакой агент не запрашивает доступ путем установки DEVSEL#, то, следовательно, он не может отвечать установкой ACK64#.

Реализация 2.0 Все команды памяти и передачи шины те же самые, перемещены ли данные 32 или 64 бита одновременно.

64-разрядные агенты могут передать от одного до восьми байтов на фазе данных, и все комбинации разрешающего байта допустимы. Как в 32-разрядном режиме, разрешающий байт может изменяться на каждой фазе данных. Мастер, инициализирующий 64-разрядная транзакцию данных должен использовать двойной (DWORD - 4 слова или 8 байтов) адрес (AD2 должен быть "0" в течение фазы адреса).

64-разрядная четность работает, также как 32-разрядная четность, за исключением одного дополнительного сигнала четности. PAR64 покрывает AD[63::32] и C/BE[7::4] и имеет ту же самую синхронизацию и функцию как PAR. PAR64 должен иметь силу один такт после фазы адреса на любой транзакции, в которой выставлен REQ64#. Число "1" на AD[63::32]. C/BE [7:: 4]#, и PAR64 равняется четному числу.

Однако PAR64 должен быть дополнительно квалифицирован с REQ64# и ACK64# для фаз данных. PAR64 требуется для 64-разрядных фаз данных; это опция не для 64-разрядного агента.

В следующих двух рисунках 64-разрядный мастер запрашивает 64-разрядную транзакцию. Первая - чтение, где адресат отвечает с ACK64#. Вторая - запись, где адресат не отвечает и по умолчанию транзакция 32разрядная. Эти два рисунка идентичны рисункам 3-1 и 3-2 за исключением того, что были добавлены 64разрядные сигналы, и чтение передает вдвое больше данных. Те же самые транзакции используются для иллюстрации, тот же самый протокол работает для 32 и 64-разрядных транзакций.

AD[63::32] зарезервированы в течение фазы адреса, но содержат данные в течение 64-разрядных фаз данных. C/BE [7::4]# зарезервированы в течение фазы адреса, но содержат разрешающий байт для старших четырех байтов в течение фаз данных.

Рисунок 3-27 иллюстрирует запрос 64-разрядной транзакции чтения мастером, выставляя REQ64# (который точно отражает FRAME#). Адресат подтверждает запрос выставлением ACK64# (который отражает DEVSEL#). 64-разрядные сигналы требуют тех же самых оборотных циклов, требуемых их 32разрядными дубликатами.

–  –  –

Рисунок 3-28 иллюстрирует запрос 64-разрядной передачи мастером. Адресат не трогает REQ64# и ACK64#, сохраняемые в выключенном состоянии. Можно понять, что это - 32-разрядная передача. Мастер преобразовывает транзакцию от 64 до 32 битов. Так как мастер преобразовывает 64-разрядные передачи данных в 32-разрядные передачи данных, там может быть или не быть выставленным любой разрешающий байт в течение любой фазы транзакции. Следовательно, все 32-разрядные адресаты должны быть способны обработать фазы данных без разрешающего байта. Адресат не должен использовать разъединение или повторение, потому что сталкивается с фазой данных, где не имеется никакого разрешающего байта, но надо выставить TRDY# и завершить фазу данных.

Мастер снова посылает данные, которые появились на AD[63::

32] в течение первой фазы данных и на AD[31:00] в течение второй. Последующие фазы данных появляются подобно 32-разрядной передаче. (Если удалить 64-разрядные сигналы, то рисунки 3-28 и 3-2 будут похожи).

–  –  –

Использование одиночной фазы данных с 64-разрядными передачами не может быть очень эффективно. Так как мастер не знает, как цикл будет решен до возвращения DEVSEL#, он не знает цикл, на котором надо выключать FRAME#. IRDY# должен остаться выключенным до решения сигнала FRAME#, что означает две фазы 32-разрядной передачи - по крайней мере, с такой скоростью как одна фаза 64-разрядной передачи.

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

3.9.1. 64-разрядная адресация на PCI PCI поддерживает адресацию более 4 GB, определяя механизм для передачи 64-разрядного адреса от мастера транзакции адресату. Мастер может генерировать 64-разрядный адрес независимо от того, поддерживает он или нет 32 или 64-разрядных линии данных. Не требуется никаких дополнительных сигналов для поддержки 64-разрядной адресации. Если и мастер и адресат поддерживают 64-разрядные линии данных, то весь 64-разрядный адрес можно обеспечивать в одном такте. Адресаты, которые поддерживают только 32-разрядные адреса, будут работать с мастерами, которые могут генерировать 64разрядные адреса, а те отображаются в младшие четыре гигабайта адресного пространства.

Реализация 2.0 Стандартная транзакция PCI поддерживает Цикл Одиночного Адреса (SAC), где адрес имеет силу для одиночных тактов, когда FRAME# является первым выставленным сигналом. Чтобы поддерживать передачу 64-разрядного адреса без того, чтобы требовать 64-разрядный путь данных, используется Цикл Двойного Адреса (DAC). DAC использует два такта, чтобы передать весь 64-разрядный адрес. Мастера, которые используют продвижение адреса, не могут выполнять 64-разрядную адресацию, пока нет механизма для задержки или продления второй фазы адреса.

Рисунок 3-29 иллюстрирует DAC. В базисной транзакции чтения, оборотный цикл следует за фазой адреса.

В DAC дополнительная фаза адреса вставлена между стандартной фазой адреса и оборотным циклом. В диаграмме первые и вторые фазы адреса происходят на тактах 2 и 3 соответственно. Оборотный цикл между адресом и фазами данных отсрочен до такта 4. Обратите внимание, что FRAME# должен быть выставлен в течение обеих фаз адреса. Чтобы твердо придерживаться связи FRAME# - IRDY#, FRAME# не может быть выключен, пока не выставлен IRDY#. IRDY# не может быть выставлен, пока мастер не обеспечивает данные для транзакции записи или готов принять данные транзакции чтения. DAC декодируется потенциальным адресатом, когда "1101" присутствует на C/BE [3:: 0]# в течение первой фазы адреса. Если адресат поддерживает 64-разрядную адресацию, он сохраняет адрес, который был перемещен на AD[31:: 00] и защелкивает остальную часть адреса на следующих тактах. Фактическая команда, используемая для транзакции, перемещается в течение второй фазы адреса на C/BE [3:: 0]#. Как только весь адрес перемещен, и команду заперта, адресат определяет, должен ли DEVSEL# быть выставлен. Адресат может делать быстро, средне или медленно декодировку, которая отстает на один такт от декодирования SAC. Не имеется никакой проблемы с этим, так как мост, выполняющий декодировку, игнорирует всю транзакцию, если он не поддерживает 64-разрядную адресацию. Если мост поддерживает 64-разрядную адресацию, он задержит выставленным DEVSEL# на один такт. Мастер (DAC) также задержит завершение транзакции аварийным прекращением работы на один дополнительный такт.

–  –  –

Теневая область в рисунке используется только, когда мастер доступа поддерживает 64-разрядный путь данных. Мастер управляет всем адресом (младшая часть адреса на AD[3l::00] и старшая часть адреса на AD[63::32]) и обеими командами (DAC "110l" на C/BE[3::0]# и действующей командой на C/BE[7::4]#) в течение начальной фазы адреса. На второй фазе адреса мастер управляет старшим адресом на AD[3l::00] (и AD[63::32]) в то время как команда управляется на C/BE [3::0]# (и C/BE[7::4]#). Мастер не может определять, поддерживает ли адресат 64-разрядный путь данных, пока весь адрес не был перемещен и, следовательно, должен принять 32-разрядного адресата при обеспечении адреса.

Если и мастер и адресат имеют 64-разрядные пути данных, то 64-разрядная адресация не использует никакое время ожидания при определении DEVSEL#. Если адресат вставляет состояние ожидания из-за того, что доступ задержан, то дополнительная фаза адреса не имеет никакого значения. Если или мастер, или адресат не поддерживают 64-разрядный путь данных, придется сталкиваться с одним дополнительным тактом задержки.

Мастер, который поддерживает 64-разрядную адресацию, должен генерировать SAC, вместо DAC, когда старшие 32 бита адреса нулевые. Это позволяет мастерам, которые могут генерировать 64-разрядные адреса для связи с 32-разрядными адресатами через SAC.

–  –  –

Тип адресации (SAC или DAC) определяется размером адреса (больше, чем 4 GB), а не возможностями адресата.

Мастер, который поддерживает только 32-разрядную адресацию, может связываться с 64-разрядным адресатом двумя способами: 64-разрядный адресат может действовать подобно 32-разрядному адресату, или мастер может поддерживать 64-разрядную адресацию через DAC (другой вариант - мастер поддерживает только 32-разрядную адресацию, и драйвер устройства перемещает данные от 32-разрядного адресного пространства до 64-разрядного адресного пространства).

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

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

• Доступ к PCI транзакциям Любая транзакция, сгенерированная агентом на PCI может быть доступна любому другому агенту. В общем, агент не может управлять любым PCI сигналом, но должен быть способен функционировать независимо от поведения текущего мастера или адресата Реализация 2.0.

–  –  –

Эта глава определяет все электрические характеристики и ограничения PCI - компонентов. Глава также описывает систему и платы расширения, включая назначение контактов на плате расширения. PCI обеспечивает возможность передачи как сигналов амплитудой 5В, так и сигналов амплитудой 3.3В. Не путайте это с 5-вольтовой и 3.3-вольтовой технологиями изготовления компонентов. 5-вольтовый компонент может быть разработан, чтобы работать в среде передачи сигналов 3.3В и наоборот;

технологии компонентов могут использовать различные по напряжению величины сигналов для передачи. Среды передачи сигналов не могут быть смешаны; все компоненты на данной PCI - шине должны использовать одно и то же соглашение передачи сигналов 5В или 3.3В.

4.1.1. Схема перехода от питания 5В к питанию 3.3В.

Основная цель электрической спецификации PCI состоит в том, чтобы обеспечить быстрый и простой переход от 5-вольтового компонента до компонента рассчитанного на напряжение 3.3В. Чтобы облегчить этот переход, PCI определяет два контакта платы расширения - один для 5-вольтовой среды передачи сигналов и один для среды передачи сигналов 3.3В и три типа плат, как показано на рисунке 4-l. Разъём имеет ключ, чтобы избежать установление платы в несоответствующий слот.

–  –  –

Материнская плата (включая контакты) определяет среду передачи сигналов для шины, 5В или 3.3В. 5вольтовая плата разработана, чтобы работать только в 5-вольтовой среде передачи сигналов и, следовательно, может быть подключена только в 5-вольтовый разъём. Аналогично плата на 3.3В разработана, чтобы работать только в среде передачи сигналов 3.3В. Однако, универсальная плата способна обнаруживать среды передачи сигналов в использовании, и адаптироваться к этой среде. Она может, следовательно, быть подключенной в любой тип разъёма. Все три типа плат определяют соединения с 5-и и 3-хвольтовыми источниками питания и могут содержать любой 5-и или 3-хвольтовый компонент. Различие между типами плат - протокол передачи сигналов который они используют и шины питания, которые они используют для соединения со своими компонентами.

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

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

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

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

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

Переход между этими реализациями - прежде всего универсальная плата имеющая как 5-вольтовые, так и 3-вольтовые разъёмы. Важный шаг этого перехода - возможность быстро перейти от 5-вольтовой плате к универсальной плате. Если допустимая масса 5-вольтовой технологии способна к охвату как систем 5В так и систем 3.3В,то это не будет препятствовать переходу к 3.3В

–  –  –

4.1.2 Спецификации динамических и статических характеристик PCI - Шина имеет две электрические характеристики, которые мотивируют различный подход к определению характеристик буфера ввода - вывода. Первая: PCI - шина - это CMOS-шина, что означает, что устойчивые токи состояния (после переходных процессов) очень минимальны. Фактически, большая часть тока тратится на нагрузочных резисторах. Вторая: PCI основана на отраженной волне вместо случайной волновой передачи сигналов. Это означает, что драйверы шины обеспечивают включение шины наполовину требуемого высокого или низкого уровня. Электрическая волна распространяется по шине, отражается от незавершенного конца и идёт обратно к точке её происхождения, в связи с этим достигается удвоение начального напряжения, чтобы достигнуть требуемого уровня напряжения.

Драйвер шины фактически находится в середине диапазона переключения в течение этого времени распространения, которое продолжается до 10 нс (одна треть цикла шины при 33 МГц).

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

Реализация 2.0

4.2. Спецификация компонентов Этот раздел определяет электрические и временные параметры синхронизации для компонентов PCI.

Описываются как сигналы 5-вольтовой среды передачи сигналов, так и 3-вольтовой. 5-вольтовая среда основана на абсолютных напряжениях переключения, чтобы быть совместимой с переключающими уровнями ТТЛ. Среда 3.3В, с другой стороны, основана на напряжениях переключения относительно Vcc, и это достигается с помощью КМОП. Цель электрической спецификации - соединение компонентов вместе непосредственно на планарной плате или плате расширения, без каких-либо внешних буферов или чего-либо подобного.

Назначение такой спецификации - функционирование компонентов внутри "коммерческого" диапазона параметров среды. Однако, это не препятствует наличию других действующих сред.

Буферы вывода PCI определяются в условиях их вольт-амперных характеристик. Ограничения приемлемых вольт-амперных характеристик обеспечивают максимальное полное выходное сопротивление, которое может достигать приемлемого первого порогового напряжения в типичных конфигурациях, также они обеспечивают минимальное полное выходное сопротивление, которое обеспечивает параметры отраженной волны внутри приемлемых пределов. Входы и выходы буфера имеют различные ВАХ, которые обеспечиваются параметрической спецификацией. Эффективная буферная производительность прежде всего определяется постоянной составляющей тока, которая определяет приемлемое первое пороговое напряжение, как сверху, так и снизу вместе с требуемыми токами, чтобы достигнуть этого напряжения в типичных конфигурациях. Переменная составляющая определяет устойчивые условия состояния, которые должны удерживаться, но в среде КМОП они являются минимальными, и не индицируют реальную эффективность вывода. Теневые области на ВАХ, показанных в Рисунке 4-3 определяют допустимый диапазон для характеристик вывода.

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

–  –  –

ПРИМЕЧАНИЯ:

1. Входные токи утечки включают выходную утечку для всех двунаправленных буферов с тристабильными выходами.

2. Сигналы без нагрузочных резисторов должны иметь выходной ток низкого уровня = 3 mA. Сигналы с нагрузочными резисторами должны иметь этот ток = 6 mA. К числу последних относятся: FRAME#, TRDY#, IRDY#, DEVSEL#, STOP#, SERR#, PERR# и когда используются: LOCK#, AD[63::32], C/BE [7::4]#, PAR64, REQ64# и ACK64#.

3. Абсолютная максимальная емкость контакта для входа PCI равна 10pF (кроме CLK) за исключением устройств на материнской плате, у которых этот параметр может быть до 16 pF, в порядке установленном PGA-упаковкой. Это означает, что компонент для плат расширения должен будет использовать вариант для керамической PGA-упаковки (то есть PQFP, SGA, и т.д.).

4. Пониженная ёмкость на этом входном выводе позволяет устанавливать нерезистивную связь с AD[xx].

5. Это рекомендация, а не абсолютное требование. Фактическое значение нужно обеспечить в соответствии с инструкцией к компоненту.

Контакты, используемые для расширенного доступа к данным, AD[63::32], C/BE[7::4]# и PAR64, требуют или нагрузочных резисторов или входных буферов, потому что они не используются в транзакциях с 32-битными устройствами, и могут, следовательно, переместиться к пороговому уровню, вызывая колебания или высокую потерю мощности через входной буфер.

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

–  –  –

ПРИМЕЧАНИЯ:

1. Обратите внимание на ВАХ на рисунке 4-3. Характеристике переключающего тока для REQ# и GNT# разрешается быть одной половиной из той, что определена здесь; то есть, половина драйверов вывода может использоваться для этих сигналов. Эта спецификация не относится к CLK и RST#, которые являются системными выводами. Спецификация "переключающего тока высокого уровня" не относится к SERR#, который является открытым выходом.

2. Обратите внимание, что сегмент минимальной кривой тока выведен из точки AC(переменный ток) непосредственно к точке DC(постоянный ток) а не к шине напряжения (как это выполнено в спускающейся кривой).

3. Максимальные требования к току должны быть соблюдены, поскольку драйверы обеспечивают напряжение выше первого порогового напряжения (точка AC ). Уравнения, определяющие эти максимумы (для А и B) определяются соответствующими диаграммами на Рисунке 4-3. Максимумы должны обеспечиваться в соответствии с проектом и этими уравнениями. Чтобы облегчить тестирование компонента, максимальная тестовая точка тока определяется для каждой стороны драйвера вывода.

4. Минимальная скорость нарастания/спада (самый длинный край сигнала) должна обеспечиваться всеми PCI-устройствами.

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

Реализация 2.0

Уравнение A: Уравнение B:

Ioh = 11.9 * (Vout - 5.25) * (Vout + 2.45) Iol = 78.5 *Vout* (4.4 - Vout) Для Vcc Vout 3.1v Для 0v Vout 0.71v Рисунок 4-3: ВАХ для 5-вольтовой сигнальной среды.

Требуется, чтобы входы были "посажены" на землю. Контакты на 5-вольтовой шине необязательны, но может быть необходимо защитить 3-вольтовые устройства ввода данных(см. "Максимальные значения переменного тока" ниже). Контакты на шине 3.3V никогда не должны использоваться в 5-вольтовой среде передачи сигналов. Когда используются сдвоенные шины питания, могут быть установлены диодные связи между линиями. Эти диоды могут стать проводящими, если одна из шин питания выходит на мгновение из допустимых параметров. Диоды присоединяются к шине питания также как устройства нагрузки, они должны быть способны противостоять короткому замыканию пока драйверы могут находиться в 3-м состоянии. См. раздел 4.3.2. для подробной информации.

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

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

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

–  –  –

Этот тест покрывает только эксплуатационные режимы переменного тока; условия постоянного тока определены в другом месте.

Рисунок 4-4: Форма тестового сигнала для 5-вольтовой среды передачи сигналов

–  –  –

ПРИМЕЧАНИЯ:

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

2. Входные токи утечки включают выходные для всех двунаправленных буферов с выводами с тремя состояниями.

3. Абсолютная максимальная емкость входного контакта PCI=10 pF (кроме CLK) за исключением устройств на материнским плате, для которых она может быть до 16 pF, согласно стандартам PGA-упаковки. Фактически это означает, что компонент для плат расширения должен использовать варианты для керамической PGA- упаковки: то есть, PQFP, SGA и т.д.

4. Более низкая емкость только на этом входе позволяет нерезистивную связь с AD[xx].

5. Это - рекомендация, не абсолютные требования. Фактическое значение нужно обеспечить в соответствии с инструкцией компонента.

Контакты, используемые для расширенной шины данных, AD[63::32], C / BE [7::4]# и PAR64, требуют или нагрузочных резисторов или входных буферов, потому что они не используются в транзакциях с 32разрядными устройствами, и могут следовательно "плавать" к пороговому уровню, вызывая колебания или высокое падение напряжения через входной буфер. Функция этого нагрузочного резистора или буфера должна быть частью центрального ресурса материнской платы (не платы расширения) чтобы гарантировать непротиворечивое решение и избегать перегрузки нагрузочного резистора.

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

Реализация 2.0

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

–  –  –

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

4.2.2.3. Максимальные значения переменного тока и защита устройств См. раздел "Максимальные значения переменного тока " в 5-вольтовой среде передачи сигналов. Все входы, двунаправленные выводы, и выводы с тремя состояниями, используемые на каждом PCIустройстве должны быть способны к внезапному испытанию следующим тестом. Тест проводится с эквивалентом источника напряжения с нулевым полным сопротивлением и присоединением нагрузочного резистора непосредственно на каждый вход или три-стабильный выход PCI-устройства.

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

–  –  –

Рисунок 4-6: Форма тестового сигнала для 3.3-вольтовой среды передачи сигналов 4.2.3. Спецификация синхронизации 4.2.3.1. Спецификация CLK Форма сигнала CLK должна быть определена для каждого PCI-компонента в системе. В случае плат расширения, соглашение о спецификации CLK измеряется в компоненте платы расширения, а не в слоте соединителя. Рисунок 4-7 показывает форму сигнала CLK и требуемые точки измерения как для 5вольтовой среды передачи сигналов, так и для 3.3-вольтовой. Таблица 4-5 подводит итог спецификации CLK.

–  –  –

ПРИМЕЧАНИЯ:

1. Вообще, все PCI-компоненты должны работать при любой тактовой частоте между постоянным током и 33 MHz. Параметры устройства при частотах до 16 MHz можно гарантировать в соответствии с проектом даже не проверяя. Тактовая частота может быть изменена в любое время в течение работы системы, поскольку фронт синхроимпульса остается "чистым"(без колебаний) а минимальный цикл и времена высокого и низкого уровней не нарушаются. CLK может быть остановлен только в состоянии нижнего уровня. Разница на этот счёт позволяется для компонентов, которые могут функционировать при любой фиксированной частоте до 33 MHz, и могут предписывать стратегию неизменной частоты.

2. Времена нарастания/спада определены в терминах параметров фронта/спада, измеряемого в V/ns. Этот параметр должен быть обеспечен поперек минимальной части двойной амплитуды формы сигнала CLK как показано на рисунке 4-7.

–  –  –

4.2.3.2. Параметры синхронизации Таблица 4-6 определяет параметры синхронизации как для 5-вольтовой, так и для 3-вольтовой среды передачи сигналов.

–  –  –

4.2.3.3. Измерение и условия теста Рисунки 4-8 и 4-9 определяют условия, при которых установлены параметры синхронизации. Тест компонента гарантирует, что параметры синхронизации удовлетворяют требованию минимального времени нарастания/спада(самый длинный край сигнала) и колебаниям напряжения. Проект должен гарантировать, что при минимальной тактовой частоте обеспечиваются характеристики самого короткого края сигнала и колебания напряжения. Кроме того, проект должен гарантировать правильность входных операций по части колебаний входного напряжения и параметров нарастания/спада сигналов, которые не удовлетворяют определенным условиям теста.

–  –  –

Рисунок 4-8: Условия измерения сигналов на выходах относительно синхронизации Рисунок 4-9: Условия измерения сигналов на входах относительно синхронизации

–  –  –

ПРИМЕЧАНИЕ:

Входной тест для 5-вольтовой среды выполняется при 400-милливольтовой перегрузке (выше Vh и Vl); тест для среды 3.3V выполняется при 0.125Vcc-милливольтовой перегрузке. Параметры синхронизации должны быть выполнены без большей перегрузки чем эта. Vmax определяет максимальную амплитуду сигнала, позволенную для тестирования входной синхронизации.

Реализация 2.0

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

1. Емкость для каждого из контактов.

2. Индуктивность для каждого из контактов

3. Выходные ВАХ при условиях переключения. Две ВАХ должны быть представлены для каждого используемого типа выхода: одна для описания высокого уровня, другая для описания низкого уровня.

Обе должны показать, наилучшие, типичные и наихудшие характеристики. Также, при критическом напряжении питания, диапазон напряжения должен охватывать от -5 до l0V для 5-вольтовой среды передачи сигналов и от -3 до 7V для передачи сигналов 3.3V.

4. Входные ВАХ при условиях переключения. ВАХ входной структуры, когда вывод тристабилен также важна. Этот график должен также показать наихудшие, типичные и наилучшие ВАХ при диапазоне от 0 до Vcc.

5. Времена нарастания / спада для каждого типа выхода.

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

4.2.5. Рекомендации по расположению контактов.

Этот раздел описывает рекомендуемый тип расположения контактов для PCI- компонента. Так как размеры платы расширения ограничены, то проблемы размещения значительно минимизируются если вывод компонента совпадает точно с контактом на плате. Компонент для использования только на материнских платах должен также следовать требованию наличия одного и того же сигнала на соответствующих контактах. Рисунок 4-10 показывает рекомендуемый тип расположения контактов PQFP PCI-компонента; обратите внимание, что имеется точное соответствие контактов на плате порядку следования сигналов (SDONE, и SBO# не показаны). Размещение и количество контактов питания зависит от типа устройства.

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

–  –  –

Рисунок 4-10: Расположение выводов для PQFP PCI-компонента Размещение ввода IDSEL близко насколько возможно к AD[31::16] позволяет нерезистивную2 связь IDSEL с соответствующей адресной линией с маленькой дополнительной нагрузкой. Обратите внимание, что этот контакт имеет меньшую ёмкость, чем та которая могла бы сдерживать её размещение в пакете.

4.3. Спецификация материнской платы

4.3.1. Перекос синхронизации Максимальный допустимый перекос синхронизации - 2ns. Эта спецификация применяется не только в одиночной пороговой отметке, но и во всех точках на фронте синхроимпульса, которые попадают в диапазон переключения, определенном в Таблице 4-8 и рисунке 4-11. Максимальный перекос измеряется между любыми двумя компонентами3, а не между контактами. Чтобы правильно оценить перекос синхронизации, проектировщик системы должен принять во внимание распределение синхронизации на плате расширения, которая определена в разделе 4.4.

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

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

Реализация 2.0

–  –  –

4.3.2. Сброс (RESET) Активизация и деактивизация сигнала сброса PCI (RST#) асинхронна относительно CLK. Фронт/спад сигнала RST# должны быть "чистыми". Спецификация PCI не препятствует реализации синхронного RST#, если это необходимо. Параметры синхронизации для сброса содержатся в Таблице 4-6, за исключением параметра Tfail. Этот параметр описывает реакцию системы на отказ одной или обеих шин питания. Если это происходит, диодные пути могли бы замкнуть накоротко активные входные буферы. Следовательно, RST# устанавливается при сбое питания чтобы привести буферы вывода в неопределённое состояние.

Минимальное значение Tfail :

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



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

«ANCHOR II Инструкция по эксплуатации ME64 • 111141 Москва, 1-й Проезд Перова поля д. 8, ЦНИИС. Тел. (495) 368-8740, факс (495) 306-3291 E-mail: info@uplighting.ru Сведения об утилизации Светильник не содержит драгоценных и токсичных мате...»

«ДОГОВОР на оказание услуг по обращению с твердыми коммунальными отходами г. Калуга "_" _ 20 г. Общество с ограниченной ответственностью "Калужский завод по производству альтернативного топлива" (ООО "КЗПАТ"), именуемое...»

«Кожамкулова Ж.Ж., Касымова А.К., СапиеваГ.Е. ЖОАРЫ ОУ ОРЫНДАРЫНДА МУЛЬТИМЕДИАЛЫ ТЕХНОЛОГИЯЛАРЫН ПАЙДАЛАНУ Тйіндеме Бл макалада ЖОО білім беруде мультимедиалы технологияларын пайдалануды негізгі мселелері арастырылан. Кілт сздер:мультимедиа, білім беру. Kozhamkulova Zh.Zh., Kassymova A.K., Sapiyeva G.E. USE OF MULTIMEDIA TECHNOLOGIES IN HIGHER EDUC...»

«ANDROID™ Краткое руководство пользователя Android Mobile Technology Platform 4.4, KitKat® Авторские права ©2013 Google Inc. Все права защищены. Издание 1.05. Google Android, Gmail, Google Карты, Chrome, Google Play, You-Tube, Google+ и другие товарные знаки являются собствен...»

«Спутниковая система мониторинга мобильных объектов "Voyager 2N ГЛОНАСС" Руководство пользователя Санкт-Петербург Спутниковая система мониторинга мобильных объектов "Voyager 2N ГЛОНАСС" 2 Оглавление 1 Описание прибора "Voyager 2N ГЛОНАСС" 1.1 Назначение 1.2 Мониторинг 1.3 Возможн...»

«Содержание От автора...................................................... 9 Эврика......................................................... 15 Как работать с тестом...............»

«Author: Кашуба Николай Алексеевич Я так думаю. Алкоголь ключ от комнаты кривых зеркал. Анекдот это реальность, доведенная до абсурда. Баловням судьбы следует помнить, что их судьба подобна плохим родителям: сначала балует, а потом наказывает. Бог сильно ошибался, считая, что Адам не пострадает, утр...»

«Impact Factor = 0.307 based on International Citation Report (ICR) SECTION 2. Applied mathematics. Mathematical modeling. Konstantin Anatolyevich Chuev Candidate of physical and mathematical Sciences, Assoc. prof., Gubkinsky branch of MSMU, Gubkin, Russia kot...»

«u i.r gh СТЕНД ДЛЯ ИЗМЕРЕНИЯ УГЛОВ УСТАНОВКИ КОЛЕС АВТОМОБИЛЕЙ r ("СХОД-РАЗВАЛ") co EXACT 70 cИнструкция по эксплуатации ac w. ww УСТАНОВКА Будьте предельно осторожны, распаковывая, собирая и устанавли...»

«Information from Japan 08 April, 2011 НАС НЕ СЛОМИТЬ !3 Масштабы катастрофы и предпринимаемые меры по восстановлению. МЫ ОБЯЗАТЕЛЬНО ВОССТАНОВИМ НАШУ СТРАНУ Прошёл уже практически месяц со дня землетрясения в восточной Японии. В этом номере мы хотели б...»

«Парадигма развития науки Методологическое обеспечение А.Е. Кононюк ИНФОРМАЦИОЛОГИЯ ОБЩАЯ ТЕОРИЯ ИНФОРМАЦИИ Книга 2 Киев "Освіта України " А.E. Кононюк Общая теория информации УДК 51 (075.8) ББК В161.я7 К65. Рецензент: Н.К. Печурин д-р техн. наук, проф. (Нацинальный авиационный университет). Кононюк А.Е....»

«УДК 615.89 ББК 53.59 С47 Светлицкая, А.Лучшие рецепты ясновидящей Ванги / А. Светлицкая. — М. : С47 РИПОЛ классик, 2010. — 64 с. — (Здоровье и красота). ISBN 978 5 7905 4197 1 Ванга, болгарская ясновидящая, благодаря своей уникальной способ ности стала известной во всем мире целительницей и прорицательницей. В самом ее име...»

«Сазонникова Надежда Александровна ЛАЗЕРНЫЕ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫЕ СИСТЕМЫ ДЛЯ ОЦЕНКИ СОСТОЯНИЯ ПОВЕРХНОСТЕЙ ЭЛЕМЕНТОВ КОНСТРУКЦИИ ЛЕТАТЕЛЬНЫХ АППАРАТОВ И ДВИГАТЕЛЕЙ Специальность 05.11.16 – Информационно-измерительные и управляющие системы (в...»

«ПРОТОКОЛ рабочего совещания проекта "ИУВР-Фергана" г. Ташкент 29 октября 2005 г. Присутствовали: Джалалов С., Духовный В.А., Соколов В.И., Абдуллаев И., Мирзаев Н.Н., Пинхасов М.А., Мухамеджанов Ш.Ш., Палванов Т.И., Алимджанов А., Саидов Р., Галустян А.Г., Турдыбаев Б. Профессор В.А.Духовный начал рабочее совещание с задачи № 1 на предстоящий з...»

«Руководство по установке и эксплуатации душевых кабин модели GUCI-856 Душевая кабина с компьютерным управлением Благодарим Вас за выбор и приобретение данной душевой кабины. Она оснащена рядом функций, позволяя принимать различные процедуры, как то: паровой сауны, массажа и душа. Кабина много...»

«УТВЕРЖДАЮ Директор УДПО "Автошкола Прогресс" Г. М. АТАЕВ КОНТРОЛЬНЫЕ ВОПРОСЫ по предмету "Основы законодательства в сфере дорожного движения" для проведения теоретического этапа промежуточной и итоговой аттестации обучающихся 1.Какого цвета должны быть з...»

«ЕЖЕКВАРТАЛЬНЫЙ ОТЧЕТ Открытого акционерного общества “Торговый дом ЦУМ” Код эмитента: 00181-A за: IV квартал 2004 г Место нахождения эмитента: 103779, г. Москва, ул. Петровка, д.2 Информация, содержащаяся в настоящем ежеквартальном отчете, подлежит раскрытию в соответствии с законодательством Россий...»

«РОССИЙСКАЯ АКАДЕМИЯ НАУК RUSSIAN ACADEMY OF SCIENCES ИНСТИТУТ ПРОБЛЕМ NUCLEAR SAFETY БЕЗОПАСНОГО РАЗВИТИЯ INSTITUTE АТОМНОЙ ЭНЕРГЕТИКИ Препринт ИБРАЭ № IBRAE-2011 -07 Preprint IBRAE-2011-07 Р.В. Арутюнян, Р.И. Бакин, Л.А. Большов, Д.В. Дзама, Д.А. Припачкин, В.Н. Семенов, О.С. Сороковикова, А.В. Фокин, С.Н....»

«1. Характеристика участка,,Черкассы – Прибой” НПП,,УЗН” Магистральный нефтепродуктопровод (МНПП) "Уфа-Западное направление" (УЗН) входит в состав Уфимского производственного отделения и предназначен для транспортирования светлых нефтепродуктов (автобен...»

«Анна Владимировна Голубева Антонина Лукинична Максимова Россия в космосе Серия "Библиотека Златоуста" http://www.litres.ru/pages/biblio_book/?art=9063586 А. Л. Максимова, А. В. Голубева. Россия в космосе: Златоуст; С...»

«Руководство по установке и эксплуатации душевых кабин модели GUCI-850\GUCI851\GUCI-852 Душевая кабина с компьютерным управлением Благодарим Вас за выбор и приобретение данной душевой к...»

«Беспокойный ум. Моя победа над биполярным расстройством Содержание Предисловие переводчика............................ 9 Предисловие: 15 лет спустя.......................»

«Высшее профессиональное образование БакалаВриат ГеолоГия и разведка месторождений полезных ископаемых Под редакцией профессора в. в. авдонина Допущено Учебно-методическим объединением по классическому...»

«Fans Воздух это жизнь. Вентиляторы для зданий и сооружений TROX TLT Fans Искусство управления воздухом Компания TROX как никто другой разбирается в искусстве управления воздухом. TROX является мировым лидером по разработке, производству и продажам систем и компонентов для вентиляции и кондиционирования воздуха...»

«рекламные кампании· pmc awards Рекламные Идеи № 2/2007 PMC Awards 2006: стимул для продвижения Promotional Marketing Council (PMC) — это Подготовили Дмитрий ВАРЧЕНКО, европейская организация, которая состоит из Илья МИРСКИЙ,...»

«УРОК 1 ЧТО ПОТРЕБУЕТСЯ НАЧИНАЮЩЕМУ ЭЛЕКТРОНЩИКУ инструменты, материалы, организация рабочего места 1. Паяльник Паяльник, разумеется, главный и самый необходимый инструмент радиолюбителя. По сути действия это очень простой инструмент – обычный электронагреватель: паяльник включается в розетку, и через некоторое время его жало разогреваетс...»

«Продукты информационного агентства INFOLine были по достоинству оценены ведущими европейскими компаниями. Агентство INFOLine было принято в единую ассоциацию консалтинговых и маркетинговых агентств мира ESOMAR. В соответствии с правилами ассоц...»

«В контакте со смертью Текст: Евгения Волкова, Наталья Лебедева Российская газета Федеральный выпуск №6977 (109) 104 МОГЛИ ЛИ СОЦСЕТИ ДОВЕСТИ РЕБЕНКА ДО САМОУБИЙСТВ разными неконструктивными способами....»








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

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