Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шины PCI, PCI-Express.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
482.58 Кб
Скачать

Архитектурная модель pci Express.

Уровень транзакций (transaction layer) — верхний уровень архитектуры, отве­чающий за сборку и разборку пакетов TLP (Transaction Layer Packet — пакет уровня транзакций). Эти пакеты используются для транзакций чтения и запи­си, а также для сообщений о событиях некоторых типов. Каждый пакет TLP имеет уникальный идентификатор, который позволяет направить ответный па­кет его отправителю. Уровень транзакций отвечает и за управление пото­ком.

Канальный уровень (data link layer), промежуточный в стеке, отвечает за управ­ление связью, обнаружение ошибок и организацию повторных передач вплоть до успеха или признания отказа соединения. К пакетам, полученным от уровня транзакций, канальный уровень добавляет свои заголовки (номера пакетов и контрольные коды). Канальный уровень и сам является генератором и полу­чателем пакетов DLLP (Data Link Layer Packet — пакет канального уровня), ис­пользуемых для управления соединением.

Физический уровень (physical layer) изолирует канальный от всех подробностей передачи сигналов. Он состоит из двух субблоков.

Логический субблок при пере­даче выполняет распределение данных по линиям, скремблирование, кодирова­ние по схеме 8В/10В1, кадрирование и преобразование в последовательный код. При приеме выполняются обратные действия. Символы, добавляемые при кодировании 8В/10В, используются для служебной сигнализации. Логический субблок отвечает и за согласование соединения, инициализацию и т. п.

Элек­трический субблок отвечает за электрическое согласование, синхронизацию, об­наружение приемника. Уровневая модель, принятая в PCI Express, позволяет, не затрагивая остальных уровней, сменить физический уровень или его суббло­ки, когда появятся более эффективные схемы кодирования и сигнализации. Интерфейс между физическим и канальным уровнями зависит от реализации этих компонентов и выбирается их разработчиком. Интерфейс физического уровня четко специфицирован, что обеспечивает возможность соединения уст­ройств разного происхождения. Для тестирования на соответствие электриче­ским параметрам достаточно подключить устройство PCI Express к специаль­ному тестеру.

Надежность передачи и целостность данных

Уровень транзакций формирует пакеты TLP, в которых содержатся код коман­ды, адресная информация, данные и некоторые другие поля.

Для обеспечения надежной доставки пакетов TLP канальный уровень при передаче снабжает их своим заголовком, содержащим 12-битный последовательный номер TLP, и 32-битным полем LCRC (CRC канального уровня). Таким образом, канальный уровень к каждому пакету TLP добавляет 6 байт накладных расходов. На каж­дый пакет TLP передатчик должен получить положительное подтверждение Ack — пакет канального уровня (DLLP). Если подтверждение не приходит, то механизм тайм-аута заставляет передатчик повторить посылку пакета. Преду­смотрен и пакет отрицательного подтверждения Nak, вызывающий повторную передачу без ожидания.

Физический уровень вводит свое обрамление передаваемых пакетов: перед нача­лом пакета передается специальный символ STP (для TLP-пакета) или SD(для DLLP-пакета); после пакета — символ END. Эти специальные символы от­личаются от символов, представляющих данные после кодирования 8В/10В.

Для обеспечения надежности транзакций и целостности данных применяется CRC-контроль всех транзакций и управляющих пакетов. Запросчик считает транзакцию выполненной по получении подтверждающего сообщения от ис­полнителя (подтверждение отсутствует только для записей, отправленных в ос­новную память). Обработка ошибок в минимальном варианте аналогична PCI, причем обнаруженные ошибки отображаются в конфигурационных регистрах функций (в регистре состояния). Расширенные возможности сообщений об ошибках дают исходную информацию для развитых процедур изоляции отка­зов и восстановления, а также мониторинга и регистрации (logging) ошибок.

Ошибки делятся на три группы, что позволяет использовать адекватные проце­дуры восстановления:

  • исправимые (correctable) ошибки автоматически вызывают аппаратную про­цедуру восстановления (повтора) и не требуют программного вмешатель­ства для нормального исполнения транзакции;

  • неисправимые фатальные (fatal) ошибки для надежного возобновления ра­боты требуют сброса, в результате которого могут пострадать транзакции, не имеющие прямого отношения к ошибке;

  • неисправимые нефатальные (non-fatal) ошибки не требуют сброса для возоб­новления работы — в результате этих ошибок могут быть потеряны лишь не­сколько транзакций, затронутых ошибкой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]