DE112016003147T5 - Geteiltes mesh - Google Patents

Geteiltes mesh Download PDF

Info

Publication number
DE112016003147T5
DE112016003147T5 DE112016003147.5T DE112016003147T DE112016003147T5 DE 112016003147 T5 DE112016003147 T5 DE 112016003147T5 DE 112016003147 T DE112016003147 T DE 112016003147T DE 112016003147 T5 DE112016003147 T5 DE 112016003147T5
Authority
DE
Germany
Prior art keywords
core component
mesh
coupled
memory
core
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.)
Granted
Application number
DE112016003147.5T
Other languages
English (en)
Other versions
DE112016003147B4 (de
Inventor
Bahaa Fahim
Yen-Cheng Liu
Chung-Chi Wang
Donald C. Soltis
Terry C. Huang
Tejpal Singh
Bongjin Jung
Nazar Syed Haider
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 DE112016003147T5 publication Critical patent/DE112016003147T5/de
Application granted granted Critical
Publication of DE112016003147B4 publication Critical patent/DE112016003147B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Ein geteiltes Mesh umfasst eine Mesh-Station. Die Mesh-Station wird zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente verwendet. Die Mesh-Station umfasst eine Logikeinheit. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt.

Description

  • TECHNISCHES GEBIET
  • Hier beschriebene Ausführungsformen betreffen allgemein das Gebiet der Datenverarbeitungssysteme und insbesondere (aber nicht ausschließlich) Verbindungselementsysteme.
  • STAND DER TECHNIK
  • Zurzeit werden Mehrkernarchitekturen verwendet, um dem Bedarf an höherem Datenverarbeitungsdurchsatz entgegenzukommen. Ein Mehrkernprozessor umfasst typischerweise zwei oder mehr unabhängige Verarbeitungseinheiten („Kerne”), die Programmanweisungen lesen und ausführen. Typischerweise sind die Kerne auf einen integrierten Schaltungschip oder auf mehrere Chips in einer einzigen Chipkapselung integriert.
  • Die Kerne und anderen Komponenten auf einem Chip werden unter Verwendung eines Kommunikationsnetzwerks, z. B. eines Verbindungselements auf dem Chip, verbunden. Das Verbindungselement auf dem Chip umfasst typischerweise Drahtleiter und andere Übertragungsmedien zum Übermitteln von Daten zwischen Verarbeitungs- und Speicherungseinheiten auf dem Chip. Der dramatische Anstieg der Anzahl der Kerne auf einem einzigen Chip hat zu der wachsenden Komplexität des Verbindungskoppelfeldes geführt.
  • Ein Mesh-Verbindungskoppelfeld bezieht sich im Allgemeinen auf eine Netzwerktopologie, bei der jeder Knoten (jede Station) des Mesh Daten für das Netzwerk weiterleitet. Alle Mesh-Knoten kooperieren bei der Verteilung von Daten im Netzwerk. Ein Mesh-Netzwerk, dessen Knoten alle miteinander verbunden sind, ist ein voll verbundenes Netzwerk. Voll verbundene Netzwerke haben die Vorteile der Sicherheit und Zuverlässigkeit. In solchen Netzwerken steigt mit zunehmender Anzahl von Knoten jedoch die Anzahl der Verbindungen und deshalb der Kostenfaktor schnell.
  • Mesh-Verbindungselemente hoher Bandbreite verbrauchen zurzeit viel Strom und Chipfläche, wodurch die Herstellungskosten vergrößert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen der Erfindung können am besten durch Bezugnahme auf die folgende Beschreibung und beigefügten Zeichnungen, mit denen Ausführungsformen der Erfindung veranschaulicht werden, verstanden werden. Es zeigen:
  • 1 eine Ansicht einer Blockdarstellung eines geteilten Mesh gemäß einer Ausführungsform.
  • 2 eine Blockdarstellung eines geteilten Mesh-Verbindungselementsystems auf einem Chip gemäß einer Ausführungsform.
  • 3 eine Ansicht eines Teils eines herkömmlichen Mesh-Systems und eines Teils eines geteilten Mesh-Systems gemäß einer Ausführungsform.
  • 4 eine Grundrissansicht eines Teils eines herkömmlichen Mesh-Systems auf einem Chip und eines Teils eines geteilten Mesh-Systems auf einem Chip gemäß einer Ausführungsform.
  • 5 eine Blockdarstellung eines Teils eines geteilten Mesh-Systems gemäß einer Ausführungsform.
  • 6 ein Flussdiagramm eines Verfahrens zum Konfigurieren einer Geteiltes-Mesh-Station gemäß einer Ausführungsform.
  • 7 ein Flussdiagramm eines Verfahrens zum Bereitstellen eines geteilten Mesh gemäß einer Ausführungsform.
  • 8 ein Flussdiagramm eines Verfahrens zum Justieren eines mit einer Geteiltes-Mesh-Station gekoppelten Speichers gemäß einer Ausführungsform.
  • 9 ein Flussdiagramm eines Verfahrens zum Betrieb einer Geteiltes-Mesh-Station gemäß einer Ausführungsform.
  • 10 ein Flussdiagramm eines Verfahrens zum Bereitstellen eines geteilten Mesh gemäß einer Ausführungsform.
  • 11 eine Ansicht einer in einem Speicher gespeicherten beispielhaften Datenstruktur, die eine der Kernkomponente zugeordnete Kennung auf einen Broadcast-Vektor abbildet, gemäß einer Ausführungsform.
  • 12 eine Blockdarstellung eines Mehrprozessorsystems gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden hier Verfahren und Vorrichtungen zur Bereitstellung eines kosteneffizienten geteilten Mesh-Koppelfelds beschrieben. Ein geteiltes Mesh umfasst eine Mesh-Station. Die Mesh-Station dient zum Koppeln mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station umfasst eine Logikeinheit. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Ein Speicher ist mit der Mesh-Station gekoppelt.
  • In der folgenden Beschreibung werden verschiedene Aspekte der beispielhaften Implementierungen unter Verwendung von Ausdrücken beschrieben, die von Fachleuten weithin verwendet werden, um das Wesentliche ihrer Arbeit anderen Fachleuten zu vermitteln. Für Fachleute ist jedoch erkennbar, dass die hier beschriebenen Ausführungsformen ohne einige der beschriebenen Aspekte praktiziert werden können. Zur Erläuterung werden spezifische Zahlen, Materialien und Konfigurationen dargelegt, um ein umfassendes Verständnis der beispielhaften Implementierungen zu gewährleisten. Für Fachleute ist jedoch erkennbar, dass die Ausführungsformen der vorliegenden Erfindung ohne die spezifischen Einzelheiten praktiziert werden können. In anderen Fällen werden wohlbekannte Merkmale weggelassen oder vereinfacht, um die beispielhaften Implementierungen nicht zu verschleiern.
  • Verschiedene Operationen werden als mehrere diskrete Operationen der Reihe nach auf eine Weise beschrieben, die für das Verständnis der Ausführungsformen der vorliegenden Erfindung am hilfreichsten ist, die Reihenfolge der Beschreibung sollte jedoch nicht als Implikation aufgefasst werden, dass diese Operationen notwendig reihenfolgeabhängig sind. Insbesondere müssen diese Operationen nicht in der Präsentationsreihenfolge ausgeführt werden.
  • Obwohl in den beigefügten Zeichnungen bestimmte beispielhafte Ausführungsform beschrieben und gezeigt werden, versteht sich, dass solche Ausführungsformen lediglich beispielhaft und nicht einschränkend sind und dass die Ausführungsformen nicht auf die spezifischen gezeigten und beschriebenen Konstruktionen und Anordnungen beschränkt sind, weil Durchschnittsfachleuten Modifikationen einfallen können.
  • Die Erwähnung „einer Ausführungsform”, „einer anderen Ausführungsform” oder „eine Ausführungsform” im Verlauf der Patentschrift bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Das Erscheinen der Phrasen wie „einer Ausführungsform” und „eine Ausführungsform” an verschiedenen Stellen in der Patentschrift bezieht sich somit nicht unbedingt immer auf dieselbe Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristiken auf beliebige geeignete Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • Außerdem liegen die erfindungsgemäßen Aspekte in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform. Die der ausführlichen Beschreibung folgenden Ansprüche werden somit hiermit ausdrücklich in die vorliegende ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich als getrennte Ausführungsform steht. Obwohl die beispielhaften Ausführungsformen beschrieben wurden, ist für Fachleute erkennbar, dass diese beispielhaften Ausführungsformen mit Modifikation und Abänderung wie hier beschrieben praktiziert werden können. Die Beschreibung ist somit nicht als Beschränkung, sondern als beispielhaft zu betrachten.
  • Ein Zentralverarbeitungseinheit- bzw. CPU-Verbindungselement auf dem Chip kann für Serverentwürfe und Client-Entwürfe verwendet werden. Server-Entwürfe basieren typischerweise auf einem kohärenten Mesh-Verbindungselement (z. B. Halbringe von Halbringen), das ein Koppelfeld mit hoher Bandbreite und niedriger Latenz für die Kommunikation auf dem Chip bereitstellt. Die Client-Entwurf-Mesh-Verbindungselemente basieren auf einem Ring-Verbindungselement. Das kohärente Server-Entwurf-Mesh-Verbindungselement ist flexibel und hochskalierbar, um eine große Anzahl von Kernen und Systemagenten zu unterstützen. Das CPU-auf-Chip-Verbindungselement stellt typischerweise ein Koppelfeld niedriger Latenz und ausreichender Bandbreite bereit, um für eine begrenzte Anzahl von Kernen und Systemagenten zu skalieren. Das kohärente Mesh-Verbindungselement gewährleistet im Allgemeinen die Einheitlichkeit von geteilten Ressourcendaten, die in mehreren lokalen Speichern (z. B. Caches) gespeichert werden.
  • Kernkomponenten beziehen sich im Allgemeinen auf die Komponenten des Prozessors, die bei der Ausführung von Anweisungen beteiligt sind, z. B. eine Arithmetik-Logikeinheit (ALU), eine Gleitkommaeinheit (FPU) und andere Anweisungslogikeinheiten. Uncore-Komponenten beziehen sich auf die Komponenten, die sich nicht im Kern befinden. Uncore-Komponenten umfassen z. B. Verbindungselementsteuerungen, eine Snoop-Agent-Pipeline, eine Speichersteuerung auf dem Chip und eine Peripheriesteuerung. Eine Uncore-Schnittstelle zum Kern bildet eine Schnittstelle mit einem LLC (Last Level Cache) und ist für das Verwalten von Cache-Kohärenz verantwortlich. Der LLC ist ein Cache der höchsten Ebene, der vor dem Zugriff auf einen Speicher aufgerufen wird. Zum Konvergierenlassen von Uncore-Entwürfen und Teilen eines gemeinsamen kohärenten Verbindungselements muss das skalierbare kohärente Server-Mesh-Verbindungselement für alle Server-Entwürfe (einschließlich Mikroserver) verwendet werden. Derzeitige Mesh-Verbindungselemente erreichen jedoch nicht Mikroserver-Kostenziele aufgrund von Flächen- und Stromauswirkungen, die Mesh-Agenten zugeordnet sind, die bis zu einem hohen Grad der Skalierbarkeit entworfen sind, während sie für bestimmte Segmente des Chips mehr Verbindungselementbandbreite als erforderlich bereitstellen.
  • Hier beschriebene Ausführungsformen des kohärenten geteilten Mesh-Koppelfelds stellen eine flächeneffiziente Lösung bereit, um das Mesh-Verbindungskoppelfeld zu skalieren, um effizientere Server-Kostenziele zu erreichen. Bei einer Ausführungsform wird eine optionale zweite chipinterne bzw. IDI-Schnittstelle pro Mesh-Agent auf einem skalierbaren kohärenten Koppelfeld eingeführt, um einen zusätzlichen Kern mit einer Mesh-Station zu verbinden, die als Mesh-Haltestelle dient, wie nachfolgend ausführlicher beschrieben werden wird. Bei einer Ausführungsform ist die zweite IDI-Schnittstelle eine Kern-Uncore-Schnittstelle, wie nachfolgend weiter beschrieben werden wird. Das heißt, es wird ein Mesh-Agent erzeugt, der Grundrissoptionen zur Unterstützung von einem oder zwei IDI-Ports aufweist. Die zweite IDI-Schnittstelle des Mesh-Agenten zur Verbindung mit dem zusätzlichen Kern verringert vorteilhafterweise die Fläche des Grund-Mesh-Entwurfs. Die zweite IDI-Schnittstelle des Mesh-Agenten zur Verbindung des zusätzlichen Kerns stellt einen Vorteil des Kombinierens von 1:1- und 2:1-Einteilungen bereit, das die Grundrissflexibilität signifikant vergrößert und Gesamtkosten, Strom und Chipfläche optimiert.
  • Bei einer Ausführungsform wird ein zweiter IDI-Port eingeführt, der existierende ADD/DROP-Ports an einer Mesh-Station, die als gemeinsame Mesh-Haltestelle wirkt, teilt. Statt eine dedizierte Mesh-Haltestelle pro Kern zu haben, verringert der zweite IDI-Port, der existierende ADD/DROP-Ports an einer gemeinsamen Mesh-Haltestelle teilt, ein Mesh-Overhead durch Teilen von Mesh-Haltestellen. Abhängig von Grundrissbeschränkungen kann dies die Gesamtchipfläche verglichen mit einer herkömmlichen vollen Mesh-Konfiguration um mindestens etwa 10% bis etwa 18% verringern.
  • 1 ist eine Ansicht einer Blockdarstellung eines geteilten Mesh 100 gemäß einer Ausführungsform. Eine Mesh-Station 101 umfasst eine Logikeinheit 102, einen Port 103, einen Port 104 und einen Port 112. Wie in 1 gezeigt wird die Mesh-Station 101 von einer Kernkomponente 105 und einer Kernkomponente 108 geteilt. Wie in 1 gezeigt, ist die Kernkomponente 105 relativ zu der Kernkomponente 108 um die geteilte Mesh-Station reflektiert („umgeklappt”). Bei einer Ausführungsform befinden sich die Ports zur Verbindung mit der Mesh-Station auf einer vorbestimmten Seite der Kernkomponenten. Wenn Port 111 der Kernkomponente 108 auf einer Seite 121 der Mesh-Station 101 mit Port 104 verbunden ist, ist eine Kernkomponente 105 umgeklappt, um Port 107 auf einer Seite 122 der Mesh-Station 101 mit Port 103 zu verbinden, wie in 1 gezeigt. Bei einer Ausführungsform ist die Mesh-Station 101 dafür auslegbar, einen mit einer Kernkomponente verbundenen Port oder mindestens zwei mit mindestens zwei Komponenten verbundene Ports aufzuweisen. Bei einer Ausführungsform umfasst die Logikeinheit 102 der Mesh-Station 101 einen Cache- und Heimatagenten (CHA). Bei einer Ausführungsform umfasst der CHA die Funktionalität eines Cache-Agenten, der Zugang zu einem System-Cache verwaltet, und eines Heimatagenten, der Zugang zu einem Systemspeicher verwaltet, neben anderen Merkmalen. Bei einer Ausführungsform dient der Cache- und Heimatagent der Logikeinheit 102 zum Einleiten von Transaktionen in einen kohärenten Speicher, zum Behalten von Kopien in der Cache-Struktur, zum Bereitstellen von Kopien der kohärenten Speicherinhalte für andere Cache- und Heimatagenten, zur Versorgung von kohärenten Transaktionen, einschließlich Handshaking, zur Aufrechterhaltung der Kohärenz für einen gegebenen Adressenraum des Speichers. Bei einer Ausführungsform umfasst die Logikeinheit 102 eine Hinzufügelogik, eine Abwerflogik oder sowohl Hinzufüge- als auch Abwerflogik.
  • Port 103 ist mit der Kernkomponente 105 gekoppelt und Port 104 ist mit der Kernkomponente 108 gekoppelt. Port 112 ist mit einem Verbindungskoppelfeld 113 gekoppelt. Bei einer Ausführungsform ist die Mesh-Station 101 Teil des Verbindungskoppelfelds 113. Bei einer Ausführungsform verbindet das Verbindungskoppelfeld 113 Komponenten über einen CPU-Chip oder einen beliebigen anderen Chip. Bei einer Ausführungsform dient das Verbindungskoppelfeld 113 zum Übermitteln von Daten zwischen Agenten zur Ausführung einer oder mehrerer Funktionen. Bei einer Ausführungsform umfasst das Verbindungskoppelfeld 113 eine Matrix von miteinander verbundenen Mesh-Stationen. Bei einer Ausführungsform ist die Mesh-Station 101 eine der Mesh-Stationen des Verbindungskoppelfelds 113. Bei einer Ausführungsform ist die Mesh-Station 101 eine gemeinsame Mesh-Haltestelle (CMS) für die Komponenten (z. B. Kerne, Speicher, Speichersteuerungen, Puffer und andere Komponenten eines Netzwerks) zur Verbindung mit dem Koppelfeld 113. Das Verbindungskoppelfeld 113 führt im Allgemeinen einen kohärenten Verkehr und nichtkohärenten Verkehr. Bei einer Ausführungsform ist das Verbindungskoppelfeld 113 ein kohärentes geteiltes-Mesh-Verbindungskoppelfeld.
  • Die Kernkomponente 105 weist eine Logikeinheit 106 und einen Port 107 auf. Die Kernkomponente 108 weist eine Logikeinheit 109 und einen Port 111 auf. Ein Speicher 114 ist mit der Mesh-Station 101 gekoppelt. Bei einer Ausführungsform ist der Speicher 114 ein Cache. Bei einer Ausführungsform ist der Speicher 114 ein Cache-Slice. Bei einer spezifischeren Ausführungsform ist der Speicher 114 ein LLC-Cache. Bei alternativen Ausführungsformen ist der Speicher 114 ein L1-Cache (Level 1), ein L2-Cache (Level 2) oder ein beliebiger anderer Level-Cache. Bei einer Ausführungsform wird der Speicher 114 von mindestens den Kernkomponenten 105 und 108 geteilt.
  • Mit der Mesh-Station 101 ist eine Speichersteuerung 115 gekoppelt, wie in 1 gezeigt. Bei einer Ausführungsform dient die Logikeinheit 102 zum Senden von Daten zu dem Verbindungskoppelfeld 113 und zum Empfangen von Daten von dem Verbindungskoppelfeld 113. Bei einer Ausführungsform umfasst die Logikeinheit 102 einen Prozessor oder andere Logik. Bei einer Ausführungsform umfasst jede der Logikeinheiten 106 und 109 einen Prozessor, eine arithmetisch-logische Einheit (ALU), eine Gleitkommaeinheit (FPU), andere Ausführungsanweisungslogikeinheiten oder eine beliebige Kombination davon. Bei einer Ausführungsform umfasst jede der Kernkomponenten 105 und 108 einen Kernagenten zum Ausführen einer oder mehrerer Kernkomponentenfunktionen. Ein Agent bezieht sich im Allgemeinen auf eine Menge von Anweisungen, eine Anwendung oder ein beliebiges anderes Computerprogramm, das in einem Speicher gespeichert ist und durch die Logikeinheit ausgeführt wird, um eine oder mehrere Funktionen auszuführen.
  • Bei einer Ausführungsform umfassen Port 103 und Port 104 jeweils eine IDI-Schnittstelle. Bei einer Ausführungsform ist die IDI-Schnittstelle jedes der Ports 103 und 104 eine Kern-Uncore-Schnittstelle zur Verbindung einer Kernkomponente mit einer oder mehreren Uncore-Komponenten. Bei einer Ausführungsform umfasst die Mesh-Station 101 eine Uncore-Komponente. Bei einer Ausführungsform sind die Ports 103 und 104 Teil eines mit einem Hinzufügeport gekoppelten Multiplexers. Bei einer Ausführungsform umfasst die Mesh-Station 101 einen oder mehrere Puffer. Bei einer Ausführungsform sind die Ports 103 und 104 Teil eines Demultiplexers, der mit einem Abwerfport gekoppelt ist, wie später ausführlicher mit Bezug auf 5 und 10 beschrieben werden wird.
  • Bei einer Ausführungsform ist die Logikeinheit 102 ausgelegt zum Identifizieren jeder der Kernkomponente 105 und der Kernkomponente 108, die sich die Mesh-Station teilen. Bei einer Ausführungsform werden die Kernkomponenten, die sich die Mesh-Station teilen, jeweils eindeutig unter Verwendung von Codierung identifiziert. Das heißt, der Verkehr, der durch das geteilte Mesh-Koppelfeld verläuft, führt Daten, die einen Quellenagenten (z. B. eine Kernkomponente, einen anderen Agenten) und einen Zielagenten (z. B. eine Kernkomponente oder einen anderen Agenten) angeben. Bei einer Ausführungsform codiert zur Unterstützung einer Geteiltes-Mesh-Topologie der CHA der Mesh-Station jeden der Kerne getrennt in einem Snoop-Filter-/Last-Level-Cache-Kern-Gültig-Zustand mit derselben Quellen-Mesh-Station. Bei einer Ausführungsform hat jeder der zum Codieren eines Kerns, dem ein bestimmtes Cache-Slice (oder eine bestimmte Cache-Adresse) gehört, ausgelegten Snoop-Filter-/Last-Level-Cache-Kern-Gültig-Zustande als Partner dieselbe Mesh-Station. Bei einer Ausführungsform ist das Snoop-Filter Teil eines Cache. Bei einer Ausführungsform wird der Zustand des Cache, der einen Kern codiert, dem eine Cache-Linie (oder ein Cache-Adressenraum) gehört, mit einer Mesh-Station abgebildet. Bei einer Ausführungsform ist die Logikeinheit 102 ausgelegt zum Abbilden einer der Kernkomponente 105 zugeordneten Kennung auf einen Broadcast-Vektor und zum Abbilden einer der Kernkomponente 108 zugeordneten Kennung auf einen Broadcast-Vektor. Die Kerne, die sich die Mesh-Station teilen, werden unter Verwendung von Abbildung eindeutig identifiziert.
  • 11 ist eine Ansicht einer in einem Speicher gespeicherten beispielhaften Datenstruktur 1100, die eine der Kernkomponente zugeordnete Kennung (z. B. Kerncodierung 1102) auf einen geeigneten Broadcast-Vektor (BV) 1103 abbildet, gemäß einer Ausführungsform. Bei einer Ausführungsform wird die Datenstruktur 1100 in Speicher 115 gespeichert. Bei einer Ausführungsform bildet der CHA der Mesh-Station jede Kernkomponentencodierung in dem Kern-Gültig-Vektor auf den entsprechenden Broadcast-Vektor in einem Invalidierungs- bzw. IV-Ring ab. Bei einer Ausführungsform ist der IV-Ring ein Snoop-Ring, der auf die Kerne abzielt. Bei einer Ausführungsform umfasst der Geteiltes-Mesh-Verkehr auf der Basis der Informationen in dem Kern-Gültig-Vektor einen Header, der angibt, welcher Kern hinter der Mesh-Station gesnoopt werden muss. Bei einer Ausführungsform ist eine Logikeinheit 102 dafür ausgelegt, die Größe des Speichers 114 zu justieren.
  • Bei einer Ausführungsform wird die Größe des Speichers 114 vergrößert, um mehrere Kerne zu unterstützen. Bei einer Ausführungsform ist der Speicher 114 ein LLC, dessen Kapazität vergrößert wird, um die zwei Kernkomponenten zu unterstützen. Bei einer Ausführungsform ist die Vergrößerung der Kapazität des LLC nicht proportional zu der Anzahl von Kernen. Bei einer spezifischen Ausführungsform ist die Kapazität des einzelnen LLC, der zwei Kernkomponenten unterstützt, kleiner als die Summe der Kapazitäten zweier LLC, die jeweils die zwei Komponenten unterstützen. Bei einer anderen spezifischen Ausführungsform ist die Kapazität des einzelnen LLC, der zwei Komponenten unterstützt, größer als die Summe der Kapazitäten von zwei LLC, die jeweils die zwei Komponenten unterstützen. Bei einer anderen Ausführungsform wird die Speicherzuteilung vergrößert, um mehrere Kerne zu unterstützen. Bei einer Ausführungsform stellt zur Aufrechterhaltung einer effektiven neutralen Snoop-Filter-(SF-) und LLC-Kapazität jeder Mesh-Stations-CHA eine parametrisierbare Option bereit, SF-LLC zur Unterstützung mehrerer Kerne zu vergrößern. Dies führt jedoch nicht zu vergrößerter Latenz gegenüber dem äquivalenten Voll-Mesh-Entwurf. Bei einer Ausführungsform werden ein oder mehrere Parameter bestimmt, die einen Teil des Speichers (z. B. eine Anzahl von Speichereinheiten (z. B. Wegmengen oder andere Speichereinheiten), einen bestimmten Prozentsatz von Speicherkapazität, die Speicherzuteilung oder eine beliebige Kombination davon) angeben, der hinzugefügt werden muss, um mehrere Kernkomponenten zu unterstützen. Der Speicher wird auf der Basis des einen oder der mehreren Parameter justiert.
  • Bei einer Ausführungsform ist die Logikeinheit 102 dafür ausgelegt, Kredite für die erste Kernkomponente und die zweite Kernkomponente zu bestimmen. Bei einer Ausführungsform ändert die Logikeinheit des CMS die Kredite, die für mindestens zwei Kerne beschafft werden müssen, bevor Nachrichten empfangen werden. Dadurch wird sichergestellt, dass die Zieldecodierung des Kerns nicht unter den kritischen (Performance-)Pfad fällt. Bei einer Ausführungsform werden für die Nachrichten, die eine Geteiltes-Mesh-Station anvisieren, Kredite hinter der Geteiltes-Mesh-Station in Richtung jedes der Kerne bereitgestellt. Vor dem Empfang der Nachricht weiß die Geteiltes-Mesh-Station nicht, welcher Kern anvisiert wird. Die Geteiltes-Mesh-Station nimmt an, dass beide Kerne anvisiert werden, und empfängt Kredite für beide Kerne. Die Geteiltes-Mesh-Station konsumiert die Kredite erst, wenn die Geteiltes-Mesh-Station eine Nachricht empfängt, die einen Kern angibt, der anvisiert wird.
  • Bei einer Ausführungsform stellen Kerne (z. B. die Kernkomponenten 105 und 108 oder andere Kernkomponenten) eine Möglichkeit bereit, die Ausgaberate von Nachrichten von Kern -> Uncore auf jeden zweiten Takt zu drosseln. Bei einer Ausführungsform stellt die Uncore-Komponente einen Skid-Puffer bereit, der das Multiplexen von Nachrichten von beiden Kernen erlaubt. Dies erlaubt Teilen eines einzigen Ports an der Mesh-Haltestelle, wie nachfolgend ausführlicher beschrieben werden wird.
  • 2 ist eine Blockdarstellung 200 eines Geteiltes-Mesh-Verbindungselementsystem auf einem Chip 201 gemäß einer Ausführungsform. Wie in 2 gezeigt, sind mehrere Einteilungen, wie etwa die Einteilungen 202, 203, 204, 205, 206, 207, 208, 209, 211, 212, 213 und 214 mit Teilen eines auf einem Chip 201 gebildeten Geteiltes-Mesh-Verbindungskoppelfelds 210 gekoppelt. Das Geteiltes-Mesh-Verbindungskoppelfeld 210 umfasst mehrere Ring-Verbindungselementteile, die sich in mehrere Richtungen erstrecken, wie in 2 gezeigt. Zum Beispiel erstrecken sich die Verbindungselementteile 215 und 216 in einer horizontalen Richtung. Die Verbindungselementteile 217, 218 und 219 erstrecken sich in einer vertikalen Richtung, wie in 2 gezeigt. Bei einer Ausführungsform sind die Verbindungselementteile Ring-Verbindungselementteile. Die mehreren Einteilungen umfassen Agent-Einteilungen, z. B. Einteilungen 205 und 206, Uncore-Komponenten-Agent-Einteilungen, z. B. eine Einteilung 207, Kern-Komponenten-Agent-Einteilungen, z. B. Einteilungen 202 und 208. Bei einer Ausführungsform umfasst das Geteiltes-Mesh-Verbindungselementsystem auf dem Chip 201 ein kohärentes Geteiltes-Mesh-Koppelfeld.
  • Die Einteilung 205 umfasst einen mit einer Mesh-Station 226 gekoppelten Systemagenten 225. Die Einteilung 206 umfasst einen mit einer Mesh-Station 228 gekoppelten Systemagenten 227. Bei einer Ausführungsform ist der Systemagent 225 ein kohärenter IC-Port oder ein anderer Systemagent. Die Einteilung 207 umfasst einen Uncore-Agenten 229, der mit einer Mesh-Station 231 gekoppelt ist. Die Einteilung 202 umfasst ein Speichermodul 223, das mit einer Mesh-Station 222, einer Kernkomponente 221 und einer Kernkomponente 224 gekoppelt ist. Die Mesh-Station 222 wird von der Kernkomponente 221 und der Kernkomponente 224 geteilt, wie in 2 gezeigt. Bei alternativen Ausführungsformen umfasst das Speichermodul 223 einen Cache, ein Cache-Slice, eine Speichersteuerung, eine Speicherschnittstelle oder eine beliebige Kombination davon. Bei einer Ausführungsform umfasst das Speichermodul 223 einen oder mehrere Teile eines LLC (Last Level Cache).
  • Die Einteilung 208 umfasst ein Speichermodul 233, das mit einer Mesh-Station 234, einer Kernkomponente 229 und einer Kernkomponente 232 gekoppelt ist. Die Mesh-Station 234 wird von der Kernkomponente 229 und der Kernkomponente 232 geteilt, wie in 2 gezeigt. Bei alternativen Ausführungsformen umfasst das Speichermodul 233 einen Cache, ein Cache-Slice, eine Speichersteuerung, eine Speicherschnittstelle oder eine beliebige Kombination davon. Bei einer Ausführungsform umfasst das Speichermodul 233 einen oder mehrere Teile eines LLC (Last Level Cache). Bei einer Ausführungsform sind die Mesh-Stationen, wie etwa die Mesh-Stationen 222, 226, 228, 231 und 234, Mesh-Haltestellen. Bei einer Ausführungsform repräsentiert mindestens eine der Mesh-Stationen, z. B. die Mesh-Station 222, Mesh-Station 234, die Mesh-Station 101.
  • Bei verschiedenen Ausführungsformen können die Einteilungen des geteilten Mesh auf dem Chip 201 eine eingebettete DRAM-Steuerung (EDC), eine externe Speichersteuerungsschnittstelle (EMI), Speichersteuerungen, Verbindungselementkomponenten zwischen Vorrichtungen wie eine PCI-Steuerung (Peripheral Component Interconnect) und QPI-Steuerung (QuickPath Interconnect) umfassen, neben anderen Beispielen.
  • Wie in 2 gezeigt, ist jede der Mesh-Stationen mit dem Verbindungselement-Mesh gekoppelt, um Daten zu senden und zu empfangen. Zum Beispiel ist die Mesh-Station 222 mit dem Mesh-Verbindungselementteil 217 gekoppelt, um eine Nachricht oder andere Daten von einer Quellen-Mesh-Station zu empfangen und eine Nachricht oder andere Daten zu einer Ziel-Mesh-Station zu senden. Jede der Mesh-Stationen 228 und 234 ist mit dem Mesh-Verbindungselementteil 218 gekoppelt, um eine Nachricht oder andere Daten von einer Quellen-Mesh-Station zu empfangen und eine Nachricht oder andere Daten zu einer Ziel-Mesh-Station zu senden. Die Mesh-Station 231 ist mit dem Verbindungselementteil 219 gekoppelt, um eine Nachricht oder andere Daten von einer Quellen-Mesh-Station zu empfangen und eine Nachricht oder andere Daten zu einer Ziel-Mesh-Station zu senden.
  • 3 ist eine Ansicht 300 eines Teils eines herkömmlichen Mesh-Systems 301 und eines Teils eines geteilten Mesh-Systems 302 gemäß einer Ausführungsform. Das herkömmliche Mesh-System 301 umfasst einen Kern 303 und einen Kern 304 auf einem Chip. Eine Mesh-Station 305 und ein Cache 306 sind an den Kern 304 angeschlossen. Eine Mesh-Station 307 und ein Cache 308 sind an den Kern 304 angeschlossen, wie in 3 gezeigt. In dem herkömmlichen Mesh-System 301 greift nur ein Verarbeitungskern auf jede Mesh-Station zu. In dem herkömmlichen Mesh-System 301 wird die Mesh-Station nicht von den mehreren Verarbeitungskernen geteilt.
  • Das geteilte Mesh-System 302 umfasst eine Mesh-Station 312, die über eine Schnittstelle 316 mit einer Kernkomponente 311 und über eine Schnittstelle 317 mit einer Kernkomponente 314 gekoppelt ist. Der Zugriff auf die Mesh-Station 312 wird durch die Kernkomponente 311 und die Kernkomponente 314 geteilt. Bei einer Ausführungsform repräsentiert die Mesh-Station 312 die Mesh-Station 101. Die Kernkomponente 311 repräsentiert die Kernkomponente 108. Die Kernkomponente 314 repräsentiert die Kernkomponente 105.
  • Mit der Mesh-Station 312 und den Kernkomponenten 311 und 314 ist ein Speicher 313 gekoppelt. Der Speicher 313 wird von den Kernkomponenten 311 und 314 geteilt. Wie in 3 gezeigt, ist die Kernkomponente 314 relativ zu der Kernkomponente 311 umgeklappt. Bei einer Ausführungsform ist der Speicher 313 ein Cache. Bei einer spezifischeren Ausführungsform ist der Speicher 313 ein LLC. Bei einer Ausführungsform repräsentiert der Speicher 313 den Speicher 114. Wie in 3 gezeigt, verbraucht das geteilte Mesh-System 302 wesentlich weniger Platz verglichen mit dem herkömmlichen Mesh-System 301. Eine Anzahl von Mesh-Stationen in dem geteilten Mesh-System ist verglichen mit dem herkömmlichen Mesh-System um mindestens einen Faktor 2 verringert, wodurch vorteilhafterweise durch das Mesh-System verbrauchter elektrischer Strom verringert wird. Die Größe des geteilten Speichers 313 wird justiert, um zwei Kernkomponenten 311 und 314 zu unterstützen. Wie in 3 gezeigt, ist die Größe des Speichers 313 etwas vergrößert, um zwei Kernkomponenten zu unterstützen. Bei einer Ausführungsform wird die Größe des Speichers 313 um weniger als 50% vergrößert, um zwei Kernkomponenten zu unterstützen.
  • 4 ist eine Grundrissansicht 400 eines Teils eines herkömmlichen Mesh-Systems 401 auf einem Chip und eines Teils eines geteilten Mesh-Systems 402 auf einem Chip gemäß einer Ausführungsform. Eine Einlage 403 zeigt den Teil des herkömmlichen Mesh-Systems 301 und eine Einlage 404 zeigt den Teil des geteilten Mesh-Systems 302, das in 3 dargestellt ist. Das herkömmliche Mesh-System 401 umfasst Kernkomponenten 408, 304 und 303, Systemkomponenten 441, 442 und 443, eine Speichersteuerung 406, Caches 306 und 308, die über entsprechende Mesh-Stationen mit Mesh-Spuren 421, 422 und 423 gekoppelt sind. Die Kernkomponente 303 ist an die Mesh-Station 307 angeschlossen, die Kernkomponente 304 ist an die Mesh-Station 305 angeschlossen. Die Speichersteuerung 406 weist eine Schnittstelle mit einer Mesh-Stationslogik 407 auf. Die Systemkomponente 441 ist an eine Mesh-Station 444 angeschaltet, die Systemkomponente 442 ist an eine Mesh-Station 445 angeschaltet, und die Systemkomponente 443 ist an eine Mesh-Station 446 angeschaltet. Jede der Kernkomponenten ist an einen entsprechenden Cache angeschlossen. Die Kernkomponente 304 ist an den Cache 306 angeschaltet. Die Kernkomponente 303 ist an den Cache 308 angeschaltet.
  • Das geteilte Mesh-System 402 umfasst mehrere Komponenten, wie etwa Kernkomponenten mit Kernagenten, Systemkomponenten mit Systemagenten, eine oder mehrere Speichersteuerungen, einen oder mehrere Repeater-Blöcke, einen oder mehrere geteilte Speicher und eine oder mehrere geteilte Mesh-Stationen. Die Kernkomponenten, z. B. die Kernkomponenten 311, 314, 413, 414, 459 und 461, die Systemkomponenten, z. B. die Systemkomponenten 451, 452 und 453, eine oder mehrere Speichersteuerungen, z. B. eine Speichersteuerung 411, ein oder mehrere geteilte Speicher, z. B. die Speicher 313 und 457, ein oder mehrere Repeater-Blöcke, z. B. die Repeater-Blöcke 464 und 465, sind über mindestens einige geteilte Mesh-Stationen mit Mesh-Spuren gekoppelt, die sich in mehrere Richtungen erstrecken. Wie in 4 gezeigt, erstrecken sich die Mesh-Spuren 431, 432 und 433 in einer vertikalen Richtung, und die Mesh-Spuren 434, 435, 436 erstrecken sich in horizontalen Richtungen. In dem geteilten Mesh-System 402 werden mindestens einige der Mesh-Stationen zwischen mehreren Komponenten geteilt, z. B. Systemkomponenten, Kernkomponenten, einer oder mehreren Speichersteuerungskomponenten oder einer beliebigen Kombination davon. Die eine Logikeinheit 463 umfassende Mesh-Station 312 wird von mindestens den Kernkomponenten 311 und 314 geteilt, wie oben beschrieben. Eine Mesh-Station 458, die eine Logikeinheit 462 umfasst, wird von mindestens den Kernkomponenten 459 und 461 geteilt. Die Speichersteuerung 411 ist so gekoppelt, dass sie eine Schnittstelle mit einer Mesh-Stationslogik 412 aufweist. Eine Systemkomponente, die einen Systemagenten 451 umfasst, ist so gekoppelt, dass sie eine Schnittstelle mit einer Mesh-Stationslogik 454 aufweist. Eine Systemkomponente, die einen Systemagenten 452 umfasst, ist so gekoppelt, dass sie eine Schnittstelle mit einer Mesh-Stationslogik 455 aufweist. Eine Systemkomponente, die einen Systemagenten 453 umfasst, ist so gekoppelt, dass sie eine Schnittstelle mit einer Mesh-Stationslogik 456 aufweist, wie in 4 gezeigt. Bei einer Ausführungsform sind der eine oder die mehreren Repeater-Blöcke (z. B. Flipflops, Latches oder beides) dafür ausgelegt, Timinanforderungen für den Datenverkehr auf dem Mesh zu erfüllen.
  • Bei einer Ausführungsform werden mindestens einige der Mesh-Stationen, z. B. die Mesh-Station 458, durch die Mesh-Station 101 repräsentiert. Bei einer Ausführungsform werden mindestens einige der Kernkomponenten, z. B. die Kernkomponente 459, durch die Kernkomponente 108 repräsentiert. Bei einer Ausführungsform werden mindestens einige andere Kernkomponenten, z. B. die Kernkomponente 461, durch die Kernkomponente 105 repräsentiert. Bei einer Ausführungsform wird jede der Logikeinheiten 462 und 463 durch die Logikeinheit 102 repräsentiert.
  • Wie in 4 gezeigt, ist der geteilte Speicher 457 mit der Mesh-Station 458 und den Kernkomponenten 459 und 461 gekoppelt. Bei einer Ausführungsform werden mindestens einige der geteilten Speicher, z. B. der Speicher 313 und der Speicher 457, durch den Speicher 114 repräsentiert. Wie in 4 gezeigt, verbraucht das geteilte Mesh-System 402 verglichen mit dem herkömmlichen Mesh-System 401 wesentlich weniger Platz. Eine Anzahl von Mesh-Stationen in dem geteilten Mesh-System 402 ist verglichen mit dem herkömmlichen Mesh-System 401 um mindestens einen Faktor 2 verringert, wodurch vorteilhafterweise durch das Mesh-System verbrauchter elektrischer Strom verringert wird. Die Größen der geteilten Speicher werden justiert, um wie oben beschrieben mindestens zwei Kernkomponenten zu unterstützen.
  • 5 ist eine Blockdarstellung eines Teils eines geteilten Mesh-Systems 500 gemäß einer Ausführungsform. Eine Mesh-Station 501 umfasst eine Logikeinheit 521, die mit einem Hinzufügeport 0 507, einem Hinzufügeport 1 513, einem Abwerfport 0 508 und einem Abwerfport 1 514 gekoppelt ist. Ein Hinzufügeport stellt im Allgemeinen eine Schnittstelle von einem Mesh-Agenten zum Pushen einer Nachricht auf das Mesh-Koppelfeld/Verbindungselement bereit. Ein Abwerfport stellt eine Schnittstelle für den Mesh-Agenten zum Empfang einer Nachricht aus dem Mesh-Koppelfeld bereit, die für ein Ziel bestimmt ist. Der Abwerfport verwendet in den Feldern der Nachricht bereitgestellte Informationen zur Bestimmung, dass ein gegebenes Ziel der beabsichtigte Empfänger dieser Nachricht ist. Der Hinzufügeport verwendet durch einen Quellenagenten bereitgestellte Felder, die Routing-Informationen umfassen, z. B. eine Quellenkennung, eine Zielkennung und andere Routingtopologieinformationen, um es der Mesh-Haltestelle zu ermöglichen, die Nachricht erfolgreich gemäß den Mesh-Verbindungselement-Routingregeln zu transportieren. Ein Multiplexer 506 ist mit dem Hinzufügeport 0 507 zur Kopplung mit mindestens einer Kernkomponente Core 0 502 und einer Kernkomponente Core 1 503 gekoppelt. Bei einer Ausführungsform repräsentiert die Kernkomponente 502 eine der Komponenten 105 und 108. Bei einer Ausführungsform repräsentiert die Kernkomponente 503 eine der Komponenten 105 und 108. Bei einer Ausführungsform repräsentiert die Mesh-Station 501 die Mesh-Station 101. Bei einer Ausführungsform repräsentiert die Logikeinheit 521 die Logikeinheit 102.
  • Ein Puffer 504 ist mit einem Eingang 522 des Multiplexers 506 gekoppelt. Ein Puffer 505 ist mit einem Eingang 523 des Multiplexers 506 gekoppelt. Bei einer Ausführungsform ist jeder der Puffer 504 und 505 ein Skid-Puffer zum Multiplexen von Nachrichten von mindestens zwei Kernen zum Teilen eines einzigen Ports an der Mesh-Station. Der Multiplexer 506 wird dann zum Auswählen einer der Kernkomponenten Core 0 502 und Core 1 503 verwendet, aus der die Verkehrsdaten mittels des Hinzufügeports 507 zu pushen sind, auf der Basis einer Gültiger-Vektor-Information (z. B. einer gültigen Anforderung) von einer Quelle.
  • Wie in 5 gezeigt, werden Verkehrsdaten von der Kernkomponente Core 0 502, die über den Puffer 504 zu Eingang 522 gesendet werden, und Verkehrsdaten von der Kernkomponente Core 1 503, die über den Puffer 505 zu Eingang 523 gesendet werden, durch den Multiplexer 506 gemultiplext. Die gemultiplexten Daten von dem Multiplexer 506 werden zu dem Hinzufügeport 507 gesendet. Bei einer Ausführungsform werden zur Vermeidung kollidierender Nachrichten von beiden Kernen Core 1 und Core 0 an dem Hinzufügeport 507 in derselben Taktperiode Nachrichten von einem von Core 1 und Core 0 um mindestens einen Taktzyklus zurückgestellt, während Nachrichten von einem anderen von Core 1 und Core 0 durch die Mesh-Station geleitet werden. Bei einer Ausführungsform gibt jeder der Kerne jeden zweiten Taktzyklus unter Verwendung des Skid-Puffers eine oder mehrere Nachrichten an eine geteilte Mesh-Station aus. Bei einer Ausführungsform ist der Skid-Puffer ein Puffer/eine Warteschlange mit einem Eintrag, der bzw. die die Nachricht niedrigerer Priorität für einen zusätzlichen Taktzyklus speichert, wenn Kollision mit einer anderen Quelle, die um denselben Hinzufügeport in Wettbewerb tritt, auftritt. Bei einer weiteren Ausführungsform wird mindestens ein zusätzlicher Hinzufüge-/Abwerfport zu der geteilten Mesh-Station hinzugefügt, um es jedem der Kerne zu erlauben, jeden zweiten Taktzyklus ohne Verwendung des Skid-Puffers eine oder mehrere Nachrichten an die geteilte Mesh-Station auszugeben.
  • Mit dem Abwerfport 508 ist ein Demultiplexer 509 gekoppelt. Die über den Abwerfport 508 gesendeten Verkehrsdaten werden durch den Demultiplexer 509 gedemultiplext. Der Demultiplexer 508 dient zum Auswählen, welche der Kernkomponenten Core 0 502 und Core 1 503 die durch den Abwerfport 508 gesendeten Verkehrsdaten empfängt, auf der Basis von Headerinformationen in der empfangenen Nachricht. Die gedemultiplexten Daten von Core 0 werden durch einen Ausgang 511 des Demultiplexers gesendet. Die gedemultiplexten Daten von Core 1 werden durch einen Ausgang 512 des Demultiplexers gesendet. Verkehrsdaten von einem Komponentenagenten 517 werden auf einer Kommunikationsleitung 515 in den Hinzufügeport 1 513 eingegeben. Die Komponentenagentedaten werden durch den Abwerfport 1 514 auf einer Kommunikationsleitung 516 gesendet. Bei einer Ausführungsform ist der Komponentenagent 517 ein Uncore-Komponentenagent. Bei einer anderen Ausführungsform ist der Komponentenagent 517 ein Kern-Komponentenagent. Bei einer Ausführungsform ist ein (nicht gezeigter) Speicher-Cache mit der Mesh-Station 501 gekoppelt. Bei einer Ausführungsform ist wie oben beschrieben eine (nicht gezeigte) Speichersteuerung mit der Mesh-Station 501 gekoppelt.
  • 6 zeigt ein Flussdiagramm eines Verfahrens 600 zum Konfigurieren einer geteilten Mesh-Station gemäß einer Ausführungsform. In Operation 601 wird eine erste Kernkomponente mit einem ersten Port einer Mesh-Station verbunden. In Operation 602 wird bestimmt, ob eine zweite Kernkomponente mit einem zweiten Port der Mesh-Station zu verbinden ist. Wenn die zweite Kernkomponente zu verbinden ist, wird in Operation 603 die zweite Kernkomponente mit dem zweiten Port der Mesh-Station verbunden. Wenn die zweite Kernkomponente nicht zu verbinden ist, kehrt das Verfahren 600 zu Operation 601 zurück. Bei einer Ausführungsform umfassen der erste Port und der zweite Port jeweils eine IDI-Schnittstelle, wie oben beschrieben. Bei einer Ausführungsform repräsentieren der erste Port und der zweite Port jeweils einen der Ports der Mesh-Station, wie oben beschrieben.
  • 7 zeigt ein Flussdiagramm eines Verfahrens 700 zum Bereitstellen eines geteilten Mesh gemäß einer Ausführungsform. In Operation 701 werden Verkehrsdaten in einer Mesh-Station empfangen. In Operation 702 wird wie oben beschrieben eine den Verkehrsdaten zugeordnete Kernkomponente identifiziert. In Operation 703 wird eine der Kernkomponente zugeordnete Kerncodierung (z. B. eine Kernkennung) wie oben beschrieben auf einen entsprechenden Broadcast-Vektor abgebildet. In Operation 704 werden die Verkehrsdaten auf der Basis des entsprechenden Broadcast-Vektors wie oben beschrieben gesendet.
  • 8 zeigt ein Flussdiagramm eines Verfahrens 800 zum Justieren eines mit einer geteilten Mesh-Station gekoppelten Speichers gemäß einer Ausführungsform. In Operation 801 werden Daten in einer geteilten Mesh-Station empfangen. In Operation 802 werden wie oben beschrieben eine oder mehrere den Daten zugeordnete Kernkomponenten identifiziert. In Operation 803 wird bestimmt, ob ein Speicher für die eine oder mehreren Kernkomponenten zu justieren ist. Wenn der Speicher zu justieren ist, wird der Speicher in Operation 804 justiert. Bei einer Ausführungsform wird die Größe des Speichers justiert. Bei einer Ausführungsform werden ein oder mehrere Parameter, die einen Teil des Speichers angeben, der hinzugefügt werden muss, um mehrere Kernkomponenten zu unterstützen, bestimmt, und der Speicher wird auf der Basis des einen oder der mehreren Parameter wie oben beschrieben justiert. Wenn bestimmt wird, dass der Speicher nicht zu justieren ist, kehrt das Verfahren 800 zu Operation 801 zurück.
  • 9 zeigt ein Flussdiagramm eines Verfahrens 900 zum Betrieb einer geteilten Mesh-Station gemäß einer Ausführungsform. In Operation 901 werden Kredite für mindestens eine erste Kernkomponente und eine zweite Kernkomponente durch eine Mesh-Station beschafft. In Operation 902 werden Daten (z. B. eine Nachricht oder andere Daten) in der Mesh-Station empfangen. Bei einer Ausführungsform benötigte Mesh-Station-Änderungen zum Beschaffen von Krediten für die erste Kernkomponente und die zweite Kernkomponente vor dem Empfangen der Daten, wie oben beschrieben. In Operation 903 wird auf der Basis der Daten die erste Kernkomponente und/oder die zweite Kernkomponente identifiziert. In Operation 904 wird ein Kredit für die identifizierte erste Kernkomponente und/oder zweite Kernkomponente verwendet.
  • 10 zeigt ein Flussdiagramm eines Verfahrens 1000 zur Bereitstellung eines geteilten Mesh gemäß einer Ausführungsform. In Operation 1001 werden der ersten Kernkomponente zugeordnete erste Daten, einer zweiten Kernkomponente zugeordnete zweite Daten und einer Uncore-Komponente zugeordnete dritte Daten in einer Mesh-Station empfangen. In Operation 1002 wird mindestens eines der ersten Daten, zweiten Daten und dritten Daten gepuffert. In Operation 1003 werden mindestens zwei der ersten Daten, zweiten Daten und dritten Daten an einem Hinzufügeport gemultiplext. In Operation 1004 werden wie oben beschrieben mindestens zwei der ersten Daten, zweiten Daten und dritten Daten an einem Abwerfport gedemultiplext.
  • 12 ist eine Blockdarstellung eines Mehrprozessorsystems 1200 gemäß einer Ausführungsform. Wie in 12 gezeigt, ist das Mehrprozessorsystem 1200 ein Punkt-zu-Punkt-Verbindungselementsystem und umfasst einen ersten Prozessor 1270 und einen zweiten Prozessor 1280, die über ein Punkt-zu-Punkt-Verbindungselement 1250 gekoppelt sind. Jeder der Prozessoren 1270 und 1280 kann eine gewisse Version eines Prozessors sein. Bei einer Ausführungsform sind die Verbindungselemente 1252 und 1254 Teil eines seriellen kohärenten Punkt-zu-Punkt-Verbindungskoppelfeldes. Obwohl sie nur mit zwei Prozessoren 1270, 1280 gezeigt sind, versteht sich, dass der Schutzumfang der Ausführungsformen der vorliegenden Erfindung nicht darauf beschränkt ist. Bei anderen Ausführungsformen umfasst das System 1200 einen oder mehrere zusätzliche Prozessoren.
  • Die Prozessoren 1270 und 1280 sind mit integrierten Speichersteuerungseinheiten 1272 bzw. 1282 gezeigt. Der Prozessor 1270 umfasst Punkt-zu-Punkt- bzw. P-P-Schnittstellen 1276 und 1278. Der Prozessor 1280 umfasst P-P-Schnittstellen 1286 und 1288. Die Prozessoren 1270, 1280 können unter Verwendung von P-P-Schnittstellen 1278, 1288 Informationen über ein P-P-Verbindungselement 1250 austauschen. Wie in 12 gezeigt, koppeln IMC 1272 und 1282 die Prozessoren mit jeweiligen Speichern, z. B. einem Speicher 1232 und einem Speicher 1234. Bei einer Ausführungsform sind der Speicher 1232 und der Speicher 1234 Teile von lokal an die jeweiligen Prozessoren angeschlossenem Hauptspeicher.
  • Die Prozessoren 1270, 1280 tauschen jeweils unter Verwendung von Punkt-zu-Punkt-Schnittstellen 1276, 1294, 1286, 1298 über P-P-Verbindungselemente 1252, 1254 Informationen mit einem Chipsatz 1290 aus. Der Chipsatz 1290 tauscht auch über eine Schnittstelle 1292 entlang eines hochleistungsfähigen Grafik-Verbindungselements 1239 Informationen mit einer hochleistungsfähigen Grafikeinheit 1238 aus.
  • Ein (nicht gezeigter) geteilter Cache kann in jedem Prozessor oder außerhalb beider Prozessoren enthalten sein; aber dennoch über ein P-P-Verbindungselement mit den Prozessoren verbunden, so dass lokale Cache-Informationen jedes der oder beider Prozessoren in dem geteilten Cache gespeichert werden können, wenn ein Prozessor in einen energiesparenden Modus versetzt wird. Der Chipsatz 1290 kann über eine Schnittstelle 1296 mit einem Bus 1216 gekoppelt werden. Bei einer Ausführungsform ist der Bus 1216 ein PCI-Bus (Peripheral Component Interconnect), ein PCI-Express-Bus oder ein anderer E/A-Verbindungselementbus der dritten Generation, obwohl der Schutzumfang der Ausführungsformen der vorliegenden Erfindung nicht darauf beschränkt ist. Wie in 12 gezeigt, sind E/A-Vorrichtungen 1214, ein Audioeingang/-ausgang 1224 und eine Busbrücke 1218 mit dem Bus 1216 gekoppelt. Die Busbrücke 1218 koppelt Bus 1216 mit Bus 1220. Bei einer Ausführungsform sind verschiedene Vorrichtungen mit dem Bus 1220 gekoppelt, darunter zum Beispiel eine Tastatur, eine Maus oder beides 1222, Kommunikationsvorrichtungen 1227 und eine Speicherungseinheit 1228, z. B. ein Laufwerk oder eine andere Massenspeicherungsvorrichtung, worauf eine oder mehrere Mengen von Anweisungen (z. B. eine Software) und Daten 1230 gespeichert sind. Man beachte, dass andere Architekturen möglich sind, wobei die enthaltenen Komponenten und Verbindungselementarchitekturen unterschiedlich sind. Zum Beispiel kann anstelle der Punkt-zu-Punkt-Architektur von 12 ein System einen Mehrfach-Abwerfbus oder eine andere solche Architektur implementieren. Bei alternativen Ausführungsformen kann das Datenverarbeitungssystem 1200 in einem lokalen Netzwerk (LAN), einem Intraet, einem Extranet oder dem Internet mit anderen Maschinen verbunden (z. B. vernetzt) sein. Das Datenverarbeitungssystem 1200 kann in der Kapazität eines Servers oder einer Client-Maschine in einer Client-Server-Netzwerkumgebung oder als eine Peer-Maschine in einer Peer-to-Peer-(oder verteilten) Netzwerkumgebung arbeiten.
  • Das Datenverarbeitungssystem 1200 kann ein PC (Personal Computer), ein Tablet-PC, eine STB (Set-Top Box), ein PDA (Personal Digital Assistant), ein Mobiltelefon, ein Web-Gerät, ein Server, ein Netzwerkrouter, ein Switch oder eine Brücke oder eine beliebige Maschine mit der Fähigkeit zur Ausführung einer Menge von Anweisungen (sequentiell oder anderweitig) sein, die Aktionen spezifizieren, die durch dieses Datenverarbeitungssystem zu unternehmen sind. Obwohl nur ein einziges Datenverarbeitungssystem dargestellt ist, soll ferner der Ausdruck „Datenverarbeitungssystem” als eine beliebige Ansammlung von Datenverarbeitungssystemen umfassend aufgefasst werden, die einzeln oder zusammen eine Menge (oder mehrere Mengen) von Anweisungen ausführen, um eine beliebige oder mehrere der hier beschriebenen Methodologien auszuführen.
  • Jeder der Prozessoren 1270 und 1280 repräsentiert eine oder mehrere Vielzweck-Verarbeitungsvorrichtungen, wie etwa einen Mikroprozessor, eine Zentralverarbeitungseinheit oder eine andere Verarbeitungsvorrichtung. Konkreter kann jeder der Prozessoren 1270 und 1280 ein CISC-Mikroprozessor (Complex Instruction Set Computing), ein RISC-Mikroprozessor (Reduced Instruction Set Computing), ein VLIW-Mikroprozessor (Very Long Instruction Word), ein Prozessor, der andere Anweisungssätze implementiert, oder Prozessoren, die eine Kombination von Anweisungssätzen implementieren, sein. Jeder der Prozessoren 1270 und 1280 kann auch eine oder mehrere Spezialverarbeitungsvorrichtungen sein, wie etwa ein ASIC (anwendungsspezifische integrierte Schaltung), ein FPGA (Field Programmable Gate Array), ein DSP (digitaler Signalprozessor), Netzwerkprozessor oder dergleichen. Jeder der Prozessoren 1270 und 1280 ist so ausgelegt, dass er eine Verarbeitungslogik zum Ausführen der hier mit Bezug auf 1-11 beschriebenen Operationen steuert.
  • Das Datenverarbeitungssystem 1200 kann eine Anzahl von Komponenten umfassen. Bei einer Ausführungsform sind diese Komponenten an ein oder mehrere Motherboards angeschlossen. Bei einer alternativen Ausführungsform werden diese Komponenten auf dem Chip eines Systems auf einem Chip (SoC) hergestellt, statt einem Motherboard. Zu den Komponenten in dem Datenverarbeitungssystem 1200 gehören, aber ohne Beschränkung darauf, ein integrierter Schaltungschip und mindestens ein Kommunikationschip. Bei einigen Implementierungen wird der Kommunikationschip als Teil des integrierten Schaltungschips hergestellt. Der integrierte Schaltungschip kann einen oder mehrere Prozessoren umfassen, einen Speicher auf dem Chip, der oft als Cache-Speicher verwendet wird, der durch Technologien wie etwa eDRAM (embedded DRAM) oder STTM bzw. STTM-RAM (Spin-Transfer Torque Memory) bereitgestellt werden kann.
  • Das Datenverarbeitungssystem 1200 kann andere Komponenten umfassen, die physisch und elektrisch mit dem Motherboard gekoppelt oder in einem SoC-Chip hergestellt sein können oder auch nicht. Diese anderen Komponenten wären zum Beispiel, aber ohne Beschränkung darauf, ein flüchtiger Speicher (z. B. DRAM), ein nichtflüchtiger Speicher (z. B. ROM oder Flash-Speicher), eine Grafikverarbeitungseinheit (z. B. eine hochleistungsfähige Grafikeinheit 1238), ein digitaler Signalprozessor, ein Kryptoprozessor (ein spezialisierter Prozessor, der kryptografische Algorithmen in Hardware ausführt), einen Chipsatz, eine Antenne, eine Anzeige oder eine Touchscreen-Anzeige, eine Touchscreen-Steuerung, eine Batterie oder eine andere Stromquelle, einen Leistungsverstärker, eine GPS-Vorrichtung (Global Positioning System), einen Kompass, einen oder mehrere Sensoren (die einen Energiesensor umfassen können, um die durch einen Knoten verbrauchte Energie, durch das System verbrauchte Energie oder beides zu messen; einen Bewegungssensor oder einen anderen Sensor umfassen können), einen Lautsprecher, eine Kamera, Benutzereingabevorrichtungen (z. B. E/A-Vorrichtungen 1214, wie etwa eine Tastatur, eine Maus, ein Stift und ein Touchpad) und eine Massenspeicherungsvorrichtung (z. B. Datenspeicherung 1228, wie etwa ein Festplattenlaufwerk, eine CD (Compact Disk), eine DVD (Digital Versatile Disk) und so weiter).
  • Der Kommunikationschip ermöglicht drahtlose Kommunikation zum Transfer von Daten zu und von dem Datenverarbeitungssystem. Der Begriff „drahtlos” und dessen Ableitungen können verwendet werden, um Schaltungen, Vorrichtungen, Systeme, Verfahren, Techniken, Kommunikationskanäle usw. zu beschreiben, die Daten durch die Verwendung von modulierter elektromagnetischer Strahlung durch ein nicht festes Medium kommunizieren können. Der Begriff unterstellt nicht, dass die assoziierten Vorrichtungen nicht irgendwelche Drähte enthalten, obwohl sie in manchen Ausführungsformen keine enthalten könnten. Der Kommunikationschip des Systems 1200 kann ein beliebiges einer Reihe von drahtlosen oder drahtgebundenen Standards oder Protokollen umsetzen, einschließlich unter anderem Wi-Fi (IEEE 802.11-Familie), WiMAX (IEEE 802.16-Familie), IEEE 802.20, Long Term Evolution (LTE), Ev-DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, Bluetooth, Ableitungen davon sowie beliebige andere drahtlose Protokolle, die als 3G, 4G, 5G und darüber hinaus vorgesehen sind. Das Datenverarbeitungssystem 1200 kann mehrere Kommunikationschips beinhalten. Beispielsweise kann ein erster Kommunikationschip kürzerreichweitigen drahtlosen Kommunikationen gewidmet sein, wie etwa Wi-Fi und Bluetooth, und ein zweiter Kommunikationschip kann längerreichweitigen drahtlosen Kommunikationen gewidmet sein, wie etwa GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO und anderen. Der Begriff „Prozessor” kann sich auf eine beliebige Vorrichtung oder einen Teil einer Vorrichtung beziehen, die bzw. der elektronische Daten von Registern und/oder Speichern verarbeitet, um diese elektronischen Daten in andere elektronische Daten umzuwandeln, die in Registern und/oder Speichern gespeichert werden können.
  • Bei verschiedenen Ausführungsformen kann das Datenverarbeitungssystem 1200 ein Laptop, ein Netbook, ein Notebook, ein Ultrabook, ein Smartphone, ein Tablet, ein persönlicher digitaler Assistent (PDA), ein ultramobiler PC, ein Mobiltelefon, ein Desktop-Computer, ein Server, ein Drucker, ein Scanner, ein Monitor, eine Set-Top-Box, eine Unterhaltungssteuereinheit, eine Digitalkamera, ein tragbarer Musikspieler oder ein digitaler Videorecorder sein. In weiteren Implementierungen kann das Datenverarbeitungssystem 1200 eine beliebige andere elektronische Vorrichtung sein, die Daten verarbeitet.
  • Die Speicherungseinheit 1228 kann ein maschinenzugängliches Speicherungsmedium (oder spezieller ein computerlesbares Speicherungsmedium) umfassen, auf dem eine oder mehrere Mengen von Anweisungen und Daten 1230 gespeichert sind, die eine beliebige oder mehrere der hier beschriebenen Methodologien oder Funktionen verwenden. Die Software kann auch vollständig oder zumindest teilweise in dem flüchtigen Speicher, nichtflüchtigen Speicher, Speicher auf dem Chip und/oder in dem einen oder mehreren Prozessoren während der Ausführungs davon durch das Datenverarbeitungssystem 1200 residieren, wobei der Speicher auf dem Chip und der eine oder die mehreren Prozessoren auch maschinenlesbare Speicherungsmedien darstellen. Die eine oder mehreren Mengen von Anweisungen und Daten können ferner über eine Netzwerkschnittstellenvorrichtung über ein Netzwerk gesendet oder empfangen werden.
  • Der Ausdruck „maschinenlesbares Speicherungsmedium” sollte als ein einziges Medium oder mehrere Medien (z. B. eine zentralisierte oder verteilte Datenbank und/oder zugeordnete Caches und Server) umfassend aufgefasst werden, die die eine oder mehreren Mengen von Anweisungen speichern. Der Ausdruck „maschinenlesbares Speicherungsmedium” soll auch ein beliebiges Medium umfassen, das in der Lage ist, eine Menge von Anweisungen zur Ausführung durch die Maschine zu speichern oder zu codieren, und die bewirken, dass die Maschine eine beliebige oder mehrere der hier beschriebenen Ausführungsformen ausführt. Der Ausdruck „maschinenlesbares Speicherungsmedium” soll dementsprechend so aufgefasst werden, dass er Halbleiterspeicher und optische und magnetische Medien umfasst, aber ohne Beschränkung darauf.
  • Die obige Beschreibung dargestellter Implementierungen der Erfindung, einschließlich des in der Zusammenfassung Beschriebenen, soll nicht erschöpfend sein oder die Erfindung auf die genauen offenbarten Formen beschränken. Obwohl hier zu Anschauungszwecken spezifische Implementierungen der Erfindung und Beispiele für diese beschrieben werden, sind innerhalb des Schutzumfangs der Erfindung verschiedene äquivalene Modifikationen möglich, wie für Fachleute auf dem relevanten Gebiet erkennbar ist.
  • Diese Modifikationen können an der Erfindung im Hinblick auf die obige ausführliche Beschreibung vorgenommen werden. Die in den folgenden Ansprüchen verwendeten Begriffe sollten nicht als Beschränkung der Erfindung auf die in der Spezifikation und in den Ansprüchen offenbarten spezifischen Implementierungen aufgefasst werden. Stattdesessen ist der Schutzumfang der Erfindung vollständig durch die folgenden Ansprüche zu bestimmen, die gemäß festgelegten Doktrinen der Anspruchsdeutung aufzufassen sind.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen:
    Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Ein erster Port soll mit der ersten Kernkomponente koppeln. Ein zweiter Port soll mit der zweiten Kernkomponente koppeln.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die erste Kernkomponente oder die zweite Kernkomponente ist umgeklappt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Der Speicher ist ein Cache.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Mit der Mesh-Station ist eine Speichersteuerung gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die Logikeinheit dient zum Identifizieren jeweils der ersten Kernkomponente und der zweiten Kernkomponente.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die Logikeinheit soll eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor und eine der zweiten Kernkomponente zugeordnete zweite Kennung auf einen zweiten Broadcast-Vektor abbilden.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die Logikeinheit dient zum Justieren einer Größe des Speichers.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die Logikeinheit soll Kredite für die erste Kernkomponente und die zweite Kernkomponente bestimmen.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die Mesh-Station umfasst einen ersten Hinzufügeport und einen ersten Abwerfport. Mit dem ersten Hinzufügeport ist ein Multiplexer gekoppelt. Mit dem Multiplexer ist ein Puffer gekoppelt. Mit dem ersten Abwerfport ist ein Demultiplexer gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente. Die Mesh-Station wird von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt. Mit der Mesh-Station ist ein Speicher gekoppelt. Die Mesh-Station soll mit einer Uncore-Komponente koppeln.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Mit dem Multiplexer ist ein Puffer gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Mit dem ersten Abwerfport ist ein Demultiplexer gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Ein zweiter Hinzufügeport soll mit einer Uncore-Komponente koppeln. Ein zweiter Abwerfport soll mit der Uncore-Komponente koppeln.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist ein Multiplexer gekoppelt. Die erste Kernkomponente ist mit dem Multiplexer gekoppelt. Die zweite Kernkomponente ist mit dem Multiplexer gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Die erste Kernkomponente oder die zweite Kernkomponente ist umgeklappt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Mit der Mesh-Station ist ein Cache gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Mit der Mesh-Station ist eine Speichersteuerung gekoppelt.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Die Logikeinheit soll die erste Kernkomponente und die zweite Kernkomponente jeweils identifizieren.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Die Logikeinheit soll eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor und eine der zweiten Kernkomponente zugeordnete zweite Kennung auf einen zweiten Broadcast-Vektor abbilden.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Die Logikeinheit soll eine Größe des Speichers justieren.
  • Bei einer Ausführungsform umfasst ein geteiltes Mesh-System eine Mesh-Station mit einer Logikeinheit. Mit der Logikeinheit ist ein erster Hinzufügeport gekoppelt. Mit der Logikeinheit ist ein erster Abwerfport gekoppelt. Mit dem ersten Hinzufügeport ist zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente ein Multiplexer gekoppelt. Die Logikeinheit soll Kredite für die erste Kernkomponente und die zweite Kernkomponente bestimmen.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Identifizieren einer ersten Kernkomponente, Justieren einer Größe eines mit der ersten Kernkomponente gekoppelten Speichers, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Identifizieren einer ersten Kernkomponente, Bestimmen eines Kredits für mindestens die erste Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor, Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Identifizieren einer ersten Kernkomponente, Identifizieren einer zweiten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor, Abbilden einer der zweiten Kernkomponente zugeordneten zweiten Kennung auf einen zweiten Broadcast-Vektor, Senden von Daten auf der Basis des ersten Broadcast-Vektors und Senden von Daten auf der Basis des zweiten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Multiplexen von der ersten Kernkomponente zugeordneten Daten und einer zweiten Kernkomponente zugeordneten Daten, Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor, Demultiplexen von der ersten Kernkomponente zugeordneten Daten und einer zweiten Kernkomponente zugeordneten Daten und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Verfahren zur Bereitstellung eines geteilten Mesh Puffer von der ersten Kernkomponente zugeordneten Daten, Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Identifizieren einer ersten Kernkomponente, Justieren einer Größe eines mit der ersten Kernkomponente gekoppelten Speichers, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Identifizieren einer ersten Kernkomponente, Bestimmen eines Kredits für mindestens die erste Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor, Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Identifizieren einer ersten Kernkomponente, Identifizieren einer zweiten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor, Abbilden einer der zweiten Kernkomponente zugeordneten zweiten Kennung auf einen zweiten Broadcast-Vektor, Senden von Daten auf der Basis des ersten Broadcast-Vektors und Senden von Daten auf der Basis des zweiten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Multiplexen von der ersten Kernkomponente zugeordneten Daten und der zweiten Kernkomponente zugeordneten Daten, Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor, Demultiplexen von der ersten Kernkomponente zugeordneten Daten und einer zweiten Kernkomponente zugeordneten Daten und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein nichttransitorisches maschinenlesbares Medium Anweisungen, die bewirken, dass ein Datenverarbeitungssystem Operationen ausführt, umfassend: Puffer von der ersten Kernkomponente zugeordneten Daten, Identifizieren einer ersten Kernkomponente, Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll und wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor eine Größe eines mit der ersten Kernkomponente gekoppelten Speichers justieren soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll und wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor einen Kredit für mindestens die erste Kernkomponente bestimmen soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll und wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor eine zweite Kernkomponente identifizieren soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll, wobei der Prozessor eine der zweiten Kernkomponente zugeordnete zweite Kennung auf einen zweiten Broadcast-Vektor abbilden soll, wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll und wobei der Prozessor Daten auf der Basis des zweiten Broadcast-Vektors senden soll.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor der ersten Kernkomponente zugeordnete Daten und einer zweiten Kernkomponente zugeordnete Daten multiplexen soll, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll und wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll, wobei der Prozessor der ersten Kernkomponente zugeordnete Daten und einer zweiten Kernkomponente zugeordnete Daten demultiplexen soll und wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll.
  • Bei einer Ausführungsform umfasst ein Datenverarbeitungssystem einen Speicher und einen mit dem Speicher gekoppelten Prozessor, wobei der Prozessor der ersten Kernkomponente zugeordnete Daten Puffern soll, wobei der Prozessor eine erste Kernkomponente identifizieren soll, wobei der Prozessor eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor abbilden soll und wobei der Prozessor Daten auf der Basis des ersten Broadcast-Vektors senden soll.

Claims (25)

  1. Geteiltes Mesh, umfassend: eine Mesh-Station mit einer Logikeinheit zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente, wobei die Mesh-Station von mindestens der ersten Kernkomponente und der zweiten Kernkomponente geteilt wird; und einen mit der Mesh-Station gekoppelten Speicher.
  2. Geteiltes Mesh-Koppelfeld nach Anspruch 1, wobei das geteilte Mesh-Koppelfeld einen ersten Port zur Kopplung mit der ersten Kernkomponente und einen zweiten Port zur Kopplung mit der zweiten Kernkomponente umfasst.
  3. Geteiltes Mesh-Koppelfeld nach Anspruch 1, wobei die erste Kernkomponente oder die zweite Kernkomponente umgeklappt ist.
  4. Geteiltes Mesh-Koppelfeld nach Anspruch 1, wobei der Speicher ein Cache ist.
  5. Geteiltes Mesh-Koppelfeld nach Anspruch 1, ferner umfassend: eine mit der Mesh-Station gekoppelte Speichersteuerung.
  6. Geteiltes Mesh-Koppelfeld nach Anspruch 1, wobei die Logikeinheit die erste Kernkomponente und die zweite Kernkomponente jeweils identifizieren soll.
  7. Geteiltes Mesh-Koppelfeld nach Anspruch 1, wobei die Logikeinheit eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor und eine der zweiten Kernkomponente zugeordnete zweite Kennung auf einen zweiten Broadcast-Vektor abbilden soll.
  8. Geteiltes Mesh-Koppelfeld nach Anspruch 1, wobei die Logikeinheit eine Größe des Speichers justieren soll, um Kredite für die erste Kernkomponente und die zweite Kernkomponente oder beide zu bestimmen.
  9. Geteiltes Mesh nach Anspruch 1, wobei die Mesh-Station einen ersten Hinzufügeport und einen ersten Abwerfport umfasst; und wobei das geteilte Mesh ferner Folgendes umfasst: einen mit dem ersten Hinzufügeport gekoppelten Multiplexer; einen mit dem Multiplexer gekoppelten Puffer; und einen mit dem ersten Abwerfport gekoppelten Demultiplexer.
  10. Geteiltes Mesh-System, umfassend: eine Mesh-Station mit einer Logikeinheit, einem mit der Logikeinheit gekoppelten ersten Hinzufügeport und einem mit der Logikeinheit gekoppelten ersten Abwerfport; und einen mit dem ersten Hinzufügeport gekoppelten Multiplexer zur Kopplung mit mindestens einer ersten Kernkomponente und einer zweiten Kernkomponente.
  11. Geteiltes Mesh-System nach Anspruch 10, ferner umfassend: einen mit dem Multiplexer gekoppelten Puffer.
  12. Geteiltes Mesh-System nach Anspruch 10, ferner umfassend: einen mit dem ersten Abwerfport gekoppelten Demultiplexer.
  13. Geteiltes Mesh-System nach Anspruch 10, wobei die Mesh-Station ferner Folgendes umfasst: einen zweiten Hinzufügeport zur Kopplung mit einer Uncore-Komponente; und einen zweiten Abwerfport zur Kopplung mit der Uncore-Komponente.
  14. Geteiltes Mesh-System nach Anspruch 10, ferner umfassend: die mit dem Multiplexer gekoppelte erste Kernkomponente; und die mit dem Multiplexer gekoppelte zweite Kernkomponente.
  15. Geteiltes Mesh-System nach Anspruch 10, wobei die erste Kernkomponente oder die zweite Kernkomponente umgeklappt ist.
  16. Geteiltes Mesh-System nach Anspruch 10, ferner umfassend: einen mit der Mesh-Station gekoppelten Cache und eine mit der Mesh-Station gekoppelte Speichersteuerung.
  17. Geteiltes Mesh-System nach Anspruch 10, wobei die Logikeinheit die erste Kernkomponente und die zweite Kernkomponente jeweils identifizieren soll.
  18. Geteiltes Mesh-System nach Anspruch 10, wobei die Logikeinheit eine der ersten Kernkomponente zugeordnete erste Kennung auf einen ersten Broadcast-Vektor und eine der zweiten Kernkomponente zugeordnete zweite Kennung auf einen zweiten Broadcast-Vektor abbilden soll.
  19. Verfahren zur Bereitstellung eines geteilten Mesh, umfassend: Identifizieren einer ersten Kernkomponente; Abbilden einer der ersten Kernkomponente zugeordneten ersten Kennung auf einen ersten Broadcast-Vektor; und Senden von Daten auf der Basis des ersten Broadcast-Vektors.
  20. Verfahren nach Anspruch 19, ferner umfassend: Justieren einer Größe eines mit der ersten Kernkomponente gekoppelten Speichers.
  21. Verfahren nach Anspruch 19, ferner umfassend: Bestimmen eines Kredits für mindestens die erste Kernkomponente.
  22. Verfahren nach Anspruch 19, ferner umfassend: Identifizieren einer zweiten Kernkomponente; Abbilden einer der zweiten Kernkomponente zugeordneten zweiten Kennung auf einen zweiten Broadcast-Vektor; und Senden von Daten auf der Basis des zweiten Broadcast-Vektors.
  23. Verfahren nach Anspruch 19, ferner umfassend: Multiplexen von der ersten Kernkomponente zugeordneten Daten und einer zweiten Kernkomponente zugeordneten Daten.
  24. Verfahren nach Anspruch 19, ferner umfassend: Demultiplexen von der ersten Kernkomponente zugeordneten Daten und einer zweiten Kernkomponente zugeordneten Daten.
  25. Verfahren nach Anspruch 19, ferner umfassend: Puffer von der ersten Kernkomponente zugeordneten Daten.
DE112016003147.5T 2015-07-15 2016-05-27 Geteiltes mesh Active DE112016003147B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/800,552 US10193826B2 (en) 2015-07-15 2015-07-15 Shared mesh
US14/800,552 2015-07-15
PCT/US2016/034840 WO2017011082A1 (en) 2015-07-15 2016-05-27 A shared mesh

Publications (2)

Publication Number Publication Date
DE112016003147T5 true DE112016003147T5 (de) 2018-04-05
DE112016003147B4 DE112016003147B4 (de) 2024-08-22

Family

ID=57757310

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016003147.5T Active DE112016003147B4 (de) 2015-07-15 2016-05-27 Geteiltes mesh

Country Status (4)

Country Link
US (1) US10193826B2 (de)
DE (1) DE112016003147B4 (de)
TW (1) TWI721989B (de)
WO (1) WO2017011082A1 (de)

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367636A (en) 1990-09-24 1994-11-22 Ncube Corporation Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6686759B1 (en) * 2000-11-28 2004-02-03 Cadence Design Systems, Inc. Techniques for testing embedded cores in multi-core integrated circuit designs
US6754757B1 (en) 2000-12-22 2004-06-22 Turin Networks Full mesh interconnect backplane architecture
US7298971B2 (en) 2003-10-15 2007-11-20 Sprint Communications Company L.P. Hybrid optical ring-mesh protection in a communication system
US20090031314A1 (en) * 2007-07-25 2009-01-29 Microsoft Corporation Fairness in memory systems
US8284766B2 (en) 2007-12-28 2012-10-09 Intel Corporation Multi-core processor and method of communicating across a die
US8307198B2 (en) 2009-11-24 2012-11-06 Advanced Micro Devices, Inc. Distributed multi-core memory initialization
US9367462B2 (en) 2009-12-29 2016-06-14 Empire Technology Development Llc Shared memories for energy efficient multi-core processors
US8892924B2 (en) 2011-05-31 2014-11-18 Intel Corporation Reducing power consumption of uncore circuitry of a processor
WO2013101086A1 (en) 2011-12-29 2013-07-04 Intel Corporation Boot strap processor assignment for a multi-core processing unit
WO2013103339A1 (en) * 2012-01-04 2013-07-11 Intel Corporation Bimodal functionality between coherent link and memory expansion
US9619006B2 (en) 2012-01-10 2017-04-11 Intel Corporation Router parking in power-efficient interconnect architectures
US8982695B2 (en) * 2012-09-29 2015-03-17 Intel Corporation Anti-starvation and bounce-reduction mechanism for a two-dimensional bufferless interconnect
CN105247821B (zh) 2013-06-28 2018-11-06 英特尔公司 用于利用自适应路由来控制资源利用的机制
US20150006776A1 (en) 2013-06-29 2015-01-01 Yen-Cheng Liu On-chip mesh interconnect
US20150261709A1 (en) * 2014-03-14 2015-09-17 Emilio Billi Peripheral component interconnect express (pcie) distributed non- transparent bridging designed for scalability,networking and io sharing enabling the creation of complex architectures.
US9588914B2 (en) * 2014-04-09 2017-03-07 International Business Machines Corporation Broadcast and unicast communication between non-coherent processors using coherent address operations

Also Published As

Publication number Publication date
WO2017011082A1 (en) 2017-01-19
TW201717042A (zh) 2017-05-16
TWI721989B (zh) 2021-03-21
DE112016003147B4 (de) 2024-08-22
US20170019350A1 (en) 2017-01-19
US10193826B2 (en) 2019-01-29

Similar Documents

Publication Publication Date Title
DE102018006890B4 (de) Technologien zur Verarbeitung von Netzpaketen durch einen intelligenten Netzwerk-Schnittstellenkontroller
DE102018006756A1 (de) Beschleuniger-Fabric
DE102009032076B4 (de) Erfüllung von Speicherordnungsanforderungen zwischen Teillesevorgängen und Nicht-Snoop-Zugriffen
DE102019108376A1 (de) Sequenz zur Aushandlung und Aktivierung von Flexbus-Protokollen
DE102018006797A1 (de) Kohärente Speichereinrichtungen über PCIe
DE112015004336T5 (de) Konfigurationsbasierte Auswahl eines Cachekohärenz-Protokolls
DE102021129078A1 (de) Intelligente push-kupplung über der plattform für kühlsysteme in rechenzentren
DE112017003294B4 (de) Technologien für ein skalierbares Senden und Empfangen von Paketen
DE112012005991T5 (de) Skalierbare gemeinsame Referenztaktungsarchitektur unter Verwendung einer getrennten, einzigen Taktquelle für Blade- und Rack-Server
DE112013005090T5 (de) Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE102014109519A1 (de) Techniken zum Replizieren von Daten zwischen Speicherservern
DE102009031497A1 (de) Erfüllung der Speicher-Ordering-Anforderungen zwischen Partial-Write- und Non-Snoop-Zugriffen
DE112021001408T5 (de) Verwendung kohärent verbundener schnittstellen in einem netzwerkstapelrahmen
DE112016006065T5 (de) Spekulative nummerierung von adressräumen für bus-einrichtungsfunktionen
DE102014110423A1 (de) Techniken zum Bewegen von Daten zwischen einem Netzwerk-Eingabe/Ausgabe-Gerät und einem Speichergerät
DE102013209643B4 (de) Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens
DE102021133641A1 (de) Verteilung des flüssigkeitsstroms mit hilfe eines oder mehrerer neuronaler netzwerke
DE102019109119A1 (de) Host-verwalteter kohärenter gerätespeicher
DE102010044531A1 (de) Autonome Speicherarchitektur
DE102022205478A1 (de) Busübergreifende speicherabbildung
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE102010044529A1 (de) Autonome Subsystem-Architektur
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE102022107196A1 (de) Sichere direkte Peer-to-Peer-Speicherzugriffsanforderung zwischen Geräten
DE102021123338A1 (de) Vorausschauende steuerung unter verwendung eines oder mehrerer neuralen netze

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012707000

Ipc: H04L0012931000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012931000

Ipc: H04L0049100000

R016 Response to examination communication
R018 Grant decision by examination section/examining division