DE2210333B2 - Speicheranordnung mit Schieberegistern - Google Patents
Speicheranordnung mit SchieberegisternInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/28—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
- G11C19/287—Organisation of a multiplicity of shift registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/007—Digital input from or digital output to memories of the shift register type
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital 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. 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)
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.
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)
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)
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 |
-
1971
- 1971-03-20 NL NL7103773A patent/NL7103773A/xx unknown
-
1972
- 1972-03-03 DE DE2210333A patent/DE2210333B2/de active Granted
- 1972-03-16 US US00235299A patent/US3771140A/en not_active Expired - Lifetime
- 1972-03-17 GB GB1258472A patent/GB1345296A/en not_active Expired
- 1972-03-17 JP JP47026627A patent/JPS5123418B1/ja active Pending
- 1972-03-20 FR FR7209628A patent/FR2130457B1/fr not_active Expired
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 |