DE2505477A1 - Assoziativspeicher mit getrennt assoziierbaren bereichen - Google Patents
Assoziativspeicher mit getrennt assoziierbaren bereichenInfo
- Publication number
- DE2505477A1 DE2505477A1 DE19752505477 DE2505477A DE2505477A1 DE 2505477 A1 DE2505477 A1 DE 2505477A1 DE 19752505477 DE19752505477 DE 19752505477 DE 2505477 A DE2505477 A DE 2505477A DE 2505477 A1 DE2505477 A1 DE 2505477A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- associative
- address
- main memory
- association
- 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
Description
Assoziativspeicher mit getrennt assoziierbaren. Bereichen.
Die Erfindung bezieht sich auf einen Assoziativspeicher
mit getrennt assoziierbaren Bereichen, mit einem linear
adressierbaren Hauptspeicher zum Ein- und Auslesen von aus einem assoziativen Teil (Assoziationsbegriff) und
einem nicht assoziativen Teil bestehenden Daten, mit einer Vergleichereinrichtung zum Vergleich der ausgelesenen
Assoziationsbegriffe mit dem Suchbegriff, mit einer Adreßwandler enthaltenden Einrichtung zur Ableitung der Adressen
aus dem Assoziations- bzw. Suchbegriff oder aus den höher1.·/ertigen Bit dieser Begriffe und mit einem Brweiterungszähler,
dessen Zählerstand die Ableitung der Adressen 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 im einen durch einen
Teil (Vorsilbe) des Assoziations- bzw. Suchbegriffs adressierbaren assoziativen Abschnitt und in einem nicht
assoziativen Abschnitt zur Aufnahme eines beigeordneten Begriffs gegliedert sind, wobei jeder Speicherbank Adreßwandler
zugeordnet sind zur Ableitung der Adressen aus dem Assoziations- bzw. Suchbegriff 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.
VPA 9/210/4051b
609834/Ö82B
Durch eine zufällige Häufung von Assoziationsbegriffen mit
gleicher Vorsilbe kann der Fall eintreten, daß die entlang einer Vorsilbenlinie 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 1 erhöht wird, wenn ein Neueintrag eines Begriffs mit
einer bestimmten Vorsilbe erfolgen soll und alle Speicherplätze entlang der betreffenden Vorsilbenlinie bereits belegt
sind. Mit Hilfe des Erweiterungszählers v/erden also zusätzliche Adressierungsebenen geschaffen, die Verlängerungen
von Vorsilbenlinien aufnehmen können.
Durch die mögliche Übersicht über den BeIegungszustand entlang
einer Vorsilbenlinie wird die Zuteilung freier Speicherplätze
für Meueintragungen sehr erleichtert. So sind durchschnittlich
zwei Suchzyklen fur das Auffinden freier Speicherplätze erst bei einem Speicherfüllungsgrad von etwa 95 $ und mehr notwendig. Bei einer Verringerung der Anzahl der Speicherbänke werden jedoch die Verhältnisse rasch ungünstiger. Es entfällt mehr und mehr die Übersicht über den Belegungszustand und wegen der Verkürzung der Vorsilbenlinien die Auswahl zwischen gleichwertigen Ablageplätzen.
zwei Suchzyklen fur das Auffinden freier Speicherplätze erst bei einem Speicherfüllungsgrad von etwa 95 $ und mehr notwendig. Bei einer Verringerung der Anzahl der Speicherbänke werden jedoch die Verhältnisse rasch ungünstiger. Es entfällt mehr und mehr die Übersicht über den Belegungszustand und wegen der Verkürzung der Vorsilbenlinien die Auswahl zwischen gleichwertigen Ablageplätzen.
Durch die Anwendung geeigneter Maßnahmen gelingt es jedoch, auch einen linear adressierbaren, in Seiten und Zeilen unterteilten
Hauptspeicher mit nur einer Speieherbank vorteilhaft
als Assoziativspeicher verwenden zu können. Von wesentlicher Bedeutung ist hierbei die Bereitstellung eines Buchführungsspeichers,
bei dem die Zeilen (Worte) den Seiten des Hauptspeichers und die Bitstellen innerhalb der Worte den
Zeilen innerhalb der Seiten des Hauptspeichers zugeordnet sind. Durch Setzen von Markierungen in den Bitstellen des
BuchführungsSpeichers für die belegten Zeilen des Hauptspeichers
wird ein rascher Überblick über den jeweiligen
VPA 9/210/4051b - 3 -
609 834/0825
Belegungszustand des Hauptspeichers erreicht.
Die Adressen für die Seiten und Zeilen des Hauptspeichers
•werden aus den Assoziations- "bzw. Suchbegriffen oder aus
Seilen dieser Begriffe gewonnen. Die für die Adressenbildung benutzten Bitstellen der Associations- bzw. Suchbegriffe
werden als Vorsilbe bezeichnet, unabhängig davon,
ob die Vorsilbe nur die höherwertigen Bitstellen dieser Begriffe oder die ganzen Begriffe umfaßt. J1Ur die Ableitung der Seiten- und Zeilenadressen des Hauptspeichers
stehen viele Möglichkeiten zur Verfügung, die teilweise/, unterschiedliche Ablagemodi für Ueueinträge von Assoziationsbegriffen zur Folge haben. Allen Ausführungsbeispielen, die
später noch näher behandelt werden, ist ein Seitenadreßwandler gemeinsam, der aus einem Verknüpfungsnetzwerk oder
einem kleinen Lesespeicher (ROM) besteht. Er gibt an seinem Ausgang ebenso viele Bit parallel ab, als an seinem Eingang
anliegen. Auf einen besonderen Zeilenadreßwandler kann im
allgemeinen verzichtet v/erden.
Pur manche Anwendungsfälle ist es vorteilhaft, eine Vorsilbe mit mehr Bit zu verwenden als für die Adressierung
erforderlich sind. Die Vorsilbe wird dann durch Verknüpfungsnetzwerke
oder Lesespeicher verdichtet.
Da in der 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 Adres- '
sen. Es v/ird 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 Asscziationsbegriff abgelegt werden soll. Wegen der Abbildung des Belegungszustandes des Hauptspeichers im
VPA 9/210/4051b ~ - 4 -
609834/0825
Buchführungsspeieher ist aber die Zuteilung eines gleichwertigen
Speicherplatzes für den anstehenden Neueintrag leicht und rasch möglich. Zu diesem Zweck ist ein Erweiterungszähler
vorgesehen, dessen jeweiliger Zählerstand für die Bildung der Seitenadressen mitbestimmend ist und
von O ausgehend immer dann um eine Zähleinheit erhöht wird,
wenn der vorher adressierte Speicherplatz schon belegt ist. Auf diese ¥eise wird eine Kette von einander ähnlichen
Assoziationsbegriffen aufgebaut, die alle zunächst einmal zu gleichen Adressen des Hauptspeichers führen wurden.
Bei der Bildung solcher Kettungen ist es vorteilhaft, die
Übersetzungsfunktion des Seitenadreßwandlers durch wenige (2. B. 3 oder 4) niederwertige Bit des jeweiligen Standes
des Erweiterungszählers zu steuern. Die höherwertigen Bit aus dem Erweiterungszähler werden zu den Bit am Ausgang des
Seitenadreßwandlers addiert, ohne die Stellenzahl zu vergrößern. Das Additionsergebnis stellt die Seitenadresse dar.
Speicherinhalte bestehen oft aus mehreren unabhängigen Datengruppen,' wobei die Daten innerhalb der einzelnen
Gruppen in einem organisatorischen Zusammenhang stehen. Solche Datengruppen können beispielsweise Übersetzungstabellen, Entscheidungstabellen, Programme und Programmteile
und vieles andere sein. Sie werden im folgenden als unabhängige Tabellen bezeichnet. Die Bearbeitung solcher
Tabellen in großen Assoziativspeichern mit einer Vielzahl unabhängiger Tabellen wird in vielen Fällen sehr vereinfacht,
wenn den einzelnen Tabellen getrennt assoziierbare Speicherbereiche zugewiesen werden. Es sei hier nur auf
das Sortieren von Tabelleninhalten hingewiesen, bei dem anderenfalls der ganze Speicher systematisch durchsucht
werden müßte.
Eine Unterteilung des Speichers in feste physikalische Bereiche birgt jedoch die Gefahr in sich,-daß Bereiche
VPA 9/210/4051b BOSS3^/0825 - 5 -
nicht ausgenützt werden oder sich als zu knapp bemessen erweisen. Es ist daher die Aufgabe der Erfindung, Maßnahmen
anzugeben, welche die Unterteilung des Assoziativspeichers in getrennt assoziierbare Bereiche gestatten,
deren Kapazität den jeweiligen Erfordernissen jederzeit angepaßt werden kann. Es versteht sich von selbst, daß
dies nur soweit gelten kann, als die Gesamtkapazität des Speichers nicht überschritten wird.
Gemäß der Erfindung wird diese Aufgabe bei einem Assoziativspeicher
der eingangs genannten Art durch die im kennzeichnenden !Deil des Eauptanspruchs aufgeführten Merkmale
gelöst.
Zu beachten ist hierbei, daß die durch die Erfindung geschaffene
Unterteilung des Speichers in getrennt assoziierbare Bereiche nur in organisatorischer Hinsicht besteht.
Über die tatsächliche räumliche Lage dieser Bereiche im physikalischen Speicher kann in allgemeiner Form nichts
ausgesagt werden. Vielmehr können sich die Bereiche gegenseitig durchdringen. Nachstehend wird die Erfindung anhand
von Ausführungsbeispielen unter Zuhilfenahme der Zeichnung näher erläutert. Es zeigt darin
Pig. 1 eine Übersicht über einen Assoziativspeicher mit
Pig. 1 eine Übersicht über einen Assoziativspeicher mit
einem Hauptspeicher mit einer Speieherbank und mit
Zusatzeinrichtungen,
Pig. 2 den Verlauf von Kettungslinien in Abhängigkeit vom Stand des Erweiterungszählers,
Pig. 2 den Verlauf von Kettungslinien in Abhängigkeit vom Stand des Erweiterungszählers,
Pig. 3 die Eintragung von Verweiskennzeichen in den Speicherplätzen zugeordnete Pelder,
Pig. 4 eine Anordnung zur Ableitung von Adressen für den
Hauptspeicher aus den Assoziations- bzw. Suchbegriffen,
Pig. 5 ein Ausführungsbeispiel für einen Adreßwandler, Pig. 6 eine Anordnung zur Ergänzung der Anordnung nach
Pig. 4 (Code-Verdichter),
VPA 9/210/40511)' 609834/0825 - ß -
Pig. 7 einen Baustein der Anordnung nach Pig. 6 und Pig. 8 eine Übersicht über einen Assoziativspeicher
mit einem Hauptspeicher mit mehreren Speicherbänken und mit Zusatzeinrichtungen.
Die Pig. 1 zeigt andeutungsweise den Hauptspeicher ASP1,
der in a Seiten zu je b Zeilen unterteilt ist. Jede Speicherzeile besteht aus dem eigentlichen Speicherplatz zur
Aufnahme des abzulegenden Assoziationsbegriffs und gegebenenfalls
eines nicht assoziativen Datenteils und aus zwei zusätzlichen Peldern P1 und P2 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 Pig. 1 nicht dargestellt. Ebenfalls
nicht dargestellt sind ein Maskenregister, dessen veränderbarer Inhalt es gestattet, den bei dem assoziativen Vergleich
berücksichtigten Bereich zu erweitern oder einzuengen und der zur Anwahl der Speicherplätze notwendige
Adressendecodierer.
Dem Hauptspeicher ASP1 ist der wortweise lesbare Buchführungsspeicher
BSP zugeordnet. Der Buchführungsspeieher BSP
besitzt so viele ¥orte als der Hauptspeicher ASPt Seiten besitzt, jedes Wort im Buchführungsspeieher BSP besteht
aus so vielen Bitstellen als jede Seite des Hauptspeichers Zeilen aufweist. In eine Bitstelle des Buchführungsspeichers
BSP wird ein Markierungsbit gesetzt (in der Zeichnung durch einen Punkt angedeutet), wenn die betreffende Zeile
des Hauptspeichers durch einen Eintrag belegt ist.
Als Buchführungsspeicher BSP wird vorteilhaft ein schneller Bipolar-Halbleiterspeicher verwendet. Er kann ein reservierter
Bereich eines für andere Zwecke mitbenutzten Speichers sein. Gegebenenfalls kann dafür aber auch ein Ab-
VPA 9/210/40511) - 7 -'
609834/0825
schnitt des als Hauptspeicher dienenden Speichers Verwendung finden.
Dem Buchführungsspeicher BSP ist eine BuchführungsSteuereinheit
BFE beigegeben, die Hilfsfunktionen ausführt. Beispielsweise liest sie das durch die Seitenadresse SA des
Hauptspeichers ASP1 ausgewählte Wort im Buchführungsspeicher BSP und wählt mit Hilfe eines Prioritätnetzwerks den freien
Speicherplatz mit der höchsten Priorität innerhalb der ausgewählten Seite des Hauptspeichers ASPt aus, wenn ein durch
die ursprüngliche Zeilenadr.esse ZAo ausgewählter Speicherplatz bereits belegt ist. Die Buchführungssteuereinheit
BPE setzt auch die Kennzeichen in die Felder F1 und F2
des Hauptspeichers ASP1 und wertet die aus diesen Feldern
gelesenen Kennzeichen aus. Ferner steuert sie den Erweiterungszähler EZ.
Es wurde schon darauf hingewiesen, daß der Erweiterungszähler
EZ als Hilfsmittel für die Zuweisung äquivalenter Speicherplätze für Neueinträge vorgesehen ist. Sein jeweiliger
Zählerstand ist für die Bildung der Seitenadressen mitbestimmend und wird von O ausgehend immer dann um eine Zähleinheit
erhöht, wenn der vorher adressierte Speicherplatz
schon belegt ist. Die auf diese Weise aufgebaute Kette von
ähnlichen Assoziationsbegriffen, die alle zunächst einmal zu gleichen Adressen führen würden, ist in der Fig. 2 in
Abhängigkeit vom Stand /EZ/ des ErweiterungsZählers EZ
(EZ-Stand) aufgetragen. Der durch die Pfeile, welche die einzelnen G-lieder miteinander verbinden, entstehende unregelmäßige Linienzug wird als Kettungslinie bezeichnet.
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 Standes /EZ/
des Erweiterungszählers EZ in eine andere Seite des Hauptspeichers übergeht. Ferner kann es vorkommen, daß einzelne
EZ-Stände übersprungen werden, weil die unter Mitwirkung
VPA 9/210/4051b 609836/0825 "8>
der übersprungenen EZ-Stände adressierten Hauptspeicherseiten schon vollständig "belegt sind.
Es ist vorteilhaft, die vom Zeilenadreßwandler aus dem
Assoziationsbegriff abgeleitete Adresse ZAo nur beim jeweils ersten Glied, d. h. beim Stand IEZI = 0 des Erweiterungszählers
EZ zur Adressierung des Speicherplatzes zu verwenden. Für die Einträge weiterer Kettungsglieder
(\EZ\z^ 0) werden freie Speicherplätze innerhalb der ausgewählten
Seiten mit Hilfe des Buchführungsspeichers ermittelt.
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, zwei Felder F1 und F2 vorzusehen und
in folgender Weise vorzugehen:
Das Feld F1 des Anfangsgliedes einer Kette (Anfangszeile) enthält einen Verweis auf das jeweilige Ende der Kette.
In den Feldern F2 aller weiteren Glieder stehen die Angaben, die das jeweils vorausgehende Glied betreffen. Die
Fig. 3 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. aufgebaut.
Die bisher nicht erwähnten Einrichtungen der Anordnung nach Fig. 1 dienen zur Ableitung der Speicheradressen aus
den in dem Register BEG stehenden Assoziations- bzw. Suchbegriffen.
Auf die Rolle des Erweiterungszählers in Ver-
VPA 9/210/4051 b 609834/0825 ~9'
"bindung mit der Adressenbildung wurde "bereits hingewiesen.
Die verschiedenen Möglichkeiten für die Ableitung der Speicheradressen lassen sich in drei Hauptgruppen einteilen, die unterschiedliche Ablagemodi zur Folge haben.
Es ist zweckmäßig, wie in Fig. 1 dargestellt, ä.en drei
Gruppen entsprechende Ausführungen gleichzeitig vorzusehen, die dann nach den jeweiligen Erfordernissen wahlweise
benützt werden können. Zur Auswahl zwischen den verschiedenen Arten der Adressenableitung dient eine vielpolige
Umsehaltevorrichtung, die durch den Schalter MOD
symbolisiert ist. Abhängig von dessen Stellung wird auch die Maske MASK verändert.
In allen Stellungen des Schalters MOD wird eine Bit-Kombination mit gleichbleibender Bitstellenzahl, das Fragment
FRAG-, durchgeschaltet. Die Bitstellenzahl entspricht der
Summe der Bit in Seiten- und Zeilenadresse. In der mittleren Stellung o2 des Schalters MOD ist das Fragment FRAG
identisch mit der durch entsprechendes Setzen der Maske
MASK aus dem Assοziationsbegriff (bzw. Suchbegriff) ausgeblendeten
Vorsilbe VS.
Die weitere Verarbeitung des Fragments, insbesondere mit
dem Ziel, eine Unterteilung des Speichers in getrennt assoziierbare Bereiche zu erreichen, ist der Darstellung
in Fig. 1 nur andeutungsweise zu entnehmen. Sie wird im
folgenden anhand der Fig. 4 ausführlich beschrieben. Ein
Register RB liefert auf Abruf (per Programm) eine Steuerinf orraa tion BGR zur Bereichsabgrenzung und eine Berei'ehsadresse
BAD. Die Steuerinforraation BGR dient zur Steuerung
eines Schräganbieters, der in der Fig. 4 durch eine verschiebbare Maske MSAB mit gleichbleibender Blendenöffnung
und durch ein Feld SAB dargestellt ist (vergl. Dt-AS 1 916 377). Die Öffnung der Maske MSAB wird unter dem
Einfluß der Steuerinf or ma ti on BGR so verschoben, daß mehr
TPA 9/210/40511* - 10 -
609834/0825
■ - 10 -
oder weniger der höherwertigen Bit des Fragments FRAG- abgegriffen
und in das Feld SAB übergeführt werden. Maximal wird das gesamte Fragment FRAG· in das Feld SAB übergeben.
Im übrigen werden so viele niederwertige Bit der Bereichsadresse BAD erfaßt als niederwertige Bit des Fragments
FRAG ausgeschlossen werden. Die η niederwertigen Bit der
in Feld SAB stehenden Bit-Kombination werden unmittelbar als Zeilenadresse für d.en Hauptspeicher benutzt. Die restlichen
m höherwertigen Bit der Bit-Kombination werden
einem Seitenadreßwandler zugeführt, der aus einem Verknüpfungsnetzwerk oder einem Lesespeicher (ROM) besteht.
Der aus wenigen (z. B. drei oder vier) niederwertigen Bit bestehende Anteil |EZ1j des Inhalts des Erweiterungszählers
EZ steuert die Über Setzungsfunktion des Seitenadreßwandlers
SA¥. Der die höherwertigen Bit enthaltende Anteil \EZ2[
vom Inhalt des ErweiterungsZählers wird in einem Addierer
ADD zu dem vom Seitenadreßwandler SA¥ gelieferten Bit madulo 2m addiert. Das Additionsergeb:
adresse SA für den Hauptspeicher dar.
madulo 2m addiert. Das Additionsergebnis stellt die Seiten-
Ein Ausführungsbeispiel für den Seitenadreßwandler SAW
zur Verarbeitung von 16 Bit aus handelsüblichen Lesespeicher-(ROM-)Bausteinen
zeigt die Fig. 5. Jeder ROM-Baustein übernimmt eine Gruppe von 4 Bit vom Schräganbieter SAB und
die 4 niedrigstwertigen Bit des Erweiterungszählers EZ als Adresse, wobei letztere allen vier ROM—Bausteinen gleichermaßen
zugeführt werden. Die aufgerufenen Speicherinhalte der ROM-Bausteine werden über jeweils 4 Ausgangsleitungen
abgenommen.
Es wurde schon vermerkt, daß die aus dem Fragment FRAG- bzw.
aus dem Assoziationsbegriff abgeleitete Zeilenadresse ZAo
nur zur Adressierung der Anfangszeile einer Vorsilbenlinie, d. h. nur beim Stand 0 des ErweiterungsZählers benutzt
wird. Um dies deutlich zu machen, ist in der Fig. 4 ein
VPA 9/210/4051b - 11 -
609834/Q82S
symboliseher Schalter AS mit drei Stellungen dargestellt.
Die eingezeichnete (rechte) Stellung des Sehalters AS gilt
für den Pall /EZ/ = 0. Die "beiden anderen Stellungen, nimmt
der Schalter AS immer dann ein, "wenn der Stand des Erwei- '.
terungs zähle rs von 0 verschieden ist (JEZl:^ 0). Unter
dieser Voraussetzung gilt die mittlere Stellung für einen Sehreibzyklus, "bei dem die Zeilenadresse durch die Buchfünrungssteuereinheit
BPE mit Hilfe des Buehf ührungsspeichers
BSP ermittelt wird. In der rechten Stellung liegt der Schalter AS während eines Suehvorgangs-," bei dem mit
dem lesen der Begriffe entlang einer Kettungslinie auch
die in den Verweiskennzeichen enthaltenen Zeilenadressen
der zur Kette gehörenden Glieder gelesen werfen.»
Die durch die Punktion des Schräganbieters erzeugten ge-*
trennt assoziierbaren Bereiche sind nur für primäre Einträge (EZ = 0) durch das Pragment PEAG, die Bereiicnsadresse
BAD und die Steuerinformation BGE festgelegt. Im
übrigen verhalten sie sich wie elastische Blasen, deren
Größe unabhängig von dieser Eingangsöffnung belieMg erweitert oder reduziert werden kann, Selbstversiaiidiich
kann dabei der gesainte verfügbare Speicherraum nicht überschritten werden. Reicht der für primäre Ablagen zur Verfügung stehende Bereich nicht ausj so werden, als Erweiterung beliebig viele sekundäre Ablageplätze zur Verfügung
gestellt. Dabei werden auf den nach Pig« 2 definierten.
Eettungslinien Kettungen gebildet. Die Ablage erfolgt \;
hierbei, dank der Möglichkeit, freie Speicherplätze mit Hilfe des Buchführungsspeichers BSP zuzuteilen* ohne
nennenswerte Hemmungen. Überschneidungen von Xettungs—
linien treten nicht auf, - ^ ;
Die in der mittleren Stellung m2 des Schalters MOD (Pig.4)
sich ergebende, bereits näher beschriebene Art der Adressenableitung bewirkt einen sortierfähigen Ablagemodus der
VPA 9/210/4051b - 12■■-'■"
60983 4/0-325
eingespeicherten Assoziationsbegriffe. Er eignet sich besonders
für eine Sortierung der Begriffe nach einer dualnuraerischen
Ordnung. Zu diesem Zweck kann ein Sortierzähler
benutzt v/erden, 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 z. B, nach einem in der Patentanmeldung P 2 342 660.0 vorgeschlagenen
Sortierverfahren erfolgen. Hier soll darauf nicht näher eingegangen werden.
Bei dem genannten Ablagemodus muß jedoch gelegentlich mit der Entstehung längerer Ketten gerechnet werden. Pur die
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 dualnumerisch
sortierte Ausgabe von Begriffen erwü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
praktisch verloren, weil die Sortierung diffus abgelegter Begriffe einen zu hohen Zeitaufwand bedingen würde.
Soll trotzdem sortiert werden, dann ist eine vorhergehende Umschichtung in einen sortierfähigen Ablageraodus zu empfehlen.
Die diffuse Ablage wird dadurch erreicht, daß die für die Adressenbildung benutzte Vorsilbe VS durch entsprechende
Steuerung der Maske MASK auf wesentlich mehr Bitstellen erweitert wird, als für die Adressierung des Hauptspeichers
eigentlich erforderlich sind. Die notwendige Reduktion der vielsteiligen Vorsilbe auf das eine geringere
VPA 9/210/4051b 609834/0825 -13-
Bitstellenzahl aufweisende Fragment !FRAG· wird durch einen
Reduktionswandler REW erreicht, der in der Stellung m1
des Schalters HOD in Funktion tritt. Der Reduktionswandler
REVi besteht vorzugsweise aus einem Lesespeicher, der
durch die Vorsilbe VS adressiert'wird und an seinem Ausgang die verschiedenen Bitkombinationen des Fragments FRAG
abgibt. Naturgemäß liefern dabei auch unterschiedliche
Vorsilben VS gleiche Fragmente FRAG·.
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 serielle Suchvorgänge anfallen.
In der dritten Stellung m3 des Schalters MOD wird eine
Adressenbildung durchgeführt, die ebenfalls zu einem sortierfähigen
Ablagemodus führt. Er ist für die spätere Sortierung der Begriffe in alpha-nuraerischer,Reihenfolge
geeignet. Zur Durchführung einer solchen Sortierung, auf die hier nicht näher eingegangen wird, kann ein in der
schon genannten Patentanmeldung P 2 342 660.0 ebenfalls
vorgeschlagenes Sortierverfahren benützt werden.
In der Stellung m3 des Schalters MOD wird das Fragment
FRAG mit Hilfe eines Code-Verdichters CV aus der Vorsilbe
VS (vergl. Fig. 1) gewonnen. Da nämlich die gebräuchlichen
Codes für Buchstaben und Ziffern nur einen kleinen leil
der 256 gebotenen Kombinationsmöglichkeiten belegen, ^ können ohne die Anwendung zusätzlicher Maßnahmen unerwünscht lange Kettungen auftreten. Der Code-Verdichter CV
reduziert die Bitstellenzahl des Codes auf das notwendige
VPA 9/210/4051b -14-
609834/0825 -
250547?
Maß und scheidet alle nicht "benutzten Kombinationen von
vorneherein aus.
Ein auf den EBCDI-Code abgestellter, aus drei Einzelbausteinen
bestehender Code-Verdichter ist in der Fig. 6 schematisch dargestellt. Der Code-Verdichter CV benutzt
eine Vorsilbe VS mit 21 Bit und verdichtet sie auf ein Fragment FRAG mit 16 Bit. Einen einzelnen Baustein des
Code-Verdichters CV mit 8 Eingangsklemmen 0-7 und 6 Ausgangsklemmen 0-5 zeigt die Fig. 7. Er besteht aus
den UIID-Verknüpfungsgliedern A1 - A7, dem ODER-Verknüpfungsglied
OR und dem Inverter IFV. Sein Aufbau ist aus der Zeichnung ohne weiteres erkennbar. Ein Vergleich der
beiden Fig. 6 und 7 zeigt, daß in dem Code-Verdichter CV auf der rechten Seite jeweils drei Eingangs- und drei
Ausgangsleitungen nicht benutzt sind'. -
Die Unterteilung eines assoziativ bewirtschafteten Speichers in getrennt assoziierbare Bereiche in der beschriebenen
V/eise läßt sich nicht nur in Verbindung mit einem Hauptspeicher mit einer Speicherbank, sondern auch bei
einer aus mehreren gleichberechtigten Speieherbänken bestehenden
Speicheranordnung erreichen.
In der Übersichtsdarstellung der Fig. 8 ist ein Ausführungsbeispiel
einer an sich durch die schon erwähnte Dt-OS 2 319 468 bekannten Speichereinrichtung durch die
Zusatzeinrichtung zur Aufteilung des Speichers in getrennt assoziierbare Bereiche gemäß der Erfindung ergänzt. Der
eigentliche Speicher 4SPB besteht aus 6 (vorzugsweise 8)
Speicherbänken SB 0 bis SB5, die jeweils eine Vielzahl von Speicherplätzen P0 bis Pk aufweisen. Zur Adressierung
der Speicherplätze ist jeder Speicherbank ein Adreßwandler
ADW0 bis ADV/5 zugeordnet. Jeder Adrsßwandler besitzt
eine andere Übersetzungsfunktion, derart, daß ein an den
VPA 9/210/405Ib - 15 -
609834/0825
Eingängen der Adreßwandler anliegendes !Fragment FRAG für
jede Speicherbank eine andere Adresse liefert. Werden alle AtilageOlätzet die durch ein bestimmtes Fragment FRAG
verounden,
adressiert v/erden, dann ergibt sich eine unregelmäßig verlaufende Kettungslinie. Durch Hochzählen des Erweiterungszählers EZ immer dann, wenn alle Ablageplätze entlang einer Kettungslinie bereits belegt sind, und durch die Addition seines Inhalts zu den Ausgangsgrößen der Adreßwandler, werden Verlängerungen der Kettungslinien geschaffen.
adressiert v/erden, dann ergibt sich eine unregelmäßig verlaufende Kettungslinie. Durch Hochzählen des Erweiterungszählers EZ immer dann, wenn alle Ablageplätze entlang einer Kettungslinie bereits belegt sind, und durch die Addition seines Inhalts zu den Ausgangsgrößen der Adreßwandler, werden Verlängerungen der Kettungslinien geschaffen.
Die Bitkombination am Eingang der Adreßwandler wird durch
einen Schräganbieter geliefert, der in der schon beschriebenen Weise die höherwertigen Bit eines Fragments FRAG
und die niederwertigen Bit einer Bereichsadresse BAD abgreift. Die Verschiebung des Schräganbieters wird durch
die Steuerinformation BGR zur Bereichsabgrenzung gesteuert.
Die Herleitung des Fragments FRAG aus dem Assoziationsbegriff kann in jeder aus der Dt-OS 2 319 468 bekannten Weise
erfolgen. Da bei der Speicheranordnung mit mehreren Speicherbänken
auch bei der Unterteilung in getrennt assoziierbare Bereiche Überschneidungen von Kettungslinien auftreten
'können, wird zu jedem eingegebenen Assoziationsbegriff auch die gesamte Bereichsadresse BAD, die bei der Ableitung
seiner Adresse (teilweise) mitbestimmend war, für die eindeutige Identifizierung des Begriffs abgelegt. Als Überschneidung
von Kettungslinien wird der Fall bezeichnet, daß ein Speicherplatz von zwei oder mehreren Kettungslinien
erfaßt wird.
8 Figuren
4 Patentansprüche ■ ■
VPA 9/21O/4O51b 609834/0825 -16-
Claims (4)
- PatentansprücheAssoziativspeicher mit getrennt assoziierbaren Bereichen, mit einem linear adressierbaren Hauptspeicher zum Ein-μηά Auslesen von aus einem assoziativen Teil (Assoziationsbegriff) und einem nicht assoziativen Teil bestehenden Daten, mit einer Vergleichereinrichtung zum Vergleich der ausgelesenen Assoziationsbegriffe mit dem Suchbegriff, mit einer Adreßwandler enthaltenden Einrichtung zur Ableitung der Adressen aus dem Assoziationsbegriff bzw. dem Suchbegriff oder aus den höherwertigen Bit dieser Begriffe und mit einem Erweite rungs zähler,, dessen Zählerstand die Ableitung der Adressen beeinflußt und jeweils um 1 erhöht v/ird, wenn sich ein zunächst adressierter Speicherplatz als anderweitig belegt erweist, dadurch gekenn zeichnet , daß ei^e Reservierungseinheit (RES) vorgesehen ist, mit einem Schräganbieter (SAB), der unter dem Einfluß einer Steuerinformation (BGR) zur Bereichsabgrenzung eine sekundäre Bitgruppe mit der Breite 1 der vollständigen Adressen aus einem wählbaren Teil der niederwertigeri Bit einer Bereichsadresse und aus einem wählbaren Teil der höherwertigen Bit einer primären, aus dem Assoziations- bzw. Suchbegriff abgeleiteten Bitgruppe (Fragment FRAG) mit der Breite 1 abgreift und der Adreßwandler enthaltenden Einrichtung zum vom Stand des Erweiterungszählers (EZ) abhängigen Bildung der Speicheradresse zuführt.
- 2. Assoziativspeicher nach Anspruch 1, dadurch gekennzeichnet, daß die Reservierungseinheit (RES) ein Register mit einem Feld zur Aufnahme der Steuerinformation (BGR) zur.Bereichsabgrenzung, einem Feld zur Aufnahme der Bereichsadresse (BAD) und einem Feld zur Aufnahme des Fragments (FRAG) sowie eine verschiebbare Maske (MSAB) mit konstanter Öffnungsbreite enthält.VPA 9/210/4051b - 17 -609834/0825
- 3. Assoziativspeicher nach Anspruch 2, dad u £ c h gekennzeichnet, daß der Hauptspeicher (ASP1) aus einer linear adressier "baren Speicherbankmit a Seiten (a = 2m) zu je b Zeilen (h = 2n) "besteht, rait einem wortweise lesbaren Buchführungsspeicher (BSP), dessenWorte den Seiten des Hauptspeichers (ASP1) entsprechen und dessen Bitstellen innerhalb der V/orte den Zeilen innerhalb der Seiten des Hauptspeichers (ASP1) zugeordnet sind und bei Belegung der Zeile bzw. des Speicherplatzes markiert · werden und mit einer dem Buchführungsspeicher (BSP) zugeordneten Buchführungssteuereinheit (BPE), die das Setzen bzw. Rücksetzen und die Abfrage der Markierungen im Buchführungsspeicher (BSP) für belegte Speicherplätze im Hauptspeicher (ASP1) und die Auswahl äquivalenter Speicherplätze steuert.
- 4. Assoziativspeicher nach Anspruch 2, · dad u r c h g e kennzeichnet , daß der Hauptspeicher (ASPB) aus mehreren, eine Vielzahl von Speicherplätzen (P0 bis Pk) umfassenden Speicherbänken (SB0 bis SB?) besteht und daß jeder Speicherbank Adreßwandler (ADW0 bis ADV/7) zur Ableitung der Adressen für die Speicherplätze (P0 bis Pk)aus der von dem Schräganbieter (SAB) gelieferten Bitkombination unter dem Einfluß des jeweiligen Standes des Erweiterungszählers (EZ) in einer von Speicherbank zu Speicherbank unterschiedlichen Weise zugeordnet sind.VPA 9/21O/4O51b609834/0825AiLeerseite
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752505477 DE2505477C3 (de) | 1975-02-10 | Assoziativspeicher mit getrennt assoziierbaren Bereichen | |
AT42576A AT354159B (de) | 1975-02-10 | 1976-01-22 | Assoziativspeicher mit getrennt assoziierbaren bereichen |
CH106476A CH607235A5 (de) | 1975-02-10 | 1976-01-28 | |
NL7600921A NL7600921A (nl) | 1975-02-10 | 1976-01-29 | Associatief geheugen met gescheiden associeerba- re blokken. |
US05/654,615 US4044338A (en) | 1975-02-10 | 1976-02-02 | Associative memory having separately associable zones |
IT19865/76A IT1055085B (it) | 1975-02-10 | 1976-02-04 | Memeoria associativa con zone associabili separatamente |
FR7603330A FR2300394A1 (fr) | 1975-02-10 | 1976-02-06 | Memoire associative comportant des zones pouvant etre associees separement |
GB4912/76A GB1533325A (en) | 1975-02-10 | 1976-02-09 | Storage arrangements |
BE164209A BE838421A (fr) | 1975-02-10 | 1976-02-10 | Memoire associative comportant des zones pouvant etre associees separement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752505477 DE2505477C3 (de) | 1975-02-10 | Assoziativspeicher mit getrennt assoziierbaren Bereichen |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2505477A1 true DE2505477A1 (de) | 1976-08-19 |
DE2505477B2 DE2505477B2 (de) | 1977-02-10 |
DE2505477C3 DE2505477C3 (de) | 1977-09-22 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
FR2300394B3 (de) | 1979-10-12 |
FR2300394A1 (fr) | 1976-09-03 |
CH607235A5 (de) | 1978-11-30 |
US4044338A (en) | 1977-08-23 |
DE2505477B2 (de) | 1977-02-10 |
GB1533325A (en) | 1978-11-22 |
NL7600921A (nl) | 1976-08-12 |
BE838421A (fr) | 1976-08-10 |
IT1055085B (it) | 1981-12-21 |
AT354159B (de) | 1979-12-27 |
ATA42576A (de) | 1979-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0010195B1 (de) | Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2055784A1 (de) | Datenverarbeitungssystem | |
DE2347387A1 (de) | Permutationsschaltung | |
DE2031040B2 (de) | Verfahren zur festlegung des zugangs von mehreren benutzern zu einer einheit einer datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
DE2208664A1 (de) | Verfahren zur Decodierung eines vorsatzfreien Verdichtungscodes veränderlicher Länge | |
DE2165765C3 (de) | Informationsspeicher mit Schieberegistern | |
DE2252279A1 (de) | Verfahren und anordnung zur aenderung der relativen lage wenigstens eines informationsbits in einem datenstrom | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE2221442A1 (de) | Assoziativspeicher | |
DE2846054C2 (de) | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors | |
EP0008028A1 (de) | Verfahren zur Laufweitenkorrektur | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE2505477A1 (de) | Assoziativspeicher mit getrennt assoziierbaren bereichen | |
DE2505477C3 (de) | Assoziativspeicher mit getrennt assoziierbaren Bereichen | |
DE2261586A1 (de) | Speichereinrichtung | |
DE3009330C2 (de) | Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens | |
DE2735874C2 (de) | ||
DE2505478C3 (de) | Speicheranordnung | |
DE2505478B2 (de) | Speicheranordnung | |
AT273239B (de) | Wegesuche in einem Vermittlungssystem | |
DE2512324C3 (de) | Verfahren und Anordnung zum Sortieren von Daten in einem assoziativ bewirtschafteten Speicher | |
EP0035787A2 (de) | Hybrid-Assoziativspeicher und dessen Anwendungen, insbesondere zum Sortieren von gespeicherten Daten | |
AT212062B (de) | Sortierverfahren für mit Adressen versehene Informationen | |
DE4201909C1 (en) | Associative memory circuit for e.g. personal computer - has two=dimensional memory region, row address controller, search concept register, search concept multiplexer, control logic, and marking shift registers |
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 |