DE2210333B2 - Speicheranordnung mit Schieberegistern - Google Patents

Speicheranordnung mit Schieberegistern

Info

Publication number
DE2210333B2
DE2210333B2 DE2210333A DE2210333A DE2210333B2 DE 2210333 B2 DE2210333 B2 DE 2210333B2 DE 2210333 A DE2210333 A DE 2210333A DE 2210333 A DE2210333 A DE 2210333A DE 2210333 B2 DE2210333 B2 DE 2210333B2
Authority
DE
Germany
Prior art keywords
memory
shift register
words
arrangement
word
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
DE2210333A
Other languages
English (en)
Other versions
DE2210333C3 (de
DE2210333A1 (de
Inventor
Hendrik Henricus Maria Beekbergen Tromp (Niederlande)
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 DE2210333A1 publication Critical patent/DE2210333A1/de
Publication of DE2210333B2 publication Critical patent/DE2210333B2/de
Application granted granted Critical
Publication of DE2210333C3 publication Critical patent/DE2210333C3/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • G11C19/287Organisation of a multiplicity of shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/007Digital input from or digital output to memories of the shift register type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)
  • Image Input (AREA)
  • Executing Machine-Instructions (AREA)
  • Dram (AREA)

Description

Die Erfindung betrifft eine Speicheranordnung mit einem Schieberegisterspeicher aus wenigstens k in sich selbst rückkoppelbaren Schieberegistern, wobei zur Speicherung von η Wörtern mit einer Länge von je k Bits jedes Schieberegister η Bitstellen aufweist, einer Einschreibe/Auslese-Stelle, einem Taktimpulsgeber zum Abgeben von Taktimpulsen für den Betrieb des Schieberegisterspeichers und weiter mit Selektionsmitteln zum Selektieren von Wörtern aus der Speicheranordnung auf Grund der von außen angebotenen .Selektionsinformation.
Derartige Schieberegisterspeicher, die dann, wenn die Schieberegister nebeneinander angeordnet sind, Felder zur Informationsspeicherung bilden, stehen immer mehr im Mittelpunkt des Interesses, da die Integrationstechniken zur Integration im mittleren und großen Umfang Fortschritte erzielen. Andere Arten von Schieberegisterspeichern mit großer Kapazität sind in Form von beispielsweise magnetischen Domänenspeichern denkbar. Ferner muß man auch Verzögerungsleitungen, Trommel- und Scheibenspeicher als Schieberegisterspeicher betrachten, von denen in dieser Erfindung die Rede ist. Die erzielbaren Schiebegeschwindigkeiten und/oder die große Speicherkapazität verursachen, daß diese Schieberegisterspeicher ein immer größeres Anwendungsgebiet finden. Ein Nachteil von Schieberegisterspeichern ist jedoch die Tatsache, daß die Zugriffszeit durch die Hälfte der Anzahl von Bitstellen
1(J* im Schieberegister bestimmt ist, beispielsweise —,
multipliziert mit der Schiebezeit pro Stufe, die für ein
integriertes Schieberegister beispielsweise 10 Nanosekunden betragen kann, also beispielsweise 1/2 · 10« · lONsek = 5(^sek. Bei rotierenden Speichern ist letzteres durch die Rotationsgeschwindigkeit bestimmt Dies bedeutet mithin, daß trotz einer hohen Schiebe- oder Rotationsgeschwindigkeit dennoch eine verhältnismäßig lange Zugriffszeit entsteht
Die Erfindung bezweckt, die mittlere Zugriffszeit im obenerwähnten Schieberegisterspeicher zu verringern. Um dies zu erreichen, ist die erfindungsgemäße Speicheranordnung dadurch gekennzeichnet, daß sie zum Verkürzen der mittleren Zugriffszeit ferner einen über Tore mit dem Schieberegisterspeicher verbindbaren Hilfsschieberegisterspeicher mit wenigstens k in sich selbst rückkoppelbaren Schieberegistern enthält, wobei jedes Schieberegister m<n Bitstellen zur Speicherung von m Wörtern aufweist, und zwar insbesondere der m in der Speicherkonfiguration gespeicherten Wörter, nach denen von außen wiederholt gefragt wird, und wobei der Taktimpulsgeber Impulse für den Betrieb des Hilfsschieberegisterspeichers abgibt, so daß das Ergebnis einer Selektion in der Speicheranordnung vorzugsweise ein direkt aus dem Hilfsschieberegisterspeicher herrührendes Wort ist.
Die Anwendung des erwähnten Hilfsschieberegisterspeichers ist vorteilhaft, weil in der Praxis in bestimmten Situationen und/oder in bestimmten Momenten bestimmte Wörter aus einem Speicher häufiger verwendet werden als andere. Die Selektionsinformation kann eine Adresseninformation oder auch eine andere Information sein. Es ist denkbar, daß in Wörtern des Schieberegisterspeichers bestimmte Bits eine charakteristische Information enthalten, nach der ein derartiges Wort selektierbar ist, beispielsweise Bits, die einen bestimmten Namen beschreiben. Wenn das Wort, das den Namen enthält, gesucht wird, so liefern die Bits die Möglichkeit zum Selektieren. Es sind mithin außer Adressenassoziationen auch gegebenenfalls zugleich im System vorhandene andere Assoziationen zum Selektieren möglich.
Um die Selektion möglichst zweckmäßig verlaufen zu lassen, sind Selektionsmittel, die nur aus einer Vergleichsanordnung für die gesamte Speicheranordnung bestehen, unzureichend, und ist es entsprechend einer Ausführungsform gemäß der Erfindung zweckmäßig, daß die Selektionsmittel zum Selektieren von Wörtern aus der Speicheranordnung aus einer ersten Vergleichsanordnung bestehen, in der die von außen angebotene Selektionsinformation mit. der Information im Schieberegisterspeicher verglichen wird, sowie ferner aus einer zweiten Vergleichsanordnung, in der die von außen angebotene Selektionsinformation mit der Information im Hilfsschieberegisterspeicher verglichen wird, wobei das betreffende Wort in der Speicheranordnung bei einer Anzeige von Gleichheit in der erwähnten ersten oder zweiten Vergleichsanordnung selektiert ist und einem Ausgangsregister zuführbar ist.
Wenn es sich insbesondere um Adressenassoziation handelt so ist es nicht unbedingt erforderlich, daß die Adresse auch in ihrer Gesamtheit in den Schieberegisterspeicher aufgenommen ist. Die Stelle eines Worts in einem Schieberegisterspeicher kann nämlich durch die Stellung eines mit dem Schieberegisterspeicher mitlaufenden Adressenzählers festgelegt sein.
So können in einer Speicherkonfiguration entsprechend dem obenerwähnten Gesichtspunkt die Mittel zum Selektieren von Wörtern aus dem Schieberegisterspeicher der Speicheranordnung ein Adressenregister zur Speicherung von von außen angebotenen Adressen, einen durch die erwähnten Taktimpulse gespeisten Adressenzähler, mit dem die Adressen der Wörter im
ΐ Schieberegisterspeicher bestimmt sind, und eine erste Vergleichsanordnung zum Feststehen einer Obereinstimmung zwischen einer Adresse im Adressenregister und im Adressenzähler enthalten, wobei der Hilfsschieberegisterspeicher ein Feld von wenigstens k+\
ίο Schieberegistern zur Speicherung der erwähnten m Wörter mit einer Länge von k Bits und der zu diesen m Wörtern gehörigen Adressen tm Schieberegisterspeicher mit einer Länge von / Bits enthält, und wobei eine zweite Vergleichsanordnung die Gleichheit zwischen einer Adresse im Adressenregister und einer im Hilfsschieberegisterspeicher gespeicherten Adresse anzeigt, wobei das betreffende Wort in der Speicheranordnung bei einer Anzeige von Gleichheit in der erwähnten ersten oder zweiten Vergleichsanordnung selektiert ist und einem Ausgangsregister zuführbar ist
Beim einfachsten Aufbau der erfindungsgemäßen Speicheranordnung kann ein Wort gegebenenfalls unmittelbar dann, wenn das Wort in den Schieberegisterspeicher eingetragen wird, auch in den Hilfsschieberegisterspeicher aufgenommen werden. Andererseits ist es auch möglich, daß ein Wort, das bereits früher im Schieberegisterspeicher vorhanden war, nicht eher in den Hilfsschieberegisterspeicher aufgenommen wird, bevor nich* das Wort aus dem Schieberegisterspeicher
jo abgefragt ist Ist im einen und/oder anderen Fall der Hilfsschieberegisterspeicher vollständig besetzt, so kann ein neu aufzunehmendes Wort ein bereits vorhandenes Wort überschreiben. Ein solches zu überschreibendes Wort kann dazu auch zunächst wieder in den Schieberegisterspeicher zurückgesetzt sein.
Wenn ein Wort in einem Rechenvorgang oder einer anderen Informationsbehandlung behandelt wird, so ist die Möglichkeit groß, daß es einige Male kurz nacheinander wieder angefordert wird. Wie groß diese Möglichkeit genau ist, hängt vollständig vom Programm ab. Steht das Wort nun im Hilfsschieberegisterspeicher, so wird es wenigstens soviel mal schneller gefunden, wie dieser Hilfsschieberegisterspeicher kürzer ( - J ist als
der Schieberegisterspeicher selbst, vorausgesetzt, daß beide dieselbe Schiebegeschwindigkeit haben. Ist im obenerwähnten Beispiel /J=IO4 und /n=256, so ist die mittlere Zugriffszeit für dieses Wort etwa 40 χ kleiner, nämlich
256
χ lONsek = 1,28
Weil hier /n = 256 ist, können hier mithin 256 Wörter mit dieser viel kleineren Zugriffszeit gefunden werden.
Die Frage tritt auf, welche m der η Wörter aus dem Schieberegisterspeicher mit größter Wahrscheinlichkeit
bo angefordert werden. Wenn dies vorher bekannt ist, kann es berücksichtigt werden. Dazu ist in der Speicheranordnung noch bei Informationswörtern oder deren Adressen eine Prioritätsinformation vorhanden, wobei in einer vorhandenen Prioritätsanordnung auf Grund
b5 der erwähnten Prioritätsinformation feststellbar ist, welche m der η Informationswörter des Schieberegisterspeichers in den Hilfsschieberegisterspeicher eintragbar sind. Dabei wird also festgestellt, welche Wörter
am besten in den Hilfsschieberegisterspeicher aufgenommen werden können, um eine möglichst niedrige mittlere Zugriffszeit zu erhalten.
Auch ist es möglich, andere Kriterien zu handhaben, um zu bestimmen, welche Wörter in den Hilfsschieberegisterspeicher aufgenommen werden müssen, wobei früher in den Hilfsschieberegisterspeicher aufgenommene Wörter überschrieben oder in den Schieberegisterspeicher zurückgesetzt werden, wenn dieser Speicher vollständig besetzt ist.
In der Speicheranordnung besteht dazu der Hilfsschieberegisterspeicher aus wenigstens k+p bzw. k+I+p Schieberegistern, wobei in den vorhandenen m Wörtern das wenigstens eine Bi'. ρ zur Speicherung von Prioritätsinformation dient, die entsprechend einem bestimmten Algorithmus auf Grund der wiederholten Anfrage nach einem Wort in einem Prioritätserzeuger feststellbar ist, und wobei die Priorität bestimmt, ob das Wort im Hilfsschieberegisterspeicher stehen bleibt oder ob es in den Schieberegisterspeicher zurückgesetzt wird. Der erwähnte Algorithmus kann ein Algorithmus sein, wodurch beim Einschreiben eines neuen Worts in den Hilfsschieberegisterspeicher beispielsweise das am längsten nicht verwendete Wort überschrieben oder in den Schieberegisterspeicher zurückgesetzt wird.
Ein anderer Algorithmus kann ein Algorithmus sein, wodurch beim Einschreiben eines neuen Worts dasjenige Wort, das am wenigsten abgefragt wurde, überschrieben oder zurückgesetzt wird.
Es sei bemerkt, daß die erwähnte Speicheranordnung besonders dann, wenn der Schieberegisterspeicher und der Hilfsschieberegisterspeicher gleichartig sind, gegebenenfalls gemeinsam mit anderen Teilen der Anordnung vorteilhaft als eine Gesamtheit in der Integrationstechnik ausführbar ist.
In der Praxis werden in der Speicheranordnung häufig Schieberegisterspeicher verwendet, bei denen die Schiebegeschwindigkeit des Hilfsschieberegisterspeichers um einen Faktor c größer ist als diejenige des Schieberegisterspeichers und bei denen die Anzahl von Wörtern des Hilfsschieberegisterspeichers gleich dem Faktor eist.
Hiermit ist es möglich, große, preisgünstige, aber verhältnismäßig langsamere Schieberegisterspeicher, beispielsweise magnetische Domänen-Schieberegisterspeicher, Trommel- oder Scheibenspeicher als Schieberegisterspeicher zu verwenden, während der Hilfsschieberegisterspeicher aus schnellen, kleinen und verhältnismäßig kostspieligen Schieberegistern bestehen kann. Durch die Wahl des Faktors c ergibt der Größenunterschied zwischen den beiden Speichern keine Probleme; es besteht nahezu keine Möglichkeit, daß die Synchronisation nicht richtig arbeitet, und außerdem wird ein Wort, wenn es im Hilfsschieberegisterspeicher steht, hierin immer eher gefunden als im Schieberegisterspeicher selbst, vorausgesetzt, daß das Wort auch noch darin steht. Das ist wichtig, weil sonst die Möglichkeit besteht, daß ein Wort mehrere Male in den Hilfsschieberegisterspeicher aufgenommen wird. Dies wäre sehr unzweckmäßig, weil dann nämlich andere, beispielsweise auch häufig verwendete Wörter keinen Raum mehr im Hilfsschieberegisterspeicher finden. Als Beispiel möge ein verhältnismäßig langsamer Schieberegisterspeicher mit 2 · 105 Wörtern und einer Schiebegeschwindigkeit pro Schritt von I μsek gelten, so ist seine mittlere Zugriffszeit 100 Millisekunden. Als Beispiel möge dabei ein Hilfsschieberegisterspeicher mit einer Geschwindigkeit von 10 Nanosekunden gelten, dessen Inhalt bei einem Schritt des großen Schieberegisterspeichers einmal umläuft, d. h.,
in = c =
Κ)nsec
= 100 Wörter
Der Hilfsschieberegisterspeicher hat dann eine mittlere Zugriffszeit von 0,5 μβε^ Angenommen sei ferner, daß die Möglichkeit eines anzufordernden Worts κι im Hilfsschieberegisterspeicher beispielsweise zu 85% vorhanden ist, so beträgt die mittlere Zugriffszeit für diese 2 · 105 Wörter:
0,85 χ 0,5 μsek + 0,15 χ 100 msek = 15 msek
ι ■-> oder eine Verbesserung um einen Faktor 7.
Ausführungsbeispiele der Erfindung werden anhand einiger in den Zeichnungen dargestellter Ausführungsbeispiele näher erläutert. Es zeigt
F i g. 1 ein erstes Beispiel einer erfindungsgemäßer Speicheranordnung,
F i g. 2 ein zweites Beispiel einer erfindungsgemäßer Speicheranordnung,
F i g. 3 noch ein anderes Beispiel eines Aufbaus einer erfindungsgemäßen Anordnung.
>> Es sei bemerkt, daß die erwähnten Figuren nur Beispiele möglicher Ausführungsformen sind. Andere Anordnungen u. dgl. wie bei einem Trommel- oder Scheibenspeicher, wobei die Schieberegister durch die Spuren auf der Trommel oder durch entsprechende
jo Spuren auf den Scheiben gebildet werden, sind denkbar. In F i g. 1 stellt 1 einen in sich selbst rückgekoppelter Schieberegisterspeicher mit einem Feld von k Schieberegistern SR 1 dar. Jedes Schieberegister SRi, das ar sich wieder aus einer Reihe von Sub-Schieberegistern
j-> bestehen könnte, hat η Bitstellen. Die Stelle IO1 ist die Einschreibe/Auslese-Stelle. Ferner bezeichnet 2 einen ir sich selbst rückgekoppelten Hilfsschieberegisterspeicher, hier gleichfalls mit einem Feld von k Schieberegistern SR 2.
Jedes Schieberegister SR 2 hat m<n Bitstellen. Die Stelle IO 2 ist die Einschreibe/Auslese-Stelle des Speichers 2. CL ist ein Taktimpulsgeber, der gegebenenfalls nach einer Frequenzteilung (oder Vervielfachung] in CL 1 bzw. CL 2 die Taktimpulse für den Speicher 1 3 bzw. 2 abgibt. Dies kann kontinuierlich erfolger (dynamische Schieberegister) oder nur dann, wenr gesucht wird (statische Schieberegister). Die Wörtei sind in der Figur horizontal in den Speicherr angeordnet und mithin k Bits lang. In diesem Beispie!
■>o werden die Wörter in Serie oder vorzugsweise parallel über ein Einschreibetor 10 (das selbstverständlich zui Parallelverarbeitung aus so vielen Toren besteht, wie Bits in einem Wort sind) des Eingangs / auf einer Einschreibebefehl an der Klemme IC hin in der
>5 Speicher 1 eingeschrieben. In diesem Beispiel se angenommen, daß die Wörter selbst die Informatior enthalten, nach der sie selektiert werden können. Die; kann gegebenenfalls entsprechend einer bestimmter Reihenfolge eine Adresseninformation, aber auch ein«
mi andere Information (beispielsweise ein Eigenname od. dgl.) sein. Angenommen, die bezeichneten Bits b dei Wörter enthalten diese Assoziationsinformation. Wire nun nach einem bestimmten Wort gefragt, so wird übei die Klemme RA diese Assoziationsinformation einen
bi Register AR zugeführt. Dieses Register AR bietet di( Information einer ersten Vergleichsanordnung AVi an die als Selektionsmittel für den Speicher 1 dient, unc einer zweiten Vergleichsanordnung AV2, die ah
Selektionsmittel zum Anzeigen von Gleichheit zwischen der erwähnten von außen angebotenen Assoziationsinformation und der entsprechenden Information im Speicher 2 dient. Ist das angefragte Wort im Speicher 2 vorhanden, so kann es schnell gefunden werden (m<n).
Wenn die Taktimpulsfrequenz für den Speicher 2 um einen Faktor c-mal so hoch ist wie diejenige für den Speicher 1 (der Speicher 2 ist dann c-mal schneller als der Speicher 1) und wenn m=c ist, so ist es sicher, daß dann, wenn das angeforderte Wort im Speicher 2 ist, das ι ο Wort darin auch zuerst gefunden wird. Dabei gibt A V2 ein Signal ab, mit dem das Auslesetor 12 (hierbei gilt dasselbe wie für Tor 10) das betreffende Wort durchläßt und einem Ausgangsregister OTR abgibt Das Wort geht dabei nicht aus dem Speicher 2 verloren. Befand sich das Wort (noch) nicht im Speicher 2, so wird es im allgemeinen nach längerer Zeit im Speicher 1 gefunden. Dann gibt Λ Vl ein Signal ab, mit dem das Auslesetor 11 (ebenfalls aufgebaut wie 12) das betreffende Wort durchläßt und in das Register OTR eingibt. Das Wort bleibt dabei auch im Speicher 1 vorhanden. Zur gleichen Zeit kann die Vergleichsanordnung AVl auch ein Signal an Tor 13 abgeben (auch aufgebaut wie 11 und 12), um dafür zu sorgen, daß das angeforderte und nun im Speicher 1 gefundene Wort auch zum Speicher 2 übertragen v/ird. Dabei kann das Wort in Abhängigkeit von der praktischen Anforderung gegebenenfalls aus dem Speicher 1 verschwinden. Das Wort wird im Speicher 2 beispielsweise auf eine noch leere Stelle geschrieben, oder es ersetzt ein bereits vorhandenes Wort, das selbst gegebenenfalls wieder in den Speicher 1 aufgenommen werden kann, siehe die gestrichelte Linie /1, über die das Wort über ein Tor 14 transportiert wird. Ist das Tor 14 notwendig, so wird es ebenso wie das Tor 13 von A VX und PV (siehe im folgenden) aus gesteuert In F i g. 1 ist dem etwas hinzugefügt: Das Tor 13 läßt nur dann ein Wort zum Speicher 2 durch, wenn von einer Prioritätsanordnung PV aus eine Erlaubnis erteilt ist. Die Erlaubnis kann auf Grund der Beispielsweise vom Rechner herrührenden Information erteilt werden. In diesem Beispiel jedoch haben die Wörter ein Bit (oder Bits) d, in dem festgelegt ist, ob ein Wort zur Eintragung in den Speicher 2 in Betracht kommt oder nicht Wenn ein Wort bei der Auslesestelle IO1 steht und AVi gibt an, daß die gefragte Gleichheit in der Information vorhanden ist, und in PV wird festgestellt, daß das Wort zur Eintragung in den Speicher 2 in Betracht kommt, so geschieht dies. Das Verfahren kann noch dahingehend erweitert werden, daß die Prioritätsanordnung auch dazu dienen kann, das so Bit bzw. die Bits d in einem Wort des Speichers 1 mit dem Bit bzw. den Bits d der Wörter zu vergleichen, die bereits im Speicher 2 stehen. Wenn dann ein aus dem Speicher 1 selektiertes Wort eine höhere Priorität (beispielsweise einen höheren binären Zahlenwert) als eins oder mehrere Wörter im Speicher 2 hat, so kann dieses Wort eines jener anderen Wörter (beispielsweise das mit dem niedrigsten binären Zahlenwert) überschreiben. Das überschriebene Wort kann nötigenfalls über das Tor 14 zum Speicher 1 zurückkehren. In F i g. 1 ist diese Möglichkeit mit einer strichpunktierten Linie zwischen IO 2 und PVangegeben. Ein solcher Vergleich mit dem Bit d bzw. Bits der Wörter im Speicher 2 mit dem Bit d bzw. Bits eines Wortes aus dem Speicher 1 ergibt keine einzige Schwierigkeit, wenn wie obener-
wähnt m^c ist oder wenn gegebenenfalls /n—4- ist, wobei /—1,2,... Es sei noch einmal bemerkt, daß auch eine Priorität zur Eintragung in den Speicher 2 von außen, beispielsweise durch Information des Rechners, bestimmt sein kann. So kann bei einer angebotenen Adresse ein zusätzliches Bit vorhanden sein, das beispielsweise in PV angeordnet ist und bei einer Gleichheit zwischen dem Inhalt von A Vi und AR dafür sorgt, daß sich das Tor 13 nur dann öffnet, wenn das Bit einen 1 -Wert aufweist.
In Fig.2 ist ein anderes Beispiel einer möglichen Speicherkonfiguration angegeben. Teile, die denen nach F i g. 1 entsprechen, sind mit denselben Bezugsziffern versehen. Bei der Selektion aus dem Speicher 1 befindet sich keine Information in den η Wörtern, nach denen selektiert wird. Die Stelle im Schieberegisterspeicher 1 entspricht der Adresse eines Worts. Es ist ein Adressenzähler AC vorhanden, der von CL1 aus gespeist wird und mithin mit dem Speicher 1 mitläuft. Die Adresse eines Worts an der Stelle IO1 steht jeweils in dem Moment im Adressenzähler AC. Besteht eine Übereinstimmung zwischen einer von außen angeforderten Adresse, gespeichert in AR, und der Adresse im Adressenzähler AQ so gibt die Vergleichsanordnung AVi ein Signal ab, mit dem das Tor 11 zum Auslesen jenes Worts (das selbst im Speicher bleibt) aus dem Speicher 1 zum Register OTR geöffnet wird. Zugleich öffnet dieses Signal, abgesehen von den Prioritäten (siehe im weiteren) ein Tor 13, wodurch das Wort in den Speicher 2 eingetragen wird. Dabei kann dieses Wort gegebenenfalls aus dem Speicher 1 verschwinden. Außerdem öffnet dieses Signal, wieder abgesehen von Prioritäten, ein Tor 15, wodurch die Adresse desselben Worts vom Register AR (oder von AC) aus in den Speicher 2 gelangt. Die Adresse kommt auf die Bitstellen I, die die Länge einer solchen Adresse einnehmen. Bei der Suche nach einem Wort auf einer bestimmten Adresse wird diese Adresse außer in AVl auch in A V2 verglichen, und zwar mit dem Inhalt der Bits / der Wörter im Speicher 2. Tritt dabei eine Übereinstimmung auf, so gibt AV2 ein Signal ab und öffnet damit das Tor 12 zum Auslesen jenes Worts aus dem Speicher 2 zum Register OTR.
Aus obigem geht hervor, daß dann, wenn die Wörter in aufeinanderfolgenden Adressen im Speicher 1 stehen, die Adresseninformation vorteilhaft nicht darin gespeichert zu werden braucht (Speicherraumeinsparung), sondern daß der Adressenzähler diese Funktion übernehmen kann. Selbstverständlich muß diese Adresseninformation wohl im Speicher 2 stehen, da sonst die Selektion der darin angeordneten m der η Wörter nicht mehr möglich ist. Auch in diesem Beispiel ist eine Form von Prioritätsbehandlung vorhanden. Hierbei ist nicht vorher angegeben oder bekannt, welche Wörter eine höhere Priorität zur Eintragung in den Speicher 2 genießen (dies ist aber möglich, siehe dafür bei F i g. 1), dies wird hier jedoch als Beispiel entsprechend einem bestimmten Algorithmus festgestellt. Hierzu ist ein Prioritätserzeuger PI vorhanden. Diese Anordnung sorgt über die Leitung 12 beispielsweise jedesmal, wenn ein angefragtes Wort im Speicher 2 gefunden ist, wozu A V2 mit PI zum Abgeben des Übereinstimmungssignals verbunden ist, für eine Erhöhung des Binärwerts eines Prioritätsinformations-Worts, das ρ Bits hat und in Bitstellen ρ der Wörter im Hilfsschieberegisterspeicher 2 steht. So wird die Häufigkeit, mit der ein Wort angefragt wird, bis zu einein bestimmten Höchstwert, beispielsweise 4, festgestellt. Wenn nun ein nicht im Speicher 2 vorhandenes Wort aus dem Speicher 1 selektiert ist, so gibt die Prioritätsschaltung PIein Signal
über die Leitung p/ab, wenn diese Schaltung noch einen Raum dafür im Speicher 2 findet. Es ist vielleicht noch eine Stelle vorhanden, wo die Bits ρ nicht den höchsten Binärwert angeben. Wenn dies der Fall ist, so wird das Wort mit dem zuletzt aus dem Speicher 1 selektierten r> Wort überschrieben. Dieses zu überschreibende Wort kann auch nötigenfalls über das Tor 14 über die Leitung /1 in den Speicher 1 zurückgesetzt werden. Das Signal an der Leitung pl öffnet für den Transport des Worts vom Speicher 1 zum Speicher 2 die bereits vorbereiteten Durchlaßtore 13 und 15 und läßt das Wort (k Bits) und die dazugehörige Adresse (I Bits) zum Speicher 2 hindurch. Die Bitstellen ρ können nun beispielsweise mit einem binären 1-Wert ausgefüllt werden.
Andere Algorithmen sind ebenfalls denkbar. So kann is bei jedem Wort im Speicher 2 auf den Bitstellen ρ eine in Pl erzeugte Anzahl vermerkt werden, die angibt, wann das Wort zuletzt angefragt wurde. Dies kann eine Zeitanzeige, aber einfacher auch eine sich stets erhöhende Zahl sein:
Bei jedem Umlauf des Speichers 2 gibt die Anordnung Pl einen Impuls für die Bitstellen ρ jedes Worts ab. Der Inhalt auf den p-Stellen erhöht sich mithin jeweils bis auf einen bestimmten Wert. Wenn nun ein Wort nicht im Speicher 2 steht, sondern aus dem Speicher 1 selektiert ist, so bestimmt die Prioritätsanordnung Pl, in welchem der Wörter im Speicher 2 der p-Wert maximal ist, und PI sorgt dafür, daß durch ein Signal über die Leitung pl eine Überschreibung des betreffenden Worts erfolgt.
Auch bei dieser Ausführung gilt, daß dann, wenn m=c ist
(oder gegebenenfalls m = -^-
35
keine Probleme bestehen, daß die Prioritätsanordnung in der Zeit, in der im großen Schieberegisterspeicher 1 um einen Schritt verschoben wird, die richtigen Handlungen zeitig ausgeführt werden.
Wenn die beiden Speicher einer erfindungsgemäßen Anordnung gleichartig sind, so können sie gemeinsam mit den etwaigen anderen Teilen der Anordnung als eine Gesamtheit in der Integrationstechnik ausgeführt werden.
Wenn die Speicher 1 und 2 gleichartig sind und mithin auch mit derselben Taktimpulsfrequenz betrieben werden, und wenn ferner die Wortadresseninformation sowohl im Speicher 1 als auch im Speicher 2 vorhanden ist, so ist es möglich, Selektionsmittel zu verwenden, die nur eine Vergleichsanordnung enthalten. Dies ergibt eine Einsparung einer Vergleichsanordnung. Diese Einsparung liefert jedoch eine Komplikation, die eine Zunahme der mittleren Zugriffszeit verursachen kann, weil dann, wenn ein gesuchtes Wort nicht im Hilfsschieberegisterspeicher 2 steht, dies erst vom Speicher 1 aus darin eingeführt werden muß, bevor die Selektion stattfinden kann. In Abhängigkeit von der Situation kann sich ein derartiger Aufbau dennoch zur Anwendung eignen. In Fig.3 ist ein Beispiel eines solchen Falls angegeben. t>o
Für die ebenfalls in F i g. 1 und/oder F i g. 2 dargestellten Teile sind dieselben Bezugsziffern verwendet. Wenn entsprechend der Erfindung eine Anzahl m häufig verwendeter Wörter im Speicher 2 vorhanden ist, so laufen diese Wörter auf den Befehl der Taktimpulse hin im Speicher 2 um, und zwar in der Figur von oben nach unten (Stelle IO) und von dort über die Leitung 13 (in Wirklichkeit parallel, in diesem Fall ist 13 mithin ein Leitungsbündel) und das Tor 16 zurück zum Speicher 2. Die π-Wörter im Speicher 1 laufen darin gegebenenfalls kontinuierlich in Abhängigkeit davon, ob es sich um dynamische oder statische Register handelt, von oben nach unten, und im Falle von dynamischen Registern weiterhin über ein Tor 17 (gestrichelt) wieder zurück. Wird ein Wort gesucht, so gelangt seine Adresse in das Adressenregister AR, und die in den Speicher 2 aufgenommenen Adressen (I Bits) werden beim passieren der Einschreibe/Auslese-Stelle IO in der Vergleichsanordnung AV mit der Adresse in AR verglichen. Beim Eingeben einer angefragten Adresse in AR wird über die Leitung 14 ein Startbefehl zum Zähler CT gegeben. Dieser Zähler zählt mit den Taktimpulsen aus CL die Anzahl von Wörtern, die die Stelle IO passiert. Wenn eine in den Bitstellen /stehende Adresse der betreffenden Adresse entspricht, so zeigt A V dies an.
Damit öffnet sich das Tor 12, und das angeforderte und nun mithin selektierte Wort wird dem Ausgangsregister OTR angeboten (das Wort bleibt dabei auch im Speicher 2 gespeichert). Die erwähnte Anzeige in A V verursacht ferner, daß der Zähler CT wieder in seine Anfangsstellung (0) zurückkehrt, und außerdem steuert sie die Prioritätsanordnung, die beispielsweise den Binärwert der Prioritätsangabe an der Stelle der Bits ρ des Hilfsschieberegisterspeichers 2 um einen Wert 1 erhöht (vgl. hierbei Fig.2). Hiermit wird mithin die Verwendung eines Worts registriert Es ist auch möglich, daß über PI in den Bits ρ die Häufigkeit vermerkt wird, mit der ein Wort /Ounbenutzt passiert.
Wenn nun bei der oben beschriebenen Suche nach einem Wort im Speicher 2 nach dem einmaligen Umlauf des Speichers 2 keine entsprechende Adresse im Speicher 2 gefunden ist, so geschieht folgendes, um eine weitere Suche im Schieberegisterspeicher 1 zu ermöglichen: Nach einmaligem Rundgang ist der Zähler CT vollgezählt (oder, wenn er mit voll anfängt, leergezählt). Hierdurch erscheint ein Signal an der Leitung /5, die an einem UND-Tor 18 liegt. Wenn in der Anordnung PI, in der stets die Bits ρ der IO passierenden Wörter untersucht werden, festgestellt wird, daß in einem bestimmten Moment ein Wort mit keiner oder einer niedrigen Priorität passiert, so erscheint dadurch ein Signal an der Leitung /6, die gleichfalls am Tor 18 liegt. Es ist deutlich, was nun geschieht Wenn in einem bestimmten Moment sowohl 15 als auch 16 ein Signal führt, so öffnet sich das Tor 18, und es entsteht ein Signal an der Leitung 17.
Hiermit werden die beiden Wortdurchlaßtore 19 und iiO geöffnet, während gerade die Durchlaßtore 16 und 17 (diese letzteren falls vorhanden) geschlossen werden, wozu das Signal an der Leitung 17 diesen Toren (Punktbezeichnung) invertiert angeboten wird. Hiermit ist erreicht, daß ein Wort über das Tor 20 aus dem Speicher 1 in den Speicher 2 gelangt, während das aus dem Speicher 2 »herausfallende« Wort nun über das Tor 1.9 wieder in den Speicher 1 gelangt Dies kann so lange fortgesetzt werden, bis in der Prioritätsanordnung PI ein Wort im Speicher 2 gefunden wird, das eine derartige Priorität aufweist, daß es nicht aus dem Speicher 2 verschwinden darf. Damit entfällt das Signal an der Leitung 16 und mithin auch an der Leitung 17, so daß die frühere Situation wiederhergestellt ist, wobei nun wieder die Tore 16 und 17 geöffnet und 19 und 20 geschlossen sind. Hat sich nun beim weiteren Umlauf der Wörter im Speicher 2 gezeigt, daß das angefragte Wort inzwischen im Speicher 2 vorhanden ist, so
verläuft alles Weitere wie oben bereits erwähnt wurde. Ist das Wort noch nicht vorhanden, so bleibt der Zähler CT auf der Voll-Stellung stehen (nur ein Signal aus AV kann ihn rückstellen), und dann wird sich das Tor 18 wieder öffnen, wenn die Prioritätsanordnung es wieder erlaubt, oder es werden über das Tor 20 wieder ein Wort oder mehrere Wörter aus dem Speicher 1 in den Speicher 2 gelangen. Wenn Wörter aus dem Speicher 1 in den Speicher 2 gelangen und wenn sie nicht vervendet werden, weil sie nicht angefordert wurden, so werden sie schnell wieder zum Speicher 1
zurückkehren. Die Prioritätsanordnung Pl iindet nämlich keine Bits auf den Bitstellen ρ jener Wörter im Speicher 2, und PI gibt mithin ein Signal an 16, usw. Es sei bemerkt, daß das Auffinden eines Worts, das anfing:, noch im Speicher 1 stand, in diesem Beispiel im allgemeinen länger dauert, als in den Beispielen entsprechend F i g. 1 und F i g. 2, weil dabei eigentlich zugleich im Speicher 1 und 2 gesucht wird. Schon deshalb, weil eine Vergleichsanordnung eingespart wird, kann die Lösung nach F i g. 3 bei bestimmten Anwendungen günstig sein.
Hierzu 3 Blatt Zeichnungen

Claims (7)

Patentansprüche:
1. Speicheranordnung mit einem Schieberegisterspeicher aus wenigstens k in sich selbst rückkoppelbaren Schieberegistern, wobei zur Speicherung von π Wörtern mit einer Länge von je Jt Bits jedes Schieberegister π Bitstellen aufweist, einer Einschreibe/Auslese-Stelle, einem Taktimpulsgeber zum Abgeben von Taktimpulsen für den Betrieb des Schieberegisterspeichers und ferner mit Sellektions- ι ο mitteln zum Selektieren von Wörtern aus der Speicheranordnung auf Grund der von außen angebotenen Selektionsinformation, d ai d u r c h gekennzeichnet, daß die Speicheranordnung zum Verkürzen der mittleren Zugriffszeit ferner einen über Tore mit dem Schieberegisterspeicher verbindbaren Hilfsschieberegisterspeicher mit wenigstens k in sich selbst rückkoppelLaren Schieberegistern enthält, wobei jedes Schieberegister m<n Bitstellen zur Speicherung von m Wörtern aufweist, und zwar insbesondere der m in der Speicherkonfiguration gespeicherten Wörter, die von außen wiederholt angefordert werden, und wobei der Taktimpulsgeber Impulse für den Betrieb des Hilfsschieberegisterspeichers abgibt, so daß das Ergebnis einer Selektion in der Speicheranordnung vorzugsweise ein unmittelbar aus dem Hilfsschieberegisterspeicher herrührendes Wort ist.
2. Speicheranordnung nach Anspruch 1, wobei die Selektionsmittel zum Selektieren von Wörtern aus der Speicheranordnung aus einer ersten Vergleichsanordnung bestehen, in der die von außen angebotene Selektionsinformation mit der Information im Schieberegisterspeicher verglichen wird, dadurch gekennzeichnet, daß die Selektionsmittel ferner aus einer zweiten Vergleichsanordnung bestehen, in der die von außen angebotene Selektionsinformation mit der Information im Hilfsschieberegisterspeicher verglichen wird, wobei das betreffende Wort in der Speicheranordnung bei einer Anzeige von Gleichheit in der erwähnten ersten oder zweiten Vergleichsanordnung selektiert ist und einem Ausgangsregister zuführbar ist.
3. Speicheranordnung nach Anspruch 1, wobei die Selektionsmittel zum Selektieren von Wörtern aus dem Schieberegisterspeicher der Speicheranordnung ein Adressenregister zur Speicherung von von außen angebotenen Adressen, einen durch die erwähnten Taktimpulse gespeisten Adressenzähler, mit dem die Adressen der Wörter im Schieberegisterspeicher bestimmt sind, und eine erste Vergleichsanordnung zum Feststellen einer Übereinstimmung zwischen einer Adresse im Adressenregister und im Adressenzähler enthalten, dadurch gekennzeichnet, daß dabei der HilfsSchieberegisterspeicher ein Feld von wenigstens Ar+ / Schieberegistern zur Speicherung der erwähnten m Wörter mit einer Länge von k Bits und der zu diesen m Wörtern gehörigen Adressen im Schieberegisterspeicher mit einer Länge von / Bits enthält, und wobei eine zweite Vergleichsanordnung die Gleichheit zwischen einer Adresse im Adressenregister und einer im Hilfsschieberegisterspeicher gespeicherten Adresse anzeigt, wobei das betreffende Wort in der Speicheranordnung bei einer Anzeige von Gleichheit in der b5 erwähnten ersten oder zweiten Vergleichsanordnung selektiert ist und einem Ausgangsregister zuführbar ist.
4. Speicheranordnung nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß bei Informationswörtern oder deren Adressen eine Prioritätsinformation vorhanden ist, wobei in einer vorhandenen Prioritätsanordnung auf Grund der erwähnten Prioritätsinformation feststellbar ist, welche m oder η Informationswörter des Schieberegisterspeichers in den Hilfsschieberegisterspeicher eintragbar sind.
5. Speicheranordnung nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß der Hilfsschieberegisterspeicher aus wenigstens k+p bzw. k+l+p Schieberegistern besteht, wobei von den vorhandenen m Wörtern das wenigstens eine Bit ρ zur Speicherung von Prioritätsinformation dient, die entsprechend einem bestimmten Algorithmus auf Grund der wiederholten Anfrage nach einem Wort in einem Prioritätserzeuger feststellbar ist, und wobei die Priorität bestimmt, ob das Wort im Hilfsschieberegisterspeicher stehenbleibt
6. Speicheranordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Schieberegisterspeicher und der Hilfsregisterspeicher gleichartig sind und daß sie gegebenenfalls gemeinsam mit anderen Teilen der Speicheranordnung als eine Gesamtheit in der Integrationstechnik ausgeführt sind.
7. Speicheranordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Schiebegeschwindigkeit des Hilfsschieberegisterspeichers um einen Faktor c größer ist als diejenige des Schieberegisterspeichers und daß die Anzahl von Wörtern des Hilfsschieberegisterspeichers gleich dem Faktor eist.
DE2210333A 1971-03-20 1972-03-03 Speicheranordnung mit Schieberegistern Granted DE2210333B2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7103773A NL7103773A (de) 1971-03-20 1971-03-20

Publications (3)

Publication Number Publication Date
DE2210333A1 DE2210333A1 (de) 1972-10-05
DE2210333B2 true DE2210333B2 (de) 1978-08-03
DE2210333C3 DE2210333C3 (de) 1979-05-03

Family

ID=19812730

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2210333A Granted DE2210333B2 (de) 1971-03-20 1972-03-03 Speicheranordnung mit Schieberegistern

Country Status (6)

Country Link
US (1) US3771140A (de)
JP (1) JPS5123418B1 (de)
DE (1) DE2210333B2 (de)
FR (1) FR2130457B1 (de)
GB (1) GB1345296A (de)
NL (1) NL7103773A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3959777A (en) * 1972-07-17 1976-05-25 International Business Machines Corporation Data processor for pattern recognition and the like
US4001787A (en) * 1972-07-17 1977-01-04 International Business Machines Corporation Data processor for pattern recognition and the like
US3992699A (en) * 1974-11-13 1976-11-16 Communication Mfg. Co. First-in/first-out data storage system
US4145737A (en) * 1977-04-19 1979-03-20 Semionics Associates Associative memory device with time shared comparators
US4144564A (en) * 1977-04-19 1979-03-13 Semionics Associates Associative memory
JPS5998387A (ja) * 1982-11-26 1984-06-06 Nec Corp メモリ回路
US6022094A (en) * 1995-09-27 2000-02-08 Lexmark International, Inc. Memory expansion circuit for ink jet print head identification circuit
US8717831B2 (en) * 2012-04-30 2014-05-06 Hewlett-Packard Development Company, L.P. Memory circuit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB839243A (en) * 1955-08-19 1960-06-29 Int Computers & Tabulators Ltd Improvements in or relating to data storage equipment

Also Published As

Publication number Publication date
US3771140A (en) 1973-11-06
DE2210333C3 (de) 1979-05-03
JPS5123418B1 (de) 1976-07-16
DE2210333A1 (de) 1972-10-05
FR2130457A1 (de) 1972-11-03
FR2130457B1 (de) 1976-10-29
GB1345296A (en) 1974-01-30
NL7103773A (de) 1972-09-22

Similar Documents

Publication Publication Date Title
DE4019135C2 (de) Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung
DE2131066C3 (de) Anordnung zum Adressieren eines Tabellenspeichers
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE69535672T2 (de) Synchrone NAND DRAM Architektur
DE1499182C3 (de) Datenspeichersystem
DE2331589A1 (de) Datenverarbeitungsanordnung
DE2154106A1 (de) Arbeitsspeicherwerk
DE2212873B2 (de) Aus schieberegistern aufgebaute speichereinrichtung und verfahren zum betrieb der speichereinrichtung
DE2062165A1 (de) Verfahren und Anordnung zum Sortieren oder Mischen von Datensätzen
EP0013697B1 (de) Auffrischung benötigendes seitenorganisiertes Speichersystem
DE2117581C3 (de) Einrichtung zur Adressenprüfung
DE1774943C3 (de) Dateneingabeeinrichtung. Ausscheidung aus: 1474025
DE2210333C3 (de)
DE1774607C3 (de) Speicheranordnung mit einem informationszerstörend lesbaren Speicher
DE2136270A1 (de) Verfahren und Vergleicher zum Vergleich zweier Binärzahlen
DE2519195C2 (de) Assoziativspeicher
DE2650275A1 (de) Speicher mit fluechtiger datenspeicherung und wahlfreiem zugriff
DE1115483B (de) Vorrichtung zum Abfragen eines Ziffernspeichers
DE2011194A1 (de) Verfahren zur Darstellung des zeitlichen Verlaufs von Meßwertreihen auf dem Bildschirm eines Sichtgerätes
DE1096086B (de) System zum Zusammenfassen vorsortierter Informationen
DE102008001739A1 (de) Verfahren zum Steuern eines Zugriffs auf Bereiche eines Speichers aus mehreren Prozessen heraus und Kommunikations-Modul mit einem Nachrichten-Speicher zur Realisierung des Verfahrens
DE4132152A1 (de) Vereinfachter serieller auswahlschaltkreis fuer einen seriellen zugriff in einem halbleiterspeicher und betriebsverfahren hierfuer
DE2200744A1 (de) Verfahren und Vorrichtung zum Aussortieren
DE1815660C3 (de) Vorrichtung zur Verarbeitung von Informationen die in einem Radar-Videosignal enthalten sind, über mehrere Radarfolgeperioden
DE2816838C2 (de) Verfahren und Prioritätssteuereinheit zum Zuordnen von Prioritäten

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee