DE4244427A1 - Computer interconnection system for data flow control - has circuits in receiving unit to select next in numerical sequence data sets or out of sequence data sets from any other unit - Google Patents

Computer interconnection system for data flow control - has circuits in receiving unit to select next in numerical sequence data sets or out of sequence data sets from any other unit

Info

Publication number
DE4244427A1
DE4244427A1 DE4244427A DE4244427A DE4244427A1 DE 4244427 A1 DE4244427 A1 DE 4244427A1 DE 4244427 A DE4244427 A DE 4244427A DE 4244427 A DE4244427 A DE 4244427A DE 4244427 A1 DE4244427 A1 DE 4244427A1
Authority
DE
Germany
Prior art keywords
data
component
numbered
node
signal
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.)
Withdrawn
Application number
DE4244427A
Other languages
English (en)
Inventor
Steven G Roskowski
Dean M Drako
William T Krein
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of DE4244427A1 publication Critical patent/DE4244427A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

Die Erfindung betrifft ein Computer-Verbindungssystem und insbesondere ein Verfahren und eine Einrichtung, die einer Zielkomponente eines Computers gestatten, die Kontrolle über den Informationsfluß auszuüben, um die Arbeit eines das Verbin­ dungssystem nutzenden Computersystems zu beschleunigen.
Üblicherweise verwenden Computersysteme Busanordnungen, um Informationen zwischen den einzelnen Komponenten des Systems zu übertragen. Solche Busanordnungen können Daten nur von einer einzigen Quellkomponente handhaben. Folglich enthalten solche Busanordnungen Mittel, die entscheiden, welche Daten zuerst übertragen werden sollen. Solche Entscheidungsmittel werden als Entscheidungsschaltungen bezeichnet. Wenn eine Quellkomponente Daten in einige andere Zielkomponenten einzuschreiben wünscht, signalisiert sie, daß die Daten bereit sind, und stellt eine Adresse zur Verfügung, zu welcher die Daten geschrieben werden sollen. Wenn mehr als eine Quellkomponente Daten zu übertragen hat, legt die Entscheidungsschaltung fest, von welcher Quelle Daten zuerst zu übertragen sind. Diese Festlegung basiert oft­ mals auf einigen Kriterien, wie beispielsweise dem, welche Quellkomponente die Daten gerade sendet. Die Entscheidungs­ schaltung überwacht sämtliche zur Übertragung in dem System verfügbaren verschiedenen Datenquellen und wählt eine Quelle zum Übertragen von Daten auf der Grundlage des speziellen Kri­ teriums aus.
In einer parallelen US-Patentanmeldung mit dem Titel "Interconnect System Architecture" von Roskowski u. a. wird ein Hochgeschwindigkeits-Verbindungssystem für ein Computersystem beschrieben, welches einer Vielzahl von Datenquellen gestattet, eine große Datenmenge zu einer Vielzahl von Zielen gleichzeitig zu übertragen. Während das typische Computersystem eine Busan­ ordnung als Verbindungssystem verwendet, um Daten von einer Komponente des Systems zu einer anderen zu übertragen, stiegen die Anforderungen an Leitwege zum Handhaben von immer mehr In­ formationen schnell bis zu dem Punkt, an dem verschiedene Funk­ tionen nicht mehr von einer solchen Anordnung ausgeführt werden können. Funktionen, wie beispielsweise die Präsentation von Animationsgrafik und Fernsehbildern, erfordern die Übertragung von so viel Daten, daß sich die gesamte Busanordnung deren An­ wendung widmen muß. Wenn es gewünscht wird, eine Mehrzahl die­ ser Funktionen im gleichen Computersystem aufzunehmen und mehr als eine dieser Operationen gleichzeitig auszuführen, ist eine typische Busanordnung nicht mehr in der Lage, die geforderte Bandbreite zu unterstützen.
Das Verbindungssystem der oben erwähnten Patentanmeldung enthält eine Mehrzahl von Knoten, von denen jeder mit einer Komponente eines Computers Verbindung aufnehmen kann. Jeder Knoten enthält eine Vorrichtung zum Übertragen von Signalen zwischen der Komponente und dem Knoten. Diese Vorrichtung ent­ hält eine Schaltungsanordnung zum automatischen Übersetzen zwi­ schen Datenformaten. Außerdem enthält jeder Knoten eine Schal­ tungsanordnung zum Speichern einer Vielzahl von Mehrwort-Daten­ paketen von der zugehörigen Komponente. Ferner ist in jedem Knoten eine Schaltung vorgesehen, die jedem anderen Knoten si­ gnalisiert, daß ein Datenpaket zum Übertragen zu der dem Knoten zugeordneten Komponente existiert, und die Signale von anderen Knoten erfaßt, die anzeigen, daß ein Datenpaket zur Übertragung zu der dem Knoten zugeordneten Komponente existiert. Schließ­ lich ist jeder Knoten mit jedem anderen Knoten durch Schaltun­ gen zum Übertragen von in einem Knoten gespeicherten Datenpake­ ten zu einem anderen Knoten verbunden.
Dieses Verbindungssystem stellt eine Vielzahl von einzelnen Pfaden zur Verfügung, welche gleichzeitig zwischen jeder der Komponenten eines Computersystems und zwischen jeder dieser Komponenten und irgendeiner Systemperipherie, die mit Hilfe des Verbindungssystems miteinander verbunden sind, Daten übertragen können. Das in der oben erwähnten Patentanmeldung beschriebene Verbindungssystem arbeitet sehr schnell, um Daten zwischen den Komponenten zu übertragen. Dies ist teilweise deshalb der Fall, weil eine gleichzeitige Übertragung von Daten zwischen Kompo­ nenten auftreten kann und weil diese Daten in Paketen übertra­ gen werden, was den mit Einzelwortübertragungen verbundenen Aufwand reduziert. Die Übertragung in Paketen gestattet es ei­ ner Datenquelle außerdem, ein Datenpaket in einen Knoten-Puf­ ferspeicher zu laden, der Zielkomponente zu signalisieren, daß die Informationen verfügbar sind, und zu irgendwelchen anderen Aufgaben überzugehen. Um ein Beispiel für seine Geschwindigkeit anzugeben: ein einfaches Verbindungssystem, das vier Komponen­ ten eines Computersystems verbindet, ist in der Lage, die vier­ fache Datenmenge fortschrittlicher Busanordnungen zu übertra­ gen.
Die Übertragung von Daten in Paketen bedeutet jedoch, daß die für eine einzelne Übertragung erforderliche Zeit üblicher­ weise länger ist als die für die Übertragung eines Einzelworts in einem gewöhnlichen Bussystem erforderliche Zeit. Da diese Übertragungen eine längere Zeit in Anspruch nehmen können, sind Kollisionen zwischen den Daten wahrscheinlicher. Folglich sind Entscheidungsanordnungen für ein solches System besonders wich­ tig, die bestimmen, welche Daten als nächstes zu übertragen sind.
Ein Verfahren, das die auszuwählende Quelle für zu übertra­ gende Daten bestimmt, ist von der den Daten durch die Daten­ quelle zugewiesenen Priorität abhängig. In einer parallelen US- Patentanmeldung mit dem Titel "Apparatus For Providing Priority Arbitration In A Computer System Interconnect" von Roskowski u. a. ist eine Prioritäts-Entscheidungsschaltung beschrieben, welche in dem oben erwähnten Hochgeschwindigkeits-Verbindungs­ system verwendet werden kann. Häufig hängt die Verwendung von bestimmten Daten durch eine Komponente eines Computersystems von der Verfügbarkeit anderer Daten aus einer anderen Kompo­ nente des Systems ab. Dies ist insbesondere der Fall in fortge­ schritteneren Computersystemen, welche in der Lage sind, Infor­ mationen von einer Reihe von Quellen gleichzeitig zu präsentie­ ren oder zu verwenden. Wenn beispielsweise ein Computerdisplay ein Videobild, wie beispielsweise ein Fernsehbild, in einem Fenster auf seinem Ausgabedisplay zu der gleichen Zeit darstel­ len soll, zu der es Hintergrundinformationen, die ein anderes Computerprogramm auf dem gleichen Display betreffen, darstellt, kann die Videoinformation möglicherweise von einer Quelle ge­ liefert werden, während die Informationen, die bestimmen, wo und wie die Videoinformationen angezeigt werden sollen, von ei­ nem auf dem Zentralprozessor des Computersystems ablaufenden Fenster-Steuerprogramm geliefert werden. Folglich hängt die Verwendung der Videodaten aus einer ersten Quelle von der Ver­ fügbarkeit der Positionierdaten aus einer zweiten Quelle ab. Solche Datenwechselbeziehungen werden Datenabhängigkeiten ge­ nannt.
In einer Entscheidungsschaltung, bei der Quellen Prioritä­ ten zuweisen und es Datenabhängigkeiten gibt, kann der Fall eintreten, daß Daten mit einer hohen Priorität von der Ent­ scheidungsschaltung ausgewählt werden, während Daten einer ge­ ringeren Priorität von der Zielkomponente benötigt werden. Da die Prioritäts-Entscheidungsschaltung die zu übertragenden Da­ ten auf der Grundlage der Quellen-Prioritätsfestlegungen be­ stimmt, kann diese Situation eine Blockierung (deadlock) des Systems bewirken, so daß die Operation nicht ausgeführt werden kann. Bei einer herkömmlichen Busanordnung würde eine solche Blockierung durch die Erzeugung eines Fehlersignals aufgefangen werden, welches das System veranlassen würde, die bestehenden Entscheidungsanforderungen fallenzulassen und erneut zu begin­ nen. Ein solches Blockieren würde zumindest den Betrieb des Sy­ stems drastisch verlangsamen und im schlechtesten Fall das Sy­ stem veranlassen, den Betrieb zu beenden.
Da - wie oben dargelegt - in einem System die Übertragungs­ priorität für Datenschreiboperationen von der Datenquelle be­ stimmt wird, sind Systemblockierungen sehr wahrscheinlich, wenn Datenabhängigkeiten existieren. Dies ist insbesondere der Fall, weil das System speziell für Multimedia-Anwendungen konstruiert ist, bei denen Daten von einer Vielzahl von Quellen gleichzei­ tig verfügbar sind. Daher ist eine Anordnung wünschenswert, die das Problem der Systemblockierung für dieses Hochgeschwindig­ keits-Verbindungssystem ebenso wie für andere Verbindungsanord­ nungen einschließlich herkömmlicher Busse löst.
Folglich ist es eine Aufgabe der Erfindung, das Problem der durch Datenabhängigkeiten in einem Computersystem hervorgerufe­ nen Systemblockierungen zu eliminieren.
Diese Aufgabe wird gelöst durch eine Einrichtung mit den Merkmalen des Patentanspruchs 1. Diese Einrichtung läßt eine Daten-Zielkomponente eines Computersystems die Reihenfolge der Übertragung der Daten steuern. Die Einrichtung weist Mittel zum Liefern eines numerierten Signals, das das Vorhandensein eines zu der ersten Komponente zu übertragenden Datensatzes in einer bestimmten Komponente anzeigt, der ersten Komponente zugeord­ nete Mittel zum Auswählen unter all den numerierten Signalen, um von allen Datensätzen einen nächsten Datensatz in einer be­ stimmten numerischen Ordnung auszuwählen, und der ersten Kompo­ nente zugeordnete Mittel zum Auswählen eines vom nächsten Da­ tensatz abweichenden Datensatzes in einer bestimmten numeri­ schen Ordnung auf.
Die Erfindung stellt eine Einrichtung zur Verfügung, die es der Zielkomponente eines Computersystems gestattet, zu bestim­ men, welche Daten in sie geschrieben werden sollen.
Im folgenden wird die Erfindung anhand eines in der Zeich­ nung dargestellten Ausführungsbeispiels näher beschrieben. In der Zeichnung zeigt:
Fig. 1 ein Blockschaltbild eines Hochgeschwindigkeits- Verbindungssystems, welches die vorliegende Er­ findung verwenden kann;
Fig. 2 ein die Schaltungsanordnung der Erfindung ver­ anschaulichendes Blockschaltbild;
Fig. 3 ein Blockschaltbild einer Schaltung, die ein spezielles Element der in Fig. 2 gezeigten Schaltungsanordnung der Erfindung veranschau­ licht;
Fig. 4 ein Blockschaltbild eines speziellen Elements der in Fig. 2 gezeigten Schaltungsanordnung der Erfindung; und
Fig. 5 ein die Arbeitsweise eines Teils der Erfindung beschreibendes Ablaufdiagramm.
Einige Abschnitte der folgenden Figurenbeschreibung enthal­ ten Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers. Diese Beschreibungen und Darstellungen sind Mittel, die vom Fachmann auf dem Gebiet der Datenverarbeitung verwendet werden, um anderen Fachleuten den Gegenstand ihrer Arbeit am effektivsten zu übermitteln. Die Operationen sind solche, die physikalische Manipulationen physikalischer Größen erfordern. Üblicherweise, jedoch nicht notwendigerweise, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die gespeichert, übertragen, kombiniert, verglichen und in anderer Weise manipuliert werden können. Mit der Zeit hat es sich - prinzipiell aus Gründen der allgemeinen Anwendbarkeit - als vorteilhaft erwiesen, diese Signale mit Bits, Werten, Ele­ menten, Symbolen, Zeichen, Ausdrücken, Zahlen oder ähnlichem zu bezeichnen. Dabei ist jedoch zu berücksichtigen, daß all diese und ähnliche Ausdrücke geeigneten physikalischen Größen zuge­ ordnet sind und bloß geeignete Bezeichnungen für diese Größen sind.
Darüber hinaus werden die ausgeführten Manipulationen oft­ mals mit Begriffen, wie beispielsweise Addieren oder Verglei­ chen bezeichnet, welche üblicherweise durch einen Menschen aus­ geführten geistigen Operationen zugeordnet werden. Dabei ist in den meisten Fällen der hier beschriebenen Operationen, die einen Teil der vorliegenden Erfindung bilden, eine solche Fä­ higkeit eines menschlichen Bedieners weder notwendig noch er­ wünscht; die Operationen sind Maschinenoperationen. In sämtli­ chen Fällen sollte der Unterschied zwischen der Verfahrensope­ ration im Betrieb eines Computers und dem Verfahren der Berech­ nung selbst berücksichtigt werden. Die Erfindung bezieht sich auf eine Einrichtung und auf Verfahrensschritte zum Betreiben eines Computers bei der Verarbeitung elektrischer oder anderer (d. h. mechanischer, chemischer, physikalischer Signale) zur Er­ zeugung anderer gewünschter physikalischer Signale.
Im folgenden wird auf Fig. 1 Bezug genommen, in der ein Verbindungssystem 10 dargestellt ist, das entsprechend der er­ sten oben erwähnten Patentanmeldung ausgebildet ist. Das darge­ stellte Verbindungssystem 10 enthält vier Knoten 12, von denen jeder über eine Schnittstelle 13 mit einer Computersystemkompo­ nente 14 oder einem Peripheriegerät verbunden werden kann. Je­ der Knoten 12 enthält eine Schaltungsanordnung 16 zum Empfangen und Speichern von Daten von der zugeordneten Komponente 14 in einer Mehrzahl von Paketen. Im dargestellten Ausführungsbei­ spiel sind vier einzelne Speicherbereiche zum Speichern von Pa­ keten dargestellt; diese Speichergebiete sind einzeln durch die Buchstaben A, B, C und D in der Fig. 1 bezeichnet. In dem Ver­ bindungssystem 10 kann jedes Paket bis zu 64 Datenbytes enthal­ ten.
Darüber hinaus enthält jeder Knoten 12 eine Steuerschaltung 17, welche durch die Komponenten 14 zur Verfügung gestellte In­ formationen zum Steuern der Übertragung von Daten an jeden be­ liebigen Knoten 12 zu einer mit einem beliebigen anderen Knoten 12 verbundenen Komponente 14 verwenden kann. Die Steuerschal­ tung 17 jedes Knotens 12 ist so angeordnet, daß sie Steuerin­ formationen zu der Steuerschaltung 17 jedes anderen Knotens über einen Start-Bus oder Start-Busse 18 (launch bus) übertra­ gen kann. Im bevorzugten Ausführungsbeispiel des Verbindungssy­ stems verbindet ein einzelner Start-Bus 18 jeden Knoten 12 mit jedem anderen Knoten 12.
Zur Übertragung dieser Informationen wird ein Kopfteil, im folgenden Header genannt, verwendet. Ein Header besteht aus durch die Quellkomponente 14 erzeugten Daten, welche von der Schnittstelle 13 zu der Steuerschaltung 17 jeweils dann über­ tragen werden, wenn ein Datenpaket von der Schnittstelle 13 zur Speicherung in der Schaltung 16 beim Quellknoten 12 gesendet wird. Ein Header enthält die Adresse des Knotens, zu welchem die Daten gesendet werden sollen, die von der Quelle bestimmte Priorität der Daten bzw. eine "Strom-Nummer" (wird später erör­ tert), wobei die Priorität an der Zielkomponente festzustellen ist, und die Art der auszuführenden Operation. Dieser Header wird auf dem Start-Bus 18 von der Steuerschaltung 17 des Quell­ knotens 12 zur Steuerschaltung 17 im Knoten der adressierten Komponente gesendet. Üblicherweise wird die Reihenfolge der Verwendung der Daten aus sämtlichen Quellen von der Steuer­ schaltung 17 des Zielknotens 12 mit Hilfe der durch die Quell­ komponenten entsprechend der Lehre der zweiten oben erwähnten Patentanmeldung gelieferten Prioritätsinformationen bestimmt. Die Schaltungsanordnung zum Steuern der Prioritätsentscheidung über die Reihenfolge der Verwendung ist in der in Fig. 1 darge­ stellten Steuerschaltung 17 enthalten und kann als ein Teil je­ des Zielknotens 12 angesehen werden.
Sobald die zu übertragenden Daten bestimmt sind, werden die in den Speicherschaltungen 16 an jedem Quellknoten 12 gehalte­ nen Datenpakete von der Schaltung 16 unter Steuerung durch die Steuerschaltung 17 von direkt-verbundenen Datenpfaden 19 zur Schnittstelle 13 jedes anderen Knotens übertragen. In Fig. 1 ist nur ein Satz direkt-verbundener Datenpfade 19 dargestellt (die Verbindungen vom Knoten 12 an der linken Seite der Figur), um die Zeichnung nicht zu komplizieren.
Da die Reihenfolge der Verwendung der Daten normalerweise durch von den Datenquellen gelieferten Prioritätsinformationen bestimmt wird, ist das System Blockierungen ausgesetzt, wenn Datenabhängigkeiten existieren. Die Erfindung ist darauf ge­ richtet, diese Blockierungen dadurch zu eliminieren, daß ein Entscheidungssystem vorgesehen ist, welches einer Komponente, zu welcher Informationen übertragen werden sollen, gestattet, die Reihenfolge festzulegen, in welcher die Informationen über­ tragen werden sollen. Dies wird ausgeführt, indem ein "Strom- Entscheidung" genanntes zweites Entscheidungsverfahren vorgese­ hen ist, in welchem zu "Strömen" gehörende Informationspakete mit "Strom-Nummern" gekennzeichnet werden, so daß sie unter Steuerung einer Zielkomponente zur Übertragung ausgewählt wer­ den können.
Ein Element der vorliegenden Erfindung, welches beim Elimi­ nieren von Blockierungen mitwirkt, ist die Verwendung eines "Strom-Voll-Signals". Eine Blockierung kann an einem Quellkno­ ten aufgrund der begrenzten Menge des für eingehende Daten ver­ fügbaren Speichers auftreten. Wenn die Puffer dieser Speicher­ schaltung 16 mit Daten, die eine bestimmte Strom-Nummer haben, gefüllt sind, gibt es keine Möglichkeit, andere Daten von ande­ ren Strömen zum Speicherbereich zur Verfügung zu stellen. Folg­ lich gibt es keine Möglichkeit, die Zielkomponente darüber zu informieren, daß Daten von anderen Strom-Nummern existieren. Um diese Blockierung zu beseitigen, ist das Strom-Voll-Signal vor­ gesehen. Wenn der Quellknoten 12 Daten mit einer bestimmten Strom-Nummer in seiner Quellpufferschaltung 16 hält, wie es in dem Header für das Datenpaket angezeigt ist, wird das Strom- Voll-Signal verwendet, um die Quellkomponente 14 von dieser Tatsache zu benachrichtigen. Ein Protokoll, welches eine Quell­ komponente einhalten sollte, spricht gegen das Senden eines an­ deren Pakets der gleichen Strom-Nummer an einen anderen Quell­ puffer, wenn das Strom-Voll-Signal empfangen wird. Das Strom- Voll-Signal wird ausgeführt, indem der Header jedes neuen Pa­ kets, wenn er angelegt wird, mit den Headern der bereits in dem Speicherpufferbereich vorhandenen Pakete verglichen wird. Die Strom-Nummer und die Knotenadresse jedes neuen Pakets werden mit der Strom-Nummer und Knotenadresse jedes bereits gespei­ cherten Pakets verglichen. Wenn die gleiche Strom-Nummer und Knotenadresse in irgendeinem in den Speicherpuffern dieses Kno­ tens gehaltenen Datenpaketen enthalten sind, gibt der Knoten ein Strom-Voll-Signal zurück. Dieses Strom-Voll-Signal zeigt der Quellkomponente an, daß sie die Übertragung der Daten die­ ser Strom-Nummer, die für diesen Knoten zum Speicherpufferbe­ reich vorgesehen sind, beenden soll, bis das Strom-Voll-Signal abgestellt ist.
Um dies auszuführen, enthält jeder Knoten 12 innerhalb des Quellabschnitts seiner Steuerschaltung 17 einen Register-Satz 20 (siehe Fig. 3), welcher die Strom-Nummern der in der Quell­ pufferschaltung 16 an diesem Knoten enthaltenen Pakete gemein­ sam mit der Nummer des Knotens, an welchen die Informationen gerichtet sind, speichert. Ein Komparator 22 vergleicht die Strom-Nummer in dem Header des eingehenden Datenpakets am Hea­ der-Puffer 21 mit den Werten der Strom-Nummern in den Registern 20. Gleichzeitig vergleicht ein Komparator 24 den Knoten, an welchen das eingehende Signal gerichtet ist, mit dem Knoten, an welchen jedes in dem Knoten gespeicherte Paket gerichtet ist. Wenn beide Komparatoren ein positives Vergleichssignal erzeugen und wenn das Paket gültig ist, leitet ein UND-Gatter 29 ein Si­ gnal zu einem ODER-Gatter 32 durch, welches ein Strom-Voll-Si­ gnal erzeugt. Das Gültigkeitsbit dient dazu, anzuzeigen, daß ein Paket in dem zugeordneten Puffer geladen und bereit ist, gestartet zu werden. Wenn folglich irgendeine der Strom-Nummern in den Registern 20 mit denen in dem angelegten Header überein­ stimmt, wird ein Strom-Voll-Signal angelegt, um anzuzeigen, daß das eingehende Paket nicht geladen werden und seine Annahme zu einem späteren Zeitpunkt erneut versucht werden soll. Das be­ vorzugte Ausführungsbeispiel enthält die in Fig. 3 gezeigte Schaltung zum Erzeugen von Strom-Voll-Signalen an jedem Knoten.
Das Strom-Voll-Signal eliminiert die Blockierung, die durch das Füllen der Puffer an einem Knoten 12 entsteht, der mit ei­ ner Quellkomponente 14 verbunden ist, wenn die Puffer bereits Informationen der gleichen Strom-Nummer gespeichert haben, wel­ che verwendet werden müssen, bevor die später eintreffenden In­ formationen verwendet werden können. Auf diese Weise kann sich keine so große Datenmenge unter einer Strom-Nummer in dem be­ grenzten Pufferspeicherbereich der am Quellknoten vorgesehenen Schaltung 16 aufbauen, daß andere Informationsströme vom Errei­ chen des Pufferspeichers ausgeschlossen sind.
Ein zweites Element der Erfindung, welches beim Eliminieren von Systemblockierungen mitwirkt, ist die in Fig. 2 darge­ stellte Strom-Entscheidungsschaltung 15. Die Schaltung 15 gemäß Fig. 2 ist in der Steuerschaltung 17 des Ziels angeordnet. Sie überwacht sämtliche Header-Informationen, die die Ströme be­ treffen, die an sämtlichen Quellknoten des Verbindungssystems 10 verfügbar sind, und legt fest, welche als nächstes ausge­ wählt werden sollen. Sie führt dies aus, indem sie, beginnend mit dem letzten übertragenen Strom, jeden der Ströme durchläuft und zuerst feststellt, ob zusätzliche Daten dieser Strom-Nummer an irgendeinem Knoten verfügbar sind. Sie fährt dann mit der nächsthöheren Strom-Nummer fort und bestimmt, ob Daten dieser Strom-Nummer an irgendeinem Knoten verfügbar sind. Folglich werden zuerst die Knoten und dann die Ströme nacheinander durchlaufen.
Wenn beispielsweise am Zielknoten D der Strom 0 zuletzt vom Quellknoten A übertragen worden ist, sieht die Strom-Entschei­ dungsschaltung 15 auf den Knoten B, um festzustellen, ob Daten des Stroms 0 an diesem Knoten existieren. Wenn dies nicht der Fall ist, untersucht sie den Knoten C nach Daten vom Strom 0. Wenn keine Daten vom Strom 0 am Knoten C existieren, sucht die Schaltung 15 nach der nächsthöheren Strom-Nummer und untersucht die Knoten in der gleichen Reihenfolge, um zu bestimmen, ob an­ dere Daten dieser Strom-Nummer existieren. Die Schaltung 15 fährt auf diese Weise fort, bis der nächste Informationsstrom gefunden ist. An diesem Punkt wird dieser nächste Strom ausge­ wählt; und seine Strom-Nummer wird die Nummer, mit welcher je­ der Knoten verglichen wird. Die Schaltung 15 fährt auf diese Weise fort, bis die höchste Strom-Nummer erreicht ist, und kehrt dann zu der niedrigsten Strom-Nummer zurück. Folglich kann man sehen, daß tatsächlich die normale Reihenfolge der Verarbeitung die folgende ist: geordnet durch alle Knoten einer einzigen Strom-Nummer, dann zu der nächsthöheren Strom-Nummer und dort geordnet durch sämtliche Knoten, wie beschrieben.
Diese normale Reihenfolge kann durch einen Befehl von der Zielkomponente 14 des Knotens, welcher die Strom-Entscheidungs­ schaltung enthält, verändert werden. Die Komponente 14 weist die Schaltung 15 an, den Strom zu überspringen, welcher norma­ lerweise verarbeitet würde, und mit dem in der Reihenfolge nächsten Strom fortzufahren. Unter Verwendung dieses Sprung-Si­ gnals kann die Zielkomponente die in sie zu schreibenden Infor­ mationen steuern, indem sie die verfügbaren Daten auswählt, welche für die Zielkomponente am notwendigsten sind.
Darüber hinaus kann das Sprung-Signal in dem Verbindungssy­ stem 10 verwendet werden, um dem Ziel zu gestatten, unter den Daten jene herauszusuchen, welche Gegenstand der Lese-Antwort- Operationen, der von Quelle bestimmten Prioritätsdaten und der Ströme der Daten sind. Die normale Priorität für solche Daten besteht darin, daß Lese-Antwort-Operationen zuerst auftreten, dann Prioritätsoperationen und dann Strom-Operationen. Jedoch gestattet ein von einer Zielkomponente kommendes Sprung-Signal ein Überspringen einzelner Lese-Antwort-Operationen sämtlicher Prioritäten auf einmal und einzelner Ströme. Auf diese Weise kann eine Zielkomponente die speziellen Informationen auswäh­ len, die sie zu verwenden wünscht, und System-Blockierungen aufgrund von Datenabhängigkeiten eliminieren.
Fig. 2 stellt die Schaltung 15 der Erfindung an irgendeinem einzelnen Zielknoten 12 dar. Die Schaltung 15 an jedem Bestim­ mungs- bzw. Zielknoten (Knoten D ist dargestellt) enthält einen Satz von Registern 23 zum Speichern von Header-Informationen, welche die in der Quellpufferschaltung 16 jedes anderen Knotens 12 gespeicherten Datenpakete beschreiben. Es sind drei Sätze von Registern 23A, 23B und 23C zum Speichern von Header-Infor­ mationen für jedes der einzelnen Datenpakete dargestellt, wel­ che an jedem der Quellknoten 12 gespeichert sein können. Jedes Register A-D jedes Registersatzes 23A-C ist einem bestimmten Speicherpuffer der Schaltung 16 an einem bestimmten Knoten 12 zugeordnet. Folglich speichert der (in der Figur) obere Regi­ stersatz 23A Informationen, die die Datenpakete in den Spei­ cherpuffern A-D am Knoten A betreffen. Der mittlere Satz von Registern 23B speichert Informationen, die die Datenpakete in den Speicherpuffern A-D am Knoten B betreffen. Der unterste Re­ gistersatz 23C speichert die die Datenpakete in den Speicher­ puffern A-D am Knoten C betreffenden Informationen.
Obwohl sämtliche Header-Informationen in den Registern 23 des Verbindungssystems gespeichert sind, wird für die Zwecke dieser Erfindung im nachfolgenden nur auf die gespeicherten In­ formationen Bezug genommen, die eine Strom-Nummer für das spe­ zielle Datenpaket am Quellknoten 12 definieren. Im bevorzugten Ausführungsbeispiel der Erfindung werden insgesamt acht Strom- Nummern (welche hier als Ebenen 0-7 bezeichnet sind) verwendet. In einem Ausführungsbeispiel der Erfindung können die gleichen Bits der Header-Informationen verwendet werden, um entweder eine durch die Quellkomponente bestimmte Priorität oder eine die Reihenfolge der Verwendung durch die Zielkomponente bestim­ mende Strom-Nummer anzuzeigen, wie nachfolgend beschrieben wird. In diesem Ausführungsbeispiel wird durch den Zustand ei­ nes Bits der Informationen in den vier Bits, die zur Kennzeich­ nung der Reihenfolge der Verwendung verfügbar sind, entweder die Quell- oder die Ziel-Auswahl festgelegt. Im restlichen Teil dieser Beschreibung soll ungeachtet einer anderweitigen Erwäh­ nung angenommen werden, daß das diese Selektion bewirkende Bit auf den Zustand gesetzt ist, in welchem die anderen drei Bits eine Strom-Nummer anzeigen.
Bei jedem sich auf einen der Quellknoten beziehenden Regi­ stersatz 23 werden die Bits jedes die Strom-Nummer des Datenpa­ kets kennzeichnenden Headers zu einer Schaltung 25 übertragen, in welcher die nächste an dem Quellknoten verfügbare Strom-Num­ mer bestimmt wird. Um dies auszuführen, werden die Bits jedes die Strom-Nummer anzeigenden Headers zu einer diesem bestimmten Header zugeordneten Subtraktionsschaltung 26A-D übertragen. Außer­ dem wird zu jeder Subtraktionsschaltung 26 die Strom-Nummer des letzten übertragenen Datenpakets übertragen. Die Strom-Num­ mer des letzten übertragenen Datenpakets wird von der Strom- Nummer des Headers subtrahiert, um eine Binärzahl zur Verfügung zu stellen, welche ein binäres Maß für den gegenseitigen Ab­ stand der Strom-Nummern ist. Alle durch die Subtraktionsschal­ tungen 26A-D erzeugten Werte werden an eine Komparatorschaltung 27 geliefert. Die Komparatorschaltung 27 kann eine Reihe von einzelnen Komparatoren aufweisen, welche gleichzeitig jedes Substraktionsergebnis mit jedem anderen Ergebnis vergleichen. In einem bevorzugten Ausführungsbeispiel, das sechs solcher Komparatoren in einer Schaltung 27 enthält, wird das Ergebnis der (in der Figur) oberen Subtraktionsschaltung 26A mit den Er­ gebnissen aller anderen Subtraktionsschaltungen 26B-D, das Er­ gebnis der zweiten Subtraktionsschaltung 26B mit den Ergebnis­ sen der dritten und der vierten Subtraktionsschaltung 26C, D und das Ergebnis der dritten Subtraktionsschaltung 26C mit dem Ergebnis der vierten Subtraktionsschaltung 26D verglichen.
Diese sechs Werte werden an eine Logikschaltung 28 überge­ ben, welche die durch die einzelnen Komparatoren der Schaltung 27 gelieferten Ausgangssignale verwendet, um die kleinste Aus­ gabe des Subtraktors 26 auszuwählen. Dieser kleinste Differenz­ wert zeigt die an dem Quellknoten als nächste verfügbare Strom- Nummer an. Es sei angemerkt, daß eine Verbindung (tie) niemals auftreten kann, weil das das Strom-Voll-Signal verwendende Strom-Protokoll des Systems nur einem einzigen Paket irgendei­ nes Stroms am Quellknoten zuläßt und die Quell-Hardware kein zweites Paket aus dem gleichen Strom von einem einzelnen Knoten sendet, bis die Übertragung des ersten Pakets abgeschlossen ist.
Der kleinste Differenzwert von jedem Quellknoten wird zu einer diesem Knoten zugeordneten Kombinierschaltung 30A-C ge­ liefert. Die Kombinierschaltung 30A-C kombiniert die drei den geringsten Differenzwert anzeigenden Bits von der zugeordneten Schaltung 28 mit dem durch eine Subtraktionsschaltung 31 er­ zeugten Ergebnis. Die Subtraktionsschaltung 31 empfängt eine 2- Bit-Anzeige des den Differenzwert erzeugenden speziellen Kno­ tens und subtrahiert von ihr den Wert, der den Knoten des zu­ letzt übertragenen Stroms anzeigt. Folglich ist das Ergebnis dieser Subtraktion ein Binärwert, der die Distanz zwischen dem Knoten des zuletzt übertragenen Stroms und dem den Stromdiffe­ renzwert erzeugenden Knoten anzeigt. Die Kombinierschaltung 30 erzeugt eine Ausgabe von fünf Bits, bei der die am höchsten be­ werteten drei Bits die geringste Stromdifferenz für den zuge­ ordneten Knoten und die am geringsten bewerteten zwei Bits die Differenz zwischen dem Knoten des zuletzt übertragenen Stromes und dem zugeordneten Knoten anzeigen.
Die drei Signale, die den nächsten Strom-Wert an jedem Kno­ ten und die Differenz zwischen dem Knoten des zuletzt übertra­ genen Stroms und dem zugeordneten Knoten kennzeichnen, werden zu einer Komparatorschaltung 33 übertragen, welche jeden der Werte mit den beiden anderen vergleicht. Die Ergebnisse dieser Vergleiche werden einer Logikschaltung 34 zur Verfügung ge­ stellt, welche die durch die einzelnen Komparatoren der Schal­ tung 33 gelieferten Ausgaben verwendet, um die zahlenmäßig kleinste Ausgabe auszuwählen. Da die Bits der höchsten Ordnung die geringste Differenz der Strom-Nummern kennzeichnen, wird der dem zuletzt übertragenen Strom nächste Strom zuerst ausge­ wählt. Wenn irgendwelche Knoten einen Strom mit der gleichen Nummer enthalten, dann ist dieser geringste Differenzwert für alle Knoten gleich. Die zwei geringsten Bits unterscheiden sich jedoch stets, da sie die relative Nähe des bestimmten Knotens zu dem letzten Knoten, welcher Daten übertrug, anzeigen. Wenn jeder Knoten Daten der gleichen nächsten Strom-Nummer hat, wird folglich der dem letzten Daten übertragenen Knoten nächste Kno­ ten ausgewählt. Folglich liefert die Schaltung ein Ausgangssi­ gnal, welches auszuwählende Ströme in einer Sequenz erzeugt, die zunächst die Knoten mit einem einzigen Strom und dann die anderen Ströme in der gewünschten Reihenfolge durchläuft.
Das Sprungsignal ermöglicht eine Auswahl der Zielkomponente unter den an einer Vielzahl von Datenquellen verfügbaren Daten. Dieses Signal wird durch eine Zielkomponente 14 erzeugt, wenn diese wünscht, Daten außerhalb der normalen, von der Schaltung 15 bestimmten Reihenfolge aufzunehmen. Das Sprung-Signal wird von der Komponente 14 über die Schnittstelle 13 zur Schaltung 15 übertragen und veranlaßt die Schaltung 15, den in der Rei­ henfolge nächsten Strom zu überspringen und mit dem nächsten Strom fortzufahren. Mit Hilfe dieses Sprung-Signals kann eine Zielkomponente 14 von einer nicht gewünschten Quelle zu einer gewünschten Quelle springen und dabei die in den meisten Ver­ bindungssystemen zu findenden Blockierungen aufgrund von Daten­ abhängigkeiten eliminieren. In einem Falle, in welchem eine Zielkomponente Informationen von mehreren Strömen benötigt, um eine Operation auszuführen, gestattet diese Anordnung ein Eli­ minieren einer Blockierung, indem einer dieser Ströme über­ sprungen wird, um zu einem anderen gewünschten Strom zu gelan­ gen. Wie oben ausgeführt wurde, kann das Sprung-Signal ebenso gut zum Überspringen von Lese-Antwort-Operationen und quellbe­ stimmten Prioritätsoperationen verwendet werden, um Blockierun­ gen zu eliminieren. Die Einzelheiten zum Ausführen einer sol­ chen Operation werden später anhand von Fig. 5 erörtert.
Da die Rotation von Strom zu Strom zunächst jeden Knoten durchläuft, um zu bestimmen, ob der gleiche Strom an jedem nachfolgenden Knoten existiert, und dann zu der nächsthöheren Strom-Nummer durch jeden der Knoten fortfährt, beeinflußt das Sprung-Signal die Schaltungsanordnung in Abhängigkeit von dem Knoten, von welchem das letzte Signal übertragen worden ist, unterschiedlich. Wenn beispielsweise der letzte übertragene Strom der Strom 1 am Knoten A (gekennzeichnet durch Bits gleich 0) war, so ist der nächste gültige Strom vom Knoten A der Strom 2. Jedoch ist für die Knoten B (gekennzeichnet durch Bits gleich 1) und C (gekennzeichnet durch Bits gleich 2) der näch­ ste gültige Strom zur Übertragung der Strom 1, da sämtliche In­ formationen eines Stromes von allen Knoten aufgenommen werden. Wenn jedoch der letzte übertragene Strom der Strom 1 am Knoten B war, ist der nächste gültige Strom zur Übertragung vom Knoten B der Strom 2, vom Knoten C der Strom 1 und vom Knoten A der Strom 2. Folglich muß die Wirkung des Sprung-Signals in Abhän­ gigkeit davon, an welchem Knoten zuletzt ein Datenpaket über­ tragen worden ist, unterschiedlich sein.
Dies wird durch eine Logikschaltung 36 ausgeführt, welche sowohl den Wert des zuletzt Informationen übertragenden Knotens (unter Verwendung der oben gegebenen Numerierungen) als auch das Sprung-Signal empfängt und entweder die letzte Strom-Nummer oder die letzte Knotenbezeichnungsnummer veranlaßt, inkremen­ tiert zu werden. Dieses Inkrementieren kann leicht dadurch aus­ geführt werden, indem der Eintrag-Wert zu der durch die Logik ausgewählten speziellen Subtraktionsschaltung 26 vernichtet wird. Es ist klar, daß ein Standardverfahren des Subtrahierens in logischen Schaltungen, das das Zweierkomplement binärer Zah­ len verwendet, darin besteht, die zu subtrahierende Zahl zu in­ vertieren, sie zu der Nummer, von welcher sie subtrahiert wer­ den soll, zu addieren und wieder eine Eins (einen Eintrag) zu addieren. Folglich hat das Vernichten des Eintrags die Wirkung, daß der Wert des zuletzt übertragenen Stroms oder des Knotens, von welchem er zuletzt in Abhängigkeit von der durch die Logik erfolgten Auswahl übertragen worden ist, um eins dekrementiert wird. Das Dekrementieren des Werts bewirkt das Überspringen des speziellen Datenpakets, da die Anzeige der Distanz sich vom nächsten (0) zum entferntesten (7) ändert.
Fig. 4 stellt eine Anordnung zum Ausführen der oben be­ schriebenen Sprung-Operation dar. Die Schaltung 36 empfängt das Sprung-Signal von der Zielkomponente 14. Sie nimmt außerdem den Bezeichnungswert des aktuellen Knotens (des Knotens, der über­ prüft wird) und des Knotens auf, von welchem das letzte Signal übertragen worden ist. Wenn kein Sprung-Signal vorhanden ist, wird stets ein Eintrags-Signal zu der speziellen Subtraktions­ schaltung 26 übertragen, so daß die Differenz zwischen der ak­ tuellen Strom-Nummer und dem letzten übertragenen Strom den Offset-Wert an die Vergleichsschaltung 27 bildet. Dies ist die oben dargelegte typische Operationsweise.
Wenn jedoch ein Sprung-Signal von der Zielkomponente 14 an der Schaltung 36 vorhanden ist und der aktuelle Knoten der Kno­ ten A ist, so wird das Sprung-Signal übertragen, um das Ein­ trag-Signal zu beseitigen. Wenn ein Sprung-Signal von der Ziel­ komponente 14 vorhanden und der aktuelle Knoten der Knoten B ist, so wird das Sprung-Signal zum Beseitigen des Eintragssi­ gnals übertragen, wenn der letzte ausgewählte Knoten nicht der Knoten A war. Wenn ein Sprung-Signal von der Zielkomponente 14 vorhanden und der aktuelle Knoten der Knoten C ist, so wird ein Sprung-Signal zum Beseitigen des Eintragssignals übertragen, wenn der letzte ausgewählte Knoten weder der Knoten A noch der Knoten B war. Diese Logik erzeugt die oben beschriebene ge­ wünschte Sprung-Wirkung.
Fig. 5 ist ein Ablaufdiagramm, das die Arbeitsweise der Schaltung darstellt, welche dem Programm gestattet, die Le­ seantwort- und Prioritätsentscheidungssignale ebenso wie die Strom-Entscheidungssignale zu überspringen, so daß irgendein spezielles, durch die Zielkomponente gewünschtes Signal ausge­ wählt werden kann. Die Schaltung für die Ausführung der Opera­ tionen des Flußdiagramms kann unter Beachtung der bereits für die Sprungoperationen in bezug auf Ströme gegebenen Beschrei­ bung und bei Verwendung von dem Fachmann bekannten Schaltungen leicht implementiert werden. In einem im Ablaufdiagramm gemäß Fig. 5 dargestellten ersten Schritt 40, werden die Ausgangssi­ gnale von drei einzelnen Schaltungen durchgesehen, um festzu­ stellen, ob ein Lese-Antwort-Paket für die Übertragung verfüg­ bar ist. Die einzelnen Schaltungen, welche diese Information zur Verfügung stellen, sind die in Fig. 2 dargestellte Schal­ tung, eine in der oben erwähnten Patentanmeldung beschriebene Schaltung zum Beurteilen von Prioritätsantworten und eine ähn­ liche Schaltung zum Entscheiden von Lese-Antworten. Eine Schal­ tung zum Implementieren der Operationen gemäß Fig. 5 könnte zwischen dem Block 34 und der Schnittstelle 13 gemäß Fig. 2 an­ geordnet sein.
Wenn in irgendeinem Paket eine Lese-Antwort zur Übertragung zu der von ihrem Header angezeigten speziellen Zielkomponente bereitgehalten wird, wird beim Schritt 41 eine Maske gelöscht. Diese Maske ist eine Anzeige, sofern eine bestimmte Sendung zu überspringen ist. Wenn keine Lese-Antwort aktuell verfügbar ist, überspringt die Operation die gesamte sich auf Lese-Ant­ worten beziehende Schrittfolge bis zu einem Schritt 47, welcher weiter unten erörtert wird. Wenn eine Lese-Antwort verfügbar ist, wird am Schritt 42 das Lese-Antwort-Paket der Zielkompo­ nente zur Übertragung bereitgestellt. Wenn die Zielkomponente die Lese-Antwort akzeptiert, wird die Lese-Antwort übertragen; und die Operation stellt am Schritt 43 fest, daß die die Lese- Antwort enthaltende Operation abgeschlossen ist, und kehrt zum Schritt 40 zurück, um die Operation erneut zu beginnen.
Wenn die Leseantwort von der Zielkomponente nicht akzep­ tiert wird, bewegt sich das System als nächstes zum Schritt 44, wo es feststellt, ob eine Übersprung-Anzeige von der Zielkompo­ nente empfangen worden ist. Wenn keine Übersprung-Anzeige emp­ fangen worden ist, kehrt die Operation zum Schritt 43 zurück. Wenn ein Sprung-Signal empfangen worden ist, bewegt sich die Operation zum Schritt 45, wo dieser Knoten abgedeckt wird, da­ mit das Signal übersprungen wird. In der Anordnung, in welcher das bevorzugte Ausführungsbeispiel der Erfindung funktioniert, ist nur eine Lese-Antwort von irgendeinem Knoten des Verbin­ dungssystems verfügbar; infolgedessen bewirkt ein Abdecken die­ ses Knotens eine Übersprung-Operation für diese bestimmte Lese- Antwort.
Wenn die Operation eine Überprüfung hinsichtlich des be­ stimmten Lese-Antwort-Signals abgeschlossen und eine Über- Sprung-Anzeige gefunden hat, bewegt sie sich zum Schritt 46, wo Lese-Antworten an den anderen Knoten in einer ähnlichen Weise durchgesehen werden, um zu bestimmen, ob sie vorhanden sind und behandelt oder übersprungen werden sollten. Wenn es keine wei­ teren Lese-Antworten an irgendeinem Knoten gibt oder wenn es anfänglich (Schritt 40) keine Lese-Antworten an irgendeinem Knoten gibt, dann bewegt sich die Operation zum Schritt 47, wo die verfügbare Pakete anzeigenden Signale durchgesehen werden, um wiederum durch Überprüfen der verfügbaren Header-Information zu bestimmen, ob irgendwelche Prioritätsentscheidungspakete existieren.
Prioritätspakete werden der Schaltung, deren Arbeitsweise in Fig. 5 gezeigt ist, in einer Reihenfolge zur Verfügung ge­ stellt, bei der das Paket mit der höchsten Priorität das erste ist. Wenn ein Prioritätspaket existiert, wird das Paket der Zielkomponente am Schritt 48 präsentiert; und am Schritt 49 wird bestimmt, ob ein Sprung-Signal für dieses Paket existiert. Wenn kein Sprung-Signal existiert, bewegt sich die Operation zum Schritt 50, um zu bestimmen, ob die Zielkomponente das Pa­ ket akzeptiert hat. Wenn das Paket akzeptiert worden ist, kehrt die Operation zum Schritt 40 zurück, um zu bestimmen, ob neue Lese-Antworten erschienen sind, und dann, ob neue Prioritätspa­ kete zur Übertragung verfügbar sind. Wenn das Paket nicht ak­ zeptiert worden ist, kehrt die Operation über den Übersprung- Schritt zurück, bis das Paket entweder akzeptiert wird oder ein Sprung-Signal erscheint. Diese zyklische Rückkehr kann auftre­ ten, weil die bestimmte Zielkomponente einfach noch nicht für die Datenverarbeitung bereit ist.
Wenn ein Übersprung am Schritt 49 auftritt, werden alle Prioritätspakete übersprungen, so daß die Reihenfolge des Ak­ zeptierens solcher Pakete konstant bleibt. In einem solchen Fall oder wenn keine Prioritätspakete am Schritt 47 existieren, bewegt sich die Operation zum Schritt 51 fort, um wiederum durch Durchsehen der Header zu bestimmen, ob irgendwelche Strom-Pakete zur Übertragung verfügbar sind. Sofern keine exi­ stieren, kehrt die Operation zum Schritt 40 zurück. Wenn ein die Übertragung erwartender Strom gefunden ist, wird die Nummer des anfänglichen Stromes (der letzte verarbeitete Strom) am Schritt 52 bestimmt; und der neue Strom wird der Zielkomponente am Schritt 53 bereitgestellt. Am Schritt 54 wird festgestellt, ob das Strom-Paket durch die Zielkomponente verarbeitet worden ist. Wenn dies der Fall ist, kehrt die Operation zum Schritt 40 zurück. Wenn nicht, fährt die Operation mit Schritt 55 fort, um zu bestimmten, ob ein Sprung-Signal empfangen worden ist. Wenn nichts empfangen worden ist, kehrt die Operation zum Schritt 54 zurück, bis der bestimmte Strom-Header übertragen oder ein Sprung-Signal empfangen worden ist. Im bevorzugten Ausführungs­ beispiel der Erfindung wird die das Sprung-Signal für Strom-Pa­ kete implementierende Operation innerhalb der in Fig. 2 mit dem mit 36 gekennzeichneten Block in der oben beschriebenen Weise bearbeitet.
Wenn am Schritt 55 ein Übersprung-Signal empfangen worden ist, fährt die Operation mit dem nächsten Strom-Header fort, der am Schritt 56 verfügbar ist. Am Schritt 57 wird festge­ stellt, ob dieser neue Strom der gleiche ist wie der anfängli­ che Strom am Schritt 52. Wenn nicht die gleiche Nummer festge­ stellt wird, weiß die Operation, daß sie noch nicht sämtliche Strom-Nummern durchlaufen hat, und verarbeitet dieses Strom-Si­ gnal in der gleichen Weise wie den vorangegangenen Strom, indem sie zum Schritt 53 zurückkehrt, um den Strom der Zielkomponente zum Akzeptieren bereitzustellen. Wenn durch die Überprüfung am Schritt 57 festgestellt wird, daß kein weiteres Strom-Signal existiert, kehrt die Operation zum Schritt 40 zurück.
Auf diese Weise ist eine Zielkomponente im System der vor­ liegenden Erfindung in der Lage, unter sämtlichen Paketen sämt­ licher Knoten des Systems auszuwählen, um zu bestimmen, welches Paket von Informationen sie zu verarbeiten wünscht. Wie aus der gegebenen Beschreibung deutlich wird, überprüft die Opera­ tion zunächst sämtliche verfügbaren Lese-Antworten, um schritt­ weise zu bestimmen, welche übertragen und welche übersprungen werden sollen. Dann überprüft sie die Prioritätspakete und überspringt bei Vorhandensein eines Sprung-Signals sämtliche dieser Signale. Schließlich überprüft die Operation die Strom- Pakete einzeln nacheinander, so daß sie selektiv übersprungen werden können.
Der Fachmann wird erkennen, daß die erfindungsgemäße Schal­ tung einer Zielkomponente gestattet, zu bestimmen, welche Daten aktuell zu ihr zu übertragen sind. Auf diese Weise sorgt die Schaltung für eine Beseitigung von Blockierungsbedingungen, die normalerweise bei Computersystemen auftreten, in welchen Daten­ abhängigkeiten existieren. Eine solche Schaltung ist für eine Verwendung bei dem oben erwähnten Verbindungssystem gut ge­ eignet, aber sie ist ebenfalls bei anderen Arten von Verbin­ dungssystemen einschließlich Standardbussen anwendbar.

Claims (13)

1. Einrichtung zur Steuerung der Reihenfolge der Übertra­ gung von Daten beim Schreiben der Daten in eine erste Kompo­ nente eines Computersystems, dadurch gekennzeichnet,
daß Mittel (17, 18) zum Erzeugen eines numerierten Signals vorgesehen sind, welches angibt, daß ein zur ersten Komponente (14) zu übertragender Datensatz an einer bestimmten anderen Komponente (14) ansteht,
daß der ersten Komponente Auswahlmittel (15) zur Auswahl unter sämtlichen numerierten Signalen zugeordnet sind, die aus zur Verfügung stehenden Datensätzen einen Datensatz als näch­ sten in einer bestimmten numerischen Reihenfolge auswählen, und
daß der ersten Komponente (14) Mittel (36) zum Auswählen eines anderen als des nächsten Datensatzes in der bestimmten numerischen Reihenfolge zugeordnet sind, so daß die Reihenfolge der Daten bei der Datenübertragung von der ersten Komponente steuerbar ist.
2. Einrichtung zur Steuerung der Reihenfolge der Übertra­ gung von Daten beim Schreiben der Daten in eine erste Kompo­ nente eines Computersystems, dadurch gekennzeichnet,
daß Mittel (17, 18) zum Liefern eines numerierten Signals vorgesehen sind, welches das Vorhandensein eines zu der ersten Komponente (14) zu übertragenden Datensatzes in einer bestimm­ ten anderen Komponente (14) anzeigt,
daß unter sämtlichen numerierten Signalen auswählende Mit­ tel (15) von der ersten Komponente (14) gesteuert sind, um aus zur Verfügung stehenden Datensätzen einen Datensatz als näch­ sten in einer bestimmten numerischen Reihenfolge auszuwählen, und
daß Mittel (36) zum Auswählen eines anderen als den näch­ sten Datensatz in der bestimmten numerischen Reihenfolge von der ersten Komponente gesteuert sind, so daß die Reihenfolge der Daten bei der Datenübertragung von der ersten Komponente aus steuerbar ist.
3. Einrichtung zur Steuerung der Reihenfolge der Übertra­ gung von Daten in eine Zielkomponente eines Computersystems, dadurch gekennzeichnet,
daß Mittel (17, 18) zum Erzeugen eines numerierten Signals vorgesehen sind, welches angibt, daß Daten in einer bestimmten anderen Komponente (14) zur Übertragung an die und unter Steue­ rung der Zielkomponente anstehen,
daß Mittel zur Erzeugung eines Prioritätssignals vorgesehen sind, welches angibt, daß an einer bestimmten anderen Kompo­ nente Daten, die von letzterer auf einem bestimmten Prioritäts­ niveau eingestuft werden, zur Übertragung an die Zielkomponente anstehen,
daß der Zielkomponente (14) unter allen numerierten Signa­ len auswählende Mittel (15) zugeordnet sind, um aus allen durch ein numeriertes Signal bezeichneten Sätzen von Daten einen nächsten Datensatz in einer bestimmten numerischen Reihenfolge auszuwählen, und daß der Zielkomponente Mittel (36) zum Auswäh­ len eines vom nächsten Datensatz in der bestimmten numerischen Reihenfolge abweichenden Datensatzes zugeordnet sind, so daß die Reihenfolge der Daten und Datensätze bei der Datenübertra­ gung von der jeweiligen Zielkomponente steuerbar ist.
4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ferner Mittel (36) zum Überspringen der ei­ nem bestimmten numerierten Signal zugeordneten Datenübertragung gesehen sind.
5. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß ferner Mittel zum Überspringen der einem bestimmten numerierten Signal oder sämtlichen Prioritätssignalen zugeordneten Daten­ übertragung vorgesehen sind.
6. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß Mittel zum Anzeigen der Zurückweisung einer einem bestimmten numerierten Signal zugeordneten Datenübertra­ gung vorgesehen sind, wobei die Zurückweisung erfolgt, wenn ein dem bestimmten numerierten Signal zugeordneter Datensatz be­ reits verfügbar ist.
7. Einrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die der ersten bzw. der Zielkomponente zu­ geordneten Mittel (15) zum Auswählen unter sämtlichen numerier­ ten Signalen aufweisen:
Mittel (25), die für jede andere Komponente (14) das gegen­ über dem zuletzt übertragenen numerierten Signal in numerischer Ordnung nächste numerierte Signal bestimmen, und
Mittel (33) zum Vergleichen sämtlicher bestimmter nächster Signale, um das nächste von sämtlichen numerierten Signalen auszuwählen.
8. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Mittel (15) zum Auswählen unter sämtlichen numerierten Si­ gnalen ferner Mittel zum Kennzeichnen der anderen Komponente (14), von welcher das numerierte Signal gesendet worden ist,
und Mittel zum Bestimmen einer anderen Komponente (14), die die sich auf ein numeriertes Signal beziehenden Daten am weitesten zurückliegend übertragen hat, aufweisen.
9. Einrichtung nach Anspruch 8, dadurch gekennzeichnet, daß ferner Mittel zum Überspringen eines das Vorhandensein eines zu der ersten bzw. Zielkomponente (14) zu übertragenden Daten­ satzes in einer bestimmten Komponente (14) anzeigenden bestimm­ ten numerierten Signals vorgesehen sind.
10. Einrichtung nach Anspruch 8, dadurch gekennzeichnet, daß ferner Mittel zum Anzeigen der Zurückweisung eines das Vor­ handensein eines zu der ersten bzw. Zielkomponente (14) zu übertragenden Datensatzes in einer bestimmten Komponente (14) anzeigenden bestimmten numerierten Signals vorgesehen sind, wo­ bei die Zurückweisung erfolgt, wenn ein dem bestimmten nume­ rierten Signal zugeordneter Datensatz bereits verfügbar ist.
11. Einrichtung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß ferner Mittel zum Liefern eines Signals vorgesehen sind, das das Vorhandensein eines als eine Lese-Ant­ wort zu der Zielkomponente zu übertragenden Datensatzes in ei­ ner bestimmten anderen Komponente (14), welche eine Quellkompo­ nente ist, anzeigt.
12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet, daß ferner Mittel vorgesehen sind, die zunächst aus den Lese- Antwort-Daten anzeigenden Signalen, dann aus den Prioritätssi­ gnalen und schließlich aus den numerierten Signalen auswählen.
13. Einrichtung nach Anspruch 12, dadurch gekennzeichnet, daß ferner Mittel zum Überspringen von Lese-Antwort-Daten an­ zeigenden Signalen, Prioritätssignalen oder numerierten Signa­ len vorgesehen sind.
DE4244427A 1991-12-30 1992-12-29 Computer interconnection system for data flow control - has circuits in receiving unit to select next in numerical sequence data sets or out of sequence data sets from any other unit Withdrawn DE4244427A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US81581691A 1991-12-30 1991-12-30

Publications (1)

Publication Number Publication Date
DE4244427A1 true DE4244427A1 (en) 1993-07-01

Family

ID=25218917

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4244427A Withdrawn DE4244427A1 (en) 1991-12-30 1992-12-29 Computer interconnection system for data flow control - has circuits in receiving unit to select next in numerical sequence data sets or out of sequence data sets from any other unit

Country Status (3)

Country Link
US (1) US5694545A (de)
JP (1) JPH05257851A (de)
DE (1) DE4244427A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393407B1 (en) * 1997-09-11 2002-05-21 Enliven, Inc. Tracking user micro-interactions with web page advertising
TWI326544B (en) * 2006-11-15 2010-06-21 Ind Tech Res Inst An intelligent heterogeneous network packet dispatcher methodology
US8452891B2 (en) * 2008-06-19 2013-05-28 4Dk Technologies, Inc. Routing in a communications network using contextual information
US11784930B2 (en) 2021-04-30 2023-10-10 Bank Of America Corporation Communication system with auto-routing and load balancing
US11792108B2 (en) 2021-04-30 2023-10-17 Bank Of America Corporation Dynamic auto-routing and load balancing for communication systems
US11469988B1 (en) 2021-04-30 2022-10-11 Bank Of America Corporation Communication analysis for dynamic auto-routing and load balancing

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3109162A (en) * 1959-01-15 1963-10-29 Ibm Data boundary cross-over and/or advance data access system
NL7608165A (nl) * 1976-07-23 1978-01-25 Philips Nv Inrichting voor het besturen van informatie- stromen.
US4358829A (en) * 1980-04-14 1982-11-09 Sperry Corporation Dynamic rank ordered scheduling mechanism
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4423480A (en) * 1981-03-06 1983-12-27 International Business Machines Corporation Buffered peripheral system with priority queue and preparation for signal transfer in overlapped operations
US4413258A (en) * 1981-12-14 1983-11-01 Burroughs Corporation Interconnection for local area contention networks
DE3213345C2 (de) * 1982-04-08 1984-11-22 Siemens Ag, 1000 Berlin Und 8000 Muenchen Datenübertragungseinrichtung zwischen zwei asynchron gesteuerten Datenverarbeitungssystemen
US4527233A (en) * 1982-07-26 1985-07-02 Ambrosius Iii William H Addressable buffer circuit with address incrementer independently clocked by host computer and external storage device controller
IT1159351B (it) * 1983-02-03 1987-02-25 Cselt Centro Studi Lab Telecom Circuito di arbitraggio a struttura distribuita per le richieste di accesso al bus di un sistema multiprocessore
EP0121030B1 (de) * 1983-03-29 1987-11-11 International Business Machines Corporation Arbitervorrichtung für die Zuweisung eines gemeinsamen Betriebsmittels an eine ausgewählte Einheit eines Datenverarbeitungssystems
JPS59226923A (ja) * 1983-05-27 1984-12-20 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン バスインタ−フエ−ス装置
US4620278A (en) * 1983-08-29 1986-10-28 Sperry Corporation Distributed bus arbitration according each bus user the ability to inhibit all new requests to arbitrate the bus, or to cancel its own pending request, and according the highest priority user the ability to stop the bus
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4766536A (en) * 1984-04-19 1988-08-23 Rational Computer bus apparatus with distributed arbitration
JPS61139866A (ja) * 1984-12-11 1986-06-27 Toshiba Corp マイクロプロセツサ
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
JPS6226561A (ja) * 1985-07-26 1987-02-04 Toshiba Corp パ−ソナルコンピユ−タ
IL81763A0 (en) * 1986-04-11 1987-10-20 Symbolics Inc Disk controller bus interface
JPS6394358A (ja) * 1986-10-08 1988-04-25 Victor Co Of Japan Ltd Dma転送システム
US4837682A (en) * 1987-04-07 1989-06-06 Glen Culler & Associates Bus arbitration system and method
US4937733A (en) * 1987-05-01 1990-06-26 Digital Equipment Corporation Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system
US5111424A (en) * 1987-05-01 1992-05-05 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
US4864496A (en) * 1987-09-04 1989-09-05 Digital Equipment Corporation Bus adapter module for interconnecting busses in a multibus computer system
US5193197A (en) * 1987-09-24 1993-03-09 Digital Equipment Corporation Apparatus and method for distributed dynamic priority arbitration for access to a shared resource
US4965723A (en) * 1987-10-23 1990-10-23 Digital Equipment Corporation Bus data path control scheme
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus
US5081576A (en) * 1988-03-24 1992-01-14 Encore Computer U.S., Inc. Advance polling bus arbiter for use in multiple bus system
JPH0719311B2 (ja) * 1988-03-29 1995-03-06 株式会社日立製作所 データ処理装置
US4956771A (en) * 1988-05-24 1990-09-11 Prime Computer, Inc. Method for inter-processor data transfer
US4924380A (en) * 1988-06-20 1990-05-08 Modular Computer Systems, Inc. (Florida Corporation) Dual rotating priority arbitration method for a multiprocessor memory bus
US5097437A (en) * 1988-07-17 1992-03-17 Larson Ronald J Controller with clocking device controlling first and second state machine controller which generate different control signals for different set of devices
US4953081A (en) * 1988-12-21 1990-08-28 International Business Machines Corporation Least recently used arbiter with programmable high priority mode and performance monitor
US5088024A (en) * 1989-01-31 1992-02-11 Wisconsin Alumni Research Foundation Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
CA2011935A1 (en) * 1989-04-07 1990-10-07 Desiree A. Awiszio Dual-path computer interconnect system with four-ported packet memory control
JPH0833869B2 (ja) * 1989-05-09 1996-03-29 日本電気株式会社 データ処理装置
US5167019A (en) * 1989-06-23 1992-11-24 Digital Equipment Corporation Apparatus and method for interconnecting a plurality of devices to a single node in a node-limited serial data bus computer network
US5179557A (en) * 1989-07-04 1993-01-12 Kabushiki Kaisha Toshiba Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time
US5151994A (en) * 1989-11-13 1992-09-29 Hewlett Packard Company Distributed fair arbitration system using separate grant and request lines for providing access to data communication bus
US5218676A (en) * 1990-01-08 1993-06-08 The University Of Rochester Dynamic routing system for a multinode communications network
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
US5191653A (en) * 1990-12-28 1993-03-02 Apple Computer, Inc. Io adapter for system and io buses having different protocols and speeds
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
JP2625589B2 (ja) * 1991-04-22 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
GB2256563B (en) * 1991-06-04 1995-05-10 Digital Equipment Int Packet age control in computer networks

Also Published As

Publication number Publication date
JPH05257851A (ja) 1993-10-08
US5694545A (en) 1997-12-02

Similar Documents

Publication Publication Date Title
DE69029343T2 (de) Paket-Vermittlungssystem
DE3300261C2 (de)
DE3300260C2 (de)
DE3300262C2 (de)
EP0584398B1 (de) Verfahren und Schaltungsanordnung zum Übertragen von Nachrichtenzellen innerhalb eines ATM-Netzes
DE3222390C2 (de)
DE60312499T2 (de) Stream-datenverarbeitungseinrichtung, stream-datenverarbeitungsverfahren, programm und medium
DE69031266T2 (de) Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE3786683T2 (de) Zeitverzögerungsschaltung für Halbleitervorrichtung.
DE4121446C2 (de) Terminal-Server-Architektur
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE3933361A1 (de) Einrichtung und verfahren zur warteschlangenbildung von anforderungen und antworten auf einem pipeline-paketbus
DE2918223A1 (de) Schnittstelleneinrichtung zum einsatz zwischen einem digitalrechner und einem speicher
DE2753063A1 (de) Speicherwerk
DE2856680C2 (de)
EP0651536A2 (de) Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE2912073C2 (de)
DE3811145C2 (de)
DE4244427A1 (en) Computer interconnection system for data flow control - has circuits in receiving unit to select next in numerical sequence data sets or out of sequence data sets from any other unit
DE1805992A1 (de) Verfahren zum Sortieren von Informationen und Anordnung zur Durchfuehrung dieses Verfahrens
DE3317593A1 (de) Pruefspeicherarchitektur
DE69332327T2 (de) Überwachung von zirkulierenden Zeigern
DE69831308T2 (de) Verfahren zur übersetzung eines atm-zellenkopfs

Legal Events

Date Code Title Description
8141 Disposal/no request for examination