DE2505477B2 - Assoziativspeicher mit getrennt assoziierbaren bereichen - Google Patents
Assoziativspeicher mit getrennt assoziierbaren bereichenInfo
- Publication number
- DE2505477B2 DE2505477B2 DE19752505477 DE2505477A DE2505477B2 DE 2505477 B2 DE2505477 B2 DE 2505477B2 DE 19752505477 DE19752505477 DE 19752505477 DE 2505477 A DE2505477 A DE 2505477A DE 2505477 B2 DE2505477 B2 DE 2505477B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- associative
- association
- lines
- prefix
- 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 OR CALCULATING; 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 OR CALCULATING; 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)
- Memory System Of A Hierarchy Structure (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Hauptspeichers wird ein rascher Überblick über den jeweiligen Belegungszustand des Hauptspeichers erreicht
Die Adressen für die Seiten und Zeilen des Hauptspeichers werden aus den Assoziations- bzw.
Suchbegriffen oder aus Teilen dieser Begriffe gewonnen. Die für die Adressenbildung benutzten Bitsteilen
der Assoziations- 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 Für die Ableitung der Seiten-
und Zeilenadressen des Hauptspeichers stehen viele Möglichkeiten zur Verfugung, die teilweise unterschiedliche
Ablagemodi für Neueinträge von Assoziationsbeeriffen
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
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 werden.
Für 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 ir. 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 Adressen. Es wird daher häufig
vorkommen, daß sich ein durch die ursprüngliche Seiten- und Zeilt-nadresse 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ührungsspeicher 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 0 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
würden. .
Bei der Bildung solcher Kettungen ist es vorteilhaft,
die Übersetzungsfunktion des Seitenadreßwandlers durch wenige (z. 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 ll 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
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 so weit 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 Teil des Hauptanspruchs 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
F i g. 1 eine Übersicht über einen Assoziativspeicher mit einem Hauptspeicher mit einer Speicherbank und
mit Zusatzeinrichtungen.
F i g. 2 den Verlauf von Kettungslinien in Abhängigkeit vom Stand des Erweiterungszählers,
F i g. 3 die Eintragung von Verweiskennzeichen in den Speicherplätzen zugeordnete Felder,
F i g. 4 eine Anordnung zur Ableitung von Adressen für den Hauptspeicher aus den Assoziations- bzw.
Suchbegriffen,
F i g. 5 ein Ausführungsbeispiel für einen Adreßwand-
F i g. 5 ein Ausführungsbeispiel für einen Adreßwand-
F i g. 6 eine Anordnung zur Ergänzung der Anordnung nach F i g. 4 (Code-Verdichter),
F i g. 7 einen Baustein der Anordnung nach F i g. 6 und
F i g. 8 eine Übersicht über einen Assoziativspeicher mit einem Hauptspeicher mit mehreren Speicherbänken
und mit Zusatzeinrichtungen.
Die F i g. 1 zeigt andeutungsweise den Hauptspeicher ASPl, 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 assoziativer Datenteils und aus zwei zusätzlichen Feldern Fl unc
FI für die Eintragung von Kennzeichnungen, auf die später noch näher eingegangen wird. Der für der
assoziativen Vergleich der ausgelesenen Daten mit den jeweils vorliegenden Suchbegriff notwendige Verglei
eher ist in der F i g. 1 nicht dargestellt. Ebenfalls nich dargestellt sind ein Maskenregister, dessen veränderba
rer Inhalt es gestattet, den bei dem assoziative] Vergleich berücksichtigten Bereich zu erweitern ode
einzuengen und der zur Anwahl der Speicherplatz notwendige Adressendecodierer.
Dem Hauptspeicher ASP1 ist der wortweise lesbar
Buchführungsspeicher BSP zugeordnet. Der Buchfür rungsspeicher BSP besitzt so viele Wörter, als de
Hauptspeicher ASPi Seiten besitzt, jedes Wort ir
Buchführungsspeicher BSP besteht aus so vielen Bitstellen, als jede Seite des Hauptspeichers Zeilen
aufweist. In eine Bitstelle des Buchführungsspeichers ÄSPwird 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 Abschnitt 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 ASP \ 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 ASP \ aus, wenn ein durch die ursprüngliche Zeilenadresse ZAo
ausgewählter Speicherplatz bereits belegt ist. Die Buchführungssteuereinheit BFE setzt auch die Kennzeichen
in die Felder Fl und F2 des Hauptspeichers ASPi 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 EZaIs 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 0 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 F i g. 2 in
Abhängigkeit vom Stand \EZ\ des Erweiterungszählers ΕΖΥΕΖ-Stand) aufgetragen. Der durch die Pfeile, welche
die einzelnen Glieder miteinander verbinden, entstehende unregelmäßige Linienzug w ird 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 £Z-Stände
übersprungen werden, weil die unter Mitwirkung der übersprungenen £Z-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 \EZ\—0 des
Erweiterungszählers £Zzur Adressierung des Speicherplatzes
zu verwenden- Für die Einträge weiterer Kettungsgiieder (|EZ|>0) werden freie Speicherplätze
innerhalb der ausgewählten Seiten mit Hilfe des Buchführungsspeichers ermittelt
Für den systematischen Aufbau einer Kettungslinie und zum Wiederauffinden der entlang der Kettungslinie
eingespeicherten Assoziationsbegriffe ist es notwendig, in die jedem Speicherplatz zugeordneten Felder
Verweiskennzeichen einzutragea Alle Verweiskennzeichen
bestehen aus der Angabe eines bestimmten Standes des Erweiterungszählers EZ und einer Zeilenadresse
(innerhalb einer Hauptspeicherseite). Es ist vorteilhaft zwei Felder Fl und F2 vorzusehen und in
folgender Weise vorzugehen:
Das Feld Fl 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 Bi bis B 4. Die Kette wird von links nach
rechts aufgebaut und — ausgehend vom Feld Fl auf der linken Seite — von rechts nach links gelesen bzw.
ίο aufgebaut.
Die bisher nicht erwähnten Einrichtungen der Anordnung nach F i g. 1 dienen zur Ableitung der
Speicheradressen aus den in dem Register REG stehenden Assoziations- bzw. Suchbegriffen. Auf die
Rolle des Erweiterungszählers in Verbindung 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 F i g. 1 dargestellt, den
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 Umschaltevorrichtung, 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 m2 des
Schalters MOD ist das Fragment FRAG identisch mit der durch entsprechendes Setzen der Maske MASK aus
dem Assoziationsbegriff (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 F i g. 1 nur andeutungsweise zu entnehmen. Sie wird im folgenden anhand der Fig.4
ausführlich beschrieben. Ein Register ÄS liefert auf Abruf (per Programm) eine Steuerinformation BGR zur
Bereichsabgrenzung und eine Bereichsadresse BAD.
Die Steuerinformation BGR dient zur Steuerung eines Schräganbieters, der in der F i g. 4 durch eine verschiebbare
Maske MSAB mit gleichbleibender Blendenöffnung und durch ein Feld SAB dargestellt ist (vgL DT-AS
19 16 377). Die öffnung der Maske MSAB wird unter
dem Einfluß der Steuerinformation BGR so verschoben, daß mehr oder weniger der höherwertigen Bit des
Fragments FRAG abgegriffen und in das Feld SAB übergeführt werdea Maximal wird das gesamte
Fragment FRAG m das Feld SAB übergeben. Im
übrigen werden so viele niederwertige Bh 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 den Hauptschalter benutzt Die restlichen m
höherwertigen Bit der Bit-Kombination werden einem Seitenadreßwandler zugeführt, der aus einem Verknüpfungsnetzwerk
oder einem Lesespeicher besteht Der aus wenigen (z. B. drei oder vier) niederwertigen Bit
bestehende Anteil \EZ\\ des_Inhalts des Erweiterungszählers
EZ steuert die Obersetzungsfunktion des Seitenadreßwandlers SA W. Der die höherwertigen Bit
enthaltende Anteil \EZ2\ vom Inhalt des Erweiterungs-
Zählers wird in einem Addierer ADD zu dem vom Seitenadreßwandler SA W gelieferten Bit modulo 2m
addiert. Das Additionsergebnis stellt die Seitenadresse SA für den Hauptspeicher dar.
Ein Ausführungsbeispiel für den Seitenadreßwandler SA W zur Verarbeitung von 16 Bit aus handelsüblichen
Lesespeicher-Bausteinen zeigt die Fig.5. Jeder Lesespeicher-Baustein
ROM übernimmt eine Gruppe von 4 Bit vom Schräganbieter SAB υηά die 4 niedrigstwertigen
Bit des Erweiterungszählers £Zals Adresse, wobei letztere allen vier Lesespeicher-Bausteinen ROM
gleichermaßen zugeführt werden. Die aufgerufenen Speicherinhalte der Lesespeicher-Bausteine ROM 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 zeile einer Vorsilbenlinie, d. h. nur beim Stand 0 des
Erweiterungszählers benutzt wird. Um dies deutlich zu machen, ist in der Fig.4 ein symbolischer Schalter .45
mit drei Stellungen dargestellt. Die eingezeichnete (rechte) Stellung des Schalters AS gilt für den Fall
|£Z|=0. Die beiden anderen Stellungen nimmt der Schalter AS immer dann ein. wenn der Stand des
Erweiterungszählers von 0 verschieden ist (|£Z|>0). Unter dieser Voraussetzung gilt die mittlere Stellung für
einen Schreibzyklus, 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 Zeilenadressen der zur Kette gehörenden Glieder gelesen werden.
Die durch die Funktion des Schräganbieters erzeugten
getrennt assoziierbaren Bereiche sind nur für primäre Einträge ("EZ=O) durch das Fragment FRAG,
die Bereichsadresse BAD und die Steuerinformation BGR festgelegt. Im übrigen verhalten sie sich wie
elastische Blasen, deren Größe unabhängig von dieser Eingangsöffnung beliebig erweitert oder reduziert
werden kann. Selbstverständlich kann dabei der gesamte verfügbare Speicherraum nicht überschritten
werden. Reicht der für primäre Ablagen zur Verfügung stehende Bereich nicht aus, so werden als Erweiterung
beliebig viele sekundäre Ablageplätze zur Verfügung gestellt. Dabei werden auf den nach F i g. 2 definierten
Kettungslinien Kettimgen gebildet Die Ablage erfolgt hierbei, dank der Möglichkeit freie Speicherplätze mit
Hilfe des Buchführungsspeichers BSP zuzuteilen, ohne nennenswerte Hemmungea Überschneidungen von
Kettungslinien treten nicht auf.
Die in der mittleren Stellung m 2 des Schalters MOD
(F i g. 4) sich ergebende, bereits näher beschriebene Art der Adressenableitung bewirkt einen sortierfähigen
Ablagemodus der eingespeicherten Assoziationsbegriffe Er eignet sich besonders für eine Sortierung der
Begriffe nach einer dualnumerischen Ordnung. Zu diesem Zweck 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.
Bei dem genannten Ablagemodus muß jedoch gelegentlich mn der Entstehung längerer Ketten
gerechnet werden. Für 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 Ablagemodus 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 vielstelligen Vorsilbe auf das eine geringere Bitsiellenzahl aufweisende
Fragment FRAG wird durch einen Reduktionswandler REW erreicht, der in der Stellung m 1 des
Schalters MODm Funktion tritt. Der Reduktionswandler REWbesteht vorzugsweise aus einem Lesespeicher,
der durch die Vorsilbe VSadressiert 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-numerischer Reihenfolge geeignet
In der Stellung m3 des Schalters MOD wird das
Fragment FRAG mit Hilfe eines Code-Verdichters CV aus der Vorsilbe VS(vgl. F i g. 1) gewonnen. Da nämlich
die gebräuchlichen Codes für Buchstaben und Ziffern nur einen kleinen Teil der 256 gebotenen Kombinationsmöglichkeiten belegen, können ohne die Anwendung
zusätzlicher Maßnahmen unerwünscht lange Kettunger auftreten. Der Code-Verdichter CV reduziert di«
Bitstellenzahl des Codes auf das notwendige Maß unc scheidet alle nicht benutzten Kombinationen voi
vorneherein aus.
Einzelbausteinen bestehender Code-Verdichter ist ii
der F i g. 6 schematisch dargestellt Der Code-Verdich ter CV benutzt eine Vorsilbe VS mit 21 Bit um
verdichtet sie auf ein Fragment FRAG mit 16 Bit Einer einzelnen Baustein des Code-Verdichters CV mit S
Eingangsklemmen 0—7 und 6 Ausgangsklemmen 0—ί
zeigt die Fig.7. Er besteht aus den UND-Verknüp fungsgliedem Al-A 7.demODER-VerknüpfungsgIiec
OR und dem Inverter INV. Sein Aufbau ist aus de Zeichnung ohne weiteres erkennbar. Ein Vergleich de
beiden F i g. 6 und 7 zeigt daß in dem Code-Verdichte
CV auf der rechten Seite jeweils drei Eingangs- und drc Ausgangsleitungen nicht benutzt sind.
609 5&SK
Speichers in getrennt assoziierbare Bereiche in der beschriebenen Weise läßt sich nicht nur in Verbindung
mit einem Hauptspeicher mit einer Speicherbank, sondern auch bei einer aus mehreren gleichberechtigten
Speicherbänken bestehenden Speicheranordnung erreichen.
In der Übersichtsdarstellung der F i g. 8 ist ein Ausführungsbeispiel einer an sich durch die schon
erwähnte DT-OS 23 19 468 bekannten Speichereinrichtung durch die Zusatzeinrichtung zur Aufteilung des
Speichers in getrennt assoziierbare Bereiche gemäß der Erfindung ergänzt. Der eigentliche Sipeicher ASPB
besteht aus 6 (vorzugsweise 8) Speicherbänken SSO bis SB 5, die jeweils eine Vielzahl von Speicherplätzen PO
bis Pk aufweisen. Zur Adressierung der Speicherplätze ist jeder Speicherbank ein Adreßwandler ADWO bis
ADW5 zugeordnet. Jeder Adreßwandler besitzt eine andere Übersetzungsfunktion, derart, daß ein an den
Eingängen der Adreßwandler anliegendes Fragment FRAG für jede Speicherbank eine andere Adresse
liefert. Werden alle Ablageplätze, die durch ein bestimmtes Fragment FRAG adressiert werden, verbunden,
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 23 19 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.
Hierzu 5 Blatt Zeichnungen
Claims (4)
1. 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 Assoziationsbegriff bzw. Suchbegriff oder aus den höherwertigen Bit
dieser Begriffe und mit einem Erweiterungszä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, dadurch gekennzeichnet,
daß eine 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 / der vollständigen Adressen aus einem wählbaren Teil der niederwertigen 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 /abgreift und der
Adreßwandler enthaltenden Einrichtung zum vom Stand des Erweiteiungszä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.
3. Assoziativspeicher nach Anspruch 2. dadurch gekennzeichnet, daß der Hauptspeicher (ASPl) aus
einer linear adressierbai en Speicherbank mit a Seiten (a-2m) zu je b Zeilen (b=2n) besteht, mit
einem wortweise lesbaren Buchführungsspeicher (BSP), dessen Wörter den Seiten des Hauptspeichers
(ASPX) entsprechen und dessen Bitstellen innerhalb der Wörter den Zeilen innerhalb der Seiten des
Hauptspeichers (ASPX) zugeordnet sind und bei
Belegung der Zeile bzw. des Speicherplatzes markiert werden und mit einer dem Buchführungsspeicher (BSP) zugeordneten Buchführungssteuer-
einheit (BFE), die das Setzen bz·*. Rücksetzen und
die Abfrage der Markierungen im Buchführungsspeicher (BSP) für belegte Speicherplätze im
Hauptspeicher (ASPX) und die Auswahl äquivalenter Speicherplätze steuert.
4. Assoziativspeicher nach Anspruch 2, dadurch gekennzeichnet, daß der Hauptspeicher (ASPB) aus
mehreren, eine Vielzahl von Speicherplätzen (PO bis Pk) umfassenden Speicherbänken (SBO bis SB5)
besteht und daß jeder Speicherbank Adreßwandler (ADWO bis ADW5) zur Ableitung der Adressen für
die Speicherplätze (PO 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.
Die Erfindung bezieht sich auf einen Assoziativspeicher mit getrennt assozöerbareu 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 Vergleichseinrichtung 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öherwertigen Bit dieser Begriffe und mit einem Erweiterungszä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 23 19 468 ist eine Speichereinrichtung
mit mehreren, eine Vielzahl von Speicherplätzen umfassenden SpeicheiMnken bekannt die jeweils in
einen durch einen Teil (Vorsilbe) des Assoziations- bzw. Suchbegriffs adressierbaren assoziativen Abschnitt und
in einen 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.
Durch eine zufällige Häufung von Assoziationsbegriffen mit gleicher Vorsilbe kann der Fall eintreten, daß die
entlang einer Vorsilben linie 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 werden also zusätzliche Adressierungsebenen geschaffen, die Verlängerungen
von Vorsilbenlinien aufnehmen können.
Durch die mögliche Obersicht über den Belegungszustand
entlang einer Vorsilbenlinie wird die Zuteilung freier Speicherplätze für Neueintragungen sehr erleichtert.
So sind durchschnittlich zwei Suchzyklen für 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 Speicherbank vorteilhaft als Assoziativspeicher
verwenden zu können. Von wesentlicher Bedeutung ist hierbei die Bereitstellung eines Buchführungsspeichers,
bei dem die Zeilen (Wörter) den Seiten des Hauptspeichers und die Bitstellen innerhalb der Wörter 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
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 DE2505477A1 (de) | 1976-08-19 |
| DE2505477B2 true DE2505477B2 (de) | 1977-02-10 |
| DE2505477C3 DE2505477C3 (de) | 1977-09-22 |
Family
ID=
Also Published As
| Publication number | Publication date |
|---|---|
| GB1533325A (en) | 1978-11-22 |
| NL7600921A (nl) | 1976-08-12 |
| FR2300394B3 (de) | 1979-10-12 |
| IT1055085B (it) | 1981-12-21 |
| DE2505477A1 (de) | 1976-08-19 |
| AT354159B (de) | 1979-12-27 |
| ATA42576A (de) | 1979-05-15 |
| US4044338A (en) | 1977-08-23 |
| FR2300394A1 (fr) | 1976-09-03 |
| CH607235A5 (de) | 1978-11-30 |
| BE838421A (fr) | 1976-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2347387A1 (de) | Permutationsschaltung | |
| DE2154106A1 (de) | Arbeitsspeicherwerk | |
| DE2165765C3 (de) | Informationsspeicher mit Schieberegistern | |
| DE2758829C2 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren | |
| DE2031040B2 (de) | Verfahren zur festlegung des zugangs von mehreren benutzern zu einer einheit einer datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
| DE1262641B (de) | Mikroprogrammsteuerwerk | |
| DE2846054C2 (de) | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors | |
| DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
| DE2221442A1 (de) | Assoziativspeicher | |
| DE1269182B (de) | Inhaltsadressierter Informationsspeicher (Katalogspeicher) | |
| DE69326968T2 (de) | Datenverteilungsverfahren und -gerät | |
| DE102014007567A1 (de) | System und verfahren zum speichern von daten in einem anpassbar unterteilbaren speicherfeld | |
| DE1449795B2 (de) | Assoziativspeicher | |
| DE2505477C3 (de) | Assoziativspeicher mit getrennt assoziierbaren Bereichen | |
| DE2505477B2 (de) | Assoziativspeicher mit getrennt assoziierbaren bereichen | |
| DE2748859C3 (de) | Schaltungsanordnung zum Speichern eines Textes | |
| DE1808159B2 (de) | Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung | |
| EP0035787B1 (de) | Hybrid-Assoziativspeicher und dessen Anwendungen, insbesondere zum Sortieren von gespeicherten Daten | |
| DE2505478C3 (de) | Speicheranordnung | |
| DE2735874C2 (de) | ||
| DE2505478B2 (de) | Speicheranordnung | |
| AT273239B (de) | Wegesuche in einem Vermittlungssystem | |
| DE2417840C3 (de) | ||
| DE1449795C3 (de) | Assoziativspeicher | |
| DE3009329C2 (de) | Hybrid-Assoziativspeicher |
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 |