DE10084462B4 - Geteilter Puffer - Google Patents

Geteilter Puffer Download PDF

Info

Publication number
DE10084462B4
DE10084462B4 DE10084462T DE10084462T DE10084462B4 DE 10084462 B4 DE10084462 B4 DE 10084462B4 DE 10084462 T DE10084462 T DE 10084462T DE 10084462 T DE10084462 T DE 10084462T DE 10084462 B4 DE10084462 B4 DE 10084462B4
Authority
DE
Germany
Prior art keywords
buffer
input
data
output
outfifo
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
DE10084462T
Other languages
English (en)
Other versions
DE10084462T1 (de
Inventor
Niklas Röjemo
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE10084462T1 publication Critical patent/DE10084462T1/de
Application granted granted Critical
Publication of DE10084462B4 publication Critical patent/DE10084462B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/066User-programmable number or size of buffers, i.e. number of separate buffers or their size can be allocated freely

Abstract

Puffereinrichtung (1) vom FIFO-Typ, die einen Dateneingang (In), einen Datenausgang (Out) und einen Speicherpuffer (MEMFIFO1; MEMFIFO2) umfasst,
dadurch gekennzeichnet,
dass die Puffereinrichtung einen integrierten Schaltungsteil (IC1) umfasst, der einen Eingangspuffer (INFIFO) und einen Ausgangspuffer (OUTFIFO) umfasst und auch eine Anordnung (MUX1, DMUX1, DMUX2) zum Kombinieren des Dateneingangs (In) mit dem Datenausgang (Out) über entweder einen der Puffer der integrierten Schaltung oder über mindestens zwei der Puffer (INFIFO, MEMFIFO1, OUTFIFO; MEMFIFO), die in Serie geschaltet sind, dass der Ausgangspuffer (OUTFIFO) einen Ausgang umfasst, der mit dem Datenausgang (Out) verbunden ist, und dass die Anordnung (MUX1, DEMUX1, DEMUX2) die Einrichtung einstellen kann in eine der folgenden Betriebsbedingungen:
eine erste Bedingung, in der der Dateneingang (In) mit einem Eingang des Ausgangspuffers (OUTFIFO) verbunden ist;
eine zweite Bedingung, in der der Dateneingang (In) mit einem Eingang des Eingangspuffers (INFIFO) verbunden ist und ein Ausgang des Eingangspuffers (INFIFO) mit dem Eingang...

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Einrichtung und ein Verfahren zum Transportieren von Daten durch einen Puffer vom FIFO-Typ.
  • STAND DER TECHNIK
  • In EP 0 886 454 A2 ist ein Verfahren und Gerät zum Expandieren eines auf einem Chip bereitgestellten FIFO Speicher in einem lokalen Speicher beschrieben. Eine FIFO Queue ist auf einem Halbleiterchip angeordnet, zum Empfangen und Übertragen von Daten in ein Computersystem, typischerweise in einem Computernetzwerk. Die FIFO Queue hat eine zusätzliche Speicherkapazität in der Form einer Erweiterung in einen lokalen Speicher des Computersystems. Die Eingangsseite und die Ausgangsseite der FIFO Queue, die bei dem Empfang und Übertragen von Daten involviert sind, sind auf dem Chip implementiert. Die FIFO Queue wird in einen Speicherbereich erweitert, der auf dem lokalen Speicher vorgesehen ist, sofern die auf dem Chip bereitgestellte FIFO Queue gefüllt ist. Der Mittelabschnitt der FIFO Queue liegt in der Erweiterung in dem lokalen Speicher. Auf dem lokalen Speicher wird lediglich in Form von Datenbündeln zugegriffen, sowohl bei Lese- als auch bei Schreibtransaktionen.
  • Ferner ist in US-A-5,526,508 ein Cashleitungs-Ersatzsystem beschrieben, für ein gleichzeitiges Speichern von Daten in Lese- und Schreibpuffern mittels einem Multiplexer, der über einen Zählwert das Umgehen des Lesepuffers steuert.
  • Wie erläutert, findet Datenverarbeitung oft in integrierten Schaltungen statt. Wenn ein Datenstrom eine Datenverarbeitungseinheit in einer Schaltung erreicht, ist es wichtig, dass jedes individuelle Datenelement in einer vorbestimmten Reihenfolge behandelt wird und dass zwischen jeder Verarbeitung Zeit verstreichen kann. Wenn ein Datenelement ankommt, sollte die Verarbeitung des Elementes unabhängig davon sein, wann das nächste Element ankommt. Zum Puffern des Datenelementes kann ein Puffer verwendet werden und oft wird ein Puffer vom erst-in-erst-aus-Typ, ein sogenanntes FIFO-Register verwendet. Das erste in ein FIFO-Register zu schreibende Element ist also das erste zu lesende Element. Oft finden Schreiben und Lesen mit einer hohen Rate statt und FIFO-Register, die verwendet werden, müssen die Erfordernisse dieser Rate erfüllen. Es ist wichtig, dass das Schreiben eines Elementes in das FIFO-Register, der Transport des Elementes von dem Eingang zu dem Ausgang sowie das Lesen aus dem FIFO-Register schnell sind. Um die Erfordernisse der Schnelligkeit zu erfüllen, ist ein Puffer, wenn er in einer integrierten Schaltung verwendet wird, als Teil dieser integrierten Schaltung hergestellt.
  • Wenn der Puffer einen Teil der integrierten Schaltung bildet, können Schreiben und Lesen schnell sein. Andererseits tritt dadurch ein Problem auf, dass so manche Siliziumoberfläche auf der integrierten Schaltung geopfert werden muss, um Platz für den Puffer zu schaffen. Das Problem wird speziell spürbar, falls der Puffer befähigt sein muss, viele Datenelemente zu speichern. In der japanischen Patentanmeldung JP 3212776 ist der Puffer in zwei Teile geteilt. Der erste Pufferteil ist ein Teil der integrierten Schaltung und ist entsprechend auf demselben Silizium vorhanden, während der zweite Pufferteil von der integrierten Schaltung separiert ist. Der zweite Pufferteil ist derart verbunden, dass Daten zuerst in den zweiten Pufferteil geschrieben werden und danach zu dem ersten Pufferteil transportiert und aus diesem gelesen werden. Das Erfordernis der Puffergröße wird erfüllt durch den zweiten Pufferteil, der nicht Teil der integrierten Schaltung ist und entsprechend keinen Siliziumraum beansprucht. Da der erste Teil auf derselben Schaltung aufgebaut ist, wie der Datenverarbeitungsteil, kann auf Daten von diesem Pufferteil verzögerungsfrei zugegriffen werden. Das verbleibende Problem ist das Schreiben in und das Lesen aus dem zweiten Pufferteil, der wieder von der integrierten Schaltung separiert ist. Da der zweite Pufferteil sowohl von der Einheit, von der die Daten hineinkommen als auch von der Einheit, zu der Daten gesendet werden, separiert ist, tritt eine Verzögerung im Vergleich zu Fall auf, dass diese Einheiten auf derselben Schaltung anwesend sind, wie der Puffer. Das Erfordernis der Schnelligkeit ist speziell wichtig, wenn der Puffer nur ein paar Elemente enthält.
  • BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung löst das Problem des Schaffens von ausreichender Speicherkapazität in einem Puffer vom FIFO-Typ, der in einer integrierten Schaltung verwendet wird, ohne unnötigen Schaltungsraum in Anspruch zu nehmen und ohne das Erfordernis der Schnelligkeit aufzugeben.
  • Dieses Problem wird erfindungsgemäß gemäß den Merkmalen des Patentanspruchs 1 gelöst durch Aufteilen der Puffervorrichtung in drei Pufferteile:
    • – Einen Eingangspuffer, der ein Teil der integrierten Schaltung ist.
    • – Einen Ausgangspuffer, der ein Teil der integrierten Schaltung ist.
    • – Einen Speicherpuffer, der von der integrierten Schaltung separiert ist.
  • Das Ziel der Erfindung ist es, eine flexible Puffereinrichtung zu schaffen, die abhängig von dem Datenverkehrspegel in dem Puffer angepasst werden kann, um die Erfordernisse der Schnelligkeit sowie des Speicherplatzes zu erfüllen.
  • Genauer betrachtet umfasst die Puffereinrichtung gemäß der Erfindung einen Dateneingang und einen Datenausgang und ebenfalls einer Anordnung zum Kombinieren des Eingangs mit dem Ausgang über entweder einen der Pufferteile oder über eine Vielzahl von Pufferteilen, die in Serie verbunden sind. Die unterschiedlichen FIFO-Konstellationen werden unter unterschiedlichen Betriebsbedingungen verwendet.
  • Die Wahl der Betriebsbedingungen hängt von der Anzahl von Elementen ab, die in der Puffereinrichtung momentan vorhanden sind und außerdem davon, an welche Pufferteile diese verteilt werden. Der Dateneingang ist mit dem Datenausgang über unterschiedliche Pufferteile kombiniert unter Verwendung eines erfindungsgemäßen Verfahrens mit den Merkmalen des Patentanspruchs 4, das die folgenden Schritte umfasst:
    • – Kombinieren des Dateneingangs mit dem Datenausgang über einen der Puffer auf der integrierten Schaltung;
    • – Kombinieren des Dateneingangs mit dem Datenausgang über mindestens zwei der Puffer, die in Serie verbunden sind.
  • Schließlich wird das genannte technische Problem gelöst durch ein Puffersystem mit den Merkmalen des "Patentanspruchs 7.
  • Ein Vorteil der Erfindung ist, dass eine große Zahl von Datenelementen von dem Puffer verwendet werden kann, ohne für mehr als ein paar Elemente Schaltungsraum in der integrierten Schaltung zu benutzen.
  • Ein anderer Vorteil der Erfindung ist, dass Schreiben und Lesen zum/vom Puffer bei einer hohen Rate stattfinden kann.
  • Ein weiterer Vorteil ist, dass die Zeit zum Transportieren von Daten minimiert werden kann, da der Zugriff auf den separierten Speicher mit Hilfe von Bursts bzw. Datenblöcken stattfinden kann oder alternativ, durch eine große Busbreite zu dem externen Speicher.
  • Noch ein weiterer Vorteil ist, dass eine Vielzahl von Puffereinrichtungen in effektiver Weise denselben externen Speicherraum gemeinsam nutzen können.
  • Noch ein weiterer Vorteil der Erfindung ist, dass Konfliktsituationen beim Lesen und Schreiben von Daten minimiert werden könnten.
  • Die Erfindung wird nun mit Hilfe bevorzugter Ausgestaltungen näher beschrieben unter Bezugnahme auf die beiliegenden Zeichnungen.
  • FIGURENBESCHREIBUNG
  • 1 zeigt ein Blockdiagramm einer Puffereinrichtung gemäß der Erfindung.
  • 2a–c zeigen Blockdiagramme dreier unterschiedlicher Betriebsbedingungen für die Puffereinrichtung gemäß der Erfindung.
  • 3 zeigt durch ein Flussdiagramm ein erfindungsgemäßes Verfahren zum Schalten zwischen unterschiedlichen Betriebsbedingungen der Puffereinrichtung.
  • 4 zeigt ein Blockdiagramm eines Systems einer erfindungsgemäßen Puffereinrichtung.
  • BEVORZUGTE AUSGESTALTUNGEN
  • 1 zeigt eine erfindungsgemäße Puffereinrichtung 1. Die Puffereinrichtung ist vom FIFO-Typ, d. h., das Datenelement, das zuerst in die Puffereinrichtung geschrieben wird, ist auch das Element, das zuerst aus der Puffereinrichtung ausgelesen wird. Die Puffereinrichtung umfasst einen Dateneingang In, zu dem Datenelemente geschrieben werden können. Die Puffereinrichtung umfasst auch einen Datenausgang Out, von dem Daten gelesen werden können, nachdem sie den Puffer durchlaufen haben. Zusätzlich umfasst die Puffereinrichtung einen integrierten Schaltungsteil IC1, der einen Ausgangspuffer OUTFIFO umfasst, der sich entsprechend der Ausführungsform mit acht Datenelementen befassen kann und auch einen Eingangspuffer INFIFO, der sich ebenfalls mit acht Datenelementen befassen kann. Der Ausgangspuffer sowie der Eingangspuffer sind vom FIFO-Typ und bilden einen Teil der integrierten Schaltung, d. h., sie sind ein Teil des Siliziums, aus dem die integrierte Schaltung gebildet wird. Das Datenelement kann geschrieben werden zu oder gelesen werden von sowohl dem Ausgangspuffer OUTFIFO als auch dem Eingangspuffer INFIFO. Schreiben von der integrierten Schaltung zu einem der Puffer INFIFO, OUTFIFO kann verzögerungsfrei stattfinden, da der Puffer ein Teil der integrierten Schaltung ist. Auf dieselbe Weise wird das Lesen zu der integrierten Schaltung von den Puffern verzögerungsfrei ausgeführt. Schreiben zu dem Ausgangpuffer findet bei aktiviertem Schreibeingang OW statt. Lesen von dem Puffer findet in gleicher Weise statt bei aktiviertem Leseeingang OR des Ausgangspuffers. Neben den beiden Puffern in der integrierten Schaltung IC1 umfasst die Puffereinrichtung 1 einen zusätzlichen Puffer, einen sogenannten Speicherpuffer MEMFIFO1. Der Speicherpuffer, der eine von der integrierten Schaltung separierte Speichereinheit ist, umfasst entsprechend der Ausführungsform eine Speicherkapazität von 1024 Datenelementen. Schreiben und Lesen zu oder von dem Speicherpuffer wird ausgeführt mit Hilfe des Schreibeingangs MW des Puffers beziehungsweise des Leseeingangs MR. Schreiben zu oder Lesen von den unterschiedlichen Puffern OUTFIFO, INFIFO und MEMFIFO1 wird erledigt von einer Prüflogik CL1. Die Prüflogik CL1 berücksichtigt auch die Anzahl der in den unterschiedlichen Puffern INFIFO, OUTFIFO und MEMFIFO1 vorhandenen Datenelemente. Ein Puffer gemäß der Ausführungsform umfasst vier Adressregister, nämlich ein Startadressregister, ein Stoppadressregister, ein Schreibadressregister und auch ein Leseadressregister. Start- und Stoppadressregister bewahren die Ordnung bezüglich wo im Speicher der Puffer startet und endet. Bei der Startbedingung sind das Schreibadressregister und das Leseadressregister gleichgesetzt zu dem Startadressregister. Jedes Schreiben zählt das Schreibadressregister aufwärts und jedes Lesen zählt das Leseadressregister aufwärts. Wenn der Wert im Schreibadressregister gleich dem Wert im Stoppadressregister wird, wird der Wert im Startadressregister in das Schreibadressregister geschrieben, d. h., das Schreiben findet wieder von Beginn an statt. Entsprechendes passiert, wenn das Leseadressregister die Stoppadresse erreicht. Es gibt auch einen Zähler, der für das Schreiben aufwärts zählt und für das Lesen abwärts. Wenn dieser Null ist, kann nichts aus dem Puffer gelesen werden (er ist leer) und wenn der Zähler gleich dem Stoppregister minus dem Startregister ist, ist es nicht möglich, in den Puffer zu schreiben (er ist voll). Die Puffereinrichtung 1 umfasst eine Anordnung, die aus unterschiedlichen Typen von Multiplexeinheiten besteht. Mit Hilfe der Multiplexeinheiten können die Puffer INFIFO, OUTFIFO und MEMFIFO1 auf unterschiedliche Weise verbunden werden in Bezug zueinander, so dass Datenelemente durch unterschiedliche FIFO-Konstellationen hindurchwandern können, abhängig von den unterschiedlichen Betriebssituationen. Diese Konstellationen werden näher unter Bezugnahme auf 2 erklärt. Der Dateneingang In ist mit einer ersten Demultiplexeinheit DMUX1 verbunden, die zwei Ausgänge hat. Einer der Ausgänge ist mit dem Eingang des Eingangspuffers INFIFO verbunden. Der andere Ausgang ist mit einem von drei Eingängen einer Multiplexeinheit MUX1 verbunden. Eine zweite Demultiplexeinheit DMUX2 umfasst auch einen Eingang und zwei Ausgänge. Der Eingang ist mit dem Ausgang des Eingangspuffers INFIFO verbunden. Einer der beiden Ausgänge ist mit einem der Eingänge der Multiplexeinheit MUX1 verbunden und der andere der beiden Ausgänge ist mit dem Eingang des Speicherpuffers MEMFIFO1 verbunden. Der Ausgang des Speicherpuffers ist mit dem verbleibenden der drei Eingänge der Multiplexeinheit MUX1 verbunden. Der Ausgang der Multiplexeinheit ist mit dem Eingang des Ausgangspuffers OUTFIFO verbunden. Mit welchem der Ausgänge der Eingang einer Demultiplexeinheit DMUX1 oder DMUX2 kombiniert werden soll, wird durch die Adresse entschieden, die dem entsprechenden Adresseingang DM1 oder DM1 der Multiplexeinheit zur Verfügung gestellt wird. In gleicher Weise legt die Adresse eines Adresseingangs M1 fest, welcher der Eingänge der Multiplexeinheit MUX1 mit dem Ausgang zu kombinieren ist. Die Adresseingänge der jeweiligen Multiplexeingänge DMUX1, DMUX2 UND MUX1 sind mit der Prüflogik CL1 verbunden. Dadurch kann die Prüflogik regeln, zu welchem der Ausgänge in den Multiplexeinheiten DMUX1 und DMUX2 ankommende Daten zu richten sind und von welchem Eingang diese Daten zu der Multiplexeinheit MUX1 kommen sollen.
  • 2a–c zeigen die Puffereinrichtung in 1, wenn diese mit Hilfe von Multiplexeinheiten unterschiedliche Betriebszustände angenommen hat. In 2a ist ein erster Betriebszustand gezeigt. Die Prüflogik hat in 2a die erste Demultiplexeinheit DMUX1 derart beeinflusst, dass der Dateneingang In über die Demultiplexeinheit mit einem Eingang der Multiplexeinheit MUX1 kombiniert ist. Die Prüflogik hat auch die Multiplexeinheit MUX1 beeinflusst, so dass der Eingang mit dem Eingang I1 des Ausgangspuffers verbunden ist. Der Ausgang O1 des Ausgangspuffers ist mit dem Patenausgang Out verbunden. Im ersten Betriebszustand ist der Dateneingang In entsprechend mit dem Datenausgang Out über den Ausgangspuffer OUTFIFO verbunden.
  • In 2b wird ein zweiter Betriebszustand gezeigt. Die Prüflogik CL1 hat hier die erste Demultiplexeinheit DMUX1 derart beeinflusst, dass der Dateneingang In mit dem Eingang I2 des Eingangspuffers INFIFO verbunden ist. Der Ausgang O2 des Eingangspuffers ist mit dem Eingang der zweiten Demultiplexeinheit DMUX2 verbunden. Die zweite Demultiplexeinheit DMUX2 wurde von der Prüflogik CL1 derart beeinflusst, dass eine Verbindung zwischen dem Eingang der zweiten Demultiplexeinheit und einem der Eingänge der Multiplexeinheit MUX1 eingerichtet worden ist. Die Prüflogik hat auch die Multiplexeinheit MUX1 derart beeinflusst, dass dieser Eingang verbunden ist mit dem Eingang I1 des Ausgangspuffers OUTFIFO. Entsprechend ist in dieser zweiten Betriebsbedingung der Dateneingang In mit dem Datenausgang Out über den Eingangspuffer INFIFO und über den Ausgangspuffer OUTFIFO verbunden.
  • In 2c ist eine dritte Betriebsbedingung gezeigt. Hier hat die Prüflogik CL1 die erste Demultiplexeinheit DMUX1 derart beeinflusst, dass der Dateneingang In mit dem Eingang I2 des Eingangspuffers INFIFO verbunden ist. Der Ausgang O2 des Eingangspuffers ist mit dem Eingang der zweiten Demultiplexeinheit DMUX2 verbunden. Die zweite Demultiplexeinheit wurde von der Prüflogik beeinflusst, sodass eine Verbindung zwischen dem Eingang der Demultiplexeinheit und dem Eingang des Speicherpuffers MEMFIFO1 eingerichtet worden ist. Der Ausgang des Speicherpuffers ist mit einem der Eingänge der Multiplexeinheit MUX1 verbunden und die Multiplexeinheit wurde von der Prüflogik CL1 derart beeinflusst, dass dieser Eingang mit dem Eingang I1 des Ausgangspuffers OUTFIFO verbunden ist. In dieser dritten Betriebsbedingung ist der Dateneingang In mit dem Datenausgang Out über den Eingangspuffer INFIFO, den Speicherpuffer MEMFIFO1 und den Ausgangspuffer OUTFIFO verbunden.
  • Die erste Betriebsbedingung, bei der der Dateneingang In mit dem Datenausgang Out über das Ausgangspuffer OUTFIFO verbunden ist, wird verwendet, wenn die Puffereinrichtung leer ist oder nur ein paar Datenelemente enthält. Ein Datenelement am Dateneingang In wird zu dem Eingang I1 des Ausgangspuffers transportiert. Eine negative Impulsflanke an dem Schreibeingang OW von der Prüflogik schreibt das Datenelement in den Ausgangspuffer OUTFIFO und stellt das Element als letztes in eine Schlange. Eine negative Impulsflanke an dem Leseeingang OR liest so oft wie gewünscht das nächste Datenelement in der Reihe, d. h. das erste in der Schlange im Ausgangspuffer. Da die Puffereinrichtung in dieser Betriebsbedingung durch nur einen Pufferteil aufgebaut ist, der ein Teil der integrierten Schaltung IC ist, kann der Transport zwischen dem Dateneingang In und dem Datenausgang Out sehr schnell sein. Die erste Betriebsbedingung kann so lange verwendet werden, wie der Ausgangspuffer nicht voll ist, d. h., weniger als acht Elemente entsprechend der Ausführungsform enthält.
  • In der zweiten Betriebsbedingung ist der Dateneingang In zu dem Datenausgang Out über den Eingangspuffer INFIFO und den Ausgangspuffer OUTFIFO verbunden. Ein Datenelement am Dateneingang In wird zu dem Eingangspuffer transportiert, wo das Element in den Eingangspuffer geschrieben wird und als letztes in einer Schlange angeordnet wird. Wenn der Ausgangspuffer OUTFIFO nicht voll ist. d. h. weniger als acht Datenelemente enthält, wird das erste Element in der Schlange von dem Eingangspuffer INFIFO gelesen und das Element wird zu dem Ausgangspuffer OUTFIFO transportiert. Daraufhin wird ein Schreiben des Ausgangspuffers OUTFIFO ausgeführt, wobei das Element nun als letztes in der Schlange des Ausgangspuffers angeordnet wird. Die Puffereinrichtung ist unter dieser Betriebsbedingung aus zwei Pufferteilen aufgebaut, die beide zu der integrierten Schaltung IC gehören. Daher findet der Transport zwischen dem Dateneingang In und dem Datenausgang Out unverzögert statt. Für die Elementetransaktion durch die Puffereinrichtung wird noch eine zufriedenstellende Geschwindigkeit erreicht. Zusätzlich hat die Einrichtung verglichen mit der ersten Betriebsbedingung nun mehr Platz für weitere Elemente.
  • In der dritten Betriebsbedingung ist der Dateneingang In mit dem Datenausgang Out über den Eingangspuffer INFIFO, den Speicherpuffer MEMFIFO1 und den Ausgangspuffer OUTFIFO verbunden. Ein Datenelement am Dateneingang In wird zu dem Eingangspuffer INFIFO transportiert. Wenn der Eingangspuffer nun vier Datenelemente enthält, findet ein Wechsel zu der dritten Betriebsbedingung statt. Die vier Datenelemente in dem Eingangspuffer INFIFO werden zu dem Speicherpuffer MEMFIFO1 in Form eines Datenblocks (Burst) gesendet, d. h. alle vier Elemente werden sequentiell in einen Speicherbereich im Speicherpuffer MEMFIFO1 eingeschrieben. Ein sequentielles Schreiben aller vier Datenelemente bedeutet, dass alle vier Elemente aufeinanderfolgend geschrieben werden, was es ermöglicht, den Speicher effektiv im Datenblockzugriffsmodus zu benutzen. Datenblöcke gruppieren auch Lesevorgänge und Schreibvorgänge derart, dass es weniger Änderungen zwischen ihnen gibt, was die Verwendung des Speichers in der Serienanordnung (Pipeline) effektiver macht. Das Schreiben wird unterbrechungsfrei ausgeführt, d. h. ohne durch das Lesen von einem Puffer bedingte Unterbrechung. Die vier Datenelemente werden als letztes in die Schlange in dem Speicherpuffer MEMFIFO eingegeben. Wenn der Ausgangspuffer OUTFIFO Platz für vier weitere Datenelemente hat, findet ein Lesen der vier Datenelemente, die als erstes in der Schlange im Speicherpuffer angeordnet sind, in Datenblockform statt. Obwohl nun Speicherkapazität ebenfalls außerhalb der integrierten Schaltung verwendet wird, kann eine befriedigende Schnelligkeit erhalten werden mit Hilfe des simultanen Transportes einer Vielzahl von Elementen in Form eines Datenblocks.
  • In 3 wird ein Verfahren gemäß der Erfindung gezeigt. Die Fig. zeigt mit unterschiedlichen Blöcken die drei unterschiedlichen Betriebsbedingungen und wann zwischen diesen ein Wechsel stattfindet. Die Richtung von einem Block zum nächsten ist in der Figur durch Pfeile angezeigt. Die Übertragung von einem eine Betriebsbedingung symbolisierenden Block zu dem nächsten Block, der eine Betriebsbedingung symbolisiert, wird entweder durch ein Datenelement initiiert, das in die Speichereinrichtung geschrieben wird oder ein Datenelement, das aus der Puffereinrichtung gelesen wird. Wenn man sich beispielsweise in der dritten Betriebsbedingung befindet, die in 3 durch einen Block 105 gezeigt ist, findet ein Wechsel zu dem nächsten Block 106 statt und daraufhin weiter zu der nächsten Betriebsbedingung, entweder wenn ein Datenelement in die Puffereinrichtung geschrieben worden ist oder wenn ein Datenelement von der Puffereinrichtung gelesen worden ist. Die erste Betriebsbedingung ist in der Figur durch einen Block 101 gezeigt. Die erste Betriebsbedingung bedeutet, dass der Dateneingang In mit dem Datenausgang Out über den Ausgangspuffer OUTFIFO verbunden ist. In der Ausführungsform ist vorausgesetzt, dass der Ausgangspuffer sieben Elemente umfasst, während der Eingangspuffer INFIFO sowie der Speicherpuffer MEMFIFO1 null Elemente umfassen. Beim Schreiben oder Lesen eines Elementes findet in der Figur ein Übergang zu Block 102 statt. In dem Block 102 wird geprüft, ob der Ausgangspuffer nun nach dem Schreiben oder Lesen acht Elemente umfasst. Wenn das Prüfergebnis die Antwort "Nein" liefert, findet ein Übergang zu dem Block 101 statt und die Puffereinrichtung bleibt in der ersten Betriebsbedingung. Wenn stattdessen das Prüfergebnis als Antwort "Ja" hat, was, wie wir wissen, entsprechend der Ausführungsform nach einem Schreiben der Fall ist, d. h., wenn der Ausgangspuffer nach dem Schreiben acht Elemente enthält, findet in der Figur ein Übergang zu einem Block 103 statt und ein Wechsel zu der zweiten Betriebsbedingung findet statt! In der zweiten Betriebsbedingung ist der Dateneingang In mit dem Datenausgang Out über den Eingangspuffer INFIFO und den Ausgangspuffer OUTFIFO verbunden. Entsprechend der Ausführungsform umfasst der Ausgangspuffer jetzt, nach der Transaktion, acht Elemente, während der Eingangspuffer und der Speicherpuffer kein Element enthalten. Die nächste Elementetransaktion, die ein Lesevorgang aus der Puffereinrichtung ist, hat zum Ergebnis, dass der Ausgangspuffer nun sieben Elemente umfasst. Als erstes nach der Transaktion findet ein Übergang in der Figur zu Block 104 statt, wo geprüft wird, ob der Eingangspuffer vier Elemente umfasst. Da dies nicht der Fall ist, findet ein Übergang in der Figur zu Block 107 statt. Im Block 107 wird geprüft, ob der Eingangspuffer null Elemente enthält. Da der Eingangspuffer gemäß der Ausführungsform null Elemente enthält, findet ein Übergang in der Figur zu Block 101 statt und die Puffereinrichtung wird noch einmal auf die erste Betriebsbedingung eingestellt. Nun wird stattdessen vorausgesetzt, dass die Puffereinrichtung sich in der zweiten Betriebsbedingung befindet und dass der Ausgangspuffer OUTFIFO acht Elemente umfasst, der Eingangspuffer INFIFO 1–3 Elemente. Wenn die nächste Elementetransaktion ein Lesevorgang ist, wird die Einrichtung in der Betriebsbedingung 2 verbleiben. Das Leseelement ist das, welches als erstes im Ausgangspuffer steht und das erste Element im Eingangspuffer wird zur letzten Position im Ausgangspuffer bewegt, d. h., nach dem Lesevorgang sind acht Elemente im Ausgangspuffer und 0–2 Elemente im Eingangspuffer. Wenn ein Element in der Einrichtung geschrieben wird, wenn der Ausgangspuffer acht Elemente enthält und der Eingangspuffer weniger als drei Elemente enthält, führt dies dazu, dass das neue Element als letztes in den Eingangspuffer eingegeben wird und die Einrichtung in der Betriebsbedingung 2 verbleibt. Wenn ein Element in der Einrichtung geschrieben wird, wenn der Ausgangspuffer acht Elemente und der Eingangspuffer drei Elemente enthält, findet in der Figur ein Übergang zu Block 104 statt und, da der Eingangspuffer nun vier Elemente umfasst, findet ein Übergang zu Block 105 statt, d. h., die Einrichtung wird in die dritte Betriebsbedingung versetzt. In der dritten Betriebsbedingung ist der Dateneingang In mit dem Datenausgang Out über den Eingangspuffer INFIFO, den Speicherpuffer MEMFIFO1 und den Ausgangspuffer OUTFIFO verbunden. Die vier ersten Elemente in der Schlange in dem Eingangspuffer INFIFO werden in einem Datenblock zu dem Speicherpuffer MEMFIFO1 übertragen, der nun entsprechend vier Elemente umfasst. Wenn die nächste Transaktion ein Schreiben in die Puffereinrichtung ist, findet ein Schreiben im Eingangspuffer INFIFO statt. In der Figur findet ein Übergang zu Block 106 statt, aber da der Speicherpuffer nicht leer ist, verbleibt die Einrichtung in der dritten Betriebsbedingung. Nach drei zusätzlichen Schreibvorgängen in die Speichereinrichtung werden die ersten vier Elemente in der Schlange im Eingangspuffer INFIFO in einem Datenblock übertragen zum Speicherpuffer MEMFIFO1. Entsprechend umfasst der Speicher MEMFIFO1 nun acht Elemente, der Eingangspuffer INFIFO umfasst null Elemente und der Ausgangspuffer OUTFIFO umfasst immer noch vier Elemente. In der Figur findet ein Übergang von Block 105 zu Block 106 statt. Im Block 106 wird geprüft, ob der Speicherpuffer null Elemente enthält. Da die Antwort auf die Frage "Nein" ist, findet ein Übergang in der Figur zurück zu Block 105 statt und die Einrichtung verbleibt in der dritten Betriebsbedingung. Wenn vier oder mehr freie Plätze im Ausgangspuffer OUTFIFO vorliegen während die Puffereinrichtung sich in der dritten Betriebsbedingung befindet, werden von dem Speicherpuffer MEMFIFO1 Datenelemente gelesen und in den Ausgangspuffer OUTFIFO geschrieben. Die Übertragung der Datenelemente von dem Speicherpuffer zu dem Ausgangspuffer findet in Form eines Datenblocks statt. Vier Elemente werden in dem Datenblock gemäß der Ausführungsform übertragen.
  • In 4 ist ein erfindungsgemäßes Puffersystem in einer zweiten Ausführungsform gezeigt. In der Figur ist derselbe integrierte Schaltungsteil IC1 gezeigt, der zuvor in 1 gezeigt worden ist. Die Teile, die in der integrierten Schaltung IC1 enthalten sind, sind in 4 nicht mit Bezugszeichen versehen. Daher werden die Bezugszeichen nur in 1 gefunden und die unterschiedlichen Teile sind in 4 nur durch die Symbole der entsprechenden Teile gekennzeichnet. Der integrierte Schaltungsteil IC1, der sogenannte erste Schaltungsteil, umfasst den Dateneingang In, den Datenausgang Out, den Ausgangspuffer OUTFIFO, den Eingangspuffer INFIFO und auch eine Multiplexeinheit MUX1 und zwei Demultiplexeinheiten DMUX1, DMUX2. Der erste Schaltungsteil IC1 bildet einen Teil einer größeren integrierten Schaltung IC. Die größere integrierte Schaltung IC umfasst entsprechend der Ausführungsform vier zusätzliche Schaltungsteile. Die vier Schaltungsteile werden als zweiter Schaltungsteil IC2, als dritter Schaltungsteil IC3, als vierter Schaltungsteil IC4 und als fünfter Schaltungsteil IC5 bezeichnet. Entsprechend sind die fünf Schaltungsteile in derselben integrierten Schaltung IC, d. h. auf derselben Siliziumoberfläche. Die fünf Schaltungsteile sind entsprechend der Ausführungsform identisch, aber nur der erste Schaltungsteil ist in 4 detailliert gezeigt, während die anderen Teile nur symbolisch dargestellt sind. Die zweite Demultiplexeinheit DMUX2 war in dem ersten Ausführungsbeispiel mit einem Eingang des Speicherpuffers MEMFIFO1 verbunden. In diesem zweiten Ausführungsbeispiel teilen sich die fünf Schaltungsteile IC1, IC2, IC3, IC4 und IC5 denselben Speicherpuffer MEMFIFO. Die zweite Demultiplexeinheit DMUX2 des ersten Schaltungsteils IC1 ist in dem zweiten Ausführungsbeispiel mit einem ersten Eingang einer Multiplexeinheit MUX der integrierten Schaltung IC verbunden. Der Ausgang der Multiplexeinheit MUX ist mit einem Eingang des Speicherpuffers MEMFIFO verbunden. Der Ausgang des Speicherpuffers MEMFIFO ist mit einem Eingang der Demultiplexeinheit DMUX verbunden. Ein erster Ausgang der Demultiplexeinheit DMUX ist mit einem der Eingänge der Multiplexeinheit MUX1 des ersten Schaltungsteils IC1 verbunden. Ein zweiter Eingang der Multiplexeinheit MUX ist mit einer zweiten Multiplexeinheit des zweiten Schaltungsteils IC2 verbunden. In 4 ist die zweite Multiplexeinheit des zweiten Schaltungsteils IC2 nicht gezeigt. Nur eine Verbindung von dem zweiten Schaltungsteil zu der Multiplexeinheit MUX ist gezeigt. Die verbleibenden Schaltungsteile IC3, IC4 und IC5 sind ebenfalls mit der Multiplexeinheit MUX in derselben Weise verbunden, aber nur die Verbindung selbst ist in 4 dargestellt. Ein zweiter Ausgang der Demultiplexeinheit DMUX ist mit einer Multiplexeinheit des zweiten Schaltungsteils IC2 verbunden. Die verbleibenden Ausgänge der Demultiplexeinheit DMUX sind in derselben Weise mit den anderen Schaltungsteilen IC3, IC4 und IC5 in der integrierten Schaltung IC verbunden. Der Speicherpuffer ist aufgeteilt in die gleiche Anzahl von Teilen MEM1, MEM2, MEM3, MEM4 und MEM5, wie es Schaltungsteile IC1, IC2, IC3, IC4 und IC5 in der integrierten Schaltung IC gibt und jeder Schaltungsteil verwendet seinen Teil des Speicherpuffers MEMFIFO. Eine Puffereinrichtung wird aus einem Schaltungsteil IC1 gemeinsam mit dem zugeordneten Speicherpufferteil MEM1 gebildet. Auch ist in 4 eine Prüflogik CL gezeigt, die im Großen und Ganzen dieselben Merkmale und Funktionen wie die Prüflogik CL1 hat, die vorstehend in Verbindung mit dem ersten Ausführungsbeispiel beschrieben worden ist. Die Prüflogik CL handhabt das Schreiben eines Datenelementes zu einer Puffereinrichtung, den Transport des Datenelementes durch die Puffereinrichtung und auch das Lesen des Datenelementes von der Puffereinrichtung. Der Unterschied zu dem ersten Ausführungsbeispiel ist, dass in diesem zweiten Ausführungsbeispiel die Prüflogik CL alle Puffereinrichtungen handhabt, d. h., entsprechend dem Ausführungsbeispiel werden alle fünf Puffereinrichtungen IC1 + MEM1, IC2 + MEM2, IC3 + MEM3, IC4 + MEM4 und IC5 + MEM5 gehandhabt. Einige der Verbindungspunkte zwischen der Prüflogik CL1 und den Teilen, die von der Prüflogik CL1 geprüft werden, sind in 4 mit Kontaktsymbolen gekennzeichnet.
  • Gemäß dem Ausführungsbeispiel ist das Schreiben in und auch das Lesen aus einer der fünf Puffereinrichtungen unabhängig von den verbleibenden vier Puffereinrichtungen. Das Schreiben in eine Puffereinrichtung findet sporadisch statt, wenn Daten angekommen sind und nicht beeinflusst von den anderen Puffern im Puffersystem. Das gleiche gilt für das Lesen aus den Puffereinrichtungen. Wie bereits beschrieben, wechselt eine Puffereinrichtung von einer zweiten Betriebsbedingung zu einer dritten Betriebsbedingung, wenn der Betrag der Datenelemente im Eingangspuffer einen vorbestimmten Wert überschritten hat. Beim Wechseln in die dritte Betriebsbedingung entsprechend dem ersten Ausführungsbeispiel war der Speicherpuffer MEMFIFO1 zwischen dem Eingangspuffer INFIFO und dem Ausgangspuffer OUTFIFO verbunden. In diesem Ausführungsbeispiel verbindet die Prüflogik nur den Teil des Speicherpuffers MEMFIFO, der zu der Schaltung gehört. Die Verbindung findet über die Multiplexeinheit MUX und die Demultiplexeinheit DMUX statt. Ein Verbinden des ersten Schaltungsteils IC1 mit dem ersten Teil MEM1 in dem Speicherpuffer MEMFIFO wird beim Wechseln in die dritte Betriebsbedingung ausgeführt, d. h., wenn der Eingangspuffer nach einem Lesevorgang vier Elemente enthält. Ein Transport zwischen dem Eingangspuffer INFIFO und dem Speicherpuffer MEMFIFO wird in Datenblockform ausgeführt. Wenn der Transport abgeschlossen ist, verbleibt die Multiplexeinheit MUX in ihrer Betriebsbedingung, bis ein anderes Datenelement in einen anderen Eingangspuffer in einer anderen der Puffereinrichtungen geschrieben werden muss, deren Eingangspuffer bereits eine vorbestimmte Anzahl von Datenelementen umfasst. Dieselbe Prozedur findet beim Lesen von dem Speicherpuffer MEMFIFO über die Demultiplexeinheit DMUX zu einem der Schaltungsteile statt. Demnach findet der Transport von Datenelementen zwischen einem Teil MEM1 des Speicherpuffers und einem Schaltungsteil IC1 in Datenblockform statt. Da vier Datenelemente nacheinander von dem Eingangspuffer zu dem Speicherpuffer und von dem Speicherpuffer zu dem Ausgangspuffer transportiert werden, kann der Speicherplatz in dem Puffer schnell verfügbar gemacht werden, verglichen mit dem Fall, wenn nur ein Element auf einmal transportiert wird. Dies bedeutet, dass das Risiko von Konfliktsituationen beim Schreiben und Lesen von Datenelementen zu oder von dem Speicherpuffer minimiert ist. Das Risiko von Konfliktsituationen kann auch minimiert werden durch Erhöhen der Größe des Eingangspuffers und/oder des Ausgangspuffers. Die Erfindung ist nicht auf die vorstehend beschriebenen Ausgestaltungen beschränkt. Beispielsweise kann die Größe der unterschiedlichen Puffer variieren. Auch die Größe des Eingangspuffers und des Ausgangspuffers braucht nicht gleich zu sein. Die unterschiedliche Zahl von Elementen, die in den unterschiedlichen Pufferteilen benötigt werden, um einen Wechsel von einer Betriebsbedingung in eine andere stattfinden zu lassen, kann auch variieren. Beispielsweise braucht ein Ausgangspuffer nicht voll zu sein, um einen Wechsel in die nächste Betriebsbedingung stattfinden zu lassen. Die Implementierung eines Puffers braucht nicht bis ins Detail aufgebaut zu sein, wie es vorstehend beschrieben worden ist, sondern signifikant ist lediglich, dass der Eingangspuffer und der Ausgangspuffer auf der Schaltung angeordnet sind und schnell sind, während der Speicherpuffer extern ist und eine größere Speicherkapazität hat. Das Schreiben in einen Speicherpuffer kann stattfinden, ohne dass es in Datenblockform geschehen muss, wie es in den beiden Ausführungsbeispielen der Fall war. Eine andere Möglichkeit ist, dass das Schreiben des Speicherpuffers in Datenblockform stattfinden kann, während nur einzelne Elemente aus den Speicherpuffer pro Lesezyklus gelesen werden können oder vice versa. Der Betrag der Elemente, die in einem Datenblock übertragen werden, kann variieren und der Betrag der Elemente, die in den Speicherpuffer in einem Datenblock eingeschrieben werden, kann auch von dem Betrag der Elemente abweichen, der aus dem Speicherpuffer in einem anderen Datenblock ausgelesen wird. Auch ist es vorstellbar, dass der in dem zweiten Ausführungsbeispiel gezeigte Speicherpuffer gleichzeitig von unterschiedlichen Puffereinrichtungen sowie anderen Einheiten des Systems benutzt wird.
  • Entsprechend ist die Erfindung nicht beschränkt auf die oben beschriebenen und in den Zeichnungen gezeigten Ausgestaltungen, sondern kann innerhalb des Schutzbereiches der beiliegenden Patentansprüche modifiziert werden.

Claims (9)

  1. Puffereinrichtung (1) vom FIFO-Typ, die einen Dateneingang (In), einen Datenausgang (Out) und einen Speicherpuffer (MEMFIFO1; MEMFIFO2) umfasst, dadurch gekennzeichnet, dass die Puffereinrichtung einen integrierten Schaltungsteil (IC1) umfasst, der einen Eingangspuffer (INFIFO) und einen Ausgangspuffer (OUTFIFO) umfasst und auch eine Anordnung (MUX1, DMUX1, DMUX2) zum Kombinieren des Dateneingangs (In) mit dem Datenausgang (Out) über entweder einen der Puffer der integrierten Schaltung oder über mindestens zwei der Puffer (INFIFO, MEMFIFO1, OUTFIFO; MEMFIFO), die in Serie geschaltet sind, dass der Ausgangspuffer (OUTFIFO) einen Ausgang umfasst, der mit dem Datenausgang (Out) verbunden ist, und dass die Anordnung (MUX1, DEMUX1, DEMUX2) die Einrichtung einstellen kann in eine der folgenden Betriebsbedingungen: eine erste Bedingung, in der der Dateneingang (In) mit einem Eingang des Ausgangspuffers (OUTFIFO) verbunden ist; eine zweite Bedingung, in der der Dateneingang (In) mit einem Eingang des Eingangspuffers (INFIFO) verbunden ist und ein Ausgang des Eingangspuffers (INFIFO) mit dem Eingang des Ausgangspuffers (OUTFIFO) verbunden ist; eine dritte Bedingung, in der der Dateneingang (In) mit dem Eingang des Eingangspuffers (INFIFO) verbunden ist und der Ausgang des Eingangspuffers (INFIFO) mit einem Eingang des Speicherpuffers (MEMFIFO1; MEMFIFO) verbunden ist und ein Ausgang des Speicherpuffers mit dem Eingang des Ausgangspuffers (OUTFIFO) verbunden ist.
  2. Puffereinrichtung nach Anspruch 1, wobei die Einrichtung Mittel umfasst, um in Form eines Datenblocks eine Vielzahl von Datenelementen von dem Eingangspuffer (OUTFIFO) zu dem Speicherpuffer (MEMFIFO; MEMFIFO) zu transportieren.
  3. Puffereinrichtung nach Anspruch 1 oder 2, die Mittel umfasst, um in Form eines Datenblocks eine Vielzahl von Datenelementen von dem Speicherpuffer (MEMFIFO1; MEMFIFO) zu dem Ausgangspuffer (OUTFIFO) zu transportieren.
  4. Verfahren zum Leiten von Datenelementen durch eine Puffereinrichtung (1) vom FIFO-Typ, zwischen einem Dateneingang (In) und einem Datenausgang (Out), wobei die Puffereinrichtung einen Speicherpuffer (MEMFIFO1; MEMFIFO) umfasst und einen integrierten Schaltungsteil (IC1), der einen Eingangspuffer (INFIFO) und einen Ausgangspuffer (OUTFIFO) umfasst, wobei das Verfahren die folgenden Schritte umfasst: – Kombinieren des Dateneingangs (In) mit dem Datenausgang (Out) über einen der Puffer der integrierten Schaltung gemäß einer ersten Betriebsbedingung; – Kombinieren des Dateneingangs (In) mit dem Datenausgang (Out) über mindestens zwei in Serie geschaltete Puffer (INFIFO, MEMFIFO1, OUTFIFO; MEMFIFO) gemäß einer zweiten oder dritten Betriebsbedingung, wobei das Verfahren die folgenden zusätzlichen Schritte umfasst: – Wechseln in die zweite Betriebsbedingung, wenn die Einrichtung sich in der ersten Betriebsbedingung befindet und wenn die Anzahl der Elemente in dem Ausgangspuffer (OUTFIFO) eine vorbestimmte Zahl überschreitet; – Wechseln in die dritte Betriebsbedingung, wenn die Einrichtung sich in der zweiten Betriebsbedingung befindet und wenn die Anzahl der Elemente in dem Eingangspuffer (INFIFO) eine vorbestimmte Zahl überschreitet; – Wechseln in die zweite Betriebsbedingung, wenn die Einrichtung sich in der dritten Betriebsbedingung befindet und wenn die Anzahl der Elemente in dem Speicherpuffer (MEMFIFO1; MEMFIFO) unterhalb einer vorbestimmten Zahl ist; – Wechseln in die erste Betriebsbedingung, wenn die Einrichtung sich in der zweiten Betriebsbedingung befindet und wenn die Anzahl der Elemente in dem Eingangspuffer (INFIFO) unterhalb einer vorbestimmten Zahl ist.
  5. Verfahren nach Anspruch 4, das den folgenden zusätzlichen Schritt umfasst: – Transportieren einer Vielzahl von Datenelementen in Form eines Datenblocks von dem Eingangspuffer (INFIFO) zu dem Speicherpuffer (MEMFIFO1; MEMFIFO).
  6. Verfahren nach Anspruch 4 oder 5, das den folgenden zusätzlichen Schritt umfasst: – Transportieren einer Vielzahl von Datenelementen in Form eines Datenblocks von dem Speicherpuffer MEMFIFO1; MEMFIFO) zu dem Ausgangspuffer (OUTFIFO).
  7. Puffersystem, das mindestens zwei Puffereinrichtungen nach Anspruch 1 umfasst, dadurch gekennzeichnet, dass unterschiedliche externe Speicherpuffer (MEM1, MEM2, MEM3, MEM4, MEM5) in jeder Puffereinrichtung aus derselben physikalischen Speichereinheit (MEMFIFO) bestehen und dass das System Mittel (CL, DMUX, MUX) zum unabhägig Verteilen von Schreibberechtigungen und Leseberechtigungen zu und von der Speichereinheit (MEMFIFO) an jede Puffereinrichtung umfasst.
  8. System nach Anspruch 7, Mittel enthaltend, um in Form eines Datenblocks eine Vielzahl von Datenelementen von einem Eingangspuffer in einer Puffereinrichtung zu dem Speicherpuffer (MEMFIFO) zu transportieren.
  9. System nach Anspruch 7 oder 8, das Mittel umfasst, um in Form eines Datenblocks eine Vielzahl von Datenelementen von dem Speicherpuffer (MEMFIFO) zu einem Ausgangspuffer in einer Puffereinrichtung zu transportieren.
DE10084462T 1999-04-12 2000-03-31 Geteilter Puffer Expired - Fee Related DE10084462B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9901290A SE515897C2 (sv) 1999-04-12 1999-04-12 Anordning och förfarande för en avdelad buffert
SE9901290-8 1999-04-12
PCT/SE2000/000631 WO2000062153A1 (en) 1999-04-12 2000-03-31 Divided buffer

Publications (2)

Publication Number Publication Date
DE10084462T1 DE10084462T1 (de) 2002-03-21
DE10084462B4 true DE10084462B4 (de) 2009-08-13

Family

ID=20415177

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10084462T Expired - Fee Related DE10084462B4 (de) 1999-04-12 2000-03-31 Geteilter Puffer

Country Status (5)

Country Link
US (1) US6625672B1 (de)
AU (1) AU4322300A (de)
DE (1) DE10084462B4 (de)
SE (1) SE515897C2 (de)
WO (1) WO2000062153A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136991B2 (en) * 2001-11-20 2006-11-14 Henry G Glenn Microprocessor including random number generator supporting operating system-independent multitasking operation
US20060064448A1 (en) * 2001-11-20 2006-03-23 Ip-First, Llc. Continuous multi-buffering random number generator
US7219112B2 (en) 2001-11-20 2007-05-15 Ip-First, Llc Microprocessor with instruction translator for translating an instruction for storing random data bytes
US7512721B1 (en) 2004-05-25 2009-03-31 Qlogic, Corporation Method and apparatus for efficient determination of status from DMA lists
US7895390B1 (en) * 2004-05-25 2011-02-22 Qlogic, Corporation Ensuring buffer availability

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526508A (en) * 1994-01-18 1996-06-11 Samsung Electronics Co., Ltd. Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
EP0886454A2 (de) * 1997-06-20 1998-12-23 Digital Equipment Corporation Verfahren und Vorrichtung zum Erweitern eines on-chip FIFOs in einem lokalen Speicher

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233603A (en) * 1988-04-21 1993-08-03 Nec Corporation Packet switch suitable for integrated circuit implementation
JPH03212776A (ja) * 1990-01-18 1991-09-18 Nec Corp ワンチップcpu
US5490113A (en) * 1994-06-15 1996-02-06 Digital Equipment Corporation Memory stream buffer
US5852826A (en) * 1996-01-26 1998-12-22 Sequent Computer Systems, Inc. Parallel merge sort method and apparatus
IL116984A (en) * 1996-01-31 2000-07-26 Galileo Technology Ltd Multiple FIFO array and method of construction thereof
US6290406B1 (en) * 1996-09-20 2001-09-18 Varis Corporation System and method for interfacing a raster printer controller with a plurality of print engines
US5959466A (en) * 1997-01-31 1999-09-28 Actel Corporation Field programmable gate array with mask programmed input and output buffers
KR100327330B1 (ko) * 1998-12-17 2002-05-09 윤종용 램버스디램반도체장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526508A (en) * 1994-01-18 1996-06-11 Samsung Electronics Co., Ltd. Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
EP0886454A2 (de) * 1997-06-20 1998-12-23 Digital Equipment Corporation Verfahren und Vorrichtung zum Erweitern eines on-chip FIFOs in einem lokalen Speicher

Also Published As

Publication number Publication date
SE9901290L (sv) 2000-10-13
US6625672B1 (en) 2003-09-23
SE515897C2 (sv) 2001-10-22
SE9901290D0 (sv) 1999-04-12
WO2000062153A1 (en) 2000-10-19
DE10084462T1 (de) 2002-03-21
AU4322300A (en) 2000-11-14

Similar Documents

Publication Publication Date Title
DE3300261C2 (de)
DE69733931T2 (de) Kreuzvermittlungsschalter und verfahren mit beschränktem spannungshub und blockierungsfreien vermittlungswegen
DE3300260C2 (de)
DE69825355T2 (de) ATM Zellenzuweisungsverfahren
DE69534758T2 (de) Verfahren und System für Mehrfachübertragung
DE3300262C2 (de)
DE19835216B4 (de) Prozessor und Verfahren zur parallelen Datenverarbeitung
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
EP0046499A1 (de) Schieberegister für Prüf- und Test-Zwecke
DE3243830A1 (de) Multiprozessor-unterbrechungsanordnung
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
EP0651536A2 (de) Verfahren zur Wiederherstellung einer vorgegebenen Reihenfolge für ATM-Zellen
DE2912073C2 (de)
DE10084462B4 (de) Geteilter Puffer
DE3048414A1 (de) "schaltungsanordnung fuer eine datenverarbeitungsanlage"
DE102005047992B4 (de) Systeme und Verfahren zum Ausgleichen einer Kreuzschienen-Bandbreite
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
EP0555456A1 (de) Verfahren zur datenübertragung und datenverarbeitungsanlage mit verteilten rechnerknoten.
DE69432890T2 (de) Taktverteilungssystem für synchrone Schaltungsanordnungen
DE19901792C2 (de) Datenverarbeitunsvorrichtung und Datenverarbeitungsverfahren
DE19581540C2 (de) Hochgeschwindigkeits- Testmusterübertragungsvorrichtung für eine Halbleitertestvorrichtung
DE112013004360B4 (de) Eingabe/Ausgabe-Ansprechsteuerungseinstellungseinrichtung
DE19742673C2 (de) Ein-Ausgabepufferspeicherschaltung, durch die die für Ein- und Ausgabepufferoperationen erforderlichen Datentransferoperationen minimiert werden können
DE2237576C3 (de) Verfahren und Anordnung zur Übertragung von Informationen zwischen peripheren Geraten und dem Arbeitsspeicher einer Zentraleinheit über einen Blockmultiplexkanal
EP1116107B1 (de) Verfahren zur ausführung einzelner algorithmen mittels einer rekonfigurierbaren schaltung und vorrichtung zur durchführung eines solchen verfahrens

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee