DE102020117483A1 - Mechanismus für Vorrichtungsinteroperabilität von Switches in Computerbussen - Google Patents

Mechanismus für Vorrichtungsinteroperabilität von Switches in Computerbussen Download PDF

Info

Publication number
DE102020117483A1
DE102020117483A1 DE102020117483.7A DE102020117483A DE102020117483A1 DE 102020117483 A1 DE102020117483 A1 DE 102020117483A1 DE 102020117483 A DE102020117483 A DE 102020117483A DE 102020117483 A1 DE102020117483 A1 DE 102020117483A1
Authority
DE
Germany
Prior art keywords
port
switch
protocol
link
circuit arrangement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020117483.7A
Other languages
English (en)
Inventor
Mahesh Natu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102020117483A1 publication Critical patent/DE102020117483A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40097Interconnection with other networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

Einrichtungen, Verfahren und computerlesbare Medien zum Betreiben eines Port-Verwalters zum Detektieren eines ersten Link-Zustands oder eines zweiten Link-Zustands einer Schaltungsanordnung sind bereitgestellt. Unter dem ersten Link-Zustand ist ein erster Link zwischen einem stromabwärtigen Port der Schaltungsanordnung und einem stromaufwärtigen Port eines Switches mit einem ersten Protokoll kompatibel und ein zweiter Link zwischen einem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer Vorrichtung mit dem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand ist der erste Link vorhanden und mit dem ersten Protokoll kompatibel, während es keinen zweiten Link gibt, der mit dem zweiten Protokoll kompatibel ist. Bei Detektion des ersten Link-Zustands soll der Port-Verwalter den stromabwärtigen Port der Schaltungsanordnung gemäß dem zweiten Protokoll betreiben oder bei Detektion des zweiten Link-Zustands gemäß dem ersten Protokoll. Andere Ausführungsformen können beschrieben und/oder beansprucht werden.

Description

  • Verwandte Anmeldungen
  • Die vorliegende Anmeldung beansprucht gemäß 35 USC §119 die Priorität der vorläufigen US-Anmeldung Nr. 62/882863 , die am 5. August 2019 eingereicht wurde und deren Inhalt hier durch Bezugnahme vollständig mit aufgenommen ist.
  • Gebiet
  • Verschiedene Ausführungsformen können sich allgemein auf das Gebiet der Kommunikation und der Datenverarbeitung beziehen und können sich insbesondere auf einen Computerbus und durch einen Computerbus gekoppelte Vorrichtungen beziehen.
  • Hintergrund
  • Die hier bereitgestellte Hintergrundbeschreibung dient dem Zweck, den Kontext der Offenbarung allgemein darzustellen. Sofern es hier nicht anders angegeben ist, sind die in diesem Abschnitt beschriebenen Materialien nicht Stand der Technik gegenüber den Ansprüchen in dieser Anmeldung und werden durch Aufnahme in diesen Abschnitt nicht als Stand der Technik anerkannt.
  • Ein Computersystem oder eine Plattform kann viele Komponenten wie beispielsweise einen Host mit einer Zentralverarbeitungseinheit (CPU), einen Speicher, Chipsätze und/oder viele andere Vorrichtungen, die durch einen Computerbus miteinander verbunden sind, aufweisen. Ein Computerbus ist ein Kommunikationssystem, das Daten zwischen Vorrichtungen oder Komponenten innerhalb eines Computers oder zwischen Computern übertragen kann. Ein Computersystem oder eine Plattform kann in großem Umfang verschiedene Vorrichtungen verwenden, die mit einem Computerbus gekoppelt sind. Ein Computerbus kann zugehörige Hardwarekomponenten (Kabel, Lichtleitfaser usw.) und Software einschließlich Kommunikationsprotokollen aufweisen. Es kann viele Arten von Computerbussen wie beispielsweise serielle Busse oder parallele Busse geben.
  • Figurenliste
  • Ausführungsformen sind anhand der folgenden genauen Beschreibung in Verbindung mit den beigefügten Zeichnungen leicht zu verstehen. Zum Vereinfachen dieser Beschreibung bezeichnen gleiche Bezugszeichen gleiche strukturelle Elemente. Ausführungsformen werden in den Figuren der beigefügten Zeichnungen in Form von Beispielen und nicht als Einschränkung dargestellt.
    • 1 zeigt eine beispielhafte Einrichtung, die eine Vorrichtung aufweist, die über einen Computerbus mit einer anderen Vorrichtung gekoppelt ist, gemäß verschiedenen Ausführungsformen.
    • 2 zeigt eine beispielhafte Einrichtung zur Kommunikation einschließlich eines Port-Verwalters zum Verwalten eines Kommunikationskanals zwischen einem stromabwärtigen Port einer Schaltungsanordnung und einem stromaufwärtigen Port einer Vorrichtung über einen Switch gemäß verschiedenen Ausführungsformen.
    • 3 zeigt einen beispielhaften Prozess gemäß verschiedenen Ausführungsformen, der von einem Port-Verwalter ausgeführt wird, um einen Kommunikationskanal zwischen einem stromabwärtigen Port einer Schaltungsanordnung und einem stromaufwärtigen Port einer Vorrichtung über einen Switch zu verwalten.
    • 4(a)-4(c) zeigen verschiedene Architekturen für eine Vorrichtung, die über einen Switch durch Rechen-Express-Links (CXL) mit einem Root-Komplex gekoppelt ist, gemäß verschiedenen Ausführungsformen.
    • 5 zeigt eine beispielhafte Vorrichtung, die zur Verwendung zum Umsetzen verschiedener Aspekte der vorliegenden Offenbarung gemäß verschiedenen Ausführungsformen geeignet ist.
    • 6 zeigt ein Speichermedium mit Befehlen zum Umsetzen von Verfahren, die unter Bezugnahme auf 1-5 beschrieben sind, gemäß verschiedenen Ausführungsformen.
  • Genaue Beschreibung
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen. Die gleichen Bezugszeichen können in unterschiedlichen Zeichnungen verwendet werden, um die gleichen oder ähnliche Elemente zu identifizieren. In der folgenden Beschreibung werden, zum Zwecke der Erläuterung und nicht der Einschränkung, spezielle Einzelheiten wie etwa bestimmte Strukturen, Architekturen, Schnittstellen, Techniken usw. dargelegt, um ein tiefgreifendes Verständnis der verschiedenen Aspekte von verschiedenen Ausführungsformen zu geben. Allerdings ist es für Fachleute mit dem Vorteil der vorliegenden Offenbarung offensichtlich, dass die verschiedenen Aspekte der verschiedenen Ausführungsformen in anderen Beispielen umgesetzt werden können, die von diesen spezifischen Einzelheiten abweichen. In bestimmten Fällen werden Beschreibungen von wohlbekannten Vorrichtungen, Schaltungen und Verfahren ausgelassen, um die Beschreibung der verschiedenen Ausführungsformen nicht mit unnötigen Einzelheiten zu verunklaren.
  • Ein Rechensystem oder eine Plattform kann verschiedene Vorrichtungen verwenden, die extensiv mit einem Computerbus gekoppelt sind. Ein Computerbus kann diesbezügliche Hardwarekomponenten (Draht, Lichtleitfaser usw.) sowie Software einschließlich Kommunikationsprotokollen aufweisen. Ein Peripheriekomponentenzwischenverbindungs-Bus (PCI) oder PCI Express (PCIe, PCI-E) kann ein Computerbus sein, der auf einer Spezifikation, die einen Mechanismus für Systemsoftware bereitstellt, oder einem Systemtreiber basiert, um verschiedene Operationen im Zusammenhang mit der Auslegung einer mit dem PCI-Bus oder dem PCIe-Bus gekoppelten Vorrichtung durchzuführen. Vorrichtungen oder Komponenten, die mit einem Computerbus gekoppelt sind, können auch als Funktionen bezeichnet werden. PCIe kann in Verbraucher-, Server- und Industrieanwendungen als eine Zwischenverbindung auf Hauptplatinenebene (zum Verbinden von auf der Hauptplatine montierten Peripherievorrichtungen), eine passive Rückwandplatinenzwischenverbindung und als eine Erweiterungskartenschnittstelle für Zusatzplatinen arbeiten. PCIe-Vorrichtungen kommunizieren über eine logische Verbindung, die als Zwischenverbindung oder Link bezeichnet wird. Ein Link ist ein Punkt-zu-Punkt-Kommunikationskanal zwischen zwei PCIe-Ports, der beiden ermöglicht, gewöhnliche PCI-Anforderungen, z. B. Konfiguration, Eingabe/Ausgabe (E/A) oder Speicherlesen/-schreiben sowie Unterbrechungen zu senden und zu empfangen. Auf der physischen Ebene kann ein Link aus einer oder mehreren Bahnen zusammengesetzt sein. Peripherievorrichtungen mit niedriger Geschwindigkeit wie etwa eine 802.11-Wi-Fi-Karte verwenden eine Verbindung mit einzelner Bahn (x1), während ein Grafikadapter typischerweise einen viel breiteren und schnelleren 16-Bahn-Link verwendet.
  • Compute-Express-Link (CXL) ist ein industrieller Hochgeschwindigkeitszwischenverbindungsstandard für einen Computerbus. Vorrichtungen können basierend auf verschiedenen Generationen von CXL-Standards hergestellt sein, z. B. CXL-1.0-Vorrichtungen, CXL-1.1-Vorrichtungen, CXL-2.0-Vorrichtungen, anderen Vorrichtungen der CXL-Familie oder mehr. Vorrichtungen, die auf verschiedenen Generationen des CXL-Standards basieren, können einige Unterschiede in ihren Funktionen oder Architekturen aufweisen. Beispielsweise können CXL-2.0-Vorrichtungen CXL-Switches aufweisen, die in früheren Generationen von CXL-Vorrichtungen möglicherweise nicht verfügbar sind. Es können mehrere CXL-2.0-Switches verschachtelt sein. Darüber hinaus erzeugen CXL-2.0-Switches auch PCIe-Ports. Auf der anderen Seite sind CXL-1.0-Vorrichtungen so ausgelegt, dass die Kompatibilität mit Alt-Software (SW) Vorrang vor der Erweiterbarkeit hat. Daher erscheint eine CXL-1.0-Vorrichtung oder eine CXL-1.1-Vorrichtung als PCIespezifikationskonformer in den Root-Komplex integrierter Endpunkt (RCiEP). Infolgedessen kann eine CXL-1.0-Vorrichtung oder eine CXL-1.1-Vorrichtung möglicherweise nicht an einen CXL-2.0-Switch angeschlossen werden, um ordnungsgemäß zu funktionieren.
  • In der nachstehenden Beschreibung kann sich ein PCI-Bus oder ein PCIe-Bus auf einen beliebigen Bus in der PCI-Familie beziehen, während sich ein CXL-Bus auf einen beliebigen Bus in der CXL-Familie beziehen kann. Weiterhin kann ein PCI-Bus oder ein CXL-Bus als Beispiel eines Computerbusses verwendet werden. Ebenso kann eine PCI-Vorrichtung, eine PCIe-Vorrichtung oder eine CXL-Vorrichtung als Beispiel für eine an einen Computerbus gekoppelte Vorrichtung verwendet werden. Beschreibungen zu einer PCIe-Vorrichtung, einer PCIe-Vorrichtung oder einer CXL-Vorrichtung können auf jede andere Vorrichtung angewendet werden, die an einen beliebigen Computerbus gekoppelt ist.
  • Hier offenbarte Ausführungsformen umfassen eine Einrichtung zur Kommunikation, wobei die Einrichtung eine Schaltungsanordnung aufweist, die einen Port-Verwalter und einen stromabwärtigen Port umfasst. Der Port-Verwalter soll einen ersten Link-Zustand oder einen zweiten Link-Zustand der Schaltungsanordnung detektieren. Unter dem ersten Link-Zustand ist ein erster Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und einem stromaufwärtigen Port eines mit der Schaltungsanordnung gekoppelten Switches mit einem ersten Protokoll kompatibel und ein zweiter Link zwischen einem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit dem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand besteht der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und ist mit dem ersten Protokoll kompatibel. Es besteht jedoch kein zweiter Link, der mit dem zweiten Protokoll kompatibel ist, zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung. Bei Detektion des ersten Link-Zustands soll der Port-Verwalter den stromabwärtigen Port der Schaltungsanordnung gemäß dem zweiten Protokoll betreiben. Darüber hinaus muss der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromabwärtigen Port der Schaltungsanordnung gemäß dem ersten Protokoll betreiben.
  • In einigen Ausführungsformen umfasst eine Einrichtung zur Kommunikation einen Switch mit einem Port-Verwalter, einem stromaufwärtigen Port und einem stromabwärtigen Port. Der Port-Verwalter soll einen ersten Link-Zustand oder einen zweiten Link-Zustand des Switches detektieren. Unter dem ersten Link-Zustand ist ein erster Link zwischen dem stromaufwärtigen Port des Switches und einem stromabwärtigen Port einer mit dem Switch gekoppelten Schaltungsanordnung mit einem ersten Protokoll kompatibel und ein zweiter Link zwischen dem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit einem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand ist der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel. Es gibt jedoch keinen zweiten Link, der mit dem zweiten Protokoll zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung kompatibel ist. Bei Detektion des ersten Link-Zustands soll der Port-Verwalter den stromaufwärtigen Port des Switches und den stromabwärtigen Port des Switches gemäß dem zweiten Protokoll betreiben. Darüber hinaus soll der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromaufwärtigen Port des Switches gemäß dem ersten Protokoll betreiben.
  • In einigen Ausführungsformen umfasst eine Einrichtung zum Berechnen eine Leiterplatte (PCB) mit einem ersten Link und einem zweiten Link, die aus einem PCI-Bus, einem erweiterten PCI-Bus (PCI-X), einem PCI-Express-Bus, einem CXL-1.0-Bus, einem CXL-1.1-Bus oder einem CXL-2.0-Bus ausgewählt sind. Die PCB weist auch einen Root-Komplex mit einem Port-Verwalter und einem stromabwärtigen Port sowie einen mit dem Root-Komplex gekoppelten Switch mit einem stromaufwärtigen Port und einem stromabwärtigen Port auf. Der Port-Verwalter des Root-Komplexes detektiert einen ersten Link-Zustand oder einen zweiten Link-Zustand des Root-Komplexes. Unter dem ersten Link-Zustand ist ein erster Link zwischen dem stromabwärtigen Port des Root-Komplexes und dem stromaufwärtigen Port des Switches mit einem ersten Protokoll kompatibel und ein zweiter Link zwischen dem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer Vorrichtung mit einem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand ist der erste Link zwischen dem stromabwärtigen Port des Root-Komplexes und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel. Es gibt jedoch keinen zweiten Link, der mit dem zweiten Protokoll kompatibel ist, zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung. Bei Detektion des ersten Link-Zustands soll der Port-Verwalter den stromabwärtigen Port des Root-Komplexes gemäß dem zweiten Protokoll betreiben. Darüber hinaus soll der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromabwärtigen Port des Root-Komplexes gemäß dem ersten Protokoll betreiben.
  • In einigen Ausführungsformen kann die Einrichtung zum Berechnen Register mit einem speicherabgebildeten Eingabe-Ausgabe-Adressraum (MMIO-Adressraum) und einem Busbereichsdecodierer zu CXL-2.0-Root-Ports des Root-Komplexes und des Switches hinzufügen. Darüber hinaus konfiguriert der Port-Verwalter diese Decodierer so, dass das Erscheinungsbild entsteht, dass eine in einer CXL-2.0-Switch-Hierarchie angeschlossene CXL-1.1-Vorrichtung eine Peer-Vorrichtung für den Root-Komplex ist, z. B. RCiEP. Ein solches Erscheinungsbild ist aufgrund der Erstellung eines Kommunikationskanals zwischen dem CXL-2.0-Root-Port des Root-Komplexes und einem stromaufwärtigen Port der CXL-1.1-Vorrichtung über den Switch möglich. In einigen Ausführungsformen umfasst der Kommunikationskanal zwischen dem CXL-2.0-Root-Port und der CXL-1.1-Vorrichtung dedizierte Register und Busse in dem Root-Komplex und den für den Kommunikationskanal zu verwendenden Switch. Darüber hinaus arbeiten die CXL-2.0-Switch-Ports im CXL-1.1-artigen Modus, z. B. Weiterleiten von Fehlermeldungen, Port-Registern, wenn eine 1.1-Vorrichtung unterhalb detektiert wird. Ausführungsformen hier können eine größere Auswahl an CXL-Vorrichtungen und ein besseres Anwendererlebnis bereitstellen.
  • Verschiedene Operationen werden wiederum als mehrere diskrete Operationen beschrieben, in einer Weise, die äußerst hilfreich beim Verstehen der beispielhaften Ausführungsformen ist; allerdings soll nicht angenommen werden, dass die Reihenfolge der Beschreibung impliziert, dass diese Operationen notwendigerweise reihenfolgeabhängig sind. Insbesondere müssen diese Operationen nicht in der beschriebenen Reihenfolge durchgeführt werden.
  • Die Ausdrücke „in verschiedenen Ausführungsformen“, „in einigen Ausführungsformen“ und dergleichen werden wiederholt verwendet. Der Ausdruck bezieht sich im Allgemeinen nicht auf die gleichen Ausführungsformen; allerdings kann dies der Fall sein. Die Begriffe „umfassend“ und „aufweisend“ sind synonym, sofern durch den Kontext nichts anderes vorgegeben ist. Der Ausdruck „A und/oder B“ bedeutet (A), (B) oder (A und B). Die Ausdrücke „A/B“ und „A oder B“ bedeuten (A), (B) oder (A und B), ähnlich dem Ausdruck „A und/oder B“. Für die Zwecke der vorliegenden Offenbarung bedeutet der Ausdruck „mindestens eines aus A und B“ (A), (B) oder (A und B). Die Beschreibung kann die Ausdrücke „in einer Ausführungsform“, „in Ausführungsformen“, „in einigen Ausführungsformen“ und/oder „in verschiedenen Ausführungsformen“ verwenden, was sich jeweils auf eine oder mehrere der gleichen oder unterschiedlichen Ausführungsformen beziehen kann. Ferner sind die Begriffe „umfassend“, „aufweisend“ und dergleichen, wie bezüglich Ausführungsformen der vorliegenden Offenbarung verwendet, synonym.
  • Ausführungsbeispiele können als ein Prozess beschrieben sein, der als ein Ablaufdiagramm, ein Flussdiagramm, ein Datenflussdiagramm, ein Strukturdiagramm oder ein Blockdiagramm dargestellt sein kann. Obwohl ein Ablaufdiagramm die Operationen als einen sequenziellen Prozess beschreiben kann, können viele der Operationen parallel, gleichlaufend oder gleichzeitig durchgeführt werden. Zusätzlich kann die Reihenfolge der Operationen umgeordnet werden. Ein Prozess kann abgeschlossen werden, wenn seine Operationen abgeschlossen sind, kann aber auch zusätzliche Schritte aufweisen, die in der Figur bzw. in den Figuren nicht enthalten sind. Ein Prozess kann einem Verfahren, einer Funktion, einer Prozedur, einer Unterroutine, einem Unterprogramm und dergleichen entsprechen. Wenn ein Prozess einer Funktion entspricht, kann sein Abschluss einer Rückgabe der Funktion an die aufrufende Funktion und/oder die Hauptfunktion entsprechen.
  • Ausführungsbeispiele können im allgemeinen Kontext von computerausführbaren Befehlen wie etwa Programmcode, Softwaremodulen und/oder funktionalen Prozessen, die durch eine oder mehrere der erwähnten Schaltungsanordnungen ausgeführt werden, beschrieben werden. Der Programmcode, die Softwaremodule und/oder die funktionalen Prozesse können Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw. umfassen, die bestimmte Aufgaben durchführen oder bestimmte Datentypen umsetzen. Der Programmcode, die Softwaremodule und/oder die funktionalen Prozesse, die hier erörtert werden, können unter Verwendung vorhandener Hardware in vorhandenen Kommunikationsnetzen umgesetzt werden. Beispielsweise können der Programmcode, die Softwaremodule und/oder die funktionalen Prozesse, die hier erörtert werden, unter Verwendung vorhandener Hardware an vorhandenen Netzelementen oder Steuerknoten umgesetzt werden.
  • Wie er hier verwendet wird, bezieht sich der Begriff „Schaltungsanordnung“ auf Hardwarekomponenten wie etwa eine elektronische Schaltung, eine logische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppe) und/oder einen Speicher (gemeinsam genutzt, dediziert oder Gruppe), eine anwendungsspezifische integrierte Schaltung (ASIC), eine feldprogrammierbare Vorrichtung (FPD), (z. B. eine feldprogrammierbare Gatteranordnung (FPGA), eine programmierbare logische Vorrichtung (PLD), eine komplexe PLD (CPLD), eine PLD mit hoher Kapazität (HCPLD), eine strukturierte ASIC oder ein programmierbares Ein-Chip-System (SoC)), Digitalsignalprozessoren (DSPs) usw., die dazu ausgelegt sind, die beschriebene Funktionalität bereitzustellen, ist Teil derselben oder umfasst dieselben. In einigen Ausführungsformen kann die Schaltungsanordnung ein oder mehrere Software- oder Firmwareprogramme ausführen, um zumindest einen Teil der beschriebenen Funktionalität bereitzustellen.
  • Wie er hier verwendet wird, kann sich der Begriff „Prozessorschaltungsanordnung“ auf eine Schaltungsanordnung, die in der Lage ist, sequenziell und automatisch eine Sequenz von arithmetischen und logischen Operationen durchzuführen; digitale Daten aufzuzeichnen, zu speichern und/oder zu übertragen, beziehen, ein Teil davon sein oder diese umfassen. Der Begriff „Prozessorschaltungsanordnung“ kann sich auf einen oder mehrere Anwendungsprozessoren, einen oder mehrere Basisbandprozessoren, eine physische zentrale Verarbeitungseinheit (CPU), einen Einkernprozessor, einen Zweikernprozessor, einen Dreikernprozessor, einen Vierkernprozessor und/oder eine beliebige andere Vorrichtung beziehen, die in der Lage ist, computerausführbare Befehle wie etwa Programmcode, Softwaremodule und/oder funktionale Prozesse auszuführen oder anderweitig zu betreiben. Wie er hier verwendet wird, kann sich der Begriff „Schnittstellenschaltungsanordnung“ auf eine Schaltungsanordnung, die Austausch von Informationen zwischen zwei oder mehr Komponenten oder Vorrichtungen bereitstellt, beziehen, ein Teil davon sein oder diese umfassen. Der Begriff „Schnittstellenschaltungsanordnung“ kann sich auf eine oder mehrere Hardwareschnittstellen (beispielsweise Busse, Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen), periphere Komponentenschnittstellen, Netzschnittstellenkarten und/oder dergleichen) beziehen. Wie sie hier verwendet werden, können sich die Begriffe „instanziieren“, „Instanziierung“ und dergleichen auf das Erstellen einer Instanz beziehen und eine „Instanz“ kann sich auf ein konkretes Auftreten eines Objekts beziehen, das beispielsweise, während der Ausführung von Programmcode auftreten kann.
  • Wie er hier verwendet wird, kann der Begriff „Computervorrichtung“ eine beliebige physische Hardwarevorrichtung beschreiben, die in der Lage ist, sequenziell und automatisch eine Sequenz von arithmetischen oder logischen Operationen auszuführen, die ausgestattet ist, um Daten auf einem maschinenlesbaren Medium aufzuzeichnen/zu speichern und Daten von einer oder mehreren anderen Vorrichtungen in einem Kommunikationsnetz zu senden und zu empfangen. Eine Computervorrichtung kann betrachtet werden als synonym zu, und im Folgenden gelegentlich bezeichnet werden als, Computer, Rechenplattform, Rechenvorrichtung usw. Der Begriff „Computersystem“ kann einen beliebigen Typ von miteinander verschalteten elektronischen Vorrichtungen, Computervorrichtungen oder Komponenten davon umfassen. Zusätzlich kann sich der Begriff „Computersystem“ und/oder „System“ auf verschiedene Komponenten eines Computers beziehen, die kommunikationstechnisch miteinander gekoppelt sind. Ferner kann sich der Begriff „Computersystem“ und/oder „System“ auf mehrere Computervorrichtungen und/oder mehrere Rechensysteme beziehen, die kommunikationstechnisch miteinander gekoppelt sind und dazu ausgelegt sind, Rechen- und/oder Netzbetriebsmittel gemeinsam zu nutzen. Wie er hier verwendet wird, kann sich der Begriff „Anwendergerät“ oder „UE“ auf eine Vorrichtung wie etwa eine Computervorrichtung mit Funkkommunikationsfähigkeiten beziehen und kann einen entfernten Anwender von Netzbetriebsmitteln in einem Kommunikationsnetz beschreiben. Der Begriff „Anwendergerät“ oder „UE“ kann betrachtet werden als synonym zu, und im Folgenden gelegentlich bezeichnet werden als, Client, Mobil, mobile Vorrichtung, mobiles Endgerät, Anwenderendgerät, Mobileinheit, Mobilstation, mobiler Anwender, Teilnehmer, Anwender, entfernte Station, Zugangsagent, Anwenderagent, Empfänger, Funkausrüstung, umkonfigurierbare Funkausrüstung, umkonfigurierbare mobile Vorrichtung usw.
  • Beispiele von „Computervorrichtungen“, „Computersystemen“, „UEs“ usw. können Mobiltelefone, Smartphones, Featurephones, Tablet-Personalcomputer, tragbare Rechenvorrichtungen, autonome Sensoren, Laptop-Computer, Desktop-Personalcomputer, Videospielkonsolen, Digitalmedienspieler, handgehaltene Nachrichtenvorrichtungen, persönliche Datenassistenten, elektronische Buchleser, Vorrichtungen für erweiterte Realität-, Servercomputervorrichtungen (z. B. eigenständig, gestellmontiert, Blade usw.), Cloud-Rechendienste/-systeme, Netzelemente, fahrzeuginterne Infotainment-Vorrichtungen (IVI-Vorrichtungen), fahrzeuginterne Entertainment(ICE-Vorrichtungen), ein Kombiinstrument (IC), Sichtfeldanzeigevorrichtungen (HUD), Borddiagnosevorrichtungen (OBD), Dashtop-Mobilgeräte (DME), mobile Datenendgeräte (MDTs), ein elektronisches Kraftmaschinenverwaltungssystem (EEMS), elektronische/Kraftmaschinensteuereinheiten (ECUs), elektronische/Kraftmaschinensteuermodule (ECMs), eingebettete Systeme, Mikrosteuerungen, Steuermodule, Kraftmaschinenverwaltungssysteme (EMS), vernetzte oder „intelligente“ Geräte, Kommunikationsvorrichtungen vom Maschinentyp (MTC), Maschine-zu-Maschine-Vorrichtungen (M2M-Vorrichtungen), Internet-der-Dinge-Vorrichtungen (IoT-Vorrichtungen) und/oder beliebige andere elektronische Vorrichtungen umfassen. Darüber hinaus kann sich der Begriff „fahrzeugeingebettete Computervorrichtung“ auf eine beliebige Computervorrichtung und/oder ein Computersystem beziehen, die bzw. das physisch an einem Fahrzeug montiert, darin eingebaut oder anderweitig darin eingebettet ist.
  • Wie er hier verwendet wird, kann der Begriff „Netzelement“ als Synonym für Netzcomputer, Netzhardware, Netzausrüstung, Router, Switch, Hub, Brücke, Funknetzcontroller, Funkzugangsnetzvorrichtung, Gateway, Server und/oder eine ähnliche Vorrichtung angesehen werden und/oder so bezeichnet werden. Der Begriff „Netzelement“ kann eine physische Rechenvorrichtung eines drahtgebundenen oder drahtlosen Kommunikationsnetzes beschreiben und dazu ausgelegt sein, eine virtuelle Maschine zu hosten. Darüber hinaus kann der Begriff „Netzelement“ Ausrüstung beschreiben, die Funkbasisbandfunktionen für Daten- und/oder Sprachverbindungsfähigkeit zwischen einem Netz und einem oder mehreren Anwendern bereitstellt. Der Begriff „Netzelement“ kann als Synonym für „Basisstation“ betrachtet werden und/oder so bezeichnet werden. Wie er hier verwendet wird, kann der Begriff „Basisstation“ als Synonym für einen Knoten B, erweiterten oder weiterentwickelten Knoten B (eNB), Knoten B der nächsten Generation (gNB), Basissendeempfängerstation (BTS), Zugriffspunkt (AP), Straßenrandeinheit (RSU) usw. betrachtet werden und/oder so bezeichnet werden und kann Vorrichtungen beschreiben, die die Funkbasisbandfunktionen für Daten- und/oder Sprachverbindungsfähigkeiten zwischen einem Netz und einem oder mehreren Anwendern bereitstellen. Der Begriff „RSU“ kann sich auf jede Verkehrsinfrastruktureinheit beziehen, die in einem gNB/eNB oder einem stationären (oder relativ stationären) UE implementiert ist. Eine in einem UE implementierte RSU kann als „UE-Typ-RSU“ bezeichnet werden und eine in einem eNB implementierte RSU kann als „eNB-Typ-RSU“ bezeichnet werden. Wie sie hier verwendet werden, können sich die Begriffe „Fahrzeug-zu-Fahrzeug“ und „V2V“ auf jede Kommunikation beziehen, die ein Fahrzeug als Quelle oder Ziel einer Nachricht betrifft. Zusätzlich können die Begriffe „Fahrzeug-zu-Fahrzeug“ und „V2V“, wie sie hier verwendet werden, auch Fahrzeug-zu-Infrastruktur-Kommunikation (V2I-Kommunikation), Fahrzeug-zu-Netz-Kommunikation (V2N-Kommunikation), Fahrzeug-zu-Fußgänger-Kommunikation (V2P-Kommunikation) oder V2X-Kommunikation umfassen oder dazu gleichwertig sein.
  • Wie er hier verwendet wird, kann sich der Begriff „Kanal“ auf jedes Übertragungsmedium beziehen, entweder materiell oder immateriell, das zum Kommunizieren von Daten oder einem Datenstrom verwendet wird. Der Begriff „Kanal“ kann synonym mit und/oder äquivalent zu „Kommunikationskanal“, „Datenkommunikationskanal“, „Übertragungskanal“, „Datenübertragungskanal“, „Zugriffskanal“, „Datenzugriffskanal“, „Link“, „Daten-Link“, „Träger“, „Hochfrequenzträger“ und/oder einem anderen ähnlichen Begriff, der einen Weg oder ein Medium bezeichnet, über den/das Daten übertragen werden, sein. Zusätzlich kann sich der Begriff „Link“ auf eine Verbindung zwischen zwei Vorrichtungen über eine Funkzugriffstechnologie (RAT) beziehen, um Informationen zu senden und zu empfangen.
  • 1 zeigt eine beispielhafte Einrichtung 100 mit einer Vorrichtung 101, z. B. einem Host, die über einen Computerbus 105 mit einer anderen Vorrichtung 103 gekoppelt ist, gemäß verschiedenen Ausführungsformen. Die Vorrichtung 101 umfasst einen Port-Verwalter 117. Zur Verdeutlichung werden Merkmale der Einrichtung 100, der Vorrichtung 101, der Vorrichtung 103 und des Computerbusses 105 nachstehend als Beispiel beschrieben. Es versteht sich, dass mehr oder weniger Komponenten in der Einrichtung 100, der Vorrichtung 101, der Vorrichtung 103 und dem Computerbus 105 enthalten sein können. Ferner gilt es zu verstehen, dass eine oder mehrere der Vorrichtungen und Komponenten innerhalb der Einrichtung 100 zusätzliche und/oder abgewandelte Merkmale im Vergleich zu der nachstehenden Beschreibung aufweisen können und eine beliebige Vorrichtung umfassen können, die Fachleute als Host, Vorrichtung und Computerbus in Betracht ziehen und/oder bezeichnen würden. In einigen Ausführungsformen kann der Computerbus 105 eine CXL-Zwischenverbindung sein, während die Vorrichtung 101 und die Vorrichtung 103 zwei beliebige Vorrichtungen innerhalb einer Einrichtung 200 zur Kommunikation, die in 2 gezeigt ist, sein können, z. B. eine Schaltungsanordnung, ein Switch oder eine Vorrichtung. Der Port-Verwalter 117 kann ein Beispiel eines Port-Verwalters 211 oder eines Port-Verwalters 236, die in 2 gezeigt sind, sein.
  • In Ausführungsformen kann die Vorrichtung 101 den Prozessor 111 und einen Speicher 115 aufweisen. Ein Betriebssystem 113 kann auf dem Prozessor 111 arbeiten und kann einen Systemtreiber 114 und den Port-Verwalter 117 umfassen. Die Vorrichtung 103 kann durch den Computerbus 105 mit dem Prozessor 101 gekoppelt sein. Die Vorrichtung 103 kann eine mit dem Computerbus 105 gekoppelte Schnittstelle 131, einen Puffer 141 und einen Ablagespeicher 143 aufweisen. Die Schnittstelle 131 kann ein oder mehrere Register wie beispielsweise ein Fähigkeitskopfregister, ein Authentifizierungskopfregister, ein Authentifizierungsfähigkeitsregister, ein Authentifizierungsstatusregister, ein Authentifizierungssteuerregister, ein Schreibdatenpostfachregister, ein Lesedatenpostfachregister oder irgendwelche anderen Register umfassen.
  • In Ausführungsformen kann die Einrichtung 100 ein beliebiges Rechensystem oder eine beliebige Rechenplattform wie beispielsweise ein Laptop-Computer, ein Ultra-Laptop-Computer, ein Tablet, ein Berührungs-Tableau, ein tragbarer Computer, ein handgehaltener Computer, eine am Körper tragbare Vorrichtung, ein Palmtop-Computer, ein persönlicher digitaler Assistent (PDA), ein E-Reader, ein Mobiltelefon, eine Kombination aus Mobiltelefon/PDA, eine intelligente Mobilvorrichtung (z. B. ein Smartphone, ein intelligentes Tablet usw.), eine mobile Internetvorrichtung (MID), eine mobile Nachrichtenvorrichtung, eine mobile Datenkommunikationsvorrichtung, eine mobile Medienwiedergabevorrichtung, eine Kamera, eine mobile Spielekonsole usw. sein. In Ausführungsformen kann die Einrichtung 100 auch eine nicht mobile Vorrichtung sein, die ohne Einschränkung darauf beispielsweise einen PC, einen Fernseher, einen intelligenten Fernseher, eine Datenkommunikationsvorrichtung, eine Medienwiedergabevorrichtung, eine Spielekonsole, ein Gateway, eine Internet-der-Dinge-Vorrichtung (IOT-Vorrichtung) usw. umfassen kann. Die Einrichtung 100 kann Controller (oder Prozessoren) und andere Komponenten umfassen, die Software ausführen und/oder Hardware steuern, um lokale Programme auszuführen oder Dienste, die von externen Dienstanbietern über ein Netz bereitgestellt werden, in Anspruch zu nehmen. Beispielsweise kann die Einrichtung 100 einen oder mehrere Software-Clients oder -Anwendungen aufweisen, die lokal ausgeführt werden und/oder webbasierte Dienste (z. B. Online-Shops oder -Dienste, Dienste sozialer Netze usw.) nutzen oder darauf zugreifen. Die Einrichtung 100 kann zudem oder stattdessen eine in einem Browser laufende Webschnittstelle aufweisen, von der aus die elektronische Vorrichtung auf solche webbasierten Dienste zugreifen kann. Die Einrichtung 100 kann auch Speichervorrichtungen zum Speichern von Logik und Daten, die den von der Einrichtung 100 verwendeten Programmen und Diensten zugeordnet sind, aufweisen.
  • In Ausführungsformen kann der Prozessor 111 eine zentrale Verarbeitungseinheit (CPU) sein. In einigen Ausführungsformen kann der Prozessor 111 eine programmierbare Vorrichtung sein, die ein Programm ausführen kann, z. B. den Systemtreiber 114. In Ausführungsformen kann der Prozessor 111 ein Mikrocontroller, ein 16-Bit-Prozessor, ein 32-Bit-Prozessor, ein 64-Bit-Prozessor, ein Einkern-Prozessor, ein Mehrkern-Prozessor, ein Digitalsignalprozessor, ein eingebetteter Prozessor oder ein beliebiger anderer Prozessor sein.
  • In Ausführungsformen kann das Betriebssystem 113 eine beliebige Systemsoftware sein, die Hardware- oder Software-Betriebsmittel für die Einrichtung 100 verwaltet und Dienste für Anwendungen bereitstellt, z. B. den Systemtreiber 114. Das Betriebssystem 113 kann unter anderem Windows®, Android OS, iOS, Linux, ein Echtzeit-Betriebssystem (RTOS), ein Automobilindustrie-Infotainment-Betriebssystem sein. Beispielsweise kann das Betriebssystem 113 ein Echtzeitbetriebssystem wie VxWorks, PikeOS, eCos, QNX, MontaVista Linux, RTLinux, Windows CE oder ein anderes Betriebssystem sein.
  • In Ausführungsformen kann der Computerbus 105 ein externer Computerbus, ein interner Computerbus, ein serieller Computerbus oder ein paralleler Computerbus sein. Beispielsweise kann der Computerbus 105 ein PCI-Bus, ein erweiterter PCI-Bus (PCI-X-Bus), ein PCI-Express-Bus, ein universeller serieller Bus (USB), ein paralleler Bus für Anbindung mit fortgeschrittener Technologie (PATA-Bus), ein serieller ATA-Bus (SATA-Bus), ein interintegrierter Schaltungsbus (I2C-Bus), ein IEEE-1394-Schnittstellen-Bus (FireWire-Bus), ein Kleincomputersystemschnittstellen-Bus (SCSI-Bus), ein Bus für die skalierbare kohärente Schnittstelle (SCI-Bus) oder ein anderer Computerbus sein.
  • In Ausführungsformen kann die Vorrichtung 103 ein beliebiges Stück Computerhardware sein. Beispielsweise kann die Vorrichtung 103 eine Netzschnittstellenkarte, eine Audiokarte, ein Videocontroller, ein Ethernet-Controller, eine Webcam, eine Maus, ein Bluetooth-Controller, eine PCI-zu-ISA-Brücke, ein GUI-Beschleuniger, ein ATM-Controller, eine Multimedia-Karte, ein SCSI-Controller, eine Multimedia-Vorrichtung, ein MPEG-II-Videodecodierer oder eine beliebige Eingabe-/Ausgabevorrichtung sein. In Ausführungsformen kann die Vorrichtung 103 eine PCI-Vorrichtung sein, die direkt in einen PCI-Steckplatz auf der Hauptplatine eines Computers eingesteckt werden kann. In einigen anderen Ausführungsformen kann die Vorrichtung 103 durch einen anderen Computerbus mit dem Prozessor 111 verbunden sein.
  • 2 zeigt die beispielhafte Einrichtung 200 zur Kommunikation, die einen Port-Verwalter 211 zum Verwalten eines Kommunikationskanals zwischen einem stromabwärtigen Port 215 einer Schaltungsanordnung 201 und einem stromaufwärtigen Port 251 einer Vorrichtung 205 über einen Switch 203 umfasst, gemäß verschiedenen Ausführungsformen. 3 zeigt einen beispielhaften Prozess 300, der von einem Port-Verwalter, z. B. dem Port-Verwalter 211, ausgeführt wird, um einen Kommunikationskanal zwischen einem stromabwärtigen Port einer Schaltungsanordnung und einem stromaufwärtigen Port einer Vorrichtung über einen Switch zu verwalten, gemäß verschiedenen Ausführungsformen.
  • In Ausführungsformen umfasst die Einrichtung 200 zur Kommunikation die Schaltungsanordnung 201, die mit einer Speichervorrichtung 204 und einer Zentralprozessoreinheit (CPU) 202 gekoppelt ist. Die Schaltungsanordnung 201 ist ferner über den Switch 203 mit der Vorrichtung 205 gekoppelt. Die Schaltungsanordnung 201 kann ein Root-Komplex sein. Die Vorrichtung 205 kann eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe- /Ausgabe-Controller umfassen. Alle oder einige der Komponenten, z. B. die Schaltungsanordnung 201, die Speichervorrichtung 204, die CPU 202, der Switch 203 und die Vorrichtung 205, können auf einer Leiterplatte (PCB) montiert sein.
  • In Ausführungsformen umfasst die Schaltungsanordnung 201 den stromabwärtigen Port 215 und kann ferner zusätzliche stromabwärtige Ports, z. B. einen stromabwärtigen Port 217, umfassen. Die Schaltungsanordnung 201 ist ferner über einen Link 212 zwischen dem stromabwärtigen Port 215 und einem stromaufwärtigen Port 231 des Switches 203 mit dem Switch 203 gekoppelt. Der Link 212 kann mit einem ersten Protokoll kompatibel sein. Der Switch 203 ist durch einen Link 232 zwischen einem stromabwärtigen Port 233 des Switches 203 und dem stromaufwärtigen Port 251 der Vorrichtung 205 mit der Vorrichtung 205 gekoppelt. Der Link 232 kann mit einem zweiten Protokoll kompatibel sein. Zusätzlich ist eine Vorrichtung 206 auch durch einen Link 219 zwischen dem stromabwärtigen Port 217 der Schaltungsanordnung 201 und einem stromaufwärtigen Port 218 der Vorrichtung 206 mit der Schaltungsanordnung 201 gekoppelt. Der Link 219 kann mit dem zweiten Protokoll oder dem ersten Protokoll kompatibel sein. Dementsprechend kann die Schaltungsanordnung 201 an dem stromabwärtigen Port 217 gemäß dem zweiten Protokoll arbeiten und kann an dem stromabwärtigen Port 215 in einem Doppelmodus gemäß dem ersten Protokoll oder dem zweiten Protokoll arbeiten.
  • In einigen Ausführungsformen kann das erste Protokoll das CXL-2.0-Protokoll sein und das zweite Protokoll kann das CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll sein. Der Link 212, der Link 232 und der Link 219 können ein PCI-Bus, ein PCI-X-Bus, ein PCI-Express-Bus, ein CXL-1.0-Bus, ein CXL-1.1-Bus, ein CXL-2.0-Bus oder ein anderer Computerbus sein.
  • In Ausführungsformen umfasst die Schaltungsanordnung 201 ferner den Port-Verwalter 211, einen Satz dedizierter Register 213 in einem MMIO-Adressraum der Schaltungsanordnung 201 und einen Satz dedizierter Busse 216 für den Link 212 zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 231 des Switches 203. Der Satz dedizierter Register 213 kann eine Anzahl von Registern in Schaltungsregisterblöcken (RCRB) oder eine Anzahl von Speicherbasisadressenregistern 0 (MEMBAR0) umfassen. Beispielsweise umfasst der Satz dedizierter Register 213 eine Folge von Registern zwischen einem Basisregister und einem Limitregister.
  • In Ausführungsformen umfasst der Switch 203 einen Port-Verwalter 236, den stromaufwärtigen Port 231 und den stromabwärtigen Port 233. Der Switch 203 umfasst ferner einen ersten Satz dedizierter Register 235 und einen ersten Satz dedizierter Busse 236 des stromaufwärtigen Ports 231 des Switches 203 zur Kommunikation über den Link 212. Der Switch 203 umfasst auch einen zweiten Satz dedizierter Register 237 und einen zweiten Satz dedizierter Busse 234 des stromabwärtigen Ports 233 zur Kommunikation über den Link 232.
  • In Ausführungsformen kann eine Anzahl von Registern in dem Satz von dedizierten Registern 213 in der Schaltungsanordnung 201 größer oder gleich einer Anzahl von Registern in dem ersten Satz von dedizierten Registern 235 in dem Switch 203 sein und die Anzahl von Registern in dem ersten Satz von dedizierten Registern 235 in dem Switch 203 kann größer oder gleich einer Anzahl von Registern in dem zweiten Satz von dedizierten Registern 237 in dem Switch 203 sein.
  • In Ausführungsformen kann eine Anzahl von Bussen in dem Satz von dedizierten Bussen 216 in der Schaltungsanordnung 201 größer oder gleich einer Anzahl von Bussen in dem ersten Satz von dedizierten Bussen 236 des stromaufwärtigen Ports 231 des Switches 203 sein und die Anzahl von Bussen in dem ersten Satz von dedizierten Bussen 236 des stromaufwärtigen Ports 231 des Switches 203 kann größer oder gleich einer Anzahl von Bussen in dem zweiten Satz von dedizierten Bussen 234 des stromabwärtigen Ports 233 des Switches 203 sein.
  • In Ausführungsformen können der Port-Verwalter 211 der Schaltungsanordnung 201 oder der Port-Verwalter 236 des Switches 203 verschiedene Betriebe ausführen. Beispielsweise kann der Port-Verwalter 211 der Schaltungsanordnung 201 den in 3 gezeigten Prozess 300 ausführen, um einen Kommunikationskanal zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 251 der Vorrichtung 205 über den Switch 203 zu verwalten.
  • Der Prozess 300 kann bei einer Interaktion 301 beginnen. Während der Interaktion 301 können Operationen durch den Port-Verwalter ausgeführt werden, um einen ersten Link-Zustand oder einen zweiten Link-Zustand der Schaltungsanordnung 201 zu detektieren. Unter dem ersten Link-Zustand ist ein erster Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und einem stromaufwärtigen Port eines mit der Schaltungsanordnung gekoppelten Switches mit einem ersten Protokoll kompatibel und ein zweiter Link zwischen einem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit dem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand besteht der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und ist mit dem ersten Protokoll kompatibel. Es gibt jedoch keinen zweiten Link, der mit dem zweiten Protokoll kompatibel ist, zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung. Beispielsweise können bei der Interaktion 301 Operationen durch den Port-Verwalter 211 ausgeführt werden, um einen ersten Link-Zustand oder einen zweiten Link-Zustand der Schaltungsanordnung 201 zu detektieren. Unter dem ersten Link-Zustand ist der Link 212 zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 231 des Switches 203 mit dem ersten Protokoll kompatibel und der Link 232 zwischen dem stromabwärtigen Port 233 des Switches 203 und dem stromaufwärtigen Port 251 der Vorrichtung 205 mit dem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand existiert der Link 212 zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 231 des Switches 203 und ist mit dem ersten Protokoll kompatibel. Es gibt jedoch keinen Link, der mit dem zweiten Protokoll kompatibel ist, zwischen dem stromabwärtigen Port 233 des Switches 203 und einem stromaufwärtigen Port einer Vorrichtung. Der zweite Link-Zustand ist in 2 nicht gezeigt. Es kann verschiedene Situationen geben, in denen kein Link, der mit dem zweiten Protokoll kompatibel ist, zwischen dem stromabwärtigen Port 233 des Switches 203 und einem stromaufwärtigen Port einer Vorrichtung ist. In einigen Ausführungsformen ist möglicherweise keine Vorrichtung an dem stromabwärtigen Port 233 des Switches 203 angebunden. In einigen anderen Ausführungsformen kann es einen Link geben, der eine Vorrichtung mit dem stromabwärtigen Port 233 des Switches 203 koppelt, jedoch kann der Link mit dem ersten Protokoll anstelle des zweiten Protokolls kompatibel sein.
  • Während der Interaktion 303 können bei Detektion des ersten Link-Zustands Operationen durch den Port-Verwalter ausgeführt werden, um den stromabwärtigen Port der Schaltungsanordnung gemäß dem zweiten Protokoll zu betreiben. Beispielsweise können bei der Interaktion 303 bei Detektion des ersten Link-Zustands Operationen durch den Port-Verwalter 211 ausgeführt werden, um den stromabwärtigen Port 215 der Schaltungsanordnung 201 gemäß dem zweiten Protokoll zu betreiben, das das mit dem Link 232 kompatible Protokoll ist. Dementsprechend kann der stromabwärtige Port 215 gemäß dem ersten Protokoll, das mit dem Link 212 kompatibel ist, oder dem zweiten Protokoll, das mit dem Link 232 kompatibel ist, arbeiten. Bei Detektion des ersten Link-Zustands existiert der Link 232 und ist mit dem zweiten Protokoll kompatibel, während der Link 212 mit dem ersten Protokoll kompatibel ist, das sich von dem zweiten Protokoll unterscheidet.
  • Während der Interaktion 304 können bei Detektion des zweiten Link-Zustands Operationen durch den Port-Verwalter ausgeführt werden, um den stromabwärtigen Port der Schaltungsanordnung gemäß dem ersten Protokoll zu betreiben. Beispielsweise können bei der Interaktion 304 bei Detektion des zweiten Link-Zustands Operationen durch den Port-Verwalter 211 ausgeführt werden, um den stromabwärtigen Port 215 der Schaltungsanordnung 201 gemäß dem ersten Protokoll zu betreiben, das das mit dem Link 212 kompatible Protokoll ist. Bei Detektion des zweiten Link-Zustands ist der Link 232 möglicherweise nicht vorhanden oder vorhanden, aber nicht mit dem zweiten Protokoll kompatibel, während der Link 212 mit dem ersten Protokoll kompatibel ist, das sich von dem zweiten Protokoll unterscheidet.
  • Während der Interaktion 305 können Operationen durch den Port-Verwalter ausgeführt werden, um einem Kommunikationskanal zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung einen ersten Satz dedizierter Register in der Schaltungsanordnung und einen ersten Satz dedizierter Busse zuzuweisen, um den Austausch der einen oder mehreren Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll zu ermöglichen. Der Kommunikationskanal umfasst einen ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und einen zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung. Beispielsweise können bei der Interaktion 305 Operationen durch den Port-Verwalter 211 ausgeführt werden, um einen ersten Satz dedizierter Register, z. B. den Satz dedizierter Register 213, in der Schaltungsanordnung 201 und einen ersten Satz dedizierter Busse, z. B. den Satz dedizierter Busse 216, einem Kommunikationskanal zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 251 der Vorrichtung 205 zuzuweisen, um den Austausch der einen oder mehreren Nachrichten zwischen der Schaltungsanordnung 201 und der Vorrichtung 205 gemäß dem zweiten Protokoll zu ermöglichen. Der Kommunikationskanal umfasst einen ersten Link, z. B. den Link 212, zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 231 des Switches 203 und einen zweiten Link, z. B. den Link 232, zwischen dem stromabwärtigen Port 233 des Switches 203 und dem stromaufwärtigen Port 251 der Vorrichtung 205. Das zweite Protokoll ist das Protokoll, das mit dem Link 232 kompatibel ist, mit dem die Vorrichtung 205 an den Switch 203 angebunden ist. Daher soll die Kommunikation zwischen der Schaltungsanordnung 201 und der Vorrichtung 205 dem Protokoll, das mit dem Link 232 kompatibel ist, mit dem die Vorrichtung 205 an dem Switch 203 angebunden ist, folgen. Andererseits kann der stromabwärtige Port 215 der Schaltungsanordnung 201 sowohl mit dem ersten Protokoll als auch mit dem zweiten Protokoll kompatibel sein. In einigen Ausführungsformen kann die Schaltungsanordnung 201 ein Root-Komplex für das CXL-2.0-Protokoll sein, der Switch 203 kann ein Switch für das CXL-2.0-Protokoll sein und die Vorrichtung 205 kann eine Vorrichtung für das CXL-1.1- oder 1.1-Protokoll sein. Das erste Protokoll ist das CXL-2.0-Protokoll, und das zweite Protokoll ist das CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll. Dementsprechend ermöglicht der Port-Verwalter 211, dass eine CXL-1.1-Vorrichtung oder eine CXL-1.0-Vorrichtung, z. B. die Vorrichtung 205, an einen CXL-2.0-Switch, z. B. den Switch 203, angebunden wird. Weitere Einzelheiten solcher Beispiele sind in 4(a)-4(c) gezeigt.
  • Während der Interaktion 307 kann der Port-Verwalter Operationen ausführen, um eine oder mehrere Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal auszutauschen, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst. Beispielsweise können bei der Interaktion 307 Operationen durch den Port-Verwalter 211 ausgeführt werden, um eine oder mehrere Nachrichten zwischen der Schaltungsanordnung 201 und der Vorrichtung 205 gemäß dem zweiten Protokoll auf einem Kommunikationskanal zwischen der Schaltungsanordnung 201 und der Vorrichtung 205 auszutauschen. Der Kommunikationskanal umfasst einen ersten Link, z. B. den Link 212, zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 231 des Switches 203 und einen zweiten Link, z. B. den Link 232, zwischen dem stromabwärtigen Port 233 des Switches 203 und dem stromaufwärtigen Port 251 der Vorrichtung 205.
  • Während der Interaktion 309 können Operationen durch den Port-Verwalter ausgeführt werden, um die Übertragung der einen oder mehreren Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link sowie eines dritten Satzes dedizierter Register in dem Switch und eines dritten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link zu verwalten. Beispielsweise können bei der Interaktion 309 Operationen durch den Port-Verwalter 211 ausgeführt werden, um die Übertragung der einen oder mehreren Nachrichten zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 251 der Vorrichtung 205 gemäß dem zweiten Protokoll zu verwalten. Die Übertragung der einen oder mehreren Nachrichten kann durch dedizierte Register und dedizierte Busse für jeden stromabwärtigen Port oder stromaufwärtigen Port des Kommunikationspfads ermöglicht werden. Im Einzelnen kann der Port-Verwalter 211 dazu ausgelegt sein, einen zweiten Satz dedizierter Register, z. B. den Satz dedizierter Register 235, in dem Switch 203 und einen zweiten Satz dedizierter Busse, z. B. den Satz dedizierter Busse 236, des stromaufwärtigen Ports 231 des Switches 203 zur Kommunikation über den Link 212 und einen dritten Satz dedizierter Register, z. B. den Satz dedizierter Register 237, in dem Switch 203 und einen dritten Satz dedizierter Busse, z. B. den Satz dedizierter Busse 234 des stromabwärtigen Ports 233 des Switches 203, zur Kommunikation über den Link 232 zu verwenden.
  • In Ausführungsformen kann die Verwendung des zweiten Satzes dedizierter Register in dem Switch und des zweiten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches und des dritten Satzes dedizierter Register in dem Switch und des dritten Satzes dedizierter Busse des stromabwärtigen Ports des Switches von dem Port-Verwalter 236 des Switches 203 verwaltet oder zwischen dem Port-Verwalter 236 des Switches 203 und dem Port-Verwalter 211 der Schaltungsanordnung 201 koordiniert werden. Beispielsweise kann der Port-Verwalter 236 des Switches 203 auch einen Prozess ausführen, der dem Prozess 300 für den Port-Verwalter 211 ähnlich ist. Im Einzelnen kann der Port-Verwalter 236 des Switches 203 einen ersten Link-Zustand oder einen zweiten Link-Zustand des Switches 203 detektieren. Unter dem ersten Link-Zustand ist ein erster Link zwischen dem stromaufwärtigen Port 231 des Switches 201 und dem stromabwärtigen Port 215 der Schaltungsanordnung 201 mit dem ersten Protokoll kompatibel und ein zweiter Link zwischen dem stromabwärtigen Port 233 des Switches 203 und dem stromaufwärtigen Port 251 der mit dem Switch 203 gekoppelten Vorrichtung 205 mit dem zweiten Protokoll kompatibel. Unter dem zweiten Link-Zustand ist der erste Link zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 231 des Switches 203 mit dem ersten Protokoll kompatibel, ohne dass der zweite Link zwischen dem stromabwärtigen Port 233 des Switches 203 und einem stromaufwärtigen Port einer Vorrichtung mit dem zweiten Protokoll kompatibel ist. Bei Detektion des ersten Link-Zustands soll der Port-Verwalter 236 den stromaufwärtigen Port 231 des Switches 203 und den stromabwärtigen Port 233 des Switches 203 gemäß dem zweiten Protokoll betreiben. Bei Detektion des zweiten Link-Zustands soll der Port-Verwalter 236 den stromaufwärtigen Port 231 des Switches 203 gemäß dem ersten Protokoll betreiben. Darüber hinaus soll der Port-Verwalter 236 die Übertragung einer oder mehrerer Nachrichten zwischen dem stromabwärtigen Port 215 der Schaltungsanordnung 201 und dem stromaufwärtigen Port 251 der Vorrichtung 205 gemäß dem zweiten Protokoll unter Verwendung eines ersten Satzes dedizierter Register, z. B. des Satzes dedizierter Register 235 in dem Switch 203, und eines ersten Satzes dedizierter Busse, z. B. des Satzes dedizierter Busse 236, des stromaufwärtigen Ports 231 des Switches 203 zur Kommunikation über den ersten Link, z. B. den Link 212, und eines zweiten Satzes dedizierter Register, z. B. des Satzes dedizierter Register 237, in dem Switch 203 und eines zweiten Satzes dedizierter Busse, z. B. des Satzes dedizierter Busse 234, des stromabwärtigen Ports 233 des Switches 203 zur Kommunikation über den zweiten Link, z. B. den Link 232, verwalten.
  • 4(a)-4(c) zeigen verschiedene Architekturen für eine Vorrichtung, die über einen Switch durch Compute-Express-Links (CXL) an einen Root-Komplex gekoppelt ist, gemäß verschiedenen Ausführungsformen. 4(a) zeigt eine beispielhafte CXL-Hierarchie gemäß verschiedenen Ausführungsformen. Die in 4(a) dargestellte CXL-Hierarchie kann ein Beispiel für die in 2 gezeigte Einrichtung 200 zur Kommunikation sein und Vorrichtungen umfassen, die durch einen Computerbus gekoppelt sind, der auf den in 1 gezeigten Computerbus 105 anwendbar ist, wenn der Computerbus 105 eine CXL-Zwischenverbindung ist. 4(b) zeigt ein Beispiel für ein CXL-Softwaremodell (SW) für eine CXL-Vorrichtung, die direkt an den Root-Komplex angebunden ist. 4(c) zeigt eine beispielhafte Adressdecodierungsisolation, um die Kommunikation zwischen einem stromabwärtigen Port des Root-Komplexes und einem stromaufwärtigen Port einer Vorrichtung über einen Switch zu ermöglichen, gemäß verschiedenen Ausführungsformen.
  • 4(a) zeigt eine beispielhafte CXL-2.0-Hierarchie, die eine Einrichtung 400 ist. Die Einrichtung 400 weist einen Root-Komplex 401 auf, der über einen Switch 403 mit einer Vorrichtung 405 gekoppelt ist. Der Root-Komplex 401 ist ferner mit einer Vorrichtung 406 gekoppelt. Die Einrichtung 400, der Root-Komplex 401, der Switch 403, die Vorrichtung 405 und die Vorrichtung 406 sind Beispiele der Einrichtung 200, der Schaltungsanordnung 201, des Switches 203, der Vorrichtung 205 und der Vorrichtung 206, wie sie in 2 gezeigt sind.
  • In Ausführungsformen umfasst der Root-Komplex 401 einen stromabwärtigen Port 415 und einen stromabwärtigen Port 417. Der Root-Komplex 401 ist ferner über einen Link 412 zwischen dem stromabwärtigen Port 415 und einem stromaufwärtigen Port 431 des Switches 403 mit dem Switch 403 gekoppelt. Der Link 412 kann mit einem ersten Protokoll kompatibel sein. Der Switch 403 ist mit der Vorrichtung 405 durch einen Link 432 zwischen einem stromabwärtigen Port 433 des Switches 403 und dem stromaufwärtigen Port 451 der Vorrichtung 405 gekoppelt. Der Switch 403 kann ferner einen stromabwärtigen Port 438 aufweisen, der mit einer weiteren Vorrichtung gekoppelt werden soll, die nicht gezeigt ist. Der Link 432 kann mit einem zweiten Protokoll kompatibel sein. Zusätzlich ist die Vorrichtung 406 auch durch einen Link 419 zwischen dem stromabwärtigen Port 417 des Root-Komplexes 401 und einem stromaufwärtigen Port 418 der Vorrichtung 406 mit dem Root-Komplex 401 gekoppelt. Der Link 419 kann mit dem zweiten Protokoll kompatibel sein. Die Vorrichtung 406 kann verschiedene Funktionen aufweisen, z. B. eine Funktion 461. Dementsprechend kann der Root-Komplex 401 an dem stromabwärtigen Port 417 gemäß dem zweiten Protokoll arbeiten und an dem stromabwärtigen Port 415 in einem Doppelmodus gemäß dem ersten Protokoll oder dem zweiten Protokoll arbeiten. In einigen Ausführungsformen kann das erste Protokoll das CXL-2.0-Protokoll sein, und das zweite Protokoll kann das CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll sein. Der Link 212, der Link 232 und der Link 219 können ein PCI-Bus, ein PCI-X-Bus, ein PCI-Express-Bus, ein CXL-1.0-Bus, ein CXL-1.1-Bus, ein CXL-2.0-Bus oder ein anderer Computerbus sein.
  • In Ausführungsformen können der Root-Komplex 401 und der Switch 403 CXL-2.0-kompatibel sein und es wird erwartet, dass sie bimodal sind und während des Trainings detektieren, ob eine Verbindung mit einer CXL-1.1-Vorrichtung, z. B. der Vorrichtung 205, oder einer CXL-2.0-Vorrichtung besteht. Sie kommen im Endpunkt-Modus (EP-Modus) zum Vorschein, wenn die Vorrichtung 405 eine CXL-2.0-Vorrichtung ist. Sie kommen im RC/RCiEP-Modus zum Vorschein, wenn die Vorrichtung 405 eine CXL-1.1-Vorrichtung ist.
  • Ausführungsformen hier präsentieren Techniken, die oben beschrieben sind, z. B. die Beschreibung für 2 und 3, um eine CXL-1.1-Vorrichtung funktionsfähig zu machen, wenn sie an einen CXL-2.0-Switch (die Komponenten innerhalb des Kreises) angebunden ist. Dieses Schema kann auf komplexere Konfigurationen wie verschachtelte Switches oder mehrere CXL-1.1-Vorrichtungen unterhalb eines Switches skaliert werden. Ein Aspekt der hier vorgestellten Technik ist die Adressdecodierungsisolation, wie sie in 4(c) beschrieben ist.
  • Im Einzelnen zeigt 4(b) den stromabwärtigen CXL-Port 417, den stromaufwärtigen CXL-Port 418 und den Link 419, die für die Alt-PCIe-Zählungssoftware nicht sichtbar sind und im MMIO-Raum abgebildet sind. Das in 4(b) gezeigte CXL-SW-Modell kann für CXL-1.1-Vorrichtungen, z. B. die Vorrichtung 406, sein.
  • CXL-1.1-Vorrichtungen, z. B. die Vorrichtung 406, können als RCiEP erscheinen. Die aktuelle PCIe-Architektur erlaubt jedoch keine RCiEPs unterhalb eines Switches. Ausführungsformen hier können einen Mechanismus definieren, der es ermöglicht, CXL-1.1-Vorrichtungen unterhalb eines CXL-2.0-Switches anzubinden, ohne dass ein Umschreiben der PCIe-Zählungssoftware erforderlich ist. Ausführungsformen hier können es CXL-1.1-Vorrichtungen ermöglichen, in einem CXL-2.0-System korrekt zu arbeiten, unabhängig davon, in welchem Schlitz sie platziert sind - entweder an die CPU angebunden oder hinter einem CXL-2.0-Switch.
  • 4(c) zeigt eine beispielhafte Adressdecodierungsisolation, um die Kommunikation zwischen einem stromabwärtigen Port des Root-Komplexes und einem stromaufwärtigen Port einer Vorrichtung über einen Switch zu ermöglichen. Dies beinhaltet ein Hinzufügen von MMIO-Registern und Busdecodierungsbereichen zum Root-Komplex, zum stromaufwärtigen Switch-Port und zum stromabwärtigen Switch-Port. Diese Bereiche werden als CXL MMIO/Bus-Fenster bezeichnet. Sie verhalten sich ähnlich wie die Standard-PCIe-MMIO/Bus-Fensterregister im Typ 1-Kopf, bestehen jedoch zusätzlich zu denjenigen des PCIe. Die MMIO-Register können Folgendes enthalten:
    Register Definition
    CXL.IO-Speicherbasis, CXL.IO-Speicherlimit Äquivalent und zusätzlich zu den vorabrufbaren Speicherbasis/Speicherlimit-Registern im Typ-1-Konfigurationsraumkopf. 64-Bit-Decodierer.
    Sekundäre CXL.IO-Busnummer Untergeordnete CXL.IO-Busnummer Äquivalent und zusätzlich zu den Registern für die sekundäre Busnummer und die untergeordnete Busnummer im Typ-1-Konfigurationsraumkopf.
    CXL.IO-Speicherraum-Freigabe Steuert, ob die CXL.IO-Speicherdecodierung aktiv ist, isoliert den stromabwärtigen Decodierungspfad von den PCIe-Root-Port-/Switch-Port-Speicherraum-Freigabebits
    CLX.IO-Bus-Master-Freigabe Steuert, ob die stromaufwärtigen Transaktionen mit Busnummer im Bereich (CXL.IO sekundär, CXL.IO untergeordnet) weitergeleitet werden, isoliert den stromabwärtigen Decodierungspfad von den PCIe-Root-Port-/Switch-Port-Bus-Master-Freigabebits
    Sperre Die System-Firmware sperrt möglicherweise die CXL.IO-Decodierer, um zu verhindern, dass OSPM diese modifiziert
  • Wie es in 4(c) gezeigt ist, werden verschiedene Sätze dedizierter Register und dedizierter Busse zu dem Root-Komplex oder dem Switch hinzugefügt, um eine Adressdecodierungsisolation zu erzielen. Die Adressdecodierungsisolation erzeugt die Illusion, dass die CXL 1.1-Vorrichtung kein untergeordnetes Element des CXL-2.0-Root-Komplexes ist, sondern ein CXL-1.1-RCiEP, der ein Peer des Root-Komplexes ist. PCIe-SW kennt das CXL-MMIO/Bus-Fenster nicht und kann es nicht modifizieren. Der stromabwärtige Port 415 ist als Komponente A gekennzeichnet, der stromaufwärtigen Port 431 ist als Komponente B gekennzeichnet, der stromabwärtige Port 433 ist als Komponente C gekennzeichnet und der stromaufwärtige Port 451 ist als Komponente D gekennzeichnet.
  • In der CXL-1.1-Welt umfassen der stromaufwärtige und der stromabwärtige Port jeweils einen speicherabgebildeten 4K-RCRB-Bereich und einen 64K-SPEICHERBASISADRESSREGISTER0-Bereich. Der stromabwärtige CXL-Port erfasst beim Arbeiten im 1.1-Modus die RCRB-Basis anhand der Adresse des ersten Lesevorgangs, den er beobachtet. Dieses Verhalten bleibt erhalten und es sind keine Änderungen an der CXL-1.1-Vorrichtung erforderlich.
  • Hier ist ein Beispiel einer Adressdecodierungsisolation im Betrieb,
    CXL-MMIO-Fenster in A = 2 GB bis 2,125 GB
    a. C erhält einen Bereich von 2 GB bis 2,125 GB
    1. a. C erhält einen Bereich von 2 GB bis 2,125 GB
    2. b. C RCRB-Basis = 2 GB
    3. c. D RCRB-Basis = 2 GB + 4 KB
    4. d. C MEMBAR0-Basis = 2 GB + 64 KB
    5. e. D MEMBAR0-Basis = 2 GB + 128 KB CXL-Bus-Fenster in A = {24,24} C-Register sind im Konfigurationsraum nicht sichtbar und nur über RCRB zugänglich, wie eine CXL-1.1.-RC-UEFI meldet C als neue Host-Brücke und CXL-Vorrichtung als RCiEP darunter unter der Basisbusnummer (BBN) = 24.
  • Initialisierungsablauf
    • A.Während des Trainings
      1. 1. A detektiert einen CXL-2.0-Switch und kommt in 2.0-Modus
      2. 2. B detektiert einen Bi-Modell-RC und kommt in 2.0-Modus
      3. 3. C detektiert CXL-1.1-Vorrichtung und kommt in 1.1-RC-Modus
      4. 4. D kommt in RCiEP-Modus, da es eine CXL-1.1-Vorrichtung ist und dies der einzige Modus ist, den sie unterstützt
    • B. SW-Programmierung
      1. 1. Detektiere, ob sich in der Hierarchie ein CXL-1.1-RC befindet. In diesem Fall erkennt SW einen unter B. SW fährt dann mit den restlichen Initialisierungsschritten fort.
      2. 2. A: Konfiguriere CXL-MMIO-Basis = BASE, sekundärer CXL-Bus = N
      3. 3. A: Konfiguriere CXL-MMIO-Limit = LIMIT, untergeordneter CXL-Bus = N
      4. 4. B: Konfiguriere CXL-MMIO-Basis = BASE, sekundärer CXL-Bus = N
      5. 5. B: Konfiguriere CXL-MMIO-Limit = LIMIT, untergeordneter CXL-Bus = N
      6. 6. C: Konfiguriere CXL-MMIO-Basis = BASE, sekundäre CXL-Basis = N
      7. 7. C: Konfiguriere CXL-MMIO-Limit = LIMIT, CXL untergeordneter CXL-Bus = N. Programmierschritte 2-7 konfigurieren die Register, die hier eingeführt werden. Diese stellen sicher, dass der MMIO-Bereich {BASE, LIMIT} über C an D weitergeleitet wird.
      8. 8. Erteile 4B-Lesen bis BASE. C erfasst es als RCRB-Basis. Diese Aktion und andere Aktionen zusammen tragen dazu bei, die hier vorgestellten Techniken zu vereinfachen.
      9. 9. Erteile 4B-Lesen bis BASE+4K. D erfasst es als RCRB-Basis. So verhält sich der stromaufwärtige CXL-1.1-Port heute.
      10. 10. Programmiere MEMBARO in C, D. Ähnlich wie CXL-1. 1-Ablauf.
      11. 11. Konfiguriere den Link zwischen C, D. Ähnlich wie CXL-1.1-Ablauf.
      12. 12. Erteile ein Konfigurationsschreiben in Bus N, Vorrichtung 0, Funktion 0. CXL-1.1-Vorrichtung wird die Busnummer basierend auf diesem Schreiben erfassen. Genauso wie CXL-1.1-Verhalten.
      13. 13. Zähle D wie eine CXL-1.1-Vorrichtung
  • Alt-PCIe-Zählungssoftware kann sich auf das Vorhandensein der Vorrichtungsnummer 0 und der Funktionsnummer 0 auf der PCIe-Busnummer innerhalb des Switches stützen. Wenn sich der in dem CXL-1.1-Modus betriebene stromabwärtige Port ursprünglich bei Vorrichtung #0, Funktion #0 befand, muss der Switch möglicherweise zusätzliche Schritte ausführen, um die Kompatibilität mit Alt-Software sicherzustellen. Diese Schritte können ein Umnummerieren von Vorrichtungs- /Funktionsnummern, ein Platzieren eines stromabwärtigen Dummy-Ports bei Vorrichtung #0, Funktion #0 usw. umfassen.
  • 5 zeigt eine beispielhafte Vorrichtung, die für eine Verwendung zum Umsetzen verschiedener Aspekte der vorliegenden Offenbarung geeignet ist, gemäß verschiedenen Ausführungsformen. Die Vorrichtung 500 kann verwendet werden, um Funktionen der Einrichtung 100, der Einrichtung 200, des Prozesses 300 oder der Einrichtung 400 umzusetzen. Wie es gezeigt ist, kann die Vorrichtung 500 einen oder mehrere Prozessoren 502, die jeweils einen oder mehrere Prozessorkerne aufweisen, oder/und gegebenenfalls einen Hardwarebeschleuniger 503 (der eine ASIC oder ein FPGA sein kann) umfassen. In alternativen Ausführungsformen kann der Hardwarebeschleuniger 503 Teil von Prozessor 502 sein oder zusammen auf einem System-on-a-Chip (SOC) integriert sein. Zusätzlich kann die Vorrichtung 500 einen Speicher 504, der ein beliebiger aus einer Anzahl an bekannten dauerhaften Speichermedien sein kann, und eine Datenspeicherschaltungsanordnung 508, umfassend Module 509, umfassen. Zusätzlich kann die 500 eine E/A-Schnittstelle 518, gekoppelt mit einem oder mehreren Sensoren 514, und einen Anzeigebildschirm 513 umfassen.
  • Die E/A-Schnittstelle 518 kann einen Sender 523 und einen Empfänger 517 umfassen. Ferner kann die Vorrichtung 500 eine Kommunikationsschaltungsanordnung 505 umfassen, die einen Sendeempfänger (Tx) 511 und einen Netz-Controller (NIC) 512 aufweist. Die Elemente können miteinander über den Systembus 506, der einen oder mehrere Busse darstellen kann, gekoppelt sein. Im Falle von mehreren Bussen können diese durch eine oder mehrere Busbrücken (nicht gezeigt) überbrückt werden. Eine Vorrichtung 531 kann mit dem Systembus 506 gekoppelt sein und eine Vorrichtung 535 kann mit einem Computerbus 539 gekoppelt sein. Die Vorrichtung 531 kann eine Schnittstelle 533 umfassen und die Vorrichtung 535 kann eine Schnittstelle 537 umfassen. In Ausführungsformen kann der Computerbus 506 oder der Computerbus 539 ein Beispiel des Computerbusses 105 sein, wie es in 1 gezeigt ist.
  • In Ausführungsformen können der bzw. die Prozessoren 502 (auch als „Prozessorschaltungsanordnung 502“ bezeichnet) ein oder mehrere Verarbeitungselemente sein, die dazu ausgelegt sind, grundlegende arithmetische, logische und Eingabe/Ausgabe-Operationen durch Ausführen von Befehlen durchzuführen. Die Prozessorschaltungsanordnung 502 kann als ein(e) unabhängige(s) System/Vorrichtung/Baugruppe oder als Teil eines/einer bestehenden Systems/Vorrichtung/Baugruppe umgesetzt sein. Die Prozessorschaltungsanordnung 502 kann ein oder mehrere Mikroprozessoren, ein oder mehrere Einkernprozessoren, ein oder mehrere Mehrkernprozessoren, ein oder mehrere mehrsträngige Prozessoren, eine oder mehrere GPUs, ein oder mehrere Prozessoren mit ultraniedriger Spannung, ein oder mehrere eingebettete Prozessoren, ein oder mehrere DSPs, ein oder mehrere FPDs (Hardwarebeschleuniger) wie etwa FPGAs, strukturierte ASICs, programmierbare SoCs (PSoCs) usw. und/oder ein anderer Prozessor oder eine Verarbeitungs- /Steuerschaltung sein. Die Prozessorschaltungsanordnung 502 kann Teil eines SoC sein, wobei die Prozessorschaltungsanordnung 502 und andere hier erörterte Komponenten zu einer einzelnen IC oder einer einzelnen Baugruppe ausgebildet sind. Als Beispiele kann die Prozessorschaltungsanordnung 502 ein oder mehrere Intel Pentium®-, Core®-, Xeon®-, Atom®- oder CoreM®- Prozessoren; beschleunigte Verarbeitungseinheiten (APUs) von Advanced Micro Devices (AMD), Epyc®- oder Ryzen®- Prozessoren; Prozessoren der Apple Inc., A-Serie, S-Serie, W-Serie usw.; Qualcomm snapdragon®-Prozessor(en); Samsung Exynos®-Prozessor(en); und/oder dergleichen umfassen.
  • In Ausführungsformen kann die Prozessorschaltungsanordnung 502 einen Sensorknoten umfassen, der durch Verarbeiten von Daten, die von dem einen oder den mehreren Sensoren 514 erhalten wurden, als ein Koprozessor fungieren kann. Der Sensorknoten kann Schaltungsanordnungen umfassen, die dazu ausgelegt sind, Daten zu integrieren, die von jedem der einen oder mehreren Sensoren 514 erhalten wurden, durch Durchführen von arithmetischen, logischen und Eingabe/Ausgabe-Operationen. In Ausführungsformen kann der Sensorknoten in der Lage sein, erhaltene Sensordaten mit einem Zeitstempel zu versehen, Sensordaten als Antwort auf eine Anfrage nach solchen Daten für die Prozessorschaltungsanordnung 502 bereitzustellen, Sensordaten zu puffern, Sensordaten kontinuierlich an die Prozessorschaltungsanordnung 502 zu strömen, was unabhängige Ströme für jeden Sensor der ein oder mehreren Sensoren 514 umfasst, Sensordaten basierend auf vordefinierten Schwellen oder Bedingungen/Auslösern zu melden und/oder andere ähnliche Datenverarbeitungsfunktionen.
  • In Ausführungsformen kann der Speicher 504 (auch als „Speicherschaltungsanordnung 504“ oder dergleichen bezeichnet) eine Schaltungsanordnung sein, die dazu ausgelegt ist, Daten oder Logik zum Betreiben der Computervorrichtung 500 zu speichern. Die Speicherschaltungsanordnung 504 kann eine Anzahl an Speichervorrichtungen umfassen, die verwendet werden können, um eine gegebene Menge an Systemspeicher bereitzustellen. Als Beispiele kann die Speicherschaltungsanordnung 504 ein(e) beliebige(r) geeignete(r) Typ, Anzahl und/oder Kombination von flüchtigen Speichervorrichtungen (z. B. Direktzugriffsspeicher (RAM), dynamischer RAM (DRAM), statischer RAM (SAM) usw.) und/oder nicht-flüchtigen Speichervorrichtungen (z. B. Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM), elektrisch löschbarer programmierbarer Nur-Lese-Speicher (EEPROM), Flash-Speicher, Anti-Sicherungen usw.) sein, die in einer beliebigen geeigneten Umsetzung wie bekannt ausgelegt sein können. In verschiedenen Umsetzungen können einzelne Speichervorrichtungen aus einer beliebigen Anzahl an unterschiedlichen Gehäusetypen gebildet sein, wie etwa Ein-Chip-Baugruppe (SDP), Zwei-Chip-Baugruppe (DDP) oder Vier-Chip-Baugruppe, doppelreihigen Speichermodulen (DIMMs) wie etwa microDIMMs oder MiniDIMMs und/oder anderen ähnlichen Speichervorrichtungen. Um eine dauerhafte Speicherung von Informationen, wie etwa Daten, Anwendungen, Betriebssystemen und so weiter, bereitzustellen, kann die Speicherschaltungsanordnung 504 eine oder mehrere Massenspeichervorrichtungen, wie etwa Festkörper-Plattenlaufwerke (SSDD); Flash-Speicherkarten, wie etwa SD-Karten, microSD-Karten, xD-Picture-Karten und ähnliches sowie USB-Flash-Laufwerke; chipinterne Speicher oder Register im Zusammenhang mit der Prozessorschaltungsanordnung 502 (beispielsweise in Umsetzungen mit niedriger Leistungsaufnahme); ein Mikro-Festplattenlaufwerk (HDD); dreidimensionale Kreuzpunktspeicher (3D-XPOINT-Speicher) von Intel® und Micron® usw. umfassen.
  • Wenn FPDs verwendet werden, können die Prozessorschaltungsanordnung 502 und die Speicherschaltungsanordnung 504 (und/oder Datenspeicherschaltungsanordnung 508) Logikblöcke oder Logik-Fabric, Speicherzellen, Eingabe/Ausgabe-Blöcke (E/A) und andere verschaltete Betriebsmittel umfassen, die dazu programmiert sein können, verschiedene Funktionen der hier erörterten beispielhaften Ausführungsformen durchzuführen. Die Speicherzellen können verwendet werden, um Daten in Nachschlagetabellen (LUTs) zu speichern, die durch die Prozessorschaltungsanordnung 502 verwendet werden, um verschiedene Logikfunktionen umzusetzen. Die Speicherzellen können eine beliebige Kombination von verschiedenen Niveaus von Speicher/Datenspeicher umfassen, einschließlich u. a. EPROM, EEPROM, Flash-Speicher, SRAM, Anti-Sicherungen usw.
  • In Ausführungsformen kann die Datenspeicherschaltungsanordnung 508 (auch als „Speicherschaltungsanordnung 508“ oder dergleichen bezeichnet), mit gemeinsam genutzten oder entsprechenden Controllern, eine dauerhafte Speicherung von Informationen wie etwa Modulen 509, Betriebssystemen usw. bereitstellen. Die Datenspeicherschaltungsanordnung 508 kann unter anderem umgesetzt sein als Festkörperlaufwerk (SSDs); Festkörper-Plattenlaufwerk (SSDD); serielle AT-Anbindungs-Speichervorrichtungen (SATA-Speichervorrichtungen) (z. B. SATA-SSDs); Flash-Laufwerke; Flash-Speicherkarten wie etwa SD-Karten, microSD-Karten, xD-Picture-Karten und dergleichen, sowie USB-Flash-Laufwerke; dreidimensionale Kreuzpunkt-Speichervorrichtungen (3D-Xpoint-Speichervorrichtungen); chipinterne Speicher und Register im Zusammenhang mit der Prozessorschaltungsanordnung 502; Festplattenlaufwerke (HDDs); Mikro-HDDs; Widerstandsänderungsspeicher; Phasenwechselspeicher; holografische Speicher; oder chemische Speicher. Wie es gezeigt ist, ist die Datenspeicherschaltungsanordnung 508 in der Computervorrichtung 500 enthalten; allerdings kann die Datenspeicherschaltungsanordnung 508 in anderen Ausführungsformen als eine oder mehrere Vorrichtungen, die von den anderen Elementen der Computervorrichtung 500 getrennt sind, umgesetzt sein.
  • In einigen Ausführungsformen kann die Datenspeicherschaltungsanordnung 508 ein Betriebssystem (OS) (nicht gezeigt) umfassen, das ein universelles Betriebssystem oder ein Betriebssystem, das speziell für die Computervorrichtung 500 geschrieben wurde und auf diese zugeschnitten ist, sein kann. Das OS kann einen oder mehrere Treiber, Bibliotheken und/oder Anwendungsprogrammierschnittstellen (APIs) umfassen, die Programmcode und/oder Softwarekomponenten für Module 509 und/oder Steuerungssystemauslegungen zum Steuern und/oder Erhalten/Verarbeiten von Daten von dem einen oder den mehreren Sensoren 514 bereitstellen.
  • Die Module 509 können Softwaremodule/- komponenten sein, die verwendet werden, um verschiedene Funktionen der Computervorrichtung 500 durchzuführen und/oder Funktionen der hier erörterten beispielhaften Ausführungsformen auszuführen. In Ausführungsformen, bei denen die Prozessorschaltungsanordnung 502 und die Speicherschaltungsanordnung 504 Hardwarebeschleuniger (z. B. FPGA-Zellen, der Hardwarebeschleuniger 503) wie auch Prozessorkerne umfassen, können die Hardwarebeschleuniger (z. B. die FPGA-Zellen) vorab mit der Logik zum Durchführen einiger Funktionen der hier erörterten Ausführungsformen ausgelegt sein (z. B. mit geeigneten Bitströmen, Logikblöcken/Logik-Fabric usw.) (anstelle der Umsetzung von durch den bzw. die Prozessorkerne auszuführenden Programmierbefehlen). Beispielsweise können die Module 509 Logik für die entsprechenden Entitäten umfassen, die im Hinblick auf den Anzeigebildschirm 513, den Sender 523 und den Empfänger 517 erörtert sind.
  • Die Komponenten der Computervorrichtung 500 können miteinander über den Bus 506 kommunizieren. Der Bus 506 kann eine beliebige Anzahl an Technologien wie etwa ein lokales Zwischenverbindungsnetz (LIN); Industriestandardarchitektur (ISA); erweiterte ISA (EISA); PCI; erweitertes PCI (PCIx); PCIe; einen interintegrierten Schaltungsbus (I2C-Bus); einen Parallelschnittstellenbus für kleine Computersysteme (SPI-Bus); eine allgemeine Anwendungsprogrammierschnittstelle (CAPI); Punkt-zu-Punkt-Schnittstellen; einen Leistungsbus; einen proprietären Bus, beispielsweise Intel® Ultra Path Interface (UPI), Intel® Accelerator Link (IAL) oder irgendein anderer proprietärer Bus, der in einer SoCbasierten Schnittstelle verwendet wird, oder eine beliebige Anzahl an anderen Technologien umfassen. In einigen Ausführungsformen kann der Bus 506 ein Controllerbereichsnetz-Bussystem (CAN-Bussystem), ein Zeitauslöserprotokoll-System (TTP-System) oder ein FlexRay-System sein, das ermöglichen kann, dass verschiedene Vorrichtungen (z. B. die ein oder mehreren Sensoren 514 usw.) unter Verwendung von Nachrichten oder Rahmen miteinander kommunizieren.
  • Die Kommunikationsschaltungsanordnung 505 kann Schaltungsanordnungen zum Kommunizieren mit einem drahtlosen Netz oder einem drahtgebundenen Netz umfassen. Beispielsweise kann die Kommunikationsschaltungsanordnung 505 den Sendeempfänger (Tx) 511 und den Netzschnittstellencontroller (NIC) 512 umfassen. Die Kommunikationsschaltungsanordnung 505 kann einen oder mehrere Prozessoren (z. B. Basisbandprozessoren, Modems usw.) umfassen, die für ein bestimmtes drahtloses Kommunikationsprotokoll bestimmt sind.
  • Der NIC 512 kann enthalten sein, um einen drahtgebundenen Kommunikations-Link mit einem Netz und/oder anderen Vorrichtungen bereitzustellen. Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung, Ethernet-über-USB und/oder dergleichen sein oder kann auf anderen Typen von Netzen wie etwa DeviceNet, ControlNet, Data Highway+, PROFIBUS oder PROFINET unter vielen anderen basieren. Ein zusätzlicher NIC 512 kann enthalten sein, um Verbinden mit einem zweiten Netz (nicht gezeigt) oder anderen Vorrichtungen, beispielweise einem ersten NIC 512, der Kommunikation mit dem Netz über Ethernet bereitstellt, und einem zweiten NIC 512, der Kommunikation mit anderen Vorrichtungen über einen anderen Typ von Netz wie etwa ein persönliches Bereichsnetz (PAN), das eine Personalcomputer-Vorrichtung (PC-Vorrichtung) umfasst, bereitstellt, zu gestatten. In einigen Ausführungsformen können die verschiedenen Komponenten der Vorrichtung 500, wie etwa die ein oder mehreren Sensoren 514 usw., mit dem bzw. den Prozessoren 502 über den NIC 512, wie es oben erörtert ist, anstatt über die E/A-Schaltungsanordnung 518, wie es unten erörtert ist, verbunden sein.
  • Der Tx 511 kann eine oder mehrere Funkeinrichtungen zum drahtlosen Kommunizieren mit einem Netz und/oder anderen Vorrichtungen umfassen. Der Tx 511 kann Hardwarevorrichtungen umfassen, die Kommunikation mit drahtgebundenen Netzen und/oder anderen Vorrichtungen unter Verwendung von modulierter elektromagnetischer Strahlung durch ein festes oder nichtfestes Medium ermöglichen. Solche Hardwarevorrichtungen können Switches, Filter, Verstärker, Antennenelemente und dergleichen umfassen, um Kommunikation über den Äther (OTA) durch Erzeugen oder anderweitiges Produzieren von Funkwellen zum Senden von Daten an eine oder mehrere andere Vorrichtungen und Umwandeln empfangener Signale in nutzbare Informationen wie etwa digitale Daten, die an eine oder mehrere andere Komponenten von Computervorrichtung 500 geliefert werden können, zu ermöglichen. In einigen Ausführungsformen können die verschiedenen Komponenten der Vorrichtung 500 wie etwa die ein oder mehreren Sensoren 514 usw. mit der Vorrichtung 500 über den Tx 511, wie es oben erörtert ist, anstatt über die E/A-Schaltungsanordnung 518, wie es unten erörtert ist, verbunden sein. In einem Beispiel können der eine oder die mehreren Sensoren 514 über ein Nahbereichskommunikationsprotokoll mit der Vorrichtung 500 gekoppelt sein.
  • Der Tx 511 kann eine oder mehrere Funkeinrichtungen umfassen, die mit einer beliebigen Anzahl an Spezifikationen des Partnerschaftsprojekts der dritten Generation (3GPP-Spezifikationen) kompatibel sind, insbesondere Langzeitentwicklung (LTE), fortgeschrittene Langzeitentwicklung (LTE-A), fortgeschrittene Langzeitentwicklung Pro (LTE-A Pro) und neuer Funk (NR) der fünften Generation (5G). Es ist zu beachten, dass Funkeinrichtungen, die mit einer beliebigen Anzahl an festen, mobilen oder Satellitenkommunikationstechnologien und -standards kompatibel sind, ausgewählt werden können. Diese können beispielsweise eine beliebige zellenbasierte Weitbereichsfunkkommunikationstechnologie umfassen, die z. B. 5G-Kommunikationssysteme, eine Funkkommunikationstechnologie des globalen Systems für Mobilkommunikation (GSM-Funkkommunikationstechnologie), eine Funkkommunikationstechnologie des allgemeinen Paketfunkdienstes (GPRS-Funkkommunikationstechnologie) oder eine Funkkommunikationstechnologie mit verbesserten Datenraten für GSM-Evolution (EDGE-Funkkommunikationstechnologie) umfassen kann. Andere Funkkommunikationstechnologien des Partnerschaftsprojekts der dritten Generation (3GPP-Funkkommunikationstechnologien), die verwendet werden können, umfassen UMTS (universelles Mobiltelekommunikationssystem), FOMA (Freiheit des Multimedia-Zugriffs), 3GPP-LTE (3GPP-Langzeitentwicklung), 3GPP-LTE-Advanced (fortgeschrittene 3GPP-Langzeitentwicklung), 3GPP-LTE-Advanced-Pro (fortgeschrittene 3GPP-Langzeitentwicklung Pro), Codemultiplexzugriff 2000 (CDMA2000), CDPD (zellulare digitale Paketdaten), Mobitex, 3G (dritte Generation), CSD (schaltungsvermittelte Daten), HSCSD (schaltungsvermittelte Hochgeschwindigkeits-Daten), UMTS (3G) (universelles Mobiltelekommunikationssystem (dritte Generation)), W-CDMA (UMTS) (Breitband-Codemultiplexzugriff (universelles Mobiltelekommunikationssystem)), HSPA (Hochgeschwindigkeits-Paketzugriff), HSDPA (Hochgeschwindigkeits-Downlink-Paketzugriff), HSUPA (Hochgeschwindigkeits-Uplink-Paketzugriff), HSPA+ (Hochgeschwindigkeits-Paketzugriff Plus), UMTS-TDD (universelles Mobiltelekommunikationssystem - Zeitduplex), TD-CDMA (Zeit-Codemultiplexzugriff), TD-SCDMA (synchroner Zeit-Codemultiplexzugriff), 3GPP Rel. 8 (Pre-4G) (Partnerschaftsprojekt der dritten Generation Ausgabe 8 (vor der 4. Generation)), 3GPP Rel. 9 (Partnerschaftsprojekt der dritten Generation Ausgabe 9), 3GPP Rel. 10 (Partnerschaftsprojekt der dritten Generation Ausgabe 10), 3GPP Rel. 11 (Partnerschaftsprojekt der dritten Generation Ausgabe 11), 3GPP Rel. 12 (Partnerschaftsprojekt der dritten Generation Ausgabe 12), 3GPP Rel. 13 (Partnerschaftsprojekt der dritten Generation Ausgabe 13), 3GPP Rel. 14 (Partnerschaftsprojekt der dritten Generation Ausgabe 14), 3GPP-LTE-Extra, lizenzunterstützter LTE-Zugriff (LAA), UTRA (terrestrischer UMTS-Funkzugriff), E-UTRA (weiterentwickelter terrestrischer UMTS-Funkzugriff), LTE Advanced (4G) (fortgeschrittene Langzeitentwicklung (4. Generation)), cdmaOne (2G), CDMA2000 (3G) (Codemultiplexzugriff 2000 (dritte Generation)), EV-DO (optimierte Evolutionsdaten oder nur Evolutionsdaten), AMPS (1G) (fortgeschrittenes Mobiltelefonsystem (1. Generation)), TACS/ETACS (Totalzugriffskommunikationssystem/erweitertes Totalzugriffskommunikationssystem), D-AMPS (2G) (Digitales AMPS (2. Generation)), PTT (Push-to-talk), MTS (Mobiltelefonsystem), IMTS (verbessertes Mobiltelefonsystem), AMTS (fortgeschrittenes Mobiltelefonsystem), OLT (Norwegisch für Offentlig Landmobil Telefoni, öffentliche landgestützte Mobiltelefonie), MTD (schwedische Abkürzung für Mobiltelefonisystem D, oder Mobiltelephoniesystem D), Autotel/PALM (öffentliches automatisiertes Landmobil), ARP (Finnisch für Autoradiopuhelin, „Fahrzeugfunktelefon“), NMT (nordische Mobiltelefonie), Hicap (Version mit hoher Kapazität von NTT (Nippon Telegraf und Telefon)), CDPD (zellulare digitale Paketdaten), Mobitex, DataTAC, iDEN (verbessertes integriertes digitales Netz), PDC (persönlicher digitaler Mobilfunk), CSD (schaltungsvermittelte Daten), PHS (persönliches Handytelefonsystem), WiDEN (integriertes digitales verbessertes Breitband-Netz), iBurst, UMA (unlizenzierter Mobilzugriff, auch bezeichnet als generisches 3GPP-Funknetz oder GAN-Standard)), Standard der Wireless Gigabit Alliance (WiGig-Standard), Millimeterwellenstandards im Allgemeinen (drahtlose Systeme, die bei 10-90 GHz und darüber arbeiten, wie etwa WiGig, IEEE 802.11ad, IEEE 802.11ay und dergleichen. Zusätzlich zu den aufgeführten Standards kann eine beliebige Anzahl an Satelliten-Uplink-Technologien für den Uplink-Sendeempfänger verwendet werden, einschließlich beispielsweise Funkeinrichtungen, die mit unter anderem durch die ITU (Internationale Fernmeldeunion) oder das ETSI (Europäisches Institut für Telekommunikationsnormen) ausgegebenen Normen konform sind. Die hier bereitgestellten Beispiele verstehen sich somit als auf verschiedene andere Kommunikationstechnologien, sowohl bestehende als auch noch nicht formulierte, anwendbar. Umsetzungen, Komponenten und Einzelheiten der oben erwähnten Protokolle können Fachleuten bekannt sein und werden daher der Kürze halber ausgelassen.
  • Die Eingabe/Ausgabe-Schnittstelle (E/A-Schnittstelle) 518 kann Schaltungsanordnungen wie etwa einen externen Erweiterungsbus (z. B. universeller serieller Bus (USB), FireWire, Thunderbolt, PCI/PCIe/PCIx usw.) umfassen, die verwendet werden, um die Computervorrichtung 500 mit externen Komponenten/Vorrichtungen wie etwa einem oder mehreren Sensoren 514 usw. zu verbinden. Die E/A-Schnittstellenschaltungsanordnung 518 kann beliebige geeignete Schnittstellen-Controller und Verbinder zum Verschalten von einer oder mehreren aus Prozessorschaltungsanordnung 502, Speicherschaltungsanordnung 504, Datenspeicherschaltungsanordnung 508, Kommunikationsschaltungsanordnung 505 und den anderen Komponenten von Computervorrichtung 500 umfassen. Die Schnittstellen-Controller können u. a. Speicher-Controller, Ablagespeicher-Controller (z. B. Controller für redundante Anordnungen von unabhängigen Platten (RAID-Controller), Hauptplatinenverwaltungs-Controller (BMCs), Eingabe/Ausgabe-Controller, Host-Controller usw. umfassen. Die Verbinder können beispielsweise Busse (z. B. Bus 506), Ports, Steckplätze, Überbrückungen, Verschaltungsmodule, Steckbuchsen, modulare Verbinder usw. umfassen. Die E/A-Schaltungsanordnung 518 kann die Vorrichtung 500 mit den ein oder mehreren Sensoren 514 usw. über eine drahtgebundene Verbindung koppeln, wie etwa unter Verwendung von USB, FireWire, Thunderbolt, RCA, einem Videografik-Array (VGA), einer digitalen visuellen Schnittstelle (DVI) und/oder Mini-DVI, einer hochauflösenden Multimedia-Schnittstelle (HDMI), einem S-Video und/oder dergleichen.
  • Der eine oder die mehreren Sensoren 514 können eine beliebige Vorrichtung sein, die dazu ausgelegt ist, Ereignisse oder Umgebungsänderungen zu detektieren, die detektierten Ereignisse in elektrische Signale und/oder digitale Daten umzusetzen und die Signale/Daten an die Computervorrichtung 500 zu übertragen/senden. Einige der ein oder mehreren Sensoren 514 können Sensoren sein, die zum Bereitstellen von computererzeugten sensorischen Eingängen verwendet werden. Einige der ein oder mehreren Sensoren 514 können Sensoren sein, die für Bewegungs- und/oder Objektdetektion verwendet werden. Beispiele für solche ein oder mehreren Sensoren 514 können unter anderem ladungsgekoppelte Vorrichtungen (CCD), auf komplementären Metall-Oxid-Halbleitern (CMOS) basierende aktive Pixelsensoren (APS), linsenlose Bilderfassungsvorrichtungen/Kameras, thermografische (Infrarot-)Kameras, Lichtdetektions- und Abstandsmesssysteme (LIDAR) und/oder dergleichen umfassen. In einigen Umsetzungen können der eine oder die mehreren Sensoren 514 einen linsenlosen Bilderfassungsmechanismus umfassen, der ein Array von Blendenelementen umfasst, wobei Licht, das das Array von Blendenelementen passiert, die Pixel eines Bildes definiert. In Ausführungsformen können der eine oder die mehreren Sensoren 514 zur Bewegungsdetektion mit Lichterzeugungsvorrichtungen gekoppelt oder verknüpft sein, beispielsweise einem oder mehreren Infrarotprojektoren zum Projizieren eines Rasters von infrarotem Licht auf eine Szene, wobei eine Infrarotkamera reflektiertes infrarotes Licht aufzeichnen kann, um Tiefeninformationen zu berechnen.
  • Einige des einen oder der mehreren Sensoren 514 können zur Positions- und/oder Ausrichtungsdetektion, Detektion von Umwelt-/Umgebungsbedingungen und dergleichen verwendet werden. Beispiele für einen oder mehrere solche Sensoren 514 können unter anderem mikroelektromechanische Systeme (MEMS) mit piezoelektrischen, piezoresistiven und/oder kapazitiven Komponenten umfassen, die verwendet werden können, um Umgebungsbedingungen oder Ortsinformationen im Zusammenhang mit der Computervorrichtung 500 zu bestimmen. In Ausführungsformen können die MEMS 3-Achsen-Beschleunigungsmesser, 3-Achsen-Gyroskope und/oder Magnetometer umfassen. In einigen Ausführungsformen können der eine oder die mehreren Sensoren 514 auch ein oder mehrere Gravimeter, Höhenmesser, Barometer, Näherungssensoren (z. B. Infrarotstrahlungsdetektor(en) und dergleichen), Tiefensensoren, Umgebungslichtsensoren, thermische Sensoren (Thermometer), Ultraschall-Sendeempfänger und/oder dergleichen umfassen.
  • Jedes dieser Elemente, z. B. ein oder mehrere Prozessoren 502, der Hardwarebeschleuniger 503, der Speicher 504, die Datenspeicherschaltungsanordnung 508 einschließlich der Module 509, die Eingabe/Ausgabe-Schnittstelle 518, der eine oder die mehreren Sensoren 514, die Kommunikationsschaltungsanordnung 505 einschließlich des Tx 511, der NIC 512, der Systembus 506, der Computerbus 539, die Vorrichtung 531, die Vorrichtung 535 kann seine herkömmlichen Funktionen, wie sie in der Technik bekannt sind, durchführen. Zusätzlich können sie eingesetzt werden, um Programmbefehle, die die Operationen, die mit der Verwaltung eines Kommunikationskanals zwischen einem stromabwärtigen Port einer Schaltungsanordnung und einem stromaufwärtigen Port einer Vorrichtung über einen Switch verbunden sind, wie es in Verbindung mit 1-4 beschrieben ist, und/oder andere Funktionen, die die Fähigkeit der in der aktuellen Offenlegung beschriebenen Ausführungsformen bereitstellen, umsetzen, zu speichern und deren Ausführung zu hosten. Die verschiedenen Elemente können durch Assemblerbefehle umgesetzt werden, die durch Prozessor(en) 502 oder höhere Programmiersprachen, wie etwa, beispielsweise, C, die in solche Befehlen kompiliert werden können, unterstützt werden. Operationen im Zusammenhang mit der Vorrichtung 500, die nicht in Software umgesetzt sind, können in Hardware umgesetzt sein, z. B. über den Hardwarebeschleuniger 503.
  • Die Anzahl, Fertigkeit und/oder Kapazität dieser Elemente 502-539 kann in Abhängigkeit von der Anzahl anderer Vorrichtungen, zu deren Unterstützung die Vorrichtung 500 ausgelegt ist, variieren. Andererseits ist der Aufbau der Elemente 502-539 bekannt und wird entsprechend nicht weiter beschrieben.
  • Für Fachleute versteht es sich, dass die vorliegende Offenbarung als Verfahren oder Computerprogrammprodukte ausgeführt sein kann. Entsprechend kann die vorliegende Offenbarung, zusätzlich dazu, dass sie in Hardware ausgeführt sein kann, wie bereits beschrieben, die Form einer reinen Softwareausführungsform (einschließlich Firmware, speicherresidente Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardwareaspekte kombiniert, die alle allgemein als eine „Schaltung“, ein „Modul“ oder ein „System“ bezeichnet werden können, annehmen.
  • Ferner kann die vorliegende Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem beliebigen greifbaren oder nichttransitorischen Medium von Ausdruck ausgeführt ist, das einen computernutzbaren Programmcode aufweist, der in dem Medium ausgeführt ist. 6 zeigt ein beispielhaftes computerlesbares nichttransitorisches Speichermedium, das zur Verwendung zum Speichern von Befehlen geeignet sein kann, die eine Einrichtung dazu veranlassen, als Antwort auf Ausführung der Befehle durch die Einrichtung ausgewählte Aspekte der vorliegenden Offenbarung umzusetzen. Wie es gezeigt ist, kann das nichttransitorische computerlesbare Speichermedium 602 eine Anzahl von Programmierbefehlen 604 umfassen. Programmierbefehle 604 können dazu ausgelegt sein, es einer Vorrichtung, z. B. Vorrichtung 600, zu ermöglichen, als Antwort auf Ausführung der Programmierbefehle z. B. verschiedene Operationen, die der Verwaltung eines Kommunikationskanals zwischen einem stromabwärtigen Port einer Schaltungsanordnung und einem stromaufwärtigen Port einer Vorrichtung über einen Switch zugeordnet sind, wie sie in 1-5 gezeigt sind, durchzuführen.
  • In alternativen Ausführungsformen können die Programmierbefehle 604 stattdessen auf mehreren computerlesbaren nichttransitorischen Speichermedien 602 angeordnet sein. In alternativen Ausführungsformen können die Programmierbefehle 604 auf computerlesbaren transitorischen Speichermedien 602 wie etwa Signalen angeordnet sein. Eine beliebige Kombination von ein oder mehreren computernutzbaren oder computerlesbaren Medien kann verwendet werden. Das computernutzbare oder computerlesbare Medium kann beispielsweise u. a. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Einrichtung, Vorrichtung oder ein Ausbreitungsmedium sein. Weitere spezifische Beispiele (eine nicht erschöpfende Liste) für das computerlesbare Medium würden Folgendes umfassen: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, einen tragbaren Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichervorrichtung, ein Übertragungsmedium, wie etwa solche, die das Internet oder ein Intranet unterstützen, oder eine magnetische Speichervorrichtung. Es ist zu beachten, dass das computernutzbare oder computerlesbare Medium sogar Papier oder ein anderes geeignetes Medium sein kann, auf das das Programm gedruckt ist, da das Programm beispielsweise über optisches Scannen des Papiers oder des anderen Mediums elektronisch erfasst und danach kompiliert, interpretiert oder, wenn erforderlich, anderweitig in einer geeigneten Weise verarbeitet und dann in einem Computerspeicher gespeichert werden kann. Im Kontext dieses Dokuments kann ein computernutzbares oder computerlesbares Medium ein beliebiges Medium sein, das das Programm zur Verwendung durch oder in Verbindung mit dem Befehlsausführungssystem, der Einrichtung oder Vorrichtung enthalten, speichern, kommunizieren, verbreiten oder transportieren kann. Das computernutzbare Medium kann ein sich ausbreitendes Datensignal umfassen, wobei der computernutzbare Programmcode damit verkörpert ist, entweder im Basisband oder als Teil einer Trägerwelle. Der computernutzbare Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums gesendet werden, einschließlich u. a. drahtlos, über Drahtleitung, Lichtleitfaserkabel, HF usw.
  • Computerprogrammcode zum Ausführen von Operationen der vorliegenden Offenbarung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache, wie etwa Java, Smalltalk, C++ oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa der Programmiersprache „C“ oder ähnlicher Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Anwenders, teilweise auf dem Computer des Anwenders, als eigenständiges Softwarepaket, teilweise auf dem Computer des Anwenders und teilweise auf einem entfernten Computer oder vollständig auf einem entfernten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernte Computer mit dem Computer des Anwenders über einen beliebigen Typ von Netz verbunden sein, das ein Lokalbereichsnetz (LAN) oder ein Weitbereichsnetz (WAN) umfasst, oder die Verbindung kann mit einem externen Computer vorgenommen werden (beispielsweise über das Internet unter Verwendung eines Internetdiensteanbieters) .
  • Die vorliegende Offenbarung ist unter Bezugnahme auf Ablaufdiagrammdarstellungen und/oder Blockdiagramme von Verfahren, Einrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der vorliegenden Offenbarung beschrieben. Es versteht sich, dass jeder Block der Ablaufdiagrammdarstellungen und/oder Blockdiagramme sowie Kombinationen von Blöcken in den Ablaufdiagrammdarstellungen und/oder Blockdiagrammen durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können für einen Prozessor eines universellen Computers, eines speziellen Computers oder anderer programmierbarer Datenverarbeitungseinrichtungen zum Produzieren einer Maschine bereitgestellt werden, so dass die Befehle, die über den Prozessor des Computers oder andere programmierbare Datenverarbeitungseinrichtungen ausgeführt werden, Mittel zum Umsetzen der im Ablaufdiagramm und/oder in dem Blockdiagrammblock oder den Blöcken angegebenen Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungseinrichtung anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Fertigungsartikel produzieren, der Befehlsmittel umfasst, die die im Ablaufdiagramm und/oder in dem Blockdiagrammblock oder den Blöcken angegebene Funktion/Handlung umsetzt.
  • Die Computerprogrammbefehle können auch auf einen Computer oder andere programmierbare Datenverarbeitungseinrichtungen geladen werden, um zu veranlassen, dass eine Reihe von operativen Schritten auf dem Computer oder anderen programmierbaren Einrichtungen durchgeführt wird, um einen computerumgesetzten Prozess zu produzieren, so dass die Befehle, die auf dem Computer oder anderen programmierbaren Einrichtungen verkörpert sind, Prozesse zum Umsetzen der im Ablaufdiagramm und/oder in dem Blockdiagrammblock oder den Blöcken angegebenen Funktionen/Handlungen bereitstellen.
  • Das Ablaufdiagramm und die Blockdiagramme in den Figuren stellen die Architektur, Funktionalität und Operation von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Offenbarung dar. In dieser Hinsicht kann jeder Block im Ablaufdiagramm oder Blockdiagrammen ein Modul, Segment oder einen Teil von Code darstellen, das bzw. der eine oder mehrere ausführbare Befehle zum Umsetzen der angegebenen logischen Funktion(en) umfasst. Es sei auch darauf hingewiesen, dass in einigen alternativen Umsetzungen die im Block notierten Funktionen nicht in der in den Figuren angegebenen Reihenfolge auftreten können. Beispielsweise können zwei Blöcke, die aufeinander folgend gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können in Abhängigkeit von der betroffenen Funktionalität manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es ist auch zu beachten, dass jeder Block der Blockdiagramme und/oder Ablaufdiagrammdarstellung sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder der Ablaufdiagrammdarstellung durch spezielle hardwarebasierte Systeme, die die angegebenen Funktionen oder Handlungen durchführen, oder durch Kombinationen von spezieller Hardware und Computerbefehle umgesetzt sein können. Wie hier verwendet, kann sich „computerumgesetztes Verfahren“ auf ein beliebiges Verfahren beziehen, das durch einen oder mehrere Prozessoren, ein Computersystem mit einem oder mehreren Prozessoren, eine mobile Vorrichtung wie etwa ein Smartphone (das einen oder mehrere Prozessoren umfassen kann), ein Tablet, einen Laptop-Computer, einen Beistellkasten, eine Spielkonsole und so weiter ausgeführt wird.
  • Ausführungsformen können als ein Computerprozess, ein Rechensystem oder als ein Fertigungsartikel wie etwa ein Computerprogrammprodukt von computerlesbaren Medien umgesetzt sein. Das Computerprogrammprodukt kann ein Computerspeichermedium sein, das durch ein Computersystem lesbar ist und Computerprogrammbefehle zum Ausführen eines Computerprozesses codiert.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritte plus Funktionselemente in den folgenden Ansprüchen sollen ein(e) beliebige(s) Struktur, Material oder Handlung zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie speziell beansprucht sind, umfassen. Die Beschreibung der vorliegenden Offenbarung wurde zum Zwecke der Veranschaulichung und Beschreibung präsentiert, soll aber nicht erschöpfend oder auf die Offenbarung in der offenbarten Form beschränkt sein. Viele Abwandlungen und Variationen sind für Fachleute offensichtlich, ohne vom Schutzumfang und Gedanken der Offenbarung abzuweichen. Die Ausführungsformen sind ausgewählt und beschrieben, um am besten die Prinzipien der Offenbarung und der praktischen Anwendung zu erläutern und es anderen Fachleuten zu ermöglichen, die Offenbarung für Ausführungsformen mit verschiedenen Abwandlungen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind, zu verstehen.
  • Somit wurden verschiedene beispielhafte Ausführungsformen der vorliegenden Offenbarung beschrieben, einschließlich, aber nicht beschränkt auf:
  • BEISPIELE
  • Beispiel 1 kann eine Einrichtung zur Kommunikation umfassen, die umfasst: eine Schaltungsanordnung, die einen Port-Verwalter und einen stromabwärtigen Port aufweist, wobei der Port-Verwalter einen ersten Link-Zustand oder einen zweiten Link-Zustand detektieren soll, wobei unter dem ersten Link-Zustand ein erster Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und einem stromaufwärtigen Port eines mit der Schaltungsanordnung gekoppelten Switches mit einem ersten Protokoll kompatibel ist und ein zweiter Link zwischen einem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit dem zweiten Protokoll kompatibel ist und unter dem zweiten Link-Zustand der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel ist, ohne dass der zweite Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung mit dem zweiten Protokoll kompatibel ist; und wobei bei Detektion des ersten Link-Zustands der Port-Verwalter den stromabwärtigen Port der Schaltungsanordnung gemäß dem zweiten Protokoll betreiben soll und bei Detektion des zweiten Link-Zustands der Port-Verwalter den stromabwärtigen Port der Schaltungsanordnung gemäß dem ersten Protokoll betreiben soll.
  • Beispiel 2 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, wobei bei Detektion des ersten Link-Zustands eine oder mehrere Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal ausgetauscht werden, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst, und wobei der stromabwärtige Port der Schaltungsanordnung einen ersten Satz dedizierter Register in einem speicherabgebildeten Eingabe-Ausgabe-Adressraum der Schaltungsanordnung und einen ersten Satz dedizierter Busse für den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches aufweist; wobei der Port-Verwalter bei Detektion des ersten Link-Zustands dazu ausgelegt ist, den ersten Satz dedizierter Register in der Schaltungsanordnung und den ersten Satz dedizierter Busse einem Kommunikationskanal zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung zuzuweisen, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung aufweist, um den Austausch der einen oder mehreren Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll zu ermöglichen.
  • Beispiel 3 kann die Einrichtung von Beispiel 2 und/oder einigen anderen Beispielen hier umfassen, wobei der Port-Verwalter ferner zu Folgendem ausgelegt ist: Verwalten der Übertragung der einen oder mehreren Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link und eines dritten Satzes dedizierter Register in dem Switch und eines dritten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link.
  • Beispiel 4 kann die Einrichtung von Beispiel 3 und/oder einigen anderen Beispielen hier umfassen, wobei eine erste Anzahl von Registern in dem ersten Satz dedizierter Register in der Schaltungsanordnung größer oder gleich einer zweiten Anzahl von Registern in dem zweiten Satz dedizierter Register in dem Switch ist und die zweite Anzahl von Registern in dem zweiten Satz dedizierter Register in dem Switch größer oder gleich einer dritten Anzahl von Registern in dem dritten Satz dedizierter Register in dem Switch ist.
  • Beispiel 5 kann die Einrichtung von Beispiel 3 und/oder einigen anderen Beispielen hier umfassen, wobei eine erste Anzahl von Bussen in dem ersten Satz dedizierter Busse größer oder gleich einer zweiten Anzahl von Bussen in dem zweiten Satz dedizierter Busse ist und die zweite Anzahl von Bussen in dem zweiten Satz dedizierter Busse größer oder gleich einer dritten Anzahl von Bussen in dem dritten Satz dedizierter Busse ist.
  • Beispiel 6 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, die ferner umfasst: einen Prozessor oder eine Zentralprozessoreinheit (CPU), die mit der Schaltungsanordnung gekoppelt ist; und eine Speichervorrichtung, die mit der Schaltungsanordnung gekoppelt ist.
  • Beispiel 7 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, die ferner umfasst: den Switch; und die Vorrichtung.
  • Beispiel 8 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, wobei die Vorrichtung eine erste Vorrichtung ist und die Schaltungsanordnung ferner einen zweiten stromabwärtigen Port eines zweiten Protokolls aufweist, der dazu ausgelegt ist, mit einem stromaufwärtigen Port einer zweiten Vorrichtung gemäß dem zweiten Protokoll gekoppelt zu werden.
  • Beispiel 9 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, wobei der erste Satz dedizierter Register eine Anzahl von Registern in Schaltungsregisterblöcken (RCRB) oder eine Anzahl von Speicherbasisadressenregister 0 umfasst.
  • Beispiel 10 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, wobei der erste Satz dedizierter Register eine Folge von Registern zwischen einem Basisregister und einem Limitregister umfasst.
  • Beispiel 11 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, wobei das erste Protokoll das CXL-2.0-Protokoll ist und das zweite Protokoll das CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll ist; und wobei die Vorrichtung eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe/Ausgabe-Controller umfasst.
  • Beispiel 12 kann eine Einrichtung zur Kommunikation umfassen, die umfasst: einen Switch, der einen Port-Verwalter, einen stromaufwärtigen Port und einen stromabwärtigen Port aufweist; wobei der Port-Verwalter einen ersten Link-Zustand oder einen zweiten Link-Zustand detektieren soll, wobei unter dem ersten Link-Zustand ein erster Link zwischen dem stromaufwärtigen Port des Switches und einem stromabwärtigen Port einer mit dem Switch gekoppelten Schaltungsanordnung mit einem ersten Protokoll kompatibel ist und ein zweiter Link zwischen dem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit einem zweiten Protokoll kompatibel ist und unter dem zweiten Link-Zustand der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel ist, ohne dass der zweite Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung mit dem zweiten Protokoll kompatibel ist; und wobei bei Detektion des ersten Link-Zustands der Port-Verwalter den stromaufwärtigen Port des Switches und den stromabwärtigen Port des Switches gemäß dem zweiten Protokoll betreiben soll und der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromaufwärtigen Port des Switches gemäß dem ersten Protokoll betreiben soll.
  • Beispiel 13 kann die Einrichtung von Beispiel 12 und/oder einigen anderen Beispielen hier umfassen, wobei der Port-Verwalter die Übertragung einer oder mehrerer Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines ersten Satzes dedizierter Register in dem Switch und eines ersten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link sowie eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link verwalten soll.
  • Beispiel 14 kann die Einrichtung von Beispiel 13 und/oder einigen anderen Beispielen hier umfassen, wobei bei Detektion des ersten Link-Zustands eine oder mehrere Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal ausgetauscht werden, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst, und wobei der stromabwärtige Port der Schaltungsanordnung einen dritten Satz dedizierter Register in einem speicherabgebildeten Eingabe-Ausgabe-Adressraum (MMIO-Adressraum) der Schaltungsanordnung und einen dritten Satz dedizierter Busse für den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches aufweist; wobei bei Detektion des ersten Link-Zustands der Port-Verwalter die Übertragung einer oder mehrerer Nachrichten über den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches unter Verwendung des dritten Satzes dedizierter Register in dem speicherabgebildeten Eingabe-Ausgabe-Adressraum (MMIO-Adressraum) der Schaltungsanordnung und des dritten Satzes dedizierter Busse für den ersten Link verwalten soll.
  • Beispiel 15 kann die Einrichtung von Beispiel 14 und/oder einigen anderen Beispielen hier umfassen, wobei eine erste Anzahl von Registern in dem ersten Satz dedizierter Register in dem Switch größer oder gleich einer zweiten Anzahl von Registern in dem zweiten Satz dedizierter Register in dem Switch ist und die dritte Anzahl von Registern in dem dritten Satz dedizierter Register in dem MMIO-Adressraum der Schaltungsanordnung größer oder gleich einer dritten Anzahl von Registern in dem ersten Satz dedizierter Register in dem Switch ist.
  • Beispiel 16 kann die Einrichtung von Beispiel 14 und/oder einigen anderen Beispielen hier umfassen, wobei eine erste Anzahl von Bussen in dem ersten Satz dedizierter Busse größer oder gleich einer zweiten Anzahl von Bussen in dem zweiten Satz dedizierter Busse ist und eine dritte Anzahl von Bussen in dem dritten Satz dedizierter Busse größer oder gleich einer ersten Anzahl von Bussen in dem ersten Satz dedizierter Busse ist.
  • Beispiel 17 kann die Einrichtung von Beispiel 13 und/oder einigen anderen Beispielen hier umfassen, wobei der erste Satz dedizierter Register eine Anzahl von Registern in Schaltungsregisterblöcken (RCRB) oder eine Anzahl von Speicherbasisadressenregister 0 (MEMBAR0) umfasst.
  • Beispiel 18 kann die Einrichtung von Beispiel 13 und/oder einigen anderen Beispielen hier umfassen, wobei der erste Satz dedizierter Register eine Folge von Registern zwischen einem Basisregister und einem Limitregister umfasst.
  • Beispiel 19 kann die Einrichtung von Beispiel 12 und/oder einigen anderen Beispielen hier umfassen, wobei das erste Protokoll ein CXL-2.0-Protokoll ist und das zweite Protokoll das CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll ist.
  • Beispiel 20 kann die Einrichtung von Beispiel 12 und/oder einigen anderen Beispielen hier umfassen, wobei die Vorrichtung eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe/Ausgabe-Controller umfasst.
  • Beispiel 21 kann eine Einrichtung zum Berechnen umfassen, die umfasst: eine Leiterplatte (PCB) mit einem ersten Link und einem zweiten Link, die aus einem Peripheriekomponentenzwischenverbindungs-Bus (PCI), einem erweiterten PCI-Bus (PCI-X), einem PCI-Express-Bus, einem CXL-1.0-Bus, einem CXL-1.1-Bus oder einem CXL-2.0-Bus ausgewählt sind, einen Root-Komplex mit einem Port-Verwalter und einem stromabwärtigen Port sowie einen mit dem Root-Komplex gekoppelten Switch und mit einem stromaufwärtigen Port und einem stromabwärtigen Port aufweist; wobei der Port-Verwalter des Root-Komplexes einen ersten Link-Zustand oder einen zweiten Link-Zustand detektieren soll, wobei unter dem ersten Link-Zustand ein erster Link zwischen dem stromabwärtigen Port des Root-Komplexes und dem stromaufwärtigen Port des Switches mit einem ersten Protokoll kompatibel ist und ein zweiter Link zwischen dem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer Vorrichtung mit einem zweiten Protokoll kompatibel ist und unter dem zweiten Link-Zustand der erste Link zwischen dem stromabwärtigen Port des Root-Komplexes und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel ist, ohne dass der zweite Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung mit dem zweiten Protokoll kompatibel ist, wobei der Port-Verwalter bei Detektion des ersten Link-Zustands den stromabwärtigen Port des Root-Komplexes gemäß dem zweiten Protokoll betreiben soll und der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromabwärtigen Port des Root-Komplexes gemäß dem ersten Protokoll betreiben soll.
  • Beispiel 22 kann die Einrichtung von Beispiel 21 und/oder einigen anderen Beispielen hier umfassen, die ferner umfasst: einen Prozessor oder eine Zentralprozessoreinheit (CPU), die mit der Schaltungsanordnung gekoppelt ist; und eine Speichervorrichtung, die mit der Schaltungsanordnung gekoppelt ist.
  • Beispiel 23 kann die Einrichtung von Beispiel 21 und/oder einigen anderen Beispielen hier umfassen, wobei bei Detektion des ersten Link-Zustands eine oder mehrere Nachrichten zwischen dem Root-Komplex und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal ausgetauscht werden, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst, und wobei der stromabwärtige Port der Schaltungsanordnung einen ersten Satz dedizierter Register in einem speicherabgebildeten Eingabe-Ausgabe-Adressraum der Schaltungsanordnung und einen ersten Satz dedizierter Busse für den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches aufweist; wobei bei Detektion des ersten Link-Zustands der Port-Verwalter dazu ausgelegt ist, den ersten Satz dedizierter Register in der Schaltungsanordnung und den ersten Satz dedizierter Busse einem Kommunikationskanal zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung zuzuweisen, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung aufweist, um den Nachrichtenaustausch zwischen dem Root-Komplex und der Vorrichtung gemäß dem zweiten Protokoll zu ermöglichen.
  • Beispiel 24 kann die Einrichtung von Beispiel 21 und/oder einigen anderen Beispielen hier umfassen, wobei der Port-Verwalter ferner zu Folgendem ausgelegt ist: Verwalten der Übertragung der einen oder mehreren Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link und eines dritten Satzes dedizierter Register in dem Switch und eines dritten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link.
  • Beispiel 25 kann die Einrichtung von Beispiel 21 und/oder einigen anderen Beispielen hier umfassen, wobei das erste Protokoll ein CXL-2.0-Protokoll ist und das zweite Protokoll ein CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll ist; und wobei die Vorrichtung eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe/Ausgabe-Controller umfasst.
  • Beispiel 26 kann eine Einrichtung umfassen, die umfasst: Mittel zum Verwalten der Interoperabilität von Switches in Computerbussen.
  • Beispiel 27 kann die Einrichtung von Beispiel 1 und/oder einigen anderen Beispielen hier umfassen, wobei die Computerbusse eine CXL-Zwischenverbindung umfassen.
  • Beispiel 28 kann eine Einrichtung umfassen, die Mittel umfasst, um ein oder mehrere Elemente eines Verfahrens, das in einem der hier enthaltenen Beispiele oder im Zusammenhang damit beschrieben ist, oder eines anderen hier beschriebenen Verfahrens oder Prozesses durchzuführen.
  • Beispiel 29 kann ein oder mehrere nichttransitorische computerlesbare Medien umfassen, die Befehle enthalten, um eine elektronische Vorrichtung bei Ausführung der Befehle durch einen oder mehrere Prozessoren der elektronischen Vorrichtung dazu zu veranlassen, ein oder mehrere Elemente eines Verfahrens, das in einem der hier enthaltenen Beispiele oder im Zusammenhang damit beschrieben ist, oder eines anderen hier beschriebenen Verfahrens oder Prozesses durchzuführen.
  • Beispiel 30 kann eine Einrichtung umfassen, die Logik, Module oder Schaltungen umfasst, um ein oder mehrere Elemente eines Verfahrens, das in einem der hier enthaltenen Beispiele oder im Zusammenhang damit beschrieben ist, oder eines anderen hier beschriebenen Verfahrens oder Prozesses durchzuführen.
  • Beispiel 31 kann ein Verfahren, eine Technik oder einen Prozess umfassen, wie sie in einem der hier enthaltenen Beispiele oder Abschnitten oder Teilen davon oder im Zusammenhang damit beschrieben sind.
  • Beispiel 32 kann eine Einrichtung umfassen, die umfasst: einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien, die Befehle enthalten, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, das Verfahren, die Techniken oder den Prozess auszuführen, wie sie in einem der hier enthaltenen Beispiele oder Abschnitten oder Teilen davon oder im Zusammenhang damit beschrieben sind.
  • Beispiel 33 kann ein Signal umfassen, wie es in einem der hier enthaltenen Beispiele oder Abschnitten oder Teilen davon oder im Zusammenhang damit beschrieben ist.
  • Die vorstehende Beschreibung einer oder mehrerer Implementierungen liefert eine Veranschaulichung und Beschreibung, soll jedoch nicht erschöpfend sein oder den Umfang von Ausführungsformen auf die genaue offenbarte Form beschränken. Abwandlungen und Variationen sind im Lichte der obigen Lehren möglich oder können aus der Praxis verschiedener Ausführungsformen erworben werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/882863 [0001]

Claims (25)

  1. Einrichtung zur Kommunikation, die Folgendes umfasst: eine Schaltungsanordnung, die einen Port-Verwalter und einen stromabwärtigen Port aufweist, wobei der Port-Verwalter einen ersten Link-Zustand oder einen zweiten Link-Zustand detektieren soll, wobei unter dem ersten Link-Zustand ein erster Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und einem stromaufwärtigen Port eines mit der Schaltungsanordnung gekoppelten Switches mit einem ersten Protokoll kompatibel ist und ein zweiter Link zwischen einem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit dem zweiten Protokoll kompatibel ist und unter dem zweiten Link-Zustand der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel ist, ohne dass der zweite Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung mit dem zweiten Protokoll kompatibel ist; und wobei bei Detektion des ersten Link-Zustands der Port-Verwalter den stromabwärtigen Port der Schaltungsanordnung gemäß dem zweiten Protokoll betreiben soll und der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromabwärtigen Port der Schaltungsanordnung gemäß dem ersten Protokoll betreiben soll.
  2. Einrichtung nach Anspruch 1, wobei bei Detektion des ersten Link-Zustands eine oder mehrere Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal ausgetauscht werden, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst, und wobei der stromabwärtige Port der Schaltungsanordnung einen ersten Satz dedizierter Register in einem speicherabgebildeten Eingabe-Ausgabe-Adressraum der Schaltungsanordnung und einen ersten Satz dedizierter Busse für den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches aufweist; wobei der Port-Verwalter bei Detektion des ersten Link-Zustands dazu ausgelegt ist, den ersten Satz dedizierter Register in der Schaltungsanordnung und den ersten Satz dedizierter Busse einem Kommunikationskanal zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung zuzuweisen, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung aufweist, um den Austausch der einen oder mehreren Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll zu ermöglichen.
  3. Einrichtung nach Anspruch 2, wobei der Port-Verwalter ferner zu Folgendem ausgelegt ist: Verwalten der Übertragung der einen oder mehreren Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link und eines dritten Satzes dedizierter Register in dem Switch und eines dritten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link.
  4. Einrichtung nach Anspruch 3, wobei eine erste Anzahl von Registern in dem ersten Satz dedizierter Register in der Schaltungsanordnung größer oder gleich einer zweiten Anzahl von Registern in dem zweiten Satz dedizierter Register in dem Switch ist und die zweite Anzahl von Registern in dem zweiten Satz dedizierter Register in dem Switch größer oder gleich einer dritten Anzahl von Registern in dem dritten Satz dedizierter Register in dem Switch ist.
  5. Einrichtung nach Anspruch 3, wobei eine erste Anzahl von Bussen in dem ersten Satz dedizierter Busse größer oder gleich einer zweiten Anzahl von Bussen in dem zweiten Satz dedizierter Busse ist und die zweite Anzahl von Bussen in dem zweiten Satz dedizierter Busse größer oder gleich einer dritten Anzahl von Bussen in dem dritten Satz dedizierter Busse ist.
  6. Einrichtung nach Anspruch 1, die ferner umfasst: einen Prozessor oder eine Zentralprozessoreinheit (CPU), die mit der Schaltungsanordnung gekoppelt ist; und eine Speichervorrichtung, die mit der Schaltungsanordnung gekoppelt ist.
  7. Einrichtung nach Anspruch 1, die ferner umfasst: den Switch; und die Vorrichtung.
  8. Einrichtung nach Anspruch 1, wobei die Vorrichtung eine erste Vorrichtung ist und die Schaltungsanordnung ferner einen zweiten stromabwärtigen Port eines zweiten Protokolls aufweist, der dazu ausgelegt ist, mit einem stromaufwärtigen Port einer zweiten Vorrichtung gemäß dem zweiten Protokoll gekoppelt zu werden.
  9. Einrichtung nach Anspruch 1, wobei der erste Satz dedizierter Register eine Anzahl von Registern in Schaltungsregisterblöcken (RCRB) oder eine Anzahl von Speicherbasisadressenregister 0 umfasst.
  10. Einrichtung nach Anspruch 1, wobei der erste Satz dedizierter Register eine Folge von Registern zwischen einem Basisregister und einem Limitregister umfasst.
  11. Einrichtung nach einem der Ansprüche 1-10, wobei das erste Protokoll ein CXL-2.0-Protokoll ist und das zweite Protokoll ein CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll ist; und wobei die Vorrichtung eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe/Ausgabe-Controller umfasst.
  12. Einrichtung zur Kommunikation, die Folgendes umfasst: einen Switch, der einen Port-Verwalter, einen stromaufwärtigen Port und einen stromabwärtigen Port aufweist; wobei der Port-Verwalter einen ersten Link-Zustand oder einen zweiten Link-Zustand detektieren soll, wobei unter dem ersten Link-Zustand ein erster Link zwischen dem stromaufwärtigen Port des Switches und einem stromabwärtigen Port einer mit dem Switch gekoppelten Schaltungsanordnung mit einem ersten Protokoll kompatibel ist und ein zweiter Link zwischen dem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer mit dem Switch gekoppelten Vorrichtung mit einem zweiten Protokoll kompatibel ist und unter dem zweiten Link-Zustand der erste Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel ist, ohne dass der zweite Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung mit dem zweiten Protokoll kompatibel ist; und wobei der Port-Verwalter bei Detektion des ersten Link-Zustands den stromaufwärtigen Port des Switches und den stromabwärtigen Port des Switches gemäß dem zweiten Protokoll betreiben soll und der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromaufwärtigen Port des Switches gemäß dem ersten Protokoll betreiben soll.
  13. Einrichtung nach Anspruch 12, wobei der Port-Verwalter die Übertragung einer oder mehrerer Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines ersten Satzes dedizierter Register in dem Switch und eines ersten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link sowie eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link verwalten soll.
  14. Einrichtung nach Anspruch 13, wobei bei Detektion des ersten Link-Zustands eine oder mehrere Nachrichten zwischen der Schaltungsanordnung und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal ausgetauscht werden, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst, und wobei der stromabwärtige Port der Schaltungsanordnung einen dritten Satz dedizierter Register in einem speicherabgebildeten Eingabe-Ausgabe-Adressraum (MMIO-Adressraum) der Schaltungsanordnung und einen dritten Satz dedizierter Busse für den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches aufweist; wobei der Port-Verwalter bei Detektion des ersten Link-Zustands die Übertragung einer oder mehrerer Nachrichten über den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches unter Verwendung des dritten Satzes dedizierter Register in dem speicherabgebildeten Eingabe-Ausgabe-Adressraum (MMIO-Adressraum) der Schaltungsanordnung und des dritten Satzes dedizierter Busse für den ersten Link verwalten soll.
  15. Einrichtung nach Anspruch 14, wobei eine erste Anzahl von Registern in dem ersten Satz dedizierter Register in dem Switch größer oder gleich einer zweiten Anzahl von Registern in dem zweiten Satz dedizierter Register in dem Switch ist und die dritte Anzahl von Registern in dem dritten Satz dedizierter Register in dem MMIO-Adressraum der Schaltungsanordnung größer oder gleich einer dritten Anzahl von Registern in dem ersten Satz dedizierter Register in dem Switch ist.
  16. Einrichtung nach Anspruch 14, wobei eine erste Anzahl von Bussen in dem ersten Satz dedizierter Busse größer oder gleich einer zweiten Anzahl von Bussen in dem zweiten Satz dedizierter Busse ist und eine dritte Anzahl von Bussen in dem dritten Satz dedizierter Busse größer oder gleich einer ersten Anzahl von Bussen in dem ersten Satz dedizierter Busse ist.
  17. Einrichtung nach Anspruch 13, wobei der erste Satz dedizierter Register eine Anzahl von Registern in Schaltungsregisterblöcken (RCRB) oder eine Anzahl von Speicherbasisadressenregister 0 (MEMBAR0) umfasst.
  18. Einrichtung nach Anspruch 13, wobei der erste Satz dedizierter Register eine Folge von Registern zwischen einem Basisregister und einem Limitregister umfasst.
  19. Einrichtung nach Anspruch 12, wobei das erste Protokoll ein CXL-2.0-Protokoll ist und das zweite Protokoll ein CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll ist.
  20. Einrichtung nach einem der Ansprüche 12-19, wobei die Vorrichtung eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe/Ausgabe-Controller umfasst.
  21. Einrichtung zum Berechnen, die Folgendes umfasst: eine Leiterplatte (PCB) mit einem ersten Link und einem zweiten Link, die aus einem Peripheriekomponentenzwischenverbindungs-Bus (PCI), einem erweiterten PCI-Bus (PCI-X), einem PCI-Express-Bus, einem CXL-1.0-Bus, einem CXL-1.1-Bus oder einem CXL-2.0-Bus ausgewählt sind, einen Root-Komplex, der einen Port-Verwalter und einen stromabwärtigen Port aufweist, und einen Switch, der mit dem Root-Komplex gekoppelt ist und einen stromaufwärtigen Port und einen stromabwärtigen Port aufweist; wobei der Port-Verwalter des Root-Komplexes einen ersten Link-Zustand oder einen zweiten Link-Zustand detektieren soll, wobei unter dem ersten Link-Zustand ein erster Link zwischen dem stromabwärtigen Port des Root-Komplexes und dem stromaufwärtigen Port des Switches mit einem ersten Protokoll kompatibel ist und ein zweiter Link zwischen dem stromabwärtigen Port des Switches und einem stromaufwärtigen Port einer Vorrichtung mit einem zweiten Protokoll kompatibel ist und unter dem zweiten Link-Zustand der erste Link zwischen dem stromabwärtigen Port des Root-Komplexes und dem stromaufwärtigen Port des Switches mit dem ersten Protokoll kompatibel ist, ohne dass der zweite Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung mit dem zweiten Protokoll kompatibel ist; und wobei der Port-Verwalter bei Detektion des ersten Link-Zustands den stromabwärtigen Port des Root-Komplexes gemäß dem zweiten Protokoll betreiben soll und der Port-Verwalter bei Detektion des zweiten Link-Zustands den stromabwärtigen Port des Root-Komplexes gemäß dem ersten Protokoll betreiben soll.
  22. Einrichtung nach Anspruch 21, die ferner umfasst: einen Prozessor oder eine Zentralprozessoreinheit (CPU), die mit der Schaltungsanordnung gekoppelt ist; und eine Speichervorrichtung, die mit der Schaltungsanordnung gekoppelt ist.
  23. Einrichtung nach Anspruch 21, wobei bei Detektion des ersten Link-Zustands eine oder mehrere Nachrichten zwischen dem Root-Komplex und der Vorrichtung gemäß dem zweiten Protokoll auf einem Kommunikationskanal ausgetauscht werden, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung umfasst, und wobei der stromabwärtige Port der Schaltungsanordnung einen ersten Satz dedizierter Register in einem speicherabgebildeten Eingabe-Ausgabe-Adressraum der Schaltungsanordnung und einen ersten Satz dedizierter Busse für den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches aufweist; wobei bei Detektion des ersten Link-Zustands der Port-Verwalter dazu ausgelegt ist, den ersten Satz dedizierter Register in der Schaltungsanordnung und den ersten Satz dedizierter Busse einem Kommunikationskanal zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung zuzuweisen, der den ersten Link zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port des Switches und den zweiten Link zwischen dem stromabwärtigen Port des Switches und dem stromaufwärtigen Port der Vorrichtung aufweist, um den Austausch von Nachrichten zwischen dem Root-Komplex und der Vorrichtung gemäß dem zweiten Protokoll zu ermöglichen.
  24. Einrichtung nach Anspruch 21, wobei der Port-Verwalter ferner zu Folgendem ausgelegt ist: Verwalten der Übertragung der einen oder mehreren Nachrichten zwischen dem stromabwärtigen Port der Schaltungsanordnung und dem stromaufwärtigen Port der Vorrichtung gemäß dem zweiten Protokoll unter Verwendung eines zweiten Satzes dedizierter Register in dem Switch und eines zweiten Satzes dedizierter Busse des stromaufwärtigen Ports des Switches zur Kommunikation über den ersten Link und eines dritten Satzes dedizierter Register in dem Switch und eines dritten Satzes dedizierter Busse des stromabwärtigen Ports des Switches zur Kommunikation über den zweiten Link.
  25. Einrichtung nach einem der Ansprüche 21-24, wobei das erste Protokoll ein CXL-2.0-Protokoll ist und das zweite Protokoll ein CXL-1.1-Protokoll, ein CXL-1.0-Protokoll oder ein PCIe-Protokoll ist; und wobei die Vorrichtung eine Maus, eine Platte, eine Tastatur, eine Speichervorrichtung oder einen Eingabe/Ausgabe-Controller umfasst.
DE102020117483.7A 2019-08-05 2020-07-02 Mechanismus für Vorrichtungsinteroperabilität von Switches in Computerbussen Pending DE102020117483A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962882863P 2019-08-05 2019-08-05
US62/882,863 2019-08-05
US16/673,259 US11216404B2 (en) 2019-08-05 2019-11-04 Mechanism for device interoperability of switches in computer buses
US16/673,259 2019-11-04

Publications (1)

Publication Number Publication Date
DE102020117483A1 true DE102020117483A1 (de) 2021-02-11

Family

ID=69583906

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020117483.7A Pending DE102020117483A1 (de) 2019-08-05 2020-07-02 Mechanismus für Vorrichtungsinteroperabilität von Switches in Computerbussen

Country Status (2)

Country Link
US (2) US11216404B2 (de)
DE (1) DE102020117483A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11467834B2 (en) * 2020-04-01 2022-10-11 Samsung Electronics Co., Ltd. In-memory computing with cache coherent protocol
CN111596967A (zh) * 2020-04-27 2020-08-28 中国银联股份有限公司 应用功能配置方法、终端设备、服务器及存储介质
JP2022038688A (ja) * 2020-08-27 2022-03-10 キオクシア株式会社 メモリシステムおよび制御方法
JP2022050757A (ja) 2020-09-18 2022-03-31 キオクシア株式会社 メモリシステム
KR20220056986A (ko) 2020-10-29 2022-05-09 삼성전자주식회사 메모리 확장기, 이종 컴퓨팅 장치, 및 이종 컴퓨팅 장치의 동작 방법
KR20220070951A (ko) 2020-11-23 2022-05-31 삼성전자주식회사 메모리 장치, 이를 포함하는 시스템 및 메모리 장치의 동작 방법
US11875046B2 (en) 2021-02-05 2024-01-16 Samsung Electronics Co., Ltd. Systems and methods for storage device resource management
CN113360093B (zh) * 2021-06-03 2022-11-08 锐掣(杭州)科技有限公司 内存系统和设备
US11995017B2 (en) * 2021-06-09 2024-05-28 Enfabrica Corporation Multi-plane, multi-protocol memory switch fabric with configurable transport
CN114063520B (zh) * 2021-11-17 2024-03-12 首都师范大学 交换机、通信系统及控制方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917658B2 (en) * 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7046668B2 (en) * 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7860930B2 (en) * 2006-12-19 2010-12-28 International Business Machines Corporation Communication between host systems using a transaction protocol and shared memories
US8305879B2 (en) * 2007-03-30 2012-11-06 International Business Machines Corporation Peripheral component switch having automatic link failover
US7783818B1 (en) * 2007-12-28 2010-08-24 Emc Corporation Modularized interconnect between root complexes and I/O modules
US20130151750A1 (en) * 2010-08-19 2013-06-13 Balaji Kanigicherla Multi-root input output virtualization aware switch
CN102541794B (zh) * 2012-01-05 2014-11-26 威盛电子股份有限公司 集线器及其方法
US8782321B2 (en) * 2012-02-08 2014-07-15 Intel Corporation PCI express tunneling over a multi-protocol I/O interconnect
US20130254440A1 (en) * 2012-03-20 2013-09-26 Icron Technologies Corporation Devices and methods for transmitting usb termination signals over extension media
US10380041B2 (en) * 2012-08-23 2019-08-13 Dell Products, Lp Fabric independent PCIe cluster manager
US9043529B2 (en) * 2012-11-21 2015-05-26 Avago Technologies General Ip (Singapore) Pte Ltd Method to facilitate fast context switching for partial and extended path extension to remote expanders
US9965424B2 (en) * 2014-02-07 2018-05-08 Texas Instruments Incorporated USB switch with multi-role ports
US10268815B2 (en) * 2015-06-26 2019-04-23 Intel Corporation Authentication of a multiple protocol connection
JP2017111729A (ja) * 2015-12-18 2017-06-22 ルネサスエレクトロニクス株式会社 ホストコントローラおよびホストコントローラで実行されるプログラム
US10394747B1 (en) * 2017-05-31 2019-08-27 Mellanox Technologies Ltd. Implementing hierarchical PCI express switch topology over coherent mesh interconnect
US10896089B2 (en) * 2018-04-06 2021-01-19 Western Digital Technologies, Inc. System level data-loss protection using storage device local buffers
US20200379930A1 (en) * 2019-05-29 2020-12-03 Hewlett Packard Enterprise Development Lp System and method for transforming legacy sr-iov devices to appear as siov queue pairs using a management controller

Also Published As

Publication number Publication date
US11789889B2 (en) 2023-10-17
US20220179818A1 (en) 2022-06-09
US11216404B2 (en) 2022-01-04
US20200065290A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
DE102020117483A1 (de) Mechanismus für Vorrichtungsinteroperabilität von Switches in Computerbussen
DE102020113294A1 (de) Mehrchip-synchronisation mit anwendungen in mehrfacheingangs-/mehrfachausgangs-radarsystemen (mimo-radarsystemen)
DE102019129622A1 (de) Auslegbare integritätsgeschützte verbindung für sichere beschleunigerkommunikation
US11232058B2 (en) Enabling sync header suppression latency optimization in the presence of retimers for serial interconnect
EP4213032A1 (de) Verbindungsschichtkommunikation durch kodierungen auf mehreren verbindungsschichten für computerbusse
DE102019105286A1 (de) Synchronisation einer Anzeigeeinrichtung in einem System, das mehrere Anzeigeeinrichtungen beinhaltet
DE102016116721A1 (de) Reduzieren der Ethernet-Latenz in einem Multi-Server Chassis
US11593529B2 (en) Device interface security management for computer buses
WO2019168765A1 (en) Context-aware synthesis for video frame interpolation
DE102019129613A1 (de) Schnittstellenschaltkreise mit mehreren gleichstrom-stromversorgungskontakten
DE102015106778A1 (de) Ein Verfahren und Technisches Gerät für die Nahbereichsdatenübertragung
DE102015017304B3 (de) Synchronisierte Niedrigenergie-Erkennungstechnik
DE102019104517A1 (de) Mechanismen zum Booten einer Recheneinrichtung und programmierbare Schaltung
DE102019128141A1 (de) Hardwaremechanismen zur linkverschlüsselung
US20190052539A1 (en) Programmable tester for master-slave device networks
DE112020000535B4 (de) Fehlerbehebung innerhalb und außerhalb der eigenen Räumlichkeiten
EP3395085A1 (de) Vorrichtungen, verfahren und computerprogramm zum herstellen einer kommunikationsverbindung zwischen einem informationssystem eines fahrzeugs und einem mobilgerät
DE112018008032T5 (de) Interaktive umgebungen unter verwendung von visueller berechnung und immersiver realität
DE112020001628T5 (de) Benutzerausrüstung (ue) messfähigkeit in hochgeschwindigkeitsszenarien
DE112016002371T5 (de) Vorrichtung, gerät und system zum verringern der stromableitung während differentiellen kommunikationen
US20190041975A1 (en) Mechanisms for chemical sense response in mixed reality
DE112019006221T5 (de) Virtueller Flash
DE112011106026B4 (de) Vorrichtung, Tablet-Computer und System
DE102019106037A1 (de) Netzwerkkomponente, Netzwerkschalter, Zentrale, Basisstation, Datenspeicherung, Verfahren und Vorrichtung zum Verwalten von Daten, Computerprogramm, maschinenlesbare Speichervorrichtung und maschinenlesbares Medium
CN104918010A (zh) 拼接墙信号回显方法和系统

Legal Events

Date Code Title Description
R130 Divisional application to

Ref document number: 102020008144

Country of ref document: DE