DE60221406T2 - Mehrprozessor-infrastruktur zur bereitstellung einer flexiblen bandweitenzuteilung über mehrere instanziierungen separater datenbusse, steuerbusse und unterstützungsmechanismen - Google Patents
Mehrprozessor-infrastruktur zur bereitstellung einer flexiblen bandweitenzuteilung über mehrere instanziierungen separater datenbusse, steuerbusse und unterstützungsmechanismen Download PDFInfo
- Publication number
- DE60221406T2 DE60221406T2 DE60221406T DE60221406T DE60221406T2 DE 60221406 T2 DE60221406 T2 DE 60221406T2 DE 60221406 T DE60221406 T DE 60221406T DE 60221406 T DE60221406 T DE 60221406T DE 60221406 T2 DE60221406 T2 DE 60221406T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- command
- destination
- arbiter
- pull
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
Description
- Allgemeiner Stand der Technik
- Herkömmliche Bus-Schemata definieren einen Bus als eine unteilbare Einheit. Obgleich Befehle und Daten über separate physische Kanäle übertragen werden können, um die Gleichzeitigkeit zu verbessern, verknüpfen die Busprotokolle die Kanäle. Die Befehle enthalten eine feste Anzahl vorgegebener Felder mit Befehlsinformationen, wie zum Beispiel Adresse, Länge (Anzahl der Datenbytes) und Operationsart (zum Beispiel Lesen, Schreiben, Cachezeilenlöschung und so weiter).
- In Romilly Bowden: "What is HART?", Romilly's Hart and Fieldbus Web Site, [Online] 1997, XP002219605, ist ein "Highway Addressable Remote Transducer" (HART) beschrieben, bei dem es sich um ein digitales Kommunikationsprotokoll handelt, das für Messungen in technischen Prozessen vorgesehen ist.
-
US-A-4045782 beschreibt ein mikroprogrammiertes Prozessorsystem, wobei mehrere Makroinstruktionen in einem adressierbaren Speicher gespeichert sind, der zum Stand der Technik in Bezug auf diese Erfindung gehört. - Herkömmliche Bus-Schemata können keine Befehle ausgeben, die durch Busmaster erzeugt werden und die durch Busziele für jedes Ziel einzeln interpretiert werden.
- Beschreibung der Zeichnungen
-
1 ist ein Blockschaubild eines Verarbeitungssystems, das mit einer Busarbitrierlogik arbeitet, um den Informationsaustausch zwischen Busmastern und Buszielen zu unterstützen. -
2 ist ein detailliertes Blockschaubild des Verarbeitungssystems (von1 ), das verschiedene Busse, einschließlich Befehls- und Push-/Pullbusse, und zugeordnete Arbiter der Busarbitrierlogik zeigt. -
3 ist eine Veranschaulichung eines beispielhaften Formats eines Befehls, der über den Befehlsbus transportiert wird. -
4 ist ein Schaubild eines beispielhaften Befehlsbusdatenpfades des Verarbeitungssystems. -
5 ist ein Schaubild eines beispielhaften Pushbusdatenpfades des Verarbeitungssystems. -
6 ist ein Schaubild eines beispielhaften Pullbusdatenpfades des Verarbeitungssystems. - Detaillierte Beschreibung
- Die Erfindung ist wie in den Ansprüchen 1, 10, 11, 18 und 20 dargelegt.
- Wenden wir uns
1 zu, wo ein System10 gezeigt ist, das mehrere erste Einheiten12 , die als Master12a ,12b ,12c , ...,12j gezeigt sind, und mehrere zweite Einheiten14 , die als Ziele14a ,14b ,14c , ...,14k gezeigt sind, enthält, die die Busarbitrierlogik16 benutzen, um den Informationsaustausch über ein Bussystem17 zu steuern. Gemeinsam bilden das Bussystem17 und die Busarbitrierlogik16 eine Busstruktur18 . Die Komponenten der Busarbitrierlogik16 enthalten einen Befehlsbusarbiter19 , einen Pushbusarbiter20 und einen Pullbusarbiter22 . Diese Arbiter19 ,20 ,22 sind dem Betrieb der verschiedenen Busse in dem Bussystem17 zugeordnet, wie unter Bezug auf die2 -6 beschrieben ist. - Der Master
12 kann Bauelemente wie zum Beispiel Prozessoren (zum Beispiel Allzweckmikroprozessoren, eingebettete Mikrocontroller) und externe Buscontroller enthalten. Die Ziele14 können Speicherressourcen (zum Beispiel Schnittstellen zu DRAM, SRAM), E/A-Ressourcen (zum Beispiel Schnittstellen zu Medien, Medienschaltnetzen) sowie anderen Arten von Systemressourcen enthalten. Ein Master kann auch als ein Ziel dienen. Zum Beispiel könnte ein Buscontroller, der es dem System ermöglicht, mit einem Host- oder sonstigen System über einen externen Bus zu kommunizieren, die Funktionen sowohl des Masters als auch des Ziels ausführen. - Der Einfachheit halber sind nur zwei der Master, Master 0 und 1, und drei der Ziele, Ziele 0-2, in den
2 -6 gezeigt. Einer der Master, Master 0, ist als ein Gerät gezeigt, das sowohl als ein Master als auch als ein Ziel dienen kann. - Wenden wir uns
2 zu, wo das System10 drei separate Busstrukturen enthält: einen Befehlsbus30 (in Strichlinien dargestellt), einen Pushbus32 und einen Pullbus34 . Die jeweiligen Arbitriereinheiten19 ,20 und24 sind dem Befehlsbus30 , dem Pushbus32 bzw. dem Pullbus34 zugeordnet und steuern deren Verwendung. Der Befehlsbus30 enthält auf der Master-Seite der Arbitrierlogik einen ersten Befehlsbus36 und auf der Ziel-Seite des Arbiters einen zweiten Befehlsbus37 . Der masterseitige Befehlsbus36 enthält einen entsprechenden Befehlsbus für jeden Master, zum Beispiel Befehlsbusse36a und36b für Master12a bzw. und Master12b . - Der Pushbus
32 enthält einen ersten Pushbus (Ziel-Seite)38 und einen zweiten Pushbus (Master-Seite)40 . Der Pullbus enthält einen ersten Pullbus (Ziel-Seite)42 und einen zweiten Pullbus44 (Master-Seite). Auf der Ziel-Seite werden der Ziel-Pushbus38 und der Ziel-Pullbus42 von den Zielen dafür benutzt, Befehle und Daten zwischen den Zielen und dem Pushbusarbiter20 bzw. dem Pullbusarbiter22 zu transportieren. - Die Master
12a und12b benutzen den Befehlsbusarbiter19 zum Arbitrieren für die Benutzung des Befehlsbusses30 und insbesondere des zielseitigen Befehlsbusses37 . Die Ziele14a ,14b ,14c benutzen jeweils den Pushbusarbiter20 und den Pullbusarbiter22 zum Arbitrieren für die Benutzung des masterseitigen Pushbusses40 bzw. des Pullbusses34 . Die Steuersignale in Verbindung mit der Busarbitrierung (nicht gezeigt) werden später unter Bezug auf die4 -6 besprochen. - Wenden wir uns
3 zu, wo ein beispielhaftes Format eines Befehls50 gezeigt ist, der über den Befehlsbus30 transportiert wird. Der Befehl50 ist in mehrere Felder52a ,52b ,52c , ...,52p unterteilt, die codierte Informationen transportieren. Die Felder52 können unterschiedliche Breiten haben. Die Felder52 enthalten ein Ziel-ID-Feld52a und ein Operations-(oder Befehls-)Artfeld52b . Jedes Ziel14 hat eine einmalige, festverdrahtete Identifikationsnummer ("ID"). Das Ziel-ID-Feld52a zeigt anhand der ID an, welches der Ziele den Befehl entgegennehmen soll. Die Master12 senden einen Befehl im Format des Befehls50 an alle Ziele14 , welche die Ziel-ID parallel decodieren, um festzustellen, ob der Befehl50 für die gedacht ist. Ein Satz Codes, die den Ziel-IDs für einen beispielhaften Satz Ziele entsprechen, ist in TABELLE 1 gezeigt:Code Ziel 00 0000 Keines (kein Befehl auf dem Befehlsbus) 00 0001 Medienschnittstelle 00 0010 SRAM-Schnittstelle 00 0011 DRAM-Schnittstelle 00 1001 Buscontroller 00 0100 Hash-Einheit - Das Operationsartfeld
52b spezifiziert eine Operationsart. - Jedes Ziel interpretiert die Operationsart, die durch den Code in dem Operationsartfeld
52b spezifiziert wird, um die auszuführende Operation zu bestimmen. Der Wert in dem Operationsartfeld52b bestimmt, wie Werte in anderen Feldern durch jedes Ziel zu interpretieren sind. Die Operationsart kann so viele verschiedene Codierungen von Informationen wie Operationsarten enthalten, die die meisten (wenn nicht gar alle) Ziel-Einheiten unterstützen, zum Beispiel Lesen und Schreiben. Eines oder mehrere der Felder52c -52p können – je nach dem Wert im Operationsartfeld – auch als Operationsart-Erweiterung verwendet werden. Eine beispielhafte Codierung für einige Befehlsarten, die durch die in TABELLE 1 oben gezeigten Ziele unterstützt werden, sind in TABELLE 2 gezeigt:Code DRAM-Schnittstelle SRAM-Schnittstelle Hash-Einheit Medien-Schnittstelle Buscontroller 0000 Lesen Lesen Hash Lesen Lesen 0001 Schreiben Schreiben Reserviert Schreiben Schreiben 0010 Empfange Puffer-Lesen Tausch Reserviert Reserviert Reserviert 0011 Übertrage_ Puffer-Schreiben Bits setzen Reserviert Reserviert Reserviert 0100 Kontrollstatusregister (KSR)-Lesen Bits löschen Reserviert Reserviert Reserviert 0101 KSR-Schreiben Hinzufügen Reserviert Reserviert Reserviert - Die übrigen Felder
52c bis52p (entsprechend den Feldern Feld_1, Feld_2, ..., Feld_N) speichern andere Parameter, die von den Zielen14 verwendet werden, wie zum Beispiel Adresse und Burst-Zählwert. Zum Beispiel, und wie in dem Befehlsformat von3 gezeigt, wird Feld3 verwendet, um eine Push/Pull-ID53 zu spezifizieren, die unter anderen Informationsarten eine Quelle oder einen Bestimmungsort54 identifiziert. Die Push/Pull-ID53 wird über den Befehlsbus30 an das Ziel14 übermittelt und durch das Ziel an den Pushbusarbiter oder den Pullbusarbiter übermittelt, wenn der Befehl bedient wird. Der Pushbusarbiter bzw. der Pullbusarbiter wiederum übermittelt die Push/Pull-ID an die entsprechende Quelle (im Fall einer Pulloperation) oder den entsprechenden Bestimmungsort (im Fall einer Pushoperation) als eine Adresse. Die Definition von Feldern in dem Push/Pull-ID-Feld kann von der spezifizierten Quelle oder dem spezifizierten Bestimmungsort abhängen. Außerdem kann eines oder können mehrere der Felder 1 bis N auf der Grundlage der Operationsart anderweitig verwendet werden. Zum Beispiel kann ein Feld Byte-Masken für eine Schreib-Operationsart und eine Prioritätsstufe für eine Lese-Operationsart anzeigen. - Gemäß dem Busprotokoll von System
10 interpretiert jedes Ziel, das einen Befehl in Form des Befehls50 empfängt, die Felder52 für jedes Ziel einzeln. Dies ermöglicht es den Zielen, einen reichhaltigen Satz Funktionen bereitzustellen, wie zum Beispiel Lesen-Modifizieren-Schreiben mit programmierbarem Modifizieren, Datentransformation (zum Beispiel Ausführen eines Hash an Operanden und Rückmeldung des Ergebnisses) und schnelles Schreiben (Nutzen einiger Felder des Befehls, um Daten zu spezifizieren, und anderer, um eine Adresse zu spezifizieren, wodurch die Latenz und die Ressourcennutzung eines Datenbusses entfällt). - Die Master
12 geben Befehle an die Ziele14 auf der Grundlage einer Instruktionsausführung oder eines sonstigen geeigneten Mechanismus' aus. Wenn zum Beispiel der Master ein Buscontroller ist, so kann er Befehle als ein Ergebnis einer DMA-Operation ausgeben, oder wenn durch ein anderes Gerät an dem Bus, den er steuert, auf ihn zugegriffen wird. - Wenden wir uns
4 zu, wo ein Befehlsbusdatenpfad60 gezeigt ist. Der Befehlsarbiter19 enthält eine Arbitriereinheit62 , die ein Befehlswarteschlange-voll-Signal64 als Eingang von jedem der Ziele14 empfängt. Das Befehls warteschlange-voll-Signal64 zeigt an, wenn eine Schwellenfülle einer Befehlswarteschlange66 in jedem Ziel erreicht ist. Die Arbitriereinheit62 empfängt Befehlsanforderungen über Befehlsanforderungseingangsleitungen68 von den Mastern12 und übermittelt auf Gewährungsausgabeleitungen70 an die Master12 Gewährungen der Befehlsbusanforderungen durch die Master12 . - Jeder Busmaster
12 , der einen Befehl auf dem Befehlsbus30 absetzen möchte, sendet zuerst eine Anforderung an die Arbitriereinheit60 auf einer jeweiligen der Eingangsleitungen68 . Diese Anforderung zeigt die ID des Ziels an, mit dem der Master kommunizieren möchte. Wie zuvor erwähnt, empfängt die Arbitriereinheit62 auch Signale von jedem Ziel14 , die anzeigen, ob die Befehlswarteschlange66 dieses Ziels voll ist oder nicht. Die Arbitriereinheit62 verwendet die Befehlswarteschlange-voll-Informationen zum Verhindern von Gewährungen an die Befehlsanforderer, wenn die Befehlswarteschlange des Ziels, das sie brauchen, voll ist, während sie Anforderern für andere Ziele gestattet, Gewährungen zu erhalten. Das Arbitrierungsschma der Arbitriereinheit62 kann zum Beispiel ein Reigenschema sein und kann eine programmierbare Priorität für bestimmte Master verwenden. Das Arbitrierungsschema der Arbitriereinheit62 gewährt situationsabhängig einem anderen Busmaster Zugriff, wenn eine von zwei Bedingungen eintritt: Ein Master ist dafür vorgesehen, Zugriff gewährt zu bekommen, aber es steht keine Anforderung an; oder ein Master ist dafür vorgesehen, Zugriff gewährt zu bekommen, aber die Befehlswarteschlange des angeforderten Ziels ist voll. - Wenn die Arbitriereinheit
62 einer Busanforderung eines Masters stattgegeben hat, so überträgt dieser Master einen Befehl auf einem entsprechenden der Masterbefehlsbusse36 an den Befehlsbusarbiter19 . Der Befehlsbusarbiter19 enthält auch einen Multiplexer (MUX)72 , der einen Befehl von einem Master empfängt und von der Arbitriereinheit62 in die Lage versetzt wurde, die Übertragung des Befehls über den Befehlsbus37 an die Ziele zu steuern. -
5 zeigt Details eines Pushbusdatenpfades80 . Der Pushbusarbiter20 enthält mehrere Pushbefehlswarteschlangen82a ,82b ,82c ,82d , eine für jedes unterstützte Ziel, die mit einem Multiplexer (MUX)84 und einer Pushbusarbitriereinheit86 verbunden sind. Die Pushbefehlswarteschlangen82a ,82b ,82c ,82d sind mit entsprechenden Zielen14a ,14b ,14c bzw. Ziel-"Master12a " (für Operationen, bei denen der Master 0 als ein Ziel fungiert) durch Gruppen von Pushdatenbussen88 und Pushbefehlsbussen90 , eine Gruppe für jedes Ziel in dem System, verbunden, das heißt, Busse88a und90a für Ziel14a , Busse88b und90b für Ziel14 , Busse88c und90c für Ziel14c und Busse88d und90d für Master12a (als ein Ziel). Der zielseitige Bus38 enthält auch ein Pushbefehlswarteschlange-voll-Signal (Push_CmdQ_Full)91 , um einem Ziel anzuzeigen, dass seine entsprechende Pushbefehlswarteschlange einen vorgegebenen Füllgrad erreicht hat. Der masterseitige Pushbus40 (von2 ) enthält einen Push-ID-Bus92 und einen Pushdatenbus94 . - Nachdem ein Ziel, das einen Befehl empfangen und decodiert hat, der an dieses Ziel gerichtet war, sendet angeforderte Daten an eine entsprechende der Warteschlangen
82 auf dem entsprechenden Pushdatenbus88 . Somit speichern die Pushbefehlswarteschlangen eine Kombination aus Pushdaten und Pushbefehlen. Die Pushbefehle enthalten Push-IDs, die an die Arbitriereinheiten86 übermittelt werden. - Daten, die in Einträgen der Pushbefehlswarteschlangen
82 gespeichert sind, werden in den MUX84 eingespeist. Die Arbitriereinheit86 wählt eine der Pushbefehlswarteschlangen82 aus. Die Arbitriereinheit86 übermittelt somit ein Auswahlsignal96 an den MUX84 , um den MUX84 in die Lage zu versetzen, als Ausgang (zum Übertragen auf dem Pushdatenbus94 ) Daten aus der ausgewählten Pushbefehlswarte schlange bereitzustellen, und überträgt die Push-ID aus der ausgewählten Pushbefehlswarteschlange auf dem Push-ID-Bus92 . - Wenden wir uns
6 zu, wo ein Pullbusdatenpfad100 gezeigt ist. Auf der Ziel-Seite des Pullbusarbiters22 sind die Ziele14 durch den Pullbus42 (von2 ) mit dem Pullbusarbiter22 verbunden. Die Master12 sind durch den masterseitigen Pullbus44 (von2 ) mit dem Pullbusarbiter22 verbunden. Die Ziele14 sind Endpunkte, und die Master12 sind Quellen für eine Pulloperation. - Der Pullbusarbiter
22 enthält einen Multiplexer (MUX)102 , eine Arbitriereinheit104 und Pullbefehlswarteschlangen106a ,106b ,106c ,106d , eine für jedes unterstützte Ziel, die mit der Pullbusarbitriereinheit104 verbunden sind. Die Pullbefehlswarteschlangen106a ,106b ,106c ,106d sind mit entsprechenden Zielen14a ,14b ,14c bzw. Ziel-"Master12a " (für Operationen, bei denen der Master 0 als ein Ziel fungiert) durch Pulldatenbusse108a ,108b ,108c bzw.108d und Pullbefehlsbusse110a ,110b ,110c bzw.110d verbunden. Gemeinsam bilden die Busse108 ,110 den zielseitigen Pullbus42 . Der Arbiter22 übermittelt auch ein Pullbefehlswarteschlange-voll-Signal (Pull_CmdQ_Full)111 an ein Ziel, um dem Ziel anzuzeigen, dass die entsprechende Pullbefehlswarteschlange106 fast voll ist, und ein Signal Take Data112 , um einem Ziel anzuzeigen, dass Pulldaten zu dem Ziel übertragen wurden. - Der masterseitige Pullbus
44 enthält einen Pulldatenbus112a für den Master12a und einen Pulldatenbus113b für den Master12b . Der Pulldatenbus113 wird von den Mastern verwendet, um Pulldaten an den Arbiter22 , oder genauer gesagt, an den Multiplexer102 zu senden. Der Pullbus44 enthält auch einen Pull-ID-Bus114 und ein Pull-ausgeführt-Signal (Pull_Sig_Done)116 , die es dem Arbiter22 ermögli chen, während einer Pull-(oder Schreib-)Operation Informationen an den Master zu übermitteln. - Jedes der Ziele verwendet einen (nicht gezeigten) Datenpuffer zum Speichern von Pull-(oder Schreib-)Daten. Das Ziel empfängt den Befehl
50 über den Befehlsbus37 (in den2 und4 gezeigt) und bestimmt anhand des Operationenartfeldes52b (3 ) des Befehls, dass die Operation eine Pulloperation ist. Wenn das Ziel in dem Datenpuffer Platz für die Menge an Daten hat, die in dem Befehl spezifiziert ist, so arbitriert es für das Benutzen des Pulldatenbusses34 . Die Informationen, die die Position der Daten spezifizieren (das heißt, welcher Master und welche Speicherposition durch den Master für die Daten verwendet werden), wurden in dem Pull-ID-Feld53 des Befehls50 dargestellt. Weil sich diese Informationen in einem Befehlsfeld befinden, braucht die Einheit, die als die Quelle der Pulsdaten identifiziert wurde, nicht der Master zu sein, der den Befehl sandte. Die Quelle kann jede adressierbare Einheit sein, die einen Pfad zu dem Pulldatenbus108 hat. - Jedes Ziel sendet die volle Pull-ID und Länge (aus dem Befehl
50 gewonnen) für Informationen, die es zu dem Ziel ziehen möchte. Das Ziel muss Pufferplatz für die Pulldaten frei haben, wenn es die Pull-ID über den entsprechenden Pullbefehlsbus110 aufdrückt. - Die Pull-ID wird in eine entsprechende der Pullbefehlswarteschlangen
106 in dem Pullbusarbiter22 eingereiht, sofern nicht das Pull_CmdQ_Full-Signal111 für diese Pullbefehlswarteschlange aufgedrückt wird. Das Aufdrücken des Pull_CmdQ_Full-Signals111 zeigt an, dass die Pullbefehlswarteschlange106 für dieses konkrete Ziel eine vorgegebene Füllschwelle erreicht hat. - Die Arbitriereinheit
104 arbitriert zwischen den momentan gültigen Pull-IDs, die in die Pullbefehlswarteschlangen106 eingereiht wurden, um ein Ziel, oder genauer gesagt, eine Pull-ID, die durch dieses Ziel eingereiht wurde, auszuwählen. Das Arbitrierungsschema kann eines aus einer Anzahl allgemein bekannter Schemata sein, zum Beispiel das Reigenmodell oder ein auf Priorität basierendes Schema. Die Arbitriereinheit104 sendet die ausgewählte Pull-ID über den Pull-ID-Bus114 an die entsprechende Quelle. Der Pullbusarbiter22 drückt das Take_Data-Signal112 auf das ausgewählte Ziel auf. Die Quelle übermittelt die Pulldaten an den MUX102 , der in die Lage versetzt wird, die Pulldaten auf dem Pulldatenbus108 durch die Arbitriereinheit104 über das Steuersignal119 zu senden. Die Arbitriereinheit104 drückt das Pull_done-Signal116 auf die Quelle auf. - Somit untersteht der Schreibdatentransport der Steuerung durch das Ziel. Das Ziel einer Schreiboperation zieht die Schreib- oder Pulldaten über den Pullbus
34 , wenn es sie braucht, anstatt sie zur selben Zeit wie die Schreiboperationenart gesendet zu bekommen. Darum kann das Ziel interne Puffer für die Pulldaten zuweisen, je nachdem, wann das Ziel die Daten braucht und Pufferplatz frei hat. Des Weiteren, wie zuvor angesprochen, kann das Ziel Schreibdaten auch von einer anderen Quelle als dem Befehlsinitiator erhalten, wie durch Informationen in dem Befehl angewiesen. - Die Architektur des Systems
10 ermöglicht eine flexible Bandbreitenzuteilung über mehrere Instanziierungen der verschiedenen Busse und Arbiter. Weil es separate Busse für Befehle, Pulldaten und Pulldaten gibt, können die Busse inkrementell nach Bedarf hinzugefügt werden. - Kehren wir zu
4 zurück. Wenn die Steuerbandbreite für eine Anwendung nicht ausreicht, so könnten eine oder mehrere zusätzliche Kopien des Befehlsbusses37 und Arbiters19 zu dem System hinzugefügt werden. Jeder Arbiter19 könnte eine Teilmenge der Master unterstützen (zum Beispiel könnte in einer Vier-Master-Implementierung, bei der zwei Arbiter verwendet werden, jeder Arbiter ein anderes Paar der Master unterstützen), aber die Ziele würden Befehle von allen Mastern empfangen. - Für eine höhere Datenbusbandbreite könnten Kopien des Pushbusses und des Pullbusses, zusammen mit der entsprechenden Arbitrierlogik, hinzugefügt werden. Zum Beispiel könnten, mit Blick zurück auf
5 , zusätzliche masterseitige Busse40 und Arbiter20 zu dem System hinzugefügt werden. Der Pushdatenbus88 und der Befehlsbus90 jedes Ziels wären mit jedem der Arbiter verbunden, so dass kein Ziel mehr als eine einzige Gruppe Pushdaten-/Befehlsbusse anzusteuern brauchte. Jeder Arbiter würde die Master (Bestimmungsorte) kennen, mit denen er verdrahtet ist, und die Daten und IDs entsprechend einreihen. Jeder Arbiter20 und zugeordnete Bus40 könnten mit einer Teilmenge der Quellen verbunden sein. - Wenden wir uns
6 zu, wo Kopien des zielseitigen Pullbusses42 und der zugeordneten Arbitrierlogik zu dem System hinzugefügt werden könnten. Jeder Arbiter22 und Bus42 wäre mit jedem der Ziele verbunden. Jeder Arbiter22 und zugeordnete Bus44 könnte eine Teilmenge der Quellen unterstützen. Die Pullbusanordnung würde insofern der Pushbusanordnung ähneln, als jedes Ziel nur eine einzige Kopie der Pull-ID zu allen Arbitern zu übermitteln brauchte. Es werden jedoch einmalige Kopien der Pulldaten benötigt, da es möglich ist, dass an den Pullbussen während desselben Zyklus' gültige Daten anliegen. Im Fall von sowohl Push- als auch Pullbussen wären alle Arbiter mit allen Zielen verbunden, wodurch Daten zwischen jedem Master und jedem Ziel bewegt werden könnten. - Es liegen noch weitere Ausführungsformen innerhalb des Geltungsbereichs der folgenden Ansprüche.
Claims (21)
- Verfahren zum Bereitstellen einer flexiblen Bandbreitenzuteilung über mehrere Instanziierungen separater Busse, wobei das Verfahren Folgendes umfasst: Übermitteln eines Befehls (
50 ), der eine Zielidentifikation (52a ) enthält, zwischen einem oder mehreren Busmastern (12 ) und Buszielen (14 ) über eine Busstruktur (18 ), wobei der Befehl Informationen enthält, die durch eines der Busziele anhand der Zielidentifikation unterschiedlich interpretiert werden, dadurch gekennzeichnet, dass die Busstruktur (18 ) Folgendes enthält: einen separaten Befehlsbus (30 ), Pushbus (32 ), Pullbus (34 ), und Arbiter (19 ,20 ,22 ), die Folgendes enthalten: einen Befehlsarbiter (19 ), der dem Befehlsbus (30 ) zugeordnet ist, wobei die Busmaster (12 ) den Befehlsarbiter (19 ) dafür verwenden, um für eine Nutzung des Befehlsbusses (30 ) zu arbitrieren; einen Pusharbiter (20 ), der dem Pushbus (32 ) zugeordnet ist, und einen Pullarbiter (22 ), der dem Pullbus (34 ) zugeordnet ist, wobei die Busziele (14 ) den Pusharbiter (20 ) und den Pullarbiter (22 ) verwenden, um den Pushbus (32 ) bzw. den Pullbus (34 ) zu verwenden. - Verfahren nach Anspruch 1, wobei die Zielidentifikation (
52a ) ein Feld in dem Befehl (50 ) ist. - Verfahren nach Anspruch 1, wobei das Übermitteln enthält, den Befehl (
50 ) an alle Busziele (14 ) über den Befehlsbus (30 ) zu senden, so dass jedes Busziel feststellen kann, ob der Befehl für das betreffende Ziel gedacht ist. - Verfahren nach Anspruch 1, wobei das in dem Befehl (
50 ) identifizierte Busziel (14 ) die Übermittlung von Informationen über den Pushbus (32 ) zu einem der Busmaster (12 ) für eine Pushoperation zu steuern. - Verfahren nach Anspruch 4, wobei der eine der Busmaster (
12 ) in dem Befehl (50 ) mittels eines Identifikators in einem Bestimmungsortfeld (54 ) in dem Befehl identifiziert wird. - Verfahren nach Anspruch 1, wobei das in dem Befehl (
50 ) identifizierte Busziel (14 ) dafür geeignet ist, die Übermittlung von Informationen über den Pullbus (34 ) von einem der Busmaster (12 ) zu dem Busziel (14 ) für eine Pulloperation zu steuern. - Verfahren nach Anspruch 6, wobei der eine der Busmaster (
12 ) in dem Befehl (50 ) durch einen Identifikator in einem Quellenfeld (54 ) in dem Befehl identifiziert wird. - Verfahren nach Anspruch 1, wobei der Befehl (
50 ) so formatiert ist, dass er eine von mehreren Operationsarten spezifiziert, und der Befehl wenigstens ein Feld enthält, das entsprechend der einen der mehreren Operationsarten, die im dem Befehl spezifiziert ist, interpretiert wird. - Verfahren nach Anspruch 1, das mehrere Einheiten (
12 ,14 ) umfasst, wobei wenigstens eine der Einheiten einmal als einer der Busmaster (12 ) fungiert und ein anderes Mal als eines der Busziele (14 ) fungiert. - Gegenstand zum Bereitstellen einer flexiblen Bandbreitenzuteilung über mehrere Instanziierungen separater Busse, wobei der Gegenstand Folgendes umfasst: ein Speichermedium, auf dem Anweisungen gespeichert sind, die, wenn sie durch eine Maschine ausgeführt werden, Folgendes zum Ergebnis haben: Übermitteln eines Befehls (
50 ) über eine Busstruktur (18 ) zu Buszielen (14 ), wobei der Befehl so formatiert ist, dass er eines der Busziele identifiziert und Informationen enthält, die anhand dessen, welches der Busziele identifiziert wird, unterschiedlich interpretiert werden, dadurch gekennzeichnet, dass die Busstruktur (18 ) Folgendes enthält: einen separaten Befehlsbus (30 ), Pushbus (32 ), Pullbus (34 ), und Arbiter (19 ,20 ,22 ), die Folgendes enthalten: einen Befehlsarbiter (19 ), der dem Befehlsbus (30 ) zugeordnet ist, wobei ein oder mehrere Busmaster (12 ) den Befehlsarbiter (19 ) dafür verwenden, um für eine Nutzung des Befehlsbusses (30 ) zu arbitrieren; einen Pusharbiter (20 ), der dem Pushbus (32 ) zugeordnet ist, und einen Pullarbiter (22 ), der dem Pullbus (34 ) zugeordnet ist, wobei die Busziele (14 ) den Pusharbiter (20 ) und den Pullarbiter (22 ) verwenden, um den Pushbus (32 ) bzw. den Pullbus (34 ) zu verwenden. - Vorrichtung (
10 ) zum Bereitstellen einer flexiblen Bandbreitenzuteilung über mehrere Instanziierungen se parater Busse, wobei die Vorrichtung Folgendes umfasst: mehrere Einheiten (12 ,14 ); eine Busstruktur (18 ) zum Ermöglichen eines Kommunikationsaustauschs zwischen den an die Busstruktur angeschlossenen Einheiten, wobei eine oder mehrere der Einheiten Busmaster (12 ) sind und andere der Einheiten Busziele (14 ) sind, wobei die Busmaster betreibbar sind, einen Befehl (50 ) über die Busstruktur an Busziele zu senden, wobei der Befehl so formatiert ist, dass er eines der Busziele identifiziert und Informationen enthält, die anhand dessen, welches der Busziele identifiziert wird, unterschiedlich interpretiert werden, dadurch gekennzeichnet, dass die Busstruktur (18 ) Folgendes enthält: einen separaten Befehlsbus (30 ), Pushbus (32 ), Pullbus (34 ), und Arbiter (19 ,20 ,22 ), die Folgendes enthalten: einen Befehlsarbiter (19 ), der dem Befehlsbus (30 ) zugeordnet ist, wobei die Busmaster (12 ) den Befehlsarbiter (19 ) dafür verwenden, um für eine Nutzung des Befehlsbusses (30 ) zu arbitrieren; einen Pusharbiter (20 ), der dem Pushbus (32 ) zugeordnet ist, und einen Pullarbiter (22 ), der dem Pullbus (34 ) zugeordnet ist, wobei die Busziele (14 ) den Pusharbiter und den Pullarbiter (22 ) verwenden, um den Pushbus (32 ) bzw. den Pullbus (34 ) zu verwenden. - Vorrichtung (
10 ) nach Anspruch 11, wobei der Befehl (50 ) über den Befehlsbus (30 ) an alle Busziele (14 ) gesendet wird und jedes Busziel feststellt, ob der Befehl für das betreffende Ziel gedacht ist. - Vorrichtung (
10 ) nach Anspruch 11, wobei das in dem Befehl (50 ) identifizierte Busziel (14 ) dafür geeignet ist, die Übermittlung von Informationen über den Pushbus (32 ) zu einem der Busmaster (12 ) für eine Pushoperation zu steuern. - Vorrichtung (
10 ) nach Anspruch 13, wobei der eine der Busmaster (12 ) in dem Befehl (50 ) mittels eines Identifikators in einem Bestimmungsortfeld (54 ) in dem Befehl identifiziert wird. - Vorrichtung (
10 ) nach Anspruch 11, wobei das in dem Befehl (50 ) identifizierte Busziel (14 ) dafür geeignet ist, die Übermittlung von Informationen über den Pullbus (34 ) von einem der Busmaster (12 ) zu dem Busziel für eine Pulloperation zu steuern. - Vorrichtung (
10 ) nach Anspruch 15, wobei der eine der Busmaster (12 ) in dem Befehl (50 ) durch einen Identifikator in einem Quellenfeld (54 ) in dem Befehl identifiziert wird. - Vorrichtung (
10 ) nach Anspruch 11, wobei der Befehl (50 ) so formatiert ist, dass er eine von mehreren Operationsarten spezifiziert, und der Befehl wenigstens ein Feld enthält, das entsprechend der einen der mehreren Operationsarten im dem Befehl interpretiert wird. - Vorrichtung (
10 ) zum Bereitstellen einer flexiblen Bandbreitenzuteilung über mehrere Instanziierungen se parater Busse, wobei die Vorrichtung Folgendes umfasst: einen Busmaster (12 ), der dafür geeignet ist, einen Befehl (50 ) über eine Busstruktur (18 ) an Busziele (14 ) zu senden, wobei der Befehl (50 ) so formatiert ist, dass er eines der Busziele identifiziert und Informationen enthält, die anhand dessen, welches der Busziele identifiziert wird, unterschiedlich interpretiert werden, dadurch gekennzeichnet, dass die Busstruktur (18 ) Folgendes enthält: einen separaten Befehlsbus (30 ), Pushbus (32 ), Pullbus (34 ), und Arbiter (19 ,20 ,22 ), die Folgendes enthalten: einen Befehlsarbiter (19 ), der dem Befehlsbus (30 ) zugeordnet ist, wobei der Busmaster (12 ) und mindestens ein weiterer Busmaster den Befehlsarbiter (19 ) dafür verwenden, um für eine Nutzung des Befehlsbusses (30 ) zu arbitrieren; einen Pusharbiter (20 ), der dem Pushbus (32 ) zugeordnet ist, und einen Pullarbiter (22 ), der dem Pullbus (34 ) zugeordnet ist, wobei die Busziele (14 ) den Pusharbiter (20 ) und den Pullarbiter (22 ) verwenden, um den Pushbus (32 ) bzw. den Pullbus (34 ) zu verwenden. - Vorrichtung (
10 ) nach Anspruch 18, wobei der Befehl (50 ) so formatiert ist, dass er eine von mehreren Operationsarten spezifiziert, und der Befehl wenigstens ein Feld enthält, das entsprechend der einen der mehreren Operationsarten, die im dem Befehl spezifiziert ist, interpretiert wird. - Vorrichtung (
10 ) zum Bereitstellen einer flexiblen Bandbreitenzuteilung über mehrere Instanziierungen separater Busse, wobei die Vorrichtung Folgendes umfasst: ein Busziel (14 ), das dafür geeignet ist, einen Befehl (50 ) von einem Busmaster (12 ) über eine Busstruktur (18 ) zu empfangen, wobei der Befehl so formatiert ist, dass er das Busziel, das den Befehl empfängt, identifiziert; und eine Logik in dem Busziel zum Interpretieren von Informationen, die von dem identifizierten Busziel empfangen werden, wobei die Logik in dem Busziel die Informationen anders interpretiert als eine entsprechende Logik in einem anderen Busziel, das an die Busstruktur angeschlossen ist, dadurch gekennzeichnet, dass die Busstruktur (18 ) Folgendes enthält: einen separaten Befehlsbus (30 ), Pushbus (32 ), Pullbus (34 ), und Arbiter (19 ,20 ,22 ), die Folgendes enthalten: einen Befehlsarbiter (19 ), der dem Befehlsbus (30 ) zugeordnet ist, wobei der Busmaster (12 ) und mindestens ein weiterer Busmaster, die an die Busstruktur angeschlossen sind, den Befehlsarbiter (19 ) dafür verwenden, um für eine Nutzung des Befehlsbusses (30 ) zu arbitrieren; und einen Pusharbiter (20 ), der dem Pushbus (32 ) zugeordnet ist, und einen Pullarbiter (22 ), der dem Pullbus (34 ) zugeordnet ist, wobei das Busziel (14 ) und mindestens ein weiteres Busziel, die an die Busstruktur angeschlossen sind, den Pusharbiter (20 ) und den Pullarbiter (22 ) verwenden, um den Pushbus (32 ) bzw. den Pullbus (34 ) zu verwenden. - Vorrichtung (
10 ) nach Anspruch 20, wobei eine Logik den Befehl (50 ) verarbeitet, der so formatiert ist, dass er eine von mehreren Operationsarten spezifiziert, und der Befehl wenigstens ein Feld enthält, das entsprechend der einen der mehreren Operationsarten, die im dem Befehl spezifiziert ist, interpretiert wird.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US212944 | 1980-12-04 | ||
US31514401P | 2001-08-27 | 2001-08-27 | |
US315144P | 2001-08-27 | ||
US10/212,944 US7225281B2 (en) | 2001-08-27 | 2002-08-05 | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
PCT/US2002/027430 WO2003019399A1 (en) | 2001-08-27 | 2002-08-27 | A multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60221406D1 DE60221406D1 (de) | 2007-09-06 |
DE60221406T2 true DE60221406T2 (de) | 2008-04-17 |
Family
ID=26907634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60221406T Expired - Lifetime DE60221406T2 (de) | 2001-08-27 | 2002-08-27 | Mehrprozessor-infrastruktur zur bereitstellung einer flexiblen bandweitenzuteilung über mehrere instanziierungen separater datenbusse, steuerbusse und unterstützungsmechanismen |
Country Status (8)
Country | Link |
---|---|
US (1) | US7225281B2 (de) |
EP (1) | EP1421504B1 (de) |
AT (1) | ATE368259T1 (de) |
AU (1) | AU2002339857A1 (de) |
CA (1) | CA2458572C (de) |
DE (1) | DE60221406T2 (de) |
TW (1) | TWI249674B (de) |
WO (1) | WO2003019399A1 (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7487505B2 (en) * | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US7337275B2 (en) * | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
US6941438B2 (en) * | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
KR100555501B1 (ko) * | 2003-06-26 | 2006-03-03 | 삼성전자주식회사 | 동적으로 버스 점유 우선 순위를 정하는 버스 중재기 및그 버스 중재 방법 |
US20050198361A1 (en) * | 2003-12-29 | 2005-09-08 | Chandra Prashant R. | Method and apparatus for meeting a given content throughput using at least one memory channel |
US20060067348A1 (en) * | 2004-09-30 | 2006-03-30 | Sanjeev Jain | System and method for efficient memory access of queue control data structures |
US7401184B2 (en) | 2004-11-19 | 2008-07-15 | Intel Corporation | Matching memory transactions to cache line boundaries |
US7555630B2 (en) * | 2004-12-21 | 2009-06-30 | Intel Corporation | Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit |
US20060140203A1 (en) * | 2004-12-28 | 2006-06-29 | Sanjeev Jain | System and method for packet queuing |
CN100365602C (zh) * | 2004-12-31 | 2008-01-30 | 北京中星微电子有限公司 | 实现多个主动装置对单一总线上从动装置进行存取的设备 |
US7283418B2 (en) * | 2005-07-26 | 2007-10-16 | Micron Technology, Inc. | Memory device and method having multiple address, data and command buses |
JP2007122410A (ja) * | 2005-10-28 | 2007-05-17 | Nec Electronics Corp | バス調停回路及びバス調停方法 |
US20070157030A1 (en) * | 2005-12-30 | 2007-07-05 | Feghali Wajdi K | Cryptographic system component |
US8185680B2 (en) * | 2006-02-06 | 2012-05-22 | Standard Microsystems Corporation | Method for changing ownership of a bus between master/slave devices |
JP5057833B2 (ja) * | 2007-04-24 | 2012-10-24 | 株式会社日立製作所 | 転送システム、イニシエータデバイス及びデータ転送方法 |
US7774529B2 (en) * | 2007-07-03 | 2010-08-10 | Panasonic Corporation | Bus communication apparatus that uses shared memory |
US8055719B2 (en) * | 2008-07-16 | 2011-11-08 | International Business Machines Corporation | Performance and reduce network traffic for remote hardware data scan operations |
DE102009001898A1 (de) | 2009-03-26 | 2010-09-30 | Robert Bosch Gmbh | Schaltungsanordnungen und Verfahren zur Steuerung eines Datenaustauschs in einer Schaltungsanordnung |
KR20120037785A (ko) * | 2010-10-12 | 2012-04-20 | 삼성전자주식회사 | 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법 |
Family Cites Families (172)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US388173A (en) * | 1888-08-21 | Eobeet b | ||
US3373408A (en) | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
US3478322A (en) | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
BE795789A (fr) | 1972-03-08 | 1973-06-18 | Burroughs Corp | Microprogramme comportant une micro-instruction de recouvrement |
US3881173A (en) | 1973-05-14 | 1975-04-29 | Amdahl Corp | Condition code determination and data processing |
IT986411B (it) | 1973-06-05 | 1975-01-30 | Olivetti E C Spa | Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario |
FR2253415A5 (de) * | 1973-12-04 | 1975-06-27 | Cii | |
US3913074A (en) | 1973-12-18 | 1975-10-14 | Honeywell Inf Systems | Search processing apparatus |
US4045782A (en) * | 1976-03-29 | 1977-08-30 | The Warner & Swasey Company | Microprogrammed processor system having external memory |
US4130890A (en) | 1977-06-08 | 1978-12-19 | Itt Industries, Inc. | Integrated DDC memory with bitwise erase |
US4392758A (en) * | 1978-05-22 | 1983-07-12 | International Business Machines Corporation | Underscore erase |
US4189767A (en) | 1978-06-05 | 1980-02-19 | Bell Telephone Laboratories, Incorporated | Accessing arrangement for interleaved modular memories |
JPS56164464A (en) | 1980-05-21 | 1981-12-17 | Tatsuo Nogi | Parallel processing computer |
US4400770A (en) | 1980-11-10 | 1983-08-23 | International Business Machines Corporation | Cache synonym detection and handling means |
CA1179069A (en) | 1981-04-10 | 1984-12-04 | Yasushi Fukunaga | Data transmission apparatus for a multiprocessor system |
US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
US4868735A (en) * | 1984-05-08 | 1989-09-19 | Advanced Micro Devices, Inc. | Interruptible structured microprogrammed sixteen-bit address sequence controller |
US4742451A (en) * | 1984-05-21 | 1988-05-03 | Digital Equipment Corporation | Instruction prefetch system for conditional branch instruction for central processor unit |
US4777587A (en) | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses |
JPS62103893A (ja) | 1985-10-30 | 1987-05-14 | Toshiba Corp | 半導体メモリ及び半導体メモリシステム |
US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
US4745544A (en) | 1985-12-12 | 1988-05-17 | Texas Instruments Incorporated | Master/slave sequencing processor with forced I/O |
US4724521A (en) * | 1986-01-14 | 1988-02-09 | Veri-Fone, Inc. | Method for operating a local terminal to execute a downloaded application program |
US5297260A (en) | 1986-03-12 | 1994-03-22 | Hitachi, Ltd. | Processor having a plurality of CPUS with one CPU being normally connected to common bus |
US4992934A (en) * | 1986-12-15 | 1991-02-12 | United Technologies Corporation | Reduced instruction set computing apparatus and methods |
US5073864A (en) | 1987-02-10 | 1991-12-17 | Davin Computer Corporation | Parallel string processor and method for a minicomputer |
US4866664A (en) | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
US5142683A (en) | 1987-03-09 | 1992-08-25 | Unisys Corporation | Intercomputer communication control apparatus and method |
DE68913629T2 (de) | 1988-03-14 | 1994-06-16 | Unisys Corp | Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem. |
US5008808A (en) * | 1988-06-23 | 1991-04-16 | Storage Technology Corporation | Consolidation of commands in a buffered input/output device |
US5165025A (en) | 1988-10-06 | 1992-11-17 | Lass Stanley E | Interlacing the paths after a conditional branch like instruction |
US5142676A (en) * | 1988-12-28 | 1992-08-25 | Gte Laboratories Incorporated | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory |
US5155854A (en) | 1989-02-03 | 1992-10-13 | Digital Equipment Corporation | System for arbitrating communication requests using multi-pass control unit based on availability of system resources |
US5155831A (en) | 1989-04-24 | 1992-10-13 | International Business Machines Corporation | Data processing system with fast queue store interposed between store-through caches and a main memory |
US5166872A (en) | 1989-07-17 | 1992-11-24 | Ability Technologies Corporation | System and method for controlling devices through communication processors and pluralities of address-associated device controllers sharing each communication processor |
US5113516A (en) * | 1989-07-31 | 1992-05-12 | North American Philips Corporation | Data repacker having controlled feedback shifters and registers for changing data format |
US5168555A (en) | 1989-09-06 | 1992-12-01 | Unisys Corporation | Initial program load control |
US5263169A (en) | 1989-11-03 | 1993-11-16 | Zoran Corporation | Bus arbitration and resource management for concurrent vector signal processor architecture |
DE3942977A1 (de) | 1989-12-23 | 1991-06-27 | Standard Elektrik Lorenz Ag | Verfahren zum wiederherstellen der richtigen zellfolge, insbesondere in einer atm-vermittlungsstelle, sowie ausgangseinheit hierfuer |
US5247671A (en) * | 1990-02-14 | 1993-09-21 | International Business Machines Corporation | Scalable schedules for serial communications controller in data processing systems |
JPH0799812B2 (ja) * | 1990-03-26 | 1995-10-25 | 株式会社グラフイックス・コミュニケーション・テクノロジーズ | 信号符号化装置および信号復号化装置、並びに信号符号化復号化装置 |
EP0449369B1 (de) | 1990-03-27 | 1998-07-29 | Koninklijke Philips Electronics N.V. | Datenverarbeitungssystem mit einem leistungsverbessernden Befehlscachespeicher |
US5390329A (en) | 1990-06-11 | 1995-02-14 | Cray Research, Inc. | Responding to service requests using minimal system-side context in a multiprocessor environment |
CA2045790A1 (en) * | 1990-06-29 | 1991-12-30 | Richard Lee Sites | Branch prediction in high-performance processor |
US5347648A (en) | 1990-06-29 | 1994-09-13 | Digital Equipment Corporation | Ensuring write ordering under writeback cache error conditions |
US5404482A (en) | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
US5432918A (en) | 1990-06-29 | 1995-07-11 | Digital Equipment Corporation | Method and apparatus for ordering read and write operations using conflict bits in a write queue |
US5367678A (en) | 1990-12-06 | 1994-11-22 | The Regents Of The University Of California | Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically |
EP0522513A2 (de) * | 1991-07-09 | 1993-01-13 | Hughes Aircraft Company | Hochgeschwindigkeitsparallelmicrokodeprogrammsteuerung |
US5255239A (en) | 1991-08-13 | 1993-10-19 | Cypress Semiconductor Corporation | Bidirectional first-in-first-out memory device with transparent and user-testable capabilities |
US5623489A (en) | 1991-09-26 | 1997-04-22 | Ipc Information Systems, Inc. | Channel allocation system for distributed digital switching network |
US5392412A (en) | 1991-10-03 | 1995-02-21 | Standard Microsystems Corporation | Data communication controller for use with a single-port data packet buffer |
GB2260429B (en) | 1991-10-11 | 1995-05-24 | Intel Corp | Versatile cache memory |
US5392391A (en) | 1991-10-18 | 1995-02-21 | Lsi Logic Corporation | High performance graphics applications controller |
DE69231957T2 (de) | 1991-10-21 | 2002-04-04 | Toshiba Kawasaki Kk | Hochgeschwindigkeitsprozessor zum fähiger Abhandeln mehrerer Unterbrechungen |
US5452437A (en) | 1991-11-18 | 1995-09-19 | Motorola, Inc. | Methods of debugging multiprocessor system |
US5357617A (en) | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
US5442797A (en) | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
JP2823767B2 (ja) | 1992-02-03 | 1998-11-11 | 松下電器産業株式会社 | レジスタファイル |
US5459842A (en) | 1992-06-26 | 1995-10-17 | International Business Machines Corporation | System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory |
DE4223600C2 (de) | 1992-07-17 | 1994-10-13 | Ibm | Mehrprozessor-Computersystem und Verfahren zum Übertragen von Steuerinformationen und Dateninformation zwischen wenigstens zwei Prozessoreinheiten eines Computersystems |
US5274770A (en) | 1992-07-29 | 1993-12-28 | Tritech Microelectronics International Pte Ltd. | Flexible register-based I/O microcontroller with single cycle instruction execution |
US5442756A (en) * | 1992-07-31 | 1995-08-15 | Intel Corporation | Branch prediction and resolution apparatus for a superscalar computer processor |
US5692167A (en) | 1992-07-31 | 1997-11-25 | Intel Corporation | Method for verifying the correct processing of pipelined instructions including branch instructions and self-modifying code in a microprocessor |
US5649109A (en) * | 1992-10-22 | 1997-07-15 | Digital Equipment Corporation | Apparatus and method for maintaining forwarding information in a bridge or router using multiple free queues having associated free space sizes |
US5481683A (en) * | 1992-10-30 | 1996-01-02 | International Business Machines Corporation | Super scalar computer architecture using remand and recycled general purpose register to manage out-of-order execution of instructions |
US5450603A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | SIMD architecture with transfer register or value source circuitry connected to bus |
KR100313261B1 (ko) | 1992-12-23 | 2002-02-28 | 앙드래베이너,조엘브르리아드 | 저전력형다중작업제어기(명칭정정) |
US5404464A (en) | 1993-02-11 | 1995-04-04 | Ast Research, Inc. | Bus control system and method that selectively generate an early address strobe |
US5448702A (en) | 1993-03-02 | 1995-09-05 | International Business Machines Corporation | Adapters with descriptor queue management capability |
US5522069A (en) | 1993-04-30 | 1996-05-28 | Zenith Data Systems Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
WO1994027216A1 (en) | 1993-05-14 | 1994-11-24 | Massachusetts Institute Of Technology | Multiprocessor coupling system with integrated compile and run time scheduling for parallelism |
CA2122182A1 (en) | 1993-05-20 | 1994-11-21 | Rene Leblanc | Method for rapid prototyping of programming problems |
US5363448A (en) | 1993-06-30 | 1994-11-08 | United Technologies Automotive, Inc. | Pseudorandom number generation and cryptographic authentication |
CA2107299C (en) | 1993-09-29 | 1997-02-25 | Mehrad Yasrebi | High performance machine for switched communications in a heterogenous data processing network gateway |
US5446736A (en) | 1993-10-07 | 1995-08-29 | Ast Research, Inc. | Method and apparatus for connecting a node to a wireless network using a standard protocol |
US5450351A (en) | 1993-11-19 | 1995-09-12 | International Business Machines Corporation | Content addressable memory implementation with random access memory |
US6079014A (en) * | 1993-12-02 | 2000-06-20 | Intel Corporation | Processor that redirects an instruction fetch pipeline immediately upon detection of a mispredicted branch while committing prior instructions to an architectural state |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
EP0661625B1 (de) * | 1994-01-03 | 1999-09-08 | Intel Corporation | Verfahren und Vorrichtung zum Implementieren eines vierstufigen Verzweigungsauflosungssystem in einem Rechnerprozessor |
US5490204A (en) | 1994-03-01 | 1996-02-06 | Safco Corporation | Automated quality assessment system for cellular networks |
US5659722A (en) * | 1994-04-28 | 1997-08-19 | International Business Machines Corporation | Multiple condition code branching system in a multi-processor environment |
US5542088A (en) | 1994-04-29 | 1996-07-30 | Intergraph Corporation | Method and apparatus for enabling control of task execution |
US5721870A (en) | 1994-05-25 | 1998-02-24 | Nec Corporation | Lock control for a shared main storage data processing system |
US5544236A (en) | 1994-06-10 | 1996-08-06 | At&T Corp. | Access to unsubscribed features |
US5574922A (en) | 1994-06-17 | 1996-11-12 | Apple Computer, Inc. | Processor with sequences of processor instructions for locked memory updates |
FR2722041B1 (fr) * | 1994-06-30 | 1998-01-02 | Samsung Electronics Co Ltd | Decodeur de huffman |
US5666551A (en) * | 1994-06-30 | 1997-09-09 | Digital Equipment Corporation | Distributed data bus sequencing for a system bus with separate address and data bus protocols |
US5640538A (en) * | 1994-08-22 | 1997-06-17 | Adaptec, Inc. | Programmable timing mark sequencer for a disk drive |
US5813031A (en) * | 1994-09-21 | 1998-09-22 | Industrial Technology Research Institute | Caching tag for a large scale cache computer memory system |
US5717760A (en) * | 1994-11-09 | 1998-02-10 | Channel One Communications, Inc. | Message protection system and method |
US5610864A (en) * | 1994-12-23 | 1997-03-11 | Micron Technology, Inc. | Burst EDO memory device with maximized write cycle timing |
US5550816A (en) | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US5649157A (en) | 1995-03-30 | 1997-07-15 | Hewlett-Packard Co. | Memory controller with priority queues |
TW360852B (en) * | 1995-04-12 | 1999-06-11 | Matsushita Electric Ind Co Ltd | Pipeline processor |
US5592622A (en) | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
US5812799A (en) * | 1995-06-07 | 1998-09-22 | Microunity Systems Engineering, Inc. | Non-blocking load buffer and a multiple-priority memory system for real-time multiprocessing |
US5541920A (en) * | 1995-06-15 | 1996-07-30 | Bay Networks, Inc. | Method and apparatus for a delayed replace mechanism for a streaming packet modification engine |
KR0180169B1 (ko) * | 1995-06-30 | 1999-05-01 | 배순훈 | 가변길이 부호기 |
US5613071A (en) * | 1995-07-14 | 1997-03-18 | Intel Corporation | Method and apparatus for providing remote memory access in a distributed memory multiprocessor system |
US5680641A (en) | 1995-08-16 | 1997-10-21 | Sharp Microelectronics Technology, Inc. | Multiple register bank system for concurrent I/O operation in a CPU datapath |
US5689566A (en) | 1995-10-24 | 1997-11-18 | Nguyen; Minhtam C. | Network with secure communications sessions |
KR0150072B1 (ko) | 1995-11-30 | 1998-10-15 | 양승택 | 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치 |
US5699537A (en) | 1995-12-22 | 1997-12-16 | Intel Corporation | Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions |
US5790813A (en) * | 1996-01-05 | 1998-08-04 | Unisys Corporation | Pre-arbitration system allowing look-around and bypass for significant operations |
US5978874A (en) * | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
US5829033A (en) * | 1996-07-01 | 1998-10-27 | Sun Microsystems, Inc. | Optimizing responses in a coherent distributed electronic system including a computer system |
US5933627A (en) * | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
US6173349B1 (en) * | 1996-10-18 | 2001-01-09 | Samsung Electronics Co., Ltd. | Shared bus system with transaction and destination ID |
US6029228A (en) * | 1996-12-31 | 2000-02-22 | Texas Instruments Incorporated | Data prefetching of a load target buffer for post-branch instructions based on past prediction accuracy's of branch predictions |
EP0898819B1 (de) * | 1997-01-10 | 2004-08-04 | Koninklijke Philips Electronics N.V. | Kommunikationsbussystem |
US5893162A (en) * | 1997-02-05 | 1999-04-06 | Transwitch Corp. | Method and apparatus for allocation and management of shared memory with data in memory stored as multiple linked lists |
US5742587A (en) | 1997-02-28 | 1998-04-21 | Lanart Corporation | Load balancing port switching hub |
US5941949A (en) * | 1997-05-14 | 1999-08-24 | Citrix Systems, Inc. | System and method for transmitting data from a server application to more than one client node |
US6047334A (en) * | 1997-06-17 | 2000-04-04 | Intel Corporation | System for delaying dequeue of commands received prior to fence command until commands received before fence command are ordered for execution in a fixed sequence |
US6233599B1 (en) * | 1997-07-10 | 2001-05-15 | International Business Machines Corporation | Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers |
US6104700A (en) * | 1997-08-29 | 2000-08-15 | Extreme Networks | Policy based quality of service |
US6223277B1 (en) * | 1997-11-21 | 2001-04-24 | Texas Instruments Incorporated | Data processing circuit with packed data structure capability |
US6029170A (en) * | 1997-11-25 | 2000-02-22 | International Business Machines Corporation | Hybrid tree array data structure and method |
US6212602B1 (en) * | 1997-12-17 | 2001-04-03 | Sun Microsystems, Inc. | Cache tag caching |
US6230119B1 (en) * | 1998-02-06 | 2001-05-08 | Patrick Michael Mitchell | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6724767B1 (en) * | 1998-06-27 | 2004-04-20 | Intel Corporation | Two-dimensional queuing/de-queuing methods and systems for implementing the same |
US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
US6449289B1 (en) * | 1998-10-09 | 2002-09-10 | Adaptec, Inc. | Multi-processor bus protocol system |
US6247086B1 (en) * | 1998-11-12 | 2001-06-12 | Adaptec, Inc. | PCI bridge for optimized command delivery |
US6182183B1 (en) * | 1998-11-13 | 2001-01-30 | Sonics, Inc. | Communications system and method with multilevel connection identification |
US6230261B1 (en) * | 1998-12-02 | 2001-05-08 | I. P. First, L.L.C. | Method and apparatus for predicting conditional branch instruction outcome based on branch condition test type |
GB2344665B (en) * | 1998-12-08 | 2003-07-30 | Advanced Risc Mach Ltd | Cache memory |
US6378124B1 (en) * | 1999-02-22 | 2002-04-23 | International Business Machines Corporation | Debugger thread synchronization control points |
US6570877B1 (en) * | 1999-04-07 | 2003-05-27 | Cisco Technology, Inc. | Search engine for forwarding table content addressable memory |
US6401149B1 (en) * | 1999-05-05 | 2002-06-04 | Qlogic Corporation | Methods for context switching within a disk controller |
US6351808B1 (en) * | 1999-05-11 | 2002-02-26 | Sun Microsystems, Inc. | Vertically and horizontally threaded processor with multidimensional storage for storing thread data |
US6457078B1 (en) * | 1999-06-17 | 2002-09-24 | Advanced Micro Devices, Inc. | Multi-purpose bi-directional control bus for carrying tokens between initiator devices and target devices |
US6490642B1 (en) * | 1999-08-12 | 2002-12-03 | Mips Technologies, Inc. | Locked read/write on separate address/data bus using write barrier |
US6539439B1 (en) * | 1999-08-18 | 2003-03-25 | Ati International Srl | Method and apparatus for interfacing a bus at an independent rate with input/output devices |
US6643726B1 (en) * | 1999-08-18 | 2003-11-04 | Ati International Srl | Method of manufacture and apparatus of an integrated computing system |
US6430646B1 (en) * | 1999-08-18 | 2002-08-06 | Ati International Srl | Method and apparatus for interfacing a processor with a bus |
US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6529999B1 (en) * | 1999-10-27 | 2003-03-04 | Advanced Micro Devices, Inc. | Computer system implementing system and method for ordering write operations and maintaining memory coherency |
US6523108B1 (en) * | 1999-11-23 | 2003-02-18 | Sony Corporation | Method of and apparatus for extracting a string of bits from a binary bit string and depositing a string of bits onto a binary bit string |
US6823399B2 (en) * | 1999-12-06 | 2004-11-23 | Sony Corporation | Apparatus control method and transmission device |
US6889319B1 (en) * | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
US6357016B1 (en) * | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6307789B1 (en) * | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US7051329B1 (en) * | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6631462B1 (en) * | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US6278289B1 (en) * | 2000-05-01 | 2001-08-21 | Xilinx, Inc. | Content-addressable memory implemented using programmable logic |
KR100716950B1 (ko) * | 2000-08-11 | 2007-05-10 | 삼성전자주식회사 | 버스 시스템 |
US7681018B2 (en) * | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US20020053017A1 (en) * | 2000-09-01 | 2002-05-02 | Adiletta Matthew J. | Register instructions for a multithreaded processor |
US6633938B1 (en) * | 2000-10-06 | 2003-10-14 | Broadcom Corporation | Independent reset of arbiters and agents to allow for delayed agent reset |
US6781992B1 (en) * | 2000-11-30 | 2004-08-24 | Netrake Corporation | Queue engine for reassembling and reordering data packets in a network |
US6847645B1 (en) * | 2001-02-22 | 2005-01-25 | Cisco Technology, Inc. | Method and apparatus for controlling packet header buffer wrap around in a forwarding engine of an intermediate network node |
US6785843B1 (en) * | 2001-02-23 | 2004-08-31 | Mcrae Andrew | Data plane restart without state change in a control plane of an intermediate network node |
TW556077B (en) * | 2001-06-05 | 2003-10-01 | Via Tech Inc | Controller for improving buffer management efficiency and the buffer management method |
JP3489573B2 (ja) * | 2001-07-11 | 2004-01-19 | 日本電気株式会社 | パケット処理装置 |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7487505B2 (en) * | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US20030065862A1 (en) * | 2001-09-28 | 2003-04-03 | Wyland David C. | Computer system and method for communications between bus devices |
US6934729B2 (en) * | 2001-10-18 | 2005-08-23 | International Business Machines Corporation | Method and system for performing shift operations |
US6738831B2 (en) * | 2001-12-12 | 2004-05-18 | Intel Corporation | Command ordering |
US6754795B2 (en) * | 2001-12-21 | 2004-06-22 | Agere Systems Inc. | Methods and apparatus for forming linked list queue using chunk-based structure |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US6941438B2 (en) * | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
-
2002
- 2002-08-05 US US10/212,944 patent/US7225281B2/en not_active Expired - Fee Related
- 2002-08-27 CA CA2458572A patent/CA2458572C/en not_active Expired - Fee Related
- 2002-08-27 AT AT02778201T patent/ATE368259T1/de not_active IP Right Cessation
- 2002-08-27 AU AU2002339857A patent/AU2002339857A1/en not_active Abandoned
- 2002-08-27 WO PCT/US2002/027430 patent/WO2003019399A1/en active IP Right Grant
- 2002-08-27 EP EP02778201A patent/EP1421504B1/de not_active Expired - Lifetime
- 2002-08-27 TW TW091119400A patent/TWI249674B/zh not_active IP Right Cessation
- 2002-08-27 DE DE60221406T patent/DE60221406T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7225281B2 (en) | 2007-05-29 |
EP1421504A1 (de) | 2004-05-26 |
DE60221406D1 (de) | 2007-09-06 |
AU2002339857A1 (en) | 2003-03-10 |
ATE368259T1 (de) | 2007-08-15 |
WO2003019399A9 (en) | 2004-01-29 |
CA2458572A1 (en) | 2003-03-06 |
TWI249674B (en) | 2006-02-21 |
WO2003019399A8 (en) | 2003-10-02 |
WO2003019399A1 (en) | 2003-03-06 |
CA2458572C (en) | 2010-03-16 |
EP1421504B1 (de) | 2007-07-25 |
US20030105899A1 (en) | 2003-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60221406T2 (de) | Mehrprozessor-infrastruktur zur bereitstellung einer flexiblen bandweitenzuteilung über mehrere instanziierungen separater datenbusse, steuerbusse und unterstützungsmechanismen | |
DE69834519T2 (de) | Bussteuerungssystem und -verfahren | |
DE102008034500B4 (de) | Arbitrierung | |
DE3909948C2 (de) | ||
DE19983737B3 (de) | System zum Neuordnen von Befehlen, die von einer Speichersteuerung zu Speichervorrichtungen ausgegeben werden, unter Verhinderung von Kollision | |
DE60314347T2 (de) | Betriebsmittelverwaltungsgerät | |
DE69233655T2 (de) | Mikroprozessorarchitektur mit der Möglichkeit zur Unterstützung mehrerer verschiedenartiger Prozessoren | |
DE10152970B4 (de) | Halbleiterbauelement mit Systembus und externem Bus sowie Halbleiterchip-Betriebsverfahren und Speichermedium | |
EP0179936B1 (de) | Verfahren und Einrichtung zur Steuerung einer Sammelleitung | |
DE19983745B9 (de) | Verwendung von Seitenetikettregistern um einen Zustand von physikalischen Seiten in einer Speichervorrichtung zu verfolgen | |
DE60203469T2 (de) | System mit Schnittstellen und einem Schalter für die Trennung von kohärentem und nichtkohärentem Datenpaketverkehr | |
DE10296959T5 (de) | System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen | |
DE60212142T2 (de) | Verfahren und vorrichtung zur übertragung von paketen in einem symmetrischen mehrprozessorsystem | |
DE69531270T2 (de) | Unterbrechungssteuerungsgeräte in symmetrischen Mehrprozessorsystemen | |
DE602005006338T2 (de) | Vorrichtung und Verfahren zur Datenübertragungsverarbeitung | |
DE60034998T2 (de) | Verbesserungen in oder bezüglich von Mikroprozessoren | |
DE102012105622A1 (de) | Datenverarbeitungsgerät und Datenverarbeitungsanordnung | |
DE10045916A1 (de) | Methode und System zum Implementieren eines Remstat-Protokolls und Einbeziehung und Nicht-Einbeziehung von L1-Daten im L2-Cache zur Verhinderung einer gegenseitigen Lesesperre | |
EP2411921B1 (de) | Schaltungsanordnungen und verfahren zur steuerung eines datenaustauschs in einer schaltungsanordnung | |
DE112008002273T5 (de) | Optimale Lösung zur Steuerung von Datenkanälen | |
DE112012005572T5 (de) | Ausgleichen einer Bandbreite für mehrere Anforderer, die ein gemeinsam genutztes Speichersystem verwenden | |
DE60314641T2 (de) | Verfahren, system und programm zur konfiguration von teilnehmern auf einem bus fürein-/ausgabeoperationen | |
DE602004008712T2 (de) | Speicherbandbreiten-Steuereinrichtung | |
DE10310055A1 (de) | Systeme und Verfahren zum Erfassen und Kompensieren von Kleinblockdatenübertragungen | |
DE102006009034B3 (de) | Verfahren zum Betreiben eines Bussystems sowie Halbleiter-Bauelement, insbesondere Mikroprozessor- bzw. Mikrocontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |