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

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

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

Пакеты DLLP формируются на стороне передающей части, например, устройства А и уничтожаются на стороне принимающей части, например, устройства Б. Эти пакеты берут начало на уровне передачи данных и проходят на физический уровень. Перед тем как пакет DLLP будет послан, к нему добавляются обрамляющие символы STR и END, т.е. формируется пакет DLLP(PL)

Когда пакет DLLP посылается устройством-передатчиком А устройству-приемнику Б, применяются

следующие правила.

1. Все полученные приемным устройством пакеты DLLP(PL) проверяются. Проверка заключается в

поиске управляющих символов на физическом уровне, и CRC-проверке на уровне передачи данных приемника. Для этого 16-битовая CRC-последовательность рассчитывается устройством-передатчиком и посылается в пакете DLLP(PL). Устройство-приемник рассчитывает в свою очередь проверочную CRC- последовательность полученного пакета DLLP(PL) и сравнивает с принятым значением CRC- последовательности. Любой пакет DLLP(PL),

не прошедший проверку CRC, считается ошибочным и «отбрасывается».

2. При отсутствии ошибок определяется тип пакета DLLP, и пакет обрабатывается в соответствии со следующей логикой:

пакеты DLLP управления энергией обрабатываются аппаратно схемой управления энергией

устройства;

пакеты DLLP контроля прохождения пакетов TLP обрабатываются уровнем транзакций;

квитанционные пакеты DLLP ACK и NAK посылаются назад на уровень передачи данных

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

Пакет DLLP состоит из заголовка длиной одно DW и 16-битовой CRC-последовательности,

используемой для контроля содержимого заголовка DLLP (см. рис.2.30). Расчет CRC выполняется по содержимому четырех байтов 0 - 3 заголовка. Пакеты уровня передачи данных DLLP могут быть четырех

типов: типа ACK или NAK, типа управления энергией, типа контроля прохождения TLP и типа,

определяемого разработчиком (табл.2.15 - 2.18).

  1. Пакеты физического уровня (командные наборы) интерфейса pci-xp.

Для выполнения физическим уровнем таких функций, как настройка канала, коррекция

рассинхронизации, перевод линии в состояние электрического ожидания L0s, перевод линии в состояние L0, используются пакеты физического уровня PLP, называемые иначе командными наборами

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

Спецификация PCI-XP определяет пять типов пакетов физического уровня (командных наборов)

: настроечная последовательность 1 (TS1); настроечная последовательность 2 (TS2); SKIP;

быстрая настроечная последовательность (FTS); командный набор электрического ожидания (Electrical IDLE).

Командные наборы TS1 и TS2 используются во время настройки канала. Они передаются

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

Командный набор SKIP применяется, если канал передачи данных состоит из нескольких

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

Командный набор электрического ожидания (Electrical IDLE) применяется, когда передающее

устройство желает перевести канал в состояние электрического ожидания (состоянием L0s).

Командный набор FTS передается устройством, чтобы перевести канал из состояния L0s обратно в состояние L0. Приемник обнаруживает командный набор FTS и использует его, чтобы достичь битовой и символьной синхронизации и синхронизироваться по фазе с синхросигналом передатчика, используемым для передачи последовательного битового потока.

  1. Функция транзакционного уровня – управление поток данных в интерфейсе PCI-XP, управление качеством обслуживания интерфейса PCI-XP.

Протокол управления потоком данных (Flow Control). Транзакционный уровень, используя

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

Управление потоком данных автоматически осуществляется на аппаратном уровне интерфейса и

незаметно для программного обеспечения. Программное обеспечение интерфейса привлекается только для того, чтобы управлять подключением дополнительных VC-буферов сверх VC0-буфера. Буфер VC0 (один на каждое из четырех адресных пространств) включается автоматически после включения канала, позволяя таким образом TLP-трафику проходить через структуру сразу же после подключения устройств к каналу. В

частности, конфигурационные транзакции используют стандартные VC0-буферы и поэтому могут

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

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

управления потоком данных. Эта информация оповещает передающее устройство А относительно

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

Функция транзакционного уровня – управление качество обслуживания интерфейса PCI-XP.

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

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

пакетов TLP из разных VC-буферов в соответствии с приоритетами пакетов. У VC-буферов программно-

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

перераспределения транзакционных пакетов в TLP-трафике через набор VC-буферов называется VC- организацией.

Классы трафика (TC) и виртуальные каналы (VC). Каждому транзакционному пакету TLP в

соответствии с приоритетом системное программное обеспечение ядра устройства заранее (в процессе конфигурации) назначает определенный класс трафика (TC). Поле TC - это

поле заголовка пакета TLP (см. табл.2.10 - 2.14), не изменяемое от начала до конца транзакции. TC-поле - это трехбитное поле, которое предназначено для разделения трафика транзакционных пакетов на восемь классов (TC0 - TC7).

Для поддержки протокола обеспечения качества обслуживания каждое устройство интерфейса имеет набор передающих и принимающих виртуальных каналов (VC-буферов). Устройства PCI-XP могут использовать до 8 VC-буферов (VC0 - VC7). Каждое устройство должно обязательно поддерживать виртуальный канал VC0 для обеспечения класса трафика TC0. Другие дополнительные виртуальные каналы

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

Устройства и переключатели PCI-XP-системы используют TC/VC-логику отображения (рис.2.33). Этой цели служат устройства отображения TC/VC, с помощью которых пакет TLP с конкретным

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

устройства. Другими словами, программное обеспечение может оптимально назначить TC-ярлыки для пакетов TLP и сконфигурировать TC/VC-логику отображения, при которой достигаются требуемые характеристики качества обслуживания.

  1. Механизм обеспечения качества обслуживания при передаче пакетов от корневого устройства к устройству типа конечная точка интерфейса PCI-XP. Механизм обеспечения качества обслуживания переключателем интерфейса PCI-XP.

Механизм обеспечения качества обслуживания при передаче пакетов от корневого устройства к устройству типа «конечная точка. Устройство отображения TC/VC в передающем устройстве А заблаговременно сконфигурировано так, чтобы направить пакеты TLP с классами трафика TC[2:0] в буфер виртуального канала VC0, а пакеты TLP с классами трафика TC[7:3] - в буфер виртуального канала VC1. Устройство

отображения TC/VC в принимающем устройстве Б предварительно сконфигурировано идентично, т.е. одинаково пронумерованные VC-буферы включаются и в передающем устройстве А, и в принимающем устройстве Б.

Если устройству А нужно передать первый пакет TLP с

TC-ярлыком 7 и второй пакет TLP с TC-ярлыком 0, то первый пакет будет помещен в VC1-буфер и второй - в VC0-буфер соответственно. Логика организации доступа (на рис.2.33 это устройство арбитража) организует очередность доступа по единственному каналу между двумя

VC-буферами. Следует иметь в виду, что VC1-буфер конфигурируется с большим приоритетом, чем VC0- буфер. Таким образом, устройство А будет передавать пакет TLP с классом трафика TC7 через буфер передачи VC1 по единому физическому каналу раньше пакета TLP с классом трафика TC0, который пойдет через буфер передачи VC0. Когда пакет TLP прибудет в принимающую часть устройства Б, логика отображения TC/VC дешифрирует TC-ярлык в каждом пакете TLP и поместит TLP- пакеты в соответствующие буферы. В этом примере TLP-трафик с ярлыками TC[7:3] будет передаваться через структуру с большим приоритетом (VC1), чем TLP-трафик с ярлыками TC[2:0]. Внутри каждой TC-группы пакеты TLP будут передаваться с равным приоритетом.

Механизм обеспечения качества обслуживания переключателем интерфейса PCI-XP.

Портовая организация доступа и VC-организация доступа к каналу в структуре переключателя.

Переключатели используют два типа организации для каждого выходного порта: портовую организацию доступа и организацию доступа через виртуальные каналы VC.

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

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

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

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

После окончания работы портовой организации доступа начинает действовать организация доступа через виртуальные каналы VC. Для этого пакеты из всех виртуальных каналов передаются на один выходной порт. VC-организация обеспечивает очередность передачи пакетов TLP из различных VC-буферов

в единственный канал.