Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора ИПУ часть 2.doc
Скачиваний:
8
Добавлен:
29.08.2019
Размер:
3.7 Mб
Скачать
  1. Пакет транзакционного уровня и заголовки tlp пакета интерфейса pci-xp.

Два устройства PCI-XP на физическом уровне могут обмениваться тремя типами пакетов - это пакеты транзакционного уровня (TLP(PL)), пакеты уровня передачи данных (DLLP(PL)) и пакеты физического уровня (PLP) .

Транзакции берут начало в ядре передающего устройства и завершаются в ядре принимающего

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

1. Ядро, например устройства А, передает запрос на обслуживание аппаратно-программному

интерфейсу PCI-XP. Как именно это делается в cпецификации интерфейса PCI-XP не оговаривается и определяется особенностями конкретного устройства А. Основная информация, содержащаяся в запросе:

команда PCI-XP, которая должна быть выполнена;

начальный адрес или идентификатор ID-адресата (если используется адресная или ID-

маршрутизация);

тип транзакции (чтение или запись памяти, цикл конфигурации и т.д.);

полезная информация (если необходима пересылка информации);

класс виртуального канала (для потока данных);

атрибуты передачи.

2. Транзакционный уровень строит (собирает) пакет TLP, включающий заголовок TLP, полезную

информацию и контрольную последовательность ECRC

3. Когда пакет TLP получен уровнем передачи данных, последний формирует пакет TLP(DLL), при

этом для полученного пакета TLP рассчитывается контрольная последовательность LCRC и пакету TLP присваивается последовательностный номер . Сформированный таким образом пакет TLP(DLL) передается на физический уровень.

4. В принимающей части физического уровня к пакету TLP(DLL) присоединяются контрольные

символы STR (открывающий флаг) и END (закрывающий флаг), т.е. строится пакет TLP(PL)

Далее выполняются разделение пакета на байты (byte striping), скремблирование, кодирование и сериализация(преобразование параллельного кода в последовательный). Пакет бит за битом посылается в линию связи.

5. В принимающей части физического уровня устройства Б выполняются десериализация

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

6. На уровне передачи данных принимающей части устройства Б рассчитывается LCRC и сравнивается с принятым значением, а также проверяется последовательностный номер принятого пакета TLP(DLL) на нарушение очередности поступления пакетов. Если ошибок нет, пакет TLP пропускается на транзакционный

уровень принимающей части. Кроме того, на уровне передачи данных принимающая часть устройства В уведомляет передающую часть устройства А об успешном или неудачном завершении процесса передачи пакета TLP(DLL) с помощью служебных ACK- или NAK-пакетов DLLP. В случае NAK (пакет с ошибкой) передающая часть устройства А пошлет тот же пакет TLP(DLL) еще раз из своего буфера повторной передачи.

7. На транзакционном уровне информация декодируется и поступает в ядро принимающей части

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

протокола PCI-XP:

формат пакета полностью определен;

обрамляющие символы указывают на границы пакета;

применение CRC-контроля.

Пакеты транзакционного уровня состоят в общем случае из трех полей: заголовка, данных и ECRС-

последовательности

Заголовки TLP пакета В интерфейсе PCI-XP используются пять форматов заголовков для различных пакетов TLP, а именно:

формат 3DW заголовка запроса памяти и запроса устройства ввода/вывода, использующего

адресную маршрутизацию (табл.2.10);

формат 4DW заголовка запроса памяти, использующего адресную маршрутизацию (табл.2.11);

формат 3DW заголовка запроса конфигурации, использующего ID-маршрутизацию (табл.2.12);

формат 3DW заголовка запроса завершения, использующего

ID-маршрутизацию (табл.2.13);

формат 4DW заголовка запроса сообщения, использующегоID-маршрутизацию (табл.2.14).