TLP структура в Transaction Layer

Заголовок размером в 3 или 4 двойных слова включает информацию, такую как адрес, тип TLP, размер передачи, ID запросчика/комплитера, признак, класс трафика, Byteenables, коды завершения и признаки (включающие «nosnoop» и «relaxedordering» биты). Типы TLP определяются в таблице 2-2.

Адрес – это 32 битный адрес памяти или расширенный 64 битный адрес для запросов памяти. 32 битный адрес для IOзапросов. Для конфигурационных транзакций адрес – это ID, состоящий из Номера Шины, Номера Устройства и Номера Функции плюс адрес конфигурационного регистра у исполнительного регистра. Для завершающих TLP адрес – это ID запросчика устройства, которое изначально сделало запрос. Для транзакций сообщений адрес, используемый для маршрутизации, — это ID устройства назначения, состоящий из Номера Шины, Номера Устройства и Номера Функции исполняющего устройства. Запрос сообщения также мог быть передан или направлен неявно, если нацелить его на корневой комплекс или upstream порт.

Размер передачи или длина полей обозначает количество данных для передачи, вычисленное в двойных словах (DW). Длина передачи данных может быть между 1 и 1024 DW. TLP запроса записи включают полезную нагрузку данных в указанное количество с помощью поля длины в заголовке. Для TLP запроса чтения поле длины указывает количество данных, требуемых от комплитера. Эти данные возвращаются в одном или более завершающем пакетах. TLP запроса чтения не включает поле полезной нагрузки данных. Byte enables (???) устанавливают преобразование адреса на уровне байтов.

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

Бит в заголовке (TD = TLPDigest) указывает, содержит ли этот пакет ECRC поле, также называемое Цифровым. Это поле 32 битовой ширины содержит EndtoEndCRC (ECRC). ECRC поле генерируется TransactionLayer-ем во время создания исходящего TLP. Генерация основывается на полном TLP от первого байта заголовка до последнего байта полезной нагрузки данных (за исключением EP бита и бита 0 в поле Типа. Всегда рассматривается, что эти два бита равны 1 для ECRC вычисления). TLP никогда не меняется при перемещении по структуре (за исключением возможно двух битов, упомянутых в предыдущем предложении). Приемник проверяет ECRC ошибки, которые могут произойти при перемещении пакета через структуру

Ссылка на основную публикацию
Adblock detector