DE2853240C2 - - Google Patents

Info

Publication number
DE2853240C2
DE2853240C2 DE2853240A DE2853240A DE2853240C2 DE 2853240 C2 DE2853240 C2 DE 2853240C2 DE 2853240 A DE2853240 A DE 2853240A DE 2853240 A DE2853240 A DE 2853240A DE 2853240 C2 DE2853240 C2 DE 2853240C2
Authority
DE
Germany
Prior art keywords
buffer memory
data
register
reg
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.)
Expired
Application number
DE2853240A
Other languages
English (en)
Other versions
DE2853240A1 (de
Inventor
Pierre Gerardus Jansen
Jozef Laurentius Wilhelmus Kessels
Benny Louisa Angelina Eindhoven Nl 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 DE2853240A1 publication Critical patent/DE2853240A1/de
Application granted granted Critical
Publication of DE2853240C2 publication Critical patent/DE2853240C2/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)
  • Bus Control (AREA)
  • Dram (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)

Description

Die Erfindung betrifft einen Datenpufferspeicher vom Typ "first-in, first-out" nach dem Oberbegriff des Haupt­ anspruches.
Datenpufferspeicher vom Typ "first-in, first-out", im folgenden als Pufferspeicher bezeichnet, dienen u. a. als Pufferspeicheranordnung in digitalen Datenverarbeitungs- und Kommunikationssystemen an Stellen, an denen Unterschiede in der Geschwindigkeit zwischen Dateneingabe und Datenausgabe auftreten.
Ein beispielsweise aus der DE-OS 21 46 108 bekannter Pufferspeicher zeichnet sich durch einen einfachen Aufbau aus, insbesondere durch einen untereinander gleichen Aufbau der einzelnen Pufferspeicherabschnitte. Ein Nachteil dabei ist, daß bei einer Kapazität des Pufferspeichers von n Abschnitten ein Datenwort, das einem leeren Pufferspeicher zugeführt wird, erst nach n Taktimpulszyklen am Ausgang erscheint. Insbesondere wenn n groß ist, kann dies in der Praxis zu unzulässigen Verzögerungen führen. Derartige Pufferspeicher weisen einen festen Eingang und einen festen Ausgang auf.
Aus den niederländischen Patentanmeldungen 74 10 786 und 75 09 269 sind Pufferspeicher bekannt, die eine solche Verzögerung nicht aufweisen, weil unter Verwendung von Zählanordnungen sowohl eine variable Eingangsstelle als auch eine variable Ausgangsstelle des Pufferspeichers ansteuerbar sind. Dabei brauchen die Daten nicht immer durch den ganzen Pufferspeicher hindurchgeführt zu werden, um von einem Eingang auf einen Ausgang übertragen zu werden. Insbesondere bei einem leeren oder nahezu leeren Pufferspeicher werden Verzögerungen verhindert. Ein wesentlicher Nachteil bei diesen Pufferspeicheranordnungen ist jedoch, daß insbesondere mit einer größeren Anzahl von Abschnitten die Steuerkomplexität stark ansteigt. Zähler mit hoher Zählkapazität und umfangreichen Dekodierungs­ auswahlnetzwerken für die anzuweisenden Ein- und Ausgänge oder sonstige Zusatzmaßnahmen sind erforderlich. Außerdem ist das Zusammenschalten einer Anzahl kleiner Pufferspeicher zu einem größeren Pufferspeicher nicht ohne zusätzliche Komplikationen möglich.
Aus der DE-AS 21 17 582 ist ein Pufferspeicher der eingangs genannten Art bekannt, mit dem aufeinanderfolgende Daten zusammengefaßt und die jeweils ältesten Daten als Bytegruppe abgegeben werden. Das Ausgeben der Bytegruppen erfolgt über einen Assemblierer, der eine Umorganisation der Reihenfolge ermöglicht. Abgesehen von dem komplizierten Aufbau der einzelnen Pufferspeicherabschnitte ist auch dort eine bestimmte Mindestzeit erforderlich, bis die zuerst am Eingang eingetroffenen Daten am Ausgang abgegeben werden können.
Aufgabe der Erfindung ist es, einen Pufferspeicher der eingangs genannten Art anzugeben, der einen einfachen Aufbau aufweist und bei dem die Durchgangszeit für am Eingang zugeführte Daten bis zur Abgabe am Ausgang möglichst kurz ist.
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnenden Teil des Hauptanspruches angegebenen Maßnahmen gelöst.
Der erfindungsgemäße Pufferspeicher kann als ein Pufferspeicher mit festem Eingang und variablem Ausgang betrachtet werden. Durch die variable Ausgangsstelle, die stets möglichst nahe beim Eingang liegt, um so einen geschlossenen Inhalt des Pufferspeichers zu bilden, wird eine möglichst kurze Durchgangszeit des Pufferspeichers erhalten.
Eine zweckmäßige Ausgestaltung der Erfindung zur Steuerung des Weiterschiebens des Inhalts im Pufferspeicher bei Zufuhr neuer Daten ist im Anspruch 2 angegeben. Diese Ausgestaltung sorgt auf einfache Weise dafür, daß die gespeicherten gültigen Daten im Pufferspeicher stets zusammenhängend gespeichert bleiben und das Speicherelement in der jeweiligen logischen Schaltung jederzeit genau anzeigt, ob der zugehörige Pufferspeicherabschnitt gültige oder ungültige Daten enthält.
Die Steuerung des Speicherelements in der jeweiligen logischen Schaltung der einzelnen Pufferspeicherabschnitte kann auf einfache Weise anhand der Zustände der Speicherelemente in den beiden unmittelbar benachbarten Abschnitten erfolgen. Eine Störung beispielsweise aufgrund eines durch ein Störsignal fälschlicherweise umgeschalteten Speicherelements kann jedoch zu einer dauerhaften Fehlfunktion des Pufferspeichers führen. Eine im Anspruch 3 angegebene weitere Ausgestaltung der Erfindung vermeidet derartige Instabilitäten und weitgehend auch einen entsprechenden Datenverlust.
Durch die Steuerung pro Pufferspeicherabschnitt mit vorzugsweise bistabilen Elementen als Teil der logischen Schaltung wird eine einfache und für Integrationszwecke geeignete Anordnung erreicht. Durch die Modularität des Aufbaus ist es möglich, zumindest pro Abschnitt des Datenpufferspeichers das betreffende Register und die zugeordnete logische Schaltung als eine in einem Halbleiter integrierte Schaltung auszuführen. Weiter ist es möglich, jeweils eine Gruppe von Registern und eine Gruppe logischer Schaltungen in einem Halbleiter zu integrieren. Die erwähnte Modularität bedeutet jedoch auch, daß mehrere Pufferspeicher problemlos hintereinander geschaltet werden können, um gewünschte Pufferlängen zu erhalten.
Ausführungsbeispiele des Pufferspeichers werden nachstehend anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Prinzipschaltbild eines Ausführungsbeispiels eines "first-in, first-out"- Pufferspeichers mit einem festen Eingang und variablem Ausgang,
Fig. 2 eine weiter in Einzelheiten dargestellte Blockschaltung eines Ausführungsbeispiels eines Pufferspeichers,
Fig. 3 und 4 Beispiele von Untergliederungsmöglichkeiten des Pufferspeichers im Hinblick auf die Ausführung als in einem Halbleiter integrierte Schaltungen,
Fig. 5 ein Beispiel der logischen Schaltung eines Pufferspeicherabschnittes,
Fig. 6 ein Detail der Fig. 2 zusammen mit einem Detail der Fig. 5 in einer etwas geänderten Ausführungsform.
In Fig. 1 ist ein vereinfachtes Schaltbild eines "first-in, first-out"-Pufferspeichers mit festem Eingang und variablem Ausgang angegeben. Der Pufferspeicher ist mit FIFO bezeichnet. Der feste Eingang IN liegt am Eingang des ersten Abschnitts T (0) des Pufferspeichers. OUTB bildet die Ausgangssammelleitung, über die Daten von Ausgängen eines dazu ausgewählten Registerabschnitts T (0), T (1) . . . T(n-1) abgegriffen und aus dem Pufferspeicher herausgeführt wird.
In Fig. 2 ist ein detaillierteres Blockschaltbild als Beispiel der Ausführung des Pufferspeichers nach Fig. 1 insbesondere in einer Modularanordnung dargestellt. Er besteht aus einem Registerteil mit Registern REG (0) . . . REG(i-1) . . . REG(n-1). Diese Register dienen zur Speicherung zugeführter Daten. Jedes Register kann aus einer oder mehreren Stufen 1, 2, . . . k bestehen. Hiermit ist angegeben, daß die Datenwegbreite nach Bedarf wählbar ist. Für jedes Bit der Datenwegbreite wird eine Stufe 1, 2, . . . k pro REG(i) benötigt. Das Register REG (0) des ersten Abschnitts des Pufferspeichers dient als Eingangsregister des vollständigen Pufferspeichers. Die Eingänge IN (ein Eingangsanschluß für jedes Bit des Datenwegs) sind mit REG (0) verbunden. Die Ausgangssammelleitung OUTB ist in Fig. 2 über den Registern angeordnet. Jedes Register REG(i) ist mit seinen Ausgängen (von jeder Stufe 1, 2, . . . k) mit der Sammelleitung OUTB verbunden. Dafür sind UND-Gatter benutzt: UO 1 UO 2, . . . UOk für die entsprechenden Registerstufen 1, 2 . . . k von REG (0); Ui 1, Ui 2, . . . Uik für die entsprechenden Registerstufen 1, 2, . . . k von REG(i) usw. Die Wahl, welches der Register REG(i) mit der Ausgangssammelleitung OUTB verbunden wird, bestimmen die logischen Schaltungen LM (0) . . . LM(i-1) . . .. LM(n-1), die pro Pufferspeicherabschnitt vorgesehen sind. Ein Signal selout (0) . . . selout(i) . . . oder selout(n-1) wird in den erwähnten logischen Schaltungen erzeugt und den erwähnten UND-Gattern UOk, . . . UOk . . . oder Ui 1, . . . Uik . . . oder U(n-1), . . . U(n-1)k zugeführt. Damit erfolgt die Wahl des einen Registers REG(i), wobei i=0, . . . (n-1), aus dem Daten der Ausgangssammelleitung OUTB des Pufferspeichers zugeführt werden.
Zum Schieben der Daten innerhalb des Pufferspeichers zwischen den Abschnitten, welcher Vorgang auftritt, wenn neue Daten dem Pufferspeicher zugeführt werden und noch Raum im Pufferspeicher frei ist, sind zwischen den Stufen der einzelnen Register Verbindungen angeordnet, die über UND-Gatter IO 1 IO 2, . . . IOk bzw. Ii 1, Ii 2 . . . Iik, usw. zwischen einem Ausgang einer bestimmten Registerstufe und einem Eingang einer Registerstufe des nächsten Abschnitts des Pufferspeichers liegen. Im angegebenen Beispiel nach Fig. 2 sind die Ausgänge für jede Registerstufe gemeinsam dargestellt, d. h. sowohl für den Ausgang zur Ausgangssammelleitung OUTB als auch für den Ausgang zum Eingang einer Registerstufe des folgenden Abschnitts des Pufferspeichers. Dieses Weiterschieben erfolgt durch die Steuerung der Schiebesignale "sh".
Ferner besteht der Pufferspeicher aus einem Steuerteil mit der logischen Schaltung LM(i) pro Abschnitt des Pufferspeichers. Die Signale, die in dieser logischen Schaltung erzeugt werden, sind außer dem bereits erwähnten Selout(i)-Signal die Zustandssignale s(i) bzw. , die eine Bezeichnung "voll" bzw. "leer" eines Registers (i) bilden, weiter eine vorzugsweise benutzte kombinatorische Form dieses Signals
d. h. auf Basis der Booleschen UND- Funktion aller Register REG(i +1) bis REG(n-1) das Zustandssignal s(j) einen Wert gleich Null hat (d. h. = 1). Es ist die Bedingung, daß alle REG(i) folgenden Register leer sind. Die Bezeichnung "leer" besagt, daß keine gültigen Daten vorhanden sind. Weitere Einzelheiten werden an Hand der Fig. 5 näher erläutert. Im Steuerteil wird in diesem Beispiel in einem UND-Gatter P 1 eine Bedingung creq · überwacht. Das bedeutet, daß beim jeweiligen Erfüllen dieser Bedingung ein Signal mit dem logischen Wert "1" am Ausgang von P 1 erscheint. Dieses Signal wird allen logischen Schaltungen LM(i) zugeführt (Leitung mit der Bezeichnung creq · ). Das Signal "creq" gibt eine Anfrage von außerhalb des Pufferspeichers an, um Daten in den Pufferspeicher zu übernehmen. Das Signal "ers" ist ein Rückmeldesignal von außerhalb des Pufferspeichers, das auftritt (logischer 1-Wert), wenn Daten aus dem Pufferspeicher übernommen worden sind.
Ebenso wird in diesem Beispiel in einem UND-Gatter P 2 die umgekehrte Bedingung creq · ers überwacht. Diese Bedingung ist erfüllt, wenn beim Auftreten des Rückmeldesignals "ers" nicht gleichzeitig das Anfragesignal "creq" auftritt. Dieses Signal wird ebenfalls allen logischen Schaltungen . . . LM(i) . . . zugeführt. In einem UND-Gatter Esh wird das Signal "sh", wie oben bereits erwähnt wurde, erzeugt. Beim jeweiligen Auftreten des Anfragesignals "creq" und bei noch nicht vollständig gefülltem Pufferspeicher, was mit dem Zustand =1 angegeben ist, erzeugt das Gatter Esh das Schiebesignal "sh", das jedem Register aller Abschnitte des Pufferspeichers außer dem letzten zugeführt wird. Als Gleichung heißt das: sh=creq · . Wenn diese Bedingung erfüllt ist, erfolgt bei einem Taktsignal (nicht angegeben) der Schiebevorgang, d. h. das Taktsignal nur dann zum Schieben durchkommt, wenn "sh" auftritt. Dieses "sh"-Signal kann nach Bedarf noch als Bestätigungssignal "cack" benutzt werden, um anzugeben, daß bei der Anfrage "creq" eine Aktion erfolgt ist, und das bedeutet, daß auch tatsächlich die dem Eingang IN zugeführten Daten in den ersten Abschnitt (REG (0)) aufgenommen sind. Der vollständige Dateninhalt des Pufferspeichers wird dabei also als ein Block um einen Abschnitt weitergeschoben.
Das Gatter Esh wird betrachtet, als sei es in der logischen Schaltung LM (0) aufgenommen. Ebenso die Gatter P 1 und P 2 in beliebigen logischen Schaltungen LM(i), schließlich gibt es noch in Fig. 2 eine Leitung mit der Bezeichnung SFI nach einer Stelle außerhalb des Pufferspeichers. SFI = s(0), d. h. SFI hat ein logisches 1-Wert-Signal, solange s(0)=1 ist, das bedeutet, solange REG (0) noch Daten enthält. Es ist eine Angabe dafür, daß der Pufferspeicher noch Daten enthält und daß also Daten auf den OUTB-Leitungen zur Verfügung stehen.
In Fig. 3 und 4 sind einige Möglichkeiten zum Untergliedern des Pufferspeichers im Hinblick auf die Ausführung als in einem Halbleiter integrierte Schaltungen angegeben. Die Modularität des Pufferspeichers nach Fig. 2 ermöglicht viele Lösungen. In Fig. 3 ist mit VI 0, VI 1, . . . VI(n-1) angegeben, daß mindestens pro Pufferspeicherabschnitt Integration möglich ist: ein REG (0) ist zusammen mit der logischen Schaltung LM (0) in einer IC zusammengefaßt. Die Verbindung zwischen allen Abschnitten VIi wird im Registerteil (oberer Teil der Fig. 3) durch die Ausgangssammelleitung OUTB und die in der Zeichnung in der Sammelleitung OUTB gedachten Verbindungen zwischen den Stufen der aufeinanderfolgenden Pufferspeicherabschnitte im Zusammenhang mit dem Weiterschieben von Daten von einem Abschnitt zu einem folgenden Abschnitt gebildet. Die Verbindungen zwischen den logischen Schaltungen und den weiteren Ein- und Ausgangssignalen sind in Fig. 3 in einem Signalleitungen­ bündel CB angegeben. Auf entsprechende Weise ist in Fig. 4 angegeben, daß Integration in integrierten Schaltungen pro Gruppe HIR oder Gruppen HIR 1, . . . HIRp der Register REG (0), . . . REG(n-1) bzw. pro Gruppe HILM oder Gruppen HILM 1, . . . HILMm logischer Schaltungen LM (0), . . . LM(n-1) möglich ist.
Selbstverständlich ist die Ausführung kompletter Pufferspeicher in einer integrierten Schaltung in einem Halbleiter ebenfalls möglich. Das Zusammenschalten der Teile bzw. vollständiger Pufferspeicher ergibt keine Komplikationen, was weiter an Hand der Fig. 5 näher erläutert wird.
In Fig. 5 ist ein Ausführungsbeispiel der logischen Schaltung LM(i) eines Pufferabschnitts (i) für die Steuerung des Registers REG(i) dieses Abschnitts detailliert dargestellt. Die logische Schaltung enthält in diesem Beispiel ein Flipflop FFi mit einem Setz-Eingang S und einem Rückstelleingang R und Ausgänge Q und . Weiterhin sind vier UND-Gatter E 1, E 2, E 3 und E 4 angegeben. Der Aufbau der logischen Schaltung ist einfach gehalten und ergibt eine gute Wirkungsweise des Pufferspeichers, wenn für die Speicherelemente (Flipflops) sowie die Speicherzellen der Register beispielsweise flankengetriggerte (edge-triggered) D-Flipflops benutzt werden. Diese Typen sind im Handel erhältlich (beispielsweise unter der Typenbezeichnung 74LS74). In anderen Ausführungsformen können andere Logikelemente wie NAND-Gatter und dergl. benutzt werden. Für die Speicherelemente können namentlich Flipflops vom Typ Meister-Sklave benutzt werden.
In den logischen Schaltungen werden die erwünschten Signale für die Steuerung des Pufferspeichers erzeugt.
a) selout(i) ist das Signal, das die Auswahl des Registers REG(i) vornimmt, aus dem Daten zur Ausgangssammelleitung OUTB ausgelesen werden. Dieses Signal selout(i) =1 tritt auf, wenn die Bedingung
den logischen Wert "1" hat. Im UND-Gatter E 4 wird festgestellt; ob diese Bedingung erfüllt ist. Dabei wird der Zustand s(i) des betreffenden Abschnitts betrachtet: der Abschnitt muß gefüllt sein, also s(i) =1. Weiterhin muß gelten, daß alle weiteren Abschnitte des Pufferspeichers leer sind. Der Ausdruck
stellt dies fest. Dies geschieht im vorangehenden Abschnitt - logische Schaltung LM(i +1) bzw. in LM(i) für LM(i-1) . . . Das gleiche geschieht im UND-Gatter E 3: darin wird festgestellt, ob
ist, d. h. ob die Bedingung erfüllt ist, daß das Register REG(i) und alle (daher das Zeichen als Boolesches Funktionszeichen) folgenden Register leer sind (Zustände s(i) =0).
b) sh = · creq ist das Schiebesignal, das in dem bereits bei der Beschreibung der Fig. 2 erwähnten Gatter Esh entsteht. Dieses Gatter Esh und außerdem die in Fig. 2 erwähnten Gatter P 1 und P 2 können in eine der logischen Schaltungen aufgenommen sein. Dies ist in Fig. 2 durch das Aufnehmen namentlich von P 1 und P 2 in LM(i) und Esh in LM (0) angegeben (siehe gestrichelte Linie). Bei der Ausführung in integrierten Schaltungen können die erwähnten Gatter mehrfach auftreten (zum Aufrechterhalten des untereinander gleichen Aufbaus) und dabei nur insoweit mit den Signalen creq und ers verbunden werden, als erforderlich ist, um die gewünschten Signale "sh", creq · und · ers zu erhalten. Siehe auch weiterhin Fig. 6, in der angegeben ist, wie die Gatter P 1 und P 2 in die Gatter E′ 1 und E′2 pro LM(i) aufgenommen sein können.
c) Zustandssignale s(i) (und . Zum Setzen und Rückstellen der Zustände über die S- und R-Eingänge von FFi gibt es einige Möglichkeiten.
Die erste ist: set(i) = creq · · s(i-1) mit reset(i) = · ers für die Rückstellung. Diese Bedingungen können mit logischen UND-Gattern pro logische Schaltung pro Abschnitt einfach überwacht werden. Der Nachteil dieser Wahl ist jedoch daß der Pufferspeicher damit nicht selbst-stabilisierend ist. Ist ein fehlerhafter Zustand s(i) beispielsweise durch eine Störung entstanden, kann dies zu einer bleibenden Fehlersituation führen.
Eine zweite Möglichkeit ist:
und dabei
Diese Bedingungen können auch wieder mit UND-Gattern pro logischer Schaltung einfach überwacht werden. Für die -Funktion siehe unter Punkt a). Diese Wahl gewährleistet die Stabilität im Pufferspeicher: ein Fehler in einem Zustand s(i) führt nicht zu einer bleibenden Fehlersituation. Der Fehler verschwindet allmählich. Dabei wird im allgemeinen Datenverlust auftreten.
Eine dritte Möglichkeit, bei der möglichst geringe Datenverluste auftreten, ist die bevorzugte Lösung, die darin besteht, daß
und dabei
ist. Die Verwirklichung davon ist ebenso wieder mit logischen Schaltungen einfach erreichbar. Dies ist in Fig. 5 mit Hilfe der UND-Gatter E 1 und E 2 dargestellt. Das Gatter E 1 überwacht die Bedingung creq · · s(i-1) und das Gatter E 2 die Bedingung
womit bei der Erfüllung dieser Bedingung der S-Eingang von FFi erregt wird. Im ersten Fall wird s(i) :=1, im zweiten Fall wird :=1.
Es sei hier noch bemerkt, daß die in Fig. 2 dargestellten Gatter P 1 und P 2 auch in jede der logischen Schaltungen LM(i) aufgenommen gedacht werden können, wobei Signalleitungen "ers" und "creq" statt creq · und · ers längs aller logischen Schaltungen pro Abschnitt laufen. Siehe Fig. 6. Für die Funktion kann im Gatter E′ 1 mit "creq" und mit dem invertierten "ers" und mit dem Zustand s(i-1) die Bedingung für set(i) überwacht werden. Ebenso kann im Gatter E 2 mit dem invertierten "creq" und mit "ers" und mit der Bedingung
die Bedingung für reset(i) überwacht werden.
Die Anordnung nach Fig. 5 ist für alle logischen Schaltungen LM (0), . . . LM(n-1) gleich. Für LM (0) kann der Ausgangszustand s(i-1) nicht auftreten, so daß dieser Eingang einen logischen Dauerwert "1" haben muß. Ebenso wird LM(n-1) für den Eingang mit
den logischen Dauerwert "1" haben. Bei der Erweiterung des Pufferspeichers können diese Eingänge nach Bedarf wieder in die normalen Signalwege aufgenommen werden, um eine Kopplung mit einem vorangehenden oder nachfolgenden Pufferspeicher zu ermöglichen. Es ist also eine besonders einfache Weise der Erweiterung erreicht worden.
Hinsichtlich der einfachen Erweiterungsmöglichkeiten des Pufferspeichers sei noch bemerkt, daß diese Erweiterung, insbesondere bei in einem Halbleiter integrierter Pufferspeicher, nicht notgedrungen bedeutet, daß alle Signalleitungen (nach einem nachfolgenden oder vorangehenden Pufferspeicher) weitergezogen werden müssen. Es ist die Verbindung eines "creq"- Signaleingangs eines folgenden Pufferspeichers mit einem SFI-Signalausgang eines vorangehenden Pufferspeichers und weiterhin die Verbindung eines Signaleingangs "ers" eines vorangehenden Pufferspeichers mit einem "cack"-Signalausgang eines folgenden Pufferspeichers ausreichend. Die OUTB-Sammelleitung wird selbstverständlich mit den IN-Leitungen aufeinanderfolgender Pufferspeicher verbunden. Zwar sei dabei vorausgesetzt, daß in diesem Fall die Durchgangszeit länger wird: je angekoppeltem zusätzlichem Pufferspeicher steigt die Durchgangszeit um eine Einheit an (die Mindestdurchgangszeit durch einen Pufferspeicher gilt dabei als eine Einheit). Mit dieser Lösung wird jedoch vermieden, daß ein Pufferspeicher-IC mit einer zu großen Anzahl von Eingangs- und Ausgangsklemmen versehen sein müßte.

Claims (8)

1. Datenpufferspeicher vom Typ "first-in, first-out" mit einer Anzahl Abschnitte, von denen jeder Abschnitt ein Register zur Aufnahme eines Datenwortes und eine logische Schaltung mit einem Speicherelement enthält, dessen Speicherzustand angibt, ob in dem zugehörigen Register gültige Daten gespeichert sind, wobei die Register hintereinander geschaltet sind und dem Eingang zugeführte Datenwörter in der Hintereinanderschaltung der Register verschiebbar sind, wodurch in den zugehörigen logischen Schaltungen die Speicherelemente umgeschaltet werden, und mindestens eine vorgegebene Anzahl Register mit einem Ausgang des Datenpufferspeichers verbindbar sind, dadurch gekennzeichnet, daß eine mit dem Ausgang des Datenpufferspeichers verbundene Ausgangssammelleitung (OUTB) vorgesehen ist, die mit dem Ausgang jedes Registers (REG (0), . . . REG(n-1)) verbindbar ist und daß nur diejenige logische Schaltung (LM(i)), deren Speicherelement (FF(i)) gültige gespeicherte Daten im zugehörigen Register (REG(i)) angibt und die am weitesten vom Eingang (IN) entfernt ist, die Ausgangssammelleitung (OUTB) mit dem Ausgang des zugehörigen Registers (REG(i)) verbindet und bei Eintreffen eines Übernahme-Rückmeldesignals (ers) dieses Speicherelement (FF(i)) in den entgegengesetzten Zustand bringt.
2. Datenpufferspeicher nach Anspruch 1, dadurch gekennzeichnet, daß durch ein mit einem zugeführten Datenwort auftretendes Anfragesignal (creq), wenn das am weitesten vom Eingang (IN) entfernt liegende Speicherelement (FF(n-1)) keine gültigen Daten im zugehörigen Register (REG(n-1)) anzeigt, der gesamte Inhalt des Pufferspeichers um einen Abschnitt verschoben und das zugeführte Datenwort in das Register (REG (0)) des ersten Abschnitts (0) eingeschrieben und das Speicherelement (FF (0)) in den gültigen Daten angebenden Zustand gebracht wird, wobei jedes Speicherelement (FF(i)) in den dem Speicherelement (FF(i-1)) des vorhergehenden Abschnitts (i-1) entsprechenden Zustand gebracht wird.
3. Datenpufferspeicher nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jede logische Schaltung (LM(i)) nur dann die Ausgangssammelleitung (OUTB) mit dem Ausgang des zugehörigen Registers (REG(i)) verbindet und anschließend das Speicherelement in den keine gültigen Daten anzeigenden Zustand bringt, wenn die Speicherelemente (FF(i +1) bis FF(n-1)) aller vom Eingang (IN) aus gesehen folgenden Abschnitte (i+1 bis n-1) keine gültigen Daten anzeigen.
4. Datenpufferspeicher nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß jede logische Schaltung (LM(i)) nur dann das Speicherelement (FF(i)) in den gültige Daten anzeigenden Zustand bringt, wenn die Speicherelemente (FF(i-1) bis FF (0)) aller vom Eingang (IN) aus gesehenen vorhergehenden Abschnitte (i-1 bis 0) keine gültigen Daten anzeigen.
5. Datenpufferspeicher nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Ausgang des Speicherelements (FF (0)) des ersten Pufferspeicherabschnitts (0), der das mit dem Eingang (IN) verbundene Register (REG (0)) enthält, mit einem weiteren Ausgang (SFI) des Datenpufferspeichers verbunden ist.
6. Datenpufferspeicher nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß er als eine in einem Halbleiter integrierte Schaltung ausgeführt ist.
7. Datenpufferspeicher nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß mindestens je ein Pufferspeicherabschnitt mit dem betreffenden Register und der zugeordneten logischen Schaltung eine in einem Halbleiter integrierte Schaltung ist.
8. Datenpufferspeicher nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Pufferspeicher mindestens eine Gruppe von Register und mindestens eine Gruppe logischer Schaltungen enthält und jede dieser Gruppe eine in einem Halbleiter integrierte Schaltung ist.
DE19782853240 1977-12-12 1978-12-09 Datenpufferspeicher vom typ first-in, first-out mit festem eingang und variablem ausgang Granted DE2853240A1 (de)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
DE2853240A1 DE2853240A1 (de) 1979-06-13
DE2853240C2 true DE2853240C2 (de) 1989-02-02

Family

ID=19829733

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US4314361A (de)
JP (1) JPS5921055B2 (de)
DE (1) DE2853240A1 (de)
FR (1) FR2411468A1 (de)
GB (1) GB2009980B (de)
NL (1) NL7713708A (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4864543A (en) * 1987-04-30 1989-09-05 Texas Instruments Incorporated First-in, first-out memory with counter address pointers for generating multiple memory status flags
US4833655A (en) * 1985-06-28 1989-05-23 Wang Laboratories, Inc. FIFO memory with decreased fall-through delay
CH671476A5 (de) * 1986-06-16 1989-08-31 Siemens Ag Albis
US4899307A (en) * 1987-04-10 1990-02-06 Tandem Computers Incorporated Stack with unary encoded stack pointer
GB2232797B (en) * 1989-06-16 1993-12-08 Samsung Semiconductor Inc RAM based serial memory with pipelined look-ahead reading
US5343435A (en) * 1991-06-14 1994-08-30 Integrated Device Technology, Inc. Use of a data register to effectively increase the efficiency of an on-chip write buffer
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
SE9904685D0 (sv) * 1999-12-17 1999-12-17 Switchcore Ab A programmable packet decoder
US6694389B2 (en) * 2001-03-19 2004-02-17 Sun Microsystems, Inc. Method and apparatus for data flow analysis
US6711494B2 (en) * 2001-07-30 2004-03-23 Emulex Corporation Data formatter for shifting data to correct data lanes
US6836852B2 (en) * 2001-10-29 2004-12-28 Agilent Technologies, Inc. Method for synchronizing multiple serial data streams using a plurality of clock signals
KR102532528B1 (ko) * 2016-04-07 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE755666A (fr) * 1969-09-18 1971-02-15 Burroughs Corp Memoire tampon pour entree d'ordinateur
NL7014737A (de) * 1970-10-08 1972-04-11
US3736575A (en) * 1972-02-01 1973-05-29 Dyad Systems Inc Single line per bit asynchronous circuit and system
DE2348452B2 (de) * 1973-09-26 1977-12-29 Siemens AG, 1000 Berlin und 8000 München Anschluss taktgebundener datenuebertragungseinrichtungen an ein datenendgeraet, das zur aussendung von daten nach dem start-stop-prinzip ausgelegt ist
DE2414874B2 (de) * 1974-03-27 1977-05-05 Synchrones schieberegister mit serien- und paralleleingabe und grundstelleingang
DE2441584A1 (de) * 1974-08-30 1976-03-11 Siemens Ag Pufferspeicher
US4090256A (en) * 1975-05-27 1978-05-16 Motorola, Inc. First-in-first-out register implemented with single rank storage elements
DE2729361A1 (de) * 1976-07-29 1978-02-09 Motorola Inc Speicherschaltung

Also Published As

Publication number Publication date
GB2009980A (en) 1979-06-20
FR2411468B1 (de) 1985-01-18
FR2411468A1 (fr) 1979-07-06
NL7713708A (nl) 1979-06-14
DE2853240A1 (de) 1979-06-13
GB2009980B (en) 1982-04-15
JPS5921055B2 (ja) 1984-05-17
US4314361A (en) 1982-02-02
JPS5489441A (en) 1979-07-16

Similar Documents

Publication Publication Date Title
DE2853239C2 (de)
DE2853276C2 (de)
DE2853240C2 (de)
DE2349377C2 (de) Schaltwerk zur Durchführung von Datenverarbeitungsoperationen
DE2415365B2 (de) Schaltungsanordnung zum ausblenden von impulsen, deren dauer kuerzer ist als eine vorgegebene pruefdauer t tief p aus einer eingangsseitig anliegenden folge digitaler impulse
DE2853523A1 (de) Dezentrale erzeugung von taktsteuersignalen
DE2015971A1 (de) Datenverarbeitungssystem zur Verarbeitung eines Stromes mehrfacher Operanden
DE69610944T2 (de) Schneller programmierbarer Frequenzteiler
EP0190554A1 (de) Verfahren und Schaltungsanordnung zum Umschalten einer taktgesteuerten Einrichtung mit mehreren Betriebszuständen
DE3246432C2 (de)
DE2750400A1 (de) Schaltungsanordnung fuer das mit dem laden und abrufen von datensaetzen ueberlappende sortieren von datensaetzen
DE69626609T2 (de) Pipeline-datenverarbeitungsschaltung
DE2321200A1 (de) Einrichtung zur durchfuehrung boolescher verknuepfungen
DE2755070C2 (de) Flipflopschaltung
DE68913919T2 (de) Hochfrequenz-Taktimpulszähler.
DE2431975A1 (de) Vorrichtung zur kontrolle einer multiplex-digital-bitfolge
EP0042961A2 (de) Verfahren und Anordnung zur Erzeugung von Impulsen vorgegebener Zeitrelation innerhalb vorgegebener Impulsintervalle mit hoher zeitlicher Auflösung
DE2157515A1 (de) Digitale Datenverarbeitungs-Einrichtung
DE2146108A1 (de) Synchrone Pufferanordnung
DE4422784C2 (de) Schaltungsanordnung mit wenigstens einer Schaltungseinheit wie einem Register, einer Speicherzelle, einer Speicheranordnung oder dergleichen
DE102004010562B4 (de) Schnittstellenvorrichtung und Verfahren zur Synchronisation von Daten
DE112020002008T5 (de) Schaltung zur erzeugung eines synchronen rücksetzsignals und digitale verarbeitungsvorrichtung
EP0012794B1 (de) Verfahren und Einrichtung für eine elektronische Datenverarbeitungsanlage zur Prüfung der aus einer Instruktion abgeleiteten Steuersignale
DE1774168A1 (de) UEbertragungs- und Speicherstufe fuer Schieberregister und aehnliche Anordnungen
EP0316458B1 (de) Digitaler Chip mit Eingangsdaten-Synchronisierung

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