DE2853239A1 - Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang - Google Patents

Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang

Info

Publication number
DE2853239A1
DE2853239A1 DE19782853239 DE2853239A DE2853239A1 DE 2853239 A1 DE2853239 A1 DE 2853239A1 DE 19782853239 DE19782853239 DE 19782853239 DE 2853239 A DE2853239 A DE 2853239A DE 2853239 A1 DE2853239 A1 DE 2853239A1
Authority
DE
Germany
Prior art keywords
buffer memory
register
data
signal
output
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.)
Granted
Application number
DE19782853239
Other languages
English (en)
Other versions
DE2853239C2 (de
Inventor
Pierre Gerardus Jansen
Jozef Laurentius Wilhe Kessels
Benny Louisa Angelina Waumans
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2853239A1 publication Critical patent/DE2853239A1/de
Application granted granted Critical
Publication of DE2853239C2 publication Critical patent/DE2853239C2/de
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Image Input (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Communication Control (AREA)
  • Logic Circuits (AREA)

Description

■ h-
3.10.1978 1 pun
Datenpufferspeiclier vom Typ "first-in, first-out" mit variablem Eingang und festem Ausgang
Die Erfindung betrifft einen Datenpufferspeicher vom Typ "first-in, first-out" mit logischen Schaltungen, die eanzuscliroibende Daten abhängig vom Füllzustand des Pafferspeichers im -wesentlichen möglichst nahe dem Ausgang für zu lesende Daten einschreiben, so dass die Daten einen im Y.'esGntlichen ge schloss·, en en Inhalt des Pufferspeichers bilden, weiter mit einer Eingangssammelleitung, über die Daten zu einem Eingang eines ausgewählten Registers gelangen, und mit einem mit dem letzten Register des Pufferspeichers verbundenen Ausgang, an dem zu lesende Da.ten erseheinen, Datenpufferspeicher vom erwähnten Typ "first-in, first-out", sind in vielen Ausführungsformen bekannt und dienen u.a. als Pufferspeicheranordnung in digitalen Datenvci'arbeitungs- und Kommunikationssystemen an Stellen5 an denen Unterschiede zwischen dem Datenangebot und Datenentnahme auftreten.
Bei steigendem Bedarf an Schilltungen und Systemen, die sich für eine Ausführung in Halbleiter integrierter Techniken eignen, hat sich deis Interesse, erwähnte Pufferspeicher so aufzubauen, dass die einzelnen Abschnitte untereinander gleJch aufgebaut sind, stark vergrössert. Ausserdeni .1Kt damit im allgemeinen die Möglichkeit der Zusammenschaltung mehrerer Pufferspeicher ohne weitere Komplikationen grosser geworden. Ein derartiger Pufferspeicher, der aussondern nicht den Nachteil langer Durchgangszeit hat, ist
909824/0877
BAD ORIGINAL
3.10.78
aus der US-PS 3 6k6 yz6 bekannt. In dieser Paten (,schrift ist ein Pufferspcicher der eingangs erwähnten Art mit variablem Eingang und festem Ausgang beschrieben, wobei ein Markierung^- bit angibt, an welcher Stelle aus einer EingangsSammelleitung Daten dem Pufferspeicher, der damit einen variablen Eingang hat, zugeführt werden müssen. Diese Stelle ist ein leerer Abschnitt, der am nächsten zum Ausgang des Pufferspeichers an einer Reihe gefüllter Abschnitte zwischen dieser Eingangsstelle und dem Ausgang des Pufferspeichers anschliesst.
Dieser Pufferspeicher ist jedoch auf besondere Weise aufgebaut, wobei nur ein Markierungsbit als Steuerbit für den Datenteil des Pufferspeichers einen Datenweg von 1 Bit gewährt. Dabei tritt der Fall ein, dass bestimmte Teile dieser Pufferspeicheranordnung sowohl für die Übertragung des Markierungsbits als auch für die Datenbits dienen. Die Möglichkeit von Fehlern in diesem Pufferspeicher müssen dabei- berücksichtigt werden: wenn 1 Bit mit Unrecht als Markierungsbit bezeichnet wird, wird die Steuerung des Datenflusses in Unordnung gebracht. Die Möglichkeit von Instabilität des Pufferspeichers ist dabei durchaus vorhanden, weil bleibende Ungewissheit hinsichtlich der entsprechenden Eingangsstelle von der Eingangssammelleitung zum Pufferspeicher entstehen kann.
Der Erfindung liegt die Aufgabe zugrunde, einen Pufferspeicher vom erwähnten Typ mit vaa^iablein Eingang und festem Ausgang zu schaffen, bei dem der Aiifbau einfach und abschnittweise gleich ist und ausserdem die Durchgangszeit der Daten möglichst kurz und der Charakter selbststabilisierend ist. Diese Aufgabe wird erfindungsgeinäss dadurch gelöst, dass die logischen Schaltungen im wesentlichen je Pufferspeicherabschnitt und dabei, abgesehen von den Verbindungen, wenigstens funktionell getrennt von den Pufferspeicherabsclinitten selbst vorgesehen sind und bei η Registern (θ, ... n-1) folgende Signale erzeugen:
a) app(i) - creq. "."V"· sTjT. s(±+1 ) , das nach einer Anfrage
J=O
"creq" von ausserhalb des Pufferspeichers das Register (i) im Pufferspeicher angibt, das Daten aus der Eingangssammelleitung aufnimmt, wobei das Signal -""T^ s (TT · ü (i +1 ) bestimmt,
909824/087?
BAD ORIGINAL
3. 10.78 ^T ΙΉΝ 8Q8't
an welcher Stelle das leere Register (i) einer Reilie leerer Register (θ ... i) an ein folgendes gefülltes Register (i+i) anschliesst;
b) sh(i) = s(i~i).s(i), das bei Erfüllung dieser Bedingung
das Schiebesignal zum Schieben der Daten im Pufferspeicher in Richtung auf den Ausgang is L, wobei s(i-i).~ 1 den Zustand "voll" eines vorangehenden und s(i) = 1 den Zustand "leer" des betreffenden Registers (i) angibt;
c) s(i): = 1, das das Zustandssignal zum Füllen eines Re-
gisters (i) als Ergebnis eines Signals app(i) oder sh(i) darstellt und wobei für O ·£: i<'n-1 das Signal s(i): = wird, wenn beim Signal sh(i-i-i) der Inhalt des Registers (i) weitergeschoben und weiterhin für das Register (n-i) das Zustandssignal s(n-i): = O wird, wenn dazu von ausserhalb des Pufferspeichers nach dem Lesen des Registex^s (n-i) ein Rückmeldesignal (ers) gegeben wird.
■Wesentlich dabei ist, dass keine Mischung zwischen dem von den logischen Schaltungen gebildeten Steuerteil und dem Datenübertragungsteil auftritt. Dabei ist die Breite des Datenwegs des Datenteils frei wählbar. Es gibt keine Datenwegbt^eitenbeschränkung. ¥eil diis Register (i) , in dem Daten aus der Eingangssamrnelieitung übernommen werden, durch das vom Eingang aus gerechnete erste leere Register eindeutig bestimmt ist, das von einem vollen Register gefolgt wird (also vom Register, das dem ersten vollen Register vorangeht) kann niemals Zweifel über die Eingangsstelle für die Daten von der Eingangssammelleitung zu einem Register des Pufferspeichers entstehen. Instabilität ist dadurch ausgeschlossen. Ausserdem ist damit eine möglichst kurze Durchgangszeit durch den PufferspeicLer gewährleistet. Durch die Verwendung der erwähnten Zustände pro Abschnitt, die vorzugsweise in bistabilen Elementen als Teil der logischen Schaltungen aktualisiert werden, ist eine einfache und für Integrationszwecke geeignete Anordnung erreicht worden. Durch die Modularität des Aufbaus ist es möglich, mindestens pro Dal enpuf f ersf)eicherabschni 11 das betreffende Register und die zugeordnete logische Schaltung als eine in einen Halbleiter integrierte Schaltung auszuführen. Weiter 1st es
909824/0877
BAD ORIGINAL
3.10.78 rf PHN 898k
möglich., dass der Pufferspeicher aus mindestens einer Gruppe von Registern und mindestens einer Gruppe logischer Schaltungen pro Pufferspeicherabschnitt besteht und die Gruppen in Halbleitern integrierte Schaltungen sind. Die erwähnte Modularität beinhaltet weiter, dass mehrere Pufferspeicher problemlos hintereinander geschaltet werden können, um die gewünschten Pufferlängen zu erhalten.
Weitere Einzelheiten und Merkmale des Pufferspeichers werden nachstehend bei der Beschreibung eines Beispiels erwähnt.
Ausfuhrungsbeispiele der Erfindung werden nachstehend an Hand der Zeichnung näher erläutert. Dabei geben die Figuren ein Beispiel einer bevorzugten Ausführungsform an, auf die sich die Erfindung jedoch nicht beschränkt. Es zeigen: Fig. 1 eine Prinzipschaltung eines "first-in, first-out" Pufferspeichers mit variablem Eingang und -festem Ausgang,
Fig. 2 eine Blockschaltung eines Beispiels eines erfindungsgemässen Pufferspeichers,
Fig. 3 und k Beispiele von Untergliederungsmöglichkeilen des Pufferspeichers im Hinblick auf die Ausführung als in Halbleitern integrierte Schaltungen,
Fig. 5 ein Beispiel der logischen Schaltung eines Abschnitts (i) des Pufferspeichers,
Fig. 6 ein Beispiel der logischen Schaltung eines Abschnitts (θ) des Pufferspeichers,
Fig. 7 ein Beispiel der logischen Schaltung eines Abschnitts (n-i) des Pufferspeichers.
In Fig. 1 ist ein vereinfachtes Schaltbild eines "first-in, first-out" Pufferspeichers mit variablem Eingang und festem Ausgang angegeben. Der Pufferspeicher ist mit FIFO bezeichnet. INB bildet die Eingangssamrnelleitung, über die dein Pufferspeicher und insbesondere einem Eingang eines ausgewählten Registers eines Abschnitts Τ(θ)... Τ(η-2), T(n-1) Daten zugeführt werden. Dies bildet den variablen Eingang, was auch noch in Fig. 1 mit einer strichpunktierten Pfeil spi t Ken.! in ie angegeben ist. Der feste Ausgang OUT liegt- am Ausgang des Registers des letzten Abschnitts T(ji-1) des Pufferspeichers.
909824/0877
BAD ORIGINAL
3.10.78 y PHN 8984
PHN 898'·!
In Fig. 2 ist die Blocksclialtung eines Beispiels eines erfindungsgemässen Pufferspeichers dargestellt. Er besteht aus einem Registerteil mit Registern REG(o)...REG(i-1), REG(i)... REG(n-l). Diese Register dienen zur Speicherung der zugeführten Daten. Jedes Register REG(i) kann aus einer oder mehreren Stufen 1, 2, ... k bestehen. Hiermit ist die Möglichkeit gegeben, dass die Datenwegbreite wahlfrei ist: 1 Bit Datenweg erfordert pro REG(i) eine Stufe (i) usw. Die Eingangssammelleitung INB ist in Fig. 2 über den Registern dargestellt. Jedes Register REG(i) ist mit seinen Eingängen (jeder Stufe 1, 2, ... k) mit der Sammeileitung INB verbunden. Dazu sind UND-Gatter benutzt; 101, 102, ... 10k für die entsprechenden Registerstufen 1, 2 ... k des Registers REG(o) . . ..Ii 1 , Ii2...Hk für die entsprechenden Regisrerstufen 1, 2, ... k des Registers REG(i) usw. Die Wahl, welches der Register REG(i) mit der Sammelleitung INB verbunden wird, wird durch die logischen Schaltungen LM(o)...LM(I-1), LM(i) ... LM(n-i) getroffen, die pro PufferspeicJierabschnitt vorhanden sind. Ein Signal app(o) ...» '. app(i) . . . oder app(n-1 ) wird in den logischen Schaltungen erzeugt und den UND-Gattern .101, .. .XOk. ... oder Ii 1, ... Iik, ... oder l(n~1,i), ... l(ri-1ik) zugeführt. Damit erfolgt die Auswahl des einen Registers REG(i), dem von der Sammelleitung INB die Daten des Pufferspeichers zugeführt werden. Das Register R£G(n-i) des letzten Pufferspeicherabschnitts bildet den Ausgang OUT des Pufferspeichers. Der Inhalt von REG(n-i) steht durchlaufend am Ausgang OUT zur Verfügung. Das im Pufferspeicher erzeugte Signal SFI gibt an, ob am Ausgang OUT gültige Daten vorhanden sind. Wenn diese Daten von der Aussenwelt (Benutzer) aufgenommen worden sind, muss ein von ausserhalb des Pufferspeichers ankommendes Rückmeldesignal "ers" das Register REG(n-i) für das Aufnehmen der folgenden Daten freimachen.
Zum Schieben der Daten im Pufferspeicher von einem
" Abschnitt zum anderen gibt es zwischen den Stufen der unterschiedlichen Register Verbindungen, die über UND-Gatter (U01, U02, ... UOk) bzw. Ui1, Ui2 ... Uik usw. zwischen einem Ausgang einer vorangehenden Registerstufe und einem
909824/0877
BAD ORIGINAL
3. 10.78 6 PHN 898h
Eingang einer folgenden Registerstufe liegen. Gatter U01 . . UOk sind gestrichelt dai*gestellt, weil diese am ersten Abschnitt liegenden Gatter nicht benutzt werden. Im gezeigten Beispiel der Fig. 2 sind die Eingänge pro Sttife jedes Registers sowohl für den Eingang der Sammelleitung INB als auch für den Eingang für Daten gemeinsam deirgestellt, die aus einer vorangehenden Registerstufe weitergeschoben werden. Dieses Weiter schieben erfolgt auf:? die Steuerung der Schiebesignale sh(i), die in den logischen Schaltungen LM(i) erzeugt werden. Das Ganze wird schliesslich bei einem auf die Bedingung des Auftretens von app(i) oder sh(i) freigegebenen Taktsignal (nicht dargestellt) gesteuert.
Weiter besteht der Pufferspeicher aus einem Steuerteil mit den bereits erwähnten logischen Schaltungen LM(i) pro Pufferspeicherabschnitt. Die Signale, die in diesen logischen Schaltungen erzeugt werden, sind ausser den bereits erwäJtinten app(i) und sli(i) die folgenden Signale: die Zustandssignale s(i), die einen Hinweis für den Zustand voll "1" oder leer "0" eines Registers REG(i) bilden, bzw. eine kombinatorische Form λ s(j), d.h. auf der Basis der Booleschen UND-Funktion aller Register REG(o) bis REG(i) hat das Zustandssignal s(j) einen Vert gleich Null (d.h. s(j) =1). Es ist die Definition der Bedingung, dass alle dem REG(i+i) vorangehenden Register REG(o)...REG(i) leer sind. Die Bezeichnung "leer" bedeutet, dass keine gültigen Daten vorhanden sind. Weitere Einzelheiten über die logischen Schaltungen und die dazugehörigen Signale werden an Hand der Fig. 5» 6 und 7 erläutert. Dies gilt auch hinsichtlich der in diesem Beispiel angegebenen Signale "cack", das ein Betätigungssignal ist, das der Pufferspeicher nach aussen liefert, um anzugeben, dass zugeführte Informationen in ein Register REG(i) übernommen worden sind, das Signal "creq", das eine Anfrage von ausserhalb des Pufferspeichers zum Aufnehmen von Informationen in den Pufferspeicher ist, und das Signal"SFI", das angibt, dass mindestens in einem der Register des PufferSpeichers und insbesondere für diesen Pufferspeichertyp im letzten Register REG(n~i) Informationen vorhanden sind.
909824/0877
3.,0.78. /
. nO-
In Fig. 3 und 4 sind einige Möglichkeiten für die Untergliederung des Pufferspeichers in Hinblick auf die Ausführung als in Halbleitern integrierte Schaltungen dargestellt. Die Modularität des Pufferspeichers nach Fig. 2 ermöglicht viele Lösungen. In Fig. 3 ist mit VIO ... VIi bezeichnet, dass mindestens pro Pufferspeicherabschnitt Integration möglich ist: ein Register REG(o) ist; zusammen mit der logischen Schaltung LM(o) in einer integrierten Schaltung zusammengefasst. Die Verbindung zwischen allen diesen Abschnitten VIi wird im Registerteil durch die Eingangssamnielleitung INB und die in der Zeichnung in der Sammelleitung INB gedachten Verbindungen zwischen den Stufen der aufeinanderfolgenden Pufferspeicherabschnitten im Zusammenhang mit dem Schieben von Informationen von einem vorangehenden nach einem folgenden Abschnitt gebildet.
Die Verbindungen zwischen den logischen Schaltiuigen und den weiteren Ein- und Ausgangssignalen sind in Fig. 3 in einem Signalleitungsbündel CB angegeben.
Auf entsprechende Weise ist in Fig. h angegeben, dass Integration in integrierten Schaltungen pro Gruppe HIR oder Gruppen HIR1...HIRp des Registers REG(o)... REG(n-i) möglich ist bzw. pro Gruppe HILM oder Gruppen HILM1 ... HILMm der logischen Schaltungen LM(o) ... LM(n-i). Selbstverständlich ist die Ausführung kompletter Pufferspeicher in einem Halbleiter1 als eine integrierte Schaltung ebenfalls möglich. Das Aneinanderschalten jeder ausgewählten Ausführung ergibt keine Probleme,·wie nachstehend an Hand der im einzelnen ausgearbeiteten Beispiele der logischen Schaltung pro Pufferspeicherabschnitt erläutert wird.
In Fig. 5 ist ein Ausführungsbeispiel der logischen Schaltung LM(i) eines Pufferabschnittes (i) für die Steuerung des Registers REG-(i) dieses Abschnitts in Einzelheiten dargestellt. Die logische Schaltung enthält in diesem Beispiel einen Flipflop FFi mit einem Setzeingang SI und einem RückStelleingang RI und Ausgängen Q und Q . Weiterhin sind in diesem Beispiel drei logische UND-Gatter E1, E2 und E3 angegeben. Der Aufbau der logischen Schaltung ist einfach gehalten. In anderen Ausführungsformen können, ohne vom
909824/0877
Grundgedanken der Erfindung abz/uweiclien , selbstvex-ständlich auch andere Logikelemente wie NAND-Gatter und dergleichen benutzt werden. Dabei handelt es sich nur darum, dass die logischen Funktionen, die die logische Schaltung ausfühi-en können muss, auch tatsächlich verwirklicht werden.
Die Funktionen, die in der logischen Schaltung LM(i)
verwirklicht werden, sind derart, dass die gewünschten Signale für die Steuerung des Pufferspeichers erzeugt werden. Diese Signale sind:
a) app(i) , das ist das Signal, das das Übertragen' der Daten aus der EingangsSammelleitung über die bereits erwähnten Gatter Ii1 ... IiIc in ein Register REG(i) des Pufferspeiehers versorgt. Dieses Signal app(i) 1st gleich 1 (logischer 1-Wert) unter der Bedingung, dass die Bedingung creq. r-'Zft· s ( j ) . s ( i +1 ) den logischen Wert 1 besitzt. Im UND-Gatter E3 wird bestimmt, ob diese Bedingung erfüllt ist. Dazu -wird jedoch zunächst im Gatter E2 festgestellt, ob der Ausdruck <^7> s(J) = 1 erfüllt ist, d.h. ob die Bedingung, dass das Register REG(i) und alle (dalier das r l -Zeichen als Boolesches UND-Funktions~ zeichen) vorangehenden Register leer sind, erfüllt sind. In E3 wird'mit diesem Hinweis und mit dem Hinweis, ob das folgende Register REG(i-j-i) voll ist, was mit dem Zustandssignal s(i+i) bezeichnet wird, und mit der Anfrage "creq" von ausserhalb des Pufferspeichers die Gültigkeit des erwähnten Ausdrucks creq. -*O^· s( JJ. s (i+1 ) nachgeprüft.
b) sh(i) = s(.i-1 ) . s(i)T Es ist das Schiebesignal zum Schieben innerhalb des Püffers, insbesondere wenn Daten am Ausgang des Pufferspeichers abgenommen sind. Dabei wird stets angestrebt, dass die Daten von dem Ausgang aus gesehen im Pufferspeicher aneinanderschliessend vorhanden sind. Dies wird durch die Überwachung der Bedingung s(i-1).s(i) mit Hilfe des UND-Gatters E1 erreicht. Diese Bedingung ist erfüllt und damit entsteht das Schiebesignal sh(i), wenn das Register REG(i) leer ist (Ziistand s(i) .= i) und wenn dabei das vorangehende Register IiEG(i-1 ) voll ist (Zustand s(i-i) = i').
c) Bei der erwähnten Bildung der erwähnten Signale ist ebenfalls bestimmt, welche die Zvista.ndssignale der Abschnitte
-■«■ 909 824/0 8 77
3.10.78. ,. ""3Γ239
des Pufferspeichers sind. Unter der Bedingung, dass app(i) odex' sli(i) =1 sind, wird das Register REG(i) gefüllt. Dabei wird der Zustand s(i)=1 (logische Schreibart s(l):=1, wobei := für "wird" steht) Das Signal app(i) oder sh(i)
S setzt den Flipflop FFi in den Stand Q=I, der für s(i)=1 steht. Wird jetzt das Register REG(x) entleert, weil sein Inhalt durch das Signal sh(i,+i) über die bereits früher erwähnten Gatter Ui1 ... Uik vom folgenden Register (REG(x+1), das selbst leer ist bezw. entleert worden ist, übernommen wird, so sorgt sh(i + i) dafür, dass der Flipflop FFi'über seinen Rückstelleingang RI wieder in den Stand Q=O, also Q= 1 gebracht wird. Damit ist 's (i) = 0 geworden.
Mit diesen drei in der logischen Schaltung LM(i) erzeugten Signalen app(i), sh(i) und s(i) wird in Zusammenarbeit mit dem Anfragesignal "creq" der ganze Pufferspeicher gesteuert.
Vie aus Fig. 5 ersichtlich ist, hat die logische Schaltung LM(x) eine Anzahl von Eingängen für die Signale s(i-i), (T~\ s( j) (wobei s^*.. für f^~lr\ steht) und das Anfragesignal "creq bzw. die Signale s(i+i) und sh(i+1). Ausgänge von LM(x) sind für die Signale sh(i), s(i) bzw. ws. s( j) und s(i) und auch "creq" vorhanden, das über LM(x) weitergeleitet wird.
Diese Eingänge und Ausgänge sind für alle logischen Schaltungen eirischliesslich LM(o) und LM(n-i) gleich, was bedeutet, dass der Aufbau dieser logischen Schaltungen immer gleich ist. Hiermit ist der miteinander gleiche Aufbau im Pufferspeicher gewährleistet.
Zur Veranschaulichung obiger Beschreibung ist in Fig. ein Detail schaltbild der logischen Schaltung LM(o) darge— stellt, das zusammen mit dem Register REG(o) den ersten Abschnitt des Pufferspeichers bildet. Das Schaltbild ist genau gleich Fig. 5· E 10 führt die gleiche Funki-ion wie E1 in Fig. 5, E20 wie E2 und E30 wie E3 in Fig. 5 aus. Den einzigen Unterschied bildet die Situation der Signale an der in dieser Figur 6 linken Seite von LM(o). Weil es keine weitere vorangehende Abschnitte gibt, ist kein Signal ^- s( j) (auf der punktierten Linie a) bzw. kein Signal s(i-i) (auf der punktierten Linie b) möglich. Um hierbei
909824/0877
.,0.78
dennoch die Steuerung durchführen zu können, ist hier ein Signal mit logischem Wert "1" dem Eingang a (alle '"vorangehenden" leer sf>-. s (j) = 1) und ein Signal mit logischem Wert "0" dem Eingang b (der vorangehende ist leer s(i—i)=0) zugeführt. Die von dieser Seite nach vorangehenden Abschnitten ausgehenden Signale s(i)=s(o) und sh(i)=sh(o) werden weiter nicht benutzt, oder es müssten bei der Erweiterung des Pufferspeichers Abschnitte vor diesem ersten Abschnitt angeordnet werden. In diesem Falle werden Eingänge a und b auch wieder normal benutzt. Eine Erweiterung des Pufferspeichers bildet an dieser Seite also kein Problem. Dass die Kopplung eines Pufferspeichers auch hinsichtlich, der anderen Seite, d.h. der Ausgangsseite eines vorzuschaltenden Pufferspeichers, kein Problem darstellt, wird an Hand der Fig. 7 erläutert. Mit der erwähnten Lösung eines Pufferspeichers ist es nach Bedarf (wie in vielen Vez-wen~ düngen datenverarbeitender Systeme) möglich, dass der Pufferspeicher ein Betätigungssignal "cack" nach ausserhalb des Pufferspeichers liefert, ίΐηι anzugeben, dass zugeführte Daten in ein Register des Speichers übernommen worden sind.
Ist der Pufferspeicher vollständig gefüllt, so wird kein l'creq" erwidert und also kein "cack" erzeugt. Dies ist signalisiert, wenn REG(o) voll ist, also wenn s(o):=1 geworden ist« In der logischen Schaltung LM(o) ist das Er-
2-5 zeugen von "cack" mit Hilfe eines UND-Gatters E^fO ei.nfach möglich, mit dem bestimmt wird, ob die Bedingung s^Oj.creq erfüllt ist. Denn solange bei einem Anfragesignal creq=1 das Register REG(o) leer bleibt (d.h. s(o)=1), können weitere neue Informationen angenommen werden. Atif der Basis von cack=creq. s('öy, das in einen FLipflop (nicht dargestellt) gespeichert wird, wird also stets eine Bestätigung nach ausserhalb des Pufferspeichers gegeben, um anzugeben, dass Daten übernommen worden sind. Ist der Pufferspeicher vollständig gefüllt, kann keine Information übernommen werden und tritt "cack" nicht auf (der betreffende FlIpflop wird zurückgesetzt), so dass es also in der Aussenwelt(beispielsweise im datenverarbeitencJen System) bekannt ist, dass keine neue zugefülirte Informationen vom Pufferspeicher überkommen
909824/0877
ORIGINAL INSPEGTEO
3.10.78. · y PHN 8984
worden sind. · /ι τ · ■ .
In Fig. 7 ist auf entsprechende Weise wie oben ein Detailschaltbild der logischen Schaltung LM(n-i) dargestellt, die zusammen mit dem Register REG(n-i) den letzten Abschnitt des Pufferspeiehers bildet. Erneut ist das Schaltbild gleich Fig. 5: Ei(n-1) steht für E1 , E2(n-1 <) steht für E2 und E3(n-1) steht für E3. Die Signale an der linken Seite der Fig. 7 entsprechen vollends denen an der linken Seite der Fig. 5· Den einzigen Unterschied bildet die Situation der Signale an der in dieser Fig.: 7 rechten Seite von LM(n—1). Veil es keinen weiteren folgenden Abschnitt gibt, ist kein Signal s(i+i)=s(n) möglich. Um dennoch hier die Steuerung durchführen zu können, ist hier erneut ein Signal VI=I (logischer 1—Wert) an diesen Eingang gelegt. Ausserdem tritt
1S selbstverständlich kein Schiebesignal sh(n) auf. Weil jedoch REG(n—1) der-Ausgang des Pufferspeichers selbst ist, ist tatsächlich das Signal "ers" vorhanden, das nämlich von ausserhalb des Pufferspeichers ein Rückmeldesignal darstellt, mit dem angegeben wird, dass Informationen aus dem Pufferspeicher (also aus REG(n~i)) gelesen sind. Für LM(n-i) arbeitet "ers" also, als sei geschoben worden, so dass ers = sh(n) angenommen werden darf. Ausgehende Signale Sf7\ s ( J ) und s('n-i) (und "creq") sind weiter nicht benutzt worden. Wenn jedoch eine Erweiterung des Pufferspeichers erforderlich ist bzw. der Pufferspeicher von einem anderen Pufferspeicher angeordnet wii-d, können die erwähnten Signale wieder normal verwendet \^erden, und es ist ohne weitere Komplikationen eine Erweiterung des Pufferspeichers möglich. Als zusätzlicher Vorteil kann festgestellt werden, dass das Signal s(n-i) als Meldesignal SFI ausserhalb des Pufferspeichers verwendet werden kann, dass mindestens ein Abschnitt gefüllt ist. Dieser Abschnitt wird im Hinblick auf den erwähnten Schiebevorgang immer der letzte Abschnitt sein, so dass, wenn s(n-i)=1 dieser Zustand für diese Inforinatiorr (SFl) bestimmend ist. Dies gibt an, dass auf den OUT-Leitungen Daten zur Verfügung stehen.
Hinsichtlich der einfachen Ez-weiterungsmöglichkeiten des Pufferspeichers sei noch bemerkt, dass diese Erweiterungen
Q09824/0877
GRIGlNAl INSPECTED
3.10.78. · yi pen 898*1
insbesondere wenn in Halbleitertechnik ausgeführte integrierte Pufferspeicher benutzt werden, nicht notgedrungen bedeutet, dass alle Signalleitungen (nach einem folgenden oder vorangehenden Pufferspeicher) durchgezogen werden müssen. Man kann damit auskommen, einen "creq" Signaleingang mit einem SFI-Signalausgang und einen Signaleingang "ers" mit einem Signalausgang "cack" zweier miteinander zu koppelnder identi- · scher Pufferspeicher zu verbinden. Zwar sei dabei angenommen, dass in diesem Fall sich die Durchgangszeit verlängert: je angekoppelten zusätzlichen Pufferspeicher steigt die Durcligangszeit um eine Einheit an (die Mindestdurchgangszeit durch einen Pufferspeicher gilt dabei als eine Einheit). Mit dieser" Lösung wird jedoch vermieden, dass ein Pufferspeicher-IC mit einer zu grossen Anzahl von Eingangs/Ausgangsklemmen ausgerüstet werden müsste.
Mit den. beschriebenen logischen Schaltungen ist ein Puff er spei eher vom Typ "fix-st-in, first-oufc" mit variablem Eingang und festem Ausgang erhalten, der stets eine möglichst kurze Durchgangszeit für neu zugeführte Daten hat, denn neue Daten werden immer möglichst nahe dem Ausgang des Pufferspeichern in den Pufferspeicher aufgenommen. Die dargestellte Funktion des äpp(i)-Signals garantiert stets das Füllen eines vorangehenden leeren-Registers (das also weiter alles leere Register vor sich hat) vor einem ersten vollen Register (i+i). Zweifel über die Stelle, an der die Daten von der EingangsSammelleitung in ein Register (i) aufgenommen werden müssen, ist nicht möglich: es gibt .stets nur eine Stelle, für die app(i)=1 gültig ist. Weiterhin sorgt das sh(i)-Signal stets dafür, dass nur vorübergehend "Löcher" im Pufferspeicher stehen, d.h. -leere Abschnitte zwischen gefüllten Abschnitten werden immer nachgefüllt. Dies bedeutet, dass, wenn durch eine Störung irgendwo sich ein Zustand s(i)=1 in s(i)=O ändert, ein derartiges Loch gleich nachgefüllt wird. Dabei geht im betreffenden Register (i) zwar die vorhandene Information verloren (wird von der weiterschiebenden Information überschrieben), aber es tritt kein Zustand der Ungewissheit auf. ¥enn durch eine Störung irgeniivo sich ein Zustand s(i)=O in s(i) = 1 ändert,
909824/0877
3. 10.78' yS PHN 898'+
so wird diese Situation durch den Schiebevorgang wieder an den ersten vollen Abschnitt im Pufferspeicher geschoben und danach normal <z\va\ Ausgang (bei Signalen "ers") weitergeschoben. Dabei ist zwar ein Abschnitt mit ungültigen Daten entstanden, aber diese Daten verschwinden zum Ausgang hin und bewirken keine dauernde Unsicherheit im Pufferspeicher. Hiermit ist also eindeutig erreicht worden, dass der Puffer** speicher selbststabilisierend ist. Dies ist eine wichtige Eigenschaft, die im Bereich der Datenverarbeitungs- und Kominunikatioiistechnik in vielen Fällen erfordert wird.
Schliesslich sei noch bemerkt, dass in Zusammenhang mit der praktischen Ausführungsform des Pufferspeichers dadurch, dass die Zustandsflipflops FFi sichselbst lesen können müssen, beispielsweise sogenannte flarkengesteuerte Flipflops benutzt werden (beispielsweise Signetics Typ 7'+LS Auch ist es möglich, sogenannte Meister-Sklave-Flipflops zu verwenden. Hierbei müssen dann mindestens zwei Taktimpulssignale (statt eines in obigem Falle) benutzt werden. Die Grundsätze der Erfindung ändern sich hierdurch jedoch keineswegs, «nd es ist für den Fachmann problemlos möglich dies zu verwirklichen.
909824/0877
GRG !MSFECTEO
Leeseite

Claims (1)

  1. 3. 10.78. ' ΡΠΝ 8Q8'
    PATENTANSPRÜCHE
    /1 .J Da tcnpuf f er spei einer vom Typ "first-in, first-out" mit logischem Schal hingen, die einzuschreibende Da Lon abhängig von der Füllung des Pufferspeichers im "wescritlj.ch.arj möglichst nahe dem Ausgang für zu lesende Daten einschreiben, so dass diese Daten einen im wesentlichen gesch.1 ossenen Inhalt des Pufferspeichers bilden, we.il.er mit einer Eingangs-Sammelleitung über die Daten zu einem Eingang eines ausgewählten Registers gelangen, und mit einem mit dem letzten Register des Pufferspeichers verbundenen Ausgang, an dem zu lesende Daten erscheinen, dadurch gekennzeichnet, dass die logischen Schaltungen im wesentlichen pro Pufferspeicherabschnitt und dabei, abgesehen von den Verbisidungen, wenigstens funktionell getrennt von den Pu£ferspeicherabschnitten selbst vorgesehen sind und bei η Registern (θ, ... n-I) folgende Signale erzeugen:
    a) app(i) - creq . *-^'"pr. s(~j"J .s(i + i), das auf eine Anfrage "creq" von ausserhalb des■Pufferspeiohers das Register (i) im Pufferspeicher angibt, das Daten aus der EingangsSammelleitung übernommen werden, wobei das Signal '"rTns sCj)*i5(i + i) bestimmt, an welcher Stelle einer Reihe leerer Register (θ, ... i) das leere Register (i) an ein folgendes gefülltes Register (l+i) anschliesst; I)) s.Ti(i) - s ( i~ 1 ) ."sXl } j das bei Erfüllung dieser Bedingung das Schlebcsignal. zum Schieben dei" Daten im Pufferspeicher in Richtung auf den Ausgang lsi, wobei
    909824/087?
    BAD ORIGINAL
    3. 10.78 .JL PiIM 8< >8h
    s(l--i) = 1 den Zustand "voll" eini-:p vorangehenden und s(i) -1 den Zustand ''leer" des be treffenden Registers (l) angibt;
    c) s(i):-1, das das Zustandssignal i'ür das Füllen eines
    S Registers (i) als Ergebnis eines SignaJs app(i) oder sli(i) darstellt und wobei für 0 /- i £~ n~ 1 das Signal s(i):~0 wird, worin beim Signal sh(i + i) dei- Inhalt des Registers (i) wei t erges cn c?b en und wobei weiter für das Register (n~i) das Zustandssignal s(n~i):=0 wird, wenn da« von ausserhalb dos Pufferspeichers nach dem Lesen des Regis hers (n-1) ein Rückiiieidesigneil (ers) gegeben wird.
    2, Datenpufferspeicher nach Anspruch 1, dadurch gekennzeichnet, dass weiter logi_sehe Schaltungen vorgesehen sind, die ein Signal "cEick" als ein Bestätigungssignal, das der Pufferspeicher nach aussen hi.n liefert, um anzugeben, dass zugeführte Daten in ein Register (i) übernommen worden sind, erzeugen, wenn der Pufferspeicher nicht vollständig gefüllt (S(O)=I) ist.
    3. Datenpufferspoicher nach Anspruch 2S dadurch gekennzeichnet, dass das erwähnte Signal !'cack" mit den weiteren logischen Schaltungen entsteht, wenn die Bedingung s(θ).creq erfüll t ist.
    4. Datenpufferspeicher nach Anspruch 1, dadurch gekennzeichnet, dass an einem Ausgang des Pufferspeichers ein Zustandssignal SFI = s(n-i) erscheint, das angibt, dass mindestens in einem der Register des Pufferspeichers und insbesondere im letzten Register Daten vorhanden sind.
    3. Datenpufferspeicher nach einem der vorangehenden
    3fJ Ansprüche, dadurch gekennzeichnet, dass er in integrierte]? Hai bleitertechnik ausgeführt ist.
    6. Datenpufferspeicher nach Anspruch, h, dadurch gekennzeichnet, dass mindestens pro Pufferspeicherabschnitfc das betreffende Register und die zugeordnete logische Schaltung
    " eine in Halbleitertechnik ausgeführte integrierte Schaltung ist,
    7. Datenpufferspeicher nach Anspruch k, dadurch gekennzeichnet, dass der Pufferspeicher aus mindestens einer
    909824/087?
    BAD ORIGINAL
    3.10,78 S ΓΠΝ 8<j8h
    Gruppe von liegLstem und ans mindestens einer Gruppe logj scher· Schaltungen pro Pui'i'erspeicliorabachiiitt bestellt und die GrIi]PP en in Halbleiter technik axis go führ to integrierte Schaltungen sind. 5
    909824/087?
    BAD ORIGINAL
DE19782853239 1977-12-12 1978-12-09 Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang Granted DE2853239A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7713707A NL7713707A (nl) 1977-12-12 1977-12-12 Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met variabele ingang en vaste uitgang.

Publications (2)

Publication Number Publication Date
DE2853239A1 true DE2853239A1 (de) 1979-06-13
DE2853239C2 DE2853239C2 (de) 1989-02-02

Family

ID=19829732

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782853239 Granted DE2853239A1 (de) 1977-12-12 1978-12-09 Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang

Country Status (9)

Country Link
US (1) US4236225A (de)
JP (1) JPS5920139B2 (de)
CA (1) CA1122329A (de)
DE (1) DE2853239A1 (de)
FR (1) FR2411467A1 (de)
GB (1) GB2009984B (de)
IT (1) IT1101479B (de)
NL (1) NL7713707A (de)
SE (2) SE437581B (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57164331A (en) * 1981-04-02 1982-10-08 Nec Corp Buffer controller
JPS57185492A (en) * 1981-05-11 1982-11-15 Matsushita Electric Ind Co Ltd Data latch circuit
JPS58220293A (ja) * 1982-06-15 1983-12-21 Nec Corp 記憶装置
US4510581A (en) * 1983-02-14 1985-04-09 Prime Computer, Inc. High speed buffer allocation apparatus
US4930102A (en) * 1983-04-29 1990-05-29 The Regents Of The University Of California Dynamic activity-creating data-driven computer architecture
JPS59226923A (ja) * 1983-05-27 1984-12-20 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン バスインタ−フエ−ス装置
US4598363A (en) * 1983-07-07 1986-07-01 At&T Bell Laboratories Adaptive delayed polling of sensors
US4592019A (en) * 1983-08-31 1986-05-27 At&T Bell Laboratories Bus oriented LIFO/FIFO memory
FR2552916B1 (fr) * 1983-09-29 1988-06-10 Thomas Alain File d'attente asynchrone a empilement de registres
AU575351B2 (en) * 1983-11-07 1988-07-28 Digital Equipment Corporation Data processing system
US5038277A (en) * 1983-11-07 1991-08-06 Digital Equipment Corporation Adjustable buffer for data communications in a data processing system
US4764894A (en) * 1985-01-16 1988-08-16 Varian Associates, Inc. Multiple FIFO NMR acquisition system
US4833655A (en) * 1985-06-28 1989-05-23 Wang Laboratories, Inc. FIFO memory with decreased fall-through delay
NL8502023A (nl) * 1985-07-15 1987-02-02 Philips Nv Werkwijze voor het schakelen van tijdsloten in een tdm-signaal en inrichting voor het uitvoeren van de werkwijze.
US4672646A (en) * 1986-09-16 1987-06-09 Hewlett-Packard Company Direct-injection FIFO shift register
US4847812A (en) * 1986-09-18 1989-07-11 Advanced Micro Devices FIFO memory device including circuit for generating flag signals
US4995005A (en) * 1986-09-18 1991-02-19 Advanced Micro Devices, Inc. Memory device which can function as two separate memories or a single memory
JPS648732A (en) * 1987-06-30 1989-01-12 Sharp Kk Digital serial/parallel converter
US5115496A (en) * 1988-01-26 1992-05-19 Nec Corporation Queue device capable of quickly transferring a digital signal unit of a word length different from a single word length
JP2764908B2 (ja) * 1988-02-04 1998-06-11 日本電気株式会社 カスケード・バッファ回路
JP2576616B2 (ja) * 1988-12-29 1997-01-29 カシオ計算機株式会社 処理装置
JPH0391188A (ja) * 1989-09-04 1991-04-16 Matsushita Electric Ind Co Ltd Fifoメモリ
US5095462A (en) * 1990-05-25 1992-03-10 Advanced Micro Devices, Inc. Fifo information storage apparatus including status and logic modules for each cell
US5412611A (en) * 1992-03-17 1995-05-02 Fujitsu, Limited FIFO memory device capable of writing contiguous data into rows
US5513224A (en) * 1993-09-16 1996-04-30 Codex, Corp. Fill level indicator for self-timed fifo
WO1997003444A1 (en) * 1995-07-10 1997-01-30 Xilinx, Inc. System comprising field programmable gate array and intelligent memory
EP0932862A2 (de) 1997-08-20 1999-08-04 Koninklijke Philips Electronics N.V. Organisation eines pufferspeichers zur verarbeitung transienter datenströme sowie mehrstufiges software-verwaltungssystem
JP4841314B2 (ja) * 2006-05-29 2011-12-21 川崎マイクロエレクトロニクス株式会社 データ転送回路
JP6568560B2 (ja) 2017-09-15 2019-08-28 株式会社Subaru 車両の走行制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3646526A (en) * 1970-03-17 1972-02-29 Us Army Fifo shift register memory with marker and data bit storage
US3953838A (en) * 1974-12-30 1976-04-27 Burroughs Corporation FIFO Buffer register memory utilizing a one-shot data transfer system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL6600550A (de) * 1966-01-15 1967-07-17
NL7014737A (de) * 1970-10-08 1972-04-11
GB1289249A (de) * 1971-05-05 1972-09-13
US3781821A (en) * 1972-06-02 1973-12-25 Ibm Selective shift register
US3942163A (en) * 1974-06-21 1976-03-02 Burroughs Corporation CCD stack memory organization
JPS5247638A (en) * 1975-10-15 1977-04-15 Toshiba Corp Information processing device
US4095283A (en) * 1976-07-02 1978-06-13 International Business Machines Corporation First in-first out memory array containing special bits for replacement addressing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3646526A (en) * 1970-03-17 1972-02-29 Us Army Fifo shift register memory with marker and data bit storage
US3953838A (en) * 1974-12-30 1976-04-27 Burroughs Corporation FIFO Buffer register memory utilizing a one-shot data transfer system

Also Published As

Publication number Publication date
GB2009984B (en) 1982-01-27
DE2853239C2 (de) 1989-02-02
JPS5489439A (en) 1979-07-16
SE437581B (sv) 1985-03-04
NL7713707A (nl) 1979-06-14
FR2411467B1 (de) 1985-01-18
SE7812716L (sv) 1979-06-13
JPS5920139B2 (ja) 1984-05-11
FR2411467A1 (fr) 1979-07-06
IT7830681A0 (it) 1978-12-07
GB2009984A (en) 1979-06-20
CA1122329A (en) 1982-04-20
IT1101479B (it) 1985-09-28
US4236225A (en) 1980-11-25

Similar Documents

Publication Publication Date Title
DE2853239A1 (de) Datenpufferspeicher vom typ first-in, first-out mit variablem eingang und festem ausgang
DE2853276C2 (de)
DE3751297T2 (de) Schaltung zur Programmsteuerung.
DE3855274T2 (de) Botschafts-Fifo-Puffersteuergerät
DE2351791C2 (de) Datenverarbeitungsanlage
DE1449765C3 (de) Einrichtung zur Abfrage eines assoziativen Speichers
DE4206286C2 (de) Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes
DE19941196A1 (de) Zweikanal-FIFO mit synchronisierten Lese- und Schreibzeigern
DE2731336A1 (de) Taktsystem
DE3923253C2 (de) Mikroprozessor
DE2317687B2 (de)
DE3246432C2 (de)
DE60206278T2 (de) Vorrichtung und verfahren zum detektieren von statusanzeigen
DE2719531B2 (de) Digitale Logikschaltung zur Synchronisierung der Datenübertragung zwischen asynchrongesteuerten Datensystemen
DE2853240C2 (de)
DE2429067B2 (de) Speicherschaltung
DE19741915A1 (de) Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen
DE1119567B (de) Geraet zur Speicherung von Informationen
DE1474351B2 (de) Datenspeicher
DE60313059T2 (de) Schieberegister
DE2235802A1 (de) Verfahren und einrichtung zur pruefung nichtlinearer schaltkreise
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
DE2458777C2 (de) Schaltungsanordnung zur Textverarbeitung
DE2146108A1 (de) Synchrone Pufferanordnung
DE2633155A1 (de) Einrichtung zur erzeugung zeitdefinierter steuersignale

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee