2016-05-03 16 views
0

Können zwei unabhängige Geräte (Endpunkte) miteinander kommunizieren, ohne dass Root Complex an PCIe beteiligt ist (gemäß PCIe-Spezifikation ja, aber wie)?PCIe-Peer-to-Peer-Kommunikation

Wie kann ein Endpunkt die Adresse eines anderen Endpunkts bei Speicher- und E/A-Transaktionen kennen?

Wie werden die Pakete per Switch zwischen zwei Downstream-Ports geroutet?

Danke und Grüße

+0

Sollte in Software machbar sein, kann die CPU die Rolle von Root-Komplex übernehmen. – dtech

+0

(http://www.google.co.in/search?q=PIC+architecture&client=ubuntu&hs=5bb&channel=fs&source=nnms&tbm=isch&sa=X&ved=0ahUKEwio2uzImsDMAhUixqYKHe2aBcEQ_AUIBygB&biw=1301&bih=678#channel=fs&tbm=isch&q=PIC+express+ Architektur & imgrc = M_xILFRtk-a9WM% 3A) in diesem Diagramm Wie kann der PCIe-Endpunkt direkt mit einem anderen PCIe-Endpunkt kommunizieren, ohne Paketdaten in Richtung Root-Komplex zu leiten? –

+0

http://electronics.stackexchange.com/questions/167154/can-two-pcie -endpoints-kommunizieren-mit-jedem-anderen-durch-pcie-switch –

Antwort

0

Ja, es ist möglich.

Wie Sie Memory Write-Transaktionen erfordert erfordert "gültig" Addr des Empfängers und Daten und Speicher lesen Transaktionen erfordert "Vaild" Addr und Daten "Größe" benötigt, um schreiben oder Leseanforderungen erstellen.

Für die Anfragen von Downstream-Port, Switch sorgt für das Routing zu einem Upstream (Root) oder Downstream (Peer to Peer), durch Vergleich mit seinen "Base and Limit" -Register.

Schalter Routing:

  1. zuerst die Adresse auf ihren eigenen Bars überprüfen, ob sie angepasst, wird es verbrauchen. Zwei Balken sind in jedem Schalter verfügbar.

  2. Wenn nicht, überprüfen Sie die IO/P-MMIO/NP-MMIO Basis- und Limitregisterpaare basierend auf dem Anforderungstyp.

  3. Wenn ein TLP zum Upstream-Port fährt und wenn er mit seinen Basis- und Limitregistern übereinstimmt, wird er auf der sekundären Schnittstelle als "nicht unterstützte Anforderung" behandelt. (Wiederum wird es zu dem Downstream-Port weitergeleitet, anders als einem, der empfangen wurde, da es Peer-zu-Peer-Kommunikation sein kann).

  4. Wenn keine Übereinstimmung an einer Schnittstelle besteht, wird sie an die primäre Schnittstelle weitergeleitet, da sie nicht mit der Brücke und einer Funktion unterhalb dieser Brücke übereinstimmt.