DE69030392T2 - Zur Kommunikation in asynchroner Übertragungsart geeignetes Puffergerät - Google Patents

Zur Kommunikation in asynchroner Übertragungsart geeignetes Puffergerät

Info

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
Application number
DE69030392T
Other languages
English (en)
Other versions
DE69030392D1 (de
Inventor
Yoshinari Kumaki
Yasuro Shobatake
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE69030392D1 publication Critical patent/DE69030392D1/de
Publication of DE69030392T2 publication Critical patent/DE69030392T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/064Linked list, i.e. structure using pointers, e.g. allowing non-contiguous address segments in one logical buffer or dynamic buffer space allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/066User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer 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

    Hintergrund der Erfindung Gebiet der Erfindung
  • 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.
  • Beschreibung des Standes der Technik
  • 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.
  • Zusammenfassung der Erfindung
  • 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.
  • Kurze Beschreibung der Zeichnungen
  • 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.
  • Ausführliche Beschreibung der bevorzugten Ausführungen
  • 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.
DE69030392T 1989-01-10 1990-01-10 Zur Kommunikation in asynchroner Übertragungsart geeignetes Puffergerät Expired - Fee Related DE69030392T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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