-
Pufferspeicher Die Erfindung bezieht sich auf einen Pufferspeicher,
bei dem gespeicherte Informationen in der Reihenfolge ihrer Anlieferung zu einem
beliebigen späteren Zeitpunkt entnehmbar sind und bei dem die Ein- und Ausspeicherung
zu diesem Zweck zyklisch erfolgt.
-
Derartige Pufferspeicher sind bereits bekannt und im allgemeinen so
aufgebaut, daß zur Speicherung langsam speichernde Elemente, wie z. B. Kondensatoren
usw., benutzt werden. Es sind jedoch auch schon Pufferspeicher bekanntgeworden,
bei denen als Speicherelemente Ferritkerne benutzt werden, jedoch wird bei diesen
bekannten Pufferspeichern die Eigenschaft der schnellen Speichermöglichkeit dieser
Ferritkerne nicht ausgenutzt. Bei den bekannten Pufferspeichern, bei denen die Ein-
und Ausspeicherung zyklisch in der Weise erfolgt, daß eine anliegende Information
jeweils in die innerhalb eines Zyklus einer Zahl von besetzten Zeilen folgende erste
freie Zeile eingespeichert wird und eine zu entnehmende Information jeweils aus
der innerhalb eines Zyklus einer Zahl von freien Zeilen folgenden ersten besetzten
Zeile ausgespeichert wird, waren bisher zwei Steuereinrichtungen notwendig, von
denen die eine zur Einspeicherung und die andere zur Ausspeicherung benutzt wurde.
Die zur Einspeicherung benutzte Steuereinrichtung schaltet dabei nach Einspeicherung
einer Zeile auf die nächste noch freie Zeile und verharrt in diesem Zustand, bis
von der Eingabeeinrichtung ein nächstes Eingangssignal angeliefert wird, während
die Ausgabeeinrichtung jeweils nach Ausspeicherung einer Zeile auf die nächstfolgende,
also letzte besetzte Zeile schaltet und in diesem Zustand verharrt, bis von der
Ausgabeeinrichtung ein Steuerkriterium zur Ansspeicherung dieser Zeile an die Steuereinrichtung
abgegeben wird. Bekanntlich erfordern nun die Steuereinrichtungen bei einem Pufferspeicher
einen um so größeren Aufwand, je größer die Anzahl der auszuwählenden Zeilen ist;
die Steuereinrichtungen stellen daher im allgemeinen den Hauptaufwand bei einem
Pufferspeicher dar, während der Speicher selbst am Gesamtaufwand nur im geringen
Maße beteiligt ist.
-
Es ist Aufgabe der Erfindung, die bekannten Pufferspeicher zu vereinfachen,
insbesondere eine Speicheranordnung mit wesentlich einfacherer Steuereinrichtung
zu schaffen. Der Pufferspeicher in Matrixform zur Ein- und Ausspeicherung von Informationen
ist dadurch gekennzeichnet, daß durch eine einzige Steuereinrichtung die Zeilen
des Pufferspeichers zyklisch auf das Vorhandensein eines Informationsinhaltes überprüft
werden und daß durch die Steuereinrichtung beim Übergang von der im Zyklus zuletzt
belegten Zeile auf die folgende freie Zeile der Einspeicherungsbefehl in der Eingabeeinrichtung
und beim Übergang von den freien Zeilen auf die im Zyklus zuerst belegte Zeile der
Ausspeicherungsbefehl in der Ausgabeeinrichtung wirksam wird.
-
Auf diese Weise ist ein Pufferspeicher mit einer für Ein- und Ausspeicherung
gemeinsamen Steuereinrichtung geschaffen. Die Ein- und Ausspeicherungsbefehle werden
bei der zyklischen Abtastung der Zeilen des Pufferspeichers in Zusammenarbeit mit
der Eingabe- und Ausgabeeinrichtung gewonnen. Der Übergang von einer freien zu einer
belegten Speicherzelle gibt das Kriterium für die Ausspeicherung, während der Übergang
von einer belegten zu einer freien Speicherzelle im ,Zyklus das Kriterium für die
Einspeicherung abgibt: Gemäß einer Weiterbildung der Erfindung kann ein solcher
Pufferspeicher eine große Anzahl von Zeilen umfassen, wobei die Gesamtzahl der Zeilen
in eine Mehrzahl von Abschnitten aufgeteilt ist und jedem solchen Abschnitt eine
Eingabe- und eine. Ausgabeeinrichtung zugeordnet ist und wobei ferner Mittel vorgesehen
sind, um den von der gemeinsamen Steuereinrichtung bewirkten, sich nacheinander
auf alle Zeilen aller Abschnitte erstreckenden Gesamtprüfzyklus dadurch in den einzelnen
Abschnitten zugeordnete Prüfzyklen zu unterteilen, daß jeweils bei Beginn eines
neuen Abschnittes die von der gemeinsamen Steuereinrichtung gesteuerte Einrichtung
vor Abgabe von Steuerkriterien an die Ein- und Ausgabeeinrichtungen in den Zustand
versetzt wird, der dem Zustand der letzten Zeile dieses Abschnittes hinsichtlich
des Vorhandenseins bzw. Nichtvorhandenseins
eines Informationsinhaltes,
also dem Frei- bzw. Besetztzustand der letzten Zeile dieses Abschnittes entspricht.
Die Mittel zur abschnittsweisen Unterteilung des Gesamtprüfzyklus können dabei bewirken,
daß die gemeinsame Steuereinrichtung vor Beginn der Prüfung eines neuen Abschnittes
erst die letzte Zeile dieses Abschnittes prüft.
-
Der Vorteil dieses erfindungsgemäßen Pufferspeichers gegenüber den
bekannten Pufferspeicheranordnungen liegt im wesentlichen darin, daß einerseits
die bei den bekannten Pufferspeichern notwendige zweite Steuereinrichtung gespart
wird und daß andererseits die bei dem erfindungsgemäßen Pufferspeicher nur notwendige
eine Steuereinrichtung vermittels eines neuartigen Steuerverfahrens, bei dem die
Schnellspeichereigenschaften der als Speicherelemente verwendeten Ferritkerne ausgenutzt
werden, ohne wesentliche Steigerung des Aufwandes eine beträchtliche Erhöhung der
Zahl der anzusteuernden Zeilen des Speichers zuläßt.
-
Der letztgenannte Vorteil beruht darauf, daß die Steuereinrichtung
eines erfindungsgemäßen Pufferspeichers die einzelnen Zeilen des Speichers zyklisch
prüft, wobei für einen Prüfvorgang entsprechend den Schnellspeichereigenschaften
der als Speicherelemente verwendeten Ferritkerne nur eine verhältnismäßig geringe
Zeit beansprucht wird, so daß der sich auf alle Zeilen erstreckende Gesamtprüfzyklus
in einem Zeitintervall stattfinden kann, das kleiner als die normale Zeitdauer einer
zu speichernden Information, also kleiner als z. B. die Zeitdauer des Einlaufes
einer Information bei der Eingabeeinrichtung ist.
-
Ein Pufferspeicher nach der Erfindung eignet sich daher insbesondere
zur Speicherung von Informationen, die mit einer verhältnismäßig niedrigen Frequenz
ankommen und mit der gleichen niedrigen Frequenz wieder abgegeben werden müssen.
Eine solche Aufgabenstellung liegt häufig in der Vermittlungstechnik vor. Dort werden
z. B. durch Wählimpulse dargestellt Informationen mit einer Frequenz von maximal
10 Hz bei der Eingabeeinrichtung des Pufferspeichers angeliefert, die in gleicher
Reihenfolge und mit der gleichen Frequenz zu einem späteren Zeitpunkt von der Ausgabeeinrichtung
an eine angeschlossene Leitung weitergegeben werden.
-
An Hand der folgenden Figuren ist die Erfindung an einigen Ausführungsbeispielen
näher erläutert. Es zeigt F i g. 1 ein Prinzipschema eines erfindungsgemäßen Pufferspeichers,
F i g. 2 ein Prinzipschema eines in mehrere Abschnitte unterteilten Pufferspeichers
nach der Erfindung, der mit einer der Anzahl der Abschnitte entsprechenden Anzahl
von Ein- und Ausgabegeräten zusammenarbeitet, F i g. 3 ein Blockschaltbild eines
in zwei Abschnitte unterteilten erfindungsgemäßen Pufferspeichers, F i g. 4 ein
Impulsprogramm zur Steuerung des in F i g. 3 gezeigten Pufferspeichers.
-
Die prinzipielle Wirkungsweise der Erfindung sei an Hand des in F
i g. 1 dargestellten Prinzipschemas beschrieben.
-
Eine an die Eingabeeinrichtung E parallel oder in Reihe angelieferte
Information wird dort zunächst gespeichert. Es ist zu bemerken, daß die Speicherfähigkeit
der Eingabeeinrichtung sich lediglich auf einen Informationsinhalt beschränkt, der
dem einer Zeile des Speichers Sp entspricht. Während des Ein-Laufens der Information
in die Eingabeeinrichtung prüft die gemeinsame Steuereinrichtung St fortlaufend
die einzelnen Zeilen des Speichers in zyklischer Reihenfolge auf das Vorhandensein
eines Informationsinhaltes in der Weise, daß der eventuell in der zu prüfenden Zeile
vorhandene Informationsinhalt in ein Zwischenregister Z übernommen wird, dort die
übernommene Zeile auf das Vorhandensein eines Informationsinhaltes geprüft und nach
erfolgter Prüfung wieder in die entsprechende Zeile des Speichers Sp zurückübertragen
wird, wenn nicht in einem noch später zu erläuternden Ausnahmefall eine sofortige
Weitergabe an die Ausgabeeinrichtung A erfolgt. Der Gesamtzyklus der Prüfung aller
Zeilen des Speichers nimmt dabei eine geringere Zeitdauer als die Anlieferung einer
Information an die Eingabeeinrichtung in Anspruch. Bei Einspeicherung nacheinander
einlaufender Informationen in jeweils aufeinanderfolgende Zeilen und einer in der
gleichen Reihenfolge wie die Einspeicherung erfolgenden Ausspeicherung tritt innerhalb
eines solchen Gesamtprüfzyklus jeweils einmal ein Wechsel von einer besetzten zu
einer freien Zeile und einmal ein Wechsel von einer freien zu einer besetzten Zeile
auf. Jeder solche Wechsel bewirkt eine Zustandsänderung der bistabilen Einrichtung
F, so daß also der jeweilige Zustand dieser bistabilen Einrichtung F dem Frei- bzw.
Besetztzustand der jeweils geprüften Zeile entspricht. Beim Wechsel von einer besetzten
zu einer freien Zeile gibt die bistabile Einrichtung F ein erstes Steuerkriterium
über die Steuereinrichtung St an die Eingabeeinrichtung E ab, welches die
Einspeicherung einer bei der Eingabeeinrichtung eventuell anliegenden Information
in die dem Wechsel folgende erste freie Zeile veranlaßt. Beim Wechsel von einer
freien zu einer besetzten Zeile gibt die bistabile Einrichtung F weiterhin ein zweites
Steuerkriterium über die Steuereinrichtung St an die Ausgabeeinrichtung ab,
welches im Falle der Bereitschaft der Ausgabeinrichtung zur Übernahme einer Information
veranlaßt, daß der in den Zwischenspeicher Z zur Prüfung übernommene Informationsinhalt
dieser ersten besetzten Zeile nicht mehr in die entsprechende Zeile zurückübertragen,
sondern sofort an die Ausgabeeinrichtung weitergegeben wird.
-
F i g. 2 zeigt das Prinzipschema eines in mehrere Abschnitte unterteilten
Pufferspeichers nach der Erfindung, bei dem jedem Abschnitt eine Eingabe-und eine
Ausgabeeinrichtung zugeordnet ist. Eine solche Aufteilung in mehrere Abschnitte
bringt den Vorteil, daß für eine Vielzahl von Eingabe- und Ausgabeeinrichtungen
nur eine einzige Steuereinrichtung St vorgesehen werden muß und bringt damit
eine weitere Aufwandsersparnis mit sich. Die Arbeitsweise eines solchen in mehrere
Abschnitte unterteilten Pufferspeichers ist im Prinzip die gleiche wie die des in
F i g. 1 gezeigten und an Hand dieser Figur schon näher erläuterten Pufferspeichers.
Der Unterschied besteht im wesentlichen darin, daß der von der gemeinsamen Steuereinrichtung
bewirkte, sich nacheinander auf alle Zeilen aller Abschnitte erstreckende Gesamtprüfzyklus
in den einzelnen Abschnitten zugeordnete Einzelprüfzyklen unterteilt ist. Zu diesem
Zweck wird die bistabile Einrichtung F jeweils bei Beginn eines neuen Abschnittes
in den Zustand versetzt, der dem Zustand der letzten Zeile dieses Ab-
Schnittes
hinsichtlich des Vorhandenseins bzw. Nichtvorhandenseins eines Informationsinhaltes,
also dem Frei- bzw. Besetztzustand der letzten Zeile dieses Abschnittes entspricht.
Eine solche Steuerung der bistabilen Einrichtung F kann z. B. dadurch bewirkt werden,
daß die gemeinsame Steuereinrichtung vor Beginn der Prüfung eines neuen Abschnittes
erst die letzte Zeile dieses Abschnittes prüft.
-
F i g. 3 zeigt ein Blockschaltbild eines erfindungsgemäßen Pufferspeichers,
der in zwei Abschnitte mit je vier Zeilen unterteilt ist. Diese Aufteilung wurde
nur zur Vereinfachung der Erklärung gewählt. Im allgemeinen ist die Anzahl der Abschnitte
und Zeilen wesentlich größer. Die beiden Abschnitte 1 und 2 bestehen aus je vier
Zeilen 3 bzw. 4. Dabei kann jede Zeile eine zu speichernde Information (Ziffer)
aufnehmen. Ein zentraler Pulsgenerator 5 liefert das zur Steuerung der Speicher
nötige Pulsprogramm. Der Zähler 6 hat fünf Stufen, der Zähler 7 hat zwei Stufen.
Der zentrale Pulsgenerator 5 schaltet den Zähler 6 weiter, während dieser nach jedem
Umlauf einen Fortschaltimpuls an den Zähler 7 liefert. Die Durchschalteinrichtung
8 verbindet die einzelnen Zeilen 3 bzw. 4 der Speicherabschnitte 1 bzw. 2 mit dem
Pulsgenerator 5, der die Lese- und Schreibimpulse für den Speicher liefert.
-
Das vom zentralen Pulsgenerator gelieferte Impulsprogramm besteht
aus vier sich periodisch wiederholenden Impulsen (F i g. 4). Diese gehen über vier
getrennte Leitungen zu den einzelnen Baugruppen. Der Leseimpuls TL und der
Schreibimpuls TS gehen zur Durchschalteinrichtung B. Der Fortschaltimpuls TF geht
zum Zähler 6, und der Impuls TR dient für eventuell notwendige logische Operationen
und für Überträge von Informationen, z. B. vom Eingang 11 über die Torschaltung
10 zum Register 9 usw.
-
Die Zeitspanne to einer Periode ist so bemessen, daß die Zeit für
die Abtastung des gesamten Speichers (d. h. im gewählten Beispiel für zehn Perioden)
kleiner ist als der kleinste mögliche Zeitabstand zwischen der Anlieferung bzw.
Ausgabe zweier aufeinanderfolgender Informationen über die Einrichtung 11 oder 12
bzw. 14 oder 15. Die zwei Stufen des Zählers 7 bestimmen, welcher der beiden Speicherabschnitte
1 und 2 abgetastet wird. Damit ist mit der Steuerung der Tore 10 bzw. 13 durch den
Zähler 7 eine Zuordnung zwischen den Eingängen 11 bzw. 12, den Ausgängen 14 bzw.
15 und den Speicherabschnitten 1 bzw. 2 gegeben. Die fünf Stufen 0 bis 4 des Zählers
6 legen fest, welche der mit I bis IV bezeichneten Zeilen des durch Zähler 7 bestimmten
Speicherabschnittes abgetastet wird. Bei Stellung »0« des Zählers 6 wird zunächst
die Zeile IV abgetastet, um den zyklischen Anschluß zu bekommen. Danach werden der
Reihe nach die Zeilen I bis IV abgetastet. In Stellung »0« des Zählers 6 wird grundsätzlich
keine Änderung der Information im Register 9 und damit in der Zeile IV vorgenommen.
Diese Änderungen erfolgen gegebenenfalls in Stellung »4« des Zählers 6. Beim Lesen
einer Zeile 3 bzw. 4 wird die in dieser Zeile enthaltene Information auf das Speicherregister
9 übertragen. Auf die Eingangsschaltungen 11 und 12 wird die einzuspeichernde Information
angeliefert, über eine Torschaltung 10 können die in 11 bzw. 12 anliegenden Informationen,
gesteuert durch Zähler 7, wahlweise auf das Register 9 übertragen werden. Andererseits
kann eine im Register 9 stehende Information über die ebenfalls durch Zähler 7 gesteuerte
Torschaltung 13 auf die Ausgangsschaltungen 14 bzw. 15 wahlweise übertragen werden,
wenn sie von diesen abgerufen werden.
-
Außerdem enthält die Einrichtung noch zwei bistabile Schaltungen (Flip-Flops)
16,17. Ihre Ruhestellung ist die Position »0«. Der Flip-Flop 16 wird, wenn das Register
9 eine vom Speicher abgelesene Information enthält, in Stellung »1« gebracht zum
Zeitpunkt TS der betreffenden Periode. Er wird zum gleichen Zeitpunkt in Position
»0« gekippt, wenn keine Information im Speicher stand, d. h. auch Register 9 keine
Information enthält. Auf diese Weise kann man feststellen, welche Zeile des Speichers
in der Reihenfolge der Abtastung gesehen die erste ist, die eine Information enthält
(d. h. die auf Abruf der Ausgangsschaltung 14, 15 dorthin übertragen werden kann)
bzw. welche Zeile als erste keine Information enthält (d. h. welche eine eventuell
an der Eingangsschaltung 11, 12 anliegende Information übernehmen und speichern
kann). Die erste belegte Zeile ist dadurch gekennzeichnet, daß zum Zeitpunkt TR
die Zeile belegt und Flip-Flop 16 in Position »0« ist. Entsprechend ist bei der
resten freien Zeile Flip-Flop 16 in Position »1«.
-
Der Flip-Flop 17 wird immer in Position »1« gebracht, wenn eine erste
freie Zeile erscheint und in Position »0« zurückgekippt durch den Fortschalteimpuls
von Zähler 6 an Zähler 7. Auf diese Weise kann am Ende der Abtastperiode eines Speicherabschnittes
festgestellt werden, ob der Speicherabschnitt leer ist bzw. ob die Eingabe die Ausgabe
eingeholt hat, d. h. der Speicherabschnitt vollständig gefüllt ist. Aus den bisherigen
Angaben kann man nun auf den Ablauf der Vorgänge schließen. Es wird als Beispiel
angenommen, daß der Speicherabschnitt 1 belegt wird. Gleiches gilt entsprechend
für Speicherabschnitte 2 und eventuell weitere Speicherabschnitte.
-
Im Ruhezustand sind alle Zeilen 3 leer. Die Flip-Flops 16, 17 bleiben
in Position »0«. Wird nun eine Information am Eingang 11 angelegt, so wird
diese zum Zeitpunkt TR über die Torschaltung 10 auf das Register 9 übertragen,
wenn am Ende der Abtastperiode des Speicherabschnittes l festgestellt wird, das
der Speicherabschnitt leer ist, d. h. das Register 9 leer, der Flip-Flop 17 in Position
»0« und der Zähler 6 in Position »4« ist. Damit wird diese Information in Zeile
IV des Speicherabschnitts 1 eingetragen. Bei Beginn der nächsten Abtastung des Speicherabschnitts
1 wird, wenn der Zähler 6 in Position »0« ist, wieder die Zeile IV des Speicherabschnitts
1 abgetastet, die ja nun eine Information enthält. Damit wird mit dem Impuls T,
der Flip-Flop 16 in Position »1« gekippt. Mit dem darauffolgenden Impuls TF wird
Zähler 6 in Position »1« gebracht und dann mit TL die Zeile I des Speicherabschnitts
1 abgelesen. Diese enthält keine Information. Aus dieser Tatsache und der Position
»1« des Flip-Flops 16 ergibt sich das Kriterium, daß die Zeile I in zyklischer Reihenfolge
gesehen die erste freie Zeile des Speicherabschnitts 1 ist. Den obengenannten Bedingungen
zufolge wird deshalb mit TR der Flip-Flop 17 in Position » 1 « und mit dem darauffolgenden
TS Flip-Flop 16 wieder in Position »0« gekippt. Erscheint nun eine weitere Information
am Eingang 11, so wird sie in gleicher Weise auf Register 9 übertragen, aber diesmal
während der Abtastperiode von Zeile I in Speicherabschnitt 1 (d. h. Zähler 6 in
Position »1«), da diese Zeile in der beschriebenen
Weise als die
erste freie Zeile in zyklischer Reihenfolge erkannt wurde. Damit wird auch Zeile
I besetzt und Zeile 1I ist die erste freie Zeile usw. Andererseits ist aber Zeile
IV als die erste belegte Zeile gekennzeichnet, und zwar dadurch, daß bei Zähler
6 in Position »4« der Fhp-Flop 16 in Position »0« ist, bis er erst zum Zeitpunkt
TS dieser Abtastperiode in Position »1« gekippt wird. Damit wird bei Anforderung
von Ausgang 14 her beim Abtasten der Zeile IV im Zeitpunkt TL die darin stehende
Information auf Register 9 übertragen und von dort mit TR weiter über Torschaltung
13 auf Ausgang 14. Gleichzeitig wird das Register 9 gelöscht, d. h., es wird nun
in Zeile IV nicht mehr eingeschrieben. Bei der nächsten Abtastperiode wird dies
bei Position »0« des Zählers 6 festgestellt und deshalb Flip-Flop 16 in Position
»0« gebracht, falls er vorher in Position »1« war (vom Speicherabschnitt 2 her).
Damit wird aber die Zeile I als erste belegte Zeile gekennzeichnet. Wie man leicht
erkennen kann, ist es möglich, den Speicherabschnitt 1 immer zyklisch fortlaufend
zu belegen, wenn die Eingabe im Durchschnitt nicht schneller erfolgt als die Ausgabe.
Sollte es geschehen, daß die Ausgabe von der Eingabe eingeholt wird, so kann man
dies dadurch feststellen, daß beim Abtasten von Zeile IV in Stellung »4« des Zählers
6 der Flip-Flop 17 in Position »0« ist und das Register 9 belegt ist. Flip-Flop
17 bleibt nämlich in Position »0«, weil keine freie Zelle mehr vorhanden ist. Dies
ist nämlich die Voraussetzung, daß Flip-Flop 17 in Position »1« gebracht wird.