DE2714106C3 - Verfahren zum Zwischenspeichern von Informationen in einem FIFO-Speicher - Google Patents
Verfahren zum Zwischenspeichern von Informationen in einem FIFO-SpeicherInfo
- Publication number
- DE2714106C3 DE2714106C3 DE19772714106 DE2714106A DE2714106C3 DE 2714106 C3 DE2714106 C3 DE 2714106C3 DE 19772714106 DE19772714106 DE 19772714106 DE 2714106 A DE2714106 A DE 2714106A DE 2714106 C3 DE2714106 C3 DE 2714106C3
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- line
- fifo memory
- input
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
- G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
- G06F5/14—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Zwischenspeichern einer Mehrzahl von Informationen
in einen FIFO-Speicher, bei dem Informationen in beliebiger Reihenfolge eingeschrieben und ausgelesen
werden. Derartige Speicher zeichnen sich dadurch aus, daß die zuerst eingegebene Information auch als erste
wieder ausgelesen wird. Dies ist dann beispielsweise der Fall, wenn die Zustandsmeldungen, die nacheinander
anfallen, in der gleichen Reihenfolge wieder abgearbeitet werden sollen. Diese Zustandsmeldungen gelangen
dann in der Reihenfolge ihres Auftretens in den Speicher und werden, sobald die herfür geeigneten
Steuereinrichtungen frei sind, und auch gerade keine neuen Eingabewünsche vorliegen, in der Reihenfolge
ihrer Eingabe wieder abgearbeitet.
Dieses an sich bekannte Verfahren ist symbolisch in den F i g. 1 und 2 dargestellt. F i g. 1 zeigt in symbolischer
Darstellung einen FIFO-Speicher (S), in dem nacheinander die durchnumeriercen Zeilen 1 bis π
vorgesehen sind. Mit Hilfe von Eingabeadressen Fwird,
beginnend mit der Eingabeadresse »1«, nacheinander eine Zeile des Speichers nach der anderen mit
Meldungen vollgeschrieben. Durch einen Pfeil bei E in F i g. 1 ist angedeutet, in welcher Richtung die
Eingabeadressen E ansteigen und in welcher Richtung somit die einzelnen Zeilen nacheinander vollgefüllt
werden. Wie aus F i g. 1 ersichtlich, ist als letzte Eingabeadresse gerade die Adresse m verwendet
worden, so daß diese Zeile die letzte volle Zeile ist. Die mit Meldungen angefüllten Zeilen sind symbolisch durch
Strichlinien ausgefüllt, während Frei-Zeilen ungestrichelt gezeichnet sind.
Aus F i g. 1 ist weiterhin zu erkennen, daß die ersten Zeilen »1« bis »Ar« durch eine entsprechende Adressierung
mittels der Ausgabeadresse A ausgelesen wurden, so daß diese Zeilen wieder frei sind. Das Auslesen
geschieht immer dann, wenn eine angeschlossene Bearbeitungseinheit hierzu in der Lage ist. In diesem
Falle wird die nachfolgend: Ausgabeadresse A auf den Speicher S angewendet, und die so gegebene Zeile
geleert. Aus F i g. 1 ist ersichtlich, daß die zuletzt ausgelesene Ausgabeadresse die Nr. »k« hatte. Die
Richtung, in der die Ausgabeadresse fortschreitet, ist ebenfalls durch einen Pfeil angedeutet.
In F i g. 1 ist weiterhin festgehalten, daß mit dem Vollschreiben auf der letzten Eingabeadresse Emit der
Nr. »n«der Speicher S nicht unbedingt vollkommen voll
sein muß, da in der Zwischenzeit schon eine ganze Reihe von am Anfang des Speichers S liegende Zeilen (in
Fig. 1 beispielsweise die Zeilen »1« bis »k«) wieder ausgelesen sein können. Der Adressengeber, welcher
die für das Eingaben zur Verfügung stehenaen freien Zeilen benennt, wird also zyklisch umlaufen und von der
Eingabeadresse »n« auf die Eingabeadresse Nr. »1« zurückspringen. Entsprechendes gilt für die Ausgabeadresse.
Dieser Vorgang ist durch eine mit einem Pfeil versehene Verbindungslinie zwischen der letzten Zeile
ι ο »n« und der ersten Zeile »1« angedeutet
Bei der Einspeicherung von Meldungen in den FIFO-Speicher S muß nun sichergestellt werden, daß
nicht Meldungen in Zeilen eingeschrieben werden können, die bereits voll sind. Anders ausgedrückt
bedeutet dies, daß ein voller FIFO-Speicher keine Meldungen mehr aufnehmen darf.
Im Prinzip ist es nun möglich, aufgrund des Vergleichs
der beiden Adressen A und E eine Aussage zu machen, ob der Speicher 5 voll ist oder nicht Nimmt man
nämlich in F i g. 1 an, daß der verarbeiteten Einheit aus hier nicht zu erörternden Gründen eine Abarbeitung
der hinter der Zeile »Ar« liegenden Zeile Z gerade nicht
möglich ist, und daß aber ständig neue Meldungen eingegeben werden, so wird der Speicher, nachdem er
bis zu seinem unteren Ende mit der Zeile »n« vollgefüllt ist, auch von oben her beginnend mit der Zeile »1« in
Richtung zur Zeile »k« hin aufgefüllt. Es läßt sich daher sagen, daß, sobald die Eingabeadresse E die Ausgabeadresse
A erreicht (die Differenz zwischen der letzten Ausgabeadresse und der letzten Eingabeadresse also 0
wird), der Speicher voll sein muß. Leider ist aber dies einfache Kriterium doppeldeutig. Dies läßt sich daran
erkennen, wenn man in F i g. 1 annimmt, daß die Eingabeadresse Efestgehalten wird, also keine weiteren
Eingaben erfolgen und die Verarbeitungseinheit eine Zeile nach der anderen abarbeitet, so daß sich die
Ausgabeadresse A ständig erhöht. Hier wird schließlich ein Zeitpunkt erreicht, bei dem die letzte Ausgabeadresse
A gleich der letzten Eingabeadresse Eist. Es liegt also das gleiche für einen vollen Speicher angegebene
Kriterium vor, nur mit dem Unterschied, daß diesmal der Speicher vollkommen leer ist.
Es läßt sich nun zwar durch zusätzliche Kriterien eine
Unterscheidung schaffen, wann bei der Bedingung Λ = £der Speicher voll ist und wann er in diesem Falle
leer ist. Ein derartiges Kriterium kann beispielsweise dadurch gefunden werden, daß man bei erzielter
Adressengleichheit noch beachtet, welche der beiden Adressen zuletzt verändert wurde. Wurde nämlich
zuletzt die Ausgabeadresse geändert, führt also eine Ausgabe zu dem Ergebnis A = E, so ist der Speicher
leer, während in dem umgekehrten Falle, indem also eine Eingabe zu dem Ergebnis E=A führt, der
Speicher gerade vollgefüllt wurde. Derartige Abhängigkeiten lassen sich nun nur durch relativ komplizierte
Schaltungen logisch darstellen.
Aufgabe der Erfindung ist es, ein Verfahren anzugeben, durch welches mittels einer einfach ausgestalteten
Schaltung eine Überlastung des FIFO-Speichers S verhindert werden kann. Die Lösung dieser
Aufgabe ist in dem Hauptanspruch dargelegt.
Die Erfindung besteht also im Prinzip darin, nicht die beiden Adressen miteinander zu vergleichen, bei denen
zuletzt die Ausgabe bzw. Eingabe erfolgt ist, sondern hinsichtlich der Eingabeadresse die Adresse zu verwen-'en,
die als nächste für die Eingabe vorgesehen ist. Hat also, wie bei F i g. 1 gezeigt, die letzte Adresse E, bei der
eingegeben wurde, den Wert »m«, so wird die Adresse
»/π+1« mit der Ausgabeadresse /4 verglichen, bei der
zuletzt eine Zeile freigemacht wurde, also in F i g. 1 die Zeile Nr. »k<c
Ein Ausführungsbeispiel der Erfindung wird nachfolgend anhand der Zeichnung erläutert. Darin zeigt
Fi g. 1 in symbolischer Darstellung einen FIFO-Speicher
zur Erläuterung der bekannten Ein- und Ausgabeverfahren und
Fig.2 ebenfalls in symbolischer Darstellung einen
weiteren FIFO-Speicher, an dem die Wirksamkeit des erfindungsgemäßen Verfahrens aufgezeigt werden
kann.
F i g. 2 zeigt einen gegenüber F i g. 1 fortgeschrittenen Zustand der Zwischenspeicherung von Meldungen.
Gegenüber Fig. 1 sind in Fig.2 schon alle Zeilen »1«
bis »e« abgearbeitet, während in die hierdurch frei gewordenen Zeilen Z bis zur Zeile Nr. »h« neue
Meldungen eingegeben wurden, nachdem der FIFO-Speicher S vorher schon bis zur Zeile π vollgeschrieben
war.
Wendet man nun das erfindungsgemäße Verfahren auf die Konstellation nach F i g. 2 an, so kann man sich
vorstellen, daß aus irgendwelchen Gründen eine weitere Ausgabe und damit ein Entleeren der gefüllten Zeile Nr.
»e+1« unterbleibt. Die letzte angewendete Ausgabeadresse A hat also die Nummer »e«. An dieser Größe
von A wird sich, wie schon erläutert, auch nichts ändern, während der Speicher S, ausgehend von der Eingabeadresse
Nr. »h«, immer mehr aufgefüllt wird. Zu irgendeinem Zeitpunkt wird dann der Moment gekommen
sein, wo die Eingabeadresse den Wert »e-1« Isat,
so daß also diese Zeile ebenfalls ausgefüllt ist. Ist dieser Moment erreicht, so lautet die Adresse der Zeile, die als
nächste vollgeschrieben werden soll Nr. »e«. Wendet man jetzt das erfindungsgemäße Verfahren an, so ist die
letzte Ausgabeadresse »e« und die nächste Einschreibeadresse ebenfalls »e«, die Differenz dieser beiden
Adressen ist also Null. Dieses sehr einfach zu gewinnende Kriterium wird erfindungsgemäß dafür
ausgewertet, die Zufuhr weiterer Meldungen zu dem Speicher S zu sperren.
Wie sich zeigt, versagt also das Verfahren hinsichtlich
der Anzeige eines vollen Speichers nicht, es muß allerdings festgestellt werden, daß bei der einfachsten
Ausführung immer eine einzige Zeile (im vorliegenden Ausführungsbeispiel ist es gerade die Zeile »e«) nicht
ι ο gefüllt werden kann.
Somit verbleibt nur noch der Nachweis, daß es bei leerem Speicher nicht zu der eingangs erläuterten
Doppeldeutigkeit kommt Dies soll nachfolgend anhand der Konstellation nach F i g. 1 nachgewiesen werden.
Geht man nämlich, wie in F i g. 1 dargestellt, davon aus, daß eine weitere Eingabe von Meldungen und damit ein
Anwachsen der Eingabeadresse Eunterbleibt, diese also ihren Wert »m« beibehält, während durch Abarbeiten
der einzelnen Zeilen die Ausgabeadresse A ausgehend von »Ar« in Richtung »/n« wächst, so erhält man
schließlich den Zustand, daß A = E = m gilt, der Speicher S also leer ist. In diesem Falle wird aber nicht
die Zufuhr weiterer Meldungen für den Speicher S unterbrochen, da ja die erfindungsgemäße Bedingung
nicht erfüllt ist. Dies kommt daher, daß bei dem Vergleich der Adressen E = m+\ mit A = m für diesen
gegebenen Zustand miteinander verglichen werden. Eine Übereinstimmung der beiden miteinander verglichenen
Adressen ist also hier nicht gegeben, und es wird folglich auch nicht die Zufuhr weiterer Meldungen zu
dem Speicher unterbrochen.
Es ist aber auch ausgeschlossen, daß im vorliegenden Fall der Wert der Ausgabeadresse über »m« anwachsen
könnte, da ja die letzte überhaupt verfügbare Meldung in der Zeile »m« eingeschrieben steht, die Zeilen also
mit höheren Adressen gar nicht abgerufen werden können.
Claims (1)
- Patentanspruch:Verfahren zum Zwischenspeichern einer Mehrzahl von Informationen in einen FIFO-Speicher, bei dem Informationen in beliebiger Folge eingeschrieben und ausgelesen werden, dadurch gekennzeichnet,daß die zuletzt verwendete Ausgabeadresse (A) und die nächste Eingabeadresse (£"+1) markiert werden und danach die beiden so markierten Adressen zur Feststellung des Frei/Besetzt-Zustandes des FIFO-Speichers ^miteinander verglichen werden und
daß dann die Zufuhr neuer Informationen in den FIFO-Speicher (S) unterbrochen wird, wenn die Differenz der beiden Adressen Null wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19772714106 DE2714106C3 (de) | 1977-03-30 | 1977-03-30 | Verfahren zum Zwischenspeichern von Informationen in einem FIFO-Speicher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19772714106 DE2714106C3 (de) | 1977-03-30 | 1977-03-30 | Verfahren zum Zwischenspeichern von Informationen in einem FIFO-Speicher |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2714106A1 DE2714106A1 (de) | 1978-10-12 |
DE2714106B2 DE2714106B2 (de) | 1981-04-30 |
DE2714106C3 true DE2714106C3 (de) | 1982-01-14 |
Family
ID=6005125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772714106 Expired DE2714106C3 (de) | 1977-03-30 | 1977-03-30 | Verfahren zum Zwischenspeichern von Informationen in einem FIFO-Speicher |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE2714106C3 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4635254A (en) * | 1984-12-13 | 1987-01-06 | United Technologies Corporation | Coherent interface with wraparound receive memory |
US4625307A (en) * | 1984-12-13 | 1986-11-25 | United Technologies Corporation | Apparatus for interfacing between at least one channel and at least one bus |
US4623997A (en) * | 1984-12-13 | 1986-11-18 | United Technologies Corporation | Coherent interface with wraparound receive and transmit memories |
DE3689151D1 (de) * | 1986-12-30 | 1993-11-11 | Ibm | Nicht-sperrender Warteschlangenmechanismus. |
FR2636447B1 (fr) * | 1988-08-18 | 1993-03-05 | Telemecanique Electrique | Procede de gestion d'une memoire de messages dans une station d'un reseau de transmission de donnees et station concue pour la mise en oeuvre du procede |
JP2703417B2 (ja) * | 1991-04-05 | 1998-01-26 | 富士通株式会社 | 受信バッファ |
DE10062458B4 (de) * | 2000-12-14 | 2004-06-17 | Whirlpool Corp., Benton Harbor | Schließvorrichtung für eine Waschmaschine oder einen Waschtrockner |
-
1977
- 1977-03-30 DE DE19772714106 patent/DE2714106C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE2714106A1 (de) | 1978-10-12 |
DE2714106B2 (de) | 1981-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2351791C2 (de) | Datenverarbeitungsanlage | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE1449765B2 (de) | Einrichtung zur Abfrage eines assoziativen Speichers | |
DE2551238C3 (de) | Datenkonzentrator | |
DE2222855A1 (de) | Schienentransportsystem fuer Selektionsinformation und Daten | |
DE2756890A1 (de) | Datenverarbeitungssystem | |
DE1774052B1 (de) | Rechner | |
DE2714106C3 (de) | Verfahren zum Zwischenspeichern von Informationen in einem FIFO-Speicher | |
DE2321200B2 (de) | Schaltungsanordnung zur Durchführung logischer Verknüpfungen | |
DE1774053B2 (de) | Uebertragungssystem fuer digitale daten | |
DE2610428C3 (de) | Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher | |
DE1234054B (de) | Byte-Umsetzer | |
DE69937585T2 (de) | Verfahren zum willkürlichen Zugriff auf einen Speicherbereich einer digitalen Verarbeitungsvorrichtung in einem physikalischen Adressierungsmodus und einem virtuellen Adressierungsmodus und Vorrichtung zur Durchführung des Verfahrens | |
EP0077084B1 (de) | Munitionsbehälter, insbesondere Trommelmagazin | |
DE2404887C2 (de) | Schaltungsanordnung für den Informationsaustausch mit einem Rechner | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE1474046A1 (de) | Anordnung zur Umwandlung von Schluesselworten in Adressen | |
DE2142948A1 (de) | Verfahren und Konverter zur Konvertierung von Daten | |
DE1069406B (de) | Imtpuilsgruppensortierung | |
DE4435457C2 (de) | Verfahren zum Archivieren von Prozeßdaten | |
DE2626295C3 (de) | Datenverarbeitungsanlage | |
Predöhl | Gustav Gassel | |
DE1263858C2 (de) | Verfahren zum periodischen abtasten einer vielzahl von leitungen auf ihren elektrischen zustand hin und vorrichtungen zur durchfuehrung dieses verfahrens | |
EP1224509B1 (de) | Verfahren zum initialisieren oder konfigurieren einer elektrischen schaltung | |
DE2815636C2 (de) | Verfahren zur Abwicklung des Vermittlungsbetriebes einer Vermittlungsanlage, insbesondere Fernsprechvermittlungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |