2016-06-29 8 views
1

PCIe 엔드 포인트가 호스트에 여러 읽기 요청을 보내는 경우, 반환 된 완료 패킷이 순서가 아닐 수 있으며, 따라서 순서를 바꾸려면 tag 필드가 필요하다는 것을 알고 있습니다.PCIe 엔드 포인트는 동일한 TAG를 사용하여 여러 개의 아웃 바운드 요청을 가질 수 있습니까?

하지만 CPLD TLP를 식별하는 다른 방법이 있는지 알고 싶습니다.

예를 들어, tag과 동일한 128 바이트의 읽기 요청을 호스트에 보내면 답례로 CPLD가 순서대로 도착하지 않은 경우 호스트를 식별하고 순서를 변경할 수 있습니까?


약어 :
TLP - 트랜잭션 계층 프로토콜
CPLD - 완료 데이터

+0

이 코드는 [electronics.se]에 더 적합 할 수 있습니다. 많은 프로그래머가이 코드가 어떻게 작동 하는지를 알 수있을 것입니다. PCIe에 대한 태그를 확인하고 필요한 지식이있는 사람들이 있는지 확인하십시오. – Will

+0

@Will 트랜잭션 계층 프로토콜이 전선에서 멀리 떨어진 경우 : – Paebbels

+0

@Paebbels 안녕하세요, 아인슈타인이 지적했듯이 모든 것이 상대적인 것입니다 ... – Will

답변

0
만큼 그들은이 같은 트래픽 전송 될 때, 순서가 얻을 수

CPLD를 클래스 (TC)는 동일한 가상 채널 (VC)을 통해 모든 패킷을 제공합니다. 재정렬은 우선 순위가 다른 여러 VC 사이에서 수행됩니다. 따라서 2 개의 읽기 요청은 동일한 순서로 응답됩니다. 응답자는 연속 주소를 주소 지정하는 경우 두 읽기를 하나의 완료로 결합 할 수 있습니다!