DE3009330C2 - Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens - Google Patents

Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens

Info

Publication number
DE3009330C2
DE3009330C2 DE19803009330 DE3009330A DE3009330C2 DE 3009330 C2 DE3009330 C2 DE 3009330C2 DE 19803009330 DE19803009330 DE 19803009330 DE 3009330 A DE3009330 A DE 3009330A DE 3009330 C2 DE3009330 C2 DE 3009330C2
Authority
DE
Germany
Prior art keywords
memory
data
search
auxiliary
sorting
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.)
Expired
Application number
DE19803009330
Other languages
English (en)
Other versions
DE3009330A1 (de
Inventor
Gerhard 8000 München Wolf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19803009330 priority Critical patent/DE3009330C2/de
Priority to AT81101727T priority patent/ATE9934T1/de
Priority to EP81101727A priority patent/EP0035787B1/de
Publication of DE3009330A1 publication Critical patent/DE3009330A1/de
Application granted granted Critical
Publication of DE3009330C2 publication Critical patent/DE3009330C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Sortieren von in einem Hybrid- Assoziativspeicher gespeicherten Daten, der aus einer assoziativen Oberfläche und einem
Basisspeicher mit einer Vielzahl von gleichartigen Speichereinheiten besteht und bei dem die Speicherabschnitte jeweils einer Speichereinheit alle parallel zur assoziativen Oberfläche durchschaltbar sind, sowie eine Anordnung zur Durchführung dieses Verfahrens.
Hybrid-Assoziativspeicher sind bereits bekannt, z. B. durch DE-AS 25 25 287 oder durch »data report« 11 (1976), Heft 2, Seiten 29 bis 34, insbesondere Seite 32.
Auch sind bereits eine Reihe von Sonderverfahren bekannt, i-nter anderem durch die DE-PS 23 42 660, um ι» in einem Assoziativspeicher mit einem variablen Assoziationsbereich ungeordnet gespeicherte Daten nach einer vorgegebenen Rangordnung zu sortieren. Diese Verfahren sind aber auf Hybrid-Assoziativspeicher der eingangs genannten Art nicht ohne weiteres π übertragbar, da jeweils nur eine der Speichereinheiten des Basisspeichers von der assoziativen Oberfläche erfaßt wird und die Verknüpfung der Sortierergebnisse der einzelnen Speichereinheiten bei eine! Vielzahl von Speichereinheiten erhebliche, wenn überhaupt überwindbare Schwierigkeiten bereitet
Auch das durch die DE-PS 25 12 324 bekannte Sortierverfahren für einen assoziativ bewirtschafteten, aber konventionellen Speicher, bei dem ein Assoziativspeicher als HilfsSpeicher verwendet wird, ist wegen der Notwendigkeit der direkten Ansteuerung der einzelnen Speicherplätze im Speicher und wegen des fortlaufenden Datenaustausches zwischen Haupt- und Hilfsspeicher auf Hybrid-Assoziativspeicher nicht direkt anwendbar, jo
Aufgabe der Erfindung ist es daher, ein Verfahren der eingangs genannten Art und eine Anordnung zu dessen Durchführung zu schaffen, die ein schnelles und sicheres Sortieren mit wirtschaftlichem Aufwand auch bei größerer Speicherkapazität ermöglichen.
Ein solches Verfahren gemäß der Erfindung ist zunächst dadurch gekennzeichnet, daß durch ein variabel einstellbares Suchargument der assoziativen Oberfläche Gruppen von zusammen sortierfähigen Daten aus dem Basisspeicher ausgesucht werden, daß bei Vorliegen eines Treffers die zugehörigen Daten in einen Hilfsspeicher übernommen werden, daß jeweils nach Durchsuchen aller Speichereinheiten des Basisspeichers die im Hilfsspeicher gesammelten Daten in an sich bekannter Weise sortiert und ausgegeben werden, daß der Such- und Sortiervorgang wiederholt wird, bis alle Gruppen von Daten, die zu sortieren sind, erfaßt sind, und daß die jeweils aussortierten Daten als solche im Basisspeicher markiert werden.
Ein solches Verfahren verwendet zwar auch einen Hilfsspeicher zum Aufsammeln von Daten wie das Verfahren nach der zuvor genannten DE-PS 25 12 324. Die vom Hilfsspeicher übernommenen Daten sind aber im vorliegenden Falle bereits vorsortiert, was die assoziative Oberfläche des Hybrid-Assoziationsspeichers selbst bewirkt.
Dabei werden jeweils ganze Speichereinheiten des Basisspeichers überprüft, und die Einzelansteuerung von Speicherplätzen mit wechselseitigem Datenaustausch entfällt. Sobald alle Speichereinheiten des Basisspeichers nach einer vorgegebenen Gruppe von Daten durchsucht sind, erfolgt in an sich bekannter Weise, z.B. nach der ebenfalls genannten DE-PS 23 42 660, die Endsortierung der im Hilfsspeicher gesammelten Daten, und zwar entweder durch eine eigene assoziative Oberfläche bei Ausbildung des HilfsSpeichers als selbständigen Assoziativspeicher oder aber ebenfalls durch die assoziative Oberfläche des Hybrid-Assoziativspeichers. Das Löschen oder Markieren der endgültig aussortierten Daten stellt sicher, daß bei aufeinanderfolgenden Suchläufen für andere Gruppen mit reduziertem Suchargument bereits aussortierte Daten nicht noch einmal erfaßt werden.
Solange die einzelnen Gruppen von sortierfähigen Daten annähernd gleich groß sind, genügt ein Hilfsspeicher mit entsprechend hoch bemessener Speicherkapazität Bei N Einträgen in der Datei und G Gruppen sind folglich mindestens N/G Speicherplätze im Hilfsspeicher erforderlich. Durch Überhöhung der Speicherkapazität lassen sich auch Streuungen bezüglich der Anzahl der Daten in den einzelnen Gruppen auffangen. Schwankt dagegen die Zahl der Daten je Gruppe stärker, so ist es vorteilhaft, wenn die Speicherkapazität des Hilfsspeichers nach Bedarf vergrößerbar ist, damit Überfüllungen nicht zur Blockierung des gesamten Sortiervorganges führen können. Die Vergrößerung der Speicherkapazität des Hilfsspeichers ist in einfacher Weise dann möglich, wenn für den Hilfsspeicher Speichereinheiten des Basisspeichers verwendet werden. Die Vergrößerung der Speicherkapazität des Hilfsspeichers über die einer Speichereinheit des Basisspeichers hinaus erfordert jedoch eine Endsortierung über mehrere Speichereinheiten und damit mehr Zeitaufwand. Die im Hilfsspeicher aufgesammelten Daten können jedoch unmittelbar nach Durchsuchen jeder Speichereinheit markiert werden, und zwar gleichzeitig.
Die Überfüllung des Hilfsspeichers während eines Suchlaufes durch alle Speichereinheiten des Basisspeichers und damit eine Blockierung des Sortiervorganges kann jedoch auch in anderer Weise vorteilhaft umgangen werden, wenn gemäß einer anderen Variante des Verfahrens gemäß der Erfindung die Speicherkapazität des Hilfsspeichers fest vorgegeben ist. Bei Überfüllung des Hilfsspeichers das Suchargument erweitert wird und alle Daten im Hilfsspeicher gelöscht werden, die dem erweiterten Suchargument nicht mehr entsprechen, und wenn der Suchvorgang im Basisspeicher mit dem erweiterten Suchvorgang fortgesetzt wird, gegebenenfalls mit weiteren Erweiterungen des Suchargumentes bei weiteren Überfüllungen des Hilfsspeichers, bis alle in Frage kommenden Daten endgültig aussortiert sind. Die nachträgliche Erweiterung des Suchargumentes hat dabei die gleiche Wirkung, als ob dieses erweiterte Suchargument bereits vom Beginn des Suchlaufes an bestanden hätte.
Eine zweckmäßige Ergänzung dieses Verfahrens besteht darin, daß zu Beginn eines Suchvorganges das vorgegebene Suchargument durch Maskenabdeckung auf ein übergeordnetes, mehrere mögliche Gruppen von Daten erfassendes Suchargument reduziert wird und daß bei Gefahr des Überlaufs im Hilsspeicher die Maskenabdeckung gegebenenfalls schrittweise wieder zurückgenommen wird und nicht zugehörige aufgesammelte Daten im Hilfsspeicher gelöscht werden. Auf diese Weise läßt sich vermeiden, daß während eines Suchlaufes der Hilfsspeicher fast oder ganz leer bleibt. Die Reduzierung des Suchargumentes über die Maske führt vielmehr zu einer anfänglich stärkeren Füllung des Hilfsspeichers, gegebenenfalls auch zu einer Überfüllung, die dann durch eine schrittweise erfolgende Änderung der Maske wieder abgebaut werden muß.
Da bei der Übernahme der Daten in den Hilfsspeicher mit fester Speicherkapazität noch nicht abzusehen ist, ob die Daten bis zur Endsortierung im Hilfsspeicher verbleiben, kann hierbei erst am FnHp ρίηρς ipHpn
, ■- ä.
Suchlaufes durch den Basisspeicher eine Markierung der aussortierten Daten erfolgen. Dies geschieht zweckmäßig in der Weise, daß jeweils nach Durchsuchen aller Speichereinheiten des Basisspeichers alle Daten im Basisspeicher anhand des jeweils zuletzt gültigen Suchargumentes erneut durchsucht und die durch einen Treffer der assoziativen Oberfläche gekennzeichneten Daten im Basisspeicher als aussortiert markiert werden. Auch in diesem Falle können alle zu markierenden Daten einer Speichereinheit gleichzeitig markiert werden.
Zweckmäßig entspricht die Speicherkapazität des Hilfsspeichers der einer Speichereinheit des Basisspeichers, gleichgültig, ob der Hilfsspeicher selbst Bestandteil des Basisspeichers ist oder nicht, da dann auch die Markierung der aussortierten Daten einfacher durchführbar ist.
Das jeweilige Such- bzw. Sortierargument wird zweckmäßig von einem Sortierbitmuster-Generator geliefert, der abhängig vom jeweiligen Such- bzw. Sortierergebnis steuerbar ist.
Die Anordnung zur Durchführung der Verfahren gemäß der Erfindung ist gekennzeichnet durch eine mit der Trefferauswertesteuerung der assoziativen Oberfläche des Hybrid-Assoziativspeichers gekoppelte Steuereinrichtung zur Übertragung der durch Treffer gekennzeichneten Daten in den Hilfsspeicher, eine mit der Auswahlsteuerung für die Speichereinheiten im Basisspeicher gekoppelte Überwachungseinrichtung zur Einleitung des Endsortiervorganges für die im Hilfsspeicher gesammelten Daten und eine Einrichtung zur Markierung der jeweils endgültig aussortierten Daten in den einzelnen Speichereinheiten des Basisspeichers.
Eine zusätzlich vorgesehene Einrichtung zur Überwachung des Füllungszustandes des Hilfsspeichers ermöglicht die Erweiterung der Speicherkapazität des Hilfsspeichers oder bei der anderen Verfahrensvarianten die Änderung des Suchargumentes für eine Teilleerung des Hilfsspeichers bei Überlauf. Eine für den letzteren Fall erweiterte Anordnung ist gekennzeichnet durch eine mit der Einrichtung zur Überwachung des Füllungszustandes des Hilfsspeichers und mit der Einrichtung zur Bereitstellung des Suchargumentes gekoppelte Einrichtung zur Erweiterung des Suchargumentes bei Überschreiten der Speicherkapazität des Hilfsspeichers und durch mit dem Hilfsspeicher gekoppelte Einrichtungen zur Löschung der Daten, die dem neuen Suchargument nicht mehr entsprechen, und zur Kennzeichnung freier Speicherplätze im Hilfsspeicher.
Weitere Einzelheiten der Erfindung seien nachfolgend anhand der Zeichnungen näher erläutert. Im einzelnen zeigt
F i g. 1 das Blockschaltbild eines Hybrid-Assoziativspeichers mit den Zusatzeinrichtungen zur Durchführung der Verfahren gemäß der Erfindung in schematischer Darstellung,
F i g. 2 die schematische Darstellung des Suchablaufes nach dem einen Verfahren gemäß der Erfindung,
F i g. 3 das Änderungsschema für das Sortierbitmuster beim Suchen und Sortieren,
Fi g. 4 eine Tabelle für den Ablauf der Endsortierung bei Verwendung des Sortieralgorithmus nach F i g. 3 in Anlehnung an das Beispiel von F i g. 2,
Fig.5A und 5B die schematische Darstellung des Such- und Sortierablaufes bei Verwendung eines Hilfsspeichers mit fester Speicherkapazität gemäß dem zweiten Verfahren der Erfindung und
Fig. 6 ein ausführlicheres Blockschaltbild in Anlehnung an das von Fig. 1.
Fig. 1 zeigt den schematischen Aufbau eines an sich bekannten Hybrid-Assoziativspeichers, bestehend aus einem Basisspeicher B-SP, einer als Oberflächenpuffer OP wirkenden Speichereinheit und einer Assoziationsrnatrix AM, die mit einer Einrichtung SBM-G zur Bereitstellung des jeweiligen Suchargumentes und einer Maske M sowie einer Trefferauswertesteuerung T-ST
ίο gekoppelt ist. Weiterhin sind in Auswirkung der Erfindung die Steuereinrichtung S-STzw Übertragung der durch Treffer gekennzeichneten Daten in den Hilfsspeichern, die Einrichtung M-ST zur Markierung der jeweils endgültig aussortierten Daten in den einzelnen Speichereinheiten des Basisspeichers B-SP. eine Einrichtung HSP-ST zur Löschung von Daten im Hilfsspeicher H-SP und zur Kennzeichnung freier Speicherplätze sowie eine Einrichtung FÜW zur Überwachung des Füllungszustandes des Hilfsspeichers H-SP gezeigt. Zusätzlich kann ein Eingabepufferspeicher P-SP, wie gestrichelt angedeutet, vorgesehen sein. Die Assoziationsmatrix AM besteht in an sich bekannter Weise aus Gruppen zeilenweise angeordneter Vergleicher für jeweils ein Bit, die zeilenweise durch eine Zeilenauswahlschaltung gelesen werden können bzw. spaltenweise über die gesamte Zeilenbreite beliebig maskierbar sind. Dabei wird bei jeder Ansteuerung ein durch die Maske M freigegebenes Bit des vom Generator SBM-G bereitgestellten Suchargumentes mit einem Datenbit aus dem Basisspeicher verglichen. Stimmen alle innerhalb einer Zeile miteinander verglichenen Bits überein, so wird über die Trefferauswertesteuerung T-ST in an sich bekannter Weise ein Treffer gemeldet und die zugehörige Speicherzelle ausgelesen. Der Aufbau derartiger Assoziationsmatrizen ist allgemein bekannt. In der Zeichnung wurde daher auf die Darstellung der zusätzlich benötigten Bauteile für die Zeilenauswahl anhand einer Zeilenadresse Z-AD und für die Ausgabe der Daten einer Zeile über den Ausgang AUS verzichtet und stattdessen Pfeile eingesetzt.
Die Assoziationsmatrix AM besteht beispielsweise aus 32 Zeilen mit jeweils 8 Byte zu je 8 Bit, so daß insgesamt 256 Byte oder 2048 Bit assoziativ erfaßt
4S werden. Diese Bit müssen alle gleichzeitig der AssoziationsmatriC/4Aiaus dem Basisspeicher B-SPzur Verfügung gestellt werden.
Mit der Assoziationsmatrix AM ist eine entsprechend organisierte Speichereinheit als Oberflächenpuffer für entsprechend viele Datenbit gekoppelt, der zusammen mit der Assoziationsmatrix AM wie ein konventioneller Assoziativspeicher arbeitet, allerdings mit dem Unterschied, daß ein paralleler Zugang zu allen einzelnen Speicherzeilen vorgesehen ist. Assoziationsmatrix AM und Oberflächenpuffer OM lassen sich integriert durch eine Reihe gleichartiger LSI-Bausteine, beispielsweise für jeweils 16 assoziative Bitstellen, realisieren.
Neben der assoziativen Oberfläche, bestehend aus der Assoziationsmatrix AMund dem Oberflächenpuffer OP, ist der Basisspeicher B-SP wesentlicher Bestandteil des Hybrid-Assoziativspeichers. Dieser Basisspeicher gliedert sich in eine Vielzahl von in Etagen übereinander geschichteten Speichereinheiten SP-E1 bis SP-En, die jeweils analog dem Oberflächenpuffer OP der assoziativen Oberfläche organisiert sind, d. h. diese Speichereinheiten weisen bei gleicher matrixförmiger Anordnung je Bit einen Speicherabschnitt auf, so daß jeweils ein Speicherabschnitt in jeder Speichereinheit SP-E ...
miteinander korrespondiert und alle diese miteinander korrespondierenden Speicherabschnitte zum selben Assoziationsfeld der assoziativen Oberfläche durchschaltbar sind.
Zusätzlich zu den Speichereinheiten SP-E1 bis SP-En ist im Basisspeicher B-SP in Auswirkung der Erfindung eine zusätzliche Speichereinheit als Hilfsspeicher H-SP vorgesehen.
Den vielfältigen Betriebsbedingungen des Assoziativspeichers entsprechend sind mit dem Basisspeicher t0 ß-SPAuswahlschaltmittel zur Auswahl jeweils einer der Speichereinheiten SP-E..., für die einzelnen Zeilen und auch für die einzelnen Spalten innerhalb jeder Speichereinheit SP-E ... und des Hilfsspeichers H-SP vorgesehen. Derartige Auswahlschaltmittel in Verbindung mit dreidimensionalen Speichern sind allgemein bekannt und daher nicht gesondert dargestellt. Stattdessen sind die dadurch gegebenen Auswahlmöglichkeiten lediglich durch Adressenpfeile angedeutet, nämlich für die Speichereinheiten die Auswahl durch die Adresse E-AD, für die Zeilen durch die Adressse Z-AD und für die Spalten durch die Adresse S-AD.
Anstelle eines einzigen dreidimensionalen Speicherblockes als Basisspeicher B-SP können entsprechend einem anderen Erfindungsvorschlag (deutsche Patentenmeldung P 30 09 317.5-53) mehrere dreidimensionale Speicherblöcke als Teilspeicher des Basisspeichers vorgesehen werden, die dann zyklisch umlaufend über eine gesonderte Durchschalteeinrichtung mit der gemeinsamen assoziativen Oberfläche verbunden werden.
Bevor auf c.e Arbeitsweise der in F i g. 1 dargestellten Anordnung zum Sortieren von im Basisspeicher B-SP gespeicherten Daten näher eingegangen wird, sei zunächst das den Sortierverfahren gemäß der Erfindung zugrundeliegende Prinzip näher erläutert. F i g. 2 zeigt zu diesem Zweck eine Reihe von Dateneinträgen im Basisspeicher B-SP, die wahllos auf die einzelnen Speichereinheiten SP-E1 bis SP-En verteilt sind. Diese Daten gehören alle zur selben Gruppe mit dem übereinstimmenden assoziativen Bestandteil UVW und einem durch die Buchstaben A bis D gekennzeichneten Zeichenbestandteil, der für die Sortierung innerhalb der Gruppe maßgebend ist. Oberhalb der gezeigten Datenliste ist symbolisch der Sortierbitmustergenerator SBM-G und die Maske M angedeutet. Von dem im Sortierbitmustergenerator SBM-C jeweils zur Verfügung stehenden Suchargument sind für den Sortiervorgang nur Teile erforderlich, die mit SBM1 und SSM 2 bezeichnet sind. Das Muster SBMX kennzeichnet die Gruppe von Daten aus einer Vielzahl von Gruppen, die zu sortieren sind. Im vorliegenden Falle ist im Musterfeld SBMi das Gruppenkennzeichen UVW eingestellt und die Maske gibt für den assoziativen Suchlauf durch die einzelnen Speichereinheiten SP-E... des Basisspeichers B-SP lediglich diesen Ausschnitt des Suchargumentes frei. Mit Beginn des Suchlaufes werden die einzelnen Speichereinheiten SP-E ... zyklisch nacheinander zur assoziativen Oberfläche durchgeschaltet und die gespeicherten Daten anhand des Sucherargumentes überprüft Meldet die Trefferauswertesteuerung einen Treffer, so wird das durch den Treffer gekennzeichnete Wort in den ganz unten liegenden Hilfsspeicher H-SP in an sich bekannter Weise übertragen, was durch die Flußpfeile auf der rechten Seite der Datentabelle angedeutet ist. Sobald alle Speichereinheiten SP-E1 bis SP-En überprüft sind, befinden sich alle Daten der überprüften Gruppe im Hilfsspeicher H-SP, und zwar in der Reihenfolge, mit der sie aus den Speichereinheiten des Basisspeichers übernommen worden sind. Die Daten im Hilfsspeicher H-SP sind daher in der Regel noch unsortiert und müssen in einem zweiten Arbeitslauf noch sortiert werden. Zu diesem Zweck wird jetzt die den Hilfsspeicher H-SP bildende Speichereinheit mit der assoziativen Oberfläche verbunden und anhand der Maske M das Musterfeld SBM 2 im Suchargument wirksam geschaltet und der Suchbitmuster-Generator stellt in diesem Musterfeld entsprechend der vorzunehmenden Sortierreihenfolge die einzelnen Suchargumente der Reihe nach zur Verfügung, beim gewählten Ausführungsbeispiel in alphabetischer Reihenfolge beginnend mit dem Suchargument A, so daß bei der ersten Überprüfung der an zweiter Stelle im Hilfsspeicher H-SP liegende Eintrag als erster ausgegeben wird. Danach wird das zweite Suchargument B eingestellt und beim zweiten Prüfvorgang der Eintrag der ersten Zeile des Hilfsspeichers H-SPausgelesen usw.
Allgemein werden die einzelnen Sortierbitmuster SBM in Form von mehrstelligen Binärzeichen zur Verfügung gestellt, deren Stellenzahl abhängig vom Sortierergebnis durch die Maske M variierbar und deren Werte durch einen Zähler fortschreibbar sind. Ein entsprechend arbeitendes Sortierverfahren ist beispielsweise in der bereits genannten DE-PS 23 42 660 ausführlich beschrieben. Fig.3 zeigt den zugehörigen Sortieralgorithmus in Form einer Tabelle, wobei die Änderung des jeweils vorliegenden Sortierbitmusters SBM vor Einleiten der jeweils nächsten Prüfung abhängig von der Art der Treffer T und der Art des letzten signifikanten Bits LSB des Sortierbitmusters ist. Insgesamt sind zwei Trefferfälle zu unterscheiden, nämlich mehr als ein Treffer und kein bzw. ein Treffer. Für den Fall, daß mehrere Treffer gleichzeitig vorliegen, ist das letzte signifikante Bit LSB ohne Bedeutung. In jedem Falle wird das zuletzt maßgebende Suchbitmuster SBM durch öffnen der Maske um eine weitere Bitstelle durch Anhängen einer 0 beim Vorwärtssortieren oder durch Anhängen einer 1 beim Rückv/ärtssortieren erweitert. Bei den übrigen Trefferfällen, kein Treffer oder ein Treffer, ist zusätzlich das letzte signifikante Bit LSB maßgebend. Ist dies eine 0, so wird diese beim Vorwärtssortieren durch Invertieren zu einer 1 oder beim Rückwärtssortieren durch Einengen der Maske einfach gestrichen. Ist das letzte signifikante Bit LSB dagegen eine I1 so wird diese beim Vorwärtssortieren gestrichen oder aber beim Rückwärtssortieren durch Invertieren zu einer 0.
Fig.4 zeigt den Ablauf eines entsprechenden Sortiervorganges für drei Daten A, B und C in Form einer Tabelle mit den Spalten SBM 2 für das jeweils wirksame Sortierbitmuster, das letzte signifikante Bit LSB, die Art der Treffer T, die vorzunehmende Änderung des Sortierbitmusters SBM und schließlich die Ausgabe der Daten in sortierter Reihenfolge.
Zu Beginn eines Sortiervorganges wird der Sortierbitmusterzähler in der Regel auf 0... 0 gestellt und alle Bitstellen bis auf die höchstwertigste durch die Maske abgedeckt, um so möglichst schnell zu Treffern zu kommen. Bei den als Beispiel gewählten, zu sortierenden drei Daten A, B und C führt ein derartiges Suchargument zu einer Mehrfachtrefferanzeige. Das Sortierbitmuster ist daher durch Anhängen einer 0 zu erweitern. Bei der nächsten Überprüfung wird gleichfalls ein Mehrfachtreffer angezeigt und durch öffnen der Maske eine weitere 0 angehängt Die dritte Prüfung
zeigt einen einzigen Treffer an, und zwar für den Eintrag A, der ausgegeben werden kann. Nachfolgend wird die 0 an letzter Stelle invertiert und damit in eine 1 abgeändert, so daß bei der nächsten Prüfung wiederum ein Treffer erzielt wird und diesmal der Eintrag B ausgegeben werden kann. Da das letzte signifikante Bit LSS eine 1 war, wird durch Einengen der Maske eine Stelle wieder gestrichen. Die darauffolgende Prüfung ergibt keinen Treffer, und das letzte signifikante Bit wird in eine 1 abgewandelt. Da auch die nachfolgende Überprüfung keinen Treffer ergibt, wird wiederum durch Einengen der Maske das letzte wirksame Bit gestrichen, so daß das wirksame Sortierbitmuster SBM2 aus einer einzigen 0 an der höchsten Stelle besteht. Auch dabei führt die Prüfung zu keinem Treffer, so daß diese 0 zu einer i invertiert wird, was dann zu einem Treffer für den letzten Eintrag Cführt.
Das anhand von F i g. 3 und F i g. 4 beschriebene Sortierverfahren ist in analoger Weise auch auf das Sortierbitmuster SBM1 für die einzelnen Suchläufe zur Bildung der einzelnen Gruppen von zusammensortierfähigen Daten anzuwenden. Fig. 5A und 5B zeigen in schematischer Darstellung den vollständigen Ablauf des kombinierten Such- und Sortiervorganges bei Verwendung eines HilfsSpeichers mit fester Speicherkapazität. In beiden Teilfiguren ist in der linken Spalte die Belegung von vier Speichereinheiten SP-EX bis SP-E 4 mit jeweils vier Einträgen dargestellt, die zusammen eine Datei bilden, die entsprechend ihren Wertigkeiten sortiert werden sollen. Die Einträge zeigen jeweils die Form von Binärwerten, deren Äquivalente im dekadischen Zahlensystem jeweils rechts daneben angegeben sind. Oberhalb der Einträge ist die Maske M für die Assoziationsmatrix mit dem jeweils freigegebenen Suchbitmusterfeld SSMl dargestellt. Rechts im An-Schluß der sich auf die einzelnen Speichereinheiten SP-Et bis SP-EA beziehenden Spalten folgen den einzelnen Suchläufen SL1 bis SL 7 entsprechende Spalten, die im Kopf jeweils das für den Suchlauf gültige Sortierbitmuster und die Belegung des Hilfsspeichers H-SP bei der Überprüfung der einzelnen Speichereinheiten SP-E1 bis SP-E 4 zeigen.
Der erste Suchlauf SL 1 beginnt mit dem Sortierbitmuster 00. Der Speicher H-SP ist zunächst leer. Bei der Überprüfung der Einträge in der Speichereinheit SP-E1 wird kein Treffer festgestellt, der Speicher bleibt also leer. Analoges gilt für die Überprüfung der Speichereinheiten SP-E 2 und SP-E 3. Lediglich bei der Überprüfung der Speichereinheit SP-E4 ergeben sich drei Treffer bezüglich der Zeilen 2 bis 4, die in den so Hilfsspeicher H-SP übernommen werden. Da nach überprüfen aller vier Speichereinheiieil ein Suchlauf abgeschlossen ist, können die im Hilfsspeicher H-SP während des Suchlaufes gesammelten Daten sortiert und ausgegeben werden, was in der untersten Zeile A US durch Angabe der Äquivalente im dekadischen Zahlensystem angedeutet ist
Für den zweiten Suchlauf SL 2 wird das Sortierbitmuster SBMi von 00 auf 01 zur Kennzeichnung einer weiteren Gruppe von zusammen sortierfähigen Daten abgewandelt. Bei der darauffolgenden Überprüfung der Speichereinheit SPEi ergeben sich dann anhand des neuen Suchargumentes drei Treffer, so daß die zugehörigen Daten in den Hilfsspeicher H-SPübernommen werden, während die nachfolgende Überprüfung der Speichereinheit SP-E 2 keinen weiteren Eintrag liefert Erst die Überprüfung der Speichereinheit SP-E3 führt zu weiteren Einträgen im Hilfsspeicher H-SP.
Dabei wird festgestellt, daß nach Übernahme des ersten Eintrags aus dieser Speichereinheit der Hilfsspeicher H-SP gefüllt ist, und daher keine weiteren Einträge mehr übernommen werden können, obwohl noch ein weiterer Treffer angezeigt wird.
Damit nun der gesamte Sortiervorgang nicht blockiert wird, wird entsprechend dem vorangehend beschriebenen Such- und Sortieralgorithmus das Suchbitmuster SBM1 um eine Stelle durch Anhängen einer 0 erweitert, was links vom Hilfsspeicher H-SP in Höhe der Zeile der Speichereinheit SP-E3 angedeutet ist, die nicht mehr in den Hilfsspeicher übernommen werden konnte. Anschließend wird nunmehr der Hilfsspeicher anhand des neuen Suchargumentes überprüft und alle dem neuen Suchargument nicht mehr entsprechenden Daten gelöscht, die durch L arn rechten Rand des Hilfsspeichers H-SP gekennzeichnet sind. Nach der Überprüfung des Hilfsspeichers bleiben von den vorhergehenden vier Einträgen lediglich zwei Einträge übrig, so daß nunmehr Platz für weitere Einträge besteht. Das zwischenzeitliche Überprüfen des Hilfsspeichers nach dessen Füllung mit dem neuen Suchargument hat die gleiche Wirkung, als wenn dieses Suchargument bereits zu Beginn des Suchlaufes wirksam gewesen wäre.
Danach wird die Suche mit der Speicherzeile fortgesetzt, die zuvor wegen Füllung des Hilfsspeichers nicht mehr in den Hilfsspeicher übernommen werden konnte. Im vorliegenden Falle ist das die Zeile 4 der Speichereinheit SP-E 3. Da der entsprechende Eintrag dem neuen Suchargument entspricht, wird dieser Eintrag nunmehr an dritter Stelle in den Hilfsspeicher H-SPübernommen. Weitere Einträge erfolgen während des Restes des Suchlaufes SL 2 nicht mehr, so daß am Ende die Einträge entsprechend den Werten 19,21 und 13 sortiert ausgegeben werden können.
Beim nächstfolgenden Suchlauf SL 3 wird das zuletzt gültige Suchargument durch Invertieren des letzten signifikanten Bits zu 011 abgeändert. Der damit durchgeführte Suchlauf führt bei der Überprüfung der Speichereinheit SP-Ei zu einem ersten Eintrag im Hilfsspeicher H-SP, bei der Überprüfung der Speichereinheit SP-E 3 zu einem zweiten Eintrag und bei der Überprüfung der Speichereinheit SP-E4 zu einem dritten Eintrag, so daß die aufgesammelten Einträge entsprechend den Werten 26, 27 und 28 endgültig aussortiert werden können.
Insgesamt sind somit nach drei Suchläufen neun der insgesamt sechzehn die Datei bildenden Einträge sortiert ausgespeichert worden. Zusätzlich ist zu bemerken, daß jeder endgültig aussortierte Eintrag im Basisspeicher als bereits aussortiert markiert wird, damit bei einem eingeengten Suchargument bereits aussortierte Einträge nicht nochmals erfaßt werden. Diese Markierung ist links von den einzelnen Einträgen in den einzelnen Speichereinheiten SP-Ei bis SP-E 4 durch ein Kreuz im Kreis angedeutet, wobei gleichzeitig der Suchlauf angegeben ist, bei dem die Aussortierung erfolgte. Nach Abschluß des dritten Suchlaufes SL 3 sind also von der Speichereinheit SP-Ei der vierte Eintrag, von der Speichsreinheit SP-E 2 alle Einträge und von der Speichereinheit SP-E3 die ersten beiden Einträge noch nicht aussortiert
F i g. 5B zeigt die Fortsetzung des Suchvorganges mit dem Suchlauf SL 4 anhand des Suchbitmusters 01 und mit dem Suchlauf SL 5 anhand des Suchbitmusters 0, die jedoch ohne Ergebnis bleiben. Der Suchlauf SL 6 startet mit dem Suchbitmuster 1. Dies führt bei der
Überpfüfung der Speichereinheit SP-El zu einem Eintrag und bei der Überprüfung der Speichereinheit SP-E2 zu drei weiteren Einträgen, so daß der Hilfsspeicher H-SP wiederum gefüllt ist. Da gleichzeitig noch ein weiterer Eintrag, nämlich aus Zeile 4 der Speichereinheit SP-E 2, zu übernehmen ist, muß im Hilfsspeicher H-SP analog dem Vorgehen beim Suchlauf SL 2 durch Erweiterung des gültigen Suchbitmusters auf die Kombination 10 erneut Platz geschaffen werden. In diesem Fall sind davon die beiden letzten Einträge im Hilfsspeicher H-SP betroffen, was durch L am rechten Rand gekennzeichnet ist.
Anschließend wird mit dem neuen Suchargument die letzte Zeile der Speichereinheit SP-E 2 überprüft, die vorangehend nicht mehr in den Hüfsspeicher H-SP übernommen werden konnte. Da dieser Eintrag ebenfalls dem neuen Suchargument entspricht, wird er nunmehr als dritter Eintrag in den Hilfsspeicher H-SP übernommen und der Suchlauf mit der Überprüfung der Speichereinheiten SP-E 3 und SP-E 4 fortgesetzt. Da hierbei keine Treffer mehr erzielt werden, werden die gesammelten drei Einträge endgültig aussortiert.
Der nächste Suchlauf SL 7 wird mit dem in der Reihenfolge nächstfolgenden Suchargument 11 durchgeführt.
Dabei werden lediglich bei der Überprüfung der Speichereinheit SP-E 2 zwei Einträge und bei der Überprüfung der Speichereinheit SP-E3 zwei Einträge gefunden. Der Hilfsspeicher H-SP ist also wiederum gefüllt. Im vorliegenden Falle bleibt dies jedoch ohne Auswirkung, da von der Speichereinheit SP-E3 oder der nachfolgenden Speichereinheit SP-E 4 kein weiterer Eintrag zu übernehmen ist. Alle vier Einträge verbleiben daher im Hilfsspeicher H-SP und können am Ende des Suchlaufes sortiert ausgegeben werden. Der Such- und Sortiervorgang ist damit abgeschlossen, da aufgrund der Gesetzmäßigkeit für die Bildung der Suchargumente für die einzelnen Suchiäufe weitere Einträge nicht mehr vorhanden sein können.
Das vorangehend beschriebene Beispiel zeigt zugleich, wie durch Maskenabdeckung des Suchargumentes zu Beginn eines Suchvorganges und durch die damit verbundene Reduzierung auf ein mehrere mögliche Gruppen von Daten erfassendes Suchargument zunächst eine stärkere Füllung des HilfsSpeichers H-SP und gegebenenfalls eine Überfüllung provoziert wird. Wie nämlich der Ablauf des gesamten Suchvorganges gezeigt hat, ist nämlich ein insgesamt dreistelliges Suchargument erforderlich, um den Suchvorgang durchführen zu können. Trotzdem wird das dreistellige Suchargument zunächst auf ein zweistelliges reduziert, um so eine höhere Trefferausbeute zu ermöglichen, was dann im zweiten Suchlauf SL 2 zur Überfüllung des HilfsSpeichers und damit zur Rücknahme der anfänglichen Maskenabdeckung führt
Abschließend sei anhand von F i g. 6 die Arbeitsweise eines Hybrid-Assoziativspeichers gemäß F i g. 1 bei der Durchführung des Sortierverfahrens gemäß der Erfindung und insbesondere die Arbeitsweise der zusätzlich benötigten Einrichtungen näher erläutert Abweichend von der F i g. 1 ist bei F i g. 6 eine zweidimensionale Darstellung bei Beibehaltung gleicher Bezugszeichen für übereinstimmende Baueinheiten gewählt Der obere Teil der Figur zeigt wiederum die Assoziationsmatrix AM mit der Auswahlschaltung AM-AW für die einzelnen Zeilen der Matrix anhand einer Adresse Z-AD, den Suchbitmuster-Generator SBM-G für die Bereitstellung der in den einzelnen Phasen benötigten Suchargumente in Form der Suchbitmuster SBM 1 für die einzelnen Suchiäufe und SBM2 für die Aussortierung der während der einzelnen Suchläufe im Hilfsspeicher H-SP aufgesammelten Daten. Die Bereitstellung der jeweils benötigten Suchargumente erfolgt durch die Maske M und die Auswertung der bei den einzelnen Assoziationsvorgängen erzielten Treffer durch die mit den einzelnen Zeilen der Assoziationsmatrix AM verbundene Trefferauswertesteuerung T-ST.
ίο Diese Trefferauswertesteuerung gliedert sich in bekannter Weise in drei Teile, nämlich ein Register T-REG für die Zwischenspeicherung der von der Assoziationsmatrix gemeldeten Treffer, in eine Trefferauswerteschaltung T-AW, die in an sich bekannter Weise
!5 überwacht, ob gleichzeitig mehrere Treffer, nur ein Treffer oder gar kein Treffer erzielt worden ist, sowie in eine Prioritätssteuerung mit Codierer DEC, um die angezeigten Treffer der Reihe nach in die zugehörige Zeilenadresse Z-AD übersetzen zu können. Diese Zeilenadresse ermöglicht es, den Inhalt einer durch einen Treffer der Assoziationsmatrix AM gekennzeichneten Zeile über die Zeilenauswahlsteuerung AM-A W anzusteuern und über den Ausgang AUS auszugeben, was beispielsweise bei der Endsortierung der durchzuführenden Sortierverfahren gemäß der Erfindung erforderlich ist.
Unterhalb der Assoziationsmatrix AM ist wiederum der Basisspeicher B-SP dargestellt, der aus den Speichereinheiten SP-Ei bis SP-En und einer weiteren Speichereinheit, die den Hilfsspeicher H-SP bildet, besteht. Die Auswahl von einzelnen Zeilen oder Spalten innerhalb der einzelnen Speichereinheiten erfolgt durch die Speicherauswahlsteuerung SP-A W, die sich in bekannter Weise in eine gemeinsame Zeilenauswahlsteuerung Z-AW für die einzelnen Zeilen innerhalb der einzelnen Speichereinheiten, eine Spaltenauswahlsteuerung S-A W für die einzelnen Spalten in den einzelnen Speichereinheiten und in eine Auswahlsteuerung E-A W für die einzelnen Speichereinheiten des Basisspeichers B-SP gliedert, wobei die Zusammenarbeit dieser drei Auswahleinheiten durch eine übergeordnete Steuerung A W-ST koordiniert wird. Mit dieser Speicherauswahlsteuerung SP-A W ist eine Überwachungseinrichtung DÜWgekoppelt, die jeweils das Ende eines Suchdurchlaufes durch den gesamten Basisspeicher B-SP anzeigt. Diese Überwachungseinrichtung kann in einfacher Weise aus einer Kippstufe bestehen, die z. B. beim Erreichen der Endstellung durch die Auswahleinrichtung E-A Umgesetzt wird.
Die dem Hilfsspeicher H-SP zugeordnete Steuerung HSP-STiZl in ähnlicher Weise wie die Trcffcrausweriesteuerung 7~-57" ausgebildet und setzt sich zusammen aus einem Register B-REG, das je Zeile des Hilfsspeichers anzeigt, ob diese Zeile belegt oder frei ist, aus der
Überwachungsschaltung FÜW, die anzeigt ob alle Zeilen des Hilfsspeichers H-SP belegt sind, und aus einer Prioritätssteuerung mit Codierer DEC zur Ableitung der Zeilenadresse Z-AD derjenigen Zeile im Hilfsspeicher H-SP, die als nächste mit einem Eintrag zu belegen ist. Im Gegensatz zu der entsprechenden Einrichtung der Trefferauswertesteuerung T-STbesteht bei der Steuerung HSP-ST eine Rückkopplung zwischen der Prioritätssteuerung und dem Belegungsregister B-REG, damit bei jeder Eingabe in den Hilfsspeieher H-SP auch das zugehörige Registerbit gesetzt werden kann. Andererseits ist die Einrichtung FÜW im Gegensatz zur Einrichtung T-A W für die Trefferauswertung wesentlich einfacher aufgebaut, da lediglich zu
überprüfen ist, ob alle Registerbit gesetzt sind, was mit einem einfachen UND-Glied erfolgen kann.
Die weiterhin gezeigte Steuereinrichtung S-ST giiedert sich ebenfalls in mehrere Einrichtungen, die von einer gemeinsamen Steuerung ST koordiniert werden. Diese Steuerung ST wertet zum einen die von der Trefferauswertung T-A W mitgeteilten Signale über die Art der Treffer aus und veranlaßt davon abhängig über die Steuerung SBM-STdie Abänderung der Suchbitmuster SBM durch den Generator SBM-C und/oder die Änderung der Maske Mentsprechend dem zugrundegelegten Such- bzw. Sortieralgorithmus sowie die Umschaltung auf die jeweils nächstfolgende Speichereinheit im Basisspeicher, falls kein Treffer vorliegt Zum anderen veranlaßt sie die Umsteuerung vom Suchdurchlauf auf Endsortieren abhängig vom Signal der Überwachungseinrichtung DÜW und umgekehrt vom Sortieren auf den nächsten Suchdurchlauf, wenn alle im Hilfsspeicher //^/"angesammelten Einträge aussortiert und ausgegeben sind, was ebenso von der Trefferauswertung T-A W mitgeteilt werden kann. Über die Teilsteuerung A US-STv/erden während des Sortiervorganges bei Anzeige eines Einzeltreffers die zugehörigen Zeilenadressen Z-AD von der Prioritäts- und Codiersteuerung DEC der Trefferauswertesteuerung T-ST abgeholt und an die Zeilenauswahlschaltung AM-AW zum Auslesen des zugehörigen Zeileneintrags weitergeleitet. Des weiteren wird über die Teilsteuerung AUS-STdie Zeile über die Auswahlschaltung AM-AW gekennzeichnet, mit der nach einer Unterbrechung eines Suchlaufes infolge Überfüllung des Hilfsspeichers der Suchlauf mit erweitertem Suchargument fortgesetzt wird. Eng mit der gemeinsamen Steuerung ST der Steuereinrichtung S-ST ist die Markiersteuerung M-ST gekoppelt, die bei Füllung des Hilfsspeichers bzw. zum Markieren bereits aussortierter Einträge in den einzelnen Speichereinheiten des Basisspeichers wirksam geschaltet wird. Bei Vorliegen eines Füllungssignals von der Einrichtung FÜW prüft die Steuerung ST zunächst, ob noch weitere Treffer vorliegen, die einen Eintrag in den Hilfsspeicher nach sich ziehen würden. Ist dies der Fall, wird der Suchlauf gestoppt und über die Steuerung SBM-ST eine Änderung des Sucharguments herbeigeführt. Außerdem veranlaßt die Markiersteuerung M-STnach Überprüfen der Einträge im Hilfsspei- *5 eher H-SP anhand des neu eingestellten Suchargumentes die Übertragung der im Register T-REG gespeicherten Treffer in das Register B-REG, so daß nicht vor. einem Treffer abgedeckte Zeilen als frei gekennzeichnet werden. Außerdem wird die Markiersteuerung M-ST nach jedem Such- bzw. Sortierlauf wirksam geschaltet und veranlaßt die Übertragung der im Register T-REG gespeicherten Treffer als Markierungen in die Spalte SB der jeweils angesteuerten Speichereinheit SP-Ei bis SP-En, abhängig von einer Mitteilung der Steuerung 57" an die Steuerung A W-ST zur Wirksamschaltung der entsprechenden Spalte durch die Spaltenauswahlschaltung S-AW.
Die vorangehend beschriebenen zusätzlich benötigten Einrichtungen für die Durchführung des Sortierverfahrens gemäß der Erfindung können also in einfacher Weise durch Verknüpfung der notwendigen Signale in Anlehnung an bereits bekannte Lösungen realisiert werden. Das gilt insbesondere für die Trefferauswertung T-A Wm Verbindung mit der Steuerung SBM-ST, die bereits in der DE-PS 23 42 660 beschrieben ist.
Insgesamt ergibt sich damit folgender Arbeitsablauf: Nach Eingabe eines Suchargumentes in den Generator SBM-G und der Einstellung der Maske M mit Start der Einrichtung aus der Nullstellung der einzelnen Steuereinrichtungen heraus wird zunächst die Speichereinheit SP-E1 zur assoziativen Oberfläche AM/OP durchgescheitet und der gesamte Inhalt dieser Speichereinheit anhand des wirksamen Suchargumentes überprüft Ergibt sich dabei kein Treffer, so bewirkt die Steuerung Sr anhand der von der Trefferauswertung T-AW mitgeteilten Aussage über die Speicherauswahlsteuerung SP-A W die Umsteuerung auf die nächstfolgende Speichereinheit usw.
Sobald die Trefferauswertung T-A W beim Durchsuchen einer der mit der Assoziationsmatrix AM verbundenen Speichereinheit einen Treffer meldet wird der Suchvorgang durch die Steuereinrichtung 5/ gestoppt und der Speicherauswahleinrichtung SP-A W ein Befehl zur Umschaltung auf den Hilfsspeicher H-SP durch Änderung der Einstellung der Auswahleinrichtung E-A W gegeben. Gleichzeitig wird die Prioritätsund Codiereinrichtung DEC der Steuerung HSP-SP angesteuert, damit diese die Zeilenadresse Z-AD für die Einstellung der nächsten freien Speicherzeile im Hilfsspeicher f/-SPbereitstellt Außerdem wird über die Teilsteuerung /.US-ST der Sortiersteuerung S-ST von der Prioritäts- und Codiereinrichtung DEC der Trefferauswertesteuerung T-Srdie Zeilenadresse Z-AD für die erste durch einen Treffer gekennzeichnete Zeile der Assoziationsmatrix AM abgeholt und der Auswahleinrichtung AM-AW zugeführt, so daß der Inhalt der ausgewählten Zeile in die bereitgestellte Zeile des Hilfsspeichers H-SP überführt werden kann. Dieses Spiel wiederholt sich solange, bis alle durch einen Treffer gekennzeichneten Zeilen der Assoziationsmatrix AM in den Hilfsspeicher übernommen sind. Dabei wird mit jedem Eintrag in den Hilfsspeicher H-SP im zugehörigen Belegungsregister B-REG die jeweils belegte Zeile als belegt gekennzeichnet.
Unterstellt man, daß die in den einzelnen Speichereinheiten 5P-F1 bis SP-En enthaltenen Daten verschiedener Dateien annähernd gleichmäßig auf die einzelnen Speichereinheiten verteilt sind und somit eine Überfüllung des Hilfsspeichers H-SP während eines Suchlaufes nie auftreten und damit den Sortiervorgang blockieren kann, oder daß der Hilfsspeicher W-SPdurch Zuschalten weiterer Speichereinheiten des Basisspeichers B-SF nach Bedarf vergrößerbar ist, so wird jeweils nach Übernahme aller in der assoziativen Matrix AM durch einen Treffer gekennzeichneten Einträgt einer ausgewählten Speichereinheit in den Hilfsspeicher H-SP die Markierung der jeweils aus der zuletzt angesteuerten Speichereinheit SP-E ... übernommenen Daten, damit diese bei den nachfolgenden Suchläufen nicht mehr berücksichtigt werden, sofort vorgenommen. Zu diesem Zweck überwacht die Steuerung ST der Sortiersteuerung S-ST die Aussage der Prioritäts- und Codiereinrichtung DEC der Trefferauswertesteuerung T-ST in Verbindung mit der Teilsteuerung AUS-ST und veranlaßt die Speicherauswahleinrichtung SP-A W zur Einstellung auf die gerade überprüfte Speichereinheit SP-E... durch die Auswahleinrichtung E-A W sowie zur Auswahl der die Sortiert-Bits aufnehmenden Spalte SE durch die Auswahleinrichtung S-A W. Anschließend wird durch die Markiersteuerung M-Srdie gleichzeitige Übertragung der im Trefferregister T-REG registrierten Treffer auf parallelem Wege in die ausgewählte Spalte der ausgewählten Speichereinheit zur Markierung der ausgeschiedenen Zeileneinträge veranlaßt. Erst danach wird der Suchlauf mit Umsteuerung auf die
nächstfolgende Speichereinheit durch die Steuereinrichtung Srfortgesetzt
Um das dabei notwendige Umschalten zwischen den einzelnen Speichereinheiten zu vermeiden, kann die Markierung auch unmittelbar nach Feststellung von Treffern vor Übertragung der durch einen Treffer gekennzeichneten Einträge in den HilfsSpeicher vorgenommen werden.
Ist dagegen die Speicherkapazität des Hilfsspeichers H-SP begrenzt, da wie beim Ausführungsbeispiel lediglich eine Speichereinheit des Basisspeichers B-SB als Hilfsspeicher zur Verfügung steht, so kann die Markierung der aussortierten Daten jeweils erst am Ende eines Suchdurchlaufes vorgenommen werden, da erst dann abzusehen ist, welche der in den Hilfsspeicher übernommenen Daten den Suchlauf tatsächlich überstanden haben und daher aussortiert werden können. In diesem Falle wird, solange nicht die Füllzustandsüberwachung FÜW des Hilfsspeichers H-SP anspricht, ein eingeleiteter Suchlauf fortgesetzt, bis die Überwachungseinrichtung DÜW anspricht und das Ende eines Suchlaufes anzeigt. Die Steuerung ST der Sortiersteuerung S-S7"veranlaßt daraufhin die Umsteuerung auf den Sortiervorgang. Zu diesem Zweck wird über die Speicherauswahleinrichtung SP-A W zunächst über die Auswahleinrichtung E-AW der Hilfsspeicher H-SP angesteuert und damit mit der assoziativen Oberfläche verbunden. Desweiteren wird über die Teilsteuerung SBM-ST der Generator SBM-G und die Maske Λ/auf das für den Sortiervorgang benötigte Suchargument umgeschaltet und die Assoziationsmatrix AM wirksam geschaltet. Im Wechselspiel zwischen Trefferauswertesteuerung T-ST und Sortiersteuerung S-ST werden dann die im Hilfsspeicher H-SP angesammelten Einträge sortiert und über den Ausgang AUS der Assoziationsmatrix AM ausgegeben.
Nach Beendigung des Sortiervorganges schaltet die Steuerung 57"auf einen Markiersuchlauf um. Zu diesem Zweck wird über die Teilsteuerung SBM-ST das am Schluß des vorausgegangenen Suchlaufes gültige Sortierbitmuster am Generator SB-G und an der Maske M wieder eingestellt und über die Speicherauswahleinrichtung SP-AW die erste Speichereinheit SP-E\ ausgewählt. Die dabei vom Trefferregister T-REG festgestellten Trefferanzeigen werden dann jeweils am Ende eines Assoziationsvorganges, gesteuert durch die Markiersteuerung M-ST und nach vorheriger Auswahl der Spalte für die Sortiert-Bits SB durch die Auswahleinrichtung S-A Wder Speicherauswahleinrichtung SP-AW wiederum parallel übertragen. Dieser Markiervorgang wird daraufhin für jede der Speichereinheiten SP-E 2 bis SP-En fortgesetzt. Erst danach wird bei gleichzeitiger Löschung des Belegungsregisters B-REG auf den nächsten Suchlauf umgesteuert.
Spricht während eines der Suchläufe die Einrichtung FÜW zur Überwachung des Füllungszustandes des Hilfsspeichers H-SP an, so veranlaßt die Steuerung ST bei Vorliegen eines weiteren Treffers, der die Übernahme eines weiteren Eintrags in den Hilfsspeicher H-SP anzeigt, über die Teilsteuerung SBM-ST die Erweiterung des zur Zeit gültigen Suchargumentes entsprechend dem gültigen Suchalgorithmus und die Überprüfung der im Hilfsspeicher H-SP gespeicherten Einträge durch die Assoziationsmatrix AM anhand des neuen Suchargumentes. Die daraufhin im Trefferregister T-REG registrierten Treffer werden dann, veranlaßt durch die Markiersteuerung M-ST, parallel in das Belegungsregister B-REG der Steuerung HSP-ST übergeben und so alle nicht dem neuen Suchargument entsprechenden Einträge im Hilfsspeicher H-SP gelöscht. Anschließend wird der Inhalt des Belegungsi egisters B-REG nach vorheriger Auswahl der Spalte SB im Hilfsspeicher H-SP durch die Auswahleinrichtung S-A W in den Hilfsspeicher übernommen und so die gültigen Einträge markiert. Erst danach veranlaßt die Steuerung ST die Fortsetzung des abgebrochenen Suchlaufes durch den Basisspeicher B-SP, und zwar wird der Suchlauf mit der Zeile der zuletzt geprüften Speichereinheit fortgesetzt, die nicht mehr in den Hilfsspeicher wegen dessen Überfüllung übernommen werden konnte. Zu diesem Zweck speichert die Teilsteuerung AUS-STz. B. die jeweils zuletzt von der Prioritäts- und Codiereinrichtung DEC der Trefferauswertesteuerung T-ST vor Abbruch des letzten Suchlaufes mitgeteilte Zeilenadresse Z-AD und vergleicht diese mit den nachfolgend zugeführten Zeilenadressen, bis die gleiche Zeilenadresse erreicht ist. Erst die dieser Zeilenadresse entsprechende Zeilenadresse und die nachfolgenden Zeilenadressen kennzeichnen neue Einträge für den Hilfsspeicher H-SP, die dann in der bereits beschriebenen Weise in den Hilfsspeicher übernommen werden. Auch der weitere Ablauf des Suchens und Sortierens erfolgt dann in der bereits beschriebenen Weise.
Verwendet man zur Eingabe in den Basisspeicher B-SP, wie bereits in F i g. 1 angedeutet ist, einen zusätzlichen Eingabepufferspeicher P-SP und sammelt man die für den Hilfsspeicher H-PS vorgesehenen Einträge zunächst in diesem Eingabepufferspeicher,
bevor sie dann gemeinsam am Ende eines Suchlaufes oder bei Überfüllung in den Hilfsspeicher H-SP übertragen werden, so kann auf die zusätzliche Steuerung HSP-STiür den Hilfsspeicher H-SPverzichtet werden, da in der Regel der Eingabepufferspeicher P-SP zu übernehmende Einträge immer in die nächste freie Zeile eingibt. Mit diesem Pufferspeicher ist dann lediglich eine Einrichtung FÜW für die Überwachung des Füllungszustandes vorzusehen, wobei das Füllungssignal in einfacher Weise von der Einstellung der
Zeilenauswahl für diesen Eingabepufferspeicher abgeleitet werden kann. Eine zusätzliche Belegungsüberwachungssteuerung ist in diesem Falle nicht erforderlich, da bei jeder Überfüllung die im Pufferspeicher P-SP vorliegenden Daten zunächst in den Hilfsspeicher H-SP übergeben werden, bevor die Assoziationsmatrix AM überprüft, welche Einträge dem neuen Suchargument entsprechen, und da die aufrechtzuerhaltenden Einträge über den Ausgang AUS der Assoziationsmatrix AM dann wieder der Reihe nach in den Pufferspeicher P-SP eingeschrieben werden können.
Hierzu 6 Blatt Zeichnungen

Claims (13)

1 Patentansprüche:
1. Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten, der aus einer assoziativen Oberfläche und einem Basisspeicher mit einer Vielzahl von gleichartigen Speichereinheiten besteht und bei dem die Speicherabschnitte jeweils einer Speichereinheit alle gleichzeitig parallel zur assoziativen Oberfläche durchschaltbar sind, unter Verwendung eines das jeweilige ·° Sortierargument liefernden Generators, einer veränderbaren Maske zur Festlegung des jeweiligen Assoziationsbereiches und einer Trefferauswerteeinrichtung, dadurch gekennzeichnet, daß durch treffergesteuerte Einstellung des Sortierargumentes (SBMi) und des durch die Mpske (M) vorgegebenen Assoziationsbereiches der assoziativen Oberfläche (AM/OP) Gruppen von zusammen bereits endsortierfähigen Daten aus dem Basisspeicher (B-SP) ausgesucht werden, daß die durch Treffer gekennzeichneten Daten in einen Hilfsspeicher (H-SP) übernommen werden, daß jeweils nach Überprüfen aller Speichereinheiten (SP-E \ bis SP-En) des Basisspeichers (B-SP) die im Hilfsspeicher (H-SP) gesammelten Daten ebenfalls durch ^ treffergesteuerte Einstellung des Sortierargumentes und des durch die Maske (M) vorgegebenen Assoziationsbereiches endsortiert und ausgegeben werden, daß danach ggf. der Prüf- und Sortiervorgang wiederholt wird, bis alle Gruppen von Daten einer zusammenhängend zu sortierenden Datenmenge erfaßt sind, und daß die jeweils endsortierten Daten als solche im Basisspeicher (B-SP) markiert werden.
2. Verfahren nach Anspruch 1, dadurch gekenn- J5 zeichnet, daß die Speicherkapazität des Hilfsspeichers (H-SP) nach Bedarf vergrößerbar ist.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die aus einer Speichereinheit (z. B. SP-Ei) des Basisspeichers (B-SP) in den Hilfsspeieher (H-SP) übernommenen Daten unmittelbar als aussortiert markiert werden.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Speicherkapazität des Hilfsspeichers (H-SP) fest vorgegeben ist, daß bei Überfüllung des HilfsSpeichers (H-SP) das Suchargument (SBM X) erweitert wird und alle Daten im Hilfsspeicher (H-SP) gelöscht werden, die dem erweiterten Suchargument nicht mehr entsprechen, und daß der Suchvorgang im Basisspeicher (B-SP) mit dem erweiterten Suchargument fortgesetzt wird, gegebenenfalls mit weiteren Erweiterungen des Sucharguments bei weiteren Überfüllungen des Hilfsspeichers, bis alle in Frage kommenden Daten endgültig aussortiert sind.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß zu Beginn eines Suchvorganges das vorgegebene Suchargument (SBM 1) durch Maskenabdeckung (M) auf ein übergeordnetes, mehrere mögliche Gruppen von Daten erfassendes Suchar- b0 gument reduziert wird und daß bei Gefahr des Überlaufs im Hilfsspeicher (H-SP) die Maskenabdeckung, gegebenenfalls schrittweise, wieder zurückgenommen wird und nicht zugehörige aufgesammelte Daten im Hilfsspeicher (H-SP) gelöscht b5 werden.
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß jeweils nach Durchsuchen aller Speichereinheiten (SP-E 1 bis SP-En) des Basisspeichers (B-SP) alle Daten im Basisspeicher anhand des jeweils zuletzt gültigen Sucharguments (SBMl) erneut durchsucht und die durch einen Treffer der assoziativen Oberfläche (AM/OP) gekennzeichneten Daten im Basisspeicher (B-SP) als aussortiert markiert werden, ohne daß dabei Daten in den Hilfsspeicher(f/-S/V übernommen werden.
7. Verfahren nach Anspruch 3 oder 6, dadurch gekennzeichnet, daß alle aussortierten Daten einer Speichereinheit (z. B. SP-Ei) gleichzeitig als aussortiert markiert werden.
8. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, daß die Speicherkapazität des Hilfsspeichers (H-SP) der einer Speichereinheit (SP-E...) des Basisspeichers (B-SP) entspricht.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß das jeweilige Suchbzw. Sortierargument (SBM \ bzw. SBM 2) von einem Sortierbitmuster-Generator (SBM-C) geliefert wird, der abhängig vom jeweiligen Such- bzw. Sortierergebnis steuerbar ist.
10. Anordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 9, gekennzeichnet durch eine mit der Trefferauswertesteuerung (T-ST) der assoziativen Oberfläche (AM/OP)des Hybridassozia'.'vspeichers gekoppelte Steuereinrichtung (S-ST) zur Übertragung der durch Treffer gekennzeichneten Daten in den Hilfsspeicher (H-SP), eine mit der Auswahlsteuerung (SP-A W) für die Speichereinheiten (SP-E...) im Basisspeicher (B-SP) gekoppelte Überwachungseinrichtung (DÜW) zur Einleitung des Endsortiervorganges für die im Hilfsspeicher (H-SP) gesammelten Daien und eine Einrichtung (M-ST) zur Markierung der jeweils endgültig aussortierten Daten in den einzelnen Speichereinheiten (SP-E ...) des Basisspeichers (BSP).
11. Anordnung nach Anspruch 10, gekennzeichnet durch eine Einrichtung (FÜW)zut Überwachung des Füllungszustandes des Hilfsspeichers (H-SP).
12. Anordnung nach Anspruch 11, gekennzeichnet durch eine mit der Einrichtung (FÜW) zur Überwachung des Füllungszustandes des Hilfsspeichers (H-SP) und mit der Einrichtung (SBM-C/M) zur Bereitstellung des Suchargumentes gekoppelte Einrichtung (SBM-ST)zur Erweiterung des Suchargumentes (SBM 1) bei Überschreiten der Speicherkapazität des Hilfsspeichers (H-SP) und durch mit dem Hilfsspeicher (H-SP) gekoppelte Einrichtungen (HSP-ST) zur Löschung der Daten, die dem neuen Suchargument nicht mehr entsprechen, und zur Kennzeichnung freier Speicherplätze im Hilfsspeicher (H-SP).
13. Anordnung nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß der Hilfsspeicher (H-SP) von einer Speichereinheit des Basisspeichers (B-SP) gebildet wird und diese Speichereinheit zusammen mit der assoziativen Oberfläche (AMZOP)OQS Hybridassoziativspeichers als Assoziativspeicher arbeitet.
DE19803009330 1980-03-11 1980-03-11 Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens Expired DE3009330C2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19803009330 DE3009330C2 (de) 1980-03-11 1980-03-11 Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens
AT81101727T ATE9934T1 (de) 1980-03-11 1981-03-09 Hybrid-assoziativspeicher und dessen anwendungen, insbesondere zum sortieren von gespeicherten daten.
EP81101727A EP0035787B1 (de) 1980-03-11 1981-03-09 Hybrid-Assoziativspeicher und dessen Anwendungen, insbesondere zum Sortieren von gespeicherten Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19803009330 DE3009330C2 (de) 1980-03-11 1980-03-11 Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens

Publications (2)

Publication Number Publication Date
DE3009330A1 DE3009330A1 (de) 1981-09-17
DE3009330C2 true DE3009330C2 (de) 1984-04-26

Family

ID=6096880

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19803009330 Expired DE3009330C2 (de) 1980-03-11 1980-03-11 Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens

Country Status (1)

Country Link
DE (1) DE3009330C2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3212076C2 (de) * 1982-04-01 1986-01-30 Michael Dipl.-Ing.Dr.-Ing. 7403 Ammerbuch Malms Schaltungsanordnung zur Ausführung inhaltsorientierter Zugriffsfunktionen
DE3334536A1 (de) * 1983-09-23 1985-04-04 Siemens AG, 1000 Berlin und 8000 München Verfahren und anordnung zum aufsuchen von in einem hybrid-assoziativspeicher gespeicherten daten mit vertikal ausgerichteter speicherung der einzelnen zeichen der daten abhaengig von dem ihnen zugeordneten rand, z.b. zum sortieren der daten

Also Published As

Publication number Publication date
DE3009330A1 (de) 1981-09-17

Similar Documents

Publication Publication Date Title
EP0010195B1 (de) Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage
DE2163342C3 (de) Hierarchische binäre Speichervorrichtung
DE69208789T2 (de) Sortierverfahren
DE3390315T1 (de) Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen
DE2154106A1 (de) Arbeitsspeicherwerk
DE1956604B2 (de) Datenverarbeitungsanlage
DE2310631C3 (de) Speicherhierarchie für ein Datenverarbeitungssystem
WO1984003970A1 (en) Hybrid associative memory and method for the retrieval and sorting of data contained therein
DE10151091B4 (de) Scheduling-System und Scheduling-Verfahren dafür
DE2031040B2 (de) Verfahren zur festlegung des zugangs von mehreren benutzern zu einer einheit einer datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens
DE2252279A1 (de) Verfahren und anordnung zur aenderung der relativen lage wenigstens eines informationsbits in einem datenstrom
DE2422732C2 (de) Hierarchische Speicheranordnung
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE2221442A1 (de) Assoziativspeicher
DE2436932A1 (de) Anordnung zur messung der effektivitaet einer datenverarbeitungsanlage mit virtuellem speicher
DE2031797A1 (de) Verfahren zur Erzeugung eines mehr stufigen verdichteten Index
DE3009330C2 (de) Verfahren zum Sortieren von in einem Hybrid-Assoziativspeicher gespeicherten Daten und Anordnung zur Durchführung des Verfahrens
EP0035787B1 (de) Hybrid-Assoziativspeicher und dessen Anwendungen, insbesondere zum Sortieren von gespeicherten Daten
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
DE3516077C2 (de)
DE2261586A1 (de) Speichereinrichtung
DE3009317A1 (de) Hybrid-assoziativspeicher
DE2254884A1 (de) Verfahren zum betrieb einer datenverarbeitungsanlage
DE2512324C3 (de) Verfahren und Anordnung zum Sortieren von Daten in einem assoziativ bewirtschafteten Speicher
DE2164836A1 (de) Verfahren zum Sortieren von Dateneinheiten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee