DE68924435T2 - Nichtblockierender NxM-Arbitrierungsschalter mit grosser Bandbreite. - Google Patents
Nichtblockierender NxM-Arbitrierungsschalter mit grosser Bandbreite.Info
- Publication number
- DE68924435T2 DE68924435T2 DE68924435T DE68924435T DE68924435T2 DE 68924435 T2 DE68924435 T2 DE 68924435T2 DE 68924435 T DE68924435 T DE 68924435T DE 68924435 T DE68924435 T DE 68924435T DE 68924435 T2 DE68924435 T2 DE 68924435T2
- Authority
- DE
- Germany
- Prior art keywords
- request
- data
- arbiter
- gate
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
- Die Erfindung bezieht sich auf nichtblockierende NxM-Arbitrierungsschalter mit großer Bandbreite, die beispielsweise in Multiprozessorsystemen als Arbitrierungssystem zur Verarbeitung von zugriffsanforderungen von zahlreichen Eingängen an zahlreiche Ausgänge verwendet werden.
- In großen komplexen Computersystemen sind zahlreiche Speicher oder Basisspeichermoduln (BSM) sowie zahlreiche Prozessoren, die mit zahlreichen Speichern mit Zwischenspeicherung kommunizieren, von großem Interesse.
- Arbitrierungssysteme sind in der herkömmlichen Technik bekannt, so z.B. das in der Patentschrift US-A-4 473 880 von Budde et al., oder der Patentschrift US-A-4 499 538 von Finger et al. beschriebene System, das für mehrere Prozessoren oder Mikroprozessoren mit einem gemeinsamen Bus eine Art von Arbitrierung bereitstellt. Diese Arbitrierungssysteme mit einem gemeinsamen Bus sind relativ langsame Systeme, da nur ein Eingang für den Bus von einer Einheit über den Bus zu einer Ausgangseinheit in einem bestimmten Zeitintervall gesendet werden kann. Koppelpunktschalter in einer Schaltmatrix, wie sie in der Patentschrift US-A-4 417 245 von Melas et al. beschrieben wird, koppeln zahlreiche Eingänge gleichzeitig mit zahlreichen Ausgängen, sofern ein bestimmter Eingang nicht zusammen mit einem anderen Eingang auf denselben Ausgang zugreifen möchte, und unter der Voraussetzung, daß eine bestimmte Form von separater Steuerung vorhanden ist. Ein Arbiter ist nicht vorhanden.
- In der Patentschrift EP-A-97 351 wird ein NxM-Matrixschalter mit den Merkmalen des vorkennzeichnenden Teils von Anspruch 1 beschrieben, der in einem mehrstufigen Routing-Netzwerk verwendet wird.
- In dem Versuch, sowohl ungesteuerte Eingangsanforderungen und Arbitrierung zu vereinen, stellt die vorliegende Erfindung einen NxM-Schalter mit folgenden Komponenten vor:
- N-Daten- und Anforderungseingängen, wobei jeder Anforderungseingang einem Dateneingang zugeordnet ist und anzeigt, zu welchem M-Ausgangsport das zugeordnete Datenpaket gesendet werden soll;
- M-Arbiter und Gattermittel, wobei jeder Arbiter und jedes Gattermittel zwischen den N-Daten- und den Anforderungseingängen sowie einem anderen M-Ausgangsport gekoppelt ist;
- jeder Arbiter und jedes Gattermittel reagiert auf die Datenund Anforderungseingänge, um Daten gleichzeitig mit den angeforderten Ausgangsports zu gaten, wenn keine konkurrierenden Anforderungseingänge für denselben Ausgangsport vorhanden sind, sondern wenn konkurrierende Anforderungseingänge für denselben Ausgangsport vorhanden sind, um die zugeordneten konkurrierenden Datenpakete für den oder die zugeordneten Ausgangsport(s) zu speichern und zu sequentieren, während gleichzeitig nicht-konkurrierende Datenpakete direkt zu den anderen Ausgangsports gesendet werden, wobei das System dadurch gekennzeichnet ist, daß FIFO-Puffermittel, die zwischen jedem der N-Daten- und Anforderungseingängen sowie den Arbitern und Gattermitteln gekoppelt sind, die Datenpakete und Anforderungssignale jedes Taktzyklusses speichern und sequentieren, wobei das FIFO-Puffermittel mindestens N-Stufen hat.
- Die vorliegende Erfindung stellt darüber hinaus ein Multiprozessorsystem mit diesem Schalter vor.
- In einem Ausführungsbeispiel der vorliegenden Erfindung werden zahlreiche Eingangssignale mit Daten und zugeordnetem Ausgangsanforderungscode selektiv zu einem der zahlreichen Ausgänge unter Verwendung eines Arbiters und Gattermitteln gesendet, die jeden Ausgang steuern. Die Arbiter und Gattermittel reagieren auf Eingangssignale, um die nicht-konkurrierenden Eingangssignale gleichzeitig mit den nicht-konkurrierenden Ausgängen zu gaten und um konkurrierende Signale zu den zugeordneten Ausgängen zu sequentieren.
- Der vorliegende Erfindung wird im folgenden anhand eines Ausführungsbeispiels mit Begleitzeichnungen beschrieben.
- Figur 1 ist ein Blockdiagramm eines Gesamtsystems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
- Figur 2 ist ein Blockdiagramm eines Arbiters.
- Figur 3 ist ein Blockdiagramm einer bevorzugten Erweiterungsmöglichkeit des Systems von Figur 1, um zusätzliche Prozessoren und/oder Speicher hinzuzufügen.
- Im Systemblockdiagramm von Figur 1 ist ein Beispiel eines nichtblockierenden NxM-Arbitrierungsschalters mit großer Bandbreite in einem Multiprozessorsystem dargestellt. Das System in Figur 1 zeigt die Prozessoren 11 bis 14, die selektiv mit einem von vier Basisspeichermoduln (BSM) 21 bis 24 verbunden sind. In der Praxis kann die Zahl der mit dem Basisspeicher verbundenen Prozessoren 32 oder mehr betragen. Die Eingänge der Prozessoren 11 bis 14 werden zu den entsprechenden Puffern 31 bis 34 geleitet. Bei diesen Puffern 31 bis 34 kann es sich beispielsweise um FIFO-Puffer (First In, First Out) handeln. Der Ausgang von jedem der Prozessoren 11 bis 14 enthält ein Anforderungscodesignal und zugeordnete Datensignale oder Datenpakete. Das Anforderungscodesignal könnte einfach ein logischer Pegel 1 bei einem der vier Bleidrähte sein. Das Ausgangsanforderungscodesignal von jedem der Puffer 31 bis 34 wird zu jedem der vier Arbiter 41 bis 44 gesendet. Das Anforderungscodesignal und die zugeordneten Datensignale oder Datenpakete werden zusammen durch die Puffer 31 bis 34 sequentiert. Das Anforderungscodesignal kann über vier Drähte oder Leitungen gehen, wobei nur einer der vier Drähte einen logischen Pegel 1 hat, während die anderen Drähte einen logischen Pegel 0 haben. Der logische Pegel 1 kann fünf Volt haben, und der logische Pegel 0 Massepotential. Wenn der Prozessor 11 beispielsweise mit BMS 21 verbunden werden will, stellt der Prozessor 11 einen logischen Pegel 1 bei Draht 101 von Puffer 31 sowie einen logischen Pegel 0 bei den Drähten 102 bis 104 an den ersten Anforderungsports der Arbiter 42 bis 44 bereit. Wenn der Prozessor 11 mit BSM 22, BSM 23 oder BSM 24 gekoppelt werden möchte, wäre der logische Pegel 1 nur auf Leitung 102, 103 bzw. 104 vorhanden. Wenn Prozessor 14 mit BSM 21, BSM 22, BSM 23 oder BSM 24 gekoppelt werden möchte, wäre der logische Pegel 1 auf den Leitungen 141, 142, 143 bzw. 144 vorhanden. Die Prozessoren 12 und 13 können mit jedem BSM 21 bis 24 durch den entsprechenden logischen Pegel 1 bei der Anforderungsleitung zu den Arbitern 41 bis 44 gekoppelt werden.
- Jeder Arbiter legt zuerst fest, ob ein Eingang von einem der vier FIFO-Puffer 31 bis 34 vorhanden ist. Wenn mehr als ein Eingang für diesen Arbiter vorhanden ist, sequentiert dieser die Dateneingänge in jedem Taktzyklus durch einen zugeordneten Selektor 51 bis 54. Die Daten werden zu allen vier Selektoren 51 bis 54 gesendet. Wenn keine konkurrierenden Zugriffe vorhanden sind, oder mehr als ein Prozessor versucht, ein bestimmtes Speichermodul beim Arbiter zu verwenden, wird der Eingang von jedem Puffer 31 bis 34 bei jedem Selektor 51 bis 54 gleichzeitig über die zugeordneten Puffer 61 bis 64 mit dem zugeordneten BSM 21 gekoppelt. Die Selektoren 51 bis 54 sind jedem der BSM 21 bis 24 zugeordnet. Die Arbiter 41 bis 44 legen fest, zu welchem BSM 21 bis 24 die Eingangsdaten von einem gegebenen Prozessor gesendet werden, und stellen einen Auswahlcode für die Selektoren 51 bis 54 bereit, um die Daten von den Puffern 31 bis 34 mit den entsprechenden Puffern 61 bis 64 zu gaten.
- Wenn mehr als ein Konkurrent für ein bestimmtes BSM vorhanden ist, legt einer der Arbiter 41 bis 44, der einem bestimmten BSM zugeordnet ist, die Sequenz unter den zugeordneten Selektoren 51 bis 54 fest. Wenn beispielsweise ein Anforderungscodesignal von Prozessor 11 und Prozessor 12 über die Puffer 31 und 32 für BSM 21 eingeht, werden beide zum Arbiter 41 gesendet. Der Arbiter 41 sendet z.B. während des ersten Taktimpulses einen ersten Auswahlcode zum Selektor 51, um den Ausgang vom FIFO-Puffer 31 über den Selektor 51 mit dem Puffer 61 und dem BSM 21 zu gaten. Während des nächsten Taktzyklusses wird der zweite Auswahlsignalcode zum Selektor 51 gesendet, und die Daten des Prozessors 12 bei Puffer 32 werden über den Selektor 51 mit dem BSM 21 gekoppelt.
- In Figur 2 ist ein logisches Blockdiagramm für jeden Arbiter von Figur 1 abgebildet. Es sind vier Eingangsanforderungsports 201 bis 204 für jeden Arbiter 41 bis 44 vorhanden. Der erste Eingangsport 201 ist über den Puffer 31 mit dem Prozessor 11 gekoppelt. Für den Arbiter 41 ist dieser Eingangsport 201 über den Bleidraht 101 gekoppelt. Der zweite Eingangsport 202 ist über den Puffer 32 mit dem Prozessor 12 verbunden, der dritte Port 203 über den Puffer 33 mit dem Prozessor 13 und der vierte Port 204 über den Puffer 34 mit dem Prozessor 14. Die Anforderungen an den Eingängen 201 bis 204 werden zu den entsprechenden UND-Gattern A1 bis A4 gesendet. Die Ausgänge der UND-Gatter A1 bis A4 werden zu den Set-Eingängen der Flip- Flop-Register S1 bis S4 gesendet. Der Q-Ausgang von Register S1 wird direkt zum Ausgangsdraht 205 und zum NOR-Gatter 100 gesendet. Die Q-Ausgänge von den Registern S2 bis S4 werden ebenfalls zum NOR-Gatter 100 gesendet. Der -Ausgang des Schaltregisters S1 wird zum UND-Gatter A5 gesendet. Der Q-Ausgang von Register S2 wird ebenfalls zum UND-Gatter AS gesendet. Der Q-Ausgang der Schalter S3 und S4 wird mit den entsprechenden Eingängen der UND-Gatter A6 und A7 gekoppelt. Das UND-Gatter A6 empfängt ebenfalls den -Ausgang von den Registern S1 und S2. Das UND-Gatter A7 empfängt einen -Ausgang von den Registern S1, S2 und S3 sowie den Q-Ausgang von Register S4. Der Q-Ausgang von Schalter S1 wird zum Reset-Eingang des Schalters S1 gesendet. Der Ausgang des UND-Gatters A5 wird mit dem Reset-Eingang des Registers S2 gekoppelt. Der Ausgang von UND-Gatter A6, der mit dem Reset-Eingang von Register S3 und dem Ausgang von UND-Gatter A7 gekoppelt ist, wird mit dem Reset-Eingang von Register S4 gekoppelt. Die Ausgänge der UND- Gatter A5 bis A7 bei den Drähten 206 bis 208 und der Q-Ausgang von Register bei Draht 205 erzeugen einen 4-Bit-Adreßcode, der zum entsprechenden Selektor 51 bis 54 gesendet wird, um den Ausgang auszuwählen. Beim einfachen Ausführungsbeispiel von Figur 1 mit nur vier Prozessoren und vier BSM aktiviert der Arbiterausgang 205 bis 208 mit einem logischen Pegel 1 die zugeordneten Prozessordaten für das zugeordnete Basisspeichermodul. Wenn der Ausgang von Register S1 z.B. einen logischen Pegel 1 hat, wird der Ausgang von Prozessor 11 mit dem diesem Arbiter zugeordneten Basisspeichermodul gekoppelt. Im Fall von Arbiter 41 werden die Daten von Prozessor 11 mit BSM 21 gekoppelt. Im Fall von Arbiter 42 werden die Daten von Prozessor 11 mit BSM 22 gekoppelt, bei Arbiter 43 die Daten von Prozessor 11 mit BSM 23 und bei Arbiter 44 die Daten von Prozessor 11 mit BSM 24. Wenn im Fall von Arbiter 41 ein logischer Pegel 1 beim Ausgang 208 von Arbiter 41 vorhanden ist, werden die Daten von Prozessor 14 mit dem Basisspeichermodul 21 gekoppelt. Wenn der logische Pegel 1 bei Ausgang 208 des Arbiters 42 vorhanden ist, werden die Daten von Prozessor 14 mit BSM 22 gekoppelt. Bei Arbiter 43 die Daten von Prozessor 14 mit BSM 23, usw.
- Im Startzustand des Arbiters sind logische Pegel 0 bei den Q- Ausgängen und logische Pegel 1 bei den -Ausgängen der Register S1 bis S4 vorhanden. Das NOR-Gatter 100 stellt einen logischen Pegel 1 für die UND-Gatter A1 bis A4 mit Nullen am Eingang bereit. Wenn nur eine Anforderung oder ein logischer Pegel 1 bei Eingang 202 z.B. vorliegt, aktiviert dieser Ausgang das UND-Gatter A2 mit logisch 1, das mit dem Set-Eingang des Schalters S2 gekoppelt ist, um einen logischen Pegel 1 beim Q-Ausgang des Registers S2 zu erzeugen. Der Ausgang mit dem logischen Pegel 1 von Register S2 ist mit dem NOR-Gatter 100 gekoppelt, und als Reaktion auf diesen logischen Pegel 1 wird ein logisch niedriger Pegel oder Pegel 0 vom NOR-Gatter 100 zu den UND-Gattern A1 bis A2 gesendet, um alle weiteren Anforderungen zu unterbrechen. Der Eingang mit dem logischen Pegel 1 beim UND-Gatter A5 von Register S2 ermöglicht es dem Eingang mit dem logischen Pegel 1 vom -Ausgang des Registers S1, einen logischen Pegel 1 am Ausgang 206 zu erzeugen. Der Code mit dem logischen Pegel 1 nur auf Draht 206 fordert den dem Arbiter zugeordneten Selektor 51 bis 54 an, die Daten vom zweiten Prozessor 12 mit dem Basisspeichermodul zu koppeln, das dem Selektor zugeordnet ist. Bei Arbiter 41 beispielsweise werden die Daten von Prozessor 12 mit BSM 21 gekoppelt.
- Eine Konkurrenzsituation liegt dann vor, wenn zwei oder mehr Anforderungen für ein bestimmtes BSM bestehen. Es sei beispielsweise auf die Anforderungen bei den Eingängen 201 und 203 von den Prozessoren 11 und 13 für BSM 21 verwiesen. Der Arbiter 41 stellt den logischen Pegel 1 bei den UND-Gattern A1 und A3 fest, um es dem logisch 1 von NOR-Gatter 100 zu ermöglichen, eine Reihe von logischen Pegeln 1 bei den Set-Eingängen der Register S1 und S3 zu erzeugen. Dadurch wird ein logischer Pegel 1 bei den Q-Ausgängen der Register S1 und S3 erzeugt. Der logische Pegel 1 bei einem dieser "Q"-Ausgänge am NOR-Gatter 100 führt zu einem logisch "0" bei den UND-Gattern A1 bis A4, wodurch weitere Anforderungen unterbrochen werden. Ein logisch 0 oder niedriger Pegel wird von den -Ausgängen der Register S1 und S3 zu den UND-Gattern A5 bis A7 gesendet. Der Ausgang des UND-Gatters A6 bleibt auflogisch 0, wobei der -Ausgang von Register S1 niedrig ist. Nur die Anforderung bei Eingang 201 für BSM 21 wird im ersten Taktzyklus bestätigt. Sobald die Auswahl getroffen wurde, um die Daten von Prozessor 11 zu koppeln, wird das Register S1 über Draht 209 zurückgesetzt, so daß ein logischer Pegel 1 am -Ausgang des Registers S1 für das UND-Gatter A6 erzeugt wird, und die Anforderung bei Eingang 203 einen logischen Pegel 1 vom UND-Gatter A6 erzeugen kann. Der logische Pegel 1 beim Ausgang 207 von UND-Gatter A6 wählt die Daten von Prozessor 16 für das zugeordnete BSM im nächsten Taktzyklus aus. Nachdem der Anforderer bei Eingang 203 die Daten ausgewählt hat, wird das Register S3 durch den Rückkopplungspfad 210 vom UND-Gatter A6 zurückgesetzt, und der NOR-Ausgang von NOR-Gatter 100 geht nach oben. Wenn das NOR- Gatter nach oben geht, sind alle Register S1 bis S4 inaktiv, und jede mögliche Eingangsanforderung kann im nächsten vollen Zyklus bestätigt werden.
- Im Beispiel der Figuren 1 und 2 wurden zwei Taktzyklen benötigt, um zwei gleichzeitige Anforderungen für das gegebene Basisspeichermodul zu verarbeiten. Da Portanforderungen in jedem Zyklus erzeugt werden, sollte die Speicheranzahl der Eingangspuffer gleich groß wie die Zahl der Prozessoren sein. In Figur 1 beispielsweise werden vier Pufferstufen benötigt, um im Fall von vier Prozessoren, die mit einem gegebenen Basisspeichermodul zu kommunizieren versuchen, auszukommen. Die Daten werden über vier Taktzyklen gespeichert und sequentiert. Im vorgestellten Beispiel gab es nur vier Eingangsprozessoren, die mit vier Basisspeichermoduln gekoppelt wurden, während in einer bevorzugten Anwendung z.B. 32 Prozessoren vorhanden sein könnten, die mit 32 oder mehr Speichermoduln kommunizieren.
- Die in Figur 2 gezeigten Arbiter bestätigen Mehrfachanforderungen immer in Umlaufordnung von S1 bis S4, bis alle erledigt sind, d.h. im vorliegenden Fall hat die Anforderung bei Eingang 201 die höchste Priorität, die Anforderung bei Eingang 202 die zweithöchste, der Eingang bei 203 die dritthöchste und der Eingang bei 204 die niedrigste Priorität in diesem Arbitrierungszyklus.
- Während eines Taktzyklusses können vier Portanforderungen auf die vier BSM verteilt werden, und maximal vier BSM-Auswahlen können pro Taktzyklusintervall verarbeitet werden. Das Minimum wäre eine BSM-Auswahl pro Zyklus, wenn alle Portanforderungen für dasselbe BSM sind. Die Kopplung von mehr Prozessoren mit mehr Basisspeichermoduln, z.B. 32 Prozessoren mit 32 BSM, ist in Figur 3 dargestellt. In dieser Anordnung erzeugt jeder Prozessor 301-332 ein codiertes 5-Bit-Anforderungssignal für jeden Datenblock oder jedes Datenpaket zum BSM. Das Anforderungscodesignal mit dem zugeordneten Datenpaket wird über den zugeordneten Puffer sequentiert. Ein Decoder 301a-332a befindet sich am Ausgang jedes Eingangspuffers 301b-332b, um jedes codierte 5-Bit-Anforderungssignal des Prozessors zu decodieren und eine Anforderung mit logischem Pegel 1 über den Draht auf einer der 32 Ausgangsleitungen zum entsprechenden Arbiter zu senden. Der Decoder 301a z.B. decodiert den codierten Ausgang von Puffer 301b, der anzeigt, daß die Daten zum BSM 302f gesendet werden, und sendet einen logischen Pegel 1 auf Draht 400 oder eine Anforderung zum Arbiter 302c. Die Daten bei Puffer 301b werden anschließend über den Auswahlschalter 302d zum BSM 302f (über Puffer 302e) aktiviert. Die Arbiter 301c-332c sind wie in Figur 2 dargestellt, wobei 32 Eingänge und Ausgänge anstatt vier Ein- und Ausgänge vorhanden sind.
Claims (6)
1. Ein NxM-Schalter mit:
M-Ausgangsports;
N-Daten- und Anforderungseingängen, wobei jeder
Anforderungseingang einem Dateneingang zugeordnet ist und
anzeigt, zu welchem M-Ausgangsport das zugeordnete
Datenpaket gesendet werden soll;
M-Arbiter (41-44) und Gattermittel (51-54), wobei jeder
Arbiter und jedes Gattermittel zwischen den N-Daten- und
Anforderungseingängen und einem anderen M-Ausgangsport
gekoppelt ist;
wobei jeder Arbiter und jedes Gattermittel auf die
Datenund Anforderungseingänge reagiert, um Daten gleichzeitig
mit den angeforderten Ausgangsports zu gaten, wenn keine
konkurrierenden Anforderungseingänge für denselben
Ausgangsport vorhanden sind, sondern wenn konkurrierende
Anforderungseingänge für denselben Ausgangsport vorhanden
sind, um die zugeordneten konkurrierenden Datenpakete für
den oder die zugeordneten Ausgangsport(s) zu speichern
und zu sequentieren, während gleichzeitig
nicht-konkurrierende Datenpakete direkt zu den anderen Ausgangsports
gesendet werden, wobei das System dadurch gekennzeichnet
ist, daß FIFO-Puffermittel (31-34), die zwischen jedem
der N-Daten- und Anforderungseingänge sowie den Arbitern
und Gattermitteln gekoppelt sind, die Datenpakete und
Anforderungssignale jedes Taktzyklusses speichern und
sequentieren, wobei das FIFO-Puffermittel mindestens
N-Stufen hat.
2. Ein Schalter nach Anspruch 1, bei dem die M-Arbiter und
die Gattermittel über eine Logik verfügen, die eine
Prioritätssequenz hat, um das Gating der konkurrierenden
Anforderungssignale aus den den Gattermitteln zu beginnen.
3. Ein Schalter nach einem der oben genannten Ansprüche, bei
dem das Arbitermittel über eine Logik verfügt, um ein
codiertes Signal zu den Gattermitteln zu senden, das den
Anforderungseingang und das Gattermittel identifiziert,
und direkt mit den FIFO-Puffermitteln gekoppelt ist und
als Reaktion auf das codierte Signal vom Arbiter den
Eingang zum zugeordneten Ausgangsport gatet.
4. Ein Schalter nach einem der oben genannten Ansprüche, bei
dem die Arbiter (41-44) die konkurrierenden Daten zu
dem/den zugeordneten Ausgangsport(s) auf Umlaufbasis
sequentieren.
5. Ein Multiprozessorsystem, bei dem eine N-Vielzahl von
Prozessoren (11-14) mit einer M-Vielzahl von
Basisspeichermoduln (21-24) über einen in den zuvor genannten
Ansprüchen vorgestellten Schalter zufällig gekoppelt wird,
wobei
jedes Basisspeichermodul mit seinem eigenen Ausgangsport
verbunden ist; jeder Prozessor mit seinem eigenen
Eingangsport verbunden ist und hierfür bei Bedarf ein
Datenpaket und ein Anforderungscodesignal sendet, das anzeigt,
zu welchem Basisspeichermodul das Datenpaket gesendet
werden soll;
wenn nur ein Datenpaket für ein bestimmtes
Basisspeichermodul in einem Zyklus vorgesehen ist, und daher nur eine
Anforderung zum entsprechenden Arbiter gesendet wird,
veranlaßt der Arbiter das zugeordnete Gattermittel, das
Datenpaket direkt mit seinem gekoppelten
Basisspeichermodul zu gaten, und wenn mehr als eine Anforderung in einem
bestimmten Zyklus für dasselbe Basisspeichermodul
vorgesehen ist, und daher mehr als eine Anforderung beim
entsprechenden Arbiter empfangen wird, sorgt der Arbiter
dafür,
daß die anderen Datenpakete zu dem zugeordneten
Basisspeichermodul sequentiert werden.
6. Ein System nach Anspruch 5, das über ein zweites
Puffermittel (61-64) zwischen jedem Gattermittel und dem
zugeordneten Basisspeichermodul verfügt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/152,779 US4991084A (en) | 1988-02-05 | 1988-02-05 | N×M round robin order arbitrating switching matrix system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68924435D1 DE68924435D1 (de) | 1995-11-09 |
DE68924435T2 true DE68924435T2 (de) | 1996-05-30 |
Family
ID=22544410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68924435T Expired - Fee Related DE68924435T2 (de) | 1988-02-05 | 1989-01-09 | Nichtblockierender NxM-Arbitrierungsschalter mit grosser Bandbreite. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4991084A (de) |
EP (1) | EP0327203B1 (de) |
JP (1) | JPH0766363B2 (de) |
DE (1) | DE68924435T2 (de) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68929288T2 (de) * | 1988-12-19 | 2001-11-15 | Nec Corp., Tokio/Tokyo | Datenübertragungsvorrichtung |
DE68928980T2 (de) * | 1989-11-17 | 1999-08-19 | Texas Instruments Inc. | Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern |
KR940001878B1 (ko) * | 1990-03-08 | 1994-03-10 | 가부시끼가이샤 히다찌세이사꾸쇼 | 멀티 프로세서시스템 및 인터럽션 제어장치 |
US6928500B1 (en) * | 1990-06-29 | 2005-08-09 | Hewlett-Packard Development Company, L.P. | High speed bus system that incorporates uni-directional point-to-point buses |
US5276808A (en) * | 1991-02-04 | 1994-01-04 | International Business Machines Corporation | Data storage buffer system and method |
DE69227996T2 (de) * | 1991-07-26 | 1999-08-26 | Tandem Computers Inc. | Vorrichtung und verfahren zur vermittlung von datenblöcken |
US5371893A (en) * | 1991-12-27 | 1994-12-06 | International Business Machines Corporation | Look-ahead priority arbitration system and method |
US5274785A (en) * | 1992-01-15 | 1993-12-28 | Alcatel Network Systems, Inc. | Round robin arbiter circuit apparatus |
US5301332A (en) * | 1992-12-23 | 1994-04-05 | Ncr Corporation | Method and apparatus for a dynamic, timed-loop arbitration |
US5506968A (en) * | 1992-12-28 | 1996-04-09 | At&T Global Information Solutions Company | Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value |
JPH07105175A (ja) * | 1993-10-08 | 1995-04-21 | Nec Corp | マイクロコンピュータ |
CA2145553C (en) * | 1994-03-30 | 1999-12-21 | Yuuki Date | Multi-processor system including priority arbitrator for arbitrating request issued from processors |
JPH0981508A (ja) * | 1995-08-31 | 1997-03-28 | Internatl Business Mach Corp <Ibm> | 通信方法及び装置 |
US6006296A (en) * | 1997-05-16 | 1999-12-21 | Unisys Corporation | Scalable memory controller |
US6026459A (en) * | 1998-02-03 | 2000-02-15 | Src Computers, Inc. | System and method for dynamic priority conflict resolution in a multi-processor computer system having shared memory resources |
US6272580B1 (en) | 1999-03-16 | 2001-08-07 | Compaq Computer Corp. | Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system |
US20030031197A1 (en) * | 2001-08-13 | 2003-02-13 | Schmidt Steven G. | Multiple arbitration circuit |
US7284082B2 (en) * | 2004-08-19 | 2007-10-16 | Lsi Corporation | Controller apparatus and method for improved data transfer |
US7353317B2 (en) * | 2004-12-28 | 2008-04-01 | Intel Corporation | Method and apparatus for implementing heterogeneous interconnects |
US20070124554A1 (en) * | 2005-10-28 | 2007-05-31 | Honeywell International Inc. | Global memory for a rapidio network |
US11520713B2 (en) * | 2018-08-03 | 2022-12-06 | International Business Machines Corporation | Distributed bus arbiter for one-cycle channel selection using inter-channel ordering constraints in a disaggregated memory system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3096447A (en) * | 1961-03-21 | 1963-07-02 | Gen Precision Inc | Transistor gate biased by signal being gated |
US3487373A (en) * | 1965-11-16 | 1969-12-30 | Gen Electric | Apparatus providing symbolic memory addressing in a multicomputer system |
JPS5917595B2 (ja) * | 1979-11-29 | 1984-04-21 | 岩崎通信機株式会社 | 通話路スイツチ回路網 |
NL8000529A (nl) * | 1980-01-29 | 1981-08-17 | Philips Nv | Schakelmatrix. |
US4314335A (en) * | 1980-02-06 | 1982-02-02 | The Perkin-Elmer Corporation | Multilevel priority arbiter |
US4417245A (en) * | 1981-09-02 | 1983-11-22 | International Business Machines Corp. | Digital space division exchange |
FR2513407B1 (fr) * | 1981-09-24 | 1987-01-16 | Finger Ulrich | Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun |
US4488218A (en) * | 1982-01-07 | 1984-12-11 | At&T Bell Laboratories | Dynamic priority queue occupancy scheme for access to a demand-shared bus |
US4473880A (en) * | 1982-01-26 | 1984-09-25 | Intel Corporation | Arbitration means for controlling access to a bus shared by a number of modules |
JPS6054694B2 (ja) * | 1982-01-27 | 1985-12-02 | 株式会社日立製作所 | 記憶制御装置 |
EP0097351A3 (de) * | 1982-06-21 | 1986-02-26 | Nec Corporation | Wegesucheinheit und Wegesuchnetz zur Bestimmung eines Ausgangsports durch Erkennung eines Teiles eines Eingangspakets |
JPS59111891A (ja) * | 1982-12-16 | 1984-06-28 | Ricoh Co Ltd | 感熱転写媒体 |
JPS59161755A (ja) * | 1983-03-07 | 1984-09-12 | Hitachi Ltd | 記憶制御方式 |
US4706150A (en) * | 1984-06-29 | 1987-11-10 | International Business Machines Corporation | Switching protocal for multiple autonomous switching planes |
JPH0628051B2 (ja) * | 1986-04-25 | 1994-04-13 | 株式会社日立製作所 | 記憶制御方式 |
US4807184A (en) * | 1986-08-11 | 1989-02-21 | Ltv Aerospace | Modular multiple processor architecture using distributed cross-point switch |
-
1988
- 1988-02-05 US US07/152,779 patent/US4991084A/en not_active Expired - Fee Related
- 1988-11-17 JP JP63289036A patent/JPH0766363B2/ja not_active Expired - Lifetime
-
1989
- 1989-01-09 EP EP89300139A patent/EP0327203B1/de not_active Expired - Lifetime
- 1989-01-09 DE DE68924435T patent/DE68924435T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE68924435D1 (de) | 1995-11-09 |
JPH01206450A (ja) | 1989-08-18 |
US4991084A (en) | 1991-02-05 |
EP0327203B1 (de) | 1995-10-04 |
JPH0766363B2 (ja) | 1995-07-19 |
EP0327203A2 (de) | 1989-08-09 |
EP0327203A3 (de) | 1991-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68924435T2 (de) | Nichtblockierender NxM-Arbitrierungsschalter mit grosser Bandbreite. | |
DE4118331C2 (de) | Bussystem zur Anwendung bei einem Informationsverarbeitungsgerät | |
DE68920435T2 (de) | Steuereinheit für den speicher. | |
DE69323861T2 (de) | Multiprozessorsystem mit gemeinsamem Speicher | |
EP0951682B1 (de) | IO- UND SPEICHERBUSSYSTEM FÜR DFPs SOWIE BAUSTEINE MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN | |
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE68927375T2 (de) | Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem | |
DE68928772T2 (de) | Datenverarbeitungssystem mit sich um Zugriff auf verteilte Betriebsmittel bewerbenden Einheiten und mit auf den Status der verteilten Betriebsmittel reagierender Schiedsrichtereinheit | |
DE3783370T2 (de) | Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung. | |
DE68922784T2 (de) | Mehrfachbus-Mikrorechnersystem mit Busarbitrierung. | |
DE69108434T2 (de) | Mehrgruppen-Signalprozessor. | |
DE69632634T2 (de) | Arbitrierungseinheit zum Multiprozessorsystembuszugriff mit Wiederholungsfähigkeit | |
DE68925571T2 (de) | Vermittlungsnetzwerk für Speicherzugriff | |
DE3883532T2 (de) | Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus. | |
CH628167A5 (de) | Prozessoreinrichtung zur prioritaetssteuerung der zugriffe zum gemeinsam benutzten arbeitsspeicher einer mehrprozessoranlage. | |
DE2809602C3 (de) | Kanalbus-Steuereinrichtung | |
DE3888353T2 (de) | Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus. | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
DE3232600C2 (de) | ||
DE10296959T5 (de) | System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen | |
DE69102431T2 (de) | Multiprozessor-system mit anteiliger nutzung eines speichers. | |
DE69230483T2 (de) | Quadraturbusprotokoll zum Ausführen von Transaktionen in einer Rechneranordnung | |
DE69519825T2 (de) | Netzwerk zur Übertragung von aufeinanderfolgenden Paketen zwischen Prozessor und Speicher mit einer verkürzten Blockierzeit | |
EP1308846B1 (de) | Datenübertragungseinrichtung | |
DE69213413T2 (de) | Zwischenprozessor-Kommunikationsystem und Verfahren für Mehrprozessorschaltkreis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |