DE69030392T2 - Zur Kommunikation in asynchroner Übertragungsart geeignetes Puffergerät - Google Patents
Zur Kommunikation in asynchroner Übertragungsart geeignetes PuffergerätInfo
- Publication number
- DE69030392T2 DE69030392T2 DE69030392T DE69030392T DE69030392T2 DE 69030392 T2 DE69030392 T2 DE 69030392T2 DE 69030392 T DE69030392 T DE 69030392T DE 69030392 T DE69030392 T DE 69030392T DE 69030392 T2 DE69030392 T2 DE 69030392T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- register
- management
- empty
- address
- 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
- 239000000872 buffer Substances 0.000 title claims description 88
- 230000005540 biological transmission Effects 0.000 title claims description 8
- 238000004891 communication Methods 0.000 title description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/064—Linked list, i.e. structure using pointers, e.g. allowing non-contiguous address segments in one logical buffer or dynamic buffer space allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/066—User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5651—Priority, marking, classes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Puffervorrichtung, welche besonders für ein ATM- Kommunikationssystem (ATM = asynchronous transfer mode, d.h. asynchroner Transfermodus) geeignet ist.
- In jüngster Zeit wurde viel Aufmerksamkeit auf ATM gerichtet, bei welchem die Übertragungskapazitäten eines Kommunikationsnetzwerks in Übereinstimmung mit Anforderungen (requests) von Kommunikationsstationen (communication terminals) verwendet werden, im Gegensatz zu STM (synchroner Transfermodus), in welchem die für die Kommunikation notwendigen Informationsübertragungskapazitäten im voraus reserviert werden.
- Im ATM wird Information in Form von kurzen Paketen fester Länge übertragen, welche als Zellen bezeichnet werden, und die Informationsübertragungskapazitäten des Kommunikationsnetzwerks werden von jeder Kommunikationsstation verwendet, indem die Zellen an das Kommunikationsnetzwerk gesendet werden, wenn ein Bedarf besteht. Im Vergleich zu STM hat ATM den Vorteil, daß er in der Lage ist, eine geeignete Informationsübertragungsgeschwindigkeit bereitzustellen, welche von einer einzelnen Kommunikationsstation benötigt wird, und auch daß er die Kommunikationseffizienz verbessert, aufgrund der Tatsache, daß die Informationsübertragungskapazitäten des Kommunikationsnetzwerks in Übereinstimmung mit Anforderungen von den Kommunikationsstationen verwendet werden.
- Auss diesem Grund wird ATM als eine grundlegende Technik beim Aufbau eines B-ISDN-Systems (broadband-integrated services digital network = digitales Breitbandnetzwerk integrierter Dienste), in welchem Informationen in verschiedenen Formen, wie beispielsweise Audiosignale, Bildsignale und Computerdaten auf eine einzige, einheitliche Weise behandelt werden können.
- Wie bereits erwähnt, werden die Informationsübertragungskapazitäten eines Kommunikationsnetzwerkes in einem Kommunikationssystem, welches ATM verwendet, in Übereinstimmung mit Anforderungen von den Kommunikationsstationen verwendet. Vom Standpunkt des Kommunikationsnetzwerkes aus bedeutet dies, daß die Kommunikationsstationen sich Kommunikationspfade auf durch Bedarf bestimmte Weise teilen.
- In jedem System, wobei dies nicht notwendiger Weise auf Kommunikationssysteme mit ATM beschränkt ist, in welchem irgendwelche Ressourcen auf durch Bedarf bestimmte Weise von Stationen geteilt werden, sind Puffervorrichtungen unverzichtbar.
- Eine solche Puffervorrichtung muß mit der Fähigkeit ausgestattet sein, vorübergehend eine Anzahl von Anforderungsdaten zu speichern, welche Anforderungen von verschiedenen Stationen darstellen, wie beispielsweise Zellen in dem Kommunikationssystem mit ATM, um so in der Lage zu sein, eine Vielzahl von Anforderungen (requests) behandeln zu können, um ordnungsgemäß eine einzige Ressource zu verwenden.
- Diese Fähigkeit zur vorübergehenden Speicherung wird gewöhnlich durch Einsatz eines sogenannten FIFO-Puffers (First In First Out) verwirklicht, in welchem zuerst eingegangene Anforderungsdaten als erste herausgehen, so daß die früheste Anforderung zur Nutzung der Ressource eine Priorität erhält gegenüber den folgenden Anforderungen.
- Wenn es hierbei jedoch gewisse Anforderungen gibt, denen eine höhere Priorität gegeben werden sollte, als anderen Anforderungen, dann ist eine FIFO-Puffer offensichtlich ungeeignet.
- In einem solchen Fall ist es notwendig, eine Prioritätsreihenfolge zu errichten, allen Anforderungsdaten Prioritätsinformationen beizugeben, welche die Prioritätsebene der Anforderung anzeigt, und die Pufferausgabe so zu steuern, daß die Anforderungsdaten mit der höchsten Priorität als erste herausgehen.
- Gewöhnlich wird dies dadurch erreicht, daß getrennte FIFO- Puffer für jede Prioritätsebene bereitgestellt werden, so daß die Anforderungsdaten mit der höchsten Priorität, welche unter allen Anforderungsdaten mit höchster Priorität als erste angekommen sind, als erste herausgehen. Wenn in einer solchen konventionellen Pufferstruktur ein FIFO-Puffer für eine bestimmte Prioritätsebene voll ist, werden folgende Anforderungsdaten jener Prioritätsebene außer Betracht gelassen. Wenn daher die Anforderungsdaten für eine bestimmte Prioritätsebene häufiger vorkommen als jene der anderen Prioritätsdaten, wird die Speicherkapazität der gesamten Pufferstruktur mit geringer Effizienz genutzt, da eine große Zahl der Anforderungsdaten jener bestimmten Prioritätsebene außer Betracht gelassen werden, während Speicherkapazität für die anderen Prioritätsebene immer noch bereitsteht.
- Um diese Problem zu bewältigen, wurde von Y. Tamir und G.L. Frazier ein Mehrfachwarteschlangen-Puffer (Multi-queue Buffer) vorgeschlagen, in "High-Performance Multi-queue Buffers for VLSI Communication Switch", Proceeding of International Conference on Computer Architecture '88, 30. Mai bis 2. Juni 1988. Diese Druckschrift offenbart das Prinzip eines dynamisch zugeordneten Mehrfachwarteschlangen-Puffers. Sie offenbart das Prinzip der Verwendung von verknüpften Listen (linked lists), bei welchen virtuelle Warteschlangen erzeugt werden, indem Zeigerlisten (pointer lists) in einem Zeigerregister (pointer register) aufgebaut werden. Die Zeiger in dem Zeigerregister werden in einem getrennten Speicherarray gespeichert. Das System umfaßt Kopf- und Endregister (head and tail registers), welche auf die ersten und letzten Datenblöcke in einer gegebenen Liste zeigen. Wenn eine Liste verändert wird, d. h. ein Block einer Liste hinzugefügt wird, bzw. aus einer Liste gelöscht wird, dann wird der Inhalt der entsprechenden Zeigerregister, der Kopfregister und Endregister verändert.
- In ihren Mehrfachwarteschlangen-Puffern wurden jedoch Verknüpfungslisten (linked lists) bei der Verwirklichung der Mehrfachwarteschlange verwendet, so daß es schwer war, ihre Mehrfachwarteschlangen-Puffer an eine Hochgeschwindigkeits- Pufferimplementation anzupassen.
- Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Puffervorrichtung zu schaffen, welche in der Lage ist mit mehrfachen Prioritätsebenen umzugehen, in welcher die Effizienz der Speicherkapazitätausnutzung verbessert werden kann, so daß die Prioritätsebenen mit hoher Effizienz und geringer Speicherkapazität behandelt werden können, und welche an eine Hochgeschwindigkeits-Pufferimplementation angepaßt werden kann.
- Diese Aufgabe wird in der vorliegenden Erfindung durch Bereitstellen einer Puffervorrichtung gelöst, welche die in Anspruch 1 beschriebenen Merkmale hat.
- Weitere Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung unter Heranziehen der begleitenden Zeichnungen hervor.
- Figur 1 ist ein Blockdiagramm einer Ausführung einer Puffervorrichtung gemäß der vorliegenden Erfindung.
- Figur 2 ist ein detailliertes Blockdiagramm eines Verwaltungsregister-Arrays der Puffervorrichtung der Figur 1.
- Figur 3 ist ein Flußdiagramm für die Eingabe von Eingabedaten in die Puffervorrichtung der Figur 1.
- Figur 4 ist ein Flußdiagramm für die Ausgabe von Ausgabedaten in der Puffervorrichtung der Figur 1.
- Figur 5 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um deren Funktion zu erklären.
- Figur 6 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um deren Funktion bei der Eingabe von neuen Daten in einem allgemeinen Fall zu erklären.
- Figur 7 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um das Ergebnis der in Figur 6 gezeigten Eingabe von neuen Daten zu erklären.
- Figur 8 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, zur Erklärung deren Funktion bei der Eingabe von neuen Daten für einen speziellen Fall.
- Figur 9 ist ein Diagramm, welches imaginäre FIFOWarteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, zur Erklärung des Ergebnisses der in Figur 8 gezeigten Eingabe von neuen Daten.
- Figur 10 ist ein Diagramm, welches imaginäre FIFOWarteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, zur Erklärung deren Funktion bei der Eingabe von neuen Daten für einen weiteren speziellen Fall.
- Figur 11 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um das Ergebnis der in Figur 10 gezeigten Eingabe von neuen Daten zu erklären.
- Figur 12 ist ein Diagramm, welche imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um deren Funktion bei der Ausgabe von Daten für einen allgemeinen Fall zu erklären.
- Figur 13 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um das Ergebnis der in Figur 12 gezeigten Ausgabe von Daten zu erklären.
- Figur 14 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um deren Funktion bei der Ausgabe von Daten für einen speziellen Fall zu erklären.
- Figur 15 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um das Ergebnis der in Figur 14 gezeigten Ausgabe von Daten zu erklären.
- Figur 16 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um deren Funktion bei der Ausgabe von Daten für einen weiteren speziellen Fall zu erklären.
- Figur 17 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um das Ergebnis der in Figur 16 gezeigten Ausgabe von Daten zu erklären.
- Figur 18 ist ein Diagramm, welches imaginäre FIFO- Warteschlangen, leere Datenregister und Zeigerketten in der Puffervorrichtung der Figur 1 zeigt, um deren Funktion zu erklären, wenn in der Puffervorrichtung keine Daten gespeichert sind.
- Unter Bezugnahme auf der Figur 1 wird nun eine Ausführung der Puffervorrichtung gemäß der vorliegenden Erfindung beschrieben.
- In dieser Ausführung umfaßt die Puffervorrichtung ein Datenregister-Array 10 zur vorübergehenden Speicherung von hereinkommenden Eingabedaten, ein Verwaltungsregister-Array 11 zur Speicherung von Informationen, die die Verwaltung der Eingabe und Ausgabe von Daten in den Datenregister-Array 10 betrifft, eine Dateneingabeeinheit 12 zum Empfangen von Eingabedaten und Eingeben der Eingabedaten in das Datenregister-Array 10, eine Datenausgabeeinheit 13 zur Herausnahme von Daten aus dem Datenregister-Array 10 und der Übertragung der Ausgabedaten, Einschreibe-Adressregister 141- 14m zum Anzeigen von Adressen in dem Datenregister-Array 10 für das Schreiben von neuen Daten, Auslese-Adressregister 151-15m zum Anzeigen von Adressen in dem Datenregister-Array 10 für das Lesen von Daten, einen Leeradressregisterkopf 16 zum Anzeigen einer Spitze von leeren Datenregistern, ein Leeradressregisterende 17 zum Anzeigen eines Endes der leeren Datenregister, einen Arbiter 18 zum arbitrieren von gegenläufigen Anforderungen, einen Pufferstatus-Anzeiger 19 zum Anzeigen des Datenfüllzustandes in dem Datenregister-Array 10, und eine Takteinheit 1A zur Erzeugung von Taktsequenzen anderer Elemente der Puffervorrichtung.
- In dieser Puffervorrichtung werden hereinkommende Eingabedaten auf Anforderung der Dateneingabeeinheit 12 empfangen und in das Datenregister-Array 10 für die vorübergehende Speicherung von Daten geschrieben, und ebenso werden herausgehende Ausgabedaten aus der Datenausgabeeinheit 13 nach Anforderung ausgesendet, durch Auslesen von Daten in dem Datenregister-Array.
- Das Datenregister-Array 10 muß in der Lage sein, bezüglich der Datenregister, welche entsprechend der von der Dateneingabeeinheit 12 und Datenausgabeeinheit 13 verwendeten Adressen innen vorgesehen sind, zu lesen und zu schreiben, was durch den Einsatz eines RAM-Halbleiter-IC, welcher unter Verwendung von LSI-Technologie hergestellt wird, verwirklicht werden.
- Das Verwaltungsregister-Array 11 besteht aus einem Zweinschluß- RAM mit m Verwaltungsregistern (nicht in Figur 1 gezeigt) zur Speicherung von Verwaltungsinformationsdaten und von binären Bitmustern, welche Prioritätsebenen der in den entsprechenden Adressen in dem Datenregister-Array 10 gespeicherten Daten anzeigen, einen Einschreibeanschluß 11a zum Schreiben von Daten in die Verwaltungsregister, und einen Ausleseanschluß 11b zum Auslesen von Daten aus den Verwaltungsregistern.
- Im Detail hat das Verwaltungsregister-Array 11 in dieser Ausführung eine in Figur 2 gezeigte Konfiguration.
- Am Einschreibeanschluß 11a befindet sich ein Decoder 1111 zum Decodieren von Adressen, welche an dem Einschreibeanschluß 11a eingehen, um ein geeignetes Verwaltungsregister zum Einschreiben der Verwaltungsinformationsdaten aus den Verwaltungsregistern 1141-114m auszuwählen.
- Jedes der Verwaltungsregister 1141-114m steht auf der Seite des Einschreibeanschlusses 11a in Beziehung mit UND-Toren (AND gates) 1121-112m zur Schaffung eines Einschreibe-Pulssignals, zur Bewirkung der Speicherung des Bitmusters in das von dem Decoder 1111 gewählte, geeignete Verwaltungsregister.
- Andererseits befindet sich am Ausleseanschluß 11b ein weiterer Decoder 1112 zum Decodieren von Adressen, die am Ausleseanschluß 11b eingehen, um eine geeignetes Verwaltungsregister auszuwählen, zum Auslesen der Verwaltungsinformationsdaten aus den Verwaltungsregistern 1141- 114m.
- Jedes der Verwaltungsregister 1141-114m steht auf der Seite des Ausleseanschlusses 11b in Beziehung mit NUND-Toren (NAND gates) 1131-113m zur Schaffung eines Löschpulssignals zum Löschen des Bitmusters in dem von dem Decoder 1111 ausgewählten, betroffenen Verwaltungsregister.
- Jeder der Verwaltungsregister 1141-114m hat ebenfalls eine Vielzahl von Flip-Flops 1151-115a der D-Art, jedes von welchen ein Bit des Bitmusters speichert, und eine Vielzahl von 3- Zustandspuffern 1161-116a zu Aktivierung der Ausgabe der in jenem Verwaltungsregister gespeicherten Verwaltungsinformationsdaten.
- Die Dateneingabeeinheit 12 empfängt die Eingabedaten nur dann, wenn von dem Arbiter 18 eine Eingabeerlaubnis gegeben wird, und schreibt die Daten in das Datenregister-Array 10 an einer Adresse, welche durch ein Bitmuster angezeigt wird, das in einem Leeradressregisterkopf 16 gespeichert ist.
- Zusätzlich aktualisiert die Dateneingabeeinheit 12 die Verwaltungsinformation, welche in den Verwaltungsregistern 1141-114m in dem Verwaltungsregister-Array 11 gespeichert ist, durch den Einschreibeanschluß 11a und den Ausleseanschluß 11b, indem der Leeradressregisterkopf 16 und eines der Einschreibe- Adressregister 141-14m verwendet wird, welches in Übereinstimmung mit einigen vorbestimmten Bits des Bitmuster der Eingabedaten, welche die Prioritätsebene der Eingabedaten anzeigen, ausgewählt wird.
- Die Datenausgabeeinheit 13 liest die Daten aus, welche in dem Datenregister-Array 10 an einer Adresse gespeichert wird, die von einem Bitmuster spezifiziert wird, das in einem der Auslese-Adressregister 151-15m gespeichert ist, das in Übereinstimmung mit einem von außen gegebenen Bitmuster ausgewählt wird, welches die Prioritätsebene der Ausgabedaten anzeigt, und sendet die Daten als Ausgabedaten nur dann aus, wenn von dem Arbiter 18 ein Ausgabehinweis (output notice) gegeben wird.
- Zusätzlich aktualisiert die Ausgabeeinheit 13 die Verwaltungsinformation, welche in den Verwaltungsregistern 1141-114m in dem Verwaltungsregister-Array 11 gespeichert ist, über den Einschreibeanschluß 11a und den Ausleseanschluß 11b, durch Verwenden des Leeradressregisterendes 17 und eines der Auslese-Adressregister 151-15m, welches in Übereinstimmung mit einem von außen gegebenen Bitmuster ausgewählt wird, welches die Prioritätsebene der Ausgabearten anzeigt, wie zuvor.
- Der Arbiter 18 schlichtet bzw. arbitriert konfliktverursachende Anforderungen, wenn eine Eingabeanforderung und eine Ausgabeanforderung gleichzeitig auftreten, durch Auswählen der Eingabeanforderung oder der Ausgabeanforderung. In der folgenden Beschreibung dieser Ausführung wird angenommen, daß die Ausgabeanforderung immer eine höhere Priorität erhält als die Eingabeanforderung, obwohl dies bei Bedarf umgekehrt sein kann.
- Der Pufferstatus-Anzeiger 19 gibt ein Puffervollsignal aus, um anzuzeigen ob die Puffervorrichtung Speicherkapazität zur Verfügung hat, um neue Daten anzunehmen, durch Vergleichen der in dem Leeradressregisterkopf 16 und dem Leeradressregisterende 17 gespeicherten Bitmuster.
- Zusätzlich gibt der Pufferstatus-Anzeiger 19 ein Pufferleersignal aus, um anzuzeigen, ob es irgendwelche Daten für die Ausgabe in jeder der imaginären FIFO-Warteschlangen gibt, die innerhalb des Datenregister-Array 10 entsprechend jeder Prioritätsebene gebildet sind, durch Vergleichen der Bitmuster, welche in jedem der Einschreibe-Adressregister 141- 14m, die jeder Prioritätsebene entsprechen, und in jedem der Auslese-Adressregister 115-15m, welche jeder Prioritätsebene entsprechen, gespeichert sind.
- Die Takteinheit 1A schafft Pulssequenzen, welche Zeitpunkte anzeigen, die notwendig sind, um Elemente der Puffervorrichtung zu aktivieren, wie das oben beschriebene Einschreibe-Pulssignal und das Löschpulssignal, welche in dem Verwaltungsregister- Array 11 verwendet werden.
- In dieser Ausführung werden die Eingabedaten in die Puffervorrichtung in Übereinstimmung mit dem Flußdiagramm der Figur 3 wie folgt eingegeben. Als erstes wird bestimmt, ob das Puffervollsignal aus dem Pufferstatus-Anzeiger 19 anzeigt, daß der Puffer voll ist oder nicht (Schritt 111). Wenn er voll ist, wird die Eingabe der Eingabedaten zurückgestellt, bis das Puffervollsignal auf nicht-voll wechselt. Ansonsten ist Speicherkapazität für die Annahme neuer Daten verfügbar (Schritt 102), so daß die Eingabeanforderung dem Arbiter 18 gegeben wird (Schritt 103). Nur wenn die Eingabeerlaubnis von dem Arbiter 18 gegeben wird (Schritt 104) werden die Eingabedaten in die Dateneingabeeinheit 12 eingegeben (Schritt 105) und dann in das Datenregister-Array 10 durch die Dateneingabeeinheit 12 geschrieben (Schritt 106), was die Eingabe der Eingabedaten abschließt.
- Ebenso werden die Ausgabedaten in dieser Ausführung aus der Puffervorrichtung in Übereinstimmung mit dem Flußdiagramm der Figur 4 wie folgt ausgesendet. Als erstes wird bestimmt ob das Pufferleersignal aus dem Pufferstatus-Anzeiger 19, welches der imaginären FIFO-Warteschlange für eine gewünschte Prioritätsebene für die nächsten Ausgabedaten entspricht, leer oder nicht-leer anzeigt (Schritt 101). Wenn sie leer ist, wird die Ausgabe der Ausgabedaten zurückgestellt, bis das Pufferleersignal auf nicht-leer wechselt. Ansonsten sind die auszugebenden Daten vorhanden (Schritt 202), so daß die Ausgabeprioritätsebene der Datenausgabeeinheit gegeben wird (Schritt 103) und die Ausgabeanforderung dem Arbiter 18 gegeben wird (Schritt 204). Nur wenn der Ausgabehinweis (output notice) von dem Arbiter 18 gegeben wird (Schritt 205), werden die Ausgabedaten aus dem Datenregister-Array 10 durch die Datenausgabeeinheit 13 gelesen (Schritt 206), und dann von der Datenausgabeeinheit 13 ausgesendet (Schritt 207), was das Ausgeben der Ausgabedaten vollendet.
- Nun wird unter Bezugnahme auf die Figuren 5 bis 18 eine Art und Weise der Einrichtung von imaginären FIFO-Warteschlangen in dem Datenregister-Array dieser Ausführung ausführlich beschrieben.
- In den Figuren 5 bis 18 steht KOPF (head) für den Leeradressregisterkopf 16, ENDE (tail) steht für das Leeradressregisterende 17, RP1 steht für das Auslese- Adressregister 151, RP2 steht für das Einschreibe- Adressregister 152, WP1 steht für das Einschreibe- Adressregister 141, WP2 steht für Einschreibe-Adressregister 142. Zusätzlich werden ein Datenregister mit einer bestimmten Adresse in dem Datenregister-Array 10 und ein entsprechendes Verwaltungsregister mit der gleichen bestimmmten Adresse in dem Verwaltungsregister-Array 11 als Paar dargestellt, und Pfeile, welche die Verwaltungsregister verbinden, stellen Zeigerketten dar, welche zwischen den Verwaltungsregistern eingerichtet sind. Jedes der Verwaltungsregister, Auslese-Adressregister, Einschreibe-Adressregister, Leeradressregisterköpfe und Leeradressregisterenden hat eine Kapazität zur Speicherung einer Adresse, welche mit jedem Datenregister in Zusammenhang steht, um so die Funktion eines Zeigers (pointer) bereitzustellen.
- Eine Adresse, welche allein aus binären Nullen besteht, ist für die Anzeige des Fehlens des Paares eines Datenregisters und Verwaltungsregister, auf welches zu zeigen ist, reserviert und wird durch einen Diagonalstrich in einem Kästchen für die Verwaltungsregister, Auslese-Adressregister, Einschreibe- Adressregister, Leeradressregisterköpfe und Leeradressregisterenden dargestellt.
- Der Einfachheit halber wird die Beschreibung nun für einen Fall durchgeführt, bei dem es nur 2 Paare von Ausleseregistern und 2 Einschreiberegister gibt, in welchen 2 imaginäre FIFO- Warteschlangen in dem Datenregister-Array 10 aufgebaut werden sollen, in welchem Fall 2 Sätze von Zeigerketten geschaffen werden.
- Figur 5 zeigt einen Zustand der Puffervorrichtung diagrammartig. Zwei imaginäre FIFO-Warteschlangen werden durch Kästchen dargestellt, welche durch 2 Zeigerketten verbunden sind, die von den Ausleseregistern RP1 und RP2 ausgehen, und die letzten Datenregister- und Verwaltungsregisterpaare der imaginären FIFO-Warteschlangen, von denen jedes einen Diagonalstrich in einem Kästchen für das Verwaltungsregister hat, werden von den Einschreiberegistern WP1 und WP2 angezeigt. Die Verwaltungsregister, welche mit den leeren Datenregistern zusammenhängen, werden ebenfalls durch eine Zeigerkette verbunden, welche von dem Leeradressregisterkopf KOPF ausgeht und an dem Leeradressregisterende ENDE endet.
- Figur 6 zeigt eine Situation der Eingabe von neuen Eingabedaten in den Zustand der Figur 5, was durch die folgende Sequenz vollzogen wird.
- Als erstes werden die neuen Eingabedaten in das Datenregister eingegeben, auf welches der Leeradressregisterkopf KOPF zeigt, wie durch eine Kettenlinie A in Figur angegeben.
- Dann wird die in dem Verwaltungsregister gespeicherte Adresse, welche mit jenem Datenregister zusammenhängt, in welches die neuen Eingabedaten eingegeben wurden, an den Leeradressregisterkopf KOPF übertragen, wie durch eine Kettenlinie B in Figur 6 angegeben.
- Unterdessen wird die in dem Leeradressregisterkopf KOPF gespeicherte Orginaladresse an das Einschreibe-Adressregister WP1 übertragen, welches in Übereinstimmung mit der Prioritätsebene der Eingabedaten ausgewählt wird, und an das Verwaltungsregister auf welches jenes Einschreibe- Adressregister WP1 zeigt, wie durch eine Kettenlinie D in Figur 6 angegeben.
- Schließlich wird die allein aus binären Nullen bestehende Adresse in das Verwaltungsregister eingegeben, welches mit dem Datenregister in Zusammenhang steht, in welches die neuen Eingabedaten eingegeben wurden, wie durch eine Kettenlinie F in Figur 6 angegeben, so daß dieses Paar des Verwaltungsregisters und Datenregisters das Ende der Zeigerkette für diese imaginäre FIFO-Warteschlange wird, die von dem Ausleseadressregister RP1 ausgeht.
- Als Ergebnis erhält man den in Figur 7 gezeigten Zustand der Puffervorrichtung.
- Es gibt zwei Spezialfälle, welche bei der Eingabe der Eingabedaten etwas andere Vorgänge erfordern.
- Einer dieser Fälle ist jener, bei welchem die imaginäre FIFO- Warteschlange für eine bestimmte Prioritätsebene keinen Eintrag hat, so daß sowohl das Einschreibe-Adressregister als auch das Auslese-Adressregister für jene imaginäre FIFO-Warteschlange die allein aus binären Nullen bestehende Adresse speichern, wie in Figur 8 gezeigt. Diese Situation wird von dem Pufferstatus- Anzeiger 19 erfaßt, welcher daraufhin das Pufferleersignal für jene bestimmte Prioritätsebene erzeugt.
- In diesem Fall unterscheidet sich die Prozedur für die Eingabe der Eingabedaten von jener in Zusammenhang mit Figur 6 beschriebenen bei dem durch eine Kettenlinie D beschriebenen Schritt. In diesem Fall gibt es nämlich kein Verwaltungsregister, auf welches das Einschreibe-Adressregister WP1 zeigt, in welches die in dem Leeradressregisterkopf KOPF gespeicherte Originaladresse übertragen wird. Somit wird in diesem Fall die in dem Leeradressregisterkopf KOPF gespeicherte Originaladresse an das Einschreibe-Adressregister WP1 übertragen, welches in Übereinstimmung mit der Prioritätsebene der Eingabedaten ausgewählt wird, wie durch eine Kettenlinie D in Figur 8 angegeben, und an das Auslese-Adressregister RP1 der gleichen imaginären FIFO-Warteschlange, wie durch eine Kettenlinie E in Figur 8 angegeben, so daß nach dieser Eingabe von Eingabedaten sowohl das Einschreibe-Adressregister WP1 als auch das Auslese-Adressregister RP1 auf das gleiche Datenregister zeigen, in welches die neuen Eingabedaten eingegeben wurden, wie in Figur 9 gezeigt.
- Ein weiterer Fall, welcher einen Spezialvorgang erfordert, ist jener, bei welchem alle Datenregister als Ergebnis dieser Eingabe von neuen Eingabedaten gefüllt sind, wie in Figur 10 gezeigt.
- In diesem Fall unterscheidet sich die Prozedur für die Eingabe der Eingabedaten von der in Zusammenhang mit Figur 6 beschriebenen bei dem durch eine Kettenlinie B angegebenen Schritt. In diesem Fall wird nämlich die Adresse, welche in dem Verwaltungsregister gespeichert ist, das mit dem Datenregister in Zusammenhang steht, in welches die neuen Eingabedaten eingegeben wurde, nicht nur an den Leeradressregisterkopf KOPF übertragen, wie durch eine Kettenlinie B in Figur 10 angegeben, sondern auch an das Leeradressregisterende ENDE, wie durch eine Kettenlinie C in Figur 10 angegeben, so daß nach dieser Eingabe der Eingabedaten sowohl der Leeradressregisterkopf KOPF als auch das Leeradressregisterende ENDE die allein aus binären Nullen bestehende Adresse haben, wie in Figur 11 gezeigt. Dies wird in der Folge von dem Pufferstatus-Anzeiger 19 erfaßt, welcher daraufhin das Puffervollsignal erzeugt.
- Figur 12 zeigt eine Situation der Ausgabe von Ausgabedaten aus dem Zustand der Figur 5, was durch die folgende Sequenz durchgeführt wird.
- Als erstes werden die Daten in dem Datenregister, auf welches das Auslese-Adressregister RP2 zeigt, welches in Übereinstimmung mit der von außen gegebenen Prioritätsebene der Ausgabedaten ausgewählt wird, als Ausgabedaten herausgenommen, wie durch eine Kettenlinie G in Figur 12 angegeben.
- Dann wird die Adresse, welche in dem Verwaltungsregister gespeichert ist, das mit dem Datenregister in Zusammenhang steht, aus welchem die Daten herausgenommen wurden, an jenes Auslese-Adressregister RP2 übertragen, welches ausgewählt wurde, wie durch eine Kettenlinie H in Figur 12 angegeben.
- Unterdessen wird die in dem Auslese-Adressregister RP2 gespeicherte Originaladresse an das Leeradressregisterende ENDE übertragen, und an das Verwaltungsregister, auf welches das Leeradressregisterende ENDE zeigt, wie durch eine Kettenlinie J in Figur 12 angegeben.
- Schließlich wird die allein aus binären Nullen bestehende Adresse in das Verwaltungsregister eingegeben, welches mit dem Datenregister in Zusammenhang steht, aus welchem die Ausgabedaten herausgenommen wurden, wie durch eine Kettenlinie L in Figur 12 angegeben, so daß dieses Paar des Verwaltungsregisters und des Datenregisters das Ende der Zeigerkette für die leeren Datenregister wird.
- Als Ergebnis wird der Zustand der Puffervorrichtung so, wie er in Figur 13 gezeigt ist.
- Es gibt zwei Spezialfälle, welche etwas andere Vorgänge bei der Ausführung der Ausgabe der Ausgabedaten erfordern.
- Einer dieser Fälle ist jener, bei welchem die imaginäre FIFO- Warteschlange für eine bestimmte Prioritätsebene als Ergebnis dieser Ausgabe der Ausgabedaten leer wird, wie in Figur 14 gezeigt.
- In diesem Fall unterscheidet sich die Prozedur für die Ausgabe der Ausgabedaten von jener oben in Zusammenhang mit Figur 14 beschriebenen bei dem durch eine Kettenlinie H bezeichneten Schritt. In diesem Fall wird nämlich die Adresse, welche in dem Verwaltungsregister gespeichert ist, das mit dem Datenregister in Verbindung steht, aus welchem die Ausgabedaten herausgenommen wurden, nicht nur an das Auslese-Adressregister RP1 für jene FIFO-Warteschlange für jene bestimmte Prioritätsebene übertragen, wie durch eine Kettenlinie H in Figur 14 angegeben, sondern auch an das Einschreibe- Adressregister WP1 der gleichen imaginären FIFO-Warteschlange, wie durch eine Kettenlinie I in Figur 14 angegeben, so daß nach dieser Ausgabe der Ausgabedaten sowohl das Auslese- Adressregister RP1 und das Einschreibe-Adressregister WP1 die allein aus binären Nullen bestehende Adresse haben, wie in Figur 15 gezeigt. Dies wird in der Folge von dem Pufferstatus- Anzeiger 19 erfaßt, welcher daraufhin das Pufferleersignal für jene bestimmte Prioritätsebene erzeugt.
- Ein weiterer Fall, welcher einen speziellen Vorgang erfordert, ist jener, bei welchem alle Datenregister vor dieser Ausgabe der Ausgabedaten voll sind, so daß sowohl der Leeradressregisterkopf KOPF als auch das Leeradressregisterende ENDE die allein aus binären Nullen bestehende Adresse speichern, wie in Figur 16 gezeigt. Diese Situation wird von dem Pufferstatus-Anzeiger 19 erfaßt, welcher daraufhin das Puffervollsignal erzeugt.
- In diesem Fall unterscheidet sich die Prozedur für die Ausgabe der Ausgabedaten von jener oben in Zusammenhang mit Figur 16 beschriebenen bei dem durch eine Kettenlinie J bezeichneten Schritt. In diesem Fall gibt es nämlich kein Verwaltungsregister, auf welches das Leeradressregisterende ENDE zeigt, um dorthin die in dem Auslese-Adressregister RP2 gespeicherte Originaladresse zu übertragen. Somit wird in diesem Fall die in dem Auslese-Adressregister RP2 gespeicherte Originaladresse an das Leeradressregisterende ENDE übertragen, wie durch eine Kettenlinie J in Figur 16 angegeben, und an den Leeradressregisterkopf KOPF wie durch eine Kettenlinie K in Figur 16 angegeben, so daß nach dieser Ausgabe der Ausgabedaten sowohl der Leeradressregisterkopf KOPF als auch das Leeradressregisterende ENDE auf das gleiche Datenregister zeigen, aus welchem die Ausgabedaten genommen wurde, wie in Figur 17 gezeigt.
- Figur 18 zeigt einen Zustand der Puffervorrichtung, bei welchem alle Datenregister leer sind. In diesem Fall sind alle Paare von Datenregistern und Verwaltungsregistern durch eine Zeigerkette verbunden, welche von dem Leeradressregisterkopf KOPF ausgeht und an dem Leeradressregisterende ENDE endet, während die Auslese-Adressregister RP1 und RP2 und die Einschreibe-Adressregister WP1 und WP2 die allein aus binären Nullen bestehende Adresse speichern.
- Man beachte, daß bei den oben beschriebenen Ein- und Ausgabevorgängen die verschiedenen beteiligten Schritte gleichzeitig ausgeführt werden können, daß das Verwaltungsregister-Array 11 eine Zweianschluß-RAM-Struktur hat, die den Einschreibeanschluß 11a und den Ausleseanschluß 11b beinhaltet, welche unabhängig voneinander betrieben werden können. Daher ist diese Puffervorrichtung für eine Hochgeschwindigkeits-Pufferimplementation geeignet.
- Wenn diese Puffervorrichtung auf ein Paketvermittlungssystem (packet exchange system) oder Kommunikationssystem, welches ATM verwendet, angewendet wird, sind die in dem Datenregister-Array 10 zu speichernden Daten jeweils Pakete oder Zellen.
- In einem solchen Fall können die Prioritätsebenen die Übertragungsrichtung der Pakete oder Zellen angeben, so daß eine Puffervorrichtung als eine Paketvermittlung oder eine Zellenvermittlung angesehen werden kann. Wenn darüber hinaus in einem Kommunikationssystem mit ATM, eine Vielzahl von Eingabepfaden zu der Puffervorrichtung vorgesehen ist, und die Richtungen der Zellen als Prioritätsebenen genommen werden, kann diese Puffervorrichtung als eine Art von Zellenvermittlung dienen, welche als geteilte Pufferzellenvermittlung (shared buffering cell switch) bekannt ist.
- Wie dargelegt, ist des möglich, eine Puffervorrichtung zu schaffen, welche in der Lage ist, mit mehrfachen Prioritätsebenen umzugehen, bei welcher die Effizienz der Speicherkapazitätsausnutzung verbessert werden kann, so daß Prioritätsebenen mit höherer Effizienz bei geringerer Speicherkapazität behandelt werden können, und welche an eine Hochgeschwindigkeit-Pufferimplementation angepaßt werden kann, da jede der imaginären FIFO-Warteschlangen, welche unterschiedlichen Prioritätsebenen entsprechen, eine flexible Speicherkapazität hat, so daß selbst dann, wenn die Daten einer bestimmten Prioritätsebene häufiger vorkommen als jene anderer Prioritätsdaten, die Speicherkapazität der Gesamtpufferstruktur mit hoher Effizienz ausgenutzt wird, und die Prozedur zur Steuerung der imaginären FIFO-Warteschlangen parallel durchgeführt werden kann.
- Bezugszeichen in den Absprüchen dienen dem besseren Verständnis und beschränken nicht den Schutzumfang.
Claims (5)
1. Puffervorrichtung zum Empfangen, zum vorübergehenden
Speichern und zum Übertragen von Daten, die von
Information begleitet werden, welche eine Prioritätsebene
der Daten angibt, wobei es mindestens zwei
unterschiedliche Prioritätsebenen gibt, umfassend:
ein Datenregister-Array (10) mit einer Vielzahl von
Datenregistervorrichtungen zum vorübergehenden Speichern
der Daten, wobei die Datenregistervorrichtungen leere
Datenregistervorrichtungen enthalten, welche keine Daten
speichern;
ein Verwaltungsregister-Array (11) zur modifizierbaren
Speicherung von Verwaltungsinformation, die Zeigerketten
enthält, welche FIFO-Warteschlangen in dem Datenregister-
Array (10) spezifizieren, wobei die FIFO-Warteschlangen
eine FIFO-Warteschlange enthalten, die den leeren
Datenregistervorrichtungen entspricht, und FIFO-
Warteschlangen, die unterschiedlichen Prioritätsebenen
entsprechen, wobei das Verwaltungsregister-Array (11) eine
Vielzahl von Verwaltungsregistervorrichtungen enthält,
welche mit den Datenregistervorrichtungen in Zusammenhang
stehen, und wobei der Inhalt jeder
Verwaltungsregistervorrichtung ein Zeiger ist, der Teil einer der
Zeigerketten ist;
Einschreibeadreß-Registervorrichtungen (WP1-WPn), welche
entsprechend der FIFO-Warteschlangen entsprechend
unterschiedlicher Prioritätsebenen vorgesehen sind, zur
Angabe einer Spitze jeder FIFO-Warteschlange;
Ausleseadreß-Registervorrichtungen (RP1-RPn), welche
entsprechend der FIFO-Warteschlangen entsprechend
unterschiedlicher Prioritätsebenen vorgesehen sind, zur
Angabe eines Endes jeder FIFO-Warteschlange;
eine Leeradress-Registerkopfvorrichtung (16) zur Angabe
einer Spitze der FIFO-Warteschlange, welche den leeren
Datenregistervorrichtungen entspricht;
eine Leeradress-Registerendvorrrichtung (17) zur Angabe
eines Endes der FIFO-Warteschlange, welche den leeren
Datenregistervorrichtungen entspricht;
eine Dateneingabevorrichtung (12) zum Empfangen neuer
Daten, zum Eingeben der neuen Daten in eine leere
Datenregistervorrichtung, und zur Modifizierung der
Zeigerkette, welche die FIFO-Warteschlange spezifiziert,
die einer Prioritätsebene der neuen Daten, welche durch
die neuen Daten begleitende Information angegeben wird,
entspricht, wobei die Zeigerkette erweitert wird, um jene
eine leere Datenregistervorrichtung zu enthalten, in
welche die neuen Daten an einem Ende jener FIFO-
Warteschlange eingegeben werden, und
eine Datenausgabevorrichtung (13) zur Herausnahme von
Daten, die in einer Datenregistervorrichtung gespeichert
sind, zur Übertragung der Daten, und zur Modifizierung der
Zeigerkette, welche die FIFO-Warteschlange spezifiziert,
die einer Prioritätsebene jener Daten entspricht, wobei
die Zeigerkette verkürzt wird, um jene eine
Datenregistervorrichtung auszuschließen, aus welcher die
Daten aus einer Spitze jener FIFO-Warteschlange
herausgenommen werden;
dadurch gekennzeichnet, daß
jede der Vielzahl von Datenregistervorrichtungen, welche
in dem Datenregister-Array (10) enthalten sind, eine
bestimmte Adresse hat,
jede der Vielzahl von Verwaltungsregistervorrichtungen,
die in dem Verwaltungsregister-Array (11) enthalten sind
und mit einer der Vielzahl von Datenregistervorrichtungen
in Zusammenhang steht, die gleiche bestimmte Adresse hat,
eine Vorrichtung zur Speicherung entweder der Adresse der
nächsten Datenregistervorrichtung in einer gegebenen FIFO-
Warteschlange oder von binären Nullen in den
Verwaltungsregistervorrichtungen;
das Verwaltungsregister-Array (11) eine Zweianschluß-RAM-
Vorrichtung umfaßt, welche einen Einschreibeanschluß (11a)
hat, durch welchen die Verwaltungsinformation in das
Verwaltungsregister-Array (11) geschrieben werden kann,
und einen Ausleseanschluß (11b), durch welchen die
Verwaltungsinformation aus dem Verwaltungsregister-Array
(11) ausgelesen werden kann, wobei der Einschreibeanschluß
(11a) und der Ausleseanschluß (11b) unabhängig voneinander
betrieben werden können;
eine Vorrichtung zur Durchführung der Übertragung der
Verwaltungsinformation aus einer Verwaltungsregister-
Vorrichtung des Verwaltungsregister-Arrays (11) an die
Leeradress-Registerkopfvorrichtung (16) und einer
Übertragung der Verwaltungsinformation aus der Leeradress-
Registerkopfvorrichtung (16) an eine weitere
Verwaltungsregistervorrichtung des Verwaltungsregisters-
Arrays (11), gleichzeitig mit einer Dateneingabe durch die
Dateneingabeeinrichtung (12);
eine Vorrichtung zur Durchführung einer Übertragung der
Verwaltungsinformation von einer Verwaltungsregister-
Vorrichtung des Verwaltungsregister-Arrays (11) an eine
der Ausleseadress-Registervorrichtungen (RP1-RPn) und
einer Übertragung der Verwaltungsinformation von jener
einen der Ausleseadress-Registervorrichtungen (RP1-RPn) an
eine weitere Verwaltungsregister-Vorrichtung des
Verwaltungsregister-Arrays (11), gleichzeitig zu einem
Zeitpunkt der Datenausgabe durch die
Datenausgabevorrichtung (13); und
ein Pufferstatus-Anzeiger (19) vorgesehen ist, um das
Vollsein des Datenregister-Arrays (10) anzuzeigen, wenn
die in der Leeradress-Registerkopfvorrichtung (16) und in
der Leeradress-Registerendevorrichtung (17) gespeicherten
Inhalte beide allein aus binären Nullen bestehen.
2. Puffervorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß die binären Nullen als Inhalt der Verwaltungsregister-
Vorrichtungen das Fehlen einer Adresse, auf welche zu
zeigen ist, angeben.
3. Puffervorrichtung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß sie eine Vorrichtung zur Speicherung
der binären Nullen als Inhalte der Einschreibeadress-
Registervorrichtungen (WP1-WPn), der Ausleseadress-
Registervorrichtungen (RP1-RPn), der Leeradress-
Registerkopfvorrichtung (16), oder der Leeradress-
Registerendevorrichtung (17) umfaßt, was das Fehlen einer
Adresse, auf welche zu zeigen ist, angibt.
4. Puffervorrichtung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß der Pufferstatus-Anzeiger (19)
ein Pufferleersignal ausgibt, um anzuzeigen ob es
irgendwelche Daten zur Ausgabe in jeder der FIFO-
Warteschlangen gibt, welche innerhalb des Datenregisters-
Arrays (10) in Übereinstimmung mit jeder Prioritätsebene
gebildet sind, durch Vergleichen des Inhalts, welcher in
jeder einzelnen der Einschreibeadress-
Registervorrichtungen (WP1-WPn), welche jeder
Prioritätsebene entsprechen, gespeichert ist, und des
Inhalts in jeder einzelnen der Ausleseadress-
Registervorrichtungen (RP1-RPn), welche jeder
Prioritätsebene entsprechen.
5. Puffervorrichtung nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet, daß die Prioritätsebenen
Richtungen zur Übertragung der Daten aus der
Datenausgabevorrichtung (13) darstellen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP356689A JP2736092B2 (ja) | 1989-01-10 | 1989-01-10 | バッファ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69030392D1 DE69030392D1 (de) | 1997-05-15 |
DE69030392T2 true DE69030392T2 (de) | 1997-08-14 |
Family
ID=11560987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69030392T Expired - Fee Related DE69030392T2 (de) | 1989-01-10 | 1990-01-10 | Zur Kommunikation in asynchroner Übertragungsart geeignetes Puffergerät |
Country Status (4)
Country | Link |
---|---|
US (1) | US5083269A (de) |
EP (1) | EP0378195B1 (de) |
JP (1) | JP2736092B2 (de) |
DE (1) | DE69030392T2 (de) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2642214B1 (fr) * | 1988-12-30 | 1992-11-20 | Cit Alcatel | Systeme de detection d'ecrasement de donnees dans une memoire tampon, notamment pour un commutateur de donnees |
GB8921653D0 (en) * | 1989-09-26 | 1989-11-08 | Lucas Ind Plc | Interface circuit |
DE68925696D1 (de) * | 1989-12-22 | 1996-03-28 | Ibm | Elastischer konfigurierbarer Pufferspeicher zum Puffern von asynchronen Daten |
JP2572292B2 (ja) * | 1990-05-14 | 1997-01-16 | 株式会社小松製作所 | 非同期データ伝送装置 |
JPH04165866A (ja) * | 1990-10-30 | 1992-06-11 | Nec Corp | バッファメモリ回路 |
EP0496922B1 (de) * | 1991-01-31 | 1996-04-03 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren und Schaltungsanordnung zur Steuerung der Daten- übertragung zwischen einem von mehreren Ein-/Ausgabemodulen und einer anderen Einheit einer Datenverarbeitungsanlage |
ES2072537T3 (es) * | 1991-02-01 | 1995-07-16 | Siemens Ag | Procedimiento para el control e igualacion de corrientes de datos, que se transmiten segun un procedimiento de transmision asincrono. |
JPH04314235A (ja) * | 1991-04-12 | 1992-11-05 | Mitsubishi Electric Corp | セル交換装置 |
EP0519563A3 (en) * | 1991-06-21 | 1997-08-27 | Koninkl Philips Electronics Nv | System for converting synchronous time-division-multiplex signals into asynchronous time-division data packets |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5233606A (en) * | 1991-08-02 | 1993-08-03 | At&T Bell Laboratories | Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment |
DE69230204T2 (de) * | 1991-08-16 | 2000-02-10 | Fujitsu Ltd | Pufferspeicher und Verwaltungsverfahren dafür |
US5426639A (en) * | 1991-11-29 | 1995-06-20 | At&T Corp. | Multiple virtual FIFO arrangement |
US5644748A (en) * | 1992-01-30 | 1997-07-01 | Fujitsu Limited | Processor system including an index buffer circuit and a translation look-aside buffer control circuit for processor-to-processor interfacing |
US5440691A (en) * | 1992-02-27 | 1995-08-08 | Digital Equipment Corporation, Pat. Law Group | System for minimizing underflowing transmit buffer and overflowing receive buffer by giving highest priority for storage device access |
WO1993020505A2 (en) * | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Superscalar risc instruction scheduling |
KR950701437A (ko) | 1992-05-01 | 1995-03-23 | 요시오 야마자끼 | 슈퍼스칼라 마이크로프로세서에서의 명령어 회수를 위한 시스템 및 방법 |
US5278828A (en) * | 1992-06-04 | 1994-01-11 | Bell Communications Research, Inc. | Method and system for managing queued cells |
US5287347A (en) * | 1992-06-11 | 1994-02-15 | At&T Bell Laboratories | Arrangement for bounding jitter in a priority-based switching system |
US5502821A (en) * | 1992-06-29 | 1996-03-26 | Xerox Corporation | Method of determining devices requesting the transfer of data signals on a bus |
US5299196A (en) * | 1992-11-12 | 1994-03-29 | International Business Machines Corporation | Distributed address decoding for bus structures |
US5289470A (en) * | 1992-12-14 | 1994-02-22 | International Business Machines Corp. | Flexible scheme for buffer space allocation in networking devices |
DE69330889T2 (de) | 1992-12-31 | 2002-03-28 | Seiko Epson Corp | System und Verfahren zur Änderung der Namen von Registern |
US5604912A (en) * | 1992-12-31 | 1997-02-18 | Seiko Epson Corporation | System and method for assigning tags to instructions to control instruction execution |
US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
JPH06250970A (ja) * | 1993-02-26 | 1994-09-09 | Toshiba Corp | メモリ制御装置 |
US6738357B1 (en) * | 1993-06-09 | 2004-05-18 | Btg International Inc. | Method and apparatus for multiple media digital communication system |
AU7206994A (en) * | 1993-06-09 | 1995-01-03 | Intelligence At Large, Inc. | Method and apparatus for multiple media digital communication system |
EP0632625B1 (de) * | 1993-06-30 | 1996-10-30 | International Business Machines Corporation | Programmierbare hochleistungsfähige Datenkommunikationsanpassung für Hochgeschwindigkeits-Paketübertragungsnetzwerke |
US5513224A (en) * | 1993-09-16 | 1996-04-30 | Codex, Corp. | Fill level indicator for self-timed fifo |
CA2135681C (en) * | 1993-12-30 | 2000-01-18 | Srinivas V. Makam | System and method for directly accessing long-term memory devices |
CA2143495A1 (en) * | 1994-03-21 | 1995-09-22 | Rasoul M. Oskouy | Method and apparatus for reordering incoming interleaved asynchronous transfer mode cells |
US6151301A (en) * | 1995-05-11 | 2000-11-21 | Pmc-Sierra, Inc. | ATM architecture and switching element |
US5583861A (en) * | 1994-04-28 | 1996-12-10 | Integrated Telecom Technology | ATM switching element and method having independently accessible cell memories |
JP3943607B2 (ja) * | 1994-06-10 | 2007-07-11 | ハリス コーポレイション | 切換え機能を有する集中ネットワーク交換機 |
US6049802A (en) * | 1994-06-27 | 2000-04-11 | Lockheed Martin Corporation | System and method for generating a linked list in a computer memory |
US5608889A (en) * | 1994-08-17 | 1997-03-04 | Ceridian Corporation | DNA controller with wrap-around buffer mode |
US5619500A (en) * | 1994-09-01 | 1997-04-08 | Digital Link Corporation | ATM network interface |
US5513318A (en) * | 1994-12-28 | 1996-04-30 | At&T Corp. | Method for built-in self-testing of ring-address FIFOs |
US5854898A (en) | 1995-02-24 | 1998-12-29 | Apple Computer, Inc. | System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween |
US5838915A (en) * | 1995-06-21 | 1998-11-17 | Cisco Technology, Inc. | System for buffering data in the network having a linked list for each of said plurality of queues |
US5790770A (en) * | 1995-07-19 | 1998-08-04 | Fujitsu Network Communications, Inc. | Method and apparatus for reducing information loss in a communications network |
JP2000501901A (ja) * | 1995-07-19 | 2000-02-15 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | 通信交換機内のデータセルのマッピング |
WO1997004561A1 (en) * | 1995-07-19 | 1997-02-06 | Fujitsu Network Communications, Inc. | Link scheduling |
JP2001519973A (ja) * | 1995-07-19 | 2001-10-23 | フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド | 共用バッファへの優先度付きアクセス |
US5657289A (en) * | 1995-08-30 | 1997-08-12 | Micron Technology, Inc. | Expandable data width SAM for a multiport RAM |
WO1997010656A1 (en) * | 1995-09-14 | 1997-03-20 | Fujitsu Network Communications, Inc. | Transmitter controlled flow control for buffer allocation in wide area atm networks |
US5982772A (en) * | 1995-11-06 | 1999-11-09 | Sun Microsystems, Inc. | Cell interface block partitioning for segmentation and re-assembly engine |
US5757771A (en) * | 1995-11-14 | 1998-05-26 | Yurie Systems, Inc. | Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch |
IT1277692B1 (it) * | 1995-12-22 | 1997-11-11 | Italtel Spa | Dispositivo di memorizzazione fifo e di commutazione a buffer condiviso per reti di connessione in tecnica atm |
AU1697697A (en) * | 1996-01-16 | 1997-08-11 | Fujitsu Limited | A reliable and flexible multicast mechanism for atm networks |
US6201807B1 (en) * | 1996-02-27 | 2001-03-13 | Lucent Technologies | Real-time hardware method and apparatus for reducing queue processing |
US5819111A (en) * | 1996-03-15 | 1998-10-06 | Adobe Systems, Inc. | System for managing transfer of data by delaying flow controlling of data through the interface controller until the run length encoded data transfer is complete |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US6487207B1 (en) | 1997-02-26 | 2002-11-26 | Micron Technology, Inc. | Shared buffer memory architecture for asynchronous transfer mode switching and multiplexing technology |
US6021133A (en) * | 1997-03-07 | 2000-02-01 | Advanced Micro Devices Inc. | Communication processing method using a buffer array as a virtually circular buffer |
EP1439704A3 (de) * | 1997-03-17 | 2011-08-10 | Panasonic Corporation | Vorrichtung für Bewegtbilddatenverarbeitung, -übertragung und -empfang |
FR2763410B1 (fr) | 1997-05-13 | 1999-07-23 | Fihem | Dispositif de tri d'elements de donnees a arbre binaire et espaceur atm comportant un tel dispositif |
FR2763448B1 (fr) * | 1997-05-13 | 1999-07-16 | Fihem | Espaceur de cellules atm |
JP3434670B2 (ja) * | 1997-05-21 | 2003-08-11 | 沖電気工業株式会社 | 帯域管理装置 |
US6178471B1 (en) | 1998-07-21 | 2001-01-23 | International Business Machines Corporation | Method of sharing buffers for the streaming of unchanged data |
DE19904084B4 (de) * | 1999-02-02 | 2008-12-11 | Force Computers Gmbh | Computer |
US6339803B1 (en) * | 1999-02-19 | 2002-01-15 | International Business Machines Corporation | Computer program product used for exchange and transfer of data having a queuing mechanism and utilizing a queued direct input-output device |
US6345329B1 (en) * | 1999-02-19 | 2002-02-05 | International Business Machines Corporation | Method and apparatus for exchanging data using a queued direct input-output device |
US6345324B1 (en) * | 1999-02-19 | 2002-02-05 | International Business Machines Corporation | Apparatus for transferring data using an interface element and a queued direct input-output device |
US6401145B1 (en) * | 1999-02-19 | 2002-06-04 | International Business Machines Corporation | Method of transferring data using an interface element and a queued direct input-output device |
US6510479B1 (en) | 1999-09-15 | 2003-01-21 | Koninklijke Philips Electronics N.V. | Transmit pre-arbitration scheme for a can device and a can device that implements this scheme |
JP3831189B2 (ja) * | 2000-09-29 | 2006-10-11 | 富士通株式会社 | 回転制御方法及び記憶装置 |
US6789143B2 (en) * | 2001-09-24 | 2004-09-07 | International Business Machines Corporation | Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries |
US7346739B1 (en) * | 2004-11-19 | 2008-03-18 | Xilinx, Inc. | First-in-first-out memory system and method for providing same |
US20080265918A1 (en) * | 2007-04-24 | 2008-10-30 | Protos Electronics, Inc. | Object-clamping lid subassembly of a test socket for testing electrical characteristics of an object |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2559286B1 (fr) * | 1984-01-16 | 1987-03-27 | Inst Nat Rech Inf Automat | Machine de traitement de l'information pour l'interpretation de langages de programmation logique |
US4833655A (en) * | 1985-06-28 | 1989-05-23 | Wang Laboratories, Inc. | FIFO memory with decreased fall-through delay |
US4751675A (en) * | 1985-08-19 | 1988-06-14 | American Telephone And Telegraph Company, At&T Bell Laboratories | Memory access circuit with pointer shifting network |
JPS63232544A (ja) * | 1987-03-19 | 1988-09-28 | Fujitsu Ltd | 多チヤンネルパケツト化方式 |
US4839866A (en) * | 1987-05-29 | 1989-06-13 | Texas Instruments Incorporated | Cascadable first-in, first-out memory |
-
1989
- 1989-01-10 JP JP356689A patent/JP2736092B2/ja not_active Expired - Lifetime
-
1990
- 1990-01-08 US US07/462,118 patent/US5083269A/en not_active Expired - Lifetime
- 1990-01-10 EP EP90100444A patent/EP0378195B1/de not_active Expired - Lifetime
- 1990-01-10 DE DE69030392T patent/DE69030392T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0378195B1 (de) | 1997-04-09 |
JPH02184141A (ja) | 1990-07-18 |
EP0378195A2 (de) | 1990-07-18 |
JP2736092B2 (ja) | 1998-04-02 |
EP0378195A3 (de) | 1992-03-18 |
US5083269A (en) | 1992-01-21 |
DE69030392D1 (de) | 1997-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69030392T2 (de) | Zur Kommunikation in asynchroner Übertragungsart geeignetes Puffergerät | |
DE60130079T2 (de) | Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers | |
DE69915704T2 (de) | Ampic dram | |
DE3751091T2 (de) | Übertragungsprotokoll zwischen Prozessoren. | |
DE3751514T2 (de) | Adressieranordnung für RAM-Puffer-Steuereinrichtung. | |
DE3850881T2 (de) | Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher. | |
DE68928543T2 (de) | Asynchrone Zeitvielfachvermittlungsanordnung und Verfahren zum Betrieb der Anordnung | |
DE69637462T2 (de) | ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen | |
DE2550339C2 (de) | Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität | |
DE3787908T2 (de) | Serielle Übertragungssteuerungsvorrichtung. | |
DE69216105T2 (de) | Atm-breitbandkoppelfeldeinrichtung mit gepufferten eingängen | |
DE69019081T2 (de) | ATM-Vermittlungssystem mit Doppelvermittlerstruktur. | |
DE3787600T2 (de) | Koppelpunktschaltung für Datenpaketraumvermittlung. | |
DE69029755T2 (de) | Zellenvermittlungssystem für Zeitmultiplexkommunikation | |
DE68922647T2 (de) | Paketvermittlungsvorrichtung. | |
DE69433229T2 (de) | ATM-Schalter | |
DE10056827A1 (de) | Duale Verwendung von Cache-Verbindungen | |
DE2921419A1 (de) | Schaltungsanordnung und verfahren zur uebertragung digitaler information zwischen wenigstens einer ersten und einer zweiten sammelleitung | |
DE3853162T2 (de) | Gemeinsamer intelligenter Speicher für die gegenseitige Verbindung von verteilten Mikroprozessoren. | |
DE60204794T2 (de) | Mechanismus zur kennzeichnung und arbitrierung in einem eingabe/ausgabe knoten eines rechnersystems | |
CH634938A5 (de) | Einrichtung fuer die weiterleitung von speicherzugriffsanforderungen. | |
DE68909666T2 (de) | Koppelpunktschaltungselement zwischen zwei Daten-Sammelleitungen. | |
DE69124329T2 (de) | Asynchrone Zellenvermittlungseinheit | |
EP1370952B1 (de) | Kommunikationsverfahren zur realisierung von ereigniskanälen in einem zeitgesteuerten kommunikationssystem | |
EP0555456B1 (de) | Verfahren zur datenübertragung und datenverarbeitungsanlage mit verteilten rechnerknoten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |