DE2505478A1 - Speicheranordnung - Google Patents
SpeicheranordnungInfo
- Publication number
- DE2505478A1 DE2505478A1 DE19752505478 DE2505478A DE2505478A1 DE 2505478 A1 DE2505478 A1 DE 2505478A1 DE 19752505478 DE19752505478 DE 19752505478 DE 2505478 A DE2505478 A DE 2505478A DE 2505478 A1 DE2505478 A1 DE 2505478A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- line
- bits
- page
- 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
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung bezieht sich auf eine assoziativ bewirtschaftete Speicheranordnung mit einem Hauptspeicher zur
Aufnahme der aus einem assoziativen Teil (Assoziationsbegriff)
und einem nicht assoziativen Teil bestehenden Daten, mit einer Vergleichereinrichtung zum Vergleich des
assoziativen Teils der ausgelesenen Daten mit dem Suchbegriff, mit Adreßwandlern für die Ableitung von Speicheradressen
aus dem Assoziationsbegriff oder dem Suchbegriff oder aus Teilen dieser Begriffe and mit einem Erweiterungszähler, dessen Zahlerstand die Adressenableitung beeinflußt
und jeweils um 1 erhöht wird, wenn sich ein zunächst adressierter Speicherplatz als anderweitig belegt erweist.
Durch die Dt-OS 2 319 468 ist eine Speichereinrichtung mit mehreren, eine Vielzahl von Speicherplätzen umfassenden Speicherbänken bekannt, die jeweils in einen durch einen Teil
(Vorsilbe) des Assoziationsbegriffs adressierbaren assoziativen
Abschnitt und in einen nicht assoziativen Abschnitt zur Aufnahme eines beigeordneten Begriffs gegliedert sind, wobei
jeder Speicherbank Adreßwandler zugeoi'dnet sind zur Ableitung
der Adressen aus dem Assoziationsbegriff in einer von Speicherbank zu Speicherbank unterschiedlichen Weise mit pseudostatistischer
Verteilung derart, daß die Vorsilbenlinien, welche die jeweils durch bestimmte Vorsilben adressierbaren
Speicherplätze benachbarter Speicherbänke miteinander verbinden, unregelmäßige Linienzüge bilden. Alle auf einer Vorsilbenlinie
liegenden Einträge werden gleichzeitig gelesen.
Durch eine zufällige Häufung von Assoziationsbegriffen mit
gleicher Vorsilbe kann der Fall eintreten, daß die entlang
9/210/4051a
ORIGINAL INSPECTED
— 2 —
einer Torsilbenlinie verfügbaren Speicherplätze für ihre
Eintragung nicht ausreichen. Die Speichereinrichtung weist daher einen Erweiterungszähler auf, dessen jeweiliger Stand
für die Bildung der Adressen mitbestimmend ist und jeweils um eins erhöht wird, wenn ein Ifeueintrag eines Begriffs mit
einer bestimmten Torsilbe erfolgen soll und alle Speicherplätze entlang der betreffenden Törsilbenlinie bereits belegt sind. Mit Hilfe des Erweiterungszählers werden also
zusätzliche Adressierungsebenen geschaffen, die Terlängerungen
von Torsilbenlinien aufnehmen können.
Durch die mögliche Übersicht über den Belegungszustand entlang
einer Torsilbenlinie wird die Zuteilung freier Speicherplätze für Neueintragungen sehr erleichtert. Bei einer Terwendung
von 8 Speicherbänken in der Speichereinrichtung ergibt sich beispielsweise, daß bis zu einem Füllungsgrad
des Speichers von etwa 0,7 nur in wenigen Fällen ein zweiter Suchzyklus zum"Nachweis eines freien Ablageplatzes erforderlich
ist. Erst bei einem Speicherfüllungsgrad von etwa 0,95 werden durchschnittlich zwei Suchzyklen notwendig..
Bei einer Terringerung der Anzahl der Speicherbänke werden :
jedoch die Terhältnisse rasch ungünstiger. Es entfällt mehr und mehr die Übersicht über den Belegungszustand und wegen
der Terkürzung der Torsilbenlinien die Auswahl zwischen gleichwertigen
Ablageplätzen. Es besteht jedoch der Wunsch, auch einen linear adressierbaren Speicher hoher Kapazität mit nur
einer Speicherbank als Assoziativspeicher verwenden zu können.
Der Erfindung liegt daher die Aufgabe zugrunde, Maßnahmen anzugeben, die bei Terwendung eines linear adresierbaren Speichers
mit einer Speicherbank die Übersicht über den Belegungszustand
erlauben und die Zuweisung äquivalenter Speicherplätze
für Iieueinträge mit vertretbarem Zeitaufwand und ein rasches
Wiederauffinden der Einträge ermöglichen.
TPA 9/210/4051a - 3 -
609834/0826
- 3 - . ' . ■■-.■.-■■
Bei einer Speicheranordnung der eingangs angegebenen Art wird
diese Aufgabe durch die im kennzeichnenden Teil des Hauptanspruchs aufgeführten Merkmale ge£5st.
Die Speicheranordnung gemäß der Erfindung hat vor allem den
Vorteil, daß der Hauptspeicher wahlweise als konventionell
linear adressierter Speicher oder als Assoziativspeicher betrieben
werden kann. Beide Betriebsweisen-lassen sich auch gleichzeitig in verschiedenen Teilen eines entsprechend großen
Hauptspeichers durchführen. Im folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels
näher erläutert. Es zeigt.
Pig. 1 eine Übersicht über die Speichereinrichtung gemäß der Erfindung, '
Pig. 1 eine Übersicht über die Speichereinrichtung gemäß der Erfindung, '
Pig. 2 in schematischer Darstellung die Bereitstellung gleichwertiger
Speicherplätze und den Verlauf einer Kettungslinie abhängig vom Stand des Erweiterungszählers,
Pig. 3 die Eintragung von Verweiskennzeichen in dem Speicherplatz zugeordneten leider einer Speicherzeile,
Pig. 4 die Kennzeichnungen einer Kette, Pig. 5 Verweiskennzeichen einer Kette, die nicht beim Stand O
des Erweiterungszählers beginnt,
Pig. 6 ein Ausführungsbeispiel der Einrichtungen für die
Adressenbildung,
Pig. 7 ein weiteres Ausführungsbeispiel der Einrichtungen für die Adressenbildung,
Pig. 7 ein weiteres Ausführungsbeispiel der Einrichtungen für die Adressenbildung,
Pig. 8 eine Anordnung zur Vorsilbenverdichtung und Pig. 9 einen Baustein der Anordnung nach Pig. 8. .
Der Hauptspeicher ASP in Pig. 1 ist ein linear adressierbarer
Speicher. Er ist aus organisatorischen Gründen in a Abschnitte 0 bis a -1, im folgenden als Seiten bezeichnet, unterteilt.
Jede Seite besitzt b Zeilen 0 bis b -1. Die Speicherzeilen,
umfassen neben einem Speicherplatz für die aus einem assziativen Teil (Assoziationsbegriff) und einem nicht assoziativen Teil
VPA 9/21O/4O51a . - 4 -
G09834/0826
bestehenden Daten zusätzliche Felder für die Eintragung von
Kennzeichnungen, auf die später noch näher eingegangen wird. Der für den assoziativen Vergleich der ausgelesenen Daten mit
dem jeweils vorliegenden Suchbegriff notwendige Vergleicher ist in der Fig. 1 nicht dargestellt. Ebenfalls nicht dargestellt
sind ein Maskenregister, dessen veränderbarer Inhalt es gestattet, den bei den assoziativen Vergleich berücksichtigten
Bereich zu erweitern oder einzuengen, und der zur Auswahl der Speicherplätze bzw. -Zeilen erforderliche Adressendecodierer.
Der für die Zuteilung freier Speicherplätze im Hauptspeicher ASP notwendige Überblick über dessen Belegungszustand wird durch
einen kleinen Buchführungsspeicher BSP erreicht. Da der Buchführungsspeicher BSP in a Zeilen mit je b 1-Bit-Zellen eingeteilt
ist, kann jeder Zeile im Hauptspeicher ASP eine 1-Bit-Zelle
zugeordnet werden, in der ein Markierungsbit gesetzt wird, wenn die betreffende Zeile des Hauptspeichers belegt ist. Die
Adresse für eine Seite des Hauptspeichers ASP entspricht somit der Adresse einer Zeile des Buchführungsspeichers BSP und die
Adresse einer Zeile des Hauptspeichers innerhalb einer Seite der Adresse einer Bitstelle des Buchführungsspeichers BSP innerhalb einer Zeile. Um Verwechslungen zu vermeiden, wird im folgenden eine Zeile des Buchführungsspeichers BSP als Wort bezeichnet.
Als Buchführungs spei eher BSP wird vorteilhaft ein Bipolar-Halbleiterspeicher
verwendet. Er kann ein reservierter Bereich eines für andere Zwecke mitbenutzten Speichers sein. Gegebenenfalls
kann dafür aber auch ein Abschnitt des als Hauptspeicher dienenden Speichers Verwendung finden.
Die Adressen für die Seiten und Zeilen des Hauptspeichers werden ähnlich zu der aus der Dt-OS 2 319 468 bekannten Weise
aus dem Assoziationsbegriff bzw. Suchbegriff oder einem !Teil dieser Begriffe selbst gewonnen. Die für die Adressenbildung
VPA 9/21O/4O51a - 5 -
6098 3 4/08 2 6
benutzten. Bitstellen der Assoziations- bzw. Suchbegriffe werden
als Vorsilbe YS bezeichnet, unabhängig davon, ob dieVorsilbe
VS nur die höherwertigen Bitstellen der Begriff oder die ganzen
•Begriffe umfaßt,
Für die Ableitung der Seiten- und Zeilenadressen des Hauptspeichers
stehen viele Möglichkeiten zur Verfügung, die teilweise
unterschiedliche Ablagemodi für Neueinträge von Assoziationsbegriffen in den Hauptspeicher zur 3?dge haben. Stellvertretend
für die Ausführungsmöglichkeiten sind in der übersichtsdarstellung
nach Pig. 1 der Seitenadreßwandler SAV/ und der Zeilenadreßwandler ZAW vorgesehen, wobei dem Seitenadreßwandler SAW
die höherwertigen Bitstellen und dem Zeilenadreßwandler ZAVi die
niederwert igen Bits teilen der Vorsilbe VS zugeführt vier den.
Der Seitenadreßwandler SAW zur Bildung der Seitenadresse SA
besteht aus einem Verknüpfungsnetzwerk oder einem kleinen Lesespeicher (ROM). Die !Funktion des Zeilenadreßwandlers ZAW beschränkt sich auf eine Bitstellenvertauschung. Im allgemeinen
kann jedoch der Zeilenadreßwandler ganz entfallen, so daß die Zeilenadresse ZA (für I EZl = 0, wie später noch näher erläutert
wird) identisch mit den niederwertigen Bitstellen der Vorsilbe
ist. Das gilt in allen Pällen, in denen auf den Zeilenadreßwandler Bezug genommen wird.
Da in aller Regel die Anzahl der Speicherplätze im Hauptspeicher
geringer ist als die Anzahl der Kombinationsmöglichkeiten aller
Bitstellen der Assoziationsbegriffe, führen unabhängig von der speziellen Art der Adressenbildung stets mehrere Assoziationsbegriffe zu gleichen Adressen. Es wird daher häufig vorkommen,
daß sich ein durch die ursprüngliche Seiten- und Zeilenadresse ausgewählter Speicherplatz im Hauptspeicher schon als besetzt
erweist, wenn ein neuer Assoziationsbegriff abgelegt werden soll. Wegen der Abbildung des Belegungszustandes des Hauptspeichers
im Buchführungsspeieher ist aber die Zuteilung eines gleichwertigen
VPA 9/21O/4O51a - 6 -
6 0 9 8 3 4/0826
Speicherplatzes für den anstehenden Neueintrag leicht und rasch
möglich. Zu diesem Zweck ist ein Erweiterungszähler EZ (Pig. 1)
vorgesehen, dessen jeweiliger Zählerstand für die Bildung der Seitenadressen mitbestimmend ist und von Muli ausgehend immer
dann um eine Zähleinheit erhöht wird, wenn der vorher adressierte Speicherplatz schon belegt ist. Auf diese Weise wird eine
Kette von einander ähnlichen Assoziationsbegriffen aufgebaut,
die alle zunächst einmal zu gleichen Adressen des Hauptspeichers führen wurden.
Die linke Seite der Pig. 2 zeigt schematisch den in Seiten unterteilten Hauptspeicher, in dem die schraffierten Zeilen
mit Einträgen belegt sind, die eine Kette bilden. Bei Jedem Eintrag ist der Stand /EZ/ (EZ-Stand) des ErweiterungsZählers
EZ angegeben, der für die Ableitung der jeweiligen Speicheradresse mitbestimmend war.
Auf der rechten Seite der Pig. 2 sind die der Kette angehörenden Glieder (Adressen) über dem EZ-Stand eingetragen. Die Pfeile, ·
welche die einzelnen Glieder miteinander verbinden, bilden einen unregelmäßigen Linienzug, der als Kettungslinie bezeichnet wird.
Eine und nur eine solche Kettungslinie kann in jeder Zeile des Hauptspeichers beginnen. Es ist jedoch nicht notwendig, daß die
Kettungslinie bei jeder Veränderung des EZ-Standes in eine andere Seite des Hauptspeichers übergeht. Perner kann es vorkommen, daß
einzelne EZ-Stände übersprungen werden, weil die unter Hitwirkung der übersprungenen EZ-Stände adressierten Hauptspeicherseiten
schon vollständig belegt sind.
Es ist vorteilhaft, die vom Zeilenadreßwandler ZAW aus der Vorsilbe
abgeleitete Adresse nur beim jeweils ersten Glied, d. h. beim Stand /EZ/ = 0 des Erweiterungszählers EZ zur Adressierung
des Speicherplatzes zu verwenden. Pur die Einträge weiterer Glieder (/EZJ>
0)werden freie Speicherplätze innerhalb der ausgewählten Seiten anhand der Markierungen im Buchführungsspeieher
VPA 9/21O/4O51a - 7 -
609834/0826
ermittelt. Hierzu tastet "beispielsweise ein in der Buchführungssteuereinheit
Bi1E untergebrachter Abtaster alle Bitstellen des durch die Seitenadresse des Hauptspeichers ausgewählten
Wortes der Reihe nach ab und trifft so (zumeist)
auf einen freien Speicherplatz mit der jeweils höchsten bzw. niedrigsten Nummer (Priorität).
Wesentlich schneller kann der freie Speicherplatz mit der
höchsten (niedrigsten) Priorität innerhalb der ausgewählten Hauptspeicherseite gefunden werden, wenn die "Lesesignale aller
Bitstellen des entsprechenden Buchführungsspeicherworts gleichzeitig einem in der Buchführungssteuereinheit BI1E vorhandenen
Prioritätsnetzwerk zugeführt werden, welches am Ausgang wegen der festen Adressenzuordnung unmittelbar die Adresse des freien
Speicherplatzes innerhalb der ausgewählten Seite liefert.
Pur den systematischen Aufbau einer Kettungslinie und zum
Wiederauffinden der' entlang der Kettungslinie eingespeicherten
Assoziationsbegriffe ist es notwendig, in die jedem Speicherplatz zugeordneten Felder Verweiskennzeichen einzutragen. Alle
Verweiskennzeichen bestehen aus der Angabe eines bestimmten Standes des ErweiterungsZählers EZ und einer Zeilenadresse
(innerhalb einer Hauptspeicherseite), Es ist vorteilhaft, as@i
Pelder ΡΊ und F2 vorzusehen und in folgender Weise vorzugehen:
Das PeId P1 des Anfangsgliedes einer Kette (Anfangsseile) enthält
einen Verweis auf das jeweilige Ende der Kette. In den Peldern P2 aller weiteren Glieder stehen die Angaben, die das
jeweils vorausgehende Glied betreffen. Daraus ergibt sich, daß bei der Ablage eines Begriffs, für den unter der von der Vorsilbe
abgeleiteten Seiten- und Zeilenadresse sofort ein freier Speicherplatz gefunden wurde, in das zugehörige PeId P1 der Zählerstand
/EZ/ = 0 und die betreffende Zeilenadresse ZA eingetragen wird. Das PeId P2 bleibt frei, da ein vorausgehendes Kettenglied nicht
existiert (vergl. Pig. 3). Steht nun ein weiterer Begriff mit der
VPA 9/21O/4O51a - 8 -
G0983A/0826
gleichen Vorsilbe zur Einspeicherung an, so wird mit Hilfe des Buchführungsspeichers BSP festgestellt, daß die durch
die ursprünglichen Adressen ausgewählte Speicherzeile schon
belegt ist. Gleichzeitig wird durch das Lesen des Feldes F1 der EZ-Stand (hier / EZ/ = 0) ermittelt, unter dem die Ablage
des vorhergehenden (hier ersten) Kettengliedes erfolgte. Der Erweiterungszähler EZ wird auf einen gegenüber dem soeben
ermittelten EZ-Stand um 1 erhöhten Stand (hier JEZl = 1)
gebracht. Es wird eine neue Seitenadresse gebildet und mit Hilfe des BuchführungsSpeichers BSP ein freier Speicherplatz
gefunden. Der anstehende Begriff kann nun eingespeichert werden. Gleichzeitig werden die Verweiskennzeichen im Feld F1
des ersten Kettenglieds korrigiert und im Feld F2 des gerade eingegebenen (zweiten) Glieds ein Verweis auf das vorhergehende
(erste) Kettenglied eingetragen. Die Ablage weiterer Assoziationsbegriffe mit gleicher Vorsilbe geht in analoger
Weise vor sich. Die Fig. 4 zeigt die Verweiskennzeichen einer viergliedrigen Kette aus den Begriffen B1 bis B4. Die Kette
wird von links nach rechts aufgebaut und - ausgehend vom Feld F1 - auf der linken Seite von rechts nach links gelesen
bzw. abgebaut.
Wenn Assoziationsbegriffe im Speicher hinterlegt werden sollen, deren Format die Breite eines Speicherplatzes übersteigt,
werden die Begriffe in Abschnitte im Format der Speicherplätze (Grundformat) unterteilt und die einzelnen
Abschnitte wie unabhängige Assoziationsbegriffe im Grundformat
mit gleichen Vorsilben behandelt. Soll diese Möglichkeit vorgesehen werden, dann ist es zweckmäßig, in jeder
Speicherzelle ein drittes Feld F3 (Fig. 3) zur Aufnahme eines Formatkennzeichens FOR bereitzustellen.
Es wurde bereits darauf hingewiesen, daß eine Kettungslinie nun in derjenigen Zeile angefangen werden kann, die sich aus
der Vorsilbe und der Adreßwandlerfunktion für /EZ/ =0 ergibt.
VPA 9/21O/4O51a - 9 -
609834/0826
Abhängig von der Adreßwandlerfunktion kann jedoch der Pail
eintreten, daß der Ablageplatz dieser Anfangszeile der Kettungslinie A "bereits von einer anderen Kettungslinie C
erfaßt und artfremd "belegt wurde. Der arteigene Begriff
nruß dann, wie in Pig. 5 dargestellt wurde, an anderer Stelle
abgelegt werden. In diesem Pail wird in das noch freie PeId
P1 der Anfangszeile unter (EZJ = 0 der Verweis auf das Ende der Kettungslinie A eingetragen (auch wenn die Kette zunächst
nur aus einem einzigen Glied besteht), für den Begriff selbst wird dann unter (EZ/:^= 0 ein anderer freier
Ablageplatz nachgewiesen. Der Einstieg in eine Kette erfolgt deshalb immer über das PeId P1 der Anfangszeile mit dem
Ende-Yerweis.
Das gleiche gilt für die assoziative Suche nach Speicherinhalten. Die Vorsilbe des Suchbegriffs führt zunächst mit
/EZ/ = 0 auf die Anfangszeile der betreffenden Kettungslinie. Der Verweis im PeId P1 dieser Zeile gibt Auskunft
über das Ende der betreffenden Kettungslinie, direkt durch die Angabe der betreffenden Zeilenadresse, indirekt durch
die Angabe des Zählerstandes, bei dem der Eintrag am Schluß der Kettungslinie erfolgte. Der Erweiterungszähler EZ wird
dementsprechend eingestellt und die neue Seitenadresse gebildet. Der Inhalt der nunmehr vollständig adressierten
Speicherzeile kann gelesen werden. Dabei fällt neben dem
Assoziationsbegriff auch der Verweis auf das vorausgehende Glied der Kette an, dessen Seitenadresse wiederum gebildet
wird. Alle zu einer Kettungslinie gehörenden Speicherplätze werden daher vom Ende der Kette her abgefragt.
Das Löschen von gespeicherten Begriffen, die nicht einer Kette angehören, oder das Löschen einer ganzen Kette, ist
problemlos. Der Begriff wird durch einen assoziativen Suchvorgang lokalisiert. Anschließend wird der Begriff und das
zugehörige Markierungs-Bit im Buchführungsspeicher gelöscht.
VPA 9/210/4051a - 10
609834/0826
Etwas komplizierter ist die Löschung von Begriffen, die einer Kette angehören, jedoch nicht ihr letztes Glied
"bilden. Hierbei ist es erforderlich, die Kette jeweils
um ein Glied zu kürzen und das letzte Glied in die entstandene Lücke einzusetzen. Dabei werden folgende Operationen
ausgeführt:
1. Assoziative Suchoperation zur Lokalisierung des Begriffes im Speicher. Yfegen der Kettung sind serielle
Leseoperationen erforderlich.
2. Begriff im Speicher löschen, die Zeilenadresse der entstandenen Lücke notieren.
3. Aus dem Feld F1 der Anfangszeile die Adresse des letzten
Kettengliedes entnehmen.
4. Das letzte Kettenglied lesen, notieren und löschen. Das zugehörige Markierungs-Bit im Buchführungsspeieher
löschen.
5. Den zwischengespeicherten Inhalt des letzten Kettengliedes
in die entstandene Lücke eintragen.
6. Den Ende-Verweis im EeId F1 der Anfangszeile korrigieren.
Es wurde bereits darauf hingewiesen, daß die Art der Ableitung
der Adressen aus dem Assoziationsbegriff Einfluß auf den Ablagemodus der eingespeicherten Begriffe hat. Der Ablagemodus
spielt eine wichtige Rolle, wenn es darum geht, den Speicherinhalt nach bestimmten Gesichtspunkten zu sortieren.
Im folgenden sollen daher einige Möglichkeiten für die Adressenbildung
anhand der Fig. 6, 7 und 8 einschließlich der sich daraus ergebenden Konsequenzen für die Sortierfähigkeit der
eingespeicherten Begriffe näher beschrieben werden. Die hierbei genannten Zahlenangaben sollen nur als Beispiele gelten
und beziehen sich auf einen Hauptspeicher mit 2048 Seiten zu
je 32 Zeilen.
Ein erstes Ausführungsbeispiel zeigt die Fig. 6. In dem Register
REG steht der Assoziationsbegriff oder der Suchbegriff,
YPA 9/210/4051a - 11 -
60983A/0826
je nachdem ein Schreibzyklus oder ein Suchzyklus vorgenommen
werden soll. Die 16 höchstwertigen Bit der im Register REG zwischengespeicherten Begriffe werden als Vorsilbe VS zur Adressenbildung benutzt. Der aus den 5 niederwertigen
Bit "bestehende Teil VS1 der Vorsilbe VS wird dem " Zeilenadreßwandler ZAW zugeführt, der an seinem Ausgang die
Zeilenadresse ZA mit ebenfalls 5 Bit liefert» Der Zeilenadreßwandler
ZAV/ bewirkt im allgemeinen eine Ümcodierung ; der Eingangsinformation. Damit wird einer Konzentration von
Einträgen mit ähnlichen Vorsilben entgegengewirkt. Fast immer
kann der Zeilenadreßwandler jedoch wegfallen, so daß der Teil VS1 der Vorsilbe VS unmittelbar die Zeilenadresse darstellt,
wie schon erwähnt wurde.
Der aus den 11 höherwertigen Bit bestehende Teil VS2 der
Vorsilbe VS wird zusammen mit den drei Bit des Teils |EZ1j
des ErweiterungsZählers EZ durch den Seitenadreßwandler SAW
verarbeitet. Zu den 11 Bit am Ausgang des Seitenadreßwandlers
SAW wird der Teil /EZ2/ des ErweiterungsZählers EZ im
Addierer ADD addiert. Das Additionsergebnis stellt
die Seitenadresse SA für den Hauptspeicher dar. Da in dem
angegebenen Beispiel für die Bildung der Ausgangsgröße des Seitenadreßwandlers SAW nur die 3 niederwertigsten Bit des
Erweiterungszählers EZ berücksichtigt werden, ergibt sich
eine Kettungslinie, die nach 8 Gliedern in einen Parallelzweig zu dem ersten Abschnitt übergeht.
Es wurde schon vermerkt, daß die aus der Vorsilbe VS abgeleitete Zeilenadres-se ZA im? zur Adressierung der Anfangszeile einer Vorsilbenlinie, d. h. beim Stand 0 des Erweiterungszählers benutzt wird. Um dies deutlich zu machen, ist
in der Fig. 6 ein symbolischer Umschalter AS mit 3 Stellungen dargestellt. Die eingezeichnete Stellung des Schalters
AS gilt für den zuletzt erwähnten Fall /EZl = 0. Die beiden
anderen Stellungen nimmt der Schalter AS immer dann ein, wenn der Stand des ErweiterungsZählers von 0 verschieden ist
VPA 9/21O/4O51a - 12 -
609834/0826
=-0). Unter dieser Voraussetzung gilt die mittlere
Stellung für einen Schrei"bzyklus, "bei dem die Zeilenadresse
durch die Buchführungssteuereinheit BFE mit Hilfe des Buchführungsspeichers BSP ermittelt wird. In der rechten Stellung
liegt der Schalter AS während eines Suchvorgangs, "bei dem mit dem Lesen der Begriffe entlang einer Kettungslinie
auch die in den Verweiskennzeichen enthaltenen Adressen gelesen werden.
Begriffe, für deren Einspeicherung die eben beschriebene
Adressenbildung benutzt wurde, können leicht in dual-numerischer
oder alpha-numerischer Reihenfolge sortiert werden. Pur die Sortierung in einer dual-numerischen Reihenfolge
kann ein Sortierzähler benutzt werden, der alle Kettungslinien
in dieser Reihenfolge nacheinander abruft. Die einzelnen, entlang einer Kettungslinie abgelegten, untereinander
noch nicht sortierten Inhalte werden in einen assoziativen Registersatz übergeführt und von diesem in der endgültigen
Sortierreihenfolge ausgegeben. Diese endgültige Sortierung kann beispielsweise nach einem der in der Patentanmeldung
P 2 342 660.0 vorgeschlagenen Sortierverfahren erfolgen. Hierauf soll jedoch nicht näher eingegangen werden.
Da bei dem beschriebenen Ablagemodus Begriffe mit gleicher Vorsilbe auftreten können, muß gelegentlich mit der Entstehung
längerer Ketten gerechnet werden. Bei der Sortierung ergeben sich daraus kaum Nachteile, wogegen bei der
assoziativen Suche nach einzelnen Begriffen Zeitverluste entstehen. Es ist daher zweckmäßig, diesen Ablagemodus nur
dann zu benützen, wenn insbesondere eine dual-numerisch
sortierte Ausgabe von Begriffen gewünscht wird.
Der zuletzt angegebene Nachteil wird durch eine "diffuse" Ablage der Begriffe im Hauptspeicher vermieden. Allerdings
geht dabei die unmittelbare Sortierfähigkeit des Speicherinhalts verloren. Die diffuse Ablage wird dadurch erreicht,
VPA 9/210/4051a . - 13 -
609834/0826
daß die für die Adressenbildung benutzte Vorsilbe auf wesentlich mehr Bitstellen erweitert wird als für die Adressierung des Hauptspeichers erforderlich sind.
Durch die Erweiterung des Vorsilbenbereiches wird die
statistische Verteilung von Begriffen auf verschiedene Kettungslinien so verbessert, daß die Zahl längerer Ketten
drastisch reduziert wird. Kettungen mit mehr als vier Gliedern treten dann außerordentlich selten auf. Dementsprechend
können assoziative Suchvorgänge schnell abgewickelt werden,
weil kaum mehr seriale Suchvorgänge anfallen.
Ein Ausführungsbeispiel für eine Zusatzeinrichtung zur Ableitung der Seiten- und Zeilenadressen SA bzw. ZA für den
Hauptspeicher ASP aus der erweiterten Vorsilbe ist in Pig.7
dargestellt. Die Vorsilbe VS mit 64 Bit, die von dem in dem Register HEG- zwischengespeicherten Assoziations- bzw* Suchbegriff
abgezweigt wird, wird einem Bitstellenmiseher BVT zugeführt. Am Ausgang des Bitstellenmischers BVT stehen
die 64 Bit der Vorsilbe mit unregelmäßig veränderten Stellenwerten wieder zur Verfügung. In einem Reduktions-Wandler "
RVi werden die 64 Bit auf 16 Bit komprimiert·. Der Reduktions-Wandler
RW enthält ein Verknüpfungsnetzwerk und kann beispielsweise in der in der Mg. 7 angedeuteten Weise aus
Verknüpfungsgliedern mit EXKLUSIV-ODER-Funktion aufgebaut
sein, oder auch aus "Fur-Lese~Speicher"-(ROM-) Bausteinen
bestehen.
Die 16 Bit am Ausgang des Reduktions-Wandlers RW werden nun in der gleichen Weise weiterverarbeitet wie die aus
16 Bit bestehende Vorsilbe nach Fig. 6. Das bedeutet also, daß der Teil mit den 11 höherwertigen Bit dem Seitenadreßwandler
SAW und der Teil mit den 5 niederwertigen Bit dem
Zeilenadreßwandler zugeführt wird. Der weitere Ablauf der
Adressenbildung entspricht somit vollkommen dem anhand
der Fig. 6 bereits beschriebenen Verlauf.■
VPA 9/21O/4O51a - 14 -
609834/08 26
Es wurde schon darauf hingewiesen, daß bei einer diffusen
Ablage der Begriffe eine Sortierung praktisch, nicht mehr
möglich ist. Ein Sortierzähler, der die einzelnen Vorsilben
aufruft, müßte bei einer Vorsilbe mit 64 Bit 2 ^ Schritte ausführen. Das ergibt aber einen Zeitaufwand,
der nicht mehr hinzunehmen ist. Will man nach einer 'diffusen Ablage doch noch sortieren, so kann man eine
Umschichtung in einem sortierfähigen Ablagemodus durchführen.
Bei dem vorher beschriebenen, sortierfähigen Ablagemodus, der sich bei Verwendung der Einrichtung zur Adressenbildung
nach Pig. 6 ergibt, enttsteien Häufungen von Begriffen
mit gleichen oder ähnlichen Vorsilben vor allem bei einer alpha-nuroerisehen Codierung. Da die gebi'äuchlichen
Codes für Buchstaben und Ziffern nur einen kleinen Teil der 256 Höglichkeiten umfassenden Code-Tabelle belegen, treten unerwünscht lange Kettungen auf, andererseits
bleiben viele Anfänge möglicher Ketten ungenützt.
Eine wesentliche Verbesserung kann durch einen Verdichtungswandler
erzielt werden, der die Bitstellensahl des
Codes auf das notwendige Maß reduziert und alle nicht benützten Kombinationen ausscheidet. Die verdichtete Vorsilbe
wird dem Seitenadreßwandler SAV/ und dem Zeilenadreßwandler ZAW zugeführt und in der anhand der Pig« 6 beschriebenen
Weise weiter verarbeitet.
Ein auf dem EBCDI-Code abgestellter, aus 3 Einzslbausteinen
bestehender Code-Verdichter ist in der Pig. 8 schematisch
dargestellt. Der Code-Verdichter CV benutzt eine Vorsilbe mit 21 Bit und verdichtet sie auf 16 Bit. Die verdichtete
Vorsilbe wird in der bisherigen Weise weiter behandelt.
Ein einzelner Baustein des Code-Verdichters CV ist in der
Pig. 9 dargestellt. Er besitzt 8 Eingangsklemmen 0-7 und '
VPA 9/21O/4O51a - 15 -
6 09 834/0826
6 Ausgangsklemmen 0 - 5. Er "besteht aus den UIID-Verknüpfungsgliedern
A1 - A7» dem ODER-Verknüpfungsglied OR und
dem Inverter IHY. Im übrigen ist sein Aufbau aus der
Zeichnung ohne v/eiteres erkennbar. Ein Vergleich der "beiden Figuren 8 und 9 zeigt, daß in dem Verdichterbaustein auf der rechten Seite jeweils drei Eingangs- und Ausgangsleitungen nicht benutzt sind.
Zeichnung ohne v/eiteres erkennbar. Ein Vergleich der "beiden Figuren 8 und 9 zeigt, daß in dem Verdichterbaustein auf der rechten Seite jeweils drei Eingangs- und Ausgangsleitungen nicht benutzt sind.
9 Figuren
9 Patentansprüche
YPA 9/21O/4O51a - 16 -
60983 4/0826
Claims (9)
- PatentansprücheAls Assoziationsspeicher verwendbare Speicheranordnung mit einem Hauptspeicher zur Aufnahme der aus einem assoziativen Teil (Assoziationsbegriff) und einem nicht assoziativen Teil bestehenden Daten, mit einer Vergleichereinrichtung zum Vergleich des assoziativen Teil der ausgelesenen Daten mit dem Suchbegriff, mit Adreßwandlern für die Ableitung von Speicheradressen aus dem Assoziationsbegriff oder dem Suchbegriff oder aus Teilen dieser Begriffe (Vorsilbe) und mit einem Erv/eiterungszähler, dessen Zählerstand die Adressenableitung beeinflußt und jeweils um 1 erhöht wird, wenn sich ein zunächst adressierter Speicherplatz als anderweitig belegt erweist, dadurch gekennzeichnet, daß der Hauptspeicher (ASP) aus einer linear adressierten Speicherbank besteht, die in a Seiten zu je b Zeilen unterteilt ist und jede Zeile einen Speicherplatz zur Aufnahme der Daten sowie Felder (3?1, P2, P3) zur Aufnahme von Verweiskennzeichen enthält, daß für die Bildung der Seiten- und Zeilenadressen (SA bzw. ZA) des Hauptspeichers (ASP) getrennte Adreßwandler (SAW bzw. ZAV/) vorgesehen sind, wobei der Erweiterungszähler (EZ) entsprechend seinem jeweiligen Stand die Ableitung der Seitenadresse (SA) mitbestimmt, daß ein zeilenweise lesbarer Buchführungsspeieher (BSP) mit a Zeilen zu je b Bitstellen vorgesehen ist, wobei jede Zeile des Buchführungsspeichers (BSP) einer Seite des Hauptspeichers (ASP) und jede Bitstelle des Buchführungsspeichers (BSP) einer Zeile des Hauptspeichers (ASP) zugeordnet ist und die Belegung der Bitstellen des Buchführungsspeichers (BSP) Auskunft über die Belegung des Hauptspeichers (ASP) gibt und daß dem Buchführungsspeieher (BSP) eine BuchführungsSteuereinheit (BPE) beigeordnet'ist, die das Setzen und die Abfrage der Markierungen im Buchführungsspeicher (BSP) für belegte Speicherplätze im Hauptspeicher (ASP) und die Auswahl äquivalenter Speicherplätze steuert.VPA 9/210/4051 a - .17 -60963&/0826
- 2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet , daß die Buchführungssteuereinheit (Bi1E) "bei einem Neueintrag die Auswahl eines Speicherplatzes bzw. einer Zeile im Hauptspeicher (ASP) durch die aus der Vorsilbe (VS) gebildete Zeilenadresse verhindert, wenn der Stand des ErwexterungsZählers ]ΈΖΐτ^- 0 ist und dem ITeueintrag einen durch Abfrage des Buchführungsspeichers"(BSP) ermittelten freien Speicherplatz innerhalb der adressierten Seite zuweist.
- 3.. Speicheranordnung nach Anspruch 2, dadurch gekennzeichnet , daß die BuchführungsSteuereinheit (BPE) ein Prioritätsnetzwerk enthält, das bewirkt, daß die Ablage von Neueinträgen in einer freien Zeile mit der jeweils höchsten Priorität innerhalb der adressierten Seite erfolgt.
- 4. Speicheranordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Zeilenadreßwandler (ZAV/") die der Anzahl η der Bit der Zeilenadresse (ZA) gleiche Anzahl η der niederwertigen Bit einer Bitkombination stellenrichtig oder stellenvertauscht und/oder teilweise invertiert durchschaltet, daß die höherwertigen Bit der Bitkombination, deren Anzahl m gleich der Anzahl m der Bit der Seitenadresse (SA) ist, dem aus einem Verknüpfungsnetzwerk oder einem Lesespeicher bestehenden Seitenadreßwandler (SAV/") zugeführt werden, daß der Seitenadreßwandler ein von den niederwertigen Bit des Inhalts des ErweiterungsZählers (EZ) abhängige Umcodierung der Eingangsinformation bei Erhaltung der Bitzahl m bewirkt, daß ein Addierer (ADD) vorgesehen ist, der die höherwertigen Bit des Inhalts des Erweiterungszählers (EZ) zu den vom Seitenadreßwandler (SAW) gelieferten Bit modulo 2° addiert und daß das Additionsergebnis die Seitenadresse darstellt.VPA 9/21O/4O51a - - 18 -609834/08
- 5. Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet, daß die BitkoraMnation identisch mit der "Vorsirbe aus dem Assoziations- bzw« Suchbegriff ist.
- 6. Speicheranordnung nach Anspruch 4, gekennzeichnet durch einen Bitstellenmischer (BYT) zur azyklischen Vertauschung der Stellen von k Bit einer verlängerten Vorsilbe, wobei k ein ganzzahliges Vielfaches von n+m (Seiten- und Zeilenadresse) ist, und durch einen Reduktions-Wandler (RW) mit einem Verknüpfungsnetzwerk oder einem Lesespeicher zur Reduktion der k Bit auf n+m Bit, von denen η Bit dem Zeilenadreßwandler (ZAW) und m Bit dem Seitenadreßwandler (SAW) zugeführt v/erden.
- 7. Speicheranordnung nach Anspruch 6, dadurch gekennzeichnet , daß der Reduktions-Wandler (RV/) aus EXKLUSIV-ODER-Gliedem besteht, wobei jeweils die Ausgänge von zwei Gliedern einer ersten Gruppe mit den Eingängen eines Glieds einer zweiten Gruppe verbunden sind.
- 8. Speicheranordnung nach Anspruch 6, dadurch gekennzeichnet , daß der Reduktions-Wandler (RW) aus einem Lesespeicher (ROM) besteht.
- 9. Speicheranordnung nach Anspruch 4, insbesondere zur Speicherung von Assoziationsbegriffen mit alpha-nuraerischer Codierung, gekennzeichnet durch einen den Adreßwandlern (SAV/, ZAW) vorgeschalteten Code-Verdichter (CV) zur Ausblendung nicht benutzter Codekombinationen und zur Beseitigung redundanter Bit, wobei die Anzahl der Bit der dem Code-Verdichter (CV) zugeführten Vorsilbe die Summe n+m um die Anzahl der redundanten Bit übersteigt.VPA 9/210/405ta609834/0826Leerseite
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752505478 DE2505478C3 (de) | 1975-02-10 | Speicheranordnung | |
NL7600816A NL7600816A (nl) | 1975-02-10 | 1976-01-27 | Geheugeninrichting. |
CH95676A CH604322A5 (de) | 1975-02-10 | 1976-01-27 | |
US05/654,645 US4047160A (en) | 1975-02-10 | 1976-02-02 | Storage arrangement having a device to determine free storage locations |
IT19863/76A IT1055083B (it) | 1975-02-10 | 1976-02-04 | Dispositivo di memorizzazione per impianti elaboratori di dati |
FR7603329A FR2300393A1 (fr) | 1975-02-10 | 1976-02-06 | Dispositif de memoire |
GB4913/76A GB1533326A (en) | 1975-02-10 | 1976-02-09 | Storage arrangements |
BE164208A BE838420A (fr) | 1975-02-10 | 1976-02-10 | Dispositif de memoire |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752505478 DE2505478C3 (de) | 1975-02-10 | Speicheranordnung |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2505478A1 true DE2505478A1 (de) | 1976-08-19 |
DE2505478B2 DE2505478B2 (de) | 1977-02-10 |
DE2505478C3 DE2505478C3 (de) | 1977-09-22 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
BE838420A (fr) | 1976-08-10 |
CH604322A5 (de) | 1978-09-15 |
FR2300393B3 (de) | 1979-10-12 |
NL7600816A (nl) | 1976-08-12 |
FR2300393A1 (fr) | 1976-09-03 |
US4047160A (en) | 1977-09-06 |
GB1533326A (en) | 1978-11-22 |
DE2505478B2 (de) | 1977-02-10 |
IT1055083B (it) | 1981-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3885123T2 (de) | Anordnung und Verfahren für Kryptographie mit Anwendung. | |
DE2139731C2 (de) | Anordnung zur Code-Umsetzung | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2163342C3 (de) | Hierarchische binäre Speichervorrichtung | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE1956604B2 (de) | Datenverarbeitungsanlage | |
DE3618136C2 (de) | ||
DE2758829C2 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren | |
DE2814415A1 (de) | Digitale verbindungseinheit fuer eine multiplexanlage mit verschiedenen bitraten | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE1269182B (de) | Inhaltsadressierter Informationsspeicher (Katalogspeicher) | |
DE2505478A1 (de) | Speicheranordnung | |
DE2505478C3 (de) | Speicheranordnung | |
DE19645057C2 (de) | Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung | |
DE2748859C3 (de) | Schaltungsanordnung zum Speichern eines Textes | |
DE2004934B2 (de) | Speicheranordnung mit schaltungen zur fehlererkennung und fehlerkorrektur | |
DE1808159A1 (de) | Einrichtung zur Umwandlung von Dualzahlen in binaer codierte Dezimalzahlen in paralleler Darstellung | |
DE3105503A1 (de) | Assoziativer zugriffsspeicher | |
DE3633227A1 (de) | Anordnung zur umwandlung einer virtuellen adresse in eine physikalische adresse fuer einen in seiten organisierten arbeitsspeicher einer datenverarbeitungsanlage | |
DE2017879B2 (de) | Speicheranordnung mit freiem Zugriff | |
DE2505477C3 (de) | Assoziativspeicher mit getrennt assoziierbaren Bereichen | |
DE2002369C3 (de) | Datenverarbeitungsanlage mit Pufferspeicher | |
DE2512324C3 (de) | Verfahren und Anordnung zum Sortieren von Daten in einem assoziativ bewirtschafteten Speicher | |
EP0123169A1 (de) | Hybrid-Assoziativspeicher, bestehend aus einem nicht assoziativen Basisspeicher und einer assoziativen Oberfläche |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |