METHOD AND DEVICE FOR SEARCHING FILE DATA CORRESPONDING TO A GIVEN SEARCH KEY IN A HYBRID ASSOCIATIVE MEMORY

Abstract: 1. A method of searching for data, in accordance with a predetermined search argument, in a data sequence which is composed of equal sized, smallest units as checking units, e. g. characters, in an arbitrary combination, in a hybrid associative store, wherein units of the data sequence are supplied to an associative logic-linking unit together with parameters required for the checking procedure, e.g. search argument, masks, control operand, characterised in that the following steps are provided : a) at the beginning of a search procedure, commencing from the predetermined start element of the data sequence, the individual characters of the data sequence are firstly consecutively checked with the first character of the search argument until a hit is recognised whereupon a hit signal is generated, b) on the occurrence of a hit signal a hit chaining arrangement activates the hit chain, c) for such time as the hit chain exists, all the following characters of the data sequence are checked with the respective, assigned, consecutive characters of the search argument, d) if the end of the data sequence is reached when the hit chain is in existence, the search is continued with the first character of the next data sequence, maintaining the hit chain, e) when a hit signal fails to occur, the hit chain is broken and a new search procedure is initiated with a start element displaced by one character in relation to the previous start element, and is continued in accordance with step f), f) the search procedure is terminated when all the characters of the search argument have been processed or when all the data sequences have been checked, otherwise it is continued in accordance with step a).

Description: Verfahren und Anordnung zum Aufsuchen von einem vorgegebenen Suchargument entsprechenden Daten einer Datenfolge in einem Hybrid-Assoziativspeicher Die Erfindung betrifft ein Verfahren und eine Anordnung zum Aufsuchen von einem vorgegebenen Suchargument entsprechenden Daten gemäss dem Oberbegriff des Patentanspruches 1. Ein derartiges Verfahren ist beispielsweise aus der US-PS 4.257.110 oder aus "Informatik-Fachberichte" von W.Brauer, Bd. 62 (1983), Seiten 42 bis 44 bekannt. Der Vorteil von Hybrid-Assoziativspeichern, die aus einer assoziativen Oberfläche und einem normalen Zugriffspeicher als Basisspeicher bestehen, gegenüber reinen Assoziativspeichern für Suchprozeduren u.dgl. besteht vor allem in der kostengünstigeren Speicherung grosser Datenmengen Dabei spielt die Ausrichtung der Datenfolgen in vertikaler oder horizontaler Richtung bezüglich der Leistungsfähigkeit des Hybrid-Assoziativspeichers eine entscheidende Rolle. Vorteilhafter ist allgemein die horizontale Ausrichtung der Datenfolgen, doch führt die Speicherbreite dann zu einer Längenbegrenzung der Datenfolgen, wenn man nicht mehrere Zeilen ketten will. Bei langen Datenfolgen erscheint trotz anderer Nachteile die vertikale Ausrichtung vorteilhafter. Neben der Speicherungsstrukfur hat das vorgesehene Suchverfahren entscheidenden Einfluss auf die Systemarchitektur des Hybrid-Assoziativspeichers. Bei der bekannten Anordnung gemäss dem Oberbegriff des Patentanspruches 1 liegt die vertikale Datenausrichtung zugrunde, und das verwendete Suchverfahren ist offensichtlich auf ausgerichtete Daten, d.h. gleich lange Datenfolgen entsprechend Tabellenzeilen, abgestellt, wobei ein Suchvorgang das Suchen über die volle Länge einer Datenfolge umfasst. Dieses Verfahren ist insbesondere für nicht ausgerichtete Daten, z.B. Texte, zu zeitaufwendig, da nicht vorauszusehen ist, in welchem Bereich die Datenmenge bzw. des Textes sich die gewünschten Daten bzw. Textstelle befinden. Aufgabe der Erfindung ist es daher, ein Suchverfahren anzugeben, das insbesondere bei nicht ausgerichteten Daten effektiver arbeitet und bezüglich der System architektur und des Speicheraufbaus verschiedenen Voraussetzungen Rechnung trägt. Diese Aufgabe wird im grundsätzlichen durch die kennzeichnenden Merkmale des Patentanspruches 1 gelöst. Durch die vertikale Ausrichtung der Daten mit Zeichen serieller aber bitparalleler Prüfung bleibt wie bei der bekannten Anordnung die Trefferkettung auf eine Zeichenspalte beschränkt. Das Wirksamschalten der Trefferkettung wird aber vom Auftreten des ersten Treffers abhängig gemacht. Der Anfangspunkt der Kettung bleibt damit variabel und öffnet das Verfahren auch für nicht ausgerichtete Daten. Parallel dazu unterbleibt vorerst eine Änderung des gültigen Suchargumentzeichens, bis ein Treffer aufgetreten ist. Des weiteren wird beim Abriss der Trefferkettung der Suchvorgang sofort unterbrochen und mit verschobenem Startschritt in der Datenfolge erneut begonnen, was einer Verschiebung des Suchargumentes gegenüber der zu prüfenden Datenfolge um einen Zeichenschritt gleichkommt. Dieses Grundprinzip eröffnet in vorteilhafter Weise die Möglichkeit, dass nach einem einheitlichen Verfahren mehrere vertikale Datenfolgen gleichzeitig überprüft werden können, so dass die durch die Datenfolgen insgesamt vorgegebene Datenmenge schneller überprüft werden kann. Bei der entsprechenden Weiterbildung der Erfindung gemäss Anspruch 2 braucht der Suchvorgang in diesem Falle erst dann abgebrochen zu werden, wenn für keine der gleichzeitig überprüften Datenfolgen ein Treffer angezeigt wird. Die Trefferüberwachung kann in diesem Falle gemäss der Weiterbildung nach Patentanspruch 5 in einfacher Weise von der mit der assoziativen Oberfläche in üblicher Weise gekoppelten Trefferauswertung übernommen werden. Ein Eingriff in die Anordnungen für die Trefferkettung ist also nicht erforderlich. Alle Verknüpfungseinheiten der assoziativen Oberfläche werden einheitlich von einer Quelle, z.B. von der übergeordneten Speichersteuerung aus, mit den notwendigen Parametern und den Steuerbefehlen versorgt und damit global gesteuert, unabhängig davon, ob für einzelne der Datenfolgen die Trefferkettungen bereits abgerissen sind, wenn nur für wenigstens eine der Datenfolgen die Trefferkettung noch aufrecht erhalten ist. Durch die Parallelschaltung von mehreren vertikalen Datensäulen wird u.a. auch eine Anpassung der Speicherbreite an die üblichen Datenwortlängen, von z.B. vier oder acht Zeichen je Wort, auf den Leitungssystemen für den Anschluss des Hybrid-Assoziativspeichers möglich und damit das Laden bzw. Entladen des Basisspeichers erleichtert. Auch Kettungen von gleich langen Datenteilfolgen lassen sich dabei ohne wesentlichen Mehraufwand gemäss einer Weiterbildung entsprechend Anspruch 5 bewältigen. Besondere Vorteile ergeben sich bei einer Anordnung gemäss Anspruch 9, demzufolge der Basisspeicher in spe zieller Weise entsprechend der älteren deutschen Pa tentanmeldung P 33 11 665.2 ausgebildet ist. Nachfolgend sei die Erfindung von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert. Im einzelnen zeigen FIG 1 den prinzipiellen Aufbau eines Hybrid-Assozia tivspeichers mit versetzter Einordnung der Sub einheiten von Dateneinheiten im Basisspeicher zur Bildung paralleler vertikaler Datenfolgen für die einzelnen Verknüpfungseinheiten der asso ziativen Oberfläche gemäss einer besonderen Aus führungsform der Erfindung, FIG 2 den Aufbau einer Verknüpfungseinheit als Bau stein der assoziativen Oberfläche des Hybrid Assoziativspeichers von FIG 1, FIG 3 den prinzipiellen Aufbau der Treffersteuerung in der Verknüpfungseinheit von FIG 2, FIG 4 ein Prinzipschaltbild zur Erläuterung der bei geketteten Datenteilfolgen möglicherweise not wendig werdenden Umschaltung für die Trefferket tung, FIG 5 einen Teilausschnitt der Trefferauswertesteuerung bei Ausführung der Trefferkettung von geketteten Datenteilfolgen und FIG 6 ein Flussdiaqramm zur Erläuterung der Arbeits weise des in FIG 1 gezeigten Hybrid-Assozia tivspeichers beim Suchen von Daten gemäss der Erfindung Der in FIG 1 gezeigte Hybrid-Assoziativspeicher besteht in herkömmlicher Weise aus einem Basisspeicher B-SP, einer assoziativen Oberfläche AS-FL, einer mit letzterer gekoppelten Trefferauswertung T-AUSW und der übergeordneten Steuerung HAS-ST. Der Basisspeicher B-SP ist vorzugsweise in Anlehnung an die ältere deutsche Patentanmeldung P 33 11 665.2 ausgebildet. Er ist z.B. aus 16 Speichergruppen MDO bis MD13 zusammengesetzt, von denen jede, z.B. MDO, mit jeweils aus vier Zeichen oder Byte bestehenden Dateneinheiten zeilenweise zum Ein- oder Ausspeichern über das Datenleitungssystem HAS-BUS ansteuerbar ist. Dateneinheiten können also im direkten Zugriff zeilenweise wie bei einem herkömmlichen Speicher wahlweise in eine der Speichergruppen MDO bis MD15 ein- oder ausgespeichert werden. Daneben besteht insbesondere für den assoziativen Betrieb des Basisspeichers B-SP die Möglichkeit, aus jeder Speichergruppe gleichzeitig vier Zeichen, und zwar die einander entsprechenden von jeweils vier verschiedenen Dateneinheiten je Speichergruppe, anzusteuern und der assoziativen Oberfläche ASS-FL zuzuführen oder von dieser zu übernehmen. Bei einem solchen Ansteuervorgang wird also in einem Zuge eine ganze Byte- oder Zeichenscheibe BS aus im vorliegenden Falle 4 x 16 = 64 Zeichen vom Basisspeicher B-SP zur Verfügung gestellt oder von diesem übernommen. Entsprechend können die 64 Verknüpfungseinheiten ALVO bis ALV63 der assoziativen Oberfläche ASS-FL gleichzeitig tätig werden. Diese Art der Zugriffsteuerung für den Basisspeicher B-SP ermöglicht andererseits, dass z.B. in jeder Bytesäule, z.B. 0, des Basisspeichers die aufeinanderfolgenden Zeichen einer Dateneinheit und Zeichen aufeinanderfolgender Dateneinheiten innerhalb einer Datenfolge derselben Verknüpfungseinheit, z.B. ALVO, der assoziativen Oberfläche ASS-FL nacheinander zugeführt werden können, als wären die einzelnen Zeichen der Dateneinheiten vertikal untereinander und nicht horizontal nebeneinander, wenn auch zeilenmässig versetzt, gespeichert. Datenfolgen werden daher in der Regel von derselben Verknüpfungseinheit der assoziativen Oberfläche verarbeitet. Eine solche Säulen- oder Stringbildung von Zeichen einer Datenfolge er öffnet verschiedene Möglichkeiten der Einordnung von aus vielen Dateneinheiten zusammengesetzten Dateien in den Basisspeicher B-SP, nämlich die Bildung einer Datei durch einen einzigen solchen String, so dass im vorliegenden Fall 64 verschiedene Dateien gleichzeitig durch die assoziative Oberfläche ASS-FL überprüft werden können, oder aber die Verteilung einer Datei auf die parallelen Strings mit oder ohne Serienschaltung der Strings im Bereich des ganzen oder nur eines Teiles des Basisspeichers, so dass Teile der Datei parallel und damit die Daten als solche schneller überprüft werden können. Die Beschränkung auf vorgegebene Ebenen des Basisspeichers B-SP kann dabei durch eine vorgegebene Adressenmaske AD-MASK für die Ansteueradressen AD gesteuert werden, die z.B. durch die Anfangs- und Endadresse A/E des jeweiligen Dateibereiches über die Adressensteuer-ung AD-ST anhand von Steuerbefehlen CMD-SP der übergeordneten Steuerung HAS-ST des Hybrid-Assoziativspeichers eingestellt wird. Gleichzeitig mit der Bereitstellung der Daten aus dem Basisspeicher B-SP werden die Verknüpfungseinheiten ALVO bis ALV63 der assoziativen Oberfläche ASS-FL von der übergeordneten Steuerung HAS-ST mit den notwendigen Steuerbefehlen CMD-ST versorgt, so dass die vom Basisspeicher zur Verfügung ge stellten Zeichen individuell überprüft und verarbeitet werden können. Die für die Bearbeitung der Daten in der assoziativen Oberfläche ASS-FL benötigten Parameter liefern gesonderte Register oder bei Suchverfahren zweckmässig ein gesonderter Parameterspeicher PAR-SP, der zweckmässig in gleicher Weise aufgebaut ist wie der Basisspeicher B-SP, allerdings mit dem Unterschied, dass infolge der gleichartigen Beaufschlagung aller Verknüp- fungseinheiten ALV... der assoziativen Oberfläche mit einheitlichen externen Parametern lediglich eine Speichergruppe dafür benötigt wird. Mit jeder durch die Steuerung HAS-ST bewirkten Ansteuerung des Parameterspeichers PAR-SP werden beispielsweise vier unterschied - liche Parameter zur Verfügung gestellt, nämlich ein Suchargumentzeichen, eine Bitstrukturmaske, ein externer Operand und ein Gewichtungsfaktor. Der Aufbau der einzelnen Verknüpfungseinrichtungen ist in FIG 2 gezeigt und entspricht im wesentlichen der älteren deutschen Patentanmeldung P 33 19 581.1. Kernstück dieser Verknüpfungseinrichtung ALV, aus der die assoziative Oberfläche ASS-FL in FIG 1 zusammengesetzt ist, ist eine arithmetisch-logische Einheit ALU mit der Arbeitsbreite für ein Zeichen, also z.B. für acht Bit. Den beiden Operandeneingängen der ALU ist jeweils eine Maskiereinrichtung A-MASK bzw. B-MASK, ein Operandenregister A-REG bzw. B-REG und ein Auswahl schalter A-MUX bzw. B-MUX vorgeschaltet. Über letztere können die beiden Operandenregister aus den verschiedensten Quellen wahlweise geladen werden. Im vorliegenden Falle sei unterstellt, dass dem Register B-REG in den überwiegenden Anwendungsfällen Daten aus dem Basisspeicher B-SP des Hybrid-Assoziativspeichers zugeführt werden, die anhand eines im anderen Operandenregister A-REG zur Verfügung gestellten Suchargumentes SBM zu überprüfen sind. An stelle des Argumentes SBM können dem Reqister A-REG auch externe Operanden EXT-OP für durchzuführende Verknüpfungsfunktionen zugeführt werden. Des weiteren können die Operandenreqister auch vom Ergebnisregister C-REG der ALU, das zweckmässig aus einem Registersatz von z.B. 16 Einzelregistern besteht, geladen werden. Analog zu den beiden Operandenregistern A-REG und B-REG ist auch noch ein gesondertes Maskenregister M-REG mit vorgeschaltetem Auswahl schalter M-MUX vorgesehen, das ebenfalls aus mehreren Quellen geladen werden kann, z.B. vom Ergebnisregister C-REG oder vom Datenleitungssystem HAS-BUS und ggf. auch von einer externen Quelle. Mit dem Maskenregister M-REG ist des weiterem eine Maskensteuerung M-ST zur Einstellung der Operandenmasken A-MASK und B-MASK gekoppelt. Neben den Maskeninformationen aus dem Maskenregister M-REG können von dieser Steuerung auch direkt zugeführte externe Maskeninformationen EXT-MASK verarbeitet und vorliegende Treffersignale T berücksichtigt werden. Die Arbeitsweise dieser Maskensteuerung M-ST ist ausführlich in der bereits genannten älteren deutschen Patentanmeldung P 33 19 581.1 erläutert. Der Ausgang der Verknüpfungseinheit ÄLU ist parallel mit einem Schieberegister S-REG und einem Quersummenbildner Q-SUM verbunden. Die Anzeigensteuerung ANZ-ST dient zur Bildung der üblichen ALU-Anzeigen aus den Ergebnissignalen SIG der ALU. Mit dieser Anzeigensteuerung ist eine Treffersteuerung T-ST gekoppelt, die abhängig von den jeweils vorliegenden Anzeigen und der jeweils durchgeführten Assoziationsrelation ermittelt, ob ein Treffer erzielt worden ist köder nicht und wie das jeweilige Trefferergebnis zu werten ist. Ergebnisse der Treffersteuerung T-ST können ebenso wie die Ergebnisse des Quersurnmenbildners Q-SUM oder der ALU bzw. des zwischengeschalteten Schieberegisters S-REG über Auswahl schalter MUX1 und MUX2 an das Ergebnisregister C-REG weitergeleitet werden, wobei die Ubernahme in das Ergebnisregister ggf. vom Vorliegen eines Steuersignals TU der Treffersteuerung T-ST abhängig ist. Das Tätigwerden der einzelnen genannten Bauteile der Verknüpfungseinheit ALV... und die Art ihres Tätigwerdens wird - wie gezeigt - durch Steuersignale CMD der in FIG 1 enthaltenen übergeordneten Ablaufsteuerung HAS-ST festgelegt. Trotz der einheitlichen Kennzeichnung dieser Signale mit CMD dürfte klar sein, dass es sich hierbei um unterschiedliche Signale auf einer oder mehreren Signalleitungen handelt, um die einzelnen Bauteile ihrer Funktion entsprechend ansteuern zu können. Das gilt insbesondere im Hinblick auf die ALU, der mitzuteilen ist, welche Funktion jeweils ausgeführt werden soll. Einzelheiten über den Aufbau der Treffersteuerung T-ST sind aus FIG 3 entnehmbar, die im linken oberen Teil die Anzeigensteuerung ANZ-ST zeigt Diese Anzeigensteuerung ermittelt in an sich bekannter Weise aus den Signalen SIG der ALU die benötigten Anzeigen, z.B. die Anzeigen OV für den Überlauf, Z für das Ergebnis 0 und VZ für das Vorzeichen des jeweiligen Verknüpfungsergebnisses. Aus diesen Anzeigen werden in der Einrichtung T-SIG die den einzelnen Assoziationsrelationen entsprechenden Treffersignale gebildet, von denen mit dem Auswahl schalter MUX-TA das jeweils zutreffende Treffersignal ausgewählt und als Trefferanzeige TA weitergeleitet wird. Zwei weitere Eingänge des Auswahl schalters MUX-TA sind in Auswirkung der Erfindung mit den Trefferausgängen der jeweils benachbarten beiden Verknüpfungseinheiten ALV(n#l) und ALV (n+1) verbunden. In gleicher Weise ist der Ausgang des Auswahlschalters MUX-TA für die Trefferanzeige TA mit den entsprechenden Anschlüssen der benachbarten Verknüpfungseinrichtungen verbunden. Diese Art der Treffer übernahme zur Aufrechterhaltung der Trefferkettung bei der Überprüfung von geketteten Datenteilfolgen ist jedoch nur zweckmässig, wenn das Suchargument maximal nur zwei gekettete Datenteilfolgen erfasst, seine Länge gegenüber der der Datenteilfolgen also begrenzt ist. Bei Suchargumenten, deren Länge die einer Datenteilfolge übersteigt und die daher mehr als zwei aufeinanderfolgende Datenteilfolgen erfassen können, ist es dagegen zweckmässiger, die Trefferkettung bei Erreichen des Endes der Datenteilfolgen in die die assoziative Oberfläche ASS-FL (FIG 1) überwachende Trefferauswertesteuerung T-AUSW zu verlagern, was später noch anhand von FIG 5 näher erläutert wird. Die ermittelte und ausgewählte Trefferanzeige TA wird nun nicht unmittelbar als Treffer T weitergeleitet, sondern sie wird gegebenenfalls abhängig von dem jeweiligen Anwendungsfall entsprechenden Randbedingungen modifiziert. Zu diesem Zweck ist ein aus den UND-Gliedern U1 bis U4 und den ODER-Gliedern 0i und 02 bestehendes Verknüpfungsnetzwerk vorgesehen, das Setz- und Rücksetzbefehle S bzw. R für eine nachgeschaltete bistabile Kippstufe PH-FF liefert. Im vorliegenden Falle ist entsprechend der Arbeitsbreite der Verknüpfungseinheit je Bitstelle eine Kippstufe vorgesehen, insgesamt also die Kippstufen PH-FFO bis PH-FF7, von denen jeweils eine über den vorgeschalteten Auswahl schalter DEMUX-K angesteuert wird. Mit diesen Kippstufen können so in einfacher Weise bei der Überprüfung von Datenfolgen mit einem aus mehreren Zeichen bestehenden Argument entsprechende Teiltreffer gekettet und daraus bei erfüllter Kettungsbedingung ein Globaltreffer abgeleitet werden, wobei darüber hinaus eine Kettung solcher Globaltreffer von unterteilten Datenfolgen möglich ist. Um in der Art der Modifikation und bezüglich der auszuführenden Kettungsfunktion möglichst frei zu sein, können die Trefferkippstufen PH-FF... durch das Verknüpfungsnetzwerk V-N sowohl unbedingt als auch bedingt gesetzt und oder zurückgesetzt werden, was durch die Steuersignale S und R für die unbedingte Einstellung und durch die Steuersignale Sb und Rb für die bedingte, d.h. für die von der jeweiligen Trefferanzeige TA abhängige Einstellung ermöglicht wird, die wie die übrigen Signale CMD von der übergeordneten Steuerung geliefert werden. So kann z.B. zu einem bestimmten Zeitpunkt im Rahmen einer Suchprozedur ein ausgewähltes Kettungsflipflop, z.B. PH-FFO, zunächst unbedingt oder in Verbindung mit einem Treffer bedingt gesetzt und anschliessend die Trefferkettung wirksam geschaltet werden, indem durch Umschalten auf ein bedingtes Rücksetzen mit dem Steuersignal Rb das Kettungsflipflop solange gesetzt bleibt, bis die Kettungsfolge durch das Ausbleiben eines Treffers unterbrochen wird. Auf diese Weise kann ein einmal zurückgesetztes Kettungsflipflop durch einen nachfolgenden Treffer nicht wieder gesetzt werden. Selbstverständlich könnte die Blockade gegen ein erneutes Setzen des Kettungsflipflops auch in der gleichen Weise wie bei der durch die bereits genannte US-PS 4.257.110 bekannten Anordnung erzielt werden. Die von den Kettungskippstufen PH-FFO bis PH-FF7 zur Verfügung gestellten Treffersignale sind durch einen nachgeschalteten Auswahl schalter MUX-H wiederum einzeln auswählbar und können verschieden gewertet werden, indem z.B. ein Treffer als# Nichttreffer oder aber als ein solcher gewertet wird. Die damit verbundene Invertierungs- funktion übernimmt das Inverterglied I. Auch kann unabhängig von dem tatsächlich erzeugten Treffersignal ein fest vorgegebenes Signal "O" oder tal1" als Treffer gewertet werden. Die entsprechende Auswahl und Festlegung trifft letztendlich der Auswahl schalter MUX-T abhängig von wirksamen Steuersignalen CMD, der das endgültige Treffersignal T liefert, das in an sich bekannter Weise der die Treffersignale der assoziativen Oberfläche überwachenden Trefferauswertesteuerung T-AUSW in FIG 1 zugeleitet wird. Von dem Treffersignal T kann intern auch die Übernahme des jeweiligen ALU-Ergebnisses oder der Einstellung der Kettungsflipflops PH-FFO bis PH-FF7 in das Ergebnisregister C-REG abhängig von der Einstellung des Auswahlschalters MUX2 (FIG 2) abhängig gemacht werden, was in FIG 3 durch die Pfeile TÜ für den iibernahmetakt und C-REG für die Kippstufeneinstellung angedeutet ist. Die bei der Durchführung von Assoziationsrelationen mit Hilfe der einzelnen Treffersteuerungen T-ST gewonnenen Treffersignale TO bis T63 der assoziativen Oberfläche ASS-FL (FIG 1) werden in an sich bekannter Weise einer Trefferauswertung T-AUSW zugeführt, von dieser ausgewertet und das gewonnene Ergebnis der üb-ergeordneten Steuerung HAS-ST zugeleitet, die davon abhängig die Arbeitsfolge des Hybrid-Assoziativspeichers steuert. Die Trefferauswertung T-AUSW kann dabei entsprechend FIG 5 der DE-OS 32 16 905 oder in Anlehnung an FIG 2 der DE-PS 30 09 329 ausgebildet sein. Die übergeordnete Steuerung HAS-ST, die insbesondere wie bei der zuvor genannten DE-OS 32 16 905 (FI: 3) als Mikroprozessor ausgebildet sein kann, steuert in an sich bekannter Weise den gesamten Arbeitsablauf des Hybrid-Assoziativspeichers anhand der von aussen zugeführten Befehle zur Durchführung vorgegebener Aufgaben, die dann vom Hybrid-Assoziativspeicher autonom ausgeführt werden. Eine dieser möglichen Aufgaben besteht in einem Aufsuchen von Daten anhand eines vorgegebenen Suchargumentes aus den im Basisspeicher abgespeicherten Datenfolgen, was nachfolgend anhand von FIG 4 und FIG 6 näher erläutert werden soll. Das Suchargument ARG möge - wie FIG 4 zeigt - aus mehreren Zeichen, z.B. A bis L, zusammengesetzt sein und im Parameterspeicher PAR-SP gespeichert vorliegen. In diesem Falle ist jeweils auf Gleichheit zwischen dem jeweils gültigen Suchargumentzeichen und den aus dem Basisspeicher bereitgestellten Datenzeichen zu prüfen, was durch einen der Funktion "B-A" entsprechenden Steuerbefehl CMD der ALU (FIG 2) allen Verknüpfungseinheiten ALVO bis ALV63 der assoziativen Oberfläche ASS-FL (FIG 1) mitgeteilt wird. Bevor jedoch der Suchvorgang gestartet werden kann, sind wenigstens die Startadressen für den Basisspeicher B-SP und den Parameterspeicher PAR-SP bereitzustellen. Anhand dieser Startadressen werden die beiden Speicher zu Beginn des Suchvorganges angesteuert und die jeweils ersten Zeichen der Parameter und die der gleichzeitig zu prüfenden Datenfolgen in die Register der einzelnen Verknüpfungseinheiten ALVO bis ALV63 geladen. Dann wird der bereitges-tellte Assoziationsbefehl ausgeführt und von der Trefferauswertung T-AUSW überprüft, ob für eine der Datenfolgen wenigstens ein Treffer T... vorliegt. Ist dies nicht der Fall, dann beginnt der Suchvorgang von neuem, und zwar mit dem jeweils ersten Zeichen der Parameter PAR, aber mit einer um einen Zeichenschritt gegenüber der ursprünglichen Startadresse veränderten Folgestartadresse für den Basisspeicher. FIG 4 zeigt eine schematische Darstellung der Zuordnung für beispielsweise aus jeweils 256 Zeichen bestehenden Datenteilfolgen, von denen aber nur zwei, nämlich die Da tenteilfolgen DFO und DF1, dargestellt sind. Das Suchargument ARG besteht aus der Zeichenfolge A bis L, die in der gezeigten Weise auf die beiden Datenfolgen DFO und DF1 verteilt in der zu überprüfenden Datenmenge enthalten und aufzusuchen ist. Mit dem Beginn des Suchvorganges wird das erste Zeichen A des Suchargumentes ARG als Suchbitmuster SBM allen Verknüpfungseinheiten der assoziativen Oberfläche zur Verfügung gestellt, ¯und es werden die ersten Zeichen der Datenfolgen gleichzeitig überprüft. Im vorliegend angenommenen Fall ist das Ergebnis negativ, und der Suchvorgang wird erneut gestartet, indem bei unverändertem Suchbitmuster entsprechend dem ersten Zeichen A des Suchargumentes ARG nun die zweiten Zeichen der Datenfolgen überprüft werden usw., bis beim 252.Zeichen der Datenfolgen ein Treffer erzielt wird. Demzufolge wird die Trefferkettung wirksam geschaltet, was mit einem Pfeil T-KET angedeutet ist, und anschliessend mit jedem in Folge zu über prüfenden Zeichen der Datenfolgen das Suchbitmuster SBM entsprechend dem' vorgegebenen Suchargument ARG in Folge geändert#. Sollte im Rahmen der weiteren Prüfung mal eine Treffermeldung für alle Datenfolgen ausbleiben, dann müsste der Suchvorgang erneut begonnen werden. Im vorliegenden Fall bricht die Trefferkettung jedoch nicht ab. Allerdings wird mit dem letzten Zeichen E der Datenfolge DFO das Ende der Datenteilfolgen erreicht, was z.B. durch das Erreichen des Speicherendes oder der vorgegebenen #End- adresse für den zu überprüfenden Speicherbereich im Basisspeicher B-SP erkannt wird. Damit wird - wie durch den Pfeil T-UM angedeutet ist - die Trefferkettung umgeschaltet und mit der ursprünglichen Startadresse für den Basisspeicher bei fortlaufender Zeichenfolge des Suchargumentes ARG der Suchvorgang fortgesetzt. Die Trefferkettung für die Datenfolge DFO wird damit entsprechend dem Datenkettungspfeil zwischen dem ersten Zeichen F der Datenfolge DF1 und dem letzten Zeichen E der Datenfolge DFO auf die erste Datensäule umgeschaltet. Um letzteres zu verdeutlichen, ist im oberen Teil von FIG 4 ein Teil der einzelnen Treffersteuerungen T-ST in Anlehnung an FIG 3 wiedergegeben und die Verknüpfung für die Überleitung der Trefferanzeigen TA auf die Ket tunossteuerung der jeweils benachbarten Verknüpfungseinrichtung ALV angedeutet, so dass z.B. nach der Umschaltung die Trefferanzeige TAl zum Treffersignal TO führt, als würde die Suche in der ersten Datensäule für die Datenteilfolge DFO fortgesetzt. Eine andere Möglichkeit der Trefferkettung bei Erreichen des Endes der zu überprüfenden Datenteilfolgen ist in FIG 5 dargestellt, wonach die Trefferkettung in die die assoziative Oberfläche ASS-FL überwachende Trefferauswertesteuerung T-AUSW verlagert ist. Jeder Trefferleitung TO bis T63 der assoziativen Oberfläche ist dazu eine bistabile Kippstufe zugeordnet, die ähnlich den Trefferkippstufen PH-FF in FIG 3 über ein Verknüpfungsnetzwerk TV-N angesteuert werden und bedingt oder unbedingt abhängig von Signalen S/RBED gesetzt werden können. Diese Kippstufen bilden zusammen ein zyklisches Schieberegi ster#T-SREG, so dass durch Verschieben mit dem Schiebetakt K-CL um jeweils einen Schritt bei Erreichen des Endes der Datenteilfolgen im Rahmen eines Suchvorganges die in einer Kippstufe geketteten Treffer auch mit den nachfolgenden Treffern der zyklisch nachfolgenden Datenteilfolge gekettet werden können, ohne dass eine Umschaltung innerhalb der einzelnen Verknüpfungseinrichtungen ALV mit den entsprechenden Querverbindungen erforderlich ist. Dabei können ohne weiteres mehrere Datenteilfolgen von einem Suchargument erfasst werden. Um am Ende eines dabei erfolgreich abgeschlossenen Suchvorganges den Speicheranfang für die gefundenen Daten leichter finden zu können, wird die Anzahl der Verschiebungen durch einen Zeiger KZ gezählt und gegebenenfalls in Form einer Adresse K-AD bereitgestellt. Erreicht die Trefferkettung schliesslich das Ende des Suchargumentes ARG, dann bedeutet das den erfolgreichen Abschluss des eingeleiteten Suchvorganges, was durch den Pfeil END angedeutet ist. Im Flussdiagramm von FIG 6 wird daher immer die rechte Rücksprungschleife durchlaufen, wenn für keine der überprüften Datenfolgen ein Treffer gemeldet wird, was jeweils zum erneuten Start des Suchvorganges mit Beginn des Suchargumentes ARG bei einem verschobenen neuen Startpunkt für die Datenfolgen führt, als würde das erste Zeichen des Suchargumentes ARG Schritt für Schritt an den Datenfolgen DF... entlang verschoben. Erst wenn aufgrund eine Treffermeldung der Startpunkt fixiert ist, wird das- Suchargument Zeichen für Zeichen aufgeweitet, bis die Trefferkettung entweder abbricht, oder aber das Ende des Suchargumentes erreicht wird. Dieses Aufweiten des Suchargumentes wird durch die zweite Rücksprungschleife von links in FIG 6 sichergestellt. Sollte dabei das Ende der geketteten Datenfolgen erreicht werden, dann tritt stattdessen die erste Rücksprungschleife von links in Funktion.

Claims: Patentansprüche 1. Verfahren zum Aufsuchen von einem vorgegebenen Such argument entsprechenden Daten aus einer aus gleich grossen kleinsten Einheiten als Prüfeinheiten, z.B. Zeichen oder Byte von acht Bit, in beliebiger Kombination zusammengesetzten Datenfolge in einem Hybrid-Assoziativspeicher, deren Einheiten nacheinander einer assoziativen Verknüpfungseinheit zusammen mit den für die Prüfung jeweils be nötigten Parametern, z.B. Suchargumenteinheit, Maske, Steueroperand, zugeführt werden, wobei die bei der Prüfung der einzelnen Einheiten der Datenfolge erzeugten Treffersignale miteinander gekettet werden und der Erfolg oder Diisserfolg des jeweils eingeleiteten Suchvorganges von dem am Ende des Suchvorganges angezeigten resultierenden Treffersignal abgeleitet wird, d a d u r c h gekennzeichnet, - dass zu Beginn eines jeden Suchvorganges vom vorgegebe nen Startschritt der Datenfolge ausgehend die einzelnen Zeichen der Datenfolge zunachst nacheinander mit dem ersten Zeichen des Suchargumentes überprüft werden, bis ein Treffer erkannt wird, - dass erst nach dieser Treffererkennung die Trefferkettung wirksam geschaltet wird und alle nachfolgenden Zeichen der Datenfolge mit dem jeweils zugehörigen fortlaufen den Zeichen des Suchargumentes überprüft werden, bis entweder alle Zeichen des Suchargumentes abgearbeitet sind oder aber ein Treffersignal ausbleibt, - dass beim Ausbleiben eines Treffersignales nach Wirksam schalten der Trefferkettung der jeweils laufende Such vorgang augenblicklich abgebrochen und ein neuer Such vorgang mit um -ein Zeichen gegenüber dem bisherigen Startschritt verschobenen Startschritt eingeleitet wird und - - dass das Wechselspiel zwischen Einleiten eines Suchvor ganaes und fortlaufender Prüfung mit Trefferkettunq notfalls solange wiederholt wird, bis die gesamte Da tenfolge mit jeweils verschobenem Suchargument über prüft ist. 2. Verfahren nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t , dass bei jeweils gleichzeitiger Überprüfung von getrennten Datenfolqen oder Datenteilfolgen einer einzigen Datenfolge anhand jeweils derselben Parameter der jeweils einqeleitete Suchvorgang erst dann abqebrochen wird, wenn nach der Wirksamschaltung der Trefferkettung für keine oder gleichzeitig überprüften Datenfolgen oder Datenteilfolqen ein Treffer angezeigt wird. 3. Verfahren nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t , dass bei miteinander geketteten Datenteilfolqen jeweils mit Erreichen des Endes der Datenteilfolgen bei über das Ende der Datenteilfolqen hinausgehendem Sucharqument die Prüfung in zyklischer Folge mit den Anfängen der Datenteilfolgen fortgesetzt wird und dass die jeweils bis zum Ende einer Datenteilfolge gewonnenen Treffer mit den nachfolqenden Treffern für die zyklisch nachfolqende Datenteilfolge gekettet werden. 4. Anordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 3, g e k e n n z e i c h n e t - durch einen Hybrid-Assoziativspeicher, bestehend aus wenigstens einer Verknüpfungseinheit (ALV) als assozia tive Oberfläche (ASS-FL), einem normalen Zugriffsspei cher als Basisspeicher (B-SP) und eine Ablaufsteuerung (HAS-ST) zur Durchführung der Suchprozedur und zur Be reitstellung der jeweils benötigten Parameter (PAR) und Steuersignale (CMD) einheitlich für alle Verknüpfungs einheiten (ALV) und - durch eine innerhalb jeder Verknüpfungseinheit (ALV) vorgesehene Anordnung (T-ST) zur Trefferkettung, die durch die Ablaufsteuerung (HAS-ST) laufend überwacht und durch diese abhängig vom jeweiligen Ergebnis des laufenden Suchvorganges beeinflusst wird. 5. Anordnung nach Anspruch 4 zur Durchführung des Verfahrens nach Anspruch 2, g e k e n n z e i c h n e t durch eine mit den Verknüpfungseinheiten (ALV...) der assoziativen Oberfläche (ASS-FL) gekoppelte gemeinsame Trefferauswertesteuerung (T-AUSW) zur Überwachung der von den individuellen Anordnungen (T-ST) zur Trefferkettung gelieferten Treffersignale (T) und zur Beeinflussung der Ablaufsteuerung (HAS-ST) abhängig von diesen Treffersignalen. 6. Anordnung nach Anspruch 5 zur Durchführung des Verfahrens nach Anspruch 3, g e k e n n z e i c h n e t durch eine Umschalteeinrichtung (MUX-TA) für die Anordnung (T-ST) zur Trefferkettung innerhalb der einzelnen Verknüpfungseinrichtungen (ALV) der assoziativen Oberfläche (ASS-FL) zur Übernahme von Treffersignalen (T-ALV (n+1) > der Anordnung (T-ST) zur Trefferkettung benachbarter Verknüpfungseinrichtungen (ALV(n 1) bzw. ALV ) abhängig von einem gemeinsamen Steuersignal (CMD) der Ablaufsteuerung (HAS-ST) zwecks Kettung der Prüfergebnisse von geketteten Datenteilfolgen am Ende der Datenteilfolgen. 7. Anordnung nach einem der Ansprüche 4 bis 6, d a d u r c h g e k e n n z e i c h n e t , dass die Anordnung (T-ST) zur Trefferkettung innerhalb jeder Verknüpfungseinheit (ALV)jeweils wenigstens eine bistabile Kippstufe (z.B. PH-FFO) aufweist, die durch ein erstes Steuersignal (S) der Ablaufsteuerung (HAS-ST) zu Beginn eines Suchvorganges unbedingt oder in Verbindung mit einem Treffer bedingt gesetzt und anschliessend die Trefferkettung wirksam geschaltet wird, indem durch ein nachfolgendes zweites Steuersignal (Rb) der Ablaufsteuerung zusammen mit dem Ausbleiben einer Trefferanzeige (TA) die Kippstufe (z.B. PH-FFO) bedingt zurückgesetzt wird und in diesem Zustand bis zur Beendigung eines laufenden Suchvorganges verbleibt. 8. Anordnung nach Anspruch 5 zur Durchführung des Verfahrens nach Anspruch 3 bzw. nach Anspruch 6 oder 7, d a d u r c h g e k e n n z e i c h n e t , dass in der Trefferauswertesteuerung (T-AUSW) je Verknüpfungseinheit (ALV) wenigstens eine Kippstufe zur Trefferkettung vorgesehen ist und dass diese Kippstufen ein Schieberegister (T-SREG) bilden, dessen Inhalt bei Übergang von einer geketteten Datenteilfolge auf die nachfolgende zur Aufrechterhaltung der Trefferkettung zyklisch um einen Schritt in der entsprechenden Richtung verschoben wird, und dass eine Speichereinrichtung zum Festhalten der Anzahl der insgesamt vorgenommenen Verschiebeschritte für die Ermittlung des Speicheranfangs für die am Schluss eines Suchvorganges aufgefundenen Daten vorgesehen ist. 9. Anordnung nach einem der Ansprüche 5 bis 8, g e k e n n z e i c h n e t durch einen Hybrid-Assoziativspeicher, dessen Basisspeicher (B-SP) in einer oder mehreren Speichergruppen (z.B. MDO) zeilenweise einzeln adressierbare Dateneinheiten jeweils vertikal aufeinanderfolgend gespeichert enthält, wobei die Dateneinheiten jeweils in Zeichen entsprechende Subeinheiten unterteilt sind und jeder Subeinheitspalte eine Verknüpfungseinheit (ALV) der assoziativen Oberfläche (ASS-FL) zugeordnet ist und wobei jeweils innerhalb einer Speichergruppe (z.B. MDO) durch jeweils versetzte Einordnung der Subeinheiten mehrerer Dateneinheiten gemäss einem vorgegebenen Einordnungsschema in Verbindung mit intern gesteuerten Adressenumordnern für die Zeilenadressen und Datenumordnern für die Subeinheiten der betroffenen Dateneinheiten entweder alle Subeinheiten je einer Dateneinheit aus jeder Speicherqruppe (z.B. MDO) oder aber die einander korrespondierenden Subeinheiten einer entsprechenden Anzahl von Dateneinheiten als jeweils eine Dateneinheit aus jeder Speichergruppe zur assoziativen Oberfläche (ASS-FL) durchschaltbar sind. 10. Anordnung nach Anspruch 9, d a d u r c h g e k e n n z e i c h n e t , dass die Parameter jeweils derselben Art als Subeinheiten in Parameter-Dateneinheiten zusammengefasst extern bereitgestellt werden, dass die Speicher für die Parameter als einheitlicher Speicher (PAR-SP) in gleicher Weise wie der Basisspeicher (B-SP) organisiert sind und entsprechende Adressenumordner und Datenumordner die richtiqe Zuordnung der jeweils benötigten unterschiedlichen Parametersubeinheiten zu den aus dem Basisspeicher (B-SP) zur Verfügung gestellten Datensubeinheiten sicherstellen, wobei die jeweils bereitgestellten Parametersubeinheiten einheitlich auf alle Verknüpfungseinheiten (ALV...) der assoziativen Oberfläche (ASS-FL) einwirken.

Inventors: WOLF, GERHARD, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT BERLIN UND MUNCHEN
Application year: 1984
Main classification: G06F15
IPC codes: G06F17, G06F7, G06F12