ИнтерфейсPCI-Express (PCI-XP, PCI-e).Основные характеристики (особенности)
1. С точки зрения функционального назначения интерфейс PCI-XP - системный интерфейс. 2. Интерфейс объединяет следующие типы устройств, рис.: - ядро или корневой комплекс (Rootcomplex );- переключатели (Switch);- конечные точки (Endpoint), последние подразделяются на традиционные конечные точки (Legancyendpoint) и PCI-XP конечные точки (PCI-XPendpoint ); - шлюзы (мосты) PCI-XP к PCI (PCI-XPBridgetoPCI), на рис. не показаны . И содержит в общем случае корневой комплекс, несколько переключателей, несколько конечных точек и соединительные кабели. . С точки зрения топологии связей интерфейс PCI-XP - древовидный интерфейс. 3. С точки зрения принципа обмена информацией интерфейс PCI-XP - интерфейс с последовательной передачей информации (бит за битом). 4. Скорость передачи информации в линии 2,5 Гбит/С. 5. Битовая скорость передачи информации в канале равна: - 0,5 Гбайт/с (2,5 Гбит/с х 2 = 5 Гбит/с = 0,5Гбайт/с) при использовании двух витых пар на канал (х1) - 1 Гбайт/с (2,5 Гбит/с х 4 = 10 Гбит/с = 1Гбайт/с) при использовании 4 витых пар на канал (х2) - 2 Гбайт/с (2,5 Гбит/с х 8 = 20 Гбит/с = 2Гбайт/с) при использовании 8 витых пар на канал (х4) - 4 Гбайт/с (2,5 Гбит/с х 16= 40 Гбит/с = 4Гбайт/с) при использовании 16 витых пар на канал (х8) - 6 Гбайт/с (2,5 Гбит/с х24 = 60Гбит/с = 6Гбайт/с) при использовании 24 витых пар на канал (х12) - 8 Гбайт/с (2,5 Гбит/с х32 = 80 Гбит/с = 8Гбайт/с) при использовании 32 витых пар на канал (х16) - 16 Гбайт/с (2,5 Гбит/с х64 = 160 Гбит/с = 16Гбайт/с) при использовании 64 витых пар на канал (х32) 6. В простейшем случае (х1) в канале две дифференциальные линии, каждая из которых предназначена для передачи в симплексном режиме (передаваемые данные Tx и принимаемые данные Rx) 7. Обмен транзакционный. Возможны непочтовые транзакции(с уведомлением, с возвратом данных) и почтовые транзакции (без уведомления, без возврата данных) 8. Типы транзакций: - запись/чтение памяти - запись/ чтение устройств ввода-вывода - запись/чтение пространства конфигурации - передача сообщений 9. Интерфейс поддерживает 32-х и 64-х разрядную адресацию. Разрядность передаваемых данных одно двойное слово 1DW(32) и два двойных слова 2DW(64). 10. Реализуются все транзакции обмена данными, свойственные PCI (См. пункт 8), и добавляется передача сообщений. 11. Обеспечивается совместимость программного обеспечения на уровне ядра PCI-XP с PCI . 12. Поддерживаются изохронные передачи информации (передачи информации в реальном масштабе времени). 13. Поддерживаются различные режимы качества обслуживания введением восьми классов трафика (8TC) и обеспечением восьми классов виртуальных каналов (8VC). 14. Защищенность адресных пространств, что обеспечивается отдельными адресными пространствами памяти ввода-вывода и конфигурации. 15. В интерфейсе PCI-XP используется протокол прерывания, сигнализируемый сообщением, что уменьшает задержку на обработку прерываний и устраняет необходимость в специальных линиях для сигналов прерывания. 16. В интерфейсе реализована идея разделения устройств на уровни (транзакционный уровень TL, уровень передачи данных DLL, физический уровень PL) 17. Поддерживается технология PlugandPlay. 18. Автоматический контроль потребляемой мощности с автоматическим переходом из режима высокого потребления в режим низкого потребления и наоборот. 19. Кодирование информации на физическом уровне 8b/10b. 20. Применение скремблированиядля решения проблем электромагнитной совместимости. 21. Обеспечивается гальваническая развязка между отдельными устройствами, связанными интерфейсом . 22. Длина линий связи в пределах канала до 0,75 м. Конструкция модуля PCI-XP совместима с конструкцией модуля PCI и PCI-X Вопрос 15 Транзакция в интерфейсе PCI-XP определяется как последовательность нескольких (в частном случае одного) пакетов информации между запросчиком и комплитором. В качестве запросчика может выступать и корневой комплекс, и конечная точка. В качестве комплитора может выступать и корневой комплекс, и конечная точка, и переключатели, и шлюзы. Последовательность пакетов состоит из пакета-запроса и в общем случае нескольких пакетов-завершения. Пакет-запрос содержит командную, маршрутную информацию и, в случае транзакции записи, пересылаемые данные. Пакет-завершение содержит маршрутную информацию, необходимую для маршрутизации пакета-завершение обратно к запросчику. Пакет-завершение проходит тот же путь и последовательность переключателей в обратном порядке, что и пакет-запрос. Кроме этого он содержит передаваемые данные в случае транзакции чтения. И пакет-запрос, и пакет-завершение содержат одинаковый тег (метку), чтобы определить их принадлежность к одной транзакции.
Различают непочтовые и почтовые транзакции. В непочтовых транзакцияхзапросчик передает пакет-запрос комплитору. В ответ комплитор посылает пакет-завершение (в общем случае, пакеты-завершения) запросчику, которые содержат уведомление о получении пакета-запроса. В дополнение пакет-завершение в транзакции чтения содержит запрашиваемые данные. В транзакции записи данные содержатся в пакете-запросе. В почтовых транзакцияхзапросчик передает лишь пакет-запрос комплитору. Типы пакетов-запросов, пакетов-завершения и принятые для них обозначения приведены в табл Все транзакции делятся на 4 категории. В табл. приведены категории и типы почтовых и не почтовых транзакций, а также типы пакетов их образующих.
Вопрос 16 Функционально любое устройство с интерфейсом PCI-XP (корневой комплекс, конечная точка, переключатель, мост) описываются многоуровневой структурой, каждый уровень которой выполняет определенные функции в процессе передачи пакетов информации, образующих транзакции. Собственно интерфейс PCI-XP устройства описывается тремя уровнями: - транзакционным уровнем (TransactionLayer), - уровнем передачи данных (DataLinkLayer), - физическим уровнем (PhysicalLayer). Каждый уровень устройства подразделяется на две части. Передающая часть (T), которая обрабатывает исходящий трафик и принимающая часть (R), которая обрабатывает входящий трафик. Пакет передаваемой информации, перемещаясь по уровням передающей части устройства от транзакционного уровня к физическому уровню через уровень передачи данных, инкапсулируется (обрамляется соответствующим заголовком и хвостовиком) на каждом уровне. При перемещении пакета по уровням принимающей части устройства от физического уровня к транзакционному уровню через уровень передачи данных пакет декапсулируется (удаляются соответствующий заголовок и хвостовик) на каждом уровне. Помимо информационных пакетов уровни передачи данных и физические уровни устройств, связанные каналом, декапсулируется (овню через уровень передачи даннмхот уровня остовикомобмениваются служебными пакетами.
Вопрос 17 Рассмотрим пакеты информации на каждом уровне и функции этих уровней. Ядро или программный уровень (DeviceCore/SoftwareLayer) устройства на передающей стороне сообщает транзакционному уровнюинформацию для формирования пакета транзакционного уровня, а именно: тип транзакции, адрес абонента, количество данных, класс трафика, индекс сообщения и сами данные. В передающей части, например, прибора А на транзакционном уровне из информации для формирования пакета,поступающей из ядра прибора (DeviceCore) формируется пакет транзакционного уровня (к данным добавляется заголовок и хвостовик) и образованный пакет буферизируется для передачи в нижестоящий уровень. Пакет транзакционного уровня обозначается как TLP(TransactionLayerPacket). На приемной стороне ядра прибора эта же информация возвращается из транзакционного уровня. Пакет транзакционного уровня TLP, состоит из заголовка, поля данных и формируемого на этом уровне поля контрольной последовательности ECRC(End-to-EndCRC). Некоторые пакеты могут и не содержать поле данных На уровне передачи данных к пакету TLP присоединяется соответствующий заголовок и хвостовик. В последнем записывается информация, необходимая для контроля ошибок в принимающем приборе, например в приборе Б. Этот пакет называется TLP пакетом уровня передачи данных, обозначается как TLP(DLL), и содержит поле последовательностного номера (SequenceNumber), пакет TLP и поле контрольной последовательности LCRC. Поле LCRC вычисляется на уровне канала данных контролем полей последовательностного номера (SequenceNumber) и пакета TLP. На физическом уровне к пакету TLP(DLL) присоединяется свой соответствующий заголовок и хвостовик. Этот пакет называется TLP пакетом физического уровня и обозначается TLP(PL).Пакет TLP(PL), состоит из стартового байта (Start), поля пакета TLP(DLL) и оконечного байта (End). Затем именно этот пакет TLP(PL) передается по физической среде (полосковой линии связи, кабелю) в последовательной форме, начиная со старшего бита стартового байта, в принимающее устройство соседнего прибора Б. В принимающей части соседнего прибора Б приемник физического уровня дешифрирует входящий последовательный пакет TLP(PL). Пакет проверяется на отсутствие ошибок и, если ошибок нет, то из него исключаются заголовок и хвостовик (ограничивающие флаги) и в форме пакета TLP(DLL) последний передается на уровень передачи данных прибора Б. На уровне передачи данных полученный пакет TLP(DLL) проверяется на отсутствие ошибок и декапсулируется (отбрасывается заголовок и хвостовик пакета TLP(DLL)) и в форме пакета TLP передается на транзакционный уровень. Если принимающее устройство – переключатель тогда пакет направляется от одного входного порта переключателя в выходной порт основываясь на адресной информации содержащейся в заголовке пакета TLP. На транзакционном уровне полученный пакет проверяется на отсутствие ошибок и при отсутствии ошибок поле данных пакета (без заголовка и хвостовика) передается в ядро прибора Б. Таким образом, данные ядра прибора А передаются в ядро прибора Б, образуя трафик передаваемых данных. Асинхронно с этим процессом может происходить встречный процесс передачи данных из ядра прибора Б в ядро прибора А. Вопрос 18 Пакет транзакционного уровня Два устройства PCI-XP могут обмениваться тремя классами пакетов. Это пакеты транзакционного уровня (TLP(PL)), пакеты уровня передачи данных (DLLP(PL)) и пакеты физического уровня (PLP); смотри рис. В совокупности, различные пакеты (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 рассчитывается контрольная последовательность ECRC и ему присваивается последовательностный номер; Затем пакет TLP(DLL) передаётся физическому уровню.
4. На транзакционном уровне информация декодируется и поступает в ядро приемного устройства Б. Целостность данных при передаче по линии связи поддерживается тремя особенностями пакетного протокола PCI -XP: - формат пакета полностью определён, - обрамляющие символы указывают на границы пакета, - CRC защищает целостность пакета. Пакеты транзакционного уровня состоят в общем случае из трех полей: заголовка, данных и краткого описания (или ECRC– последовательности) .Заголовок пакета TLP размером 3DW или 4DW (12 или 16 байт). Его формат зависит от типа пакета. Заголовок определяет параметры транзакции: тип транзакции, адрес назначенного приёмника, идентификатор ID передатчика, размер передачи данных (если есть), побайтовый доступ, атрибуты порядка, атрибуты когерентности памяти типа кеш, класс потока данных. Поле данных (необязательное поле) длиной 0-1024 DW. Поле краткого описания - необязательное поле. Если поле представлено, то всегда имеет размер одно DW. Используется для сквозной CRC –последовательности (ECRC). Вопрос 19
Основная обязанность уровня передачи данных интерфейса PCI-XP состоит в сохранении целостности пакета TLP, когда тот перемещается между устройствами. Этот уровень так же имеет обязанности по инициализации линий связи и управления энергией, включая отслеживание состояния линий связи и прохождение сообщений. Исполняя свою роль, уровень передачи данных обменивается потоком пакетов TLP(DLL) со своим соседом, используя пакеты уровня передачи данных (DLLP). Пакеты DLLP берут начало и завершаются на уровне передачи данных каждого устройства, без привлечения уровня транзакций. Пакеты DLLP и TLP(DLL) перемежаются в линии связи. Пакеты DLLP имеют простой формат пакета. В отличие от пакетов TLP(DLL), они не несут информации об адресате из-за того, что они используются для общения только с ближайшими соседями. Пакеты DLLP формируются на стороне передатчика, например, устройства А и уничтожаются на стороне приёмника устройства Б. Эти пакеты берут начало на уровне передачи данных и проходят на физический уровень. Там, перед тем, как пакет DLLP будет послан, к нему добавляются обрамляющие символы.STR и END, т.е. формируется пакет DLLP(PL); смотри рис.2.5.2. Пакеты уровня передачи данных DLLP могут быть четырех типов: - типа ACK или NAK, - типа управления энергией, - типа контроля прохождения TLP и - типа, определяемого разработчиком.
Следующие правила применяются, когда пакет DLLP посылается устройством-источником А устройству- приёмнику Б: 1. Все полученные приемным устройством пакеты DLLP(PL) проверяются. Проверка включает поиск управляющих символов на физическом уровне, за ним следует CRC проверка на уровне передачи данных приёмника. 16 бит CRC – последовательность рассчитываются источником и посылаются с пакетом, приёмник рассчитывает свою собственную проверочную сумму пакета DLLP и сравнивает с принятым значением. Любой DLLP, не прошедший проверку CRC считается ошибочным и “отбрасывается”. 2. При отсутствии ошибок определяется тип пакета DLLP и он обрабатывается в соответствии со следующей логикой: – пакеты DLLP управления энергией обрабатываются аппаратно схемой управления энергией устройства; – пакеты DLLP контроля прохождения пакетов TLP обрабатываются уровнем транзакций, так что его значение может быть изменено; – квитанционные пакеты DLLPAck и Nak направляются к передающему интерфейсу уровня передачи данных, вследствие чего пакеты TLP(DLL) в буфере повтора могут быть сброшенными или могут быть посланными ещё раз. Пакет DLLP состоит из заголовка длиной одно DW и 16- битовой CRC последовательности, используемой для контроля содержимого заголовка DLL; Расчет CRC выполняется по содержимому байтов 0-3 заголовка. Вопрос 20
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1047)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |