DE3216905A1 - Associative subprocessor in a bus-oriented data processing system - Google Patents

Associative subprocessor in a bus-oriented data processing system

Info

Publication number
DE3216905A1
DE3216905A1 DE19823216905 DE3216905A DE3216905A1 DE 3216905 A1 DE3216905 A1 DE 3216905A1 DE 19823216905 DE19823216905 DE 19823216905 DE 3216905 A DE3216905 A DE 3216905A DE 3216905 A1 DE3216905 A1 DE 3216905A1
Authority
DE
Germany
Prior art keywords
associative
memory
subprocessor
data
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19823216905
Other languages
German (de)
Other versions
DE3216905C2 (en
Inventor
Alfred Dipl.-Ing. 8011 Landsham Schraufstetter
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE3216905A priority Critical patent/DE3216905C2/en
Publication of DE3216905A1 publication Critical patent/DE3216905A1/en
Application granted granted Critical
Publication of DE3216905C2 publication Critical patent/DE3216905C2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

(No abstract supplied)

Description

Assoziativer rubprozessor in einer busorientierten Associative rubprocessor in a bus-oriented

Datenverarbeitungsanlage Die Erfindung betrifft einen assoziativen Subprozessor in einer busorientierten Datenverarbeitungsanlage nach dem Oberbegriff des Patentanspruchs 1. Data processing system The invention relates to an associative one Subprocessor in a bus-oriented data processing system according to the generic term of claim 1.

Datenverarbeitungsanlagen werden zunehmend modular aufgebaut, um unterschiedlichen Erfordernissen gerecht zu werden. Dabei erfolgt der Datenaustausch zwischen den einzelnen Komponenten über kollektive Datenwege, dem Bus-System der Datenverarbeitungsanlage. Dies gilt besonders für Mikrorechner, bei denen die einzelnen Funktionsträger, wie Zentralprozessor, Festspeicher, Arbeitsspeicher und Ein-/Ausgabe-Einheiten modular in Form integrierter Halbleiterbausteine mit einer an das Bus-System angepaßten Schnittstelle zur Verfügung stehen. So kann eine Datenverarbeitungsanlage (DVA) in einfacher Weise zur Lösung einer Aufgabenstellung mit spezifischen Funktionsträgern ausgestattet werden, etwa mit Steuereinheiten für Hintergrundspeicher, mit Ein-/Ausgabe-Prozessoren oder Numerik-Prozessoren.Data processing systems are increasingly being built in a modular manner to accommodate different To meet requirements. The data exchange takes place between the individual components via collective data paths, the bus system of the data processing system. This is especially true for microcomputers in which the individual functionaries, such as Central processor, permanent memory, main memory and input / output units modular in the form of integrated semiconductor components with one adapted to the bus system Interface are available. A data processing system (DVA) can in a simple way to solve a problem with specific functionaries be equipped, for example with control units for background memory, with input / output processors or numeric processors.

Bislang gibt es jedoch für derartige Anlagen noch keine Einheiten, die Daten ausschließlich inhaltsorientiert (assoziativ) und somit ohne notwendige Kenntnis und Angabe von Ortsadressen speichern und verarbeiten, damit auf diese Weise auch Datenmengen im strengen mathematischen Sinn ohne den Umweg über eine programmgesteuerte Koordinaten-Adressierung in einer DVA Verarbeitungsprozessen unterzogen werden können.So far, however, there are no units for such systems the data is exclusively content-oriented (associative) and therefore without any necessary Store and process knowledge and indication of location addresses so that they can be accessed Way also amounts of data in the strict mathematical sense without the detour via a Program-controlled addressing of coordinates in a DVA processing can be subjected to.

Der bekannte assoziative Paral Ulprozessor STARAN von Goodyear Aerospace Corporation besitzt neben einem Prozeßrechner als Steuerungsrechner ein oder mehrere sogenannte assoziative Speicher-Felder, (Foster, C.C.: Content addressable parallel processors. - London : Van Nostrand, 1976, (Computer Science Series) - Seiten 169 bis 189; und Batcher, K.E.: STARAN parallel processor system hardware. In: National Comput. Conf. - Chicago 1974. - AFIPS Conf. Proc., Vol. 43, Montvale AFIPS Press, 1974, Seiten 405 bis 410). Ein derartiges Speicher-Feld besteht im wesentlichen aus einem gewöhnlichen koordinatenadressierten Speicher-Modul mit wahl freiem Zugriff (RAM) und einer quadratischen Organisation von 256 Worten zu je 256 Bits, einem Permutationsnetzwerk, genannt Flip-Net FN, sowie einem Verarbeitungswerk mit 256 Verarbeitungselementen (Fig. 1).The well-known associative paral ulprocessor STARAN from Goodyear Aerospace Corporation owns a process computer as a control computer a or several so-called associative memory fields, (Foster, C.C .: Content addressable parallel processors. - London: Van Nostrand, 1976, (Computer Science Series) - Pages 169 to 189; and Batcher, K.E .: STARAN parallel processor system hardware. In: National Comput. Conf. - Chicago 1974. - AFIPS Conf. Proc., Vol. 43, Montvale AFIPS Press, 1974, pages 405-410). One such memory field is essentially from a common coordinate-addressed memory module with choice free access (RAM) and a square organization of 256 words of 256 each Bits, a permutation network, called Flip-Net FN, and a processing unit with 256 processing elements (Fig. 1).

Die Anordnung des RAM-Speicher-Moduls zusammen mit dem Permutationsnetzwerk in der Form, wie sie in der US-PS 3 800 289 beschrieben wird, ermöglicht einen sogenannten mehrdimensionalen Speicherzugriff, so daß sowohl ein Wort mit 256 Bits oder eine Bitscheibe, also ein bestimmtes Bit aller 256 Worte oder eine beliebige Kombination aus beiden Zugriffsarten eingeschrieben, ausgelesen oder dem Verarbeitungswerk zugeführt werden können (Fig. 2).The arrangement of the RAM memory module together with the permutation network in the form as described in US Pat. No. 3,800,289 enables a so-called multi-dimensional memory access, so that both a word with 256 bits or a Bit slice, i.e. a specific bit of all 256 words or any combination written in, read out or fed to the processing unit from both types of access can be (Fig. 2).

Der wesentliche Vorteil eines derartigen Systems liegt in der Vielfalt des mehrdimensionalen Speicherzugriffs, so daß durch Angabe einer bestimmten Adresse und der Zugriffsart beliebige Datenmuster im Umfang von 256 Bits aus dem konventionellen RAM-Speicher ausgelesen werden können. Ein rein inhaltsbezogener Datenzugriff ist nicht möglich; vielmehr müssen Vergleichsoperationen bitseriell außerhalb des Speichers durch geeignete Programme durchgeführt werden.The main advantage of such a system is its diversity of the multi-dimensional memory access, so that by specifying a specific address and the type of access any data pattern of 256 bits from the conventional one RAM memory can be read out. A purely content-related data access is not possible; rather, comparison operations must be performed bit-serially outside of the memory be carried out by suitable programs.

Eine weitere Anordnung (US-PS 4 144 564) verwendet ebenfalls einen konventionellen RAM-Speicher zur Durchführung assoziativer Suchvorgänge.Another arrangement (U.S. Patent 4,144,564) also uses one conventional RAM memory for performing associative searches.

Dabei ist einem größeren Feld von Speicherzellen ein Datenkomparator zugeordnet, der sein Vergleichsergebnis einem zentralen Prozessor zuführt.A data comparator is used for a larger array of memory cells assigned, which feeds its comparison result to a central processor.

Andererse-ts sind bereits Assoziativspeicher-Bausteine in integrierter Form bekannt (3104 - 16 bit content addressable memory. / Datenblatt.On the other hand, associative memory blocks are already integrated in Form known (3104 - 16 bit content addressable memory. / Data sheet.

In: Component Data Catalog - INTEL Corporation : Santa Clara, 1978, Seiten 3.149 bis 3.152). Dabei ist jede Speicherzelle mit einer zusätzlichen Vergleichslogik ausgestattet ist, die den Inhalt der Speicherzelle mit einem Vergleichssubjekt außerhalb des Speichers unter Berücksichtigung einer Maske auf Identität überprüft. Das Vergleichsergebnis wird auf einer für jede Speicherzelle individuellen Trefferleitung nach außen gemeldet. Ober eine ebenfalls für jede Speicherzelle individuelle Wortleitung können die bei einem vorangegangenen Vergleichsprozeß ermittelten Treffer einzeln selektiert, der Reihe nach ausgelesen, einem Prozessor zur Verarbeitung zugeführt und falls notwendig wieder eingeschrieben werden. Dazu ist aber außerhalb des Speicherbausteins noch eine umfangreiche und aufwendige Logik notwendig.In: Component Data Catalog - INTEL Corporation: Santa Clara, 1978, Pages 3.149 to 3.152). Each memory cell has an additional comparison logic is equipped with the contents of the memory cell with a comparison subject outside of the memory is checked for identity, taking into account a mask. The comparison result is reported to the outside world on an individual hit line for each memory cell. The at a previous comparison process individually selected hits that Read out one after the other, fed to a processor for processing and if necessary to be re-enrolled. But there is still this outside of the memory module an extensive and complex logic is necessary.

Nachteilig an einem derartigen Assoziativspeicher-Baustein ist die linear mit der Bitkapazität steigende Zahl von Außenanschlüssen, wodurch die Integration auf wenige Bits pro Halbleiter-Chip begrenzt ist.The disadvantage of such an associative memory module is that The number of external connections increases linearly with the bit capacity, thereby increasing integration is limited to a few bits per semiconductor chip.

Eine Codierung der Trefferinformation sowie der Wortaktivierung könnte zwar die Zahl der Außenanschlüsse reduzieren, jedoch zwingt eine Mehrfachtreffer-Situation zu absolut sequentieller Bearbeitung, so daß der Gewinn einer parallelen Speicherabfrage nicht verwertet werden kann. Im übrigen erfordert das Verschalten mehrerer derartiger Module zur Kapazitatsvergrößerung einen hohen Aufwand an externer Logik, so daß keine einfache Kaskadierung möglich ist etwa derart, wie sie von konventionellen RAM-Speicherbausteinen her bekannt Ist.A coding of the hit information as well as the word activation could reduce the number of external connections, however, it creates a multiple hit situation to absolutely sequential processing, so that the gain of a parallel memory query cannot be recycled. In addition, the interconnection of several of these requires Modules to increase the capacity require a lot of external logic, so that no simple cascading is possible like that of conventional ones RAM memory modules is known.

Die Aufgabe der Erfindung besteht darin, für eine busorientierte konventionelle Datenverarbeitungsanlage einen assoziativen Subprozessor zu schaffen, der eine von der Assoziativspeicherkapazität unabhängige Zahl von Außenanschlüssen besitzt und Daten ausschließlich inhaltsbezogen speichern und verarbeiten kann.The object of the invention is for a bus-oriented conventional Data processing system to create an associative subprocessor, one of the associative memory capacity has an independent number of external connections and Can only store and process data in relation to its content.

Diese Aufgabe wird von einem assoziativen Subprozessor der vorausgesetzten Gattung gelöst, der nacn der Erfindung gemäß den Kennzeichen des Patentanspruchs 1 ausgebildet ist.This task is assumed by an associative subprocessor Genus solved, the nacn of the invention according to the characteristics of the claim 1 is formed.

Mit dem erfindungsgemäßen assoziativen Subprozessor nach Patentanspruch 1 wird erreicht, daß busorientierte konventionelle Datenverarbeitungsanlagen, insbesondere Mikrorechner, modular mit einem Assoziativspeicher von brauchbarer Kapazität ausgestattet werden können. Die Oberwindung der örtlichen Trennung von Speicherfunktion und Verarbeitungswerk beseitigt die Nachteile bekannter Einrichtungen. Daten werden durch die simultane Oberprüfung hinsichtlich einer beliebigen Assoziationsrelation parallel aufgefunden und können auch parallel vor Ort verarbeitet werden, ohne daß sie seriell einem entfernten Verarbeitungswerk zugeführt werden müssen.With the associative subprocessor according to the invention according to claim 1 it is achieved that bus-oriented conventional data processing systems, in particular Microcomputer, modularly equipped with an associative memory of usable capacity can be. Overcoming the local separation of storage function and processing plant eliminates the disadvantages of known devices. Data is processed by the simultaneous Checking with regard to any association relation found in parallel and can also be processed in parallel on site without having to serialize a must be supplied to a remote processing plant.

So entsteht eine DVA zur Selektion und Verarbeitung von Datenmengen ausschließlich auf einer tnhaltsbezogenen Grundlage und damit im echten mathematischen Sinn.This creates a DVA for the selection and processing of data volumes exclusively on a content-related basis and thus in real mathematical terms Sense.

Die Verteilung von Prozessorfunktionen auf die einzelnen Assoziativspeicherzellen zusätzlich zu den dortigen Vergleichseinrichtungen macht eine Ortsadressierung überflüssig, so daß selbst bei einem Datentransfer innerhalb der DVA zum oder vom assoziativen Subprozessor der Anwender dieser DVA von jeglicher Adreßrechnung oder Listenführung befreit wird.The distribution of processor functions to the individual associative memory cells In addition to the comparison facilities there, location addressing is superfluous, so that even with a data transfer within the DVA to or from the associative Subprocessor the user of this DVA of any address calculation or list management is released.

Die Zusammenfassung von Speicherfunktion und Verarbeitungsfunktion in einer Einheit, deren Gesamtablauf durch ein zentrales Steuerwerk koordiniert wird, reduziert die Außenanschlüsse auf eine Zahl ~die unabhangig ist von der Speicherkapazität, so daß der erfindungsgemäße assoziative Subprozessor integriert und in einem für Halbleiterbausteine üblichen Gehäuse untergebracht werden kann.The summary of memory function and processing function in one unit, the entire process of which is coordinated by a central control unit reduces the external connections to a number - which is independent of the storage capacity, so that the inventive associative subprocessor integrated and in a for Semiconductor components usual housing can be accommodated.

Bei Bedarf kann die Kapazität des verfügbaren Assoziativspeichers vergrößert werden, indem mehrere der erfindungsgemäßen assoziativen Subprozessoren im Verbund arbeiten. Dabei wird keine zusätzliche externe Logik benötigt, weil das zentrale Steuerwerk eines jeden assoziativen Subprozessors selbst zur Gesamtkoordination der Prozeßabläufe im Verbund beitragen kann. Dabei ist die Zahl der Verbindungsleitungen zwischen den einzelnen Subprozessoren unabhängig von der Verbundgröße.If necessary, the capacity of the available associative memory can be increased by using several of the inventive associative subprocessors work in a network. No additional external logic is required because the central control unit of each associative subprocessor itself for overall coordination which can contribute to the process flows in the network. Where is the number of connecting lines between the individual subprocessors regardless of the size of the network.

Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.Further developments of the invention are characterized in the subclaims.

Wird das Operationswerk jeder Assoziativspeicherzelle gemäß Patentanspruch 2 so ausgebildet, daß das Ergebnis eines vorangangenen Assoziationsvorgangs direkt die Durchführung einer Verknüpfungsoperation freigibt oder eine von mehreren alternativ auswählt, so ist die simultane Verarbeitung aller aten einer zuvor selektierten Datenmenge ohne zusätzliche Einrichtungen sichergestellt. Wird darüberhinaus eine Eingriffsmöglichkeit in diesen Freigabeprozeß vorgesehen, so kann jegliche Verknüpfungsoperation in den Assoziativspeicherzellen verhindert oder aber zum Beispiel auch auf einen einzigen Repräsentanten einer selektierten Datenmenge beschränkt werden. Damit leistet der assoziative Subprozessor auch all diejenigen Datenverarbeitungs- und Speicherungsprozesse, die mit bisher bekannnten Assoziativspeichern oder mit wahlfrei adressierbaren Speichern (RAM-Speichern) durchführbar sind.Becomes the operational unit of each associative memory cell according to claim 2 designed so that the result of a previous association process directly enables the execution of a link operation or alternatively one of several is selected, the simultaneous processing of all data is a previously selected Amount of data ensured without additional facilities. Will also be a The possibility of intervention in this release process is provided, so any linking operation prevented in the associative memory cells or, for example, on one only representatives of a selected amount of data can be restricted. So that the associative subprocessor also includes all those data processing and storage processes those with previously known associative memories or with optionally addressable memories (RAM storage) are feasible.

Eine Ausweitung der möglichen Assoziationsrelationen über Identitäts-und numerische Vergleiche hinaus auch auf Shnlichkeitsvergleiche gemäß Patentanspruch 3 ist besonders hilfreich gerade bei der Datenverarbeitung im Rahmen von Mustererkennungsprozessen, weil damit komplizierte programmgesteuerte Abläufe erheblich vereinfacht werden können.An expansion of the possible association relationships via identity and Numerical comparisons also include similarity comparisons according to the patent claim 3 is particularly helpful when processing data in the context of pattern recognition processes, because it simplifies complex program-controlled processes considerably can.

Die freie Begrenzungsmöglichkelt sämtlicher Operationen in den Assoziativspeicherzellen auf beliebige Bereiche in der Datenbreite gemäß Patentanspruch 4 erlaubt einem Anwender eine vollkommen freie Strukturierung der zu bearbeitenden Datenworte in Felder, wobei ein Bitmuster in einem Feld genau einem Datenattribut entspricht, so daß alle Operationen im assoziativen Subprozessor, gleichgültig ob selektiv oder verknüpfend, auf beliebige Datenattribute begrenzt oder ausgedehnt werden können.The free limitation of all operations in the associative memory cells a user is allowed to use any areas in the data width according to claim 4 a completely free structuring of the data words to be processed in fields, whereby a bit pattern in a field corresponds to exactly one data attribute, so that all Operations in the associative subprocessor, regardless of whether they are selective or linking, can be limited or expanded to any data attributes.

Eine technische Realisierung dieser Begrenzung durch den Einsatz 3-wertiger Logik gemäß Patentanspruch 5 reduziert dabei die Zahl notwendiger Signal leitungen, weil so neben den binären Werten 0 und 1 auch die Irrelevant einer Binärstelle auf derselben Leitung signalisiert werden kann.A technical realization of this limitation through the use of 3-valued Logic according to claim 5 reduces the number of necessary signal lines, because in addition to the binary values 0 and 1, there is also the irrelevance of a binary digit the same line can be signaled.

Die Übertragung von Daten oder Instruktionen von oder zu einem assoziativen Subprozessor über Pufferspeicher nach dem FIRST-IN-FIRST-OUT-Prinzip gemäß Patentanspruch 6 bringt den Vorteil, daß aufwendige, programmgesteuerte Synchronisierungsmaßnahmen entfallen und dennoch assoziativer Subprozessor und Zentralprozessor der DVA asynchron zueinander arbeiten können. Ein jederzeit abfragbares Status-Register beschreibt darüberhinaus den gesamten Zustand des assoziativen Subprozessors.The transfer of data or instructions from or to an associative Subprocessor via buffer memory according to the FIRST-IN-FIRST-OUT principle according to patent claim 6 has the advantage that complex, program-controlled synchronization measures omitted and still associative subprocessor and central processor of the DVA asynchronous can work with each other. Describes a status register that can be queried at any time in addition, the entire state of the associative subprocessor.

Ein Master-Slave-Konzept gemäß Patentanspruch 7 ermöglicht den Betrieb mehrerer verbundener Subprozessoren am gleichen Bus, wobei es aus der Sicht des Wirtsrechners der Datenverarbeitungsanlage unerheblich ist, aus wievielen Komponenten der angeschlossene Verbund besteht. Aus diesem Konzept erwächst der weitere große Vorteil, daß nur Bausteine einer Art produziert werden müssen, so daß damit eine wichtige Voraussetzung für eine kostengünstige Fertigung erfüllt ist.A master-slave concept according to claim 7 enables the operation several connected subprocessors on the same bus, whereby it is from the point of view of the Host computer of the data processing system is irrelevant from how many components the connected network exists. From this concept grows another big one Advantage that only building blocks of one type have to be produced, so that one important prerequisite for cost-effective production is met.

Eine erhebliche Aufwandsreduzierung ist gemäß Patentanspruch 8 auch dadurch erreichbar, daß die normalerweise im Assoziativspeicher abgelegten Datenworte sich zunächst in einem seriellen oder zyklischen Speichermedium befinden und dann nacheinander in einen kleinen, im Grenzfall nur aus einer erfindungsgemäßen Assoziativspeicherzelle bestehenden Assoziativspeicher transportiert und den dortigen Operationen unterzogen werden.A considerable reduction in effort is also possible according to claim 8 achievable in that the data words normally stored in the associative memory are initially in a serial or cyclic storage medium and then one after the other into a small, in the borderline case only from one associative memory cell according to the invention existing associative memory transported and subjected to the operations there will.

Durch das Zählen und Bewerten von Treffern gemäß. Patentanspruch 9 nach der Oberprüfung einer Assoziationsrelation kann der Anwender Information über die Mächtigkeit selektierter Teilmengen erhalten und sie als wesentliche Grundlage für die Strategie nachfolgender Verarbeitungsprozesse in der DVA benutzen.By counting and scoring hits according to. Claim 9 after checking an association relation, the user can obtain information about preserve the thickness of selected subsets and use them as an essential basis for the strategy of subsequent processing in the DVA.

Die Strukturierung von Assoziativspeicherzellen in ihrer Datenbreite gemäß Patentanspruch 10 kann dahingehend genutzt werden, daß gewisse Teilbereiche dem Zugriff eines Anwenders entzogen und ausschließlich privilegiert für subprozessorinterne Maßnahmen reserviert werden. So können etwa ohne Anwenderaktivitäten freie und belegte Zellen verwaltet oder defekte Zellen zum Beispiel schon bei der Herstellung oder auch im Laufe des Betriebs markiert und damit unzugänglich gemacht werden.The structuring of associative memory cells in terms of their data width according to claim 10 can be used to the effect that certain sub-areas Removed from the access of a user and exclusively privileged for subprocessor-internal Measures are reserved. Free and busy, for example, can be used without user activity Managed cells or defective cells, for example, already during manufacture or can also be marked in the course of operation and thus made inaccessible.

Desweiteren ermöglichen derartige privilegierte Teilbereiche, daß Makroinstruktionen des Anwenders im assoziativen Subprozessor durch den Ablauf von mikroprogrammgesteuerten Elementaroperationen in den Assoziativspeicherzellen (selektiver und verknüpfender Art) ausgeführt werden können, wobei die beim Ablauf der Elementaroperation auftretenden Zwtschenergebnisse beim Selektieren oder Verknüpfen in diesen privilegierten Teilbereichen zwischengespeichert werden. Damit erwächst der Vorteil, daß auch nt einfachen Operationswerken in den Assoziativspeicherzellen komplexe Assoziationsrelationen überprüfbar und umfangreiche Verknüpfungsoperationen durchführbar werden.Furthermore, such privileged sub-areas enable Macro instructions of the user in the associative subprocessor by running microprogram-controlled elementary operations in the associative memory cells (more selective and linking type) can be executed, with the execution of the elementary operation Occurring intermediate results when selecting or linking in these privileged Subareas are cached. This has the advantage that nt simple operations in the associative memory cells complex association relations verifiable and extensive linking operations can be carried out.

Anhand der Ausführungsbeispiele und der beigefügten Figurenzeichnungen wird der erfindungsgemäße assoziative Subprozessor erläutert.On the basis of the exemplary embodiments and the attached figure drawings the associative subprocessor according to the invention is explained.

Es zeigt: Figur 1 die Organisation eines assoziativen Speicher-Feldes beim STARAN-Rechner, Figur 2 die Möglichkeit eines mehrdimenisionalen Speicherzugriffs auf ein assoziatives Speicher-Feld beim STARAN-Rechner, Figur 3 ein Blockschaltbild des erfindungsgemäßen assoziativen Subprozessors, Figur 4 ein Blockschaltbild des Operationswerks innerhalb einer assoziativen Speicherzelle, bestehend aus Assoziationswerk und Verarbeitungswerk Figur 5 eine Schaltung zum Zählen und Bewerten von Treffern.It shows: FIG. 1 the organization of an associative memory field with the STARAN computer, Figure 2, the possibility of multi-dimensional memory access to an associative memory field in the STARAN computer, FIG. 3 is a block diagram of the associative subprocessor according to the invention, Figure 4 is a block diagram of the Operations unit within an associative storage cell, consisting of an association unit and processing unit FIG. 5 shows a circuit for counting and evaluating hits.

Figur 6 den Aufbau eines Verarbeitungswerks für eine Begrenzung von Verknüpfungsoperationen auf markierte Bereiche der Datenbreite Figur 7 einen linearen Verbund erfindungsgemäßer assoziativer Subprozessoren zur Kapazitätsvergrößerung, Figur 8 die Ausführungsform einer Assoziativspeicherzelle für maskkierbare Identitätsprüfung als Assoziationsrelation und lesende und schreibende Verknüptungsoperationenmitmitder Möglichkeit, ein ermitteltes Treffersignal in eine markierte Bitspalte zu kopieren.Figure 6 shows the structure of a processing unit for a limitation of Linking operations on marked areas of the data width Figure 7 is a linear Association of associative subprocessors according to the invention to increase capacity, FIG. 8 shows the embodiment of an associative memory cell for maskable identity checking as an association relation and reading and writing linking operations with the Possibility of copying a determined hit signal into a marked bit column.

Zur Darstellung der Realisierung der Erfindung wird auf Figur 3 verwiesen.Reference is made to FIG. 3 to illustrate the implementation of the invention.

Ober einen System-Bus (10) steht der erfindungsgemäße assoziative Subprozessor (20) mit anderen Komponenten einer konventionellen Datenverarbeitungsanlage, insbesondere mit dem Zentralprozessor (CPU) etwa eines Mikrocomputers in Verbindung und empfängt von dort Instruktionen.The associative according to the invention is located above a system bus (10) Subprocessor (20) with other components of a conventional data processing system, in particular with the central processor (CPU) such as a microcomputer in connection and receives instructions from there.

Eine derart übertragene Instruktion gelangt über ein Ein-/Ausgabemodul (400) in ein Instruktionsregister (210) und steht dort dem zentralen Steuerwerk (200) zur Verfügung. Die Entschlüsselung einer Instruktion und die Erzeugung aller zu ihrer Ausführung notwendigen Aktivierungssignale erfolgt vorteilhaft mit einer Mikroprogrammsteuerung (220). Eine übertragene Instruktion kann z.B. eine Ein- oder Ausgabe von Daten über den System-Bus (10), einen Transfer oder eine Verknüpfung von Registerinhalten im Register-Modul (300) oder einen Zugriff auf den Assoziativspeicher (100) zur Folge haben.An instruction transmitted in this way arrives via an input / output module (400) in an instruction register (210) and is available there to the central control unit (200) available. The decryption of one instruction and the generation of all Activation signals necessary for their execution are advantageously carried out with a Microprogram control (220). A transmitted instruction can e.g. be an input or Output of data via the system bus (10), a transfer or a link of register contents in the register module (300) or an access to the associative memory (100) result.

Der Assoziativspeicher (100) ist die wichtigste Komponente des assoziativen Subprozessors. Er besteht aus einer Menge gleichartiger Assoziativspeicherzellen (110), deren zentrale Aufgabe wie bei einem konventionellen Speicher darin besteht, in einem Speicher-Register (101) ein binäres Informationsmuster zu speichern und dieses zu späteren Zeitpunkten für andere Aktivitäten zur Verfügung zu stellen. Unterschiedlich ist aber die Art und Weise, wie Speicherzellen selektiert werden.The associative memory (100) is the most important component of the associative Subprocessors. It consists of a set of similar associative memory cells (110), whose central task, like a conventional storage system, is to to store a binary information pattern in a memory register (101) and to make this available for other activities at a later point in time. However, the way in which memory cells are selected is different.

Während bei einem konventionellen Speicher der physikalische Speicherort, die Adresse, zur Selektion von Speicherzellen herangezogen wird, erfolgt beim vorgeschlagenen assoziativen Subprozessor die Selektion von Zellen im Assoziativspeicher (100) ausschließlich inhaltsbezogen durch einen sogenannten Assoziationsvorgang entsprechend der übertragenen Instruktion.While with conventional storage the physical storage location, the address that is used to select memory cells takes place in the case of the proposed one associative subprocessor the selection of cells in the associative memory (100) exclusively content-related through a so-called association process corresponding to the transmitted Instruction.

Dazu wird in jeder Speicherzelle (110) des Assoziativspeichers (100) der Inhalt des Speicherregisters (101) mit Hilfe eines Operationswerks (105) dahingehend überprüft, ob es mit einem Assoziationssubjekt aus dem Register-Modul (300) hinsichtlich eines bestimmten und für alle Assoziativspeicherzellen gleichen Kriteriums, der Assoziationsrelation, übereinstimmt. Die Auswahl des Kriteriums aus dem Funktionsspektrum des Operationswerks (105) sowie die Bereitstellung eines für alle Assoziativspeicherzellen gleichen (kollektiven) Assoziationssubjekts über eine unidirektionale Datenschiene (310) besorgt das zentrale Steuerwerk (200) entsprechend der Instruktion im Instruktionsregister (210) mit Hilfe der Mikroprogrammsteueruog (220).For this purpose, in each memory cell (110) of the associative memory (100) the content of the storage register (101) with the aid of an operation unit (105) to this effect checks whether it is made with an associative subject the register module (300) are the same with regard to a specific and for all associative memory cells Criterion, the association relation. The selection of the criterion from the range of functions of the operating unit (105) and the provision of a the same (collective) association subject for all associative memory cells a unidirectional data rail (310) is provided by the central control unit (200) accordingly the instruction in the instruction register (210) with the help of the microprogram control (220).

Die Oberprüfung der Assoziationsrelation in allen Operationswerken (105) des Assoziativspeichers (100) führt zu einer Selektion der Assoziativspeicherzellen (110) in wenigstens zwei Teilmengen: diejenigen, bei denen die Datenworte im Speicherregister (101) das überprüfte Kriterium, die Assoziationsrelation, erfüllen (Treffer) und diejenigen, die es nicht erfüllen (Nicht-Treffer). Komplexere Assoziationsrelationen können auch zu einer feineren Mengenzerlegung führen, wie etwa ein Vergleich auf "größer, kleiner oder gleich".The examination of the association relation in all operational works (105) of the associative memory (100) leads to a selection of the associative memory cells (110) in at least two subsets: those in which the data words are in the memory register (101) meet the checked criterion, the association relation (hit) and those who don't meet (non-hits). More complex association relations can also lead to a finer breakdown of quantities, such as a comparison to "greater, less or equal to".

Das Ergebnis eines Assoziationsvorgangs ist somit eine Klassenbildung auf der Menge der im Assoziativspeicher (100) gespeicherten Daten mit dem Ziel, alle Daten einer Klasse einer bestimmten, gleichen Verknüpfungsoperation zu unterwerfen. Dazu wählt das zentrale Steuerwerk (200) aufgrund der Instruktion im Instruktionsregister (210) eine Verknüpfungsoperation aus dem Funktionsspektrum des Operationswerks (105) aus und stellt über eine bidirektionale Datenschiene (320) kollektiv für alle Assoziativspeicherzellen (110) die benötigten Operanden aus dem Register-Modul (300) zur Verfügung. Im Operationswerk (105) einer jeden Assoziativspeicherzelle (110) wird dann individuell aufgrund des vorangegangenen Assoziationsvorgangs entschieden, ob (im Fall eines Treffers) die vom zentralen Steuerwerk (200) ausgewähite Yerknüpfungsoperation auszuführen ist oder ob (im Fall eines Nicht-Treffers) eine alternativ ausgewählte bzw. im einfachsten Fall keine Verknüpfung (NOP = no operation) durchgeführt wird. In jedem Fall ist sichergestellt, daß, koordiniert durch das zentrale Steuerwerk (200), Mengen von Daten i#m Assoziativspeicher (100) selektiert und alle Datenelemente einer Teilmenge gleichartig operativ verknüpft werden.The result of an association process is thus a class formation on the amount of data stored in the associative memory (100) with the aim of to subject all data of a class to a specific, identical linkage operation. To this end, the central control unit (200) selects on the basis of the instruction in the instruction register (210) a linking operation from the range of functions of the operation unit (105) and provides collectively for all associative memory cells via a bidirectional data rail (320) (110) the required operands from the register module (300) are available. In the operations plant (105) of each associative memory cell (110) is then individually based on the previous association process decided whether (in the event of a hit) the The linking operation selected by the central control unit (200) is to be carried out or whether (in the case of a non-hit) an alternative selected or in the simplest If no link (NOP = no operation) is carried out. In any case it is ensures that, coordinated by the central control unit (200), quantities of Data in the associative memory (100) selected and all data elements of a subset be operatively linked in the same way.

Nach Figur 4 besteht das Operationswerk (105) einer jeden Assoziativspeicherzelle (110) aus einem Assoziationswerk (A) und einem Verarbeitungswerk (V). Dem Assoziationswerk (A) wird der Inhalt des Speicherregisters (101) und über die Datenschiene (310) das Assoziationssubjekt zugeführt. Signale des zentralen Steuerwerks (200) wählen die zu überprüfende Assoziationsrelation f(A) aus. Das Assoziationswerk (A) liefert als Ergebnis ein Treffersignal Ti, das angibt, ob die zu überprüfende Datenbeziehung zwischen dem Inhalt des Speicherregisters (101) und dem externen Assoziationssubjekt erfüllt ist oder nicht. Dieses Treffersignal steuert über die UND-Sperre (106) direkt die Freigabe einer durch Signale des zentralen Steuerwerks (200) ausgewählten Verknüpfungsoperation f(V) im Verarbeitungswerk (V), solange das zentrale Steuerwerk (200) nicht über eine Inhibit-Leitung Ij (107) eine Verknüpfungsoperation im Verarbeitungswerk (V) dieser Assoziativspeicherzelle (110) verhindert.According to FIG. 4, there is the operational unit (105) of each associative memory cell (110) from an association plant (A) and a processing plant (V). The association work (A) the contents of the memory register (101) and via the data rail (310) the association subject supplied. Select signals from the central control unit (200) the association relation f (A) to be checked. The association work (A) delivers as a result, a hit signal Ti, which indicates whether the data relationship to be checked between the content of the storage register (101) and the external association subject is fulfilled or not. This hit signal controls the AND lock (106) directly the release of a logic operation selected by signals from the central control unit (200) f (V) in the processing plant (V), as long as the central control unit (200) does not have an inhibit line Ij (107) a logic operation in the processing unit (V) this associative memory cell (110) prevented.

Dem Verarbeitungswerk (V) werden ebenfalls der Inhalt des Speicherregisters (101) und über die externe Datenschiene (320) die notwendigen Verknüpfungsoperanden zugeführt. Signale des zentralen Steuerwerks (200) wählen die Verknüpfungsoperation f(V) aus. Ober eine Datenwegesteuerung (109) kann das zentrale Steuerwerk (200) in Abhängigkeit vom Inhalt des Instruktionsregisters (210) einen verknüpfenden Datentransfer zurück in das Speicherregister (101) einer Assoziativspeicherzelle (110) bzw. aus dem Speicherregister (101) ermöglichen.The processing unit (V) also receives the content of the storage register (101) and the necessary link operands via the external data rail (320) fed. Signals from the central control unit (200) select the logic operation f (V) off. The central control unit (200) can use a data path control (109) a linking data transfer depending on the content of the instruction register (210) back into the memory register (101) of an associative memory cell (110) or out enable the storage register (101).

Das zentrale Steuerwerk (200) kann über sämtliche Inhibit-Leitungen 1 (107) die Verarbeitungswerke (V) aller Assoziativspeicherzellen (110) derart beeinflussen kann, daß beim Auftreten von Mehrfachtreffern die Verknüpfungsoperation nur im Operationswerk (105) einer einzigen Assoziativspeicherzelle (110) freigegeben wird. Dazu wird das Treffersignal eines jeden Assoziationswerks (A) über eine Trefferleitung Tj (108) einem Prioritätsschaltnetz (230) im zentralen Steuerwerk (200) zugeführt, das genau einen Treffer, zum Beispiel den ersten, ausblendet.The central control unit (200) can use all inhibit lines 1 (107) influence the processing units (V) of all associative memory cells (110) in this way can that when multiple hits occur, the link operation only in the operation unit (105) of a single associative memory cell (110) is released. This will be the Hit signal from each association plant (A) via a hit line Tj (108) a priority switching network (230) in the central control unit (200), which exactly hides a hit, for example the first one.

Verlangt eine Instruktion im Instruktionsregister (210) eine Einzeltreffer-Verarbeitung, so generiert die Mikroprogrammsteuerung (220) mit Hilfe dieses Prioritätsschaltnetzes (230) geeignete Signale auf den Inhibit-Leitungen Ij (107) zur Unterdrückung der Verknüpfungsoperation bei allen Treffern, außer dem ersten.If an instruction in the instruction register (210) requires single hit processing, so the microprogram control (220) also generates Help this Priority switching network (230) suitable signals on the inhibit lines Ij (107) to suppress the link operation on all hits except the first one.

Das zentrale Steuerwerk (200) ist auch mit einem Trefferzähler (240) ausgestattet. Damit kann das zentrale Steuerwerk (200) über das Ein-/Ausgabemodul (400) und den System-Bus (10) jederzeit dem zentralen Prozessor der Datenvererbeitungsanlage die genaue Zahl der Treffer eines vorangegangenen Assoziationsvorgangs mitteilen oder für jede Trefferkombination anzeigen, ob es keinen Treffer, genau einen oder mehr als einen Treffer gegeben hat. Dabei hat eine Trefferzählung nach Figur 5 den Vorteil, daß auch bei einem großen Assoziativspeicher (100) im Gegensatz zu anderen bekannten Entwürfen eine schnelle Zählung mit besonders geringem Aufwand an Schaltkreisen möglich ist.The central control unit (200) is also equipped with a hit counter (240) fitted. The central control unit (200) can thus use the input / output module (400) and the system bus (10) at any time to the central processor of the data processing system Report the exact number of hits from a previous association process or show for each hit combination whether there is no hit, exactly one or has given more than one hit. A hit count according to FIG. 5 has the Advantage that even with a large associative memory (100) in contrast to others known designs a fast counting with particularly little circuitry is possible.

Die Signale auf den Trefferleitungen T; (108) werden zunächst parallel in ein Schieberegister (241) übernommen. Nach jeweils m Bits des Schieberegisters wird dessen Ausgang Sm auf den Eingang eines sequentiellen Dual zählers Zj (242) gegeben, der mit dem gleichen Takt wie das Schieberegister (241) betrieben wird. Bereits nach m Taktimpulsen steht die Trefferzahl in Form von Teilergebnissen in den Dualzählern Zj (242), wobei schon jeweils m Treffersignale auf nur ld(m) Ausgangssignale komprimiert sind. Nachfolgend werden diese Teilergebnisse durch einen parallel (ungetaktet) arbeitenden Zähler (243) zum Gesamtergebnis vereinigt. Ein derartiger paralleler Zähler kann in bekannter Weise etwa auf der Basis von mehrstufig verschalteten Volladdierern realisiert werden. Dem Register für die Trefferzahl (244) ist ein Komparator (245) nachgeschaltet, der diese Trefferzahl bewertet, so daß neben der genauen Trefferzahl N auch bekannt ist, ob N gleich Null, gleich Eins oder größer als Eins ist.The signals on the hit lines T; (108) are initially parallel transferred to a shift register (241). After every m bits of the shift register its output Sm is connected to the input of a sequential dual counter Zj (242) given, which is operated with the same clock rate as the shift register (241). After just m clock pulses, the number of hits is in the form of partial results in the dual counters Zj (242), with m hit signals to only ld (m) output signals are compressed. In the following, these partial results are represented by a parallel (non-clocked) working counter (243) combined to the overall result. One such parallel Counters can be used in a known manner, for example on the basis of multi-stage interconnected full adders will be realized. The register for the number of hits (244) is a comparator (245) downstream, which evaluates this number of hits, so that in addition to the exact number of hits N also knows whether N is equal to zero, equal to one, or greater than one.

Für Identitäts- und numerische Vergleiche wird im Assoziationswerk (A) einer Assoziativspeicherzelle (110) ein Komparator in bekannter Ausführungsform eingesetzt. Ähnlichkeitsprüfungen können auf verschiedenen Ebenen, zum Beispiel auch auf £~ebene erfolgen. Sie setzen eine Metrik voraus, damit im Assoziationswerk (A) zunächst ein Abstandsmaß zwischen dem von außen zugeführten Assoziationssubjekt und dem im Speicherregister (101) gespeicherten Datenwort bestimmt werden kann. Dieser so ermittelte Shnlichkeitsabstand wird dann ebenfalls im Assoziationswerk (A) mit einer im Registermodul (300) gespeicherten und über die Datenschiene (310) zugeführten oberen oder unteren Abweichungsschranke verglichen, was letztlich zu einem Treffersignal Tj führt.For identity and numerical comparisons, see the association work (A) an associative memory cell (110) a comparator in a known embodiment used. Similarity tests can be done at different levels, for example also take place at the £ ~ level. They assume a metric, so in the association (A) First, a distance between that fed in from the outside Association subject and the data word stored in the memory register (101) can be. This similarity distance determined in this way is then also used in the association work (A) with a stored in the register module (300) and via the data rail (310) applied upper or lower limit of deviation compared, which ultimately leads to leads to a hit signal Tj.

Vorteilhaft kann dabei als Ahnlichkeitsmaß die bekannte Hamming-Distanz zugrundegelegt werden. Eine bitweise Antivalenzüberprüfung im Assoziationswerk (A) zwischen dem Assoziationssubjekt und dem im Speicherregister (101) befindlichen Datenwort mit anschließender Zählung der Abweichungen liefert in einfacher Weise ein Abstandsmaß auf Bitebene.The known Hamming distance can advantageously be used as a measure of similarity be taken as a basis. A bit-by-bit non-equivalence check in the association work (A) between the association subject and the one in the storage register (101) Data word with subsequent counting of the deviations supplies in a simple manner a bit-level distance measure.

Sowohl die Oberprüfung einer Assoziationsrelation im Assoziationswerk (A) durch eine Maske als auch die Durchführung einer Verknüpfungsopera tion im Verarbeitungswerk (V) können durch eine Markierung frei auf Bereiche des Speicherregisters (101) in der Datenbreite begrenzt werden.Both the review of an association relation in the association work (A) by a mask as well as the implementation of a link operation in the processing plant (V) can be freely accessed by marking areas of the memory register (101) in the data width can be limited.

Die für begrenzte selektive und verknüpfende Operationen notwendigen Masken- bzw. Markierungsinformationen sind im Registermodul (300) gespeichert und werden den einzelnen Assoziativspeicherzellen (110) kollektiv über die Datenschienen (310) bzw. (320) zugeführt.The ones necessary for limited selective and linking operations Mask or marking information is stored in the register module (300) and the individual associative memory cells (110) collectively via the data rails (310) or (320) supplied.

Die Berücksichtigung einer Maskierung im Assoziationswerk (A) läßt sich leicht und vorteilhaft dadurch erreichen, daß vor einem Identitäts-, numerischen oder Shnlichkeitsvergleich maskierte Datenfelder sowohl beim Assoziationssubjekt als auch beim Datenwort aus dem Speicherregister (101) mit Hilfe einer einfachen Inhibit-Verknüpfung auf Obereinstimmung gebracht werden, so daß diese Felder einen nachfolgenden Vergleich keinesfalls mehr beeinflussen.The consideration of a masking in the association work (A) leaves can be reached easily and advantageously by putting in front of an identity, numerical or similarity comparison masked data fields in both the association subject as well as for the data word from the memory register (101) with the help of a simple Inhibit links are matched so that these fields are a Do not influence the following comparison under any circumstances.

Die Beschränkung von Verknüpfungsoperationen im Verarbeitungswerk (V) einer Assoziativspeicherzelle (110) auf beliebige Bereiche in der Datenbreite des Speicherregisters (101) mit Hilfe einer Markierung erfordert weiterreichende Maßnahmen im Vergleich zur maskierten Überprüfung von Assoziationsrelationen, weil nicht markierte Bereiche des Datenwortes aus dem Speicherregister (101) nach jedweder Verknüpfungsoperation weiterhin unverändert bleiben müssen.The restriction of link operations in the processing plant (V) an associative memory cell (110) to any areas in the data width of the memory register (101) with the help of a marking requires further reaching Measures compared to the masked verification of association relations because unmarked areas of the data word from the memory register (101) after any Link operation must remain unchanged.

Ein Verarbeitungswerk (V), das letztere Forderung erfüllt, ist in Figur 6 dargestellt. Die eigentlichen Verknüpfungsoperationen führt dabei eine arithmetisch-logische Einheit ALU (120) in bekannter Ausführungsform durch. Dabei werden die Eingangsoperanden X und Y in voller Datenbreite zum Ergebnis Z verknüpft; die Auswahl der Verknüpfungsoperation f(V) geschieht, wie bereits dargestellt, durch Signale des zentralen Steuerwerks (20n). Damit bei dieser Verknüpfung aus nichtmarkierten Bereichen keine, das Ergebnis verfälschenden Oberträge in markierte Bereiche gelangen, sind der ALU (120) zwei, von der Markierungsinformation gesteuerte UND-Sperren (121,122) vorgeschaltet, wodurch bei den Eingangsoperanden X und Y der ALU (120) nichtmarkierte Bereiche identisch mit dem binären Wert 0 belegt sind.A processing plant (V) that fulfills the latter requirement is in Figure 6 shown. The actual linking operations are carried out by an arithmetic-logical one Unit ALU (120) in a known embodiment. The input operands X and Y linked in full data width to result Z; the selection of the link operation As already shown, f (V) occurs through signals from the central control unit (20n). So with this link from unmarked areas none, the result falsifying surpluses get into marked areas, the ALU (120) are two, AND locks (121, 122) controlled by the marking information are connected upstream, as a result of which unmarked areas are identical for the input operands X and Y of the ALU (120) are assigned the binary value 0.

Damit am Ausgang des Verarbeitungswerks (V) nicht markierte Bereiche des Speicherregisters (101) unverändert wieder zur Verfügung stehen, ist dem Verarbeitungswerk (V) der ALU (120) noch ein Bitselektor (130) nachgeschaltet, bestehend aus den UND-Sperren (131) und (132) sowie der ODER-Vereinigung (133). Damit wird sichergestellt, daß in markierten Bereichen der Datenbreite das Verknüpfungsergebnis Z von der ALU (120) über die UND-Sperre (131) und in nichtmarkierten Bereichen unverändert die Daten des Speicherregisters (101) über die UND-Sperre (132) zur ODER-Vereinigung (133) und damit an den Ausgang des Verarbeitungswerks (V) gelangen.Areas not marked at the exit of the processing plant (V) of the memory register (101) are available again unchanged, is the processing unit (V) the ALU (120) is followed by a bit selector (130), consisting of the AND blocks (131) and (132) as well as the OR union (133). This ensures that the link result Z from the ALU (120) in marked areas of the data width the data remains unchanged via the AND lock (131) and in unmarked areas of the storage register (101) via the AND lock (132) to the OR combination (133) and thus reach the output of the processing plant (V).

Vorteilhaft erweist sich die Zuführung der Masken- und Markierungsinformation auf den Datenschienen (310) und (320) in einer 3-wertigen Logik, weil die Zahl der Signalleitungen halbiert werden kann, wenn auf einer Leitung neben den binären Werten 0 und 1 des Assoziationssubjekts bzw. der Verknüpfungsoperanden mit einem dritten Signalpegel auch die Irrelevanz einer Binarstelle und damit die Masken- bzw. Markierungsinformation beschrieben wird. Eine Konvertierung dieser drei Signalpegel in binäre Werte in den Operationswerken (105) einer jeden Assoziativspeicherzelle (110) ermöglicht wieder den Einsatz der bereits dargestellten Werke (A) und (V).The supply of the mask and marking information has proven to be advantageous on the data rails (310) and (320) in a 3-value logic, because the number of Signal lines can be halved when on one line next to the binary values 0 and 1 of the association subject or the link operands with a third Signal level also the irrelevance of a binary digit and thus the mask or marking information is described. A conversion of these three signal levels into binary values in the operation engines (105) of each associative memory cell (110) again the use of the works (A) and (V) already shown.

Die Maskierungs- und Markierungsmöglichkeiten können so weit ausgedehnt werden, daß bestimmte Bereiche in der Datenbreite des Speicherregisters (101) vollkommen für privilegierte Aktionen des zentralen Steuerwerks (200) reserviert sind. Dadurch werden vorteilhaft beliebige Assoziativspeicherzellen (110) in diesem reservierten Bereich als frei, belegt oder schreibgeschützt gekennzeichnet. Ebenso können defekte Assoziativspeicherzellen (110) in einer besonderen Bitposition dieses Bereiches so gekennzeichnet werden, daß sie bei keinem weiteren Assoziationsvorgang mehr als Treffer auftreten und somit ein Assoziativspeicher (100) weiterhin, wenn auch mit reduzierter Kapazität, funktionstüchtig bleibt.The masking and marking options can be expanded to that extent that certain areas in the data width of the memory register (101) are perfect are reserved for privileged actions of the central control unit (200). Through this Any associative memory cells (110) are advantageously reserved in this Area marked as free, occupied or write-protected. Defective Associative memory cells (110) in a particular bit position of this area are marked so that they are not more than in any further association process Hits occur and thus an associative memory (100) continues, albeit with reduced capacity, remains functional.

Ein derart privilegierter Bereich kann auch dahingehend genutzt werden, daß eine Instruktion im Instruktionsregister (210) die Wirkung einer Makro-Instruktion hat, die durch die Mikroprogrammsteuerung (220) im zentralen Steuerwerk (200) in eine geeignete Abfolge elementarer Assoziationsrelationen und Verknüpfungsoperationen umgesetzt wird, wobei Zwischenergebnisse auf den Trefferleitungen (108) oder überträgt in den Verarbeitungswerken (V) vom zentralen Steuerwerk (200) in diesem privilegierten Bereich zwischengespeichert werden. Der Funktionsumfang eines dem Speicherregister (101) zugeordneten Operationswerks (105) ist so in weiten Grenzen variierbar und kann damit dem jeweiligen technischen Stand der Integrationsmöglichkeit oder auch vorgegebenen Kostenbedingungen angepaßt werden.Such a privileged area can also be used to that an instruction in the instruction register (210) has the effect of a macro instruction has, which by the microprogram control (220) in the central control unit (200) in a suitable sequence of elementary association relations and linking operations is implemented, intermediate results being transmitted on the hit lines (108) or in the processing plants (V) from the central control unit (200) in this privileged Area to be cached. The functionality of a memory register (101) associated operating unit (105) can thus be varied within wide limits and can with it the respective technical state of the integration possibility or also given cost conditions can be adjusted.

So zeigt Figur 8 eine Ausführungsform einer ganz einfachen Assoziativspeicherzelle (110), die als einzige Assoziationsrelation eine maskierbare Identitätsprüfung durchführen kann. Das Verarbeitungswerk (V) realisiert eine Lesefunktion, eine markierbare Schreibfunktion und das Kopieren eines Assoziationsergebnisses auf der Trefferleitung (108) in markierte Bitpositionen. Detailliert dargestellt wird dabei in Figur 8 nur eine einzige Bitposition j einer gesamten Assoziativspeicherzelle i (110), nämlich die Bitposition (j,i), desweiteren die Bildung des Trefferergebnisses Tj auf der Trefferleitung (108) sowie die in Figur 4 bereits dargestellte Beeinflussung der Freigabe von Verknüpfungen im Verarbeitungswerk (V) durch die zentrale Steuerung (200) mittels der UND-Sperre (106).Thus, FIG. 8 shows an embodiment of a very simple associative memory cell (110), which are the only association relations that carry out a maskable identity check can. The processing unit (V) realizes a read function, a markable write function and copying an association result on the hit line (108) in marked Bit positions. Only a single bit position is shown in detail in FIG j of an entire associative memory cell i (110), namely the bit position (j, i), furthermore the formation of the hit result Tj on the hit line (108) and the influencing of the release of links already shown in FIG in the processing plant (V) by the central control (200) by means of the AND lock (106).

Die Flipflops (600) aller Bitpositionen j in einer Zeile i bilden das Speicherregister (101) der Assoziativspeicherzelle i (110).The flip-flops (600) of all bit positions j in a row i form the memory register (101) of the associative memory cell i (110).

Die Leitungen L1 und L2 (Fig. 8) führen das Bit j der Maskierung bzw.The lines L1 and L2 (Fig. 8) carry the bit j of the masking resp.

des Assoziationssubjekts der rechts davon befindlichen Bitspalte zu, also dem Bit j aller Assoziativspeicherzellen (110) des Assoziativspeichers (100). Alle Leitungen (640),(641) zusammen ergeben die Datenschiene (310), die den gesamten Assoziativspeicher (100) mit Maskeninformation und Assoziationssubjekt versorgt.of the association subject to the bit column to the right of it, thus the bit j of all associative memory cells (110) of the associative memory (100). All lines (640), (641) together form the data rail (310), which covers the entire Associative memory (100) supplied with mask information and association subject.

Die Leitungen L3 und L4 in Figur 8 führen der links davon befindlichen Bitspalte j aller Assoziativspeicherzellen (110) in geeigneter, noch näher zu erläuternder Kodierung das Bit j einer Markierungsinformation und eines Verknüpfungsoperanden sowie eine Auswahlvorschrift f(V) für die Art der durchzuführenden Verknüpfung im Verarbeitungswerk (V) zu.The lines L3 and L4 in Figure 8 lead to the left of it Bit column j of all associative memory cells (110) in a suitable manner, to be explained in more detail Coding the bit j of a marking information and a link operand and a selection rule f (V) for the type of link to be carried out in Processing plant (V) closed.

Die Leitung L5 dient zur Informationsübertragung bei einer Lesefunktion. Alle Leitungen (650, 651, 652) zusammen bilden die birektionale Datenschiene (320) (siehe auch Fig. 4).The line L5 is used to transmit information during a reading function. All lines (650, 651, 652) together form the bi-directional data rail (320) (see also Fig. 4).

Bei der Überprüfung der Assoziationsrelation wird mit Hilfe des Squivalenzgatters (610) die Identität geprüft und mit dem ODER-Gatter (611) eine Maskierung berücksichtigt. Aus dem Teilergebnis aller Bitzellen in einer Assoziativspeicherzelle.i wird durch die verdrahtete UND-Verknüpfung (612) das Treffersignal Ti auf der Trefferleitung (108) gebildet.When checking the association relation, the equivalence gate (610) the identity is checked and masking is taken into account with the OR gate (611). The partial result of all bit cells in an associative memory cell.i becomes through the wired AND link (612) the hit signal Ti on the hit line (108) formed.

Bei mehreren in einem Verarbeitungswerk (V) implementierten Verknüpfungsoperationen wählen Signale des zentralen Steuerwerks eine dieser Verknüpfungen f(V) aus (siehe Fig. 4). Es ist vorteilhaft, weil aufwandsreduzierend, wenn die Dekodierung dieser Auswahl aus den einzelnen Bitzellen ausgelagert wird und nur einmal außerhalb der Zellenanordnung erfolgt.In the case of several logic operations implemented in a processing unit (V) If signals from the central control unit select one of these links f (V) (see Fig. 4). It is advantageous, because it saves effort, if the decoding of this Selection from the individual bit cells is swapped out and only once outside of the Cell arrangement takes place.

In Figur 8 stellen die Verknüpfungsglieder (660,661,662,663) eine derart ausgelagerte Kodier-'ogik dar. Mit ihrer Hilfe wird es möglich, auf den Leitungen L3 und L4 einer Bit palte j nicht nur das Bit eines Verknüpfungsoperanden (0Pj ) und einer Markierung (MARKj) zu übermitteln, sondern es ist damit auch möglich, einer Bitspalte die Auswahl f(V) des zentralen Steuerwerks zuzuführen, die angibt, ob ein Schreib-Vorgang oder ein Treffersignal-Kopiervorgang in einer markierten Bitspalte erfolgen soll. Die genaue Wirkung der Kodier-Logik wird durch die Tabelle (670) in Figur 8 beschrieben.In Figure 8, the logic elements (660,661,662,663) represent a such outsourced coding logic. With their help, it is possible on the lines L3 and L4 of a bit palte j not just the bit of a logic operand (0Pj) and a marking (MARKj) to be transmitted, but it is with it also possible to add the selection f (V) of the central control unit to a bit column, which indicates whether a write process or a hit signal copy process in a marked bit column should take place. The exact effect of the coding logic is through the table (670) in FIG. 8 is described.

Durch diese Auslagerung reduziert sich der Anteil des Verarbeitungswerks (V) in einer Bitzelle auf die Verknüpfungsglieder (630,631,632) für einen markierten Schreibvorgang bzw. einen markierten Treffersignal Kopiervorgang. Gibt das zentrale Steuerwerk über die UND-Sperre (106) (Fig. 4 und 8) die Verknüpfung in einer Assoziativspeicherzelle i frei, dann werden durch die Zellen-Logik (630,631,632) die Eingänge S und R des Flipflops (600) so belegt, daß das Flipflop (600) unverändert bleibt, gesetzt oder rückgesetzt wird, abhängig von den Signalen auf den Leitungen L3 und L4 entsprechend der Tabelle (680) in Figur 8.This outsourcing reduces the proportion of the processing plant (V) in a bit cell on the logic gates (630,631,632) for a marked Write process or a marked hit signal copy process. Gives the central Control unit via the AND lock (106) (FIGS. 4 and 8) the link in an associative memory cell i free, then the cell logic (630,631,632) sets the inputs S and R of the Flip-flops (600) occupied so that the flip-flop (600) remains unchanged, set or is reset, depending on the signals on lines L3 and L4 the table (680) in Figure 8.

Ist also zum Beispiel eine Bitspalte nicht markiert, so bleiben alle Bits dieser Spalte unabhängig vom Treffer-Ergebnis auf der Leitung (108) unverändert. Ein Schreibvorgang erfolgt nur in markierten Spalten und nur in den Assoziativspeicherzellen (110), deren Assoziationswerk (A) einen Treffer ermittelt hat und dies auf der Trefferleitung (108) anzeigt.If, for example, a bit column is not marked, all of them remain Bits of this column unchanged regardless of the hit result on line (108). A write process only takes place in the marked columns and only in the associative memory cells (110), whose association work (A) has determined a hit and this on the hit line (108) indicates.

Wählt das zentrale Steuerwerk über f(V) einen Treffersignal-Kopiervorgang aus, so wird nur in markierten Bitspalten das jeweilig Treffersignal auf der Leitung (108) in das Flipflop (600) übernommen; nichtmarkierte Bitspalten bleiben unverändert.If the central control unit selects a hit signal copying process via f (V) off, the respective hit signal is only sent to the line in the marked bit columns (108) transferred to the flip-flop (600); unmarked bit columns remain unchanged.

Bei einem Lesevorgang gelangt der Inhalt des Flipflops (600) über das UND-Gatter (620) und die verdrahtete ODER-Verknüpfung (621) auf die Leseleitung L5, falls über die UND-Sperre (106) eine Freigabe erfolgt.During a read process, the content of the flip-flop (600) is transferred the AND gate (620) and the wired OR operation (621) on the read line L5, if the AND lock (106) is enabled.

Da auch mehrere Assoziativspeicherzellen (110) bei einem Assoziationsvorgang als Treffer auftreten können, erfolgt durch die ODER-Verknüpfung (621) auf der Leitung L5 ein verknüpfender Datentransfer aus allen, als Treffer selektierten Assoziativspeicherzellen (110).There also several associative memory cells (110) in an association process can occur as hits, is done by the OR link (621) on the line L5 a linking data transfer from all associative memory cells selected as hits (110).

Mehrere assoziative Subprozessoren ASP1 (20) können erfindungsgemäß entsprechend Figur 7 gemeinsam am gleichen System-Bus (10) betrieben werden, damit sich die verfügbare Assoziativspeicherkapazität summiert.Several associative subprocessors ASP1 (20) can according to the invention according to Figure 7 are operated together on the same system bus (10) so that the available associative memory capacity adds up.

Die Wirkungsweise wird anhand der Figuren 3 und 7 näher erläutert.The mode of operation is explained in more detail with reference to FIGS. 3 and 7.

Die ASPj 20) arbeiten im Verbund nach einem Master-Slave-Konzept, wobei über eine Leitung MS (40) ein beliebiger ASP zum Master-ASP und alle übrien zu Slave-##Ps deklariert werden. Die Initiative für eine Kommunikation über den System-Bus (10) mit Hilfe des Ein-/Ausgabe-Moduls (400) unter der Kontrolle einer Bus-Steuerung (260; Fig. 3) oder über Verbindungsleitungen (30) unter der Kontrolle einer Kommunikationssteuerung (250; Fig. 3) zwischen den einzelnen ASPs geht dabei grundsätzlich vom zentralen Steuerwerk (200) des Master-ASP aus.The ASPj 20) work in a network according to a master-slave concept, any ASP to the master ASP and all others via a line MS (40) to be declared as slave - ## Ps. The initiative for a communication about the System bus (10) with the help of the input / output module (400) under the control of a Bus control (260; Fig. 3) or via connecting lines (30) under the control a communication controller (250; Fig. 3) between the individual ASPs is involved basically from the central control unit (200) of the master ASP.

Ist der Verbund der ASPs (20) zur Ausführung einer Instruktion bereit, dann wird über den System-Bus (10) jedem ASP (20) über sein Ein-/Ausgabemodul (40()) die auszuführende Instruktion zugeführt. Synchronisationsprobleme bei einer Ein- oder Ausgabe aufgrund unterschiedlicher Arbeitsgeschwindigkeit der zentralen Steuerwerke (200) in den einzelnen ASPs (20) werden dadurch gelöst, daß das Ein-/Ausgabemodul (400) je einen Pufferspeicher für die Eingabe (410) und für die Ausgabe (420) enthält, die nach dem FIRST-IN-FIRST-OUT-Prinzip arbeiten (Fig. 3). Dadurch ist sichergestellt, daß in weiten Bereichen unterschiedliche Arbeitsgeschwindigkeiten keinen Datenverlust zur Folge haben können.If the network of ASPs (20) is ready to execute an instruction, then each ASP (20) is connected to its input / output module (40 ()) via the system bus (10) the instruction to be executed is supplied. Synchronization problems with an input or output due to different operating speeds of the central control units (200) in the individual ASPs (20) are achieved in that the input / output module (400) contains a buffer memory each for input (410) and for output (420), which work according to the FIRST-IN-FIRST-OUT principle (Fig. 3). This ensures that in a wide range of different working speeds no data loss may result.

Im Instruktionsregister (210) steht damit jedem zentralen Steuerwerk (200) identisch die gleiche Instruktion zur Entschlüsselung zur Verfügung. Aus der Instruktion ist ableitbar, ob der im ASP durchzuführende Prozeß unabhängig von Ergebnissen in einem anderen ASP ausgeführt werden kann oder ob ein zusätzlicher Informationsaustausch nötig ist.Each central control unit is thus in the instruction register (210) (200) identical, the same instruction is available for decryption. From the Instruction can be derived whether the process to be carried out in the ASP is independent of results can be executed in another ASP or whether an additional information exchange is necessary.

Instruktionen, die keinen zusätzlichen Informationsaustausch benötigen, müssen nur hinsichtlich der Beendigung ihrer Abarbeitung innerhalb der einzelnen ASPs überwacht werden, damit dem Verbund erst dann wieder eine neue Instruktion über den <ystem-Bus (10) zugeführt wird, wenn alle ASPs für eine neue Bearbeitung bereit sind.Instructions that do not require any additional exchange of information, only need to terminate their processing within the individual ASPs are monitored so that the network only then receives a new instruction is supplied via the <ystem bus (10) when all ASPs are ready for a new processing to be ready.

Diese Oberwachungsaufgabe übernimmt der Master-ASP mit Hilfe einer der Verbindungsleitungen (30), der BUSY-Leitung (31). Hat das zentrale Steuerwerk (200) des Master-ASP seine Instruktionsbearbeitung abgeschlossen, dann setzt die Kommunikationssteuerung (250) im zentralen Steuerwerk (200) des Master-ASP das auf der abgehenden BUSY-Leitung (31) befindliche Signal zurück.The master ASP takes on this monitoring task with the help of a the connecting lines (30), the BUSY line (31). Has the central control unit (200) of the master ASP has completed its instruction processing, then the Communication control (250) in the central control unit (200) of the master ASP on the outgoing BUSY line (31) returns the signal.

Die Kommunikationssteuerung (250) im zentralen Steuerwerk (200) eines Slave-ASP setzt ein Signal auf seiner abgehenden BUSY-Leitung (31) nur dann zurück, wenn das Signal auf der ankommenden BUSY-Leitung (31) zurückgesetzt und die Instruktionsbearbeitung in diesem Slave-ASP abgeschlossen ist. Die abgehende BUSY-Leitung (31) des letzten Slave-ASP wird zum Master-ASP zurückgeführt. Die Kommunikationssteuerung (250) im zentralen Steuerwerk (200) des Master-ASP erkennt dann am Signal der ankommenden BUSY-Leitung (31), daß der gesamte Verbund die Instruktionsbearbeitung abgeschlossen hat. Damit kann das zentrale Steuerwerk (200) des Master-ASP in einem dem Ein-/Ausgabemodul (400) zugeordneten Status-Register (430; Fig. 3) jederzeit nicht nur seinen eigenen Zustand, sondern auch den Zustand des gesamten Verbunds beschreiben. Eine Zustandsabfrage über den Systembus (10) etwa durch die CPU der DVA wird nur vom Master-ASP des Verbunds beantwortet.The communication control (250) in the central control unit (200) of one Slave-ASP only resets a signal on its outgoing BUSY line (31) if when the signal on the incoming BUSY line (31) is reset and the instruction processing is completed in this slave ASP. The outgoing BUSY line (31) of the last Slave ASP is returned to the master ASP. The communication controller (250) in The central control unit (200) of the master ASP then recognizes the incoming signal from the signal BUSY line (31) that the entire network has completed the instruction processing Has. This enables the central control unit (200) of the master ASP in one of the input / output modules (400) associated status register (430; FIG. 3) not only its own at any time State, but also describe the state of the entire network. A status query Via the system bus (10), for example through the CPU, the DVA is only received from the master ASP of the network answered.

Einem Verbund aus mehreren ASPs (20) können aber auch Instruktionen zugeführt werden, die einen zusätzlichen Informationsaustauscn zwischen den einzelnen ASPs (20) erforderlich machen. Zum Beispiel ist dies dann der Fall, wenn nach einem Assoziationsvorgang das zentrale Steuerwerk (200) aufgrund einer Instruktion mit Hilfe seines Prioritätsschaltnetzes (230) nur beim ersten auftretenden Treffer die Verknupfung im Verarbeitungswerk (V) freigeben darf. Jeder ASP (20) kann zwar die Priorität innerhalb seines Assoziativspeichers (100) bestimmen, muß aber darüberhinaus die Priorität der einzelnen ASP; (20) im Verbund berücksichtigen.A network of several ASPs (20) can also contain instructions are supplied, which an additional information exchange between the individual Require ASPs (20). For example, this is the case when after a Association process with the central control unit (200) based on an instruction Help his priority switching network (230) only when the first hit occurs May release link in the processing plant (V). Each ASP (20) can do the Determine priority within its associative memory (100), but must also the priority of each ASP; (20) in the network.

Eine vorteilhafte Lösung benutzt dazu eine Steuerleitung (32) aus der Gruppe de Verbindungsleitungen (30). Aufgrund eines auf einer ankommenden Steuerleitung (32) befindlichen Signals kann jedes zentrale Steuerwer (200) endgültig die Prioritätsfrage lösen und in Abhängigkeit davon mit Hilfe seiner Kommunikationssteuerung (250) auf einer abgehenden iteuerleitung (32) ein geeignetes Signal für den nachfolgenden ASP (20) absetzen. Ein Master-ASP hat hierbei die höchste Priorität.An advantageous solution uses a control line (32) for this purpose the group de connecting lines (30). Due to an incoming control line (32), each central control unit (200) can finally determine the priority question solve and depending on it with the help of its communication control (250) an outgoing control line (32) a suitable signal for the following Set down the ASP (20). A master ASP has the highest priority here.

Die Kommulikationssteuerung (250) des Master-ASP berücksichtigt dies aufgrund des Signals auf der Leitung MS (40), Fig. 3.The communication control (250) of the master ASP takes this into account based on the signal on the line MS (40), Fig. 3.

Eine einen Verbund aus mehreren ASPs (20) zugeführte Instruktion kann über einen Informationsaustausch hinaus zusätzlich einen Datenaustausch erfordern, etwa dann, wenn die Gesamtzahl aller Treffer im Verbund zu ermitteln ist. In diesem Fall müssen die Teilergebnisse aller Trefferzähler (240) im zentralen Steuerwerk (200) eines jeden ASP (20) gesammelt und addiert werden. Diese Aufgabe kann der Master-ASP übernehmen, indem die Teilergebnisse über eine oder auch mehrere bidirektionale Datenleitungen (33) aus der Gruppe der Verbindungsleitungen (30) unter Zuhilfenahme der Kommunikationssteuerung (250) zum Master-ASP gelangen.An instruction supplied to a network of several ASPs (20) can require an exchange of data in addition to an exchange of information, for example, when the total number of all hits in the network is to be determined. In this In this case, the partial results of all hit counters (240) must be in the central control unit (200) of each ASP (20) can be collected and added. The Master ASP take over by dividing the partial results over one or more bidirectional Data lines (33) from the group of connecting lines (30) with the aid the communication control (250) reach the master ASP.

Eine andere vorteilhafte Lösung ist dadurch zu erzielen, daß dieser Datenaustausch über den System-Bus (10) erfolgt. Dazu wird das zentrale Steuerwerk (200) mit einer Bus-Steuerung (260; Fig. 3) derart ausgestattet, daß damit Signale auf Bus-Steuerleitungen (50) zur Daten-Ein-/Ausgabe nicht nur empfangen sondern auch selbst generiert werden können (Fig. 3 und 7). Damit ist das zentrale Steuerwerk (200) des Master-ASP in der Lage, mit seiner Bus-Steuerung (260) aktiv die Initiative zum Datentransfer über den System-Bus (10) zu ergreifen und den Datenaustausch mit Hilfe seiner Kommunikationssteuerung (250) über Signale auf der Steuerleitung (32) und der BUSY-Leitung (31) nach einem Eimerketten-Prinzip (daisy-chain) so zu kontrollieren, daß Daten über den System-Bus (10) von den einzelnen Slave-ASPs nacheinander zum Master-ASP oder umgekehrt transportierbar sind.Another advantageous solution can be achieved in that this Data is exchanged via the system bus (10). This is done by the central control unit (200) equipped with a bus controller (260; Fig. 3) so that signals on bus control lines (50) for data input / output not only receiving but can also be generated by yourself (Fig. 3 and 7). This is the central control unit (200) the master ASP is able to actively take the initiative with its bus control (260) for data transfer via the system bus (10) and data exchange with Using his communication control (250) via signals on the control line (32) and to control the BUSY line (31) according to a bucket chain principle (daisy chain) so that that data via the system bus (10) from the individual slave ASPs to the Master-ASP or vice versa can be transported.

Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen assoziativen Subprozessors (20) besteht darin, daß der Assoziativspeicher (100) nur eine einzige Assoziativspeicherzelle (110) besitzt und die ansich normalerweise in den Speicherregistern (101) gespeicherten Datenworte in einem seriell oder zyklisch adressierbaren Speicher konventioneller Art abgelegt sind, von dem aus sie nacheinander in diese einzige Assoziativspeicherzelle (110) geladen und dort selektiv und verknüpfend den Aktivitäten des Operationswerks (105) unterzogen werden. Die vorteilhafte Wirkung besteht dabei darin, daß der Aufwand für den Assoziativspeicher (100) minimal wird; Prioritätsschaltnetz (230) und Trefferzähler (240) werden dabei als einfache, taktgesteuerte Schaltwerke ausgebildet.Another advantageous embodiment of the associative according to the invention Subprocessors (20) is that the associative memory (100) is only one Associative memory cell (110) and normally in the memory registers per se (101) stored data words in a serially or cyclically addressable memory conventional type, from which they are placed one after the other in this only one Associative memory cell (110) loaded and there selectively and linked to the activities of the operating mechanism (105). The beneficial effect is there in that the overhead for the associative memory (100) is minimal; Priority switching network (230) and hit counter (240) are used as simple, clock-controlled switching mechanisms educated.

Claims (10)

Patentansprüche 5 Assoziativer Subprozessor in einer busorientierten konventionellen Datenverarbeitungsanlage, inbesondere bei Mikrorechnern, mit einem aus einer Vielzahl identischer Speicherzellen aufgebauten Assoziativspeicher, einem zentralen Steuerwerk, einem Registermodul und einem Ein-/Ausgabemodul gekennzeichnet durch folgende Merkmale: a) jede Assoziativspeicherzelle (110) des Assoziativspeichers (100) besitzt neben einem Speicherregister (101) zur Speicherung eines Datenwortes ein Operationswerk (105), wodurch der Assoziativspeicher zu einem Assoziativprozessor erweitert wird; b) das zentrale Steuerwerk (200) generiert aufgrund einer auf dem Systembus (10) von einem Wirtsrechner übertragenen und vom Ein-/ Ausgabemodul (400) empfangenen Instruktion sämtliche Aktivierungssignale im assoziativen Subprozessor (20) inbesondere für den Assoziativspeicher (100) bl) zur simultanen Oberprüfung der Datenworte aller Speicherregister (101) des Assoziativspeichers (100) mit einem für alle Assoziativspeicherzellen (110) gleichen (kollektiven) Assoziationssubjekt aus dem Registermodul (300) hinsichtlich eines bestimmten Kriteriums (Assoziationsrelation) und b2) zur Durchführung einer Verknüpfungsoperation aller aufgrund der Assoziationsrelation nach bl) selektierten Datenworte mit einem oder mehreren kollektiven Operanden aus dem Registermodul (300); c) mehrere derartige assoziative Subprozessoren (20) können zur Kapazitätsvergrößerung an den Systembus (10) angeschlossen werden, indem sie über individuelle Verbindungsleitungen (30) unter einander zyklisch zu einem Verbund verschaltet werden, so daß das zentrale Steuerwerk (200) eines jeden assoziativen Subprozessors (20) seine internen Aktivierungssignale unter Berücksichtigung von ankommenden Signalen auf den Verbindungsleitungen (30) erzeugen und selbst wiederum Signale auf abgehenden Verbindungsleitungen weitergeben kann (Fig. 3). Claims 5 Associative subprocessor in a bus-oriented conventional data processing system, especially in the case of microcomputers, with a Associative memory constructed from a large number of identical memory cells, a central control unit, a register module and an input / output module by the following features: a) each associative memory cell (110) of the associative memory (100) has a memory register (101) for storing a data word an operation engine (105) whereby the associative memory becomes an associative processor is expanded; b) the central control unit (200) generated on the basis of a System bus (10) transmitted from a host computer and from the input / output module (400) received instruction all activation signals in the associative subprocessor (20) in particular for the associative memory (100) bl) for simultaneous checking of the data words of all memory registers (101) of the associative memory (100) with a the same (collective) association subject for all associative memory cells (110) from the register module (300) with regard to a certain criterion (association relation) and b2) for performing a linking operation of all on the basis of the association relation according to bl) selected data words with one or more collective operands the register module (300); c) several such associative subprocessors (20) can be connected to the system bus (10) to increase capacity, by cyclically interconnecting them via individual connecting lines (30) be connected to a network, so that the central control unit (200) of each associative subprocessor (20) taking into account its internal activation signals of incoming signals on the connecting lines (30) and in turn Can pass signals on outgoing connection lines (Fig. 3). 2. Assoziativer Subprozessor nach Anspruch 1, dadurch gekennzeichnet, daß das Operationswerk (105) einer jeden Assoziativspeicherzelle (110) aus einem Assoziationswerk (A) zur Oberprüfung einer Assoziationsrelation und einem Verarbeitungswerk (V) zur Durchführung einer Verknüpfungsoperation besteht, wobei das Ergebnis des Assoziationswerks (A) unmittelbar oder beeinflußt durch das zentrale Steuerwerk (200) die Verarbeitung im Verarbeitungswerk (V) freigibt oder unterdrückt bzw. im Fall von mehreren alternativ bereitgestellten Verknüpfungsoperationen genau eine davon aktiviert (Fig. 4).2. Associative subprocessor according to claim 1, characterized in that that the operation unit (105) of each associative memory cell (110) consists of one Association work (A) for checking an association relation and a processing work (V) to perform a link operation, the result of the Association unit (A) directly or influenced by the central control unit (200) enables or suppresses the processing in the processing plant (V) or in In the case of several alternatively provided linking operations, exactly one of which activated (Fig. 4). 3. Assoziativer Subprozessor nach Anspruch 2, dadurch gekennzeichnet, daß das Assoziationswerk (A) Identitätsvergleiche, numerische Vergleiche und Ähnlichkeitsvergleiche auf nichtnumerischer Grundlage durchführen kann und im Verarbeitungswerk (V) arithmetisch-logische Operationen lesender und schreibender Art möglich sind, so daß ein verknüpfender Datentransfer in das Speicherregister (101) und aus dem Speicherregister (101) einer jeden Assoziativspeicherzelle (110) möglich ist.3. Associative subprocessor according to claim 2, characterized in that that the association work (A) identity comparisons, numerical comparisons and similarity comparisons can perform on a non-numerical basis and in the processing unit (V) arithmetic-logical Read and write operations are possible, so that a linking Data transfer into the memory register (101) and from the memory register (101) any associative memory cell (110) is possible. 4. Assoziativer Subprozessor nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß sowohl die Oberprüfung einer Assoziationsrelation durch eine Maske als auch die Durchführung einer Verknüpfungsoperation durch eine Markierung auf beliebige Bereiche des Speicherregisters (101) in der Datenbreite begrenzt werden kann, wobei die im Register modul (300) befindlichen Masken- und Markierungsinformationen kollektiv allen Assoziativspeicherzellen (110) zugeführt werden.4. Associative subprocessor according to one of claims 1 to 3, characterized characterized that both the checking of an association relation by a Mask as well as the execution of a link operation through a marking to any areas of the memory register (101) in the data width can be limited, whereby the mask and Tag information is collectively supplied to all of the associative memory cells (110) will. 5. Assoziativer Subprozessor nach Anspruch 4, dadurch gekennzeichnet, daß Assoziationssubjekt und Maskeninformation einerseits sowie Verknüpfungsoperanden und Markierungsinformation andererseits dem Assoziativspeicher (100) in dreiwertiger Logik zugeführt werden, so daß die Irrelevanz maskierter Stellen bei der Oberprüfung einer Assoziationsrelation und die nicht markierter Stellen bei der Durchführung einer Verknüpfungsoperation gleichzeitig neben den binären Werten 0 und 1 auf denselben Leitungen (310,320) den Assoziativspeicherzellen (110) zugeführt werden können (Fig. 3).5. Associative subprocessor according to claim 4, characterized in that that association subject and mask information on the one hand as well as linking operands and tag information, on the other hand, to the associative memory (100) in three-valued Logic are supplied, so that the irrelevance of masked places in the review an association relation and the unmarked places in the implementation a logic operation at the same time next to the binary values 0 and 1 on the same Lines (310, 320) can be fed to the associative memory cells (110) (Fig. 3). 6. Assoziativer Subprozessor nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das Ein-/Ausgabemodul (400) ein Status-Register (430) zur aktuellen Zustandsanzeige und je einen Pufferspeicher für die Eingabe (410) und für die Ausgabe (420) nach dem FIRST-IN-FIRST-OUT-Prinzip enthält, so daß Synchronisationsprobleme beim Datentransfer über den Systembus (10) insbesondere bei einem Verbund mehrerer assoziativer Subprozessoren (20) vermieden werden (Fig. 3).6. Associative subprocessor according to one of claims 1 to 5, characterized characterized in that the input / output module (400) has a status register (430) for the current Status display and one buffer memory each for input (410) and for output (420) according to the FIRST-IN-FIRST-OUT principle, so that synchronization problems when transferring data via the system bus (10), especially when there are several associative subprocessors (20) are avoided (Fig. 3). 7. Assoziativer Subprozessor nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß bei einem Verbund mehrerer assoziativer Subprozessoren (20) ein beliebiger assoziativer Subprozessor ASP über eine externe Signalleitung MS (40) zum Master-ASP und alle übrigen zu Slave-ASPs erklärt werden können, so daß nur das zentrale Steuerwerk (200) des Master-ASP die Initiative bei der Kommunikation über den Systembus (10) mittels einer Bussteuerung (260) und über die Verbindungsleitungen (30) mittels einer Kommunikationssteuerung (250) ergreifen kann, wodurch letztlich das Statusregister (430) im Ein-/Ausgabe-Modul (400) des Master-ASP e.,le Zustandsanzeige des gesamten Verbunds enthält (Fig. 3 und 7).7. Associative subprocessor according to one of claims 1 to 6, characterized characterized in that in a network of several associative subprocessors (20) any associative subprocessor ASP via an external signal line MS (40) can be declared as master ASPs and all others as slave ASPs, so that only the central control unit (200) of the master ASP takes the initiative in communication via the system bus (10) by means of a bus controller (260) and via the connecting lines (30) can take hold by means of a communication controller (250), whereby ultimately the status register (430) in the input / output module (400) of the master ASP e., le status display of the entire composite contains (Fig. 3 and 7). 8. Assoziativer Subprozessor nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der Assoziativspeicher (100) nur eine einzige Assoziativzelle (110) besitzt und die inhaltsorientiert zu verarbeitenden Daten in einem seriellen oder zyklischen Speicher abgelegt sind, von dem aus sie nacheinander in das Speicherregister (101) dieser Assoziativspeicherzelle (110) geladen, durch das Operationswerk (105) bearbeitet und danach wieder zurückgespeichert werden.8. Associative subprocessor according to one of claims 1 to 7, characterized characterized in that the associative memory (100) has only a single associative cell (110) and the content-oriented data to be processed in a serial or cyclic memory, from which they are successively transferred to the memory register (101) of this associative memory cell (110) loaded by the operation unit (105) edited and then saved back again. 9. Assoziativer Subprozessor nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die bei der Oberprüfung der Assoziationsrelation auftretenden Treffer mit einem Trefferzähler (240) gezählt und bewertet werden, wobei eine sequentielle, taktgesteuerte Zähimethode, eine schnelle parallele Zählung mit einem Schaltnetz oder eine aus beiden kombinierte Methode (Fig. 5) zum Einsatz kommt.9. Associative subprocessor according to one of claims 1 to 8, characterized characterized in that those occurring when checking the association relation Hits are counted and evaluated with a hit counter (240), with a sequential, clock-controlled counting method, a fast parallel counting with a switching network or one of the two combined methods (FIG. 5) is used. 10.Assoziativer Subprozessor nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß gewisse Bereiche in der Datenbreite des Speicherregisters (101) und des Operationswerks (105) einer jeden Assoziativspeicherzelle (110) für privilegierte Aktivitäten des zentralen Steuerwerks reserviert sind, um belegte oder defekte Zellen zu kennzeichnen oder um Makro-Instruktionen mittels der Mikroprogrammsteuerung (220) auszuführen.10. Associative subprocessor according to one of claims 1 to 9, characterized characterized in that certain areas in the data width of the memory register (101) and the operations engine (105) of each associative memory cell (110) for privileged Activities of the central control unit are reserved for occupied or defective cells to identify or to macro-instructions by means of the microprogram control (220) to execute.
DE3216905A 1982-05-06 1982-05-06 Modular expandable data processing system with associative subprocessors Expired DE3216905C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE3216905A DE3216905C2 (en) 1982-05-06 1982-05-06 Modular expandable data processing system with associative subprocessors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE3216905A DE3216905C2 (en) 1982-05-06 1982-05-06 Modular expandable data processing system with associative subprocessors

Publications (2)

Publication Number Publication Date
DE3216905A1 true DE3216905A1 (en) 1982-11-18
DE3216905C2 DE3216905C2 (en) 1984-02-09

Family

ID=6162824

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3216905A Expired DE3216905C2 (en) 1982-05-06 1982-05-06 Modular expandable data processing system with associative subprocessors

Country Status (1)

Country Link
DE (1) DE3216905C2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984003970A1 (en) * 1983-03-30 1984-10-11 Siemens Ag Hybrid associative memory and method for the retrieval and sorting of data contained therein
EP0126896A1 (en) * 1983-05-30 1984-12-05 Siemens Aktiengesellschaft Hybrid-associative memory comprising a non associative base memory and associative surface
EP0139817A2 (en) * 1983-09-23 1985-05-08 Siemens Aktiengesellschaft Method and device for searching file data corresponding to a given search key in a hybrid associative memory

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Forschungs-Symposium, Systeme mit Mikro- prozessoren, Siemens AG München, Juni 1978, S. 51-59 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984003970A1 (en) * 1983-03-30 1984-10-11 Siemens Ag Hybrid associative memory and method for the retrieval and sorting of data contained therein
EP0126896A1 (en) * 1983-05-30 1984-12-05 Siemens Aktiengesellschaft Hybrid-associative memory comprising a non associative base memory and associative surface
EP0139817A2 (en) * 1983-09-23 1985-05-08 Siemens Aktiengesellschaft Method and device for searching file data corresponding to a given search key in a hybrid associative memory
EP0139817A3 (en) * 1983-09-23 1985-06-05 Siemens Aktiengesellschaft Method and device for searching file data corresponding to a given search key in a hybrid associative memory

Also Published As

Publication number Publication date
DE3216905C2 (en) 1984-02-09

Similar Documents

Publication Publication Date Title
EP0948842B1 (en) METHOD FOR AUTOMATIC DYNAMIC UNLOADING OF DATA FLOW PROCESSORS (DFP) AS WELL AS MODULES WITH BIDIMENSIONAL OR MULTIDIMENSIONAL PROGRAMMABLE CELL STRUCTURES (EPGAs, DPGAs OR THE LIKE)
DE69115344T2 (en) Preprocessor for connecting instructions to a cache memory
DE2714805C2 (en)
EP1329816B1 (en) Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like)
DE2716369C2 (en)
DE1931966C3 (en) Data processing system with associative memories
DE1549523B2 (en) DATA PROCESSING SYSTEM
DE3685711T2 (en) ARRANGEMENT FOR SIMULATING COMPUTER FUNCTIONS OF MAIN COMPUTER SYSTEMS.
DE2712575C2 (en) Associative storage system in highly integrated semiconductor technology
DE2259725C3 (en) Function memory from associative cells with at least four states
DE2750721A1 (en) INPUT / OUTPUT SYSTEM
EP0308660A2 (en) Device for producing a test-compatible, largely fault tolerant configuration of redundantly implemented VLSI systems
DE2364408B2 (en) Circuit arrangement for addressing the memory locations of a memory consisting of several chips
DE2015971A1 (en) Data processing system for processing a stream of multiple operands
DE2524046A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE2164793A1 (en) Method and data processing system for controlling a large number of input / output units by means of a central unit
DE1774164B1 (en) DATA PROCESSING SYSTEM WITH SEVERAL PROCESSING UNITS OPERATING AT THE SAME TIME
DE3788617T2 (en) Vector data processing system with one I / O controller for each vector data processor and another I / O controller for at least one other vector data processor.
DE1191145B (en) Electronic number calculator
DE3043012A1 (en) DEVICE FOR THE INDEPENDENT OPERATION OF SEVERAL UNITS IN AN INFORMATION PROCESSING SYSTEM BY DIFFERENT USERS
DE3410497A1 (en) COMPUTER ARRANGEMENT
DE3216905A1 (en) Associative subprocessor in a bus-oriented data processing system
DE2747304A1 (en) MICRO COMMAND DEVICE
DE2801853A1 (en) INTEGRATED DIGITAL DATA PROCESSING DEVICE
DE3603319C2 (en)

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
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