2016-06-29 38 views
1

Ich weiß, dass, wenn ein PCIe-Endpunkt mehrere Leseanforderungen an den Host sendet, die zurückgegebenen Completion-Pakete möglicherweise nicht in Ordnung sind, und dann müssen wir das Feld tag neu anordnen.Kann ein PCIe-Endpunkt mehrere ausgehende Anforderungen mit demselben TAG haben?

Aber ich möchte wissen, ob es eine andere Möglichkeit gibt, das CPLD TLP zu identifizieren?

Zum Beispiel, wenn ich 2 Leseanforderung von 128 Bytes mit der gleichen tag an den Host senden, wenn die CPLDs nicht in Reihenfolge ankommen, gibt es dann eine Chance, dass ich sie identifizieren und neu anordnen kann?


Abkürzungen:
TLP - Transaktions Layer Protocol
CPLD - Completion Daten

+0

Dies könnte besser für [electronics.se] geeignet sein, nicht sicher, dass viele Programmierer wissen, wie die Dinge so nah am Draht funktionieren. Überprüfen Sie die Tags dort für PCIe und sehen Sie, ob sie einige Leute mit dem Wissen haben, das Sie brauchen. – Will

+0

@Will Das Transaktions-Layer-Protokoll, wenn weit weg von den Leitungen :) – Paebbels

+0

@Paebbels hey, wie Einstein wies darauf hin, alles ist relativ ... – Will

Antwort

0

CPLDs nicht aus, um bekommen, solange sie mit dem gleichen Datenverkehr senden sind Klasse (TC), die alle Pakete über den gleichen virtuellen Kanal (VC) speist. Das Umordnen erfolgt zwischen verschiedenen VCs mit unterschiedlicher Priorität. So werden 2 Leseanfragen in der gleichen Reihenfolge beantwortet. Ein Antwortgeber kann beide Lesevorgänge zu einem Abschluss kombinieren, wenn Sie aufeinanderfolgende Adressen adressieren!