- •Определение интерфейса эвм и систем. Классификация интерфейсов по функциональному назначению, по топологии связей, принципу обмена информацией, режиму обмена информацией.
- •2.1.2. Сигналы, линии, шины (подмагистрали) интерфейса pci
- •Правила арбитража в pci. Назначение и механизм исключающего доступа в pci. Назначение и временная диаграмма транзакции специального цикла.
- •Регистры конфигурационного пространства типа 0. Временная диаграмма транзакции конфигурационного чтения. Поля адреса конфигурационной транзакции типа 0 и типа 1.
- •Функциональные уровни устройств интерфейса pci-xp.
- •Пакет транзакционного уровня и заголовки tlp пакета интерфейса pci-xp.
- •Пакеты и заголовки пакетов уровня передачи данных интерфейса pci-xp.
- •Пакеты физического уровня (командные наборы) интерфейса pci-xp.
- •Надежная передача пакетов транзакционного уровня tlp интерфейса pci-xp. Структурная схема, поясняющая работу протокола ack/nak интерфейса pci-xp.
- •Задачи физического уровня интерфейса pci-xp.
- •Кодирование 8bit/10bit в интерфейсе pci-xp.
- •Соглашения по конструкции устройств pci-xp.
2.1.2. Сигналы, линии, шины (подмагистрали) интерфейса pci
Магистраль интерфейса PCI содержит следующие шины (подмагистрали) и линии, по которым передаются одноименные сигналы (см. рис.2.1):
линии синхронизации;
линии управления;
совмещенную 32- или 64-разрядную шину (подмагистраль) адреса/данных;
линии прерываний;
линии арбитража;
линии ошибок;
линии управления КЭШ;
линии интерфейса JTAG (встроенного контроля);
линии дополнительных сигналов (11 линий);
линии питания и «земли» (+3,3; +5; 0; –12; +12 В).
Многомагистальная PCI-система.
Понятие транзакции в PCI и типы транзакций.
Обмен информацией - транзакционный.
Транзакция (Transaction) - групповая операция на шине, состоящая из фазы адреса, нескольких фаз
данных и циклов ожидания (рис.2.3).
Основные типы транзакций:
запись/чтение памяти;
запись/ чтение устройств ввода/вывода;
запись/чтение пространства конфигурации устройства.
Правила управления обменом информации в PCI (правила установки и сброса сигналов FRAME#, IRDY#, TRDY#). Правила выбора устройств в PCI (правила установки и сброса сигналов DEVSEL#. STOP#).
1)Интерфейс PCI находится в состоянии ожидания или свободен (IDLE), пока сигналы FRAME# и
IRDY# сброшены.
2)Первый такт после установления сигнала FRAME# является адресной фазой, в течение которой
передаются адрес и команда. Здесь и далее установлен означает, что сигнал принимает значение, соответствующее активному состоянию (низкому уровню).
3)Следующий такт является первым тактом первой фазы данных. В транзакции может быть несколько
фаз данных (вспомним пакетный режим обмена).
4) Обмен данными между устройством-инициатором и устройством-целью управляется сигналами:FRAME#, который устанавливается устройством-инициатором для индикации начала транзакции и сбрасывается устройством-инициатором для обозначения начала последней фазы обмена в данной
транзакции;
IRDY#, который изменяется устройством-инициатором для управления циклами ожидания;
TRDY#, который изменяется устройством-целью для управления циклами ожидания.
5). Данные передаются (происходит обмен данными между устройством-инициатором и устройством-
целью) на любом первом цикле после установления одновременно сигналов IRDY# и TRDY#.
6)Оба участника обмена могут вставлять в каждую фазу данных циклы ожидания посредством
сбрасывания сигналов IRDY# и (или) TRDY#.
7) Источник данных в фазе данных должен устанавливать сигнал готовности данных xRDY# только
после того, как данные для текущей фазы данных выставлены на линии A/D: сигнал IRDY# - при записи и сигнал TRDY# - при чтении.
8) Приемник данных в фазе данных может устанавливать сигнал готовности xRDY# на любом цикле текущей фазы данных по своему усмотрению.
9) Как только устройство-инициатор решает закончить транзакцию, оно перед выполнением
последней фазы данных сбрасывает сигнал FRAME#,
10). Ни одно устройство (ни устройство-инициатор, ни устройство-цель) не должно изменять
управляющие сигналы в фазе данных (сигналы IRDY# и TRDY# установлены) и не имеет права изменять
свои намерения в течение этой фазы данных.
11). Если устройство-инициатор установило сигнал IRDY#, то оно не должно изменять сигналы IRDY# и FRAME# вне зависимости от сигнала TRDY# до тех пор, пока текущая фаза данных не завершится.
12). Если устройство-цель установило сигнал TRDY# или сигнал STOP#, то оно не должно изменять
сигналы TRDY#, DEVSEL# и STOP# до тех пор, пока текущая фаза данных не завершится.
Правила выбора устройств в PCI (правила установки и сброса сигналов DEVSEL#, STOP#)
1. Одно из устройств-инициаторов, начиная транзакцию (сигнал FRAME# установлен именно этим
устройством), в цикле фазы адреса выставляет начальный адрес, по которому должен произойти обмен данными в первой фазе данных.
2. Все устройства-цели считывают и анализируют этот адрес. Одно из устройств-целей, дешифрируя адрес, выставляемый устройством-инициатором, определяет, что обращение происходит по адресу, принадлежащему адресному пространству данного устройства, и, учитывая свою готовность поддержать транзакцию, устанавливает сигнал DEVSEL# в течение первых трех тактов транзакции (рис.2.5).
3. Адрес для второй и последующих фаз данных вычисляется устройством-целью автоматически путем инкрементирования текущего адреса.
4. Устройство-мост PCI-PCI в многомагистральных PCI-системах всегда устанавливает сигнал DEVSEL# в течение четвертого такта транзакции (см. рис.2.5).
5. Если устройство-инициатор не обнаруживает установления сигнала DEVSEL# в течение первых
четырех тактов транзакции, оно завершает транзакцию по процедуре аварийного завершения.
6. Сигнал DEVSEL# должен быть установлен устройством-целью лишь после полной дешифрации
адреса.
7. Устройство-цель устанавливает сигналы TRDY#, STOP# и данные на линиях A/D (в случае чтения) лишь после установки сигнала DEVSEL# .
8. Во всех случаях, кроме одного, устройство-цель не должно сбрасывать сигнал DEVSEL# раньше, чем закончится последняя фаза данных транзакции, а именно, пока не будет сброшен сигнал TRDY# при выполнении последней фазы данных.
9. Исключительная ситуация - прерывание транзакции «сбоем устройства-цели». В этом случае сигнал DEVSEL# сбрасывается вместе с установкой сигнала STOP#.
Варианты завершения транзакций в PCI. Временные диаграммы: транзакции чтение памяти при нормальном завершении; транзакции записи в память при нормальном завершении; завершения транзакции при сбросе сигнала GNT#; завершения транзакции по сигналу тайм-аут устройства-инициатора.
Возможны следующие варианты завершения транзакции:
нормальное;
по инициативе устройства-инициатора;
по инициативе устройства-цели.
В свою очередь завершение транзакции по инициативе устройства-инициатора может выполняться:
по тайм-ауту устройства-инициатора;
по сбросу сигнала GNT# от арбитра;
отказом устройства-инициатора (initiator-abort).
Завершение транзакции по инициативе устройства-цели может выполняться:
требованием перезапуска транзакции;
отказом устройства-цели (target-abort);
требованием повтора транзакции (retry).
1. Нормальное завершение -перед последней фазой данных сбрасывается сигнал FRAME# и устанавливается сигнал IRDY# (рис.2.6 и 2.7).
FRAME# и установка сигнала IRDY# сигнализируеют ему, что начата последняя фаза данных.
2. по сбросу сигнала GNT# от арбитра.на следующем такте сигнала CLK устройством-инициатором сбрасывается сигнал FRAME#, но так, чтобы нормально сначала устанавливается сигнал IRDY#, а затем сбрасывается сигнал FRAME# (рис.2.8,а).
3. по тайм-аутуустройства-инициатора. На следующем такте сигнала CLK устройством-инициатором сбрасывается сигнал FRAME#, но так, чтобы
нормально закончить последнюю текущую фазу данных, т.е. сначала устанавливается сигнал IRDY#, а затем сбрасывается сигнал FRAME# (рис.2.8,б).
4. отказом устройства-инициатора (initiator-abort).транзакция
начинается, как обычно, установкой сигнала FRAME# , команды на линиях C/BE#, адреса на линиях AD и,возможно, сигнала IRDY#. Если ни одно из устройств-целей не отвечает сигналом на линии DEVSEL# в течение четырех тактов сигнала CLK, то на пятом такте сигнала CLK устройство-инициатор аварийно завершает начатую транзакцию, не выполняя ни одного обмена, сбрасывая сигнал FRAME# и, возможно, сигнал IRDY#
5. перезапуска транзакции. В этом случае устройство-цель устанавливает сигнал STOP#. В ответ устройство-инициатор сбрасывает сигнал FRAME#, но так, чтобы завершить последнюю фазу данных, т.е. сбрасывается сигнал FRAME# и устанавливается сигнал IRDY#. Далее все зависит от устройства-цели. Если сигнал TRDY#
установлен, то обмен происходит. Если сигнал TRDY# не установлен, то обмена на последней фазе данных не будет. Устройство-инициатор, если оно намеревается, должно произвести повторную попытку выполнить
транзакцию, завершенную по инициативе устройства-цели. Повторная транзакция должна начинаться с адреса незавершенной фазы данных (рис.2.10).
6. отказом устройства-цели (target-abort). В этом случае устройство-цель одновременно с установкой сигнала STOP# сбрасывает сигнал DEVSEL# и сигнал TRDY#. В ответ устройство-инициатор на следующем такте сигнала CLK сбрасывает сигнал FRAME# и сигнал IRDY# (рис.2.11,а).
7. требованием повтора транзакции (retry) В этом случае транзакция начинается, как обычно, установкой сигнала FRAME#, команды на линиях C/BE#, адреса на линиях AD и,
возможно, сигнала готовности IRDY#. Устройство-цель, не устанавливая сигнал TRDY#, в течение первых четырех тактов сигнала CLK устанавливает одновременно сигналы DEVSEL# и STOP# С
задержкой на один такт сигнала CLK устройство-инициатор сбрасывает сигналы FRAME# и IRDY#, после чего с задержкой на один такт сигнала CLK устройство-цель сбрасывает сигналы DEVSEL# и STOP#.
Временная диаграмма транзакции чтение памяти при нормальном завершении.
Временные диаграммы: завершения транзакции отказом устройства-инициатора; завершения транзакции требованием перезапуска транзакции; завершения транзакции отказом устройства-цели; завершения транзакции требованием повтора.
В случае завершения транзакции отказом устройства-инициатора транзакция начинается, как обычно, установкой сигнала FRAME# , команды на линиях C/BE#, адреса на линиях AD и возможно сигнала IRDY#. Если ни одно из устройств-целей не отвечает сигналом на линии DEVSEL# в течение четырех тактов сигнала CLK , то на пятом такте сигнала CLK устройство-инициатор аварийно завершает начатую транзакцию, не выполнив ни одного обмена, сбрасывая сигнал FRAME# и возможно сигнал IRDY#. Смотри рис. 2.1.8.
Завершение транзакции по инициативе устройства–цели, в частности, завершение транзакции требованием перезапуска транзакции.
В этом случае устройство–цель устанавливает сигнал STOP#, затем в ответ устройство–инициатор сбрасывает сигнал FRAME#, но так, чтобы завершить последнюю фазу передачи данных, т.е. сбрасывается сигнал FRAME# и устанавливается сигнал IRDY#. Далее все зависит от устройства–цели. Если сигнал TRDY# установлен, то обмен происходит. Если сигнал TRDY# не установлен, то обмена на последней фазе данных не будет. Устройство–инициатор, если оно намеривается, должно произвести повторную попытку доступа, завершенного по инициативе устройства–цели. Повторный доступ должен начинаться с адреса незавершенной фазы передачи данных. Смотри рис. 2.1.9.
перезапуска транзакции
Завершение транзакции по инициативе устройства–цели, в частности, - завершение транзакции отказом устройства-цели (target-abort). В этом случае устройство-цель одновременно с установкой сигнала STOP# сбрасывается сигнал DEVSEL# и сигнал TRDY#. В ответ устройство-инициатор на следующем такте сигнала CLK сбрасывает сигнал FRAME# и сигнал IRDY#.
Завершение транзакции по инициативе устройства–цели, в частности, завершение транзакции требованием повтора транзакции (retry).
Завершение транзакции требованием повтора используется устройством-целью, если оно не готово поддержать транзакцию в настоящий момент и требует повтора транзакции через некоторое время. В случае завершения транзакции требованием повтора транзакции последняя начинается, как обычно, установкой сигнала FRAME# , команды на линиях C/BE#, адреса на линиях AD и, возможно, сигнала IRDY#. Устройство-цель не устанавливая сигнал TRDY# устанавливает в течение первых четырех тактов сигнала CLK одновременно сигналы DEVSEL# и STOP#. С задержкой на один такт сигнала CLK устройство-инициатор сбрасывает сигналы FRAME# и IRDY#, после чего с задержкой на один такт сигнала CLK устройство-цель сбрасывает сигналы DEVSEL# и STOP#. Транзакция не выполняется, но устройство-цель, если оно поддерживает такой режим (например мост PCI-PCI) должно в своей внутренней буферной памяти сохранить всю информацию о начинаемой транзакции (тип команды, начальный адрес) с тем, что в последующем оно подготовит необходимые
данные для повторного выполнения этой транзакции в будущем.
Следует помнить, что несмотря на то, что завершение транзакции может инициироваться как устройством–инициатором, так и устройством–целью, устройство–инициатор всегда остается тем ведущим устройством, которое доводит транзакцию до завершения, соответствующего IDLE- состоянию (сигналы FRAME# и IRDY# сброшены)
Рис. 2.1.11. Завершение транзакции по инициативе устройства-цели