DE60316458T2 - Integrierter schaltkreis und verfahren zum erstellen von transaktionen - Google Patents

Integrierter schaltkreis und verfahren zum erstellen von transaktionen Download PDF

Info

Publication number
DE60316458T2
DE60316458T2 DE60316458T DE60316458T DE60316458T2 DE 60316458 T2 DE60316458 T2 DE 60316458T2 DE 60316458 T DE60316458 T DE 60316458T DE 60316458 T DE60316458 T DE 60316458T DE 60316458 T2 DE60316458 T2 DE 60316458T2
Authority
DE
Germany
Prior art keywords
module
network
address
modules
anip
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 - Lifetime
Application number
DE60316458T
Other languages
English (en)
Other versions
DE60316458D1 (de
Inventor
Kees G. Goossens
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32088020&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60316458(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE60316458D1 publication Critical patent/DE60316458D1/de
Application granted granted Critical
Publication of DE60316458T2 publication Critical patent/DE60316458T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Computer And Data Communications (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine integrierte Schaltung mit einer Anzahl Verarbeitungsmodule, vorgesehen zum Übertragen von Nachrichten zwischen Verarbeitungsmodulen und auf ein Verfahren zum Austauschen von Nachrichten in einer derartigen integrierten Schaltung.
  • HINTERGRUND DER ERFINDUNG
  • Systeme auf Silizium zeigen eine immer ansteigende Komplexität, und zwar wegen des immer wachsenden Bedürfnisses nach Implementierung neuer Merkmale und Verbesserungen bestehender Funktionen. Dies wird durch die immer ansteigende Dichte ermöglicht, mit der Schaltungselemente auf einer integrierten Schaltung integriert werden können. Gleichzeitig neigt die Taktgeschwindigkeit, mit der Schaltungsanordnungen betrieben werden, dazu, auch zuzunehmen. Die höhere Taktgeschwindigkeit in Kombination mit der zugenommenen Elementdichte hat das Gebiet reduziert, das innerhalb derselben Taktdomäne synchron arbeiten. Dies hat den Bedarf nach einer modularen Annäherung geschaffen. Nach einer derartigen Annäherung umfasst das Verarbeitungssystem eine Anzahl relativ unabhängiger, komplexer Module. Bei herkömmlichen Verarbeitungssystemen kommunizieren die Systemmodule meistens über einen Bus miteinander. Da aber die Anzahl Module zunimmt, ist diese Art von Kommunikation nicht länger praktisch, und zwar aus den nachfolgenden Gründen. Einerseits bildet die Vielzahl Module eine zu große Busbelastung. Andererseits bildet der Bus einen Kommunikationsengpass, da er nur die Möglichkeit bietet, dass nur eine einzige Anordnung dem Bus Daten zusendet. Ein Kommunikationsnetzwerk bildet eine effektive Möglichkeit diese Nachteile zu überwinden.
  • Netzwerke auf Chips (NoC) sind in letzter Zeit interessanter geworden, und zwar als Lösung des Verbindungsproblems in äußerst komplexen Chips. Der Grund ist zweifach. Erstens helfen NoC die elektrischen Probleme in neunen Tiefsubmikrontechnologien zu lösen, da sie globale Verdrahtungen strukturieren und verwalten. Gleichzeitig teilen sie sich Verdrahtungen, verringern deren Anzahl und steigern die Nutzbarkeit. NoC können auch energieeffizient und zuverlässig sein und sind im Vergleich zu Bissen skalierbar. Zweitens entkoppeln NoC auch die Berechnung von der Kommunikation, was beim verwalten des Entwurfs von Chips mit unzähligen Transistoren. NoC erreichen diese Entkopplung, weil sie herkömmlicherweise unter Anwendung von Protokollstapeln entworfen wurden, die gut definierte Schnittstellen schaffen, die Gebrauch von Kommunikationsdienst von Dienstimplementierung trennen.
  • Technische Literatur über Netzwerk auf Chiptechnologie gibt es in den Artikeln: "A Generic Architecture for On Chip Packet-Switsched Interconnection" von P. Guersier (2000) und "A Network an Chip Architecture and Design Methodology" von S. Kumar (2002).
  • Die Verwendung von Netzwerken für On-Chip Kommunikation beim Entwerfen von Systemen an Cip (SoC), bringt aber eine Anzahl neuer Aspekte mit sich, die berücksichtigt werden sollen. Dies ist weil im Gegensatz zu bestehenden On-Chip-Verbindungen (beispielsweise Bussen, Schaltern, oder Punkt-zu-Punktverdrahtung), wobei die Kommunikationsmodule unmittelbar verbunden sind, in einem NoC die Module über Netzwerkknoten entfernt kommunizieren. Dadurch ändert sich die Verbindungsentscheidung von zentralisiert in verteilt, und Aspekte wie Außerbetriebtransaktionen, höhere Latenz und Ende-zu-Ende-Flusssteuerung müssen entweder von dem IP-Block ("intellectual property") oder von dem Netzwerk abgewickelt werden.
  • Die meisten dieser Elemente sind bereits Gegenstand der Forschung gewesen in dem Bereich von örtlichen und Großbereichnetzwerken (Computernetzwerken) und als Verbindung für parallele Maschinenverbindungsnetzwerken. Siehe dazu beispielsweise die Beschreibung von EP 1 083 768 A , wobei ein Verfahren beschrieben wird für Datenübertragung in einem Kommunikationssystem unter Anwendung von IP, eines Gateways, eines Puffers und anderer spezialisierten Anordnungen. Beide beziehen sich auf On-Chip-Netzwerke und viele der Ergebnisse in diesen Bereichen sind auch auf Chip anwendbar. NoC Konfigurationen sind anders als Off-Chip-Netzwerke, und deswegen müssen die meisten Netzwerkentwurfswahlen neu bewertet werden. On-Chip-Netzwerke haben andere Eigenschaften (beispielsweise eine kräftigere Koppelsynchronisation) und Beschränkungen (beispielsweise höhere Speicherkosten), die zu anderen Entwurfswahlen führen, welche die Netzwerkdienste schlussendlich beeinflussen. Speicher- und Rechenmittel sind relativ teurer, während die Anzahl Punkt-zu-Punktkopplungen bei On-Chip größer ist als bei Off-Chip. Speicherung ist teuer, weil Allzweck-On-Chip-Speicher, wie RAM, eine große Fläche beanspruchen. Die Aufteilung des Speichers über die Netzwerkelemente in relativ klei nen Einheiten ist noch schlimmer, da die Gesamtfläche in dem Speicher dann überherrschend wird.
  • Für On-Chip-Netzwerke wird die Berechnung auch relativ teuer, dies im vergleich mit Off-Chip-Netzwerken. Eine Off-Chip-Netzwerkschnittstelle enthält meistens einen speziellen Prozessor zum Implementieren des Protokollstapels bis zur Netzwerkschicht oder noch höher, damit der Gastgeberprozessor von der Kommunikationsverarbeitung befreit wird. Das Einschließen eines speziellen Prozessors in eine Netzwerkschnittstelle ist "on Chip" nicht durchführbar, da die Größe der Netzwerkschnittstelle mit dem mit dem Netzwerk zu verbindenden IP vergleichbar oder sogar größer wird. Weiterhin ist das Laufen des Protokollstapels in dem IP selber auch nicht durchführbar, weil oft diese IP nur eine einzige spezielle Funktion haben, und nicht die Fähigkeiten besitzen, einen Netzwerkprotokollstapel laufen zu lassen.
  • Die Anzahl Drähte und Stifte zum verbinden von Netzwerkelementen ist um eine Größenordnung größer an Chip als off Chip. Wenn sie nicht massiv für andere Zwecke als NoC Kommunikation verwendet werden, ermöglichen sie breite Punkt-zu-Punkt Verbindungen (beispielsweise 300-Bit Kopplungen). Dies ist off Chip nicht möglich, wobei Kopplungen relativ enger sind: 8–16 Bits.
  • On Chip Drähte sind relativ kürzer als off Chip, was eine viel festere Synchronisation ermöglicht als off Chip. Dies ermöglicht eine Reduktion in dem Pufferraum in den Routern, weil die Kommunikation auf einer kleineren Granularität erfolgen kann. In den heutigen Halbleitertechnologien sind Drähte auch schnell und zuverlässig, was einfachere Koppelschichtprotokolle ermöglicht (beispielsweise Fehlerkorrektur oder Neuübertragung überflüssig). Dies kompensiert auch den Mangel an Speicherraum und rechnerischen Mitteln.
  • Datenbestellung: In einem Netzwerk können Daten, die von einer Quelle zu einem Ziel gesendet werden gestört eintreffen, und zwar wegen einer Neuordnung in Netzwerkknoten, wobei verschiedene Routen befolgt werden, oder Neuübertragung nach Auswerfung. Für off Chip Netzwerke ist eine gestörte Datenlieferung typisch. Für NoC, wobei keine Daten ausfallen, können Daten forciert werden, zwischen einer Quelle und einem Ziel (deterministisches Routing) ohne Neuordnung derselben Strecke zu folgen. Dieser Datentransport in Reihenfolge erfordert weniger Pufferraum, und Aufzeichnungsmodule sind nicht länger erforderlich.
  • Das Einführen von Netzwerken als an Chip Verbindungen ändert radikal die Kommunikation, wenn dies mit direkten Verbindungen, wie Bussen oder Schaltern, verglichen wird. Dies ist wegen der Mehrfach-Sprungart eines Netzwerkes, wobei Kommunikationsmodule nicht direkt verbunden sind, sondern durch einen oder mehrere Netzwerkknoten getrennt. Dies ist im Gegensatz zu den vorherrschenden bestehenden Verbindungen (d. h. Bussen), wobei Module direkt verbundne sind. Die Implikationen dieser Änderung liegen in der Entscheidung (die von zentral in verteilt sich andern muss) und in den Kommunikationseigenschaften (beispielsweise Reihenfolge, oder Ablaufsteuerung).
  • Transaktionsreihenfolge: herkömmlicherweise werden bei einem Bus alle Transaktionen geordnet (Vergleiche: Peripheral VCI, AMBA, oder CoreConnect PLB und OPB). Dies ist bei geringen Kosten möglich, weil das Internet, die eine direkte Verbindung zwischen den kommunizierenden Partien ist, keine Daten aufzeichnet. Bei einem Spaltbus aber kann eine totale Ordnung von Transaktionen bei einem einzigen Master dennoch Leistungsstrafen verursachen, wenn Sklaven zu verschiedenen Geschwindigkeiten reagieren. Um dieses Problem zu lösen ermöglichen neue Erweiterungen zu Busprotokollen, dass Transaktionen bei Verbindungen durchgeführt werden. Ordnung von Transaktionen innerhalb einer Verbindung wird dennoch beibehalten, zwischen Verbindungen aber gibt es keine Ordnungsbeschränkungen (beispielsweise OCP, oder Basic VCI). Einige Busprotokolle ermöglichen gestörte Transaktionen je Verbindung in den modernen Moden (beispielsweise Advanced VCI), aber Anträge und Reaktionen treffen in derselben Reihenfolge, wie sie gesendet werden, beim Ziel ein.
  • In einem NoC wird die Reihenfolge schwächer. Eine allgemeinen Reihenfolge kann nur zu sehr hohen Kosten geschaffen werden, und zwar wegen des Konfliktes zwischen der verteilten Art der Netzwerke, und der Anforderung einer zentralisierten Entscheidung, notwendig für eine globale Anordnung. Sogar eine örtliche Anordnung zwischen einem Quelle-Zielpaar, kann kostspielig sein. Daten können gestört eintreffen, wenn diese über viele Routen transportiert werden. In derartigen Fällen müssen Daten um eine einwandfreie Lieferung zu erreichen, mit Folgenummern gekennzeichnet werden und beim Ziel aufgezeichnet werden, und zwar vor der Lieferung. Das Kommunikationsnetzwerk umfasst eine Anzahl teilweise verbundener Knoten. Nachrichten von einem Modul werden durch die Knoten an einen oder mehrere andere Knoten neu gerichtet. Dazu umfasst die Nachricht erste Information für die Stelle des adressierten Moduls innerhalb des Netzwer kes. Die Nachricht kann weiterhin zweite Information enthalten, die indikativ ist für eine spezielle Stelle innerhalb des Moduls, wie eine Speicher- oder Registeradresse. Die zweite Information kann eine spezielle Reaktion des adressierten Moduls hervorrufen.
  • Zielname und Route: Für einen Bus werden der Befehl, die Adresse und Daten über die Verbindung gesendet. Sie treffen bei jedem Ziel ein, von denen eins auf Basis der gesendeten Adresse aktiviert wird, und führt den beantragten Befehl aus. Dies ist möglich, weil alle Module unmittelbar mit demselben Bus verbunden sind. In einem NoC ist es nicht möglich, allen Zielen Information zuzusenden, weil diese zu allen Routern und Netzwerkschnittstellen kopiert werden muss. Dies überschwemmt das Netzwerk mit Daten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung, eine integrierte Schaltung und ein Verfahren zum Austauschen von Nachrichten in der integrierten Schaltung zu schaffen, ohne dass viele Daten in das Netzwerk eingeführt werden.
  • Diese Aufgabe wird erfüllt durch eine integrierte Schaltung nach Anspruch 1 und durch ein Verfahren zum Austauschen von Nachrichten nach Anspruch 7.
  • Dazu wird eine integrierte Schaltung mit einer Anzahl Module M, S, und einem Netzwerk N, vorgesehen zum Übertragen von Nachrichten zwischen den genannten Modulen M, S, geschaffen, wobei eine von einem ersten Modul M ausgelieferte Nachricht erste Information enthält, die für eine Stelle eines adressierten Moduls innerhalb des Netzwerkes indikativ ist, und zweite Information, die für eine Stelle innerhalb des adressierten Moduls S indikativ ist. Die genannte integrierte Schaltung umfasst wenigstens ein Adressenübersetzungsmittel AT, zum Gliedern der ersten und der zweiten Information als eine einzige Adresse. Das genannte Adressenübersetzungsmittel Aufzeichnungsträger ist dazu vorgesehen, zu ermitteln, welches Modul auf Basis der genannten einzigen Adresse adressiert ist, und die selektierte Stelle des adressierten Moduls S wird auf Basis der genannten einzigen Adresse ermittelt.
  • Auf entsprechende Weise kann der Entwurf der ersten Module, d. h. der Mastermodule, unabhängig von der Adressenabbildung auf den adressierten Modulen, d. h. den Sklavenmodulen, implementiert werden. Weiterhin wird eine effizientere Verwendung der Netzwerkmittel erreicht und dieses Schema ist rückwärts kompatibel mit Bussen. Die Adressierung erfolgt durch die Adressenübersetzungsmittel.
  • Nach einem Aspekt der vorliegenden Erfindung umfasst die genannte integrierte Schaltung wenigstens ein Schnittstellenmittel ANIP, PNIP, assoziiert mit einem der Module M, S zum Verwalten der Kommunikation zwischen dem genannten assoziierten Modul M, S und dem Netzwerk N. Das genannte Adressenübersetzungsmittel AT ist in einem der genannten Schnittstellenmittel ANIP, PNIP vorgesehen.
  • Nach einem weiteren Aspekt der vorliegenden Erfindung ist das genannte Adressenübersetzungsmittel AT in dem genannten Schnittstellenmittel ANIP, PNIP vorgesehen, das mit dem genannten ersten Modul M assoziiert ist.
  • Nach wieder einem anderen Aspekt der vorliegenden Erfindung umfasst das genannte Adressenübersetzungsmittel AT eine Adressenabbildungstabelle, und zwar zum Speichern der Beziehung zwischen der globalen und der örtlichen Speicherabbildung.
  • Nach einem anderen Aspekt der vorliegenden Erfindung ist die genannte Adressenabbildungstabelle statisch, programmierbar oder dynamisch.
  • Nach noch einem anderen Aspekt der vorliegenden Erfindung enthält die genannte Adressenabbildungstabelle Felder für jeden Kanal einer Verbindung, für Netzwerkschnittstellenporten ANIP, PNIP einer Verbindung und für örtliche Adressen in adressierten Modulen S.
  • Die vorliegende Erfindung bezieht sich auch auf ein Verfahren zum Austauschen von Nachrichten in einer integrierten Schaltung mit einer Anzahl Module M, S, wobei die Nachrichten zwischen den Modulen M, S über ein Netzwerk N, das sich in der integrierten Schaltung befindet, ausgetauscht werden, wobei eine von einem Modul M ausgelieferte Nachricht erste Information enthält, die für eine Stelle eines adressierten Moduls S innerhalb des Netzwerkes indikativ ist, und zweite Information, die für eine Stelle innerhalb des adressierten Moduls S indikativ ist. Adressenübersetzung AAT erfolgt durch Anordnung der ersten Information und der zweiten Information als eine einzige Adresse. Die genannte Adresse bestimmt, welches Modul auf Basis der genannten einzigen Adresse adressiert wird, und die selektierte Stelle des adressierten Moduls (S) wird auf Basis der genannten einzigen Adresse bestimmt.
  • Der vorliegenden Erfindung liegt der Gedankt zugrunde, die Adressierung von Daten von einem Mastermodul zu verstecken.
  • Weitere Aspekte der vorliegenden Erfindung sind in den Unteransprüchen beschrieben.
  • Diese und andere Aspekte der vorliegenden Erfindung dürften aus den nachstehend beschriebenen Ausführungsbeispielen hervorgehen und werden anhand derselben näher erläutert.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • 1 zeigt ein System an Chip nach einer ersten Ausführungsform der vorliegenden Erfindung und
  • 2 ein System an Chip nach einer zweiten Ausführungsform der vorliegenden Erfindung und
  • 3 ein System an Chip nach einer dritten Ausführungsform der vorliegenden Erfindung.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die nachfolgenden Ausführungsformen bezieht sich auf Systeme an Chip, d. h. eine Anzahl Module auf demselben Chip kommunizieren mit einander über eine Art von gegenseitiger Verbindung. Die Verbindung ist als Netzwerk an Chip NOC ausgebildet. Das Netzwerk an Chip umfasst Verdrahtung, Bus, Zeitmultiplex, Schalter und/oder Routen innerhalb eines Netzwerkes. Auf der Transportschicht des genannten Netzwerkes erfolgt die Kommunikation zwischen den Modulen über Verbindungen. Eine Verbindung wird als einen Satz von Kanälen betrachtet, die je einen Satz von Verbindungseigenschaften haben, zwischen einem ersten Modul und wenigstens einem zweiten Modul. Für eine Verbindung zwischen einem ersten Modul und einem einzigen zweiten Modul (d. h. eine einfache Verbindung). Umfasst die Verbindung zwei Kanäle, und zwar einen von dem ersten Modul zu dem zweiten Kanal, d. h. den Beantragungskanal, und einen zweiten von dem zweiten zu dem ersten Modul, d. h. den Antwortkanal. Der Beantragungskanal ist für Daten und Nachrichten von dem ersten zu dem zweiten Modul reserviert, während der Antwortkanal für Daten und Nachrichten von dem zweiten zu dem ersten Modul reserviert ist. Wenn aber die Verbindung ein einziges erstes Modul und N zweite Module betrifft, werden 2·N Kanäle geschaffen, damit beispielsweise eine Mehrfachverbindung geschaffen wird. Hier liefert das erste Modul Anträge zu allen zweiten Modulen. Die Verbindungseigenschaften können eine Ordnung enthalten (Datentransport in Reihenfolge), Flusssteuerung (ein Fernpuffer ist für eine Verbindung reserviert, und ein Datenerzeuger darf Daten nur dann senden, wenn gewährleistet wird, dass Raum für die erzeugten Daten verfügbar ist), Durchfluss (eine untere Begrenzung des Durchflusses ist gewährleistet), Latenz (eine obere Grenze für Latenz ist gewährleistet), Verlierbarkeit (das Fallenlassen von Daten), Übertragungsbeendigung, Transaktionsbeendigung, Datenkorrektheit, Priorität, oder Datenlieferung.
  • 1 zeigt ein System an Chip nach einer ersten Ausführungsform der vorliegenden Erfindung. Das System umfasst ein Mastermodul M, zwei Sklavenmodule S1, S2. Jedes Modul ist über eine jeweilige Netzwerkschnittstelle NI mit einem Netzwerk N verbunden. Die Netzwerkschnittstellen NI werden als Schnittstellen zwischen dem Master und den Sklavenmodulen M, S, S2 und dem Netzwerk N verwendet. Die Netzwerkschnittstellen NI sind vorgesehen zum Verwalten der Kommunikation der betreffenden Module und des Netzwerkes N, so dass die Module ihre spezielle Operation durchführen können, ohne dass die Kommunikation sich mit dem Netzwerk oder anderen Modulen zu beschäftigen braucht. Die Netzwerkschnittstellen NI können Lese-rd und Schreibanträge wr und Vorgänge zwischen einander über das Netzwerk senden.
  • 2 zeigt ein System an Chip nach einer zweiten Ausführungsform. Das System umfasst ein Mastermodul M und zwei Sklavenmodule S1, S2, ein Routernetzwerk N und drei Netzwerkschnittstellen ANIP, PNIP zwischen den Modulen und dem Router-Netzwerk N. Die Netzwerkschnittstellen schaffen zwei Netzwerkschnittstellenporte NIP (einen Antrags- und einen Antwortport) worüber die Module mit dem Routernetzwerk N oder anderen Modulen über das Routernetzwerk N kommunizieren. Die mit dem Mastermodul M assoziierten Netzwerkschnittstellenporte werden als aktive Netzwerkschnittstellenporte ANIP bezeichnet und die mit den Sklavenmodulen assoziierten Netzwerkschnittstellen werden als passive Netzwerkschnittstellenporte PNIP bezeichnet. Die Kommunikation zwischen dem Mastermodul M und den Sklavenmodulen S1, S2 basiert auf Antrag-Antworttransaktionen, wobei der Master M eine Transaktion dadurch auslöst, dass ein Antrag gestellt wird, möglicherweise mit einigen Daten oder erforderlichen Verbindungseigenschaften. Der Antrag REQ wird dem Sklavenmodul S zugeführt, und zwar über den aktiven Netzwerkschnittstellenport ANIP, das Netzwerk N und den passiven Netzwerkschnittstellenport PNIP. Der Antrag wird von dem Sklavenmodul T durchgeführt und Daten werden, fasst erforderlich oder notwendig, als eine Antwort RESP zurückgeführt. Diese Antwort RESP kann Daten enthalten und/oder eine Bestätigung für den Master M. Ein Prozess bei dem Master M kann eine Adressenabbildung von 0 – FF sehen, die in den Spei chern der zwei Sklaven S1, S2 liegen, d. h. 0 7F in dem Speicher des ersten Sklaven S1 und 80 – FF in dem Speicher des zweiten Sklaven S2. Eine Adresse kann an der Quelle decodiert werden um eine Route zu dem Zielmodul zu finden. Eine Transaktionsadresse wird deswegen zwei Teile haben: (a) einen Zielidentifizierer, und (b) eine interne Adresse am Ziel.
  • Verbindungen zwischen den Modulen/Netzwerkschnittstellen können wie folgt klassifiziert werden:
    • – eine einfache Verbindung ist eine Verbindung zwischen einem einzigen ANIP und einem einzigen PNIP.
    • – Eine Multicastverbindung ist eine Verbindung zwischen einem einzigen ANIP und einem oder mehreren PNIPen, wobei die gesendeten Nachrichten dupliziert werden und jeder PNIP eine Kopie dieser Nachrichten empfangt. In einer Mehrfachverbindung werden zur Zeit keine Rückmeldungen erlaubt, und zwar wegen den riesigen Verkehr, den sie verursachen (d. h. eine Antwort je Ziel). Es könnte auch die Komplexität in dem ANIP steigern, weil einzelne Antworten von PNIPen zu einer einzigen Antwort für den ANIP zusammengefügt werden sollen. Dies erfordert Pufferraum und/oder zusätzliche Berechnung für das Zusammenfügen selber.
    • – Eine Narrowcastverbindung ist eine Verbindung zwischen einem einzigen ANIP und einem oder mehreren PNOPen, wobei jede Transaktion, die der ANIP auslöst, durch genau einen PNIP durchgeführt wird. Eine Beispiel einer Narrowcastverbindung, wo der ANIP Transaktionen an einem Adressenraum durchführt, der auf zwei Speichermodulen abgebildet ist. Je nach der Transaktionsadresse wird eine Transaktion an nur einem dieser zwei Speicher durchgefrührt.
  • Eine Narrowcastverbindung kann durch Decodierung jeder Transaktionsadresse an den aktiven Netzwerkschnittstellenporten ANIP implementiert werden. Nach der Decodierung wird der Zielsklave der Transaktion identifiziert und der Transaktionsantrag wird nur dem betreffenden Sklaven zugeführt, d. h. der Antrag wird nur für den Zielsklaven sichtbar sein und nicht für alle Sklaven in dem Netzwerk.
  • 3 zeigt ein System an Chip nach einer dritten Ausführungsform der vorliegenden Erfindung. Das System nach der dritten Ausführungsform basiert auf dem System nach der zweiten Ausführungsform. Außerdem umfassen die Porte der aktiven Netzwerkschnittstelle einen Adressenübersetzungsverwalter Aufzeichnungsträger mit einer Ad ressenabbildungstabelle AMT, wobei der Adressenübersetzungsverwalter Aufzeichnungsträger die Decodierung der Adresse des Zielsklaven auf Basis der Information durchführt, die in einer Adressenabbildungstabelle AMT gespeichert ist. Die genannte Adressenabbildungstabelle AMT kann auf einer statischen programmierbaren oder dynamischen Basis implementiert werden und kann Felder für jeden Kanal einer Verbindung, für den Verbindungsidentifizierer, für Netzwerkschnittstellenporte ANIP, PNIP einer Verbindung, und/oder für lokale Adressen in adressierten Modulen S enthalten.
  • Jede Adresse in einem Sklaven hat eine globale und eine örtliche Adresse. Die globale Adresse bezieht sich auf eine Adresse, gesehen von der Verarbeitung an dem Master M und die örtliche Adresse bezieht sich auf die Adresse eines Sklaven. Der Adressenbereich der globalen Adresse kann 0000-FFFF sein, während ein Bereich innerhalb eines Sklaven 000-FFF sein kann.
  • Die globale Adresse kann verschiedenartig gebildet werden. Erstens wird sie durch eine Netzwerkadresse und eine örtliche Adresse gebildet. Die Netzwerkadresse kann der Portidentifizierer des empfangenden Moduls sein, d. h. die Port_ID der passiven Netzwerkschnittstellenporte PNIP. Ein derartiges Schema würde rückwärts kompatibel sein.
  • Zweitens wird die globale Adresse durch einen Verbindungsidentifizierer (Verbindungs-ID) und eine örtliche Adresse als minimale Information gebildet oder auf alternative Weise durch den Verbindungsidentifizierer, die passiven Netzwerkschnittstellenporte PNIP und die örtliche Adresse. Die Anordnung der passiven Netzwerkschnittstellenporte PNIP ist in einigen Fällen redundant, steigert aber die Sicherheit des Schemas. Im Falle eines Masters identifiziert eine Verbindungs-ID verschiedene Sklaven, und es soll einige Mittel geben um einen davon zu selektieren. Die Netzwerkschnittstellenport NIP-Adresse oder die globale Adresse (von der eine passive Netzwerkschnittstellenport PNIP-ID hergeleitet wird), sind dennoch erforderlich. In beiden Fällen (d. h. Netzwerkschnittstellenadresse und globale Adresse) sind Überprüfungen als Mittel zur Selektion möglich, da nur ein Subsatz der Netzwerkschnittstellenporte NIP auf der Verbindung abgebildet werden:
    • a) Die Adressenübersetzung erfolgt auf Basis einer Verbindungs-ID + globale Adresse, d. h. auf Basis der passiven Netzwerkschnittstellen PNIP ID und der örtlichen Adresse, möglicherweise auch mit Kommunikationseigenschaften der Verbindung und einer Überprüfung.
    • b) Die Adressenüberwetzung erfolgt auf Basis einer Verbindungs-ID, einer passiven Netz- Werkschnittstellen PNIP ID + einer örtlichen Adresse, möglicherweise auch mit Kommunikationseigenschaften der Verbindung und einer Überprüfung.
  • Im Falle eines Sklaven, reicht eine Verbindungs-ID um das Ziel von Daten zu ermitteln. Dieses Ziel ist der einzigartige Master, verbunden mit dem einzigartigen ANIP dieser Verbindung.
  • Wie oben beschrieben, erfolgt die Adressenübersetzung durch den Adressenübersetzungsverwalter Aufzeichnungsträger in der aktiven Netzwerkschnittstelle, wobei der Adressenübersetzungsverwalter Aufzeichnungsträger seine eigene Adressenabbildungstabelle AMT aufweist, wo alle Information gespeichert ist, die erforderlich ist zum Durchführen der Adressenübersetzung. Der Adressenübersetzungsverwalter Aufzeichnungsträger und/oder die Adressenabbildungstabelle AMT können auch nicht in der Netzwerkschnittstelle sondern zentral in dem Netzwerk N vorgesehen sein.
  • Nach einer weiteren Ausführungsform der vorliegenden Erfindung kann die Funktionalität einer Narrowcast-Verbindung auch unter Verwendung einfacher oder Multicast-Verbindungen erreicht werden, aber bei höheren Kosten, mit weniger Flexibilität und/oder die Neuverwendbarkeit der Module hindernd. Eine Narrowcast-Verbindung kann unter Verwendung mehrerer einfacher Verbindungen zu jedem Sklavenmodul S implementiert werden. Entsprechend der Adresse selektiert das Mastermodul M oder der aktive Netzwerkschnittstellenport ANIP eine geeignete einfache Verbindung. Differenzielle Eigenschaften der Verbindung, d. h. verschiedene Verbindungseigenschaften für die betreffenden Kanäle einer Verbindung, können dennoch je Sklaven implementiert werden. Das Mastermodul M soll aber die Zuordnung der Adressenmappe im voraus kennen, was die Neuverwendbarkeit hindern wird. Die Verwendung einer einfachen Verbindung macht die Programmierung des Mastermoduls schwieriger, da viele Verbindungsidentifizierer verwaltet werden sollen. Viele Puffer, d. h. einen für jede einfache Verbindung, sollen für die betreffenden Antworten zugeordnet werden, wenn viele einfache Verbindungen verwendet werden. Dies kann aber mehr Speicherraum erfordern als die Zuordnung eines e4inzigen gröberen Puffers, wie bei Narrowcast-Verbindungen verwendet. Für den Fall, dass geordnete Narrowcast-Transaktionen erforderlich sind, sollen diese auf einem höheren Pegel implementiert werden, da keine Ordnungsgewährleistungen über Verbindungen geschaffen werden.
  • Auf alternative Weise kann eine Narrowcast-Verbindung auf Basis von Multicast-Verbindungen implementiert werden. Eine Multicast-Verbindung verbindet einen Master M mit einem oder mehreren Sklaven S1, S2. Für eine Transaktion mit einer Antwort werden alle Sklaven antworten, aber vorwiegend wird eine einzige Antwort zu dem Master zurückgeführt. Diese Filterung von Antwortnachrichten kann von einer aktiven Netzwerkschnittstelle ANIP assoziiert mit dem Master, durchgeführt werden. Auf alternative Weise kann eine Narrowcast-Verbindung durch Implementierung eines Transaktionsfilters bei den Sklaven erreicht werden, d. h. die Filterung wird durch eine passive Netzwerkschnittstelle PNIP assoziiert mit dem Sklaven durchgeführt. Die PNIP entscheidet eine Transaktion ggf. zu dem assoziierten Sklaven weiter zu leiten, und zwar abhängig von der Transaktionsadresse. Aber da eine Multicast-Verbindung von jedem Sklaven eine Antwort erwartet, müssen die PNIP leere Antworten enthalten, die dann von dem ANIP oder dem Modul gefiltert werden können. Dieses Schema ermöglicht eine einfache Programmierung des Masters, da vorwiegend eine einzige Verbindung betroffen ist. Die Neuverwendbarkeit der Entwürfe der Mastermodule M wird auch gesteigert, da es keine Notwendigkeit gibt, auf die Adressenzuordnung bei den betreffenden Sklaven zu achten. Es wird aber ein wesentlicher Betrag an unnötigem Netzwerkverkehr, d. h. dem Verkehr zu und von den nicht adressierten Sklaven, erzeugt, für die Pufferung auch erforderlich ist. Zum Schluss kann, da die Anträge jedem Sklaven zugesendet werden, eine Feinabstimmung der differenziellen Bandbreitenzuordnung je Sklave durchgeführt werden.
  • Eine Transaktion ohne Antwort (beispielsweise ein verschicktes Schreiben) gilt als komplett, wenn sie von dem Sklaven durchgeführt worden ist. Wenn es keine Antwortnachricht zu dem Master gibt, kann keine Garantie in Bezug auf die Vervollständigung der Transaktion gegeben werden.
  • Eine Transaktion mit einer Antwort (beispielsweise einem bestätigten Schreiben) heißt als komplett, wenn eine RETSTAT Nachricht von dem ANIP. Man soll bedenken, dass wenn Daten als eine Antwort (RETDATA) empfangen werden, auch eine RETSTAT (möglicherweise implizit) empfangen wird, und zwar zur Bewertung der Daten. Die Transaktion kann entweder erfolgreich durchgeführt werden, wobei in dem Fall ein Erfolg RESTAT zurück gesendet wird, mangelhaft in der Durchführung bei dem Sklaven, und danach wird ein Durchführungsfehler RESTAT zurückgesendet, oder mangelhaft und zwar wegen Pufferüberfluss in einer Verbindung mit dem Mangel an Flusssteuerung, und danach wird ein Überflussfehler gemeldet. Es wird vorausgesetzt, dass wenn ein Sklave eine CMD akzeptiert, wobei um eine Antwort gebeten wird, der Sklave immer die Antwort erzeugt.
  • In dem Netzwerk lassen Router keine Datenfallen, deswegen wird immer garantiert, dass Nachrichten der NI geliefert werden. Für Verbindungen mit Flusssteuerung lassen auch NIen keine Daten fallen, Auf diese Weise wird Nachrichtenlieferung und folglich Transaktionsvervollständigung zu den IP in diesem Fall automatisch gewährleistet.
  • Wenn es aber keine Flusssteuerung gibt, können Nachrichten bei der Netzwerkschnittstelle fallen gelassen werden, und zwar in dem Fall von Pufferüberfluss. Alle CMD, OUTDATA und RETDATA können bei der NI fallen gelassen werden. Um eine Transaktionsvervollständigung zu gewährleisten darf RETSTAT nicht fallen gelassen werden. Folglich muss in den ANIPen genügend Pufferraum vorgesehen werden um RETSTAT Nachrichten für alle noch nicht erledigten Transaktionen unterzubringen. Dies wird dadurch erzwungen, dass die Anzahl nicht erledigter Transaktionen begrenzt wird.
  • Nun werden die Ordnungsanforderungen zwischen den verschiedenen Transaktionen innerhalb einer einzigen Verbindung beschrieben. Über verschiedene Verbindungen wird keine Ordnung von Transaktionen in der Transportschicht definiert.
  • Es gibt verschiedene Punkte in einer Verbindung, wo die Reihenfolge von Transaktionen wahrgenommen werden kann: (a) die Reihenfolge, in der das Mastermodul M, I CDM Nachrichten zu dem ANIP präsenti9ert, (b) die Reihenfolge, in der die CMD dem Sklavenmodul T, S durch den PNIP geliefert werden, (c) die Reihenfolge, in der das Sklavenmodul T, S die Antworten zu dem PNIP präsentiert, und (d) die Reihenfolge, in der die Antworten dem Master von dem ANIP geliefert werden. Es sei bemerkt, dass nicht alle (b), (c) und (d) immer anwesend sind. Weiterhin gibt es keine Voraussetzungen über die Reihenfolge, in der die Sklaven Transaktionen durchführen; nur die Reihenfolge der Antworten kann wahrgenommen werden. Die Reihenfolge der Durchführung der Transaktionen durch die Sklaven wird als Systementscheidung betrachtet, und nicht als Teil des Verbindungsprotokolls.
  • Bei ANIPen und PNIPen dürfen ausgehende Nachrichten, die zu verschiedenen Transaktionen über dieselbe Verbindung gehören, verschachtelt werden. So können beispielsweise zwei Schreibbefehle ausgegeben werden, und nur nachher deren Daten. Wenn die Reihenfolge von AUTDATA Nachrichten von der Reihenfolge von CMD Nach richten abweicht, müssen Transaktionsidentifizierer eingeführt werden um AUTODATA mit ihrer entsprechenden CMD zu assoziieren.
  • Ausgehende Nachrichten können von den PNIPen zu den Sklaven geliefert werden (siehe b), und zwar wie folgt:
    • – Ungeordnet, was voraussetzt: keine Reihenfolge in der Lieferung der ausgehenden Nachrichten verschiedener Transaktionen bei den PNIPen.
    • – Örtlich geordnet, wobei Transaktionen zu jedem PNIP geliefert werden müssen, und zwar in der Reihenfolge, in der sie gesendet wurden (a), es wird aber keine Reihenfolge über PNIPen vorausgesetzt. Örtlich geordnete Lieferung der ausgehenden Nachrichten kann entweder durch einen geordneten Datentransport geschaffen werden, oder durch Neuordnung ausgehender Nachrichten bei dem PNIP.
    • – Global geordnet, wobei Transaktionen in der Reihenfolge geliefert werden müssen, in der sie gesendet wurden, über alle PNIPe der Verbindung. Global geordnete Lieferung des ausgehenden Teils von Transaktionen erfordert einen teuren Synchronisationsmechanismus.
  • Transaktionsantwortnachrichten können von den Sklaven zu den PNIPen, als Geordnet, geliefert werden (c), wenn REYDATA und RETSTAT Nachrichten in derselben Reihenfolge zurückgesendet werden wie die CMD zu dem Sklaven geliefert wurden (b) oder sonst als Ungeordnet. Wenn Antworten ungeordnet werden, soll es einen Mechanismus geben zum Identifizieren der Transaktion, zu der eine Antwort gehört. Dies erfolgt meistens unter Verwendung von Etiketten auf Nachrichten für Transaktionsidentifikationen (entsprechend Etikette in VCI).
  • Antwortnachrichten können von dem ANIP zu dem Master geliefert werden (siehe d), und zwar wie folgt:
    • – Ungeordnet, was voraussetzt, dass es keine Ordnung gibt bei der Lieferung von Antworten, Auch in diesem Fall müssen Etikette verwendet werden um Antworten mit ihren entsprechenden CMDen zu assoziieren.
    • – Örtlich geordnet, wobei RETDATA und RETSTAT Nachrichten von Transaktionen für einen einzigen Sklaven in der Reihenfolge geliefert werden, in der die ursprünglichen CMD von dem Master zu dem ANIP geliefert wurden. Es sei bemerkt, dass es keine Ordnung gibt, die Transaktionen zu verschiedenen Sklaven innerhalb derselben Verbindung auferlegt wurden. Global geordnet, wobei alle Antworten in einer Verbindung zu dem Master in derselben Reihenfolge geliefert werden wie die ursprünglichen CMD. Wenn Transaktionen in einer Pipeline zu einer Verbindung liegen, dann erfordert eine global geordnete Lieferung von Antworten eine Neuordnung bei dem ANIP.
  • Alle 3 × 2 × 3 = 18 Kombinationen zwischen den oben genannten Ordnungen sind möglich. Außerdem definieren und bieten wir die nachfolgenden zwei. Eine ungeordnete Verbindung ist eine Verbindung, in der keine Ordnung in einem Teil der Transaktionen vorausgesetzt wird. Dadurch müssen die Antworten mit einem Etikett versehen werden, damit man imstande ist, zu identifizieren, zu welcher Transaktion sie gehören. Da Implementieren ungeordneter Verbindungen ist preisgünstig, aber es kann schwieriger sein sie zu verwenden, und sie führen das Anbringen von Etiketten ein.
  • Eine geordnete Verbindung wird als eine Verbindung identifiziert mit örtlicher Ordnung für die ausgehenden Nachrichten von PNIPen zu Sklaven, geordneten Antworten bei den PNIPen, und globaler Ordnung für Antworten bei dem ANIP. Wir wählen örtliche Ordnung für den ausgehenden Teil, weil die globale Ordnung zu hohen Kosten mit sich bringt, und wenig Gebrauchsmöglichkeiten bietet. Die Ordnung der Antworten wird selektiert um ein einfaches Programmierungsmodell ohne Etikette zu ermöglichen. Eine Globale Ordnung beim ANIP ist möglich zu mäßigen Kosten, weil die ganze Ordnung örtlich in dem ANIP erfolgt. Ein Benutzer kann Verbindungen mit globaler Ordnung von ausgehenden und Rückkehrnachrichten bei den PNIPen unter Verwendung von nicht in der Pipeline liegenden bestätigten Transaktionen auf Kosten hoher Latenz emulieren.
  • In dem Netzwerk kann Durchsatz für Verbindungen in einer TDMA-Weise reserviert werden, wobei Bandbreite in Schlitze fester Größe in einem festen Zeitplan aufgeteilt werden. Bandbreite, sowie Begrenzungen von Latenz und Jitter können gewährleistet werden, wenn Schlitze reserviert werden. Sie werden alle in Vielfachen der Schlitze definiert.
  • Wie oben bereits erwähnt, gewährleistet das Netzwerk, dass Nachrichten dem NL geliefert werden. Nachrichten von einem der NIPe sind bei dem anderen NIP nicht unmittelbar sichtbar, und zwar wegen der Mehrfachsprungart von Netzwerken. Folglich würden Handshakes über ein Netzwerk erlauben, dass jeweils nur eine einzige Nachricht übertragen wird. Dies begrenzt den Durchsatz bei einer Verbindung und fügt Latenz zu den Transaktionen hinzu. Um dieses Problem zu lösen und eine bessere Netzwerkbenutzung zu erzielen müssen die Nachrichten über eine Leitung geleitet werden. In diesem Fall muss, wenn die Daten bei dem PNIP nicht mit derselben Rate verbraucht werden wie sie eintreffen, entweder eine Flusssteuerung eingeführt werden um den Erzeuger zu bremsen, oder es können Daten verloren gehen, und zwar wegen begrenzten Pufferraums bei dem Verbraucher NI.
  • Ein Satz mit NoC Diensten wird definiert, der Einzelheiten von dem Netzwerk absondert. Die Verwendung dieser Dienste in dem IP Entwurf entkoppelt Berechnung und Kommunikation. Es wird ein Antragsantworttransaktionsmodell verwendet um nahe bei bestehenden On Chip Verbindungsprotokollen zu sein. Dies vereinfacht die Migration aktueller IPs zu NoCs. Um die NoC Fähigkeiten völlig zu benutzen, wie große Bandbreite und gleichzeitig laufende Transaktionen, wird eine Verbindungsorientierte Kommunikation geschaffen. Verbindungen können unabhängig mit verschiedenen Eigenschaften konfiguriert werden. Diese Eigenschaften umfassen Transaktionsvervollständigung, mehrere Transaktionsordnungen, Bandbreitenuntergrenzen, Latenz und Jitterobergrenzen und Flusssteuerung.
  • Wie oben beschrieben haben NoCs verschiedene Eigenschaften von beiden bestehenden Off Chip Netzwerken und bestehenden On Chip Verbindungen. Dadurch können bestehende Protokolle und Dienstschnittstellen nicht unmittelbar an NoCs angepasst werden, sondern müssen die Kennzeichen von NoCs berücksichtigen. So setzt beispielsweise ein Protokoll, wie TCP/IP voraus, dass das Netzwerk verlustbehaftet ist und enthält eine wesentliche Komplexität zum eine zuverlässige Kommunikation zu schaffen. Deswegen ist es nicht geeignet in einem NoC, wo wir voraussetzen, dass Datenübertragungszuverlässigkeit bereits auf einem niedrigeren Pegel gelöst worden ist. Andererseits sind bestehende On Chip Protokolle, wie VCI, OCP, AMBA oder CoreConnect auch nicht direkt anwendbar. Sie setzen beispielsweise einen geordneten Transport von Daten voraus: wenn zwei Anträge von demselben Master ausgelöst werden, werden diese in derselben Ordnung am Ziel eintreffen. Dies gilt nicht automatisch für NoCs. Atomketten von Transaktionen und Ende-zu-Ende-Flusssteuerung brauchen auch spezielle Aufmerksamkeit in einer NoC Schnittstelle.
  • Die Module, wie diese in 1 und 2 beschrieben worden sind, können sog. IP Blöcke sein (Rechenelemente, Speicher, oder Subsysteme mit Verbindungsmodulen), die mit dem Netzwerk bei den genannten Schnittstellen NI zusammenarbeiten. NIs schaffen NI Porte NIP, über welche auf die Kommunikationsdienste zugegriffen werden kann. Eine NI kann verschiedene NIPs haben, mit denen ein oder mehrere IPs verbunden werden können. Auf gleiche Weise kann ein IP mit mehr als nur einer NI und einem NIP verbunden werden.
  • Die Kommunikation über das Netzwerk erfolgt durch die Netzwerkschnittstellen bei Verbindungen, d. h. das Auslöser- und das Zielmodul sind unsichtbar für das Netzwerk. Es werden Verbindungen eingeführt um Kommunikation mit verschiedenen Eigenschaften zu beschreiben, wie garantierten Durchsatz, begrenzte Latenz und begrenzten Jitter, geordneten Lieferung, oder Flusssteuerung. Um beispielsweise Kommunikation von 1 Mbs und 25 Mbs zu unterscheiden und unabhängig zu gewährleisten, können zwei Verbindungen verwendet werden. Zwei NIPe können durch mehrere Verbindungen verbunden werden, möglicherweise mit verschiedenen Eigenschaften. Verbindungen, wie hier definiert, entsprechen dem Konzept von Drähten und Verbindungen von OCP und VCI. Dort, wo OCP und VCI Verbindungen nur zum Entspannen der Transaktionsordnung verwendet werden, verallgemeinern wir von nur der Ordnungseigenschaft um die Konfiguration der Pufferung und der Flusssteuerung, den garantierten Durchsatz und die begrenzte Latenz je Verbindung einzuschließen.
  • Die Verbindungen nach den Ausführungsformen der vorliegenden Erfindung müssen zunächst geschaffen oder mit den gewünschten Eigenschaften gebaut werden, bevor sie verwendet werden können. Dies kann zu Mittelreservierungen innerhalb des Netzwerkes führen (beispielsweise Pufferraum oder einen Prozentsatz der Verwendung der Verbindung je Zeiteinheit). Wenn die beantragten Mittel nicht verfügbar sind, wird das Netzwerk RN den Antrag verweigern. Nach Gebrauch werden die Verbindungen geschlossen, was zu einer Freigabe der Mittel führt, die durch die Verbindung besetzt waren.
  • Um mehr Flexibilität in der Gestaltung von Verbindungen zu ermöglichen und folglich eine bessere Mittelzuordnung je Verbindung zu schaffen können die ausgehenden und zurückkehrenden Teile der Verbindungen unabhängig voneinander konfiguriert werden. So kann beispielsweise ein anderer Betrag an Pufferraum in den NIPen bei dem Master und den Sklaven zugeordnet werden, oder es können andere Bandbreiten für Antrage und Antworten reserviert werden.
  • Kommunikation erfolgt bei Verbindungen unter Verwendung von Transaktionen, bestehend aus einem Antrag und möglicherweise einer Antwort. Der Antrag codiert einen Vorgang (beispielsweise Lesen, Schreiben, Entleeren, Testen und Einstellen, Null-Operation) und trägt möglicherweise ausgehende Daten (beispielsweise für Schreibbefehle). Die Antwort bringt Daten zurück als Ergebnis eines Befehls (beispielsweise Lesen) und/oder einer Bestätigung. Verbindungen betreffen wenigstens zwei NIPe. Transaktionen an einer Verbindung werden immer an einem und nur an einem der NIPe, der als aktiver NIP (ANIP) der Verbindung bezeichnet wird. Alle anderen NIPe der Verbindung werden als passive NIPe (PNIP) bezeichnet.
  • Es können viele Transaktionen gleichzeitig aktiv sein bei einer Verbindung, aber allgemeiner als für aufgeteilte Busse. Das heißt, Es können Transaktionen bei dem ANIP einer Verbindung gestartet werden, während Antworten für frühere Transaktionen noch ausstehen. Wenn eine Verbindung viele Sklaven hat, können viele Transaktionen nach verschiedenen Sklaven ausgelöst werden. Transaktionen werden auch zwischen einem einzigen Master-Sklavenpaar über Leitung erledigt, und zwar für Anträge sowie für Antworten. Im Grunde können Transaktionen auch innerhalb eines Sklaven über Leitung erledigt werden, wenn der Sklave dies erlaubt.
  • Eine Transaktion kann aus den nachfolgenden Nachrichten zusammengestellt werden:
    • – Es wird eine Befehlsnachricht (CMD) von dem ANIP gesendet und diese Nachricht beschreibt die bei dem mit dem PNIP verbundenen Sklaven durchzuführende Aktion. Beispiele von Befehlen sind Lesen, Schreiben, Testen und Einstellen, sowie Abführen. Befehle sind die einzigen Nachrichten, die in einer Transaktion obligatorisch sind. Für NIPe, die nur einen einzigen Befehl ohne Parameter (beispielsweise adresslose Schreiben fester Größe) erlauben, setzen wir voraus, dass es die Befehlsnachricht noch immer gibt, sogar wenn sie implizit ist (d. h. nicht explizit von dem IP gesendet wurde).
    • – Eine OUTDATA-Nachricht wird von dem ANIP gesendet, einem Befehl folgend, der erfordert, dass Daten durchgeführt werden (beispielsweise Schreiben, Multicast, und Testen-und-Einstellen).
    • – Eine Rücksendedatennachricht (RETDATA) wird von einem PNIP gesendet als eine Folge einer Transaktionsdurchführung, die Daten erzeugt (beispielsweise Lesen, und Testen-und-Einstellen).
    • – Eine Vervollständigungsbestätigungsnachricht (RETSTAT) ist eine fakultative Nachricht, die von PNIP zurück gesendet wird, wenn ein Befehl erledigt worden ist. Sie kann entweder eine erfolgreiche Beendigung einer einen Fehler signalisieren. Für Transaktionen mit RETDATA und RETSTAT können die zwei Nachrichten der Effizienz wegen zu einer einzigen Nachricht kombiniert werden. Aber selbstverständlich bestehen sie beide: RETSTAT zum Signalisieren des Vorhandenseins von Daten oder eines Fehlers, und RETDATA zum Tragen der Daten. In busbasierten Schnittstellen bestehen RETDATA und RETSTAT typischerweise als zwei einzelne Signale.
  • Nachrichten, die eine Transaktion bilden, werden in ausgehende Nachrichten, und zwar CMD und OUTDATA, und Antwortnachrichten, und zwar RETDATA, RETSTAT aufgeteilt. Innerhalb einer Transaktion geht allen anderen Nachrichten CMD vorher, und RETDATA geht RETSTAT vorher, wenn vorhanden. Diese Regeln gelten zwischen Master und ANIP, und PNIP und Sklave.
  • Es sei bemerkt, dass die oben genannten Ausführungsformen die vorliegende Erfindung illustrieren und dass der Fachmann imstande sein wird, viele alternative Ausführungsformen zu entwerfen. In den Ansprüchen sollen eingeklammerte Bezugszeichen nicht als den Anspruch begrenzend betrachtet werden. Das Wort "enthalten" schließt das Vorhandensein von Elementen und Verfahrensschritten anders als die in einem Anspruch genannten nicht aus.

Claims (5)

  1. Integrierte Schaltung mit einer Anzahl Module (M, S), und mit einem Netzwerk (N) vorgesehen zum Übertragen von nachrichten zwischen den genannten Modulen (M, S), wobei eine von einem ersten Modul (M) ausgelieferte Nachricht erste Information enthält, die für eine Stelle eines adressierten Moduls innerhalb des Netzwerkes indikativ ist, und zweite Information, die für eine Stelle innerhalb des adressierten Moduls (S) indikativ ist, wobei wenigstens ein Netzwerkschnittstellenmittel (ANIP, PNIP) zwischen einem der Module (M, S) und dem Netzwerk (N) gekoppelt ist, und zwar zum Verwalten der Kommunikation zwischen dem genannten assoziierten Modul (M, S) und dem Netzwerk (N), gekennzeichnet durch wenigstens ein Adressenübersetzungsmittel (AT), vorgesehen in einem der genannten Schnittstellenmittel (ANIP, PNIP) zum Gliedern der ersten und der zweiten Information als eine einzige Adresse, wobei das genannte Adressenübersetzungsmittel (AT) dazu vorgesehen ist, zu ermitteln, welches Modul auf Basis der genannten einzigen Adresse adressiert ist, und wobei die Netzwerkschnittstelle die selektierte Stelle des adressierten Moduls (S) auf Basis der genannten einzigen Adresse ermittelt.
  2. Integrierte Schaltung nach Anspruch 1, wobei das genannte Adressenübersetzungsmittel (AT) in dem genannten Schnittstellenmittel (ANIP, PNIP) vorgesehen ist, das mit dem genannten ersten Modul (M) assoziiert ist.
  3. Integrierte Schaltung nach Anspruch 1 oder 2, wobei das genannte Adressenübersetzungsmittel (AT) eine Adressenabbildungstabelle (AMT) aufweist.
  4. Integrierte Schaltung nach Anspruch 3, wobei die genannte Adressenabbildungstabelle (AMT) Felder für jeden Kanal einer Verbindung enthält, für Netzwerkschnittstellenporten (ANIP, PNIP) einer Verbindung, und für örtliche Adressen in adressierten Modulen (S).
  5. Verfahren zum Austauschen von Nachrichten in einer integrierten Schaltung mit einer Anzahl Module (M, S), wobei die Nachrichten zwischen den Modulen (M, S) über ein Netzwerk (N), das sich in der integrierten Schaltung befindet, ausgetauscht werden, wobei eine von einem Modul (M) ausgelieferte Nachricht erste Information enthält, die für eine Stelle eines adressierten Moduls (S) innerhalb des Netzwerkes indikativ ist, und zweite Information, die für eine Stelle innerhalb des adressierten Moduls (S) indikativ ist, wobei das Verfahren durch die nachfolgenden Verfahrensschritte gekennzeichnet wird: – das Verwalten der Kommunikation zwischen einem Modul (M, S) und dem Netzwerk durch eine Netzwerkschnittstelle (ANIP, PNIP), die zwischen einem der Module (M, S) und dem Netzwerk (N) gekoppelt ist, – das Gliedern der ersten und der zweiten Information als eine einzige Adresse, – das Ermitteln, welches Modul auf Basis der genannten einzigen Adresse adressiert ist, und – das Ermitteln der selektierten Stelle des adressierten Moduls (S) auf Basis der genannten einzigen Adresse.
DE60316458T 2002-10-08 2003-07-04 Integrierter schaltkreis und verfahren zum erstellen von transaktionen Expired - Lifetime DE60316458T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02079196 2002-10-08
EP02079196 2002-10-08
PCT/IB2003/003036 WO2004034676A1 (en) 2002-10-08 2003-07-04 Integrated circuit and method for establishing transactions

Publications (2)

Publication Number Publication Date
DE60316458D1 DE60316458D1 (de) 2007-10-31
DE60316458T2 true DE60316458T2 (de) 2008-06-26

Family

ID=32088020

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60316458T Expired - Lifetime DE60316458T2 (de) 2002-10-08 2003-07-04 Integrierter schaltkreis und verfahren zum erstellen von transaktionen
DE60316587T Expired - Lifetime DE60316587T2 (de) 2002-10-08 2003-10-07 Integrierter schaltkreis und verfahren zum erstellen von transaktionen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60316587T Expired - Lifetime DE60316587T2 (de) 2002-10-08 2003-10-07 Integrierter schaltkreis und verfahren zum erstellen von transaktionen

Country Status (10)

Country Link
US (3) US7769893B2 (de)
EP (3) EP1552669B1 (de)
JP (3) JP2006502642A (de)
KR (1) KR101016987B1 (de)
CN (5) CN1689312B (de)
AT (2) ATE373922T1 (de)
AU (3) AU2003299282A1 (de)
DE (2) DE60316458T2 (de)
TW (1) TWI307840B (de)
WO (3) WO2004034676A1 (de)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1652096A1 (de) * 2003-07-30 2006-05-03 Koninklijke Philips Electronics N.V. Integrierte schaltung mit dynamischer kommunikaitons-dienstauswahl
JP4598051B2 (ja) * 2004-03-03 2010-12-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理ユニットがネットワークを介し通信するデータ処理回路
KR20070010152A (ko) * 2004-04-26 2007-01-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 트랜잭션을 발행하기 위한 집적 회로 및 방법
JP2007538331A (ja) * 2004-05-18 2007-12-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及びバッファリング方法
EP1605727A1 (de) * 2004-06-09 2005-12-14 Koninklijke Philips Electronics N.V. Integrierte Schaltungsanordnung und Verfahren zur Zuordnung von Zeitlagen
FR2875982B1 (fr) * 2004-09-28 2006-12-22 Commissariat Energie Atomique Architecture de communication semi-automatique noc pour applications "flots de donnees"
US7596653B2 (en) * 2004-11-08 2009-09-29 Intel Corporation Technique for broadcasting messages on a point-to-point interconnect
US20080123666A1 (en) * 2004-11-09 2008-05-29 Nxp B.V. Electronic Device And Method Of Communication Resource Allocation
WO2006059284A1 (en) * 2004-12-01 2006-06-08 Koninklijke Philips Electronics N.V. Data processing system and method for converting and synchronising data traffic
US7711787B2 (en) * 2004-12-15 2010-05-04 Electronics And Telecommunications Research Institute On-chip network interfacing apparatus and method
EP1869844A1 (de) * 2005-04-06 2007-12-26 Koninklijke Philips Electronics N.V. Network-on-chip-umgebung und verfahren zur latenzreduktion
WO2006106476A1 (en) * 2005-04-07 2006-10-12 Koninklijke Philips Electronics N. V. Network-on-chip environment and method for reduction of latency
US20090122703A1 (en) * 2005-04-13 2009-05-14 Koninklijke Philips Electronics, N.V. Electronic Device and Method for Flow Control
DE602006005925D1 (de) * 2005-06-03 2009-05-07 Koninkl Philips Electronics Nv Elektronische vorrichtung und verfahren zur kommunikationsressourcenzuteilung
EP1744497B1 (de) * 2005-07-14 2008-01-23 Interuniversitair Microelektronica Centrum Vzw Verfahren zum Verwalten einer Vielzahl von virtuellen Verbindungen zur gemeinsamen Nutzung auf einer Verbindungsleitung und Netzwerk zur Implementierung dieses Verfahrens
KR100653087B1 (ko) * 2005-10-17 2006-12-01 삼성전자주식회사 AXI가 적용된 NoC 시스템 및 그 인터리빙 방법
US7802040B2 (en) * 2005-12-22 2010-09-21 Arm Limited Arbitration method reordering transactions to ensure quality of service specified by each transaction
JP4611901B2 (ja) * 2006-01-16 2011-01-12 株式会社ソニー・コンピュータエンタテインメント 信号伝送方法、ブリッジユニット、および情報処理装置
JP4372110B2 (ja) * 2006-02-10 2009-11-25 エヌイーシーコンピュータテクノ株式会社 データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
FR2898753B1 (fr) * 2006-03-16 2008-04-18 Commissariat Energie Atomique Systeme sur puce a controle semi-distribue
FR2900017B1 (fr) * 2006-04-12 2008-10-31 Arteris Sa Systeme d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
FR2904445B1 (fr) * 2006-07-26 2008-10-10 Arteris Sa Systeme de gestion de messages transmis dans un reseau d'interconnexions sur puce
US7961605B2 (en) * 2006-07-31 2011-06-14 International Business Machines Corporation System and method for enabling management of a plurality of messages in a communication network
US8045573B2 (en) 2006-08-16 2011-10-25 Arm Limited Bit ordering for packetised serial data transmission on an integrated circuit
KR100737943B1 (ko) * 2006-09-13 2007-07-13 삼성전자주식회사 네트워크-온-칩 응답 신호 제어 장치 및 그 방법
US8689244B2 (en) * 2007-01-26 2014-04-01 Objective Interface Systems, Inc. Hardware communications infrastructure supporting location transparency and dynamic partial reconfiguration
US8248073B2 (en) 2007-04-06 2012-08-21 Nec Corporation Semiconductor integrated circuit and testing method therefor
US7860085B2 (en) * 2007-05-14 2010-12-28 Alcatel Lucent Dual OSS management of an Ethernet access network
CN101075961B (zh) * 2007-06-22 2011-05-11 清华大学 片上网络设计用的一种自适应打包方法
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
US20090125706A1 (en) * 2007-11-08 2009-05-14 Hoover Russell D Software Pipelining on a Network on Chip
US20090125703A1 (en) * 2007-11-09 2009-05-14 Mejdrich Eric O Context Switching on a Network On Chip
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) * 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
JP4554703B2 (ja) * 2007-12-27 2010-09-29 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
US8473667B2 (en) * 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8490110B2 (en) * 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US20110029706A1 (en) * 2008-04-09 2011-02-03 Nxp B.V. Electronic device and method for controlling an electronic device
US20090260013A1 (en) * 2008-04-14 2009-10-15 International Business Machines Corporation Computer Processors With Plural, Pipelined Hardware Threads Of Execution
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8423715B2 (en) * 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8214845B2 (en) * 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US8392664B2 (en) * 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US20090282211A1 (en) * 2008-05-09 2009-11-12 International Business Machines Network On Chip With Partitions
US20090282419A1 (en) * 2008-05-09 2009-11-12 International Business Machines Corporation Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
US8494833B2 (en) * 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US8230179B2 (en) * 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8195884B2 (en) * 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
FR2945396A1 (fr) * 2009-05-07 2010-11-12 St Microelectronics Grenoble 2 Procede et dispositif d'analyse de la propagation de transactions dans un reseau multi-protocoles d'un systeme sur puce
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
KR101563195B1 (ko) 2009-08-18 2015-10-27 삼성전자주식회사 호스트 장치 및 슬레이브 장치 제어 방법
US8204731B2 (en) * 2010-03-01 2012-06-19 Himax Technologies Limited Signal analyzing method for electronic device having on-chip network and off-chip network
US8819116B1 (en) * 2010-03-08 2014-08-26 Amazon Technologies, Inc. Providing services using a device capabilities service
US8861410B2 (en) 2011-10-31 2014-10-14 Qualcomm Incorporated Method and apparatus for scalable network transaction identifier for interconnects
US8640230B2 (en) 2011-12-19 2014-01-28 International Business Machines Corporation Inter-thread communication with software security
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
JP2013196167A (ja) 2012-03-16 2013-09-30 Toshiba Corp 情報処理装置
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8838861B2 (en) 2012-05-09 2014-09-16 Qualcomm Incorporated Methods and apparatuses for trace multicast across a bus structure, and related systems
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US9471538B2 (en) 2012-09-25 2016-10-18 Qualcomm Technologies, Inc. Network on a chip socket protocol
CN104685480B (zh) * 2012-09-25 2017-07-14 高通科技公司 关于芯片套接字协议的网络
EP2741452A1 (de) * 2012-12-10 2014-06-11 Robert Bosch Gmbh Verfahren zur Datenübertragung unter ECUs und/oder Messvorrichtungen
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US9270659B2 (en) 2013-11-12 2016-02-23 At&T Intellectual Property I, L.P. Open connection manager virtualization at system-on-chip
US9456071B2 (en) 2013-11-12 2016-09-27 At&T Intellectual Property I, L.P. Extensible kernel for adaptive application enhancement
US9602587B2 (en) * 2014-06-26 2017-03-21 Altera Corporation Multiple plane network-on-chip with master/slave inter-relationships
US9747239B2 (en) 2014-08-25 2017-08-29 Apple Inc. Transaction filter for on-chip communications network
US10078356B2 (en) * 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
US10243882B1 (en) * 2017-04-13 2019-03-26 Xilinx, Inc. Network on chip switch interconnect
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
CN109302296B (zh) * 2018-10-10 2020-12-29 上海保险交易所股份有限公司 用于在区块链网络中广播消息的方法、设备和存储介质
CN114077568A (zh) * 2020-08-18 2022-02-22 Oppo广东移动通信有限公司 核间通信方法、装置、电子组件以及电子设备
CN116389357B (zh) * 2023-06-06 2023-09-29 太初(无锡)电子科技有限公司 基于片上网络的空洞地址处理方法、装置、设备及介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570220A (en) 1983-11-25 1986-02-11 Intel Corporation High speed parallel bus and data transfer method
US4807118A (en) * 1987-01-14 1989-02-21 Hewlett-Packard Company Method for handling slot requests over a network
US4842740A (en) 1988-08-05 1989-06-27 Hoechst Celanese Corporation Membranes prepared from blend of polybenzimidazole with polyarylates
US5098985A (en) 1988-10-11 1992-03-24 The Dow Chemical Company Copolymers containing polybenzoxazole, polybenzothiazole and polybenzimidazole moieties
US5212652A (en) * 1989-08-15 1993-05-18 Advanced Micro Devices, Inc. Programmable gate array with improved interconnect structure
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US5341369A (en) 1992-02-11 1994-08-23 Vitesse Semiconductor Corp. Multichannel self-routing packet switching network architecture
JP2675968B2 (ja) * 1992-08-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 加入者分散2相コミット・プロトコルの拡張機能
CN1174619A (zh) * 1995-02-17 1998-02-25 尢罗佩国际公司 由集成电路控制的事务管理系统
EP0753979A1 (de) * 1995-07-13 1997-01-15 International Business Machines Corporation Methode und System für Wegesuche in einem schnellen Paketvermittlungsnetzwerk
US5887146A (en) 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
US6400715B1 (en) * 1996-09-18 2002-06-04 Texas Instruments Incorporated Network address matching circuit and method
US6018782A (en) * 1997-07-14 2000-01-25 Advanced Micro Devices, Inc. Flexible buffering scheme for inter-module on-chip communications
JP3815841B2 (ja) * 1997-03-28 2006-08-30 ローム株式会社 IrDA変復調IC
US6248469B1 (en) 1997-08-29 2001-06-19 Foster-Miller, Inc. Composite solid polymer electrolyte membranes
US5940448A (en) 1997-09-03 1999-08-17 National Semiconductor Corporation Universal serial bus receiver having input signal skew compensation
US6449273B1 (en) * 1997-09-04 2002-09-10 Hyundai Electronics America Multi-port packet processor
US6446173B1 (en) * 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
JPH11187031A (ja) * 1997-12-19 1999-07-09 Fujitsu Ltd Atm交換機
US6256740B1 (en) * 1998-02-06 2001-07-03 Ncr Corporation Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric
US6339788B1 (en) * 1998-06-12 2002-01-15 International Business Machines Corporation Method for encapsulating hardware to allow multi-tasking of microcode
US6311212B1 (en) 1998-06-27 2001-10-30 Intel Corporation Systems and methods for on-chip storage of virtual connection descriptors
US6717910B1 (en) * 1998-09-30 2004-04-06 Stmicroelectronics, Inc. Method and apparatus for controlling network data congestion
DE19851498A1 (de) 1998-11-09 2000-07-06 Aventis Res & Tech Gmbh & Co Polymerzusammensetzung, Membran enthaltend diese, Verfahren zu deren Herstellung und deren Verwendung
US6539450B1 (en) * 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6381638B1 (en) * 1999-02-24 2002-04-30 3Com Corporation System and method for options based address reuse
EP1083768A1 (de) * 1999-09-08 2001-03-14 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Verfahren zur Erleichterung der Datenübertragung
US6768742B1 (en) * 1999-10-08 2004-07-27 Advanced Micro Devices, Inc. On-chip local area network
US6594704B1 (en) * 1999-12-15 2003-07-15 Quarry Technologies Method of managing and using multiple virtual private networks in a router with a single routing table
US6769046B2 (en) * 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
JP3623712B2 (ja) * 2000-03-16 2005-02-23 日本電気エンジニアリング株式会社 バッファ制御システム及びその方法並びにその制御プログラム記録媒体
US6813275B1 (en) 2000-04-21 2004-11-02 Hewlett-Packard Development Company, L.P. Method and apparatus for preventing underflow and overflow across an asynchronous channel
CA2415614A1 (en) 2000-06-02 2001-12-13 David L. Olmeijer Polymer membrane composition
GB2363480B (en) * 2000-06-13 2002-05-08 Siroyan Ltd Predicated execution of instructions in processors
US6629166B1 (en) * 2000-06-29 2003-09-30 Intel Corporation Methods and systems for efficient connection of I/O devices to a channel-based switched fabric
DE10052242A1 (de) 2000-10-21 2002-05-02 Celanese Ventures Gmbh Mit Säure dotierte, ein- oder mehrschichtige Kunststoffmembran mit Schichten aufweisend Polymerblends umfassend Polymere mit wiederkehrenden Azoleinheiten, Verfahren zur Herstellung solche Kunststoffmembranen sowie deren Verwendung
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US20020144078A1 (en) * 2001-03-30 2002-10-03 Siroyan Limited Address translation
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US7165128B2 (en) * 2001-05-23 2007-01-16 Sony Corporation Multifunctional I/O organizer unit for multiprocessor multimedia chips
US6910092B2 (en) * 2001-12-10 2005-06-21 International Business Machines Corporation Chip to chip interface for interconnecting chips
US7389319B2 (en) * 2002-03-22 2008-06-17 Sun Microsystems, Inc. Adaptive connection routing over multiple communication channels
US6885638B2 (en) * 2002-06-13 2005-04-26 Motorola, Inc. Method and apparatus for enhancing the quality of service of a wireless communication
US7099983B2 (en) * 2002-11-25 2006-08-29 Lsi Logic Corporation Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process
US6825688B1 (en) * 2003-08-15 2004-11-30 Lsi Logic Corporation System for yield enhancement in programmable logic
US7219209B2 (en) * 2003-08-29 2007-05-15 Motorola, Inc. Bus filter for memory address translation

Also Published As

Publication number Publication date
ATE373922T1 (de) 2007-10-15
CN100342370C (zh) 2007-10-10
CN1688990A (zh) 2005-10-26
CN1689312A (zh) 2005-10-26
DE60316458D1 (de) 2007-10-31
WO2004034176A2 (en) 2004-04-22
AU2003299282A1 (en) 2004-05-04
EP1552399A2 (de) 2005-07-13
WO2004034676A1 (en) 2004-04-22
EP1552669B1 (de) 2007-09-19
EP1552411A2 (de) 2005-07-13
US20060041888A1 (en) 2006-02-23
TW200419358A (en) 2004-10-01
US20060095920A1 (en) 2006-05-04
CN1703881A (zh) 2005-11-30
CN1689312B (zh) 2010-04-14
AU2003299454A1 (en) 2004-05-04
CN100367250C (zh) 2008-02-06
DE60316587D1 (de) 2007-11-08
CN100370443C (zh) 2008-02-20
JP4560409B2 (ja) 2010-10-13
EP1552669A1 (de) 2005-07-13
ATE374399T1 (de) 2007-10-15
US7366818B2 (en) 2008-04-29
US20060041889A1 (en) 2006-02-23
AU2003267730A8 (en) 2004-05-04
US7373449B2 (en) 2008-05-13
JP2006502650A (ja) 2006-01-19
WO2004034176A3 (en) 2004-08-19
US7769893B2 (en) 2010-08-03
EP1552399B1 (de) 2007-09-26
KR101016987B1 (ko) 2011-02-25
DE60316587T2 (de) 2008-07-03
JP2006502487A (ja) 2006-01-19
KR20050083730A (ko) 2005-08-26
TWI307840B (en) 2009-03-21
WO2004034173A2 (en) 2004-04-22
WO2004034173A3 (en) 2004-12-16
JP2006502642A (ja) 2006-01-19
AU2003267730A1 (en) 2004-05-04
CN1703683A (zh) 2005-11-30
AU2003299454A8 (en) 2004-05-04
CN1703682A (zh) 2005-11-30

Similar Documents

Publication Publication Date Title
DE60316458T2 (de) Integrierter schaltkreis und verfahren zum erstellen von transaktionen
DE602006000516T2 (de) Architektur eines Kommunikationsknoten in einem global asynchronen Netzwerk on-chip-System
DE602005003473T2 (de) Datenverarbeitungssystem und Verfahren zur Zuordnung von Zeitlagen
DE69233588T2 (de) ATM-Vermittlungsanordnung
DE69735936T2 (de) Seriendatenschnittstellenverfahren und vorrichtung #
DE60301717T2 (de) Verfahren und Vorrichtung zur inhaltsorientierten Weiterleitung von Paketen im Netz mit Datenspeichervorrichtungen
DE3752370T2 (de) Vermittlungssystem
DE69631055T2 (de) Speicherschnittstelleneinheit, vermittlungssystem mit gemeinsamem speicher und verfahren dazu
CN100538691C (zh) 用于发出事务的集成电路、数据处理系统和方法
DE69737361T2 (de) Schnelle vermittlungsvorrichtung
DE60032357T2 (de) Verbindungsarchitektur um minderbandbreitige verbindungen über eine hoch-bandbreitige verkettung zu verwalten
EP0446589B1 (de) Kopierfähige ATM-Vermittlungsstelle
DE112009000899B4 (de) Verfahren und Vorrichtung zur hierarchischen Verkehrsführung in gitterbasierten Multiprozessorsystemen
DE69917555T2 (de) Vermittlungseinrichtung mit mehrstufiger Warteschlangeschema
DE69732070T2 (de) Telekommunikationsnetzwerk basierend auf verteilter Kontrolle
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE602005005974T2 (de) Fehlertolerante Schaltmatrix mit einer Ebene für ein Telekommunikationssystem
DE112014003287T5 (de) Dynamische Bildung von symmetrischen Multiprozessordomänen (SMP-Domänen)
DE112004002043B4 (de) Verfahren, System und Programm zum Aufbau eines Pakets
DE102004024130B4 (de) Speichersystem und Verfahren zum Betrieb eines Speichersystems
EP1941668A1 (de) Teilnehmerschnittstelle zwischen einem flexray-kommunikationsbaustein und einem flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
DE102021127325A1 (de) Flexibles hochverfügbarkeits-computing mit parallel konfigurierbaren geweben
DE69826640T2 (de) Vermittlungsarchitektur mit zwei Koppelfelden
DE60217988T2 (de) System und Verfahren zum zeitschlitzbasierten Erlernen und Durchsuchen von ARL Tabellen mit Blockierung der Einfügung
DE112006001543T5 (de) Antwortplanung bei einem Speicherkanal

Legal Events

Date Code Title Description
8364 No opposition during term of opposition