DE102009022152B4 - Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen - Google Patents

Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen Download PDF

Info

Publication number
DE102009022152B4
DE102009022152B4 DE102009022152.2A DE102009022152A DE102009022152B4 DE 102009022152 B4 DE102009022152 B4 DE 102009022152B4 DE 102009022152 A DE102009022152 A DE 102009022152A DE 102009022152 B4 DE102009022152 B4 DE 102009022152B4
Authority
DE
Germany
Prior art keywords
criticality
message
cache
messages
cache coherency
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.)
Expired - Fee Related
Application number
DE102009022152.2A
Other languages
English (en)
Other versions
DE102009022152A1 (de
Inventor
Zhen Fang
Liqun Cheng
Sriram R. Vangal
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 DE102009022152A1 publication Critical patent/DE102009022152A1/de
Application granted granted Critical
Publication of DE102009022152B4 publication Critical patent/DE102009022152B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Vorrichtung, die folgendes umfasst:ein Ein-Chip-Netzwerk, NoC (10; 300), das eine Vielzahl von Caching-Agenten (310x) aufweist, die durch eine Interconnect-Struktur (50; 320) gekoppelt sind, und eine Vielzahl von Routern (100; 300) aufweist, von denen jeder eine Vielzahl von virtuellen Kanälen (110a-110n), einen Switch (130) und eine Kritikalitätslogik (120) aufweist; wobei jeder der Vielzahl von virtuellen Kanälen (110a-110n), folgendes aufweist:einen Eingangs-Multiplexer (112), um Cache-Kohärenznachrichten zu empfangen, wobei jede der Cache-Kohärenznachrichten einen ihr zugeordneten Kritikalitätsindikator hat;eine Vielzahl von Warteschlangen (115a-115n), die an den Eingangs-Mulitplexer (112) gekoppelt sind, um die Cache-Kohärenznachrichten zu speichern, wobei jede der Warteschlangen (115"-115") mindestens einem der Kritikalitätsindikatoren zugeordnet ist; undeinen Ausgangs-Multiplexer (118), der an die Vielzahl von Warteschlangen (115a-115n) gekoppelt ist, um basierend zumindest teilweise auf dem entsprechenden Kritikalitätsindikator einen Ausgang einer der Warteschlangen (115a-115n) auszuwählen;wobei der Switch (130) an die Vielzahl der virtuellen Kanäle (110a-110n) gekoppelt ist, um die Cache-Kohärenznachrichten an die Interconnect-Struktur (50) auszugeben, und die Kritikalitätslogik (120) eine Cache-Kohärenznachricht auf einen Kritikalitätsindikator abbildet und den Kritikalitätsindikator an einen Header jedes Pakets der Cache-Kohärenznachricht anfügt, wobei der Kritikalitätsindikator eine relative Kritikalität einer Cache-Kohärenznachricht im Hinblick auf einen Satz von Cache-Kohärenznachrichten anzeigt undwobei die Kritikalitätslogik (120) einer Tabelle zugeordnet ist, um jede aus dem Satz von Cache-Kohärenznachrichten auf einen Kritikalitätsindikator abzubilden, wobei die Kritikalitätslogik (120) das Abbilden ohne einen Software-Hinweis von einem Benutzer durchführt.

Description

  • Hintergrund
  • In einem Multi-Prozessor-System mit mehreren Prozessoren und mehreren Caches kann jeder Cache eine Kopie eines Datenstücks speichern, das im Speicher gespeichert ist. Probleme treten auf, wenn mehr als ein Cache eine Kopie desselben Datenstücks enthält. Verschiedene Techniken wurden entwickelt, um die Datenkohärenz über mehrere Caches zu gewährleisten. Wenn die Daten in einem Cache modifiziert werden, werden zum Beispiel andere Kopien der Daten als ungültig markiert, so dass sie nicht verwendet werden.
  • Um beim Einhalten der Cache-Kohärenz behilflich zu sein, umfassen zahlreiche Systeme ein Verzeichnis, um ein Bestimmen des Vorhandenseins und des Zustands von Daten in Cache-Zeilen solcher mehrfachen Caches zu unterstützen. Der Zustand einer Cache-Zeile kann anzeigen, ob die Zeile nur eine gültige Kopie außerhalb des Hauptspeichers hat, mehrere gültige Kopien hat, die von mehreren Caches gemeinsam benutzt werden, oder keine Kopien außerhalb des Hauptspeichers hat (d.h., dass sie in allen Caches ungültig gemacht wurde).
  • Die Effizienz von Cache-Kohärenz kann die Gesamtleistungsfähigkeit von Allzweckprozessoren verbessern. Dies gilt insbesondere für Mehrfachkernprozessoren und cache-kohärente (cc-NUMA)-Großsysteme mit uneinheitlicher Speicherarchitektur. Unterschiedliche Systeme können zahlreiche unterschiedliche Cache-Kohärenz-Nachrichtentypen haben, wovon jeder unterschiedliche Zeitkritikalitätseigenschaften aufgrund von durch Verzeichnisindirektion verursachten Hop-Ungleichgewicht-Root haben kann. Jedoch behandeln existierende Systeme diese unterschiedlichen Nachrichtentypen nicht unterschiedlich.
  • Die US 6 035 424 A offenbart eine Vorrichtung, bei der einem Warteschlangenauffüller über einen Kommando-Buffer u. a. Cache-Kohärenz-Kommandos bzw. -Nachrichten von einer Snoop-Logik zugeführt werden, die eine Priorität aufweisen.
  • Die US 6 628 615 B1 ist auf ein System für paketvermittelte Kommunikation über ein Netzwerk aus miteinander verbundenen Computern gerichtet.
  • Die vorliegende Erfindung liefert eine Vorrichtung gemäß Anspruch 1 sowie ein Verfahren gemäß Anspruch 6. Die jeweiligen abhängigen Ansprüche betreffen vorteilhafte Weiterbildungen derselben.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines Abschnitts eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 2 ist ein Blockdiagramm eines Interconnect-Routers gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 3 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4 ist ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Detaillierte Beschreibung
  • In verschiedenen Ausführungsformen kann ein Interconnect-Router oder eine andere Systemkomponente konfiguriert werden, um kritikalitätsbewusst zu sein. Das heißt, dass die Router-Verzögerung von kritischen Kohärenznachrichten auf Kosten einer potentiellen Verlangsamung von unkritischen Nachrichten verkürzt werden kann. Kritikalität kann in Laufzeit basierend auf cache-kohärenten Nachrichtentypen durch Hardware extrahiert werden. Solche Kritikalität wird dann verwendet, um ein Verwalten eines Interconnects zu betreiben, auf dem die Nachrichten laufen, wie zum Beispiel virtuelle Kanäle eines Punkt-zu-Punkt (PTP)- oder anderen Zwischenverbindungsschemas. Die Ausführungsformen beziehen sich sowohl auf Chip-Netzwerke als auch traditionelle eigenständige Router. Die Ausführungsformen können in einer Mikroarchitektur-Hardware implementiert sein und können für Software komplett transparent sein. Die Handhabung der Cache-Kohärenz kann durch Verwendung solcher Ausführungsformen signifikant gesteigert werden.
  • Bezugnehmend auf 1 wird nun ein Blockdiagramm eines Abschnitts eines Systems gezeigt, das ein Verzeichnis einschließt, das ein gegebenes Cache-Kohärenzprotokoll implementiert. Obwohl der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist, kann das Cache-Kohärenzprotokoll einem Modified Exclusive Shared Invalid (MESI)- oder einem Modified Exclusive Shared Invalid Forward (MESIF)-Protokoll oder einem anderen derartigen Protokoll entsprechen. In der in 1 gezeigten Ausführungsform sind mehrere Kerne, von denen nur zwei 20a und 20b (allgemein Kern 20) gezeigt sind, jeweils an einen entsprechenden privaten Cache 30a und 30b (allgemein privater Cache 30) gekoppelt. In einigen Ausführungsformen können die privaten Caches 30 ein Cache auf niedrigster Ebene sein, z. B. ein Cache auf Ebene Null, der seinem entsprechenden Kern direkt zugeordnet ist.
  • Die Caches 30 können wiederum an einen gemeinsamen Speicher 40 gekoppelt sein. In verschiedenen Ausführungsformen kann der gemeinsame Speicher 40 ein gemeinsamer Inklusiv-Cache-Speicher oder ein Systemhauptspeicher sein. Auf diese Art und Weise umfasst der gemeinsame Speicher 40 alle Daten, die in den Caches 30 vorhanden sind, sowie potentiell zusätzliche Daten. Anders gesagt, können die Daten, die in den Caches 30 vorliegen, mit denen im Speicher 40 inklusiv sein, jedoch nicht umgekehrt. Ferner kann der gemeinsame Speicher 40 noch ein Verzeichnis umfassen. Ein solches Verzeichnis kann ein separates Array oder ein anderer Abschnitt des Speichers 40 sein, der eine Vielzahl von Einträgen (und zugehörige Steuerlogik) umfasst, um eine Stelle von entsprechenden Cache-Zeilen in den Caches auf niedrigerer Ebene sowie den Zustand solcher Cache-Zeilen anzuzeigen. Entsprechend kann das Verzeichnis des Speichers 40 verwendet werden, um ein gegebenes Cache-Kohärenzprotokoll zu implementieren.
  • In einer Implementierung kann das System 10 ein Ein-Chip-Netzwerk (NoC) sein. Ein solches NoC kann ein auf einem einzelnen Die integrierter Schaltkreis sein, der verschiedene Verarbeitungsagenten verbindet, wie zum Beispiel Kerne, spezialisierte Prozessoren, Beschleuniger usw., sowie lokale Speicher und andere solche Strukturen. Alle diese verschiedenen Agenten können durch eine gegebene Interconnect-Struktur gekoppelt sein, wie zum Beispiel einen in 1 gezeigten Interconnect 50. In unterschiedlichen Implementierungen können bestimmte Agenten durch PTP-Links zwischenverbunden sein, die Vorrichtungen durch eingreifende Router eines Interconnects zusammen koppeln. Entsprechend sollte verständlich sein, dass der Interconnect 50 Interconnect-Links sowie Interconnect-Router repräsentieren kann, obwohl es zur Vereinfachung der Darstellung in 1 nicht gezeigt ist.
  • Um die Cache-Kohärenz für die entsprechenden Speicher im System 10 einzuhalten, können verschiedene Cache-Kohärenznachrichten zwischen unterschiedlichen Agenten gesendet werden, um in einem gegebenen Speicher vorhandene Daten anzufragen und um Einsicht in einen Zustand solcher Daten zu erhalten. Die Verzögerungen von unterschiedlichen Cache-Kohärenznachrichten können einen sehr unterschiedlichen Einfluss auf die Leistungsfähigkeit von Anwendungen haben. 1 zeigt ein Szenario in einem MESI-Protokoll, in dem der Cache-Speicher 30a eine Leseanfrage (Nachricht (Msg) 1) an einen Block ausgibt, der sich in einem Dirty-Zustand im Cache-Speicher 30b befindet. Gemäß einem gegebenen Kohärenzprotokoll kann diese Leseanfrage die Übermittlung zusätzlicher Nachrichten verursachen, die eine zweite Nachricht (Nachricht 2) umfassen, die die angefragten im gemeinsamen Speicher 40 vorhandenen Daten direkt zum Cache-Speicher 30a sendet. Jedoch ist zu beachten, dass diese Daten spekulativ sind, da es unbekannt ist, ob eine modifizierte Kopie der Daten zum Beispiel im Cache-Speicher 30b existiert. Entsprechend sendet das Verzeichnis, noch auf die Leseanfrage vom Cache-Speicher 30a reagierend, eine Probe-Nachricht (d. h., Nachricht 3) an den Cache-Speicher 30b . Reagierend auf diese Nachricht kann der Cache-Speicher 30b bewirken, dass die Daten, die sich in einem Dirty-Zustand befinden können, direkt zum Cache-Speicher 30a gesendet werden (Msg 4). Schließlich wird eine Rückschreib (WB)-Nachricht (d. h., Nachricht 5) gesendet, um die Dirty-Daten aus dem Cache-Speicher 30b zurück zum gemeinsamen Speicher 40 zu liefern.
  • Die Nachrichten 3 und 4 sind serialisierte Schritte, um diese Leseanfrage auszuführen, und sie stellen den kritischen Pfad dar. Anders gesagt, weisen die Nachrichten 3 und 4 eine höhere Priorität auf und sollten eine kürzere Verzögerung haben, da die Latenz der Speicheranfrage von Nachricht 1 von diesen Nachrichten abhängt. Somit können diese beiden Nachrichten auf eine höchste Kritikalitätsebene abgebildet werden. Im Gegensatz dazu ist die Nachricht 2 in diesem Beispiel nutzlos (unter der Annahme, dass sich die angefragten Daten in einem Modified- Zustand im Cache-Speicher 30b befinden), jedoch gemäß einem gewöhnlichen Protokoll würden sie im Speicher 30a vor den gültigen Daten der Nachricht 4 ankommen. Dieses unerwünschte Szenario ist ein Ergebnis von einem durch eine Verzeichnisindirektion verursachten Hop-Ungleichgewicht-Root. Die Nachricht 5 ist am wenigsten kritisch und kann somit auf eine niedrigste Kritikalitätsebene abgebildet werden. Die Nachricht 1 liegt ebenfalls auf dem kritischen Pfad, sie bindet jedoch weniger Systemressourcen als die Nachrichten 3 und 4. Die Nachricht 2 liegt normalerweise nicht auf dem kritischen Pfad, obwohl ihre Daten nützlich wären, wenn der Cache-Speicher 30b keine Dirty-Kopie hätte. Die Nachrichten 1 und 2 können als eine durchschnittliche Kritikalitätsebene klassifiziert werden. Die unterschiedlichen Kritikalitätsebenen sind somit in 1 durch die durchgezogene Linie und verschiedene gestrichelte Linien identifiziert.
  • Es gibt zahlreiche Varianten des MESI-Protokolls, jedoch kann es für jede von ihnen mehrere Ebenen von Kritikalitäten geben, wobei jede Ebene einem gegebenen Satz von Nachrichtentypen entspricht. Obwohl der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist, können in einigen Implementierungen zwischen ungefähr 2 und 8 Kritikalitätsebenen identifiziert werden. Ferner kann jede dieser Kritikalitätsebenen mit einem oder mehreren Kohärenzprotokollnachrichtentypen übereinstimmen. Bezugnehmend auf Tabelle 1 sind nun unten Beispielprotokollnachrichten und ihre entsprechende Kritikalitätsebene gezeigt. Tabelle 1
    Äußerst kritisch Durchschnittlich kritisch Unkritisch
    RspI RspFwd WbMtoI
    RspS RspFwdS WbMtoE
    RspCnflt RspFwdIWb WbMtoS
    SnpCode RdCur RspIWb
    SnpData RdCode RspSWb
    SnpInvOwn RdData
    SnpInvItoE RdInvOwn
    AckCnflt InvItoE
  • Tabelle 1 zeigt somit verschiedene Cache-Kohärenznachrichten, von denen jede auf eine von drei Kritikalitätsebenen abgebildet ist. Die Namen der verschiedenen in Tabelle 1 gezeigten Nachrichten (RspI, RspFwd usw.) sind Mnemonics und können unterschiedliche Label in unterschiedlichen Implementierungen haben. Allgemein umfassen diese Namen eine Nachrichtentypabkürzung (z. B. Antworten (Rsp), Snoopen (Snp), Rückmelden (Ack), Lesen (Rd), Rückschreiben (WB), Weiterleiten (Fwd) usw.) und eine Cache-Zustandsabkürzung (z. B. einen der MESI-Zustände).
  • Die Nachrichten der höchsten in Tabelle 1 gezeigten Kritikalitätsebene sind im Allgemeinen auf Probe-Nachrichten und Antworten darauf gerichtet. Die durchschnittliche Kritikalitätsebene ist allgemein Anfragen und bestimmten Antworten zugeordnet, während die niedrigste Kritikalitätsebene allgemein Rückschreibnachrichten zugeordnet ist. Es ist zu beachten, dass diese obige Tabelle eine beispielhafte Abbildung ist und andere Nachrichten und unterschiedliche Protokolle unterschiedliche Abbildungen haben können.
  • Wie später beschrieben wird, kann in verschiedenen Implementierungen Kritikalität oder eine andere derartige Steuerlogik verwendet werden, um Protokoll-Cache-Kohärenznachrichtentypen auf eine gegebene Kritikalitätsebene abzubilden. In verschiedenen Ausführungsformen kann ein Interconnect-Router oder eine andere Schaltlogik kritikalitätsbewusst gemacht werden. Auf diese Art und Weise kann die Router-Verzögerung von kritischen Kohärenznachrichten auf Kosten einer potentiellen Verlangsamung von unkritischen Nachrichten kürzer werden. Die Kritikalität kann durch Hardware zur Laufzeit basierend auf Nachrichtentypen extrahiert werden und kann dann verwendet werden, um eine VC-Verwaltung zu betreiben.
  • Bezugnehmend auf 2 wird nun ein Blockdiagramm eines Interconnect-Routers gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 2 gezeigt, kann der Interconnect-Router 100 eine Router-Struktur eines Interconnect-Systems sein. Wie später diskutiert wird, können viele solche Interconnect-Router in einem gegebenen System vorhanden sein, um Transaktionen von einem eingangsverbundenen Router zu empfangen und solche Transaktionen an einen ausgangsverbundenen Router weiterzuleiten. Wie in 2 gezeigt, umfasst ein beispielhafter Router 100 eine Vielzahl von virtuellen Eingangskanälen (VCs) 110a - 110n (allgemein VC 110). Jeder VC 110 ist angeschlossen, um eingehende Nachrichten zu empfangen. Solche Nachrichten können verschiedene Formen annehmen, umfassend Anfragenachrichten, Datennachrichten, Rückmeldungsnachrichten und so weiter. Diese eingehenden Nachrichten können von einem eingangsverbundenen Router empfangen werden, der ähnlich konfiguriert ist. Jedoch können in weiteren Implementierungen mindestens einige der Eingänge eines gegebenen Routers direkt von einem Caching-Agenten empfangen werden, wie zum Beispiel einem Prozessorkern oder anderen solchen Agenten.
  • Eingehende Nachrichten werden an einem Eingangs-Multiplexer 112 geliefert, der basierend auf Kritikalitätsinformationen, die den Nachrichten zugeordnet sind, kontrolliert wird. Das heißt, dass in verschiedenen Ausführungsformen die Nachrichten Link-Layer-Nachrichten sein können, in denen eine Transaktion in eine Vielzahl von Flusssteuereinheiten, wie zum Beispiel in Pakete, segmentiert ist, zum Beispiel Flits, wobei jeder Flit der kleinsten Verbindungsschichtnachricht entspricht und einen Header aufweist. Dieser Header kann Kritikalitätsinformationen umfassen. Eine Transaktionsschicht kann zum Beispiel die Kritikalitätsinformationen zu einem Link-Layer liefern, der wiederum die Kritikalitätsinformationen an jedes Link-Layer-Paket (z. B. ein Flit) anfügt, das sie erzeugt. Basierend auf einer Ebene von Kritikalität, die einer gegebenen Nachricht, zum Beispiel einer Cache-Kohärenznachricht, zugeordnet ist, kann das zugeordnete Flit zu einer aus einer Vielzahl von Warteschlangen 115a - 115n (allgemein Warteschlange 115) geliefert werden, von denen jede einer gegebenen Kritikalitätsebene zugeordnet sein kann. In einer Ausführungsform können die Warteschlangen 115 First-In-First-Out (FIFO)-Puffer sein, obwohl der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt ist. In einer Ausführungsform kann jede Warteschlange 115 einer einzelnen Kritikalitätsebene zugeordnet sein, obwohl in weiteren Ausführungsformen eine Warteschlange Speicher für Nachrichten mehrerer Kritikalitätsebenen bereitstellen kann. Um Nachrichten aus den VCs 110 auszugeben, kann eine VC-Allocator/Steuerlogik 120 an einen Ausgangs-Multiplexer 118 gekoppelt sein, um die Nachrichtenausgabe zu steuern. In verschiedenen Implementierungen kann die Steuerung von Nachrichten, die von dem VC 110 gesendet werden sollen, einer Kritikalitätsebene entsprechen. Wie in 2 gezeigt, werden die Ausgänge der verschiedenen VCs 110 an einem Switch 130 bereitgestellt, der ebenfalls von dem VC-Allocator 120 gesteuert wird, um die Nachrichten an einen ausgangsverbundenen Router oder einen anderen solchen Agenten ausgegeben.
  • Es ist zu beachten, dass im Fall eines erzeugenden oder Quell-Routers für eine Nachricht, d.h., ein Router, der mit einem Caching-Agenten verbunden ist, das eine Cache-Kohärenznachricht erzeugt, die VC-Allocator/Steuerlogik 120 den Nachrichtentyp auf eine gegebene Kritikalitätsebene abbilden kann und diese Kritikalitätsebene auf jedes Flit der Nachricht anwenden kann, die vom Switch 130 gesendet wird. Auf diese Art und Weise kann ein ausgangsverbundener Router, der die Nachricht empfängt, ebenfalls die zugeordnete Kritikalitätsebene empfangen, um somit ihren Durchgang durch die virtuellen Kanäle entsprechend zu verwalten. Der Umfang der vorliegenden Erfindung ist jedoch in dieser Hinsicht nicht beschränkt, obwohl sie anhand dieser bestimmten Implementierung in der Ausführungsform aus 2 gezeigt wird.
  • In unterschiedlichen Ausführungsformen wird ein Abbilden von einem Cache-Kohärenznachrichtentyp auf eine Kritikalitätsebene durch das spezifische Kohärenzprotokoll und das Leistungsfähigkeitsziel bestimmt. In Laufzeit extrahiert ein Quell-Router (der mit einem Caching-Agenten verbunden ist) den Nachrichtentyp, übersetzt ihn auf eine der Kritikalitätsebenen und hängt diese Informationen an den Flit-Header an. In jedem Zwischen-Router wird die VC-Zuordnung vereinfacht, da die Kritikalitätsbits in dem Flit-Header als die VC-Kennung dienen.
  • Nachdem ein Flit in eine geeignete Warteschlange 115 eingefügt wurde, können unterschiedliche Arten des Sicherstellens einer schnellen Zustellung der kritischen Nachricht implementiert werden. In einer Implementierung können die FIFOs priorisiert sein, so dass eine FIFO mit höherer Kritikalität immer vor einer FIFO mit niedrigerer Kritikalität in dem Wettbewerb um den Switch 130 gewinnt. In anderen Ausführungsformen kann jede Warteschlange 115 eine unterschiedliche relative Priorität haben. Dies wird durch Verwenden eines prioritätsbasierten Hardware-Schlichters (z. B. innerhalb des VC-Allocators 120) erreicht, der eine Bewilligung bereitstellt und einen „schnelleren Pfad“ für Nachrichten mit höherer Kritikalität ermöglicht. Jedoch sind andere Implementierungen möglich. Man beachte, dass die Ausführungsformen quer zu existierenden VC-Entwürfen sind, da jede Kritikalitätsebene mehrere ihr zugeordnete VCs haben kann.
  • Da die Nachrichtentypen für den Link-Layer offengelegt sind, können log2C Bits pro Flit verwendet werden, wobei C die Gesamtanzahl der Kritikalitätsebenen ist. In der Praxis kann C eine kleine Zahl sein, wie zum Beispiel 4. Ferner kann die Größe eines VC-Allocationsschlichters verglichen mit einem gewöhnlichen homogenen VC-Entwurf um einen Faktor von V reduziert werden, wobei V die Anzahl der virtuellen Kanäle pro Port ist. Da die Ausführungsformen rein mikroarchitektonisch sind, gibt es ebenfalls keine Notwendigkeit für irgendwelche Software-Hinweise von einem Benutzer (z. B. einem Programmierer) und somit wird die Korrektheit des Cache-Kohärenzprotokolls nicht beeinflusst. Das heißt, dass eher ein hardwarebasiertes Prioritätsschema bereitgestellt wird, als dass ein Software-Programmierer Prioritätsinformationen für eine Nachricht kodiert.
  • Bezugnehmend auf 3 wird nun ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 3 gezeigt, kann ein Verfahren 200 verwendet werden, um eine Kritikalitätsebene auf Cache-Kohärenznachrichtentypen anzuwenden und um eine Verwendung derselben beim Weiterleiten der Nachricht an ihr Ziel zu ermöglichen. Wie in 3 gezeigt, kann das Verfahren 200 in einer Interconnect-Struktur implementiert sein, zum Beispiel innerhalb einer Kritikalitäts- oder anderen Steuerlogik, die einem Quell-Router zugeordnet ist, sowie in verschiedenen Zwischen-Routern, die zwischen diesem Quell-Router und einem Ziel-Router angeschlossen sind, der an das Nachrichtenziel gekoppelt ist.
  • Das Verfahren 200 kann mit einem Empfangen einer Cache-Kohärenznachricht von einem Caching-Agenten (Block 210) beginnen. Ein Quell-Router kann zum Beispiel eine Cache-Kohärenznachricht von einem Prozessorkern oder einem weiteren Agenten empfangen. Als nächstes kann dieser Nachrichtentyp auf eine Kritikalitätsebene abgebildet werden (Block 220). Die Kritikalitätslogik oder andere Steuerlogik des Quell-Routers kann zum Beispiel eine Tabelle umfassen oder ihr zugeordnet sein, die in einem nicht-flüchtigen Speicher gespeichert werden kann, die eine Abbildung zwischen den verschiedenen Nachrichtentypen des Cache-Kohärenzprotokolls und unterschiedlichen Kritikalitätsebenen umfasst. In einer Ausführungsform kann jeder Nachrichtentyp seine eigene Kritikalitätsebene haben, während in weiteren Ausführungsformen eine Vielzahl von Nachrichten einer gegebenen Kritikalitätsebene zugeordnet sein kann.
  • Der Router kann dann die Kritikalitätsebene an eine Nachricht anfügen (Block 230). In einem Kommunikationsprotokoll, in dem ein Link-Layer Flits an einen physikalischen Layer liefert, kann zum Beispiel jeder solche Flit eine Kritikalitätsebene haben, die in seinen Header eingefügt ist. Basierend zumindest teilweise auf diesen Informationen kann die Nachricht durch eine Interconnect-Struktur zu ihrem Ziel geroutet werden (Block 240). Auf diese Art und Weise können Nachrichten mit einer höheren Priorität effizienter behandelt werden, was die Speicherlatenzzeiten und die Systemleistungsfähigkeit verbessert. Obwohl mit dieser bestimmten Implementierung in der Ausführungsform aus 3 gezeigt, ist der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt.
  • Bezugnehmend auf 4 wird nun ein Blockdiagramm eines Systems gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Wie in 4 gezeigt, kann ein System 300 ein Ein-Chip-Netzwerk oder eine Mehrfach-Chip-Vorrichtung sein. Jedoch ist der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt. In der Ausführungsform aus 4 umfasst das System 300 eine Vielzahl von Caching-Agenten 310x , von denen jeder an eine Zwischenverbindungsstruktur 320 durch einen oder mehrere Router 330x gekoppelt ist. Die Caching-Agenten 310x können Prozessorkerne, Cache-Speicher oder andere Verarbeitungsagenten sein. Wie ferner in 4 gezeigt, können eine Netzwerkschnittstelle 340 und eine Bridge 350 an entsprechende Router 330 gekoppelt sein. In einer Ausführungsform können Vorrichtungen, wie zum Beispiel ein Eingabe/Ausgabe (I/O)-Controller-Hub oder ein Switch gemäß einem Peripheral Component Interconnect (PCI) Express™ (PCIe)-Protokoll an die Bridge 350 gekoppelt sein. Wie ebenfalls in 4 gezeigt, kann ein Speicher-Controller 360 an einen anderen Router 330 gekoppelt sein, um Speicheroperationen in einem Off-Chip-Speicher zu behandeln, zum Beispiel ein Dynamic Random Access Memory (DRAM) oder eine andere Systemspeichervorrichtung. Wenn ein Flit von einem Agenten 310x oben rechts zum Speicher-Controller 360 laufen soll, kann als ein Beispiel des Kommunikations-Routings der Flit durch neun Router durchkommen, und jeder der sieben Zwischen-Router kann die Nachricht unter Verwendung von Kritikalitätsinformationen gemäß einer Ausführungsform der vorliegenden Erfindung weitergeben. Obwohl mit dieser bestimmten Implementierung in der Ausführungsform aus 4 gezeigt, ist der Umfang der vorliegenden Erfindung in dieser Hinsicht nicht beschränkt.
  • Durch die Verwendung von Nachrichtenkritikalitätsinformationen zum Verwalten von virtuellen Kanälen können die Ausführungsformen dabei behilflich sein, dass das Speichersystem eine höhere Leistungsfähigkeit als aktuelle Router erreicht. Ferner können Ausführungsformen als Mikroarchitektur implementiert sein, so dass die Leistungsfähigkeitsvorteile ohne Software-Kosten entstehen.
  • Die Ausführungsformen können als Code implementiert sein und können auf einem Speichermedium gespeichert sein, das darauf gespeicherte Befehle aufweist, die verwendet werden können, um ein System zum Durchführen der Befehle zu programmieren. Das Speichermedium kann jede Art einer Disk, umfassend Floppy Disks, optische Disks, Compact Disk Read-Only Memories (CD-ROMs), Compact Disk Rewritables (CD-RWs) und magnetooptische Disks, Halbleitervorrichtungen, wie zum Beispiel Read-Only Memories (ROMs), Random Access Memories (RAMs), wie zum Beispiel Dynamic Random Access Memories (DRAMs), Static Random Access Memories (SRAMs), Erasable Programmable Read-Only Memories (EPROMs), Flash-Speicher, Electrically Erasable Programmable Read-Only Memories (EEPROMs), magnetische oder optische Karten oder jeden anderen Medientyp umfassen, der in der Lage ist, elektronische Befehle zu speichern, ohne darauf beschränkt zu sein.

Claims (10)

  1. Vorrichtung, die folgendes umfasst: ein Ein-Chip-Netzwerk, NoC (10; 300), das eine Vielzahl von Caching-Agenten (310x) aufweist, die durch eine Interconnect-Struktur (50; 320) gekoppelt sind, und eine Vielzahl von Routern (100; 300) aufweist, von denen jeder eine Vielzahl von virtuellen Kanälen (110a-110n), einen Switch (130) und eine Kritikalitätslogik (120) aufweist; wobei jeder der Vielzahl von virtuellen Kanälen (110a-110n), folgendes aufweist: einen Eingangs-Multiplexer (112), um Cache-Kohärenznachrichten zu empfangen, wobei jede der Cache-Kohärenznachrichten einen ihr zugeordneten Kritikalitätsindikator hat; eine Vielzahl von Warteschlangen (115a-115n), die an den Eingangs-Mulitplexer (112) gekoppelt sind, um die Cache-Kohärenznachrichten zu speichern, wobei jede der Warteschlangen (115"-115") mindestens einem der Kritikalitätsindikatoren zugeordnet ist; und einen Ausgangs-Multiplexer (118), der an die Vielzahl von Warteschlangen (115a-115n) gekoppelt ist, um basierend zumindest teilweise auf dem entsprechenden Kritikalitätsindikator einen Ausgang einer der Warteschlangen (115a-115n) auszuwählen; wobei der Switch (130) an die Vielzahl der virtuellen Kanäle (110a-110n) gekoppelt ist, um die Cache-Kohärenznachrichten an die Interconnect-Struktur (50) auszugeben, und die Kritikalitätslogik (120) eine Cache-Kohärenznachricht auf einen Kritikalitätsindikator abbildet und den Kritikalitätsindikator an einen Header jedes Pakets der Cache-Kohärenznachricht anfügt, wobei der Kritikalitätsindikator eine relative Kritikalität einer Cache-Kohärenznachricht im Hinblick auf einen Satz von Cache-Kohärenznachrichten anzeigt und wobei die Kritikalitätslogik (120) einer Tabelle zugeordnet ist, um jede aus dem Satz von Cache-Kohärenznachrichten auf einen Kritikalitätsindikator abzubilden, wobei die Kritikalitätslogik (120) das Abbilden ohne einen Software-Hinweis von einem Benutzer durchführt.
  2. Vorrichtung nach Anspruch 1, die ferner einen virtuellen Kanal-Allocator (120) umfasst, um den Ausgangs-Multiplexer (118) zu steuern, wobei der virtuelle Kanal-Allocator (120) einen Schlichter aufweist, um basierend zumindest teilweise auf einer relativen Priorität der Vielzahl von Warteschlangen (115a-115n) den Ausgangs-Multiplexer (118) zu steuern.
  3. Vorrichtung nach Anspruch 2, wobei der virtuelle Kanal-Allocator (120) einen Ausgang einer ersten Warteschlange (115a-115n), die einen ersten Kritikalitätsindikator hat, vor einem Ausgang einer zweiten Warteschlange (115a-115n) auswählt, die einen zweiten Kritikalitätsindikator hat, wobei der erste Kritikalitätsindikator auf einer höheren Ebene als der zweite Kritikalitätsindikator liegt.
  4. Vorrichtung nach Anspruch 3, wobei der Ausgang der ersten Warteschlange (115a-115n) für eine Sondierungsnachricht und der Ausgang der zweiten Warteschlange (115a-115n) für eine Datenantwort von einem Verzeichnis eingerichtet ist, die vor einem Empfang einer Antwort auf die Sondierungsnachricht übermittelt wird.
  5. Vorrichtung nach Anspruch 1, wobei ein erster Router (100; 300) den Kritikalitätsindikator an eine eingehende Cache-Kohärenznachricht von einem ersten Caching-Agenten (310x) anfügt und ein zweiter Router (100; 300) die eingehende Cache-Kohärenznachricht gemäß einer Priorität basierend zumindest teilweise auf dem Kritikalitätsindikator routet.
  6. Verfahren, das folgende Schritte umfasst: Empfangen (210) einer Cache-Kohärenznachricht in einem Interconnect-Router von einem Caching-Agenten; Abbilden (220) eines Nachrichtentyps der Cache-Kohärenznachricht auf einen Kritikalitäts-indikator gemäß einer Tabelle, die dem Interconnect-Router zugeordnet ist, ohne einen Software-Hinweis von einem Benutzer, wobei der Kritikalitätsindikator eine relative Kritikalität einer Cache-Kohärenznachricht im Hinblick auf einen Satz von Cache-Kohärenznachrichten anzeigt; und Anfügen (230) der Kritikalitätsindikators an jede Flusssteuereinheit der Cache-Kohärenznachricht, die von dem Interconnect-Router übermittelt wird.
  7. Verfahren nach Anspruch 6, dass ferner ein Routen (240) der Cache-Kohärenznachricht durch eine Interconnect-Struktur (50) von dem Interconnect-Router (100; 300x) an ein Ziel umfasst, das an einen zweiten Interconnect-Router (100; 300x) gekoppelt ist.
  8. Verfahren nach Anspruch 7, das ferner ein Empfangen der Cache-Kohärenznachricht an einem Eingangs-Multiplexer (112) eines virtuellen Kanals (110a-110n) eines Zwischen-Interconnect-Routers und ein Speichern der Cache-Kohärenznachricht in einer aus einer Vielzahl von Warteschlangen (115a-115n) basierend zumindest teilweise auf einer Kritikalitätsebene umfasst.
  9. Verfahren nach Anspruch 8, das ferner ein Routen der Cache-Kohärenznachricht von einem Ausgangs-Multiplexer (118) des virtuellen Kanals (110a-110n) basierend zumindest teilweise auf der Kritikalitätsebene umfasst.
  10. Verfahren nach Anspruch 9, das ferner ein Routen der Cache-Kohärenznachricht von dem Zwischen-Interconnect-Router vor einer zweiten Cache-Kohärenznachricht umfasst, wobei die zweite Cache-Kohärenznachricht eine niedrigere Kritikalitätsebene als die Kritikalitätsebene der Cache-Kohärenznachricht hat.
DE102009022152.2A 2008-05-30 2009-05-20 Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen Expired - Fee Related DE102009022152B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/156,343 2008-05-30
US12/156,343 US8131944B2 (en) 2008-05-30 2008-05-30 Using criticality information to route cache coherency communications

Publications (2)

Publication Number Publication Date
DE102009022152A1 DE102009022152A1 (de) 2010-01-28
DE102009022152B4 true DE102009022152B4 (de) 2021-09-02

Family

ID=41381241

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009022152.2A Expired - Fee Related DE102009022152B4 (de) 2008-05-30 2009-05-20 Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen

Country Status (3)

Country Link
US (1) US8131944B2 (de)
CN (1) CN101593159B (de)
DE (1) DE102009022152B4 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008038235A2 (en) * 2006-09-27 2008-04-03 Ecole Polytechnique Federale De Lausanne (Epfl) Method to manage the load of peripheral elements within a multicore system
EP2390792B1 (de) * 2010-05-27 2014-04-16 STMicroelectronics (Grenoble 2) SAS Kommunikationssystem und -verfahren
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
CN102801600B (zh) * 2011-05-24 2016-04-20 清华大学 片上网络中缓存一致性的维护方法和片上网络路由
US9330002B2 (en) * 2011-10-31 2016-05-03 Cavium, Inc. Multi-core interconnect in a network processor
CN102394829A (zh) * 2011-11-14 2012-03-28 上海交通大学 片上互连网络中基于可靠性需求的仲裁方法
US9647921B2 (en) 2012-08-07 2017-05-09 Qualcomm Incorporated Statistics and failure detection in a network on a chip (NoC) network
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
CN103729329B (zh) * 2012-10-12 2018-01-19 深圳市中兴微电子技术有限公司 核间通信装置及方法
US9507746B2 (en) * 2012-10-22 2016-11-29 Intel Corporation Control messaging in multislot link layer flit
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
CN103634207B (zh) * 2013-12-16 2016-09-14 武汉科技大学 一种静态的关键路径优先的片上网络路由优化方法
US20150186277A1 (en) * 2013-12-30 2015-07-02 Netspeed Systems Cache coherent noc with flexible number of cores, i/o devices, directory structure and coherency points
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9979668B2 (en) 2014-12-22 2018-05-22 Intel Corporation Combined guaranteed throughput and best effort network-on-chip
US10133670B2 (en) * 2014-12-27 2018-11-20 Intel Corporation Low overhead hierarchical connectivity of cache coherent agents to a coherent fabric
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9568970B1 (en) 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
CN110557216B (zh) * 2019-08-27 2020-11-13 桂林电子科技大学 一种基于片上网络的高速数据体系结构及数据传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035424A (en) 1996-12-09 2000-03-07 International Business Machines Corporation Method and apparatus for tracking processing of a command
US6628615B1 (en) 2000-01-18 2003-09-30 International Business Machines Corporation Two level virtual channels

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961781B1 (en) * 2000-08-31 2005-11-01 Hewlett-Packard Development Company, L.P. Priority rules for reducing network message routing latency
US7295563B2 (en) * 2001-10-01 2007-11-13 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have ordering requirements
US7206879B2 (en) * 2001-11-20 2007-04-17 Broadcom Corporation Systems using mix of packet, coherent, and noncoherent traffic to optimize transmission between systems
US6956861B2 (en) * 2002-04-16 2005-10-18 Interactics Holdings, Llc Controlled shared memory smart switch system
WO2005064868A1 (en) * 2003-11-25 2005-07-14 Freescale Semiconductor, Inc. Network message processing using pattern matching
JP4751804B2 (ja) * 2006-10-20 2011-08-17 富士通株式会社 通信中継装置、通信中継制御方法および通信中継制御プログラム
US8010750B2 (en) * 2008-01-17 2011-08-30 International Business Machines Corporation Network on chip that maintains cache coherency with invalidate commands

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035424A (en) 1996-12-09 2000-03-07 International Business Machines Corporation Method and apparatus for tracking processing of a command
US6628615B1 (en) 2000-01-18 2003-09-30 International Business Machines Corporation Two level virtual channels

Also Published As

Publication number Publication date
US8131944B2 (en) 2012-03-06
CN101593159A (zh) 2009-12-02
CN101593159B (zh) 2013-07-10
DE102009022152A1 (de) 2010-01-28
US20090300292A1 (en) 2009-12-03

Similar Documents

Publication Publication Date Title
DE102009022152B4 (de) Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen
DE69724355T2 (de) Erweiterte symmetrische Multiprozessorarchitektur
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE69906585T2 (de) Datenverarbeitungssystem mit nichtuniformen speicherzugriffen (numa) mit spekulativer weiterleitung einer leseanforderung an einen entfernten verarbeitungsknoten
DE112012005210B4 (de) Bereitstellen eines gemeinsamen Caching-Agenten für ein Kern- und integriertes Ein-/Ausgabe-(IO)-Modul
DE69727856T2 (de) Multiprozessorsystem mit Konsistenzfehler-Registrierung mit entsprechendem Verfahren
DE69701078T2 (de) Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedener Prozessoren
DE112008001655B4 (de) Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System
DE69722512T2 (de) Mehrrechnersystem mit einem die Anzahl der Antworten enthaltenden Kohärenzprotokoll
DE102009032581B4 (de) Management der Zeitsteuerung eines Protokollstapels
DE112013000889B4 (de) Weiterleitungsfortschritts-Mechanismus für Speichervorgänge bei Vorhandensein von Ladekonflikten in einem Ladevorgänge begünstigenden System
DE112008002019T5 (de) Auslagern von Eingabe/Ausgabe (I/O)-Virtualisierungsarbeitsgängen an einem Prozessor
DE2809602C3 (de) Kanalbus-Steuereinrichtung
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE102013201079A1 (de) Mechanismus des Weiterleitungsfortschritts für Speichervorgänge beim Vorhandensein einer Überlastung in einem System, das Belastungen durch Zustandsänderungen begünstigt
DE102015118711B4 (de) Technologien zur Netzwerkpaketcacheverwaltung
DE112012004551B4 (de) Mehrkernverknüpfung in einem Netzprozessor
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE69620070T2 (de) Vielfachknoten-Datenverarbeitungssystem und Verfahren zur Übertragung von Nachrichten in diesem Vielfachknoten-Datenverarbeitungssystem
DE102020130534A1 (de) System, Vorrichtung und Verfahren zum persistenten Umgehen mit Speicheranforderungen in einem System
DE10394081T5 (de) Verfahren und Vorrichtung zum Einprägen von Schreibdaten in einen Cache-Speicher
DE112013000891T5 (de) Verbessern der Prozessorleistung für Befehlsfolgen, die Sperrbefehle enthalten
DE60212142T2 (de) Verfahren und vorrichtung zur übertragung von paketen in einem symmetrischen mehrprozessorsystem
DE102013209643B4 (de) Mechanismus für optimierte Nachrichtenaustauschdatenübertragung zwischen Nodelets innerhalb eines Plättchens
DE112016006065T5 (de) Spekulative nummerierung von adressräumen für bus-einrichtungsfunktionen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 12/08 AFI20090923BHDE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee