PatentDe  


Dokumentenidentifikation DE60123134T2 30.08.2007
EP-Veröffentlichungsnummer 0001377898
Titel VERFAHREN UND VORRICHTUNG FÜR EINEN REKONFIGURIERBAREN PROZESSOR
Anmelder Intel Corp., Santa Clara, Calif., US
Erfinder KOSARAJI, Chakravarthy, Sunnyvale CA 94087, US
Vertreter Hauck Patent- und Rechtsanwälte, 80339 München
DE-Aktenzeichen 60123134
Vertragsstaaten AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LI, LU, MC, NL, PT, SE, TR
Sprache des Dokument EN
EP-Anmeldetag 13.11.2001
EP-Aktenzeichen 012708301
WO-Anmeldetag 13.11.2001
PCT-Aktenzeichen PCT/US01/43638
WO-Veröffentlichungsnummer 2002048862
WO-Veröffentlichungsdatum 20.06.2002
EP-Offenlegungsdatum 07.01.2004
EP date of grant 13.09.2006
Veröffentlichungstag im Patentblatt 30.08.2007
IPC-Hauptklasse G06F 9/00(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]
GEBIET DER ERFINDUNG

Die vorliegende Erfindung betrifft allgemein eine Veränderung der Bandbreite zwischen einer Vorrichtung bzw. einem Baustein und einem Prozessor. Im Besonderen betrifft die vorliegende Erfindung eine Vorrichtung und ein Verfahren, welche die Bandbreite zwischen einem Baustein und einem Prozessor verändern können, ohne das physikalische Komponentenlayout in dem Prozessor zu verändern.

STAND DER TECHNIK

Das parallele Verbinden bzw. Zusammenführen mehrerer Prozessoren erhöht die Verarbeitungskapazität. Für gewöhnlich kann jede Anzahl von zwei bis acht Prozessoren parallel miteinander verbunden werden. Im Allgemeinen werden mehrere parallele Prozessoren auf einem gemeinsam genutzten Bus zusammengeführt bzw. miteinander verbunden. Die Abbildung aus 1 veranschaulicht eine Architektur mit vier Prozessoren (4P), die in Verbindung mit einem gemeinsam genutzten Bus verwendet wird. Vier Prozessoren, Prozessor 1, Prozessor 2, Prozessor 3 und Prozessor 4 sind mit einem gemeinsam genutzten Bus verbunden, der wiederum mit einem Northbridge-Chipsatz verbunden ist. Der Northbridge-Chipsatz ist ferner mit einem Southbridge-Chipsatz und einem externen Speicher verbunden. Zum Beispiel kann ein PentiumTM Prozessor die in der Abbildung aus 1 veranschaulichte gemeinsam genutzte Busarchitektur einsetzen. Allerdings stellt eine Punkt-zu-Punkt-Architektur für gewöhnlich eine höhere Bandbreite bereit als eine gemeinsam genutzte Busarchitektur bereit.

Bei einer gemeinsam genutzten Busarchitektur nutzen mehrere Vorrichtungen bzw. Bausteine gemeinsam alle den gleichen Bus und müssen einer Reihenfolge bzw. Anordnung und einem Protokoll zur Nutzung des Busses folgen. Im Gegensatz dazu stellt eine Punkt-zu-Punkt-Busarchitektur eine unterbrechungsfreie Verbindung zwischen zwei separaten Bausteinen bereit. Im Allgemeinen erzeugt der Punkt-zu-Punkt-Bus somit eine höhere Bandbreite zwischen zwei separaten Bausteinen bzw. Vorrichtungen. Eine höhere Bandbreite kann den vorteilhaften Effekt einer verbesserten Leistung eines einzelnen Prozessors oder einer Gruppe von Prozessoren aufweisen. Wenn zum Beispiel eine 48-Bit-Verbindung zwischen zwei Bausteinen bzw. Vorrichtungen existiert, so erfolgen Transaktionen zwischen zwei Bausteinen dreimal schneller als wenn nur eine 16-Bit-Verbindung zwischen zwei Bausteinen existiert. Eine Punkt-zu-Punkt-Busarchitektur kann jedoch einen Nachteil aufweisen, da die Architektur eine unterbrechungsfreie Verbindung zwischen zwei separaten Bausteinen bereitstellt. Wenn somit zu einem beliebigen Zeitpunkt leichte Informationsübertragungen zwischen den beiden Bausteinen bzw. Vorrichtungen auftreten, so wird die überschüssige Bandbreitenkapazität im Wesentlichen verschwendet.

Wenn ein Kunde zum Beispiel sein Computersystem dazu verwendet, sowohl eine Workstation-Anwendung als auch eine Server-Anwendung auszuführen, so kann der Kunde unter Umständen nicht die optimale Leistung der Hardware in seinem Computersystem erreichen. Bei einer Server-Anwendung erfolgt ein starker Austausch von Informationen zwischen Prozessoren. Der Hersteller erzeugt somit eine Verbindung mit hoher Bandbreite zwischen allen Prozessoren in dem System. Wenn ein Kunde seinen Computer zum Beispiel für eine Anwendung einsetzen möchte, die einen starken Informationsaustausch zwischen Prozessoren und einem Chipsatz aufweist, wie zum Beispiel eine Workstation-Anwendung, so erzeugt der Hersteller eine Verbindung mit hoher Bandbreite zwischen jedem Prozessor und dem Chip in dem System. Wenn der Kunde bzw. Anwender jedoch ein Computersystem aufweist, das eine Verbindung mit hoher Bandbreite zwischen dem bzw. den Prozessor(en) und dem Chipsatz aufweist, sich jedoch dafür entscheidet, gerade eine Serveranwendung auf diesem System auszuführen, so kann der Kunde bezüglich der Serveranwendung eine schlechte Leistung erfahren, wobei die überschüssige Bandbreite zwischen dem Chipsatz und dem bzw. den Prozessor(en) verschwendet wird.

Das U.S. Patent US-A-6.151.689 offenbart ein Mehrprozessorensystem, so dass eine CPU über ein Routingelement mit jeder E/A-Vorrichtung oder mit jeder CPU des Systems kommunizieren kann. Zwischen beliebigen zwei Endeinheiten wie etwa einer CPU und einer anderen CPU oder einer E/A-Paketschnittstelle sind alternative Zugangspfade vorgesehen.

Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung eine Vorrichtung gemäß dem gegenständlichen Anspruch 1.

Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 4.

Vorgesehen ist gemäß einem dritten Aspekt der vorliegenden Erfindung ein System gemäß dem gegenständlichen Anspruch 7.

Weitere Ausführungsbeispiele der Erfindung sind in den Unteransprüchen ausgeführt.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

In den Zeichnungen zu der vorliegenden Erfindung zeigen:

1 eine Architektur mit vier Prozessoren (4P), die in Verbindung mit einem gemeinsam genutzten Bus eingesetzt wird;

2 ein Ausführungsbeispiel eines Prozessors mit einem Routing-Agenten, einer Protokollschicht, einer Pufferschicht und einer Informationsübertragungsschicht;

3 eine Punkt-zu-Punkt-Architektur mit zwei Prozessoren mit einer 16-Bit-Punkt-zu-Punkt-Verbindung zwischen 1) einer Ein-Ausgabe-Komponente und dem ersten Prozessor sowie 2) der Ein-Ausgabe-Komponente und dem zweiten Prozessor;

4 eine Punkt-zu-Punkt-Architektur mit zwei Prozessoren mit einer 32-Bit-Punkt-zu-Punkt-Verbindung zwischen 1) einer Ein-Ausgabe-Komponente und dem ersten Prozessor sowie 2) der Ein-Ausgabe-Komponente und dem zweiten Prozessor;

5 eine Punkt-zu-Punkt-Architektur mit vier Prozessoren mit einer 16-Bit-Punkt-zu-Punkt-Verbindung zwischen einer Ein-Ausgabe-Komponente und jedem der vier Prozessoren;

6 ein Ausführungsbeispiel des Routing-Agenten, der die eingehenden Kommunikationspfade in einem Ausführungsbeispiel der Informationsübertragungsschicht steuert;

7 ein Ausführungsbeispiel des Routing-Agenten, der die eingehenden Kommunikationspfade in einem Ausführungsbeispiel der Pufferschicht steuert;

8 ein Ausführungsbeispiel des Routing-Agenten, der die abgehenden Kommunikationspfade in einem Ausführungsbeispiel der Pufferschicht steuert; und

9 ein Ausführungsbeispiel des Routing-Agenten, der die Kommunikationspfade in einem Ausführungsbeispiel der abgehenden Informationsübertragungsschicht steuert;

In Bezug auf die vorliegende Erfindung sind verschiedene Modifikationen und alternative Ausführungen möglich, wobei in den Zeichnungen spezielle Ausführungsbeispiele als Beispiele dargestellt und nachstehend näher beschrieben sind. Hiermit wird festgestellt, dass die vorliegende Erfindung nicht auf die speziellen offenbarten Ausführungen beschränkt ist, vielmehr umfasst die Erfindung alle Modifikationen, Äquivalente und Alternativen, die dem Gedanken und Umfang der Erfindung entsprechen.

GENAUE BESCHREIBUNG DER ERFINDUNG

Der Fachmann auf dem Gebiet erkennt, dass verschiedene Abänderungen in Bezug auf die beschriebenen Ausführungsbeispiele der Erfindung möglich sind, und dass zahlreiche Modifikationen und Verbesserungen gemäß dem Umfang und dem Gedanken der Erfindung vorgenommen werden können. Zum Beispiel werden in der vorliegenden Beschreibung zur Veranschaulichung der Ausführungsbeispiele der Erfindung in verschiedenen beschriebenen Ausführungsbeispielen bestimmte Taktgeschwindigkeiten, Datenbits in bestimmter Anzahl, Schichten in bestimmter Anzahl, Komponenten in bestimmter Anzahl, etc. verwendet. Der Fachmann auf dem Gebiet erkennt jedoch, dass die Ausführungsbeispiele der vorliegenden Erfindung speziell auch verschiedene Abweichungen von der jeweils speziell angegebenen Anzahl aufweisen, die hierin zu Veranschaulichungszecken beschrieben ist.

Ein Routing-Agent kann mit einem Prozessor in einer Punkt-zu-Punkt-Architektur eingesetzt werden, um es einem Anwender bzw. Kunden zu ermöglichen, die Bandbreite oder die Anzahl der Busleitungen und der Taktgeschwindigkeit bzw. der Taktrate zwischen zwei Bausteinen bzw. Vorrichtungen zu verändern. Eine Punkt-zu-Punkt-Busarchitektur stellt eine unterbrechungsfreie bzw. ununterbrochene Verbindung zwischen zwei separaten Bausteinen bereit. Im Allgemeinen überträgt ein Protokoll auf Paketbasis Informationen in einer Punkt-zu-Punkt-Busarchitektur. Der Routing-Agent kann die effektive Bandbreite zwischen einem Prozessor und einem Baustein bzw. einer Vorrichtung außerhalb des Prozessors verändern, indem einer oder mehrere der Kommunikationspfade in dem Prozessor verändert bzw. angepasst werden können, ohne dabei das physikalische Komponentenlayout in dem Prozessor zu verändern. Die Bandbreite entspricht der Informationsmenge insgesamt, die innerhalb eines bestimmten Zeitraums zwischen zwei Vorrichtungen bzw. Bausteinen übertragen werden kann. In einem Ausführungsbeispiel kann der Hersteller oder der Anwender bzw. Kunde die Anzahl der zwischen zwei Vorrichtungen verbundenen Anschlüsse bzw. Ports verändern, um die Bandbreite zwischen den Vorrichtungen zu erhöhen. In einem Ausführungsbeispiel können der Hersteller oder der Kunde zusätzliche Prozessoren hinzufügen, die mit einer Vorrichtung verbunden werden, in dem die Anzahl der Ports bzw. Anschlüsse verändert wird, die zwischen einem ersten Prozessor und der Vorrichtung außerhalb des ersten Prozessors verbunden bzw. angeschlossen sind.

Die Abbildung aus 2 veranschaulicht ein Ausführungsbeispiel eines Prozessors 200 mit einem Routing-Agenten 202, einer Protokollschicht 204, einer Pufferschicht 206 und einer Informationsübertragungsschicht 208. In einem Ausführungsbeispiel weist der Prozessor 200 einen Routing-Agenten 202 und drei Schichten auf, die Protokollschicht 204, eine Pufferschicht 206, wie etwa eine oder mehrere Verknüpfungsschichten 210, und eine Informationsübertragungsschicht 208, wie etwa eine oder mehrere physikalische Schichten 212. Der Routing-Agent 202 verändert die Kommunikationspfade in der physikalischen Schicht 212 und der Verknüpfungsschicht 210, ohne das physikalische Komponentenlayout in dem Prozessor 200 zu verändern. Die physikalische Schicht 212 führt die eigentliche physikalische Informationsübertragung zu und von anderen Vorrichtungen bzw. Bausteinen aus. Die Verknüpfungsschicht 210 führt Verbindungsfunktionen zwischen den höheren Funktionen der Protokollschicht 204 und der physikalischen Schicht 212 aus. Die Protokollschicht 204 verarbeitet Anforderungen, Antworten und Datenübertragungen.

In einem Ausführungsbeispiel kann der Routing-Agent 202 in dem Prozessor 200 oder außerhalb des Prozessors angeordnet sein. In einem Ausführungsbeispiel steuert ein einziger Routing-Agent 202 die Kommunikationspfade in allen Schichten des Prozessors 200. In einem alternativen Ausführungsbeispiel gibt es mehrere Routing-Agenten 202 für die Steuerung der Kommunikationspfade. Der Routing-Agent 202 kann eine Kombination aus Hardware und Software darstellen. Der Routing-Agent 202 kann verschiedene Funktionen aufeisen, wie zum Beispiel das Senden eines Freigabe/Sperrsignals an eine oder mehrere Kommunikationspfad-Wechselbausteine, und das Senden eines Signals zur Veränderung verschiedener Taktgeschwindigkeiten. Die Pufferschicht 206 kann einen oder mehrere eingehende Kommunikationspfade aufweisen. Die Pufferschicht 206 kann einen oder mehrere abgehende Kommunikationspfade aufweisen. Die Informationsübertragungsschicht 208 kann einen oder mehrere eingehende Kommunikationspfade aufweisen. Die Informationsübertragungsschicht 208 kann einen oder mehrere abgehende Kommunikationspfade aufweisen.

Die Abbildung aus 3 veranschaulicht eine Punkt-zu-Punkt-Architektur 300 mit zwei Prozessoren mit einer 16-Bit-Punkt-zu-Punkt-Verbindung zwischen: 1) einer Ein-Ausgabe-Komponente 302 und einem ersten Prozessor 304 sowie 2) der Ein-Ausgabe-Komponente 302 und dem zweiten Prozessor 306. Ein erster Prozessor 304 mit vier 16-Bit-Ports 308, 310, 312, 314, die mit dem Prozessor verbunden sind, können drei 16-Bit-Ports 308, 310, 312 aufweisen, die mit einem zweiten Prozessor 306 verbunden sind, und mit einem 16-Bit-Port, der mit der Ein-Ausgabe-Komponente 302 verbunden ist 314. In einem Ausführungsbeispiel kann es sich bei der Ein-Ausgabe-Komponente um eine Brücke, einen Speicher, einen Chipsatz oder eine ähnliche Komponente handeln Somit besteht eine 48-Bit-Bandbreitenverbindung zwischen dem ersten Prozessor 304 und dem zweiten Prozessor 306. Ferner können der erste Prozessor 304 und der zweite Prozessor 306 eine 16-Bit-Bandbreitenverbindung mit der Ein-Ausgabe-Komponente 302 aufweisen. Der Routing-Agent kann die Kommunikationspfade in dem ersten Prozessor 304 verändern, so dass der Prozessor jetzt zwei 16-Bit-Punkt-zu-Punkt-(32 Bit)Verbindungen mit dem zweiten Prozessor 306 und eine 32-Bit-Verbindung mit der Ein-Ausgabe-Komponente 302 aufweist.

Die Abbildung aus 4 veranschaulicht eine Punkt-zu-Punkt-Architektur 400 mit zwei Prozessoren mit 32-Bit-Punkt-zu-Punkt-Verbindungen zwischen: 1) der Ein-Ausgabe-Komponente 402und dem ersten Prozessor 404; sowie 2) der Ein-Ausgabe-Komponente 402 und dem zweiten Prozessor 406. Ein erster Prozessor 404 mit vier 16-Biz-Ports 408, 410, 412, 414, die mit dem Prozessor verbunden sind, kann zwei 16-Bit-Ports aufweisen, die mit einem zweiten Prozessor 406 verbunden sind, und zwei 16-Bit-Ports, die mit der Ein-Ausgangs-Komponente 402 verbunden sind, wie etwa einem Chipsatz. Somit existiert eine 32-Bit-Bandbreitenverbindung zwischen dem ersten Prozessor 404 und dem zweiten Prozessor 406. Ferner weisen der erste Prozessor 404 und der zweite Prozessor 406 eine 32-Bit-Bandbreitenverbindung mit der Ein-Ausgangs-Komponente 402 auf. In dem 32-Bit-Modus im Vergleich zu dem 16-Bit-Modus ist die Bandbreite zwischen der Ein-Ausgangs-Komponente 402 und dem ersten Prozessor 404 sowie zwischen der Ein-Ausgangs-Komponente 402 und dem zweiten Prozessor 406 effektiv verdoppelt worden. In dem 16-Bit-Modus müssen acht Taktzyklen auftreten, um acht 16-Bit-Pakete (128 Bits) an Informationen zwischen jedem Prozessor und der Ein-Ausgangs-Komponente übertragen werden. In einem 32-Bit-Modus müssen vier Taktzyklen auftreten, um vier 32-Bit-Pakete (128 Bits) von Informationen zwischen jedem Prozessor und der Ein-Ausgangs-Komponente zu übertragen.

Die Abbildung aus 5 veranschaulicht ein Ausführungsbeispiel einer Punkt-zu-Punkt-Architektur 500 mit vier Prozessoren, mit einer 16-Bit-Punkt-zu-Punkt-Verbindung zwischen einer Ein-Ausgangs-Komponente 502 und jedem der vier Prozessoren 504, 506, 508, 510. Die vier Prozessoren sind der Prozessor 1 504, Prozessor 2 506, Prozessor 3 508 und Prozessor 4 510. In einem Ausführungsbeispiel setzt jeder der vier Prozessoren 504, 506, 508, 510 ein Ausführungsbeispiel eines Arbiters ein. Die Prozessoren 504, 506, 508, 510 weisen eine flexible Architektur auf, welche koordinierend mit dem Arbiter zusammenarbeitet, um eine Vielzahl von Einsatzzwecken für die Prozessoren 504, 506, 508, 510 zu ermöglichen. Zum Beispiel kann die Architektur 500 mit vier Prozessoren ersetzt werden durch eine Architektur mit zwei Prozessoren, die eine 32-Bit-Verbindung mit der Ein-Ausgangs-Komponente 502 einsetzt. Die Verarbeitungsleistung dieser Anordnung hat sich somit effektiv verdoppelt, da vier Prozessoren die Daten verarbeiten, die von der Ein-Ausgabe-Komponente 502 stammen. Ein Ausführungsbeispiel des Arbiters ermöglicht es somit, dass die gleiche Ein-Ausgabe-Komponente 502 entweder mit einer Architektur mit zwei Prozessoren, einer Architektur 500 mit vier Prozessoren oder mit einer ähnlichen Architektur mit mehreren Prozessoren arbeitet.

Eine programmierbare Reglereinstellung (Knob Setting) in einem Konfigurationsregister leitet den Routing-Agenten an, so dass die aktuell gewünschte Konfiguration des Kunden bzw. Anwenders begründet wird, wie etwa eine 16-Bit-, eine 32-Bit- oder eine 48-Bit-Punkt-zu-Punkt-Verbindung zwischen dem Prozessor und einer Vorrichtung bzw. einem Baustein außerhalb des Prozessors. In einem Ausführungsbeispiel kann es sich bei der Vorrichtung außerhalb des Prozessors um einen weiteren Prozessor, eine Ein-Ausgabe-Vorrichtung, eine Brücke oder eine ähnliche Vorrichtung handeln. In einem Ausführungsbeispiel programmiert der Kunde die Reglereinstellung, um die Bandbreitenverbindungen zwischen dem Prozessor und den Vorrichtungen bzw. Bausteinen außerhalb des Prozessors herzustellen. Auf der Basis der Reglereinstellung des Konfigurationsregisters aktiviert und deaktiviert der Routing-Agent Kommunikationspfade in der Informationsübertragungsschicht und der Pufferschicht. Der Routing-Agent kann die Kommunikationspfade verändern, um die Anzahl der Prozessor-Ports zu erhöhen oder zu verringern, und somit effektiv die Bandbreite zwischen einem Prozessor und einer anderen Vorrichtung zu erhöhen oder zu reduzieren.

In einem Server kommt es für gewöhnlich zu einem starken Austausch von Daten zwischen einem ersten Prozessor und einem zweiten Prozessor. Eine vorhandene 48-Bit-Punkt-zu-Punkt-Verbindung zwischen diesen beiden Bausteinen bzw. Vorrichtungen verringert somit deutlich die erforderliche Zeit für die Ausführung jeder Transaktion zwischen den Vorrichtungen. In einer Workstation kommt es für gewöhnlich zu einem starken Datenaustausch zwischen jedem Prozessor und der Ein-Ausgabe-Komponente. Eine 32-Bit- oder 48-Bit-Punkt-zu-Punkt-Verbindung zwischen diesen Vorrichtungen bzw. Bausteinen reduziert somit erheblich die erforderliche Zeit für die Ausführung jeder Transaktion zwischen diesen Vorrichtungen. Der Durchschnittsfachmann auf dem Gebiet erkennt somit, dass die in den folgenden Ausführungsbeispielen dargestellten speziellen Komponenten abgeändert werden können, ohne dabei vom Umfang der Erfindung abzuweichen.

Die Abbildung aus 6 veranschaulicht ein Ausführungsbeispiel des Routing-Agenten 602, der die eingehenden Kommunikationspfade in einem Ausführungsbeispiel der Informationsübertragungsschicht 600 steuert. Die erste physikalische Schicht (SPXO) 604 weist einen ersten Port 606 auf; neun 16-Bit-Register, ein erstes Register 608, ein zweites Register 610, ein drittes Register 612, ein viertes Register 614, ein fünftes Register 616, ein sechstes Register 618, ein siebtes Register 620, ein achtes Register 622 und ein neuntes Register 624; ein erstes 64-Bit-Register 626; einen Kommunikationspfad-Wechselbaustein 628 wie etwa einen Multiplexer; ein Ausführungsbeispiel des Routing-Agenten 602; eine erste Zeitverzögerung 609 und ein erstes Flipflop 630.

Die zweite physikalische Schicht (SPX1) 632 weist einen zweiten Port 634 auf; neun 16-Bit-Register, ein zehntes Register 636, ein elftes Register 638, ein zwölftes Register 640, ein dreizehntes Register 642, ein vierzehntes Register 644, ein fünfzehntes Register 646, ein sechzehntes Register 648, ein siebzehntes Register 650 und ein achtzehntes Register 652; ein zweites 64-Bit-Register 653; und eine zweite Zeitverzögerung 637 und ein zweites Flipflop 656. Ein Multiplexer ist ein Baustein, der verschiedene Übertragungen mit niedriger Geschwindigkeit zu einer Übertragung mit hoher Geschwindigkeit zusammenführt und vice versa. Das Konfigurationsregister 654 informiert den Routing-Agenten 602 darüber, ob eine spezielle Komponente außerhalb des Prozessors eine 16-Bit-, eine 32-Bit- oder eine 48-Bit-Punkt-zu-Punkt-Verbindung darstellen soll.

Wenn das Konfigurationsregister 654 für eine 16-Bit-Punkt-zu-Punkt-Verbindung mit der Ein-Ausgabe-Komponente programmiert ist, so leitet der Routing-Agent 602 jede physikalische Schicht an, unabhängig von den anderen physikalischen Schichten zu arbeiten. Zum Beispiel in einem Ausführungsbeispiel mit einer Architektur mit vier Prozessoren ist der erste Port 606 mit einem zweiten Prozessor verbunden, und der zweite Port 634 weist eine Verknüpfung mit einer Ein-Ausgabe-Komponente auf. Das erste Register 608 empfängt ein eingehendes 16-Bit-Informationspaket über den ersten Port 606. Das 16-Bit-Informationspaket wird von dem ersten Register 608 über eine erste Zeitverzögerung 609 übermittelt, um in dem zweiten Register 610 gespeichert zu werden. Das erste Register 608 empfängt ein weiteres 16-Bit-Informationspaket über den ersten Port 606. Das erste Register 608 sendet dieses zweite 16-Bit-Informationspaket zum Speichern in dem dritten Register 612. Die erste physikalische Schicht 604 wiederholt diesen Vorgang, bis jedes Register vom zweiten Register 610 bis zum neunten Register 624 jeweils ein 16-Bit-Informationspaket speichert. Der erste Kommunikationspfad-Wechselbaustein 628 erfasst bzw. stellt fest, dass diese acht 16-Bit-Informationen (oder 128 Bits) für die Übertragung über das erste Flipflop 630 zu der ersten Verknüpfungsschicht bereit stehen. Nach dem nächsten Taktzyklus werden die 128 Informationsbits über das erste Flipflop 630 zu der ersten Verknüpfungsschicht übertragen. Auf ähnliche Weise, jedoch unter Verwendung der Komponenten der zweiten physikalischen Schicht 632 überträgt die zweite physikalische Schicht 632 128 Bits zu der zweiten Verknüpfungsschicht. Die 128 Informationsbits, die zu der ersten Verknüpfungsschicht übertragen werden, stehen jedoch in keinem Verhältnis zu den 128 Informationsbits, die zu der zweiten Verknüpfungsschicht übertragen werden. In unseren Beispielen verlaufen die ersten 128 Informationsbits somit von einem zweiten Prozessor zu dem ersten Port 606. In ähnlicher Weise verlaufen die zweiten 128 Informationsbits von der Ein-Ausgabe-Komponente durch den zweiten Port 634. Der Routing-Agent 602 gibt den 128-Bit-Pfad in dem ersten Kommunikationspfad-Wechselbaustein 628 frei. Der Routing-Agent 602 deaktiviert den dualen 64-Bit-Pfad in dem ersten Kommunikationspfad-Wechselbaustein 628. Der Routing-Agent 602 gibt das erste Flipflop 630 und das zweite Flipflop 656 frei.

Wenn das Konfigurationsregister 654 für eine 32-Bit-Punkt-zu-Punkt-Verbindung programmiert ist, so verbindet der Routing-Agent 602 die beiden physikalischen Schichten, so dass diese zusammenarbeiten. Der Routing-Agent 602 deaktiviert den 128-Bit-Pfad in dem ersten Kommunikationspfad-Wechselbaustein 628. Der Routing-Agent 620 gibt den dualen 64-Bit-Pfad in dem ersten Kommunikationspfad-Wechselbaustein 628 frei. Der Routing-Agent 602 gibt das erste Flipflop 630 frei, sperrt jedoch das zweite Flipflop 656. Der Routing-Agent 602 erhöht die Taktgeschwindigkeit für das erste Register 608 bis zu dem achtzehnten Register 652 um einen Faktor von Zwei. Die erste physikalische Schicht 604 empfängt vier 16-Bit-Informationspakete und speichert die Informationspakete über das fünfte Register 616 in dem zweiten Register 610. Die zweite physikalische Schicht 632 empfängt vier 16-Bit-Informationspakete und speichert die Informationspakete über das vierzehnte Register 644 in dem elften Register 638. Der erste Kommunikationspfad-Wechselbaustein 628 stellt fest, dass das erste 64-Bit-Register vier 16-Bit-Informationspakete von dem zweiten Register 610 bis zu dem fünften Register 616 aufweist. Der Kommunikationspfad-Wechselbaustein 628 stellt fest, dass das zweite 64-Bit-Register vier 16-Bit-Informationspakete von dem elften Register 638 bis zu dem vierzehnten Register 644 aufweist. Nach dem nächsten Taktzyklus werden die 64 Informationsbits von dem ersten 64-Bit-Register und die 64 Informationsbits von dem zweiten 64-Bit-Register über den dualen 64-Bit-Pfad zu dem ersten Kommunikationspfad-Wechselbaustein 628 übertragen. Der Kommunikationspfad-Wechselbaustein 628 überträgt die acht verwandten 16-Bit-Informationspakete für die erste Verknüpfungsschicht. Sowohl die Vorrichtung außerhalb des Prozessors als auch der Prozessor übertragen die acht verwandten 16-Bit-Informationspakete als würde eine 32-Bit-Punkt-zu-Punkt-Verbindung zwischen dem Prozessor und der Vorrichtung existieren. Die zweite Verknüpfungsschicht empfängt kein Signal, da das zweite Flipflop 656 deaktiviert bzw. gesperrt ist. Auf ähnliche Weise kann der Routing-Agent drei physikalische Schichten verbinden, so dass eine 48-Bit-Punkt-zu-Punkt-Verbindung zwischen dem Prozessor und der Vorrichtung erzeugt wird.

Die Abbildung aus 7 veranschaulicht ein Ausführungsbeispiel des Routing-Agenten 702, der die eingehenden Kommunikationspfade in einem Ausführungsbeispiel der Pufferschicht 700 steuert. Der eingehende Kommunikationspfad der ersten Verknüpfungsschicht 704 weist ein erstes 128-Bit-Register 706, eine erste Antwortwarteschlange 708, eine erste Anforderungswarteschlange 710 und einen ersten Kommunikationspfad-Wechselbaustein 712 auf. Der eingehende Kommunikationspfad der zweiten Verknüpfungsschicht 714 weist ein zweites 128-Bit-Register 716, eine zweite Antwortwarteschlange 711, eine zweite Anforderungswarteschlange 713 und einen zweiten Kommunikationspfad-Wechselbaustein 716 auf. Die Komponentenzusammenstellung der dritten Verknüpfungsschicht 718 und der vierten Verknüpfungsschicht 720 entsprechen der der ersten Verknüpfungsschicht 704. Die erste Verknüpfungsschicht 704 bis zu der vierten Verknüpfungsschicht 720 werden in einen fünften Kommunikationspfad-Wechselbaustein 722, ein Ausführungsbeispiel eines Routing-Agenten 702, ein fünftes 128-Bit-Register 724, einen Transaktionsverfolgungspuffer die lokale Adresse (LATT) 726, einen zentralen Datenverwaltungspuffer (CDM) 728 und einen Transaktionsverfolgungspuffer für die entfernte Adresse (RATT) 730 gespeist.

Wenn in einem Ausführungsbeispiel der eingehenden Pufferschicht 700 das Konfigurationsregister 732 für eine 32-Bit-Punkt-zu-Punkt-Verbindung programmiert ist, so verbindet der Routing-Agent 702 effektiv zwei Verknüpfungsschichten miteinander. Die erste Verknüpfungsschicht 704 empfängt die acht verwandten 16-Bit-Informationspakete (128 Bit) mit der doppelten Taktgeschwindigkeit von dem Kommunikationspfad-Wechselbaustein in der ersten physikalischen Schicht. Die erste Verknüpfungsschicht 704 speichert das 128-Bit-Informationspaket in dem ersten Register 706. Das 128-Bit-Informationspaket wird entsprechend zu der ersten Antwortwarteschlange 708 oder der ersten Anforderungswarteschlange 710 geleitet. Der Routing-Agent 702 sendet ein Freigabesignal an den ersten Kommunikationspfad-Wechselbaustein 712, den dritten Kommunikationspfad-Wechselbaustein 734 und den fünften Kommunikationspfad-Wechselbaustein 722. Der Routing-Agent 702 sendet ferner ein Sperrsignal bzw. ein Deaktivierungssignal an den zweiten Kommunikationspfad-Wechselbaustein 716 und den vierten Kommunikationspfad-Wechselbaustein 736. Der Routing-Agent 702 leitet den fünften Kommunikationspfad-Wechselbaustein 722 an, Daten nur von dem ersten Kommunikationspfad-Wechselbaustein 712 und dem dritten Kommunikationspfad-Wechselbaustein 734 anzufordern. In dem 32-Bit-Modus empfangen der zweite Kommunikationspfad-Wechselbaustein 716 und der vierte Kommunikationspfad-Wechselbaustein 736 kein Signal von der physikalischen Schicht, da der Routing-Agent 702 das zweite Flipflop und das vierte Flipflop in der physikalischen Schicht deaktiviert hat.

Die 128-Bit-Informationspakete werden auf zyklische, sequentielle Art und Weise über den ersten Kommunikationspfad-Wechselbaustein 712 und danach den dritten Kommunikationspfad-Wechselbaustein 734 zu dem fünften Kommunikationspfad-Wechselbaustein 722 übertragen. In einem sich wiederholenden Zyklus fordert der fünfte Kommunikationspfad-Wechselbaustein 722 den Inhalt der ersten Antwortwarteschlange 708 an, danach der ersten Anforderungswarteschlange 710, danach der dritten Antwortwarteschlange 738, danach der dritten Anforderungswarteschlange 740, und wobei diese Sequenz danach wiederholt wird. Jedes Informationspaket kann entweder eine Anforderung eines Befehls und/oder von Daten darstellen oder eine Antwort bzw. Reaktion auf einen Befehl oder Daten. Nachdem in einem Ausführungsbeispiel ein Paket in eine Antwortwarteschlange oder eine Anforderungswarteschlange geschrieben worden ist, werden die Informationen aus diesen Warteschlangen mit der Kerntaktfrequenz übertragen. Die Informationspakete werden von dem fünften Kommunikationspfad-Wechselbaustein 722 zu einer der folgenden drei Komponenten gesendet. Der zentrale Datenverwaltungspuffer (CDM) 728 speichert Daten, die von der Protokollschicht 740 verbraucht werden. Der Transaktionsverfolgungspuffer für die entfernte Adresse (RATT) 730 speichert Befehle von einer entfernten Vorrichtung, wie etwa von einem entfernten Prozessor. Der CDM 728 speichert entsprechende Daten, sofern vorhanden, welche dem Befehl zugeordnet sind. In ähnlicher Weise speichert der Transaktionsverfolgungspuffer für die lokale Adresse (LATT) 726 lokale Befehle und Antworten des Prozessorkerns. Die entsprechenden Daten, sofern vorhanden, die dem Befehl zugeordnet sind, werden in dem CDM 728 gespeichert.

Wenn das Konfigurationsregister 734 für eine 16-Bit-Punkt-zu-Punkt-Verbindung programmiert ist, so arbeitet jede eingehende Verknüpfungsschicht 704, 714, 718, 720 unabhängig. Der Routing-Agent 702 leitet den fünften Kommunikationspfad-Wechselbaustein 722 an, Informationen von den acht möglichen Quellen anzufordern, der entsprechenden Anforderungswarteschlange 710, 713, 740, 750 oder der entsprechenden Antwortwarteschlange 708, 711, 738, 748 in jeder Verknüpfungsschicht 704, 714, 718, 729, und zwar auf zyklische, sequentielle Art und Weise. Wenn eine bestimmte Warteschlange leer ist, so zieht der Kommunikationspfad-Wechselbaustein 722 automatisch Pakete straffrei bzw. ohne negative Folgen aus der nächsten Warteschlange. In einem Ausführungsbeispiel werden die Pakete aus den vier physikalischen Schichten mit 100 Megahertz in die entsprechende Warteschlange geschrieben, wenn das Konfigurationsregister für eine 16-Bit-Verbindung programmiert ist. Die Pakete werden mit 200 Megahertz geschrieben, wenn das Konfigurationsregister 732 für eine 32-Bit-Verbindung programmiert ist. Wenn das Konfigurationsregister für eine 48-Bit-Verbindung programmiert ist, schaltet der Routing-Agent 702 drei Verknüpfungsschichten zusammen. Nachdem der fünfte Kommunikationspfad-Wechselbaustein 722 ein Informationspaket aus den acht möglichen Quellen ausgewählt hat, wird das Paket zu der Protokollschicht 740 übertragen.

Die eingehende Verknüpfungsschicht sendet Antworten und Anforderungen an die Protokollschicht 740. Die Protokollschicht 740 wechselt die Auswahl eines Befehls aus dem LATT 726 oder dem RATT 730, begleitet von Daten von dem CDM 728. In einem Ausführungsbeispiel können diese physikalischen Informationen zu einer CPU gesendet werden. Dien Informationen gehen zur Verarbeitung an die CPU und werden zu der abgehenden Verknüpfungsschicht übertragen. Die Protokollschicht 740 ist für gewöhnlich die verarbeitende Komponente. Die Protokollschicht 740 löst für gewöhnlich Anforderungen von andren lokalen Prozessoren auf und sendet Anforderungen über die physikalische Schicht. Die Protokollschicht 740 kann für Funktionen wie die Rangordnung, die Konflikterkennung und die Kohärenz zuständig sein. Die Protokollschicht 740 kann Datenanforderungen an die lokale Speichersteuereinheit weiterleiten, wenn die Anforderung an einen lokalen Speicher gerichtet ist. Die Protokollschicht 740 kann Snoop-Anforderungen an die entfernten Knoten und andere lokale Prozessoren senden. Die Protokollschicht 740 verarbeitet ferner über die Verknüpfungsschicht getätigte Anforderungen, die von einem entfernten Prozessor oder einer Ein-Ausgabe-Komponente stammen können.

Die Abbildung aus 8 veranschaulicht ein Ausführungsbeispiel des Routing-Agenten 802, der die abgehenden Kommunikationspfade in einem Ausführungsbeispiel der Pufferschicht 800 steuert. Die Protokollschicht 804 sendet die verarbeiteten Befehle und Daten an jede abgehende Verknüpfungsschicht 806, 808, 810, 812. Die Protokollschicht 804 stellt selbst erzeugte Befehle an den LATT 814 zu und Daten, sofern vorhanden, die diesem Befehl entsprechen, werden dem CDM 816 zugeführt. Die Protokollschicht 804 stellt Antworten auf Befehle von entfernten Vorrichtungen dem RATT 818 zu und Daten, sofern vorhanden, die diesem Befehl entsprechen, werden dem CDM 816 zugeführt. Wenn das Konfigurationsregister 820 für eine 32-Bit-Punkt-zu-Punkt-Verbindung programmier ist, gibt der Routing-Agent 802 effektiv zwei der vier abgehenden Verknüpfungsschichten frei. Das folgende tritt bei der Verfolgung des Signalpfads in der ersten abgehenden Verknüpfungsschicht 806 und in der zweiten abgehenden Verknüpfungsschicht 808 ein. Der Routing-Agent 802 weist an, dass der zweite Kommunikationspfad-Wechselbaustein 822 und der vierte Kommunikationspfad-Wechselbaustein (nicht abgebildet) deaktiviert werden. Der Routing-Agent 802 weist den fünften Kommunikationspfad-Wechselbaustein 828 an, Daten über den ersten Kommunikationspfad-Wechselbaustein 824 und den dritten Kommunikationspfad-Wechselbaustein 826 aus deren entsprechenden Anforderungspuffer 830 oder Antwortpuffer 832 anzufordern. Der fünfte Kommunikationspfad-Wechselbaustein 828 wechselt in sich wiederholenden Zyklen die Anforderungen von Bits aus dem Anforderungspuffer 830 und dem Antwortpuffer 832. Der fünfte Kommunikationspfad-Wechselbaustein 828 empfängt ferner alle Daten, sofern vorhanden, die diesen Befehlen entsprechen, aus dem CDM 816. Der fünfte Kommunikationspfad-Wechselbaustein 828 leitet danach das 128-Bit-Datenpaket durch eine erste Zeitverzögerung 833 entweder an die abgehende Antwortwarteschlange 836 oder die abgehende Anforderungswarteschlange 834, die sich in der abgehenden physikalischen Schicht befinden.

In der abgehenden Verknüpfungsschicht existieren eine oder mehrere Wiederholungswarteschlangen 838. Die Wiederholungswarteschlange 838 speichert eine Kopie der Informationen, die übertragen wird, wenn ein Fehler bei der Informations- bzw. Datenübertragung auftritt. Die Wiederholungswarteschlange 838 existiert primär für den Fall, dass ein Fehler im Übermittlungsabschnitt auftreten kann. Die Wiederholungswarteschlange 838 löscht die in einer Wiederholungswartschlange 838 gespeicherten Duplikat-Informationen, wenn eine Bestätigung für eine fehlerfreie Informationsübertragung empfangen worden ist.

Wenn das Konfigurationsregister 820 für eine 16-Bit-Punkt-zu-Punkt-Verbindung programmiert ist, so leitet der Routing-Agent 802 jede abgehende Verknüpfungsschicht 806, 808, 810, 812 an, unabhängig zu arbeiten. Der Routing-Agent 802 sendet ein Signal zur Freigabe aller Kommunikationspfad-Wechselbausteine der abgehenden Verknüpfungsschicht und zur Festlegung der Taktgeschwindigkeit auf die Standard-Taktgeschwindigkeit. Die Informationen werden aus dem LATT 814, dem RATT 818 und dem CDM 816 über die eigene entsprechende abgehende Verknüpfungsschicht an die entsprechende abgehende physikalische Schicht geleitet. Der Routing-Agent 802 weist zum Beispiel den zweiten Kommunikationspfad-Wechselbaustein 822 an, Daten über den sechsten Kommunikationspfad-Wechselbaustein 840 von der zweiten Anforderungswarteschlange 842 anzufordern und danach Daten über den siebten Kommunikationspfad-Wechselbaustein 844 von der zweiten Antwortwarteschlange 846 anzufordern. Der zweite Kommunikationspfad-Wechselbaustein 822 wechselt in einem wiederholten Zyklus die Anforderungen von Bits von der zweiten Antwortwarteschlange 842 und der zweiten Anforderungswarteschlange 846. Der zweite Kommunikationspfad-Wechselbaustein 822 empfängt ferner alle Daten, sofern vorhanden, die diesen Befehlen entsprechen, aus dem CDM 816. Der zweite Kommunikationspfad-Wechselbaustein 822 leitet das 128-Bit-Datenpaket danach durch eine zweite Zeitverzögerung 848 entweder an die zweite abgehende Antwortwarteschlange 850 oder die zweite abgehende Anforderungswarteschlange 852, die sich in der abgehenden physikalischen Schicht befinden.

Die Abbildung aus 9 veranschaulicht ein Ausführungsbeispiel des Routing-Agenten 902, der die Kommunikationspfade in einer abgehenden Informationsübertragungsschicht 900 steuert. In einem Ausführungsbeispiel umfasst die Informationsübertragungsschicht eine oder mehrere physikalische Schichten. Die physikalische Schicht führt die tatsächliche physikalische Informationsübertragung an Vorrichtungen außerhalb des Prozessors über Ports aus, wie etwa einen ersten Port 904 und einen zweiten Port 906. Für gewöhnlich existiert auf jeder physikalischen Schicht ein 16-Bit-Port, wie etwa der erste Port 904. Der Prozessor überträgt Informationen zwischen dem Prozessor und einer Vorrichtung außerhalb des Prozessors über diese Ports. Das Informationssignal enthält Informationen wie etwa eine Anforderung, eine Antwort oder Daten.

In einem Ausführungsbeispiel einer Architektur mit zwei Prozessoren sind zum Beispiel drei Ports an den zweiten Prozessor in dem System angebunden, und der vierte Port ist an eine Ein-Ausgabe-Komponente angebunden, wie etwa einen Chipsatz. Ein erster Kommunikationspfad-Wechselbaustein 908, wie etwa ein Multiplexer, empfängt ein 128-Bit-Informationspaket von der Verknüpfungsschicht. Der erste Kommunikationspfad-Wechselbaustein 908 liest das 128-Bit-Informationspaket entweder aus der Antwortwarteschlange 911 oder aus der Anforderungswarteschlange 910 mit einer Taktgeschwindigkeit von zum Beispiel 100 Megahertz. Die Signalausgabe des ersten Kommunikationspfad-Wechselbausteins 908 sind zwei 64-Bit-Informationspakete, ein erstes 64-Bit-Paket und ein zweites 64-Bit-Paket, die in dem ersten Register 912 gespeichert sind. Nach einer Zeitverzögerung 914 liest der erste Kommunikationspfad-Wechselbaustein 918 das erste 64-Bit-Paket über das zweite Register 916 mit der doppelten Taktgeschwindigkeit, 200 Megahertz, des 128-Bit-Informationspakets. Die Signalausgabe des zweiten Kommunikationspfad-Wechselbausteins 918 sind zwei 32-Bit-Informationspakete, ein erstes 32-Bit-Paket und ein zweites 32-Bit-Paket, die in dem dritten Register 920 gespeichert sind. Die Taktgeschwindigkeit des 32-Bit-Informationspakets in dem dritten Register wird erneut verdoppelt, auf 400 Megahertz.

Der Routing-Agent 902 weist jetzt das 32-Bit-Informationspaket an, einen 32-Bit-Umgehungspfad 922 oder einen 16-Bit-Informationsübertragungspfad in den entsprechenden Kommunikationspfad-Wechselbausteinen 926, 934 zu nehmen. Das Konfigurationsregister 924 informiert den Routing-Agenten 902, ob die Komponente außerhalb des Prozessors eine 16-Bit, 32-Bit- oder 48-Bit-Punkt-zu-Punkt-Verbindung darstellen soll.

Wenn zum Beispiel in einem Ausführungsbeispiel eine 16-Bit-Punkt-zu-Punkt-Verbindung zwischen dem Prozessor und der Ein-Ausgabe-Komponente existiert, so weist der Routing-Agent 902 jede physikalische Schicht an, unabhängig von den anderen physikalischen Schichten zu arbeiten. Ein vierter Kommunikationspfad-Wechselbaustein 926 liest das 32-Bit-Informationspaket mit 400 Megahertz aus dem dritten Register 920 und gibt zwei 16-Bit-Informationspakete aus. Ein fünfter Kommunikationspfad-Wechselbaustein 928 liest das 16-Bit-Informationspaket mit 400 Megahertz aus dem vierten Register 927 und gibt das 16-Bit-Informationspaket an den ersten Port 904 aus. Der Routing-Agent 902 sendet ein Signal an den sechsten Kommunikationspfad-Wechselbaustein 930 in der zweiten abgehenden physikalischen Schicht 932. Das Signal gibt den 16-Bit-Pfad in dem fünften Kommunikationspfad-Wechselbaustein 928 frei. Der Routing-Agent 902 deaktiviert den 32-Bit-Umgehungspfad 922 von dem vierten Kommunikationspfad-Wechselbaustein 926. Der Routing-Agent 902 sendet ferner ein Signal an die zweite physikalische Schicht 932, den sechsten Kommunikationspfad-Wechselbaustein 930, zur Freigabe des 16-Bit-Pfads in dem sechsten Kommunikationspfad-Wechselbaustein 930 und zum Sperren/Ignorieren des 32-Bit-Umgebungspfads 922 von dem dritten Register 920. Somit handelt es sich bei der Ausgabe des ersten Ports 904 und des zweiten Ports 906 um nicht verwandte 16-Bit-Informationspakete.

Wenn in einem Ausführungsbeispiel zum Beispiel eine 32-Bit-Punkt-zu-Punkt-Verbindung zwischen dem Prozessor und der Ein-Ausgabe-Komponente existiert, so verbindet der Routing-Agent 902 den Ausgang des ersten Ports 904 und den Ausgang des zweiten Ports 906. Der Routing-Agent 902 sendet ein Signal an den sechsten Kommunikationspfad-Wechselbaustein 930. Das Signal des Routing-Agenten sperrt bzw. deaktiviert den sechsten Kommunikationspfad-Wechselbaustein 930 und gibt den 32-Bit-Umgebungspfad 922 von dem dritten Register 920 frei. Der Routing-Agent 902 sendet ferner ein Signal an die erste physikalische Schicht 931, den vierten Kommunikationspfad-Wechselbaustein 926, um den 32-Bit-Umgehungspfad 922 freizugeben. Die Ausgaben des ersten Ports 904 und des zweiten Ports 906 stellen somit verwandte 16-Bit-Informationspakete dar. Anders ausgedrückt handelt es sich bei der Ausgabe des ersten Ports 904 und des zweiten Ports 906 um ein 32-Bit-Informationspaket. Um die gleichen Übertragungsgeschwindigkeiten aufrecht zu erhalten, sendet der Routing-Agent 902 ferner ein Signal zur Verdoppelung der in den Registern auftretenden Taktgeschwindigkeiten. Zum Beispiel wird das 32-Bit-Informationspaket in dem dritten Register 920 jetzt mit 800 Megahertz getaktet. 800 Megahertz entsprechen der doppelten Taktgeschwindigkeit im Vergleich einer auftretenden 16-Bit-Informationsübertragung. In ähnlicher Weise kann der Routing-Agent 902 drei Ports miteinander verbinden (nicht abgebildet), so dass eine 48-Bit-Verbindung in dem abgehenden Pfad erzeugt wird.

Wenn in einem alternativen Ausführungsbeispiel drei physikalische Schichten zum Beispiel mit einem zweiten Prozessor verknüpft sind, so kann der Routing-Agent optional so programmiert werden, dass die drei verwandten 16-Bit-Pakete, die an den zweiten Prozessor gerichtet sind, durch entsprechende Komponenten jeder der Verknüpfungs- und physikalischen Schichten geleitet werden. Somit verläuft das erste 16-Bit-Paket durch die Komponenten der ersten physikalischen Schicht und der ersten Verknüpfungsschicht. Das zweite 16-Bit-Paket verläuft durch die Komponenten der zweiten physikalischen Schicht und der zweiten Verknüpfungsschicht. Das dritte 16-Bit-Paket verläuft durch die Komponenten der dritten physikalischen Schicht und der zweiten Verknüpfungsschicht. Der Routing-Agent verändert den Adressierungs-Header in den drei 16-Bit-Paketen, um dem zweiten Prozessor mitzuteilen, dass diese drei 16-Bit-Pakete im Verhältnis zueinander stehen.

In Bezug auf die Erfindung sind verschiedene Modifikationen und alternative Ausführungen möglich. Spezielle Ausführungsbeispiele der Erfindung sind nur zu Beispielzwecken dargestellt. Die Verbindung zwischen dem Prozessor und den Vorrichtungen bzw. Bausteinen können zum Beispiel 8 Bit bis 64 Bit oder mehr entsprechen. Die Taktgeschwindigkeiten bzw. Taktraten können zum Beispiel ein Megahertz bis ein Gigahertz oder mehr entsprechen. Die Register können zwischen 1 Bit und 128 Bit und darüber liegen. Ferner können die meisten durch die elektronischen Hardware-Komponenten ausgeführten Funktionen durch Sofwareemulation dupliziert werden. In ähnlicher Weise können die Funktionalität jeder Schicht, der Protokollschicht, der Pufferschicht und der Informationsübertragungsschicht zum Beispiel auf einer einzigen Schicht kombiniert oder auf eine andere Komponente verlagert werden. Die Erfindung ist somit nicht auf die speziellen offenbarten Ausführungen beschränkt, vielmehr umfasst die Erfindung alle Modifikationen, Äquivalente und Alternativen gemäß dem Umfang der vorliegenden Erfindung, der durch die anhängigen Ansprüche definiert ist.


Anspruch[de]
Vorrichtung, die folgendes umfasst:

einen Routing-Agenten zum Wechseln eines oder mehrere Kommunikationspfade in einem Prozessor (200), ohne dabei ein physikalisches Komponentenlayout in dem Prozessor (200) zu verändern;

dadurch gekennzeichnet, dass der Routing-Agent eine erste Komponente (654) und eine zweite Komponente (602) umfasst, wobei die erste Komponente (654) so angeordnet ist, dass eine Bandbreite zwischen einem Baustein und dem Prozessor (200) bestimmt wird, wobei die zweite Komponente (602) so angeordnet ist, dass sie ein Steuersignal an einen oder mehrere Kommunikationspfad-Wechselbausteine (628) bereitstellt, wobei das Steuersignal auf der Bandbreitenbestimmung der ersten Komponente (654) basiert.
Vorrichtung nach Anspruch 1, wobei diese ferner folgendes umfasst:

einen Punkt-zu-Punkt-Bus, über welchen der Prozessor (200) mit einem Baustein kommuniziert.
Vorrichtung nach Anspruch 1, wobei der Baustein aus der Gruppe ausgewählt wird, die eine Ein-Ausgabe-Komponente, eine Brücke, einen Chipsatz, einen Speicher oder einen zweiten Prozessor umfasst, und wobei das Steuersignal aus der Gruppe ausgewählt wird, die ein Freigabesignal, ein Sperrsignal, ein Taktgeschwindigkeitserhöhungssignal oder ein eingestellte Standard-Taktgeschwindigkeitssignal umfasst. Verfahren, das folgendes umfasst:

das Bestimmen einer Bandbreite zwischen einem Prozessor (200) und einem Baustein;

das Senden eines Steuersignals auf der Basis der Bandbreitenbestimmung an einen oder mehrere Kommunikationspfad-Wechselbausteine in dem Prozessor (200) mit einer flexiblen Architektur; und

das Wechseln eines oder mehrerer Kommunikationspfade in dem Prozessor (200), ohne ein physikalisches Komponentenlayout in dem Prozessor (200) zu verändern.
Verfahren nach Anspruch 4, wobei das Verfahren ferner folgendes umfasst:

das Kommunizieren zwischen dem Prozessor (200) und einem Baustein über mindestens einen Punkt-zu-Punkt-Bus.
Verfahren nach Anspruch 4, wobei das Wechseln des Kommunikationspfads das Anpassen einer Einstellung in einem Konfigurationsregister umfasst, um einen Routing-Agenten anzuweisen, das Steuersignal an einen oder mehrere in dem Prozessor (200) angeordnete Kommunikationspfad-Wechselbausteine zu senden. System, das folgendes umfasst:

einen Prozessor (200) mit einer flexiblen Architektur; und

einen Routing-Agenten zur Steuerung einer oder mehrerer Kommunikationspfade in dem Prozessor (200), dadurch gekennzeichnet, dass der Routing-Agent eine erste Komponente (654) und eine zweite Komponente (602) umfasst, wobei die erste Komponente (654) so angeordnet ist, dass eine Bandbreite zwischen einem Baustein und dem Prozessor (200) bestimmt wird, wobei die zweite Komponente (602) so angeordnet ist, dass sie ein Steuersignal an einen oder mehrere Kommunikationspfad-Wechselbausteine (628) bereitstellt, wobei das Steuersignal auf der Bandbreitenbestimmung der ersten Komponente (654) basiert.
System nach Anspruch 7, wobei der Prozessor (200) folgendes umfasst:

eine Protokollschicht (204);

eine Informationsübertragungsschicht (208) für die Informationsübertragung auf einem physikalischen Medium zwischen der Protokollschicht (204) und einem Baustein; und

eine Pufferschicht (206) zur Pufferung der Informationsübertragung zwischen der Protokollschicht (204) und der Informationsübertragung.
System nach Anspruch 7, wobei dieses ferner folgendes umfasst:

einen Punkt-zu-Punkt-Bus, wobei der Prozessor (200) über den Punkt-zu-Punkt-Bus mit einem Baustein kommuniziert, und wobei das System aus einer Gruppe ausgewählt wird, die eine Workstation oder einen Server umfasst.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com