DE2417840B2 - DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY - Google Patents

DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY

Info

Publication number
DE2417840B2
DE2417840B2 DE19742417840 DE2417840A DE2417840B2 DE 2417840 B2 DE2417840 B2 DE 2417840B2 DE 19742417840 DE19742417840 DE 19742417840 DE 2417840 A DE2417840 A DE 2417840A DE 2417840 B2 DE2417840 B2 DE 2417840B2
Authority
DE
Germany
Prior art keywords
memory
format
address
formats
addresses
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
DE19742417840
Other languages
German (de)
Other versions
DE2417840A1 (en
DE2417840C3 (en
Inventor
Gerhard 8000 München Wolf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19742417840 priority Critical patent/DE2417840B2/en
Priority to AT184175A priority patent/AT350305B/en
Priority to CH383975A priority patent/CH589912A5/xx
Priority to GB13420/75A priority patent/GB1508353A/en
Priority to FR7510866A priority patent/FR2274993A1/en
Priority to IT22162/75A priority patent/IT1034978B/en
Priority to NL7504293A priority patent/NL7504293A/en
Priority to BE155355A priority patent/BE827869A/en
Publication of DE2417840A1 publication Critical patent/DE2417840A1/en
Publication of DE2417840B2 publication Critical patent/DE2417840B2/en
Application granted granted Critical
Publication of DE2417840C3 publication Critical patent/DE2417840C3/de
Granted 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Description

Die Erfindung betrifft eine Einrichtung zur durchmischten Ablage verschiedener Datenformate, die ein Grundformat (kurzes Format) und aus dem n+ 1 fachen des Grundformats (n>\ und ganzzahlig) bestehende Formate (lange Formate) umfassen, in einem Assoziativspeicher aus mehreren gleichberechtigten Speicherplätzen zur Aufnahme von Assoziationsbegriffen und nichtassoziativen zugeordneten Begriffen, wobei die Adressen für die Speicherplätze in einer für alle Speicherbänke unterschiedlichen Weise aus einem Teil des Assoziationsbegriffs (Vorsilbe) mit Hilfe von Adreßwandlern ableitbar sina und die Belegung eines Speicherplatzes durch ein in eine dem Speicherplatz zugeordnete Speicherzelle eingetragenes »Belegtbit« bezeichnet wird.The invention relates to a device for the mixed storage of different data formats, which comprise a basic format (short format) and formats (long formats) consisting of n + 1 times the basic format (n> \ and integer), in an associative memory of several equal storage locations for recording of association terms and non-associative assigned terms, whereby the addresses for the memory locations can be derived in a different way for all memory banks from a part of the association term (prefix) with the help of address converters and the occupancy of a memory location by an "occupied bit" entered in a memory location assigned to the memory location " referred to as.

Trotz ihrer günstigen Eigenschaften, insbesondere bei der Abwicklung von Übersetzungsaufgaben, bei der Listenbearbeitung und beim Sortieren von Daten wurden große Assoziativspeicher in Datenverarbeitungsanlagen bisher nur in Ausnahmefällen eingesetzt. Der Grund dafür waren die hohen Kosten, die hauptsächlich durch die für das Wiederauffinden der gespeicherten Inhalte erforderlichen Vergleichseinrichtungen verursacht wurden.Despite its favorable properties, especially when it comes to handling translation tasks, the List processing and sorting of data became large associative memories in data processing systems so far only used in exceptional cases. The reason for this was the high cost that mainly by the comparison devices required for retrieving the stored content caused.

Es ist bekannt, zur Verringerung des Aufwands für die Vergleichseinrichtungen die Speicherworte in einen assoziativen Teil (Assoziationsbegriff) und in einen nichtassoziativen Teil (zugeordneter Begriff) aufzuspalten, wobei die Grenze zwischen den beiden Teilen gegebenenfalls verschieblich sein kann. Feiner ist es bekannt (»NTZ-Kurier« 10/73. Seiten K 175-K 183), die Speicherplätze des Assoziativspeichers durch die Bereitstellung entsprechender Mittel adressierbar zu machen und einen bestimmten Abschnitt (Vorsilbe) der Assoziationsbegriffe als Adresse oder zur Ableitung der Adresse zu verwenden. Da bei der Suche nach einem mit dem vorgegebenen Suchbegriff gleichen Begriff im Speicher jeweils nur der Inhalt des adressierter Speicherplatzes in Frage kommt, genügt es, einer Vergleicher vorzusehen, der dem gerade angesprochenen Speicherplatz zugeordnet wird.It is known, in order to reduce the complexity of the comparison devices, to convert the memory words into one to split the associative part (association term) and a non-associative part (assigned term), whereby the boundary between the two parts can optionally be displaceable. It is finer known ("NTZ-Kurier" 10/73. Pages K 175-K 183), the memory locations of the associative memory through the Provide appropriate resources to make it addressable and a specific section (prefix) of the To use association terms as an address or to derive the address. Because when looking for one with the specified search term is the same term in the memory, only the content of the addressed one Storage space comes into question, it is sufficient to provide a comparator that is just mentioned Space is allocated.

'■f'■ f

Die Adressierung der Speicherplätze mit Hilfe der Vorsilben der Assoziationsbegriffe ist insofern nicht iindeutig, als verschiedene (ähnliche) A.ssoziationsbegriffe auf gleiche Adressen führen können. Ein bereits im Speicher befindlicher Begriff verhindert dadurch, daß ein ähnlicher Begriff mit gleicher Vorsilbe ebenfalls in den Speicher aufgenommen werden kann, auch wenn dieser insgesamt noch weitgehend leer ist Es wurde daher bei einem Speicher mit mehreren Speicherbänken schon vorgeschlagen (P 23 05 583.6), jeder Speicherbank Mittel für die Adressenbildung zuzuordnen, die indes die Ableitung der Adressen in einer von Speicherbank zu Speicherbank verschiedenen Weise mit pseudostatistischer Weise bewirken. Verbindet man gedanklich die jeweils in benachbarten Speicherbänken liegenden Speicherplätze, deren Adressen aus den gleichen Vorsilben abgeleitet wurden, miteinander, so bildet die entstehende »Vorsilbenlinie« einen unregelmäßig geknickten Linienzug. Entsprechend der Tatsache, daß verschiedene Vorsilben in einzelnen Speicherbänken zu gleichen Adressen führen können, gehören die Speicherplätze immer mehreren Vorsilbenlinien an. Vorsilbenlinien, die auf unterschiedlichen Vorsilben beruhen, verlaufen nie in ihrer ganzen Länge parallel.The addressing of the memory locations with the help of the prefixes of the association terms is therefore not unambiguously, as different (similar) association terms can lead to the same addresses. A term already in the memory prevents that a similar term with the same prefix can also be included in the memory, even if this is still largely empty. It was therefore in a memory with several memory banks already proposed (P 23 05 583.6) to assign resources for addressing to each memory bank however, the derivation of the addresses in a way that differs from memory bank to memory bank effect in a pseudo-statistical manner. If you mentally connect each of the adjacent memory banks lying memory locations, the addresses of which were derived from the same prefixes, with each other, see above the resulting "prefix line" forms an irregular kinked line. According to the fact that different prefixes in individual memory banks can lead to the same addresses the storage locations always have several prefix lines. Lines of prefixes on different prefixes are based, never run parallel over their entire length.

Der unregelmäßige Verlauf der Vorsilbenlinien, mit dem Ergebnis, daß die Speicherplätze immer von einer Mehrzahl von Vorsilbenlinien erfaßt werden, bildet die Voraussetzung für die Anwendung des innerhalb der genannten Anmeldung ebenfalls vorgeschlagenen »Verdrängungsverfahrens«. Liegt ein neuer Begriff zur Eintragung in den Speicher an und wird (durch Überprüfung der Belegtbit) festgestellt, daß alle Speicherplätze entlang der dem neuen Begriff eigenen Vorsilbenlinie besetzt sind, so wird zunächst geprüft, ob sich unter den schon vorhandenen Einträgen solche mit anderen Vorsilben befinden. 1st das der Fall, dann wird ein solcher »artfremder Begriff« in einen Zwischenspeicher übernommen und der neue Begriff in den freigemachten Speicherplatz eingeschrieben. Der zuvor entfernte »artfremde Begriff« wird nun in einem auf dessen eigener Vorsilbenlinie liegenden freien oder durch einen weiteren Verdrängungszyklus freigemachten Speicherplatz abgelegt.The irregular course of the prefix lines, with the result that the storage locations are always from one Multiple prefix lines are recorded, forms the prerequisite for the use of within the "Displacement process" also proposed above. A new term is available Entry in the memory and it is determined (by checking the busy bit) that all Storage spaces along the prefix line belonging to the new term are occupied, it is first checked whether there are already entries with other prefixes. If that is the case, then will such a "foreign term" is transferred to a buffer and the new term is stored in the freed space is inscribed. The previously removed "alien term" is now in a its own prefix line lying free or cleared by a further displacement cycle Stored space.

Durch die vorgeschlagenen Maßnahmen wird bis zu sehr hohen Füllungsgraden des Speichers verhindert, daß die Aufnahme neuer Begriffe wegen der Belegung der in Frage kommenden Speicherplätze durch Begriffe mit ähnlichen, aber zu gleichen Adressen führenden Vorsilben blockiert wird. In besonders ungünstigen Fällen könnte es notwendig werden, eine größere Zahl von aufeinanderfolgenden Verdrängungszyklen vorzunehmen. Das ist jedoch wegen des wachsenden Zeitbedarfs nicht wünschenswert. Auch können zunächst höchstens so viele Begriffe mit gleichen Vorsilben im Speicher Platz finden, als Speicherbänke vorhanden sind. Es wurde weiterhin vorgeschlagen (P 23 19 468.5), die Eintragungsmöglichkeiten für Begriffe mit gleichen Vorsilben über die vorgegebene Zahl von Speicherbänken hinaus zu erweitern, indem ein »Erweiterungszähler« bereitgestellt wird, dessen jeweiliger Stand für die Bildung der Adressen mitbestimmend ist und dessen Stand jeweils um »1« erhöht wird, wenn ein Neueintrag eines Begriffes mit einer bestimmten Vorsilbe erfolgen soll und alle Speicherplätze entlang der entsprechenden Vorsilbenlinie bereits belegt sind. Beispielsweise kann der Stand des Erweiterungszählers zu den Ausgangsgrößen der den Speicherbänken 7iiapnrrlneten Mittel für die Adressenbildung addiert werden. Die dem Stand »0« des crweiterungszählers entsprechenden Adressen sollen im folgenden als Basisadressen bezeichnet werden.The proposed measures prevent the storage tank from being filled to a very high level, that the inclusion of new terms because of the occupancy of the memory spaces in question by terms with similar prefixes that lead to the same address is blocked. In particularly unfavorable In some cases it may be necessary to use a larger number of successive displacement cycles. However, this is not desirable because of the increasing amount of time required. Also can initially There is a maximum of as many terms with the same prefixes in the memory as there are memory banks available. It was also proposed (P 23 19 468.5) that terms could be entered with the same prefixes can be expanded beyond the specified number of memory banks by adding a "Extension counter" is provided, the current status of which has a role in determining the formation of the addresses is and its status is increased by »1« each time a new entry of a term with a certain Prefix should be made and all storage spaces along the corresponding prefix line are already occupied. For example, the status of the expansion counter can be related to the output variables of the memory banks The total resources for the formation of addresses were added will. The addresses corresponding to the "0" status of the extension counter are to be used in the following as Base addresses are designated.

I7Ur jede Zählereinstellung erhält man nun eine eigene Vorsilbenlinie, wobei die Vorsilbenlinie, die jeweils der um »1« erhöhten Zählereinstellung entspricht, zur Verlängerung der vorher benutzten Vorsilbenlinie geeignet ist. Damit die Speicherinhalte, die auf einer Verlängerung der ursprünglichen Vorsilbenlinie abgelegt wurden, wieder zu finden sind, wird in alle Speicherplätze einer voll besetzten Vorsilbenlinie ein »Häufungsbit« eingetragen, sobald eine neue Vorsilbenlinie eröffnet wird.
Es besteht nun häufig das Bedürfnis, in einem Assoziativspeicher Begriffe aufzunehmen, deren Formate sehr unterschiedlich sind. Die bekannten Assoziativspeicher sind dazu nicht ohne weiteres geeignet, wenn man davon absieht, daß natürlich die Möglichkeit besteht, die Kapazität der einzelnen Speicherplätze dem längsten in Frage kommenden Format anzupassen and beim Auftreten kürzerer Formate eine nur teilweise Belegung in Kauf zu nehmen. Ein solches Vorgehen wäre wegen der schlechten Ausnutzung der Speicherkapazität sehr unwirtschaftlich.
I 7 A separate prefix line is obtained for each counter setting, whereby the prefix line, which corresponds to the counter setting increased by "1", is suitable for extending the prefix line used previously. So that the memory contents that were stored on an extension of the original prefix line can be found again, an "accumulation bit" is entered in all memory locations of a fully occupied prefix line as soon as a new prefix line is opened.
There is now often the need to include terms in an associative memory, the formats of which are very different. The known associative memories are not readily suitable for this, if one disregards the fact that there is of course the possibility of adapting the capacity of the individual memory locations to the longest possible format and only accepting partial occupancy when shorter formats occur. Such a procedure would be very uneconomical because of the poor utilization of the storage capacity.

Es ist daher die Aufgabe der Erfindung, Maßnahmen anzugeben, die eine bessere Ausnutzung der Speicherkapazität gestatten. Diese Aufgabe wird bei einer Einrichtung gemäß dem Oberbegriff des Hauptanspruchs dadurch gelöst, daß die Kapazität dei Speicherplätze dem Grundformat angepaßt ist. daß zwischen die Adreßwandler und die für die Auswahl der Speicherplätze in den Speicherbänken erforderlichen Adressendecoder Multiplexer eingefügt sind, die durch ein Formatlängenkennzeichen derart gesteuert werden.It is therefore the object of the invention to specify measures that allow better utilization of the storage capacity allow. This task is in a device according to the preamble of the main claim solved in that the capacity of the storage locations is adapted to the basic format. that between the address converters and those required for the selection of the memory locations in the memory banks Address decoder multiplexers are inserted, which are controlled by a format length identifier.

daß die von einem Adreßwandler ausgegebene Adresse entsprechend dem Datenformat für die Adressierung von η Speicherbänken wirksam ist.that the address output by an address converter is effective in accordance with the data format for addressing η memory banks.

Die Erfindung wird im folgenden anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Es zeigtThe invention is explained in more detail below with the aid of an exemplary embodiment shown in the drawing explained. It shows

F i g. 1 eine Übersicht über die erfindungsgemäße Einrichtung,F i g. 1 an overview of the device according to the invention,

F i g. 2 eine schematische Darstellung zur Erläuterung der Zuordnung verschiedener Datenformate zu den Speicherplätzen,F i g. 2 shows a schematic illustration to explain the assignment of various data formats to the Storage locations,

F i g. 3 das Prinzipschaltbild eines Multiplexers und Fig.4 eine Einrichtung für die Konzentration der Ablage von Daten in Speicherplätzen mit niedrigen Adressen.F i g. 3 shows the basic circuit diagram of a multiplexer and FIG. 4 shows a device for concentrating the Storage of data in memory locations with low addresses.

Läßt man zunächst das Multiplexernetzwerk MPX außer Betracht, dann entspricht die in F i g. 1 dargestellte Einrichtung einem der Ausführungsbeispiele für eine Speichereinrichtung gemäß den eingangs erwähnten älteren Vorschlägen. Der eigentliche Assoziativspeicher besteht aus den Speicherbänken ßO, Bl bis ßM(/n = 8 oder 16), deren jede eine Vielzahl von Speicherplätzen z. B. 256 oder mehr Speicherplätze enthält. Zur Vereinfachung der Zeichnung wurden an sich bekannte Hilfseinrichtungen wie Adressendecoder, Vergleicher Trefferregister, Eingabe- und Ausgabesteuerung sowie Maskenregister für die Abgrenzung der assoziativ zi behandelnden Begriffe von den nichtassoziativ z\ behandelnden zugeordneten Begriffen weggelasser Die F i g. 1 zeigt jedoch ein Eingangsregister ER, in den die in den Assoziativspeicher einzugebenden Date: bzw. die Daten stehen, deren Vorhandensein ir Assoziativspeicher festgestellt werden soll. Der für di Adressierung der Speicherplätze verwendete Teil deIf the multiplexer network MPX is initially disregarded, then that in FIG. The device shown in FIG. 1 is one of the exemplary embodiments for a memory device in accordance with the earlier proposals mentioned at the beginning. The actual associative memory consists of the memory banks ßO, B1 to ßM (/ n = 8 or 16), each of which has a large number of memory locations, for. B. contains 256 or more storage locations. To simplify the drawing known auxiliary facilities such as address decoders, comparators hit register, input and output control, and mask register for the definition of the terms associative zi treated were g of the non-associative z \ treated associated terms weggelasser The F i se. 1 shows, however, an input register ER in which the data to be entered into the associative memory or the data whose presence is to be determined in the associative memory are located. The part de used for addressing the memory locations

Assoziationsbegriffs, die »Vorsilbe« mit beispielsweise 24 Bit wird einem für alle Speicherbänke gemeinsamen Adreßwandler AD W zugeführt, der eine beispielsweise 16 Bit breite Adressen-Sammelleitung AB speist. Die unterschiedlichen Adressen für die einzelnen Speicherbänke entstehen dadurch, daß für jede Speicherbank eine andere Gruppe von nunmehr 8 Bit aus den auf der Adressen-Sammelleitung AB angebotenen 16 Bit ausgewählt wird. Zu diesen Basisadressen wird mit Hilfe der Addierer AddO bis Addm der jeweilige Stand des Erweiterungszählers EZ — im Normalfall 0 — addiert. Erhöhte Zählerstände erzeugen parallel verlaufende Verlängerungen der ursprünglichen Vorsilbenlinien.Association term, the "prefix" with for example 24 bits is fed to an address converter AD W which is common for all memory banks and which feeds an address bus AB, for example 16 bits wide. The different addresses for the individual memory banks result from the fact that for each memory bank a different group of now 8 bits is selected from the 16 bits offered on the address bus AB. With the help of the adders AddO to Addm, the respective status of the extension counter EZ - normally 0 - is added to these base addresses. Increased counter readings produce parallel extensions of the original prefix lines.

Der Adreßwandler kann als einfaches Decodier-Codier-Netzwerk (Codewandler) aufgebaut sein. Vorteilhaft lassen sich auch kleine Festwertspeicher-Bausteine (vgl. z. B. »The TTL Data Book, Supplement to CC-401« der Texas Instruments Deutschland GmbH, CC-411, Seiten 216, 217) als Adreßwandler verwenden. Hierbei dient die Vorsilbe als Adresse für den Festwertspeicher-Baustein, seine Lesesignale speisen die Adressen-Sammelleitung AB. The address converter can be constructed as a simple decoding-coding network (code converter). Small read-only memory modules (see, for example, "The TTL Data Book, Supplement to CC-401" from Texas Instruments Deutschland GmbH, CC-411, pages 216, 217) can also be used as address converters. The prefix is used as the address for the read-only memory module; its read signals feed the address bus AB.

Anstelle eines für alle Speicherbänke gemeinsamen Adreßwandlers, der eine Adressen-Sammelleitung versorgt, kann gemäß den früheren Vorschlägen auch jeder Speicherbank ein besonderer Adreßwandler zugeordnet werden. Diese Adreßwandler arbeiten dann nach unterschiedlichen Algorithmen. Es ist weiterhin möglich, die adressierende Vorsilbe unter Weglassung des gemeinsamen Adreßwandlers auf eine Adressen-Sammelleitung zu geben und hier in der oben beschriebenen Weise die unterschiedlichen Basisadressen für die einzelnen Speicherbänke abzugreifen.Instead of an address converter that is common to all memory banks and supplies an address bus, According to the earlier proposals, a special address converter can also be assigned to each memory bank will. These address converters then work according to different algorithms. It is still possible the addressing prefix with the omission of the common address converter on an address bus and here in the manner described above the different base addresses for the to access individual memory banks.

Für die Eintragung von Daten bzw. Assoziationsbegriffen mit verschiedenen Formaten in den Assoziativspeicher wird zunächst ein Grundformat festgelegt, von dem angenommen werden kann, daß es mit der größten Häufigkeit auftritt. Die Länge des Grundformats wird mit beispielsweise 64 Bit gewählt, weil kürzere Formate nur selten vorkommen. Die Kapazität der Speicherplätze wird dem Grundformat angepaßt Weiterhin werden Formate vorgesehen, die die π+1 fache Länge des Grundformats besitzen, wobei n>\ ist. Die langen Formate müssen dann auf mehrere Speicherbänke verteilt werden. Bei einer ausreichend großen Zahl von Speicherbänken könnten natürlich auch noch längere Formate berücksichtigt werden. Indes ist die Wahrscheinlichkeit, daß derart lange Formate auftreten, äußerst gering.For the entry of data or association terms with different formats in the associative memory, a basic format is first established, from which it can be assumed that it occurs with the greatest frequency. The length of the basic format is chosen to be 64 bit, for example, because shorter formats are rarely used. The capacity of the storage spaces is adapted to the basic format. Formats are also provided that are π + 1 times the length of the basic format, where n> \ . The long formats then have to be distributed over several memory banks. With a sufficiently large number of memory banks, longer formats could of course also be taken into account. However, the likelihood of such long formats occurring is extremely small.

Man könnte nun daran denken, die einzelnen, dem Grundformat entsprechenden Abschnitte von langen Formaten in beliebigen Speicherbänken unter dem aus der Vorsilbe für die betreffenden Speicherbänke abgeleiteten Adressen abzulegen. Ein solches Vorgehen wäre jedoch nicht vorteilhaft Um das spätere Wiederauffinden der gespeicherten Inhalte zu erleichtern, ist es zweckmäßig, die Abschnitte von langen Formaten in aufeinanderfolgende Speicherbänke einzugeben. Solange jedoch die Ablage der einzelnen Abschnitte unter den für die Speicherbänke individuell gebildeten Adressen erfolgt, besteht die Gefahr, daß sich Einträge von langen Formaten wegen der vielfachen Überschneidungen der Vorsilbenlinien ebenfalls gegenseitig schneiden. Die Folge wäre wieder eine Zerstückelung von Einträgen langer Formate oder erhebliche Schwierigkeiten beim Auffinden geeigneter Speicherräume für lange Formate, die naturgemäß mit der Formatlänge anwachsen.One could now think of the individual sections of long Formats in any memory banks under the prefix for the memory banks concerned to store derived addresses. However, such an approach would not be advantageous to the later To make it easier to find the saved content, it is useful to remove the sections from long Enter formats in consecutive memory banks. As long as the filing of the individual Sections takes place under the addresses formed individually for the memory banks, there is a risk that Entries in long formats are also different because of the multiple overlapping of the prefix lines cut each other. The consequence would again be a fragmentation of entries in long formats or Significant difficulties in finding suitable storage space for long formats that naturally come with grow with the format length.

Bei der Erfindung werden lange Formate durchgehend unter der Adresse eingetragen, die auf Grund der Vorsilbe des Assoziationsbegriffs für diejenige (jeweils niedrigstwertige) Speicherbank gilt, in die der einem Grundformat entsprechende Anfangsabschnitt des langen Formats eingetragen wird. Das bedeutet, daß bei der Eintragung eines langen Formats nur der AnfaJipsabschnitt, im folgenden als Kopf bezeichnet, auf der Vorsilbenlinie liegt, die für die Eintragung vonIn the case of the invention, long formats are continuously entered under the address that is based on the The prefix of the association term applies to the (in each case lowest value) memory bank into which the one Basic format corresponding start section of the long format is entered. That means that at the entry of a long format only the beginning section, hereinafter referred to as head, on the line of prefixes, which is used for the entry of

ίο Grundformaten maßgebend ist. Der Rumpf, d. h. der restliche Teil des langen Formats, wird dann unter der gleichen Adresse in den anschließenden Speicherbänken abgelegt. Es ist darüber hinaus zweckmäßig, die verschiedenen Formate in einem von der Formatlänge abhängigen Raster abzulegen. Unter der Voraussetzung einer bei »0« beginnenden Zählung der Speicherbänke sollen die Grundformate bzw. die Anfangsabschnitte langer Formate nur in die Speicherbänke eingetragen werden, deren Numerierung der Beziehung ρ ■ 2k gehorcht, wobei p, k> 0 und ganzzahlig sind und 2k eine von der jeweiligen Formatlänge in Vielfachen η des Grundformats abhängige Dualzahl bezeichnet, für die gilt π < 2* < 2n.ίο basic formats is decisive. The body, ie the remaining part of the long format, is then stored under the same address in the subsequent memory banks. It is also useful to store the various formats in a grid that is dependent on the format length. Assuming a counting of the memory banks starting with "0", the basic formats or the initial sections of long formats should only be entered in the memory banks whose numbering obeys the relation ρ ■ 2 k , where p, k> 0 and are integers and 2 k denotes a binary number dependent on the respective format length in multiples η of the basic format, for which π <2 * <2n applies.

Das bedeutet, daß 2* = π ist. wenn die Zahl η selbst der Dualzahlenreihe 0, 1, 2, 4 usw. angehört und daß 2* die auf η folgende Dualzahl ist, wenn η der Dualzahlenreihe nicht angehört. Sofern die in Frage kommenden Speicherplätze frei sind, ergibt sich daraus folgendes Ablageschema:This means that 2 * = π . if the number η itself belongs to the binary number series 0, 1, 2, 4 etc. and that 2 * is the dual number following η , if η does not belong to the binary number series. If the storage locations in question are free, this results in the following storage scheme:

a) Grundformate in alle Speicherbänke,a) Basic formats in all memory banks,

b) Anfangsabschnitte von doppelten Formaten in die Speicherbänke 0,2,4 und 6,b) initial sections of duplicate formats in memory banks 0, 2, 4 and 6,

c) Anfangsabschnitte von drei- und vierfachen Formaten in die Speicherbänke 0 und 4.c) Initial sections of triple and quadruple formats in memory banks 0 and 4.

d) Anfangsabschnitte von fünf- bis achtfachen Formaten in die Speicherbank 0.d) Initial sections of five to eightfold formats in memory bank 0.

Entsprechendes gilt natürlich, wenn mehr oder weniger als acht Speicherbänke zur Verfugung stehen. Zur besseren Übersicht ist in F i g. 2 schematisch ein aus acht Speicherbänken BO bis Bl mit je acht Speicherplätzen PO bis Pl bestehender Speicher dargestellt, der teilweise mit Einträgen verschiedener, durch schraffierte Balken dargestellter Formate belegt ist Die Adressen für die Einträge sind durch die beiden Vorsilbenlinien VSL »Α« und VSL »Β« bestimmt Zu beachten ist, daß jeder einzelne Speicherplatz im allgemeinen mehreren Vorsilbenlinien angehört.The same applies, of course, if more or less than eight memory banks are available. For a better overview, FIG. 2 schematically shows a memory consisting of eight memory banks BO to Bl with eight memory locations PO to P1 each, which is partially occupied by entries in various formats represented by hatched bars. The addresses for the entries are identified by the two prefixes VSL »Α« and VSL » Β « determined It should be noted that each individual memory location generally belongs to several lines of prefixes.

Damit die vorher beschriebenen Regeln für die Behandlung der verschiedenen Formate durchgeführ werden können, ist es notwendig, der Speichereinrich tung das jeweilige Format der für die Eingabe vorgesehenen Daten mitzuteilen. Dies geschieht durcl ein »Formatlängenkennzeichen«, das von der Zentral einheit oder einer sonstigen Einheit euier Datenverar beitungsanlage geliefert wird, von der auch die für dl· Eintragung bestimmten Daten stammen. Das Format längenkennzeichen FLK besteht aus zwei oder drei Bi abhängig von dem längsten Format, welches berück sichtigt werden soll.So that the previously described rules for handling the various formats can be carried out, it is necessary to inform the memory device of the respective format of the data intended for input. This is done by means of a "format length identifier" which is supplied by the central unit or some other unit of your data processing system from which the data intended for the entry also originate. The format length identifier FLK consists of two or three bi, depending on the longest format that is to be taken into account.

Wie aus dem Vorhergehenden leicht erkennbar is hat das Formatlängenkennzeichen FLK die Aufgabi die Einordnung in das von der Formatlänge abhängig Raster und die Übernahme der jeweiligen Kopfadress als Adresse für die Speicherplätze zur Aufnahme de Rumpfes eines langen Formats zu steuern. Ds geschieht mit Hilfe des in der F i g. 1 als Funktionseil heit dargestellten, bisher von der Betrachtung ausgi nommenen Multiplexernetzwerks MPX. As can be easily seen from the above, the format length indicator FLK has the task of controlling the classification in the grid dependent on the format length and the transfer of the respective header address as the address for the storage locations to accommodate the body of a long format. This is done with the aid of the in FIG. 1 shown as a functional cable, previously excluded from the consideration of the multiplexer network MPX.

Eine mehr in Einzelheiten gehende Multiplexeranordnung zeigt Fig. 3. Die Multiplexeranordnung ist für Formate geeignet, die maximal 4 Grundformate umfassen, wenn man davon ausgeht, daß die symbolisch dargestellten (elektronischen) Umschalter Ui bis U5 jeweils für die gleichzeitige Umschaltung aller Adressenbit ausgelegt sind. Zu der Multiplexeranordnung gehört als Hilfseinrichtung ein Decoder DEC, der das Formatlängenkennzeichen FLK aus der binären Verschlüsselung in die Form 1 aus k umwandelt. Abhängig von dem Formatlängenkennzeichen FLK führt eine und nur eine der Ausgangsleitungen a bis deine binäre 1. Unter dem Einfluß der Ausgangssignale des Decoders DEC nehmen die Umschalter L/l und (75 bestimmte Stellungen ein. Die neben den Eingängen der Umschalter stehenden Bezeichnungen sollen darauf hinweisen, welche Leitungen jeweils von den gleichnamigen Ausgangssignalen des Decoders durchgeschaltet werden. Soll auch die Eingabe von Formaten zugelassen werden, die dem achtfachen Grundformat entsprechen, *> dann ist das Multiplexernetzwerk in analoger Weise zu erweitern. Bausteine zum Aufbau von Multiplexernetzwerken sind auch aus dem schon vorher genannten TTL Data Book, Seiten 294,295 bekannt.A more detailed multiplexer arrangement is shown in FIG. 3. The multiplexer arrangement is suitable for formats which comprise a maximum of 4 basic formats, assuming that the symbolically represented (electronic) changeover switches Ui to U5 are each designed for the simultaneous changeover of all address bits. The multiplexer arrangement includes a decoder DEC as an auxiliary device, which converts the format length identifier FLK from the binary encryption into the form 1 from k . Depending on the format length identifier FLK, one and only one of the output lines a leads to your binary 1. Under the influence of the output signals of the decoder DEC , the switches L / l and (75 assume certain positions. The designations next to the inputs of the switch are intended to indicate this which lines are switched through by the output signals of the same name from the decoder. If the input of formats that correspond to the eightfold basic format is also to be permitted, *> then the multiplexer network must be expanded in an analogous manner. This also includes building blocks for setting up multiplexer networks previously mentioned TTL Data Book, pages 294,295.

Durch die erfindungsgemäß vorgeschlagenen Maßnahmen wird verhindert, daß sich lange Formate gegenseitig kreuzen. Trotzdem bleibt natürlich das Problem der Häufung von Einträgen bestehen. Nach dem bisherigen lag eine Häufung dann vor. wenn sich bei einem versuchten Neueintrag alle Speicherplätze entlang der zuständigen Vorsilbenlinie als besetzt erwiesen. Für die Eintragung gemischter Datenformate muß dieser Begriff nun dahingehend erweitert werden, daß eine Häufung auch dann vorliegt, wenn nur ein Teil der für die Eintragung eines langen Formats benötigten Speicherplätze in allen entlang der in Frage kommenden Vorsilbenlinie liegenden Eintragungsräumen unter Berücksichtigung des zugeordneten Rasters belegt ist. Solche, eine Neueintragung störenden Belegungen können durch kürzere, gleiche oder längere Formate verursacht sein. Hier bietet sich als eine in vielen Fällen zum Erfolg führende Abhilfe die Anwendung des eingangs beschriebenen Verdrängungsverfahrens gemäß einem früheren Vorschlag an, wonach der störende Speicherinhalt vorübergend in einem Hilfsregister HR untergebracht wird, dessen Kapazität daher dem längsten für eine Verdrängung in Frage kommenden Format angepaßt ist. Der Inhalt des Hilfsregisters HR wird anschließend wie ein Neueintrag behandelt. Ist das Hilfsregister HR selbst ein kleiner Assoziativspeicher, dann kann sein jeweiliger Inhalt jederzeit an Assoziationsvorgängen teilnehmen. Anderenfalls muß mit assoziativen Suchvorgängen bis zur vollständigen Beendigung eines Verdrängungsvorgangs gewartet werden. The measures proposed according to the invention prevent long formats from crossing each other. Nevertheless, the problem of the accumulation of entries naturally remains. After the previous one, there was an accumulation. if, when a new entry is attempted, all storage spaces along the relevant prefix line are found to be occupied. For the entry of mixed data formats, this term must now be extended to the effect that there is an accumulation even if only some of the storage spaces required for the entry of a long format are occupied in all the entry spaces along the relevant prefix line, taking into account the assigned grid . Such assignments, which interfere with a new entry, can be caused by shorter, identical or longer formats. A remedy that leads to success in many cases is to use the displacement method described at the beginning according to an earlier proposal, according to which the disruptive memory content is temporarily accommodated in an auxiliary register HR , the capacity of which is therefore adapted to the longest format that can be displaced . The content of the auxiliary register HR is then treated like a new entry. If the auxiliary register HR itself is a small associative memory, then its respective content can participate in association processes at any time. Otherwise, associative searches must be waited for until a displacement process has been completed.

Bei der Schaffung freier Eintragungsräume für lange Formate durch Verdrängung bereits vorhandener Einträge ist es natürlich unzweckmäßig, gleich lange oder längere Formate (erkennbar durch das ebenfalls abgelegte Formatlängenkennzeichen FLK) zu verdrän- &> gen, da solche Formate an anderer Stelle möglicherweise auch nur schwer unterzubringen sind. Allgemein kann die Regel aufgestellt werden, daß wegen des wachsenden Zeitbedarfs wiederholte Verdrängungen, d.h. Verdrängungen, die unmittelbar weitere Verdrängungen auslösen, nach Möglichkeit zu vermeiden sindWhen creating free entry spaces for long formats by displacing existing entries, it is of course inexpedient to displace formats of the same length or longer (recognizable by the format length indicator FLK, which is also stored), since such formats may also be difficult to accommodate elsewhere are. In general, the rule can be established that, because of the increasing time requirement, repeated displacements, ie displacements which immediately trigger further displacements, should be avoided if possible

In solchen Fällen ist es besser, durch Hochzählen des Erweiterungszählers EZ neue Vorsilbenlinien zu eröffnen. Gleichzeitig wird in allen Speicherplätzen entlang der Vorsilbenlinie, die dem vorhergehenden Stand des Erweiterungszählers EZ entspricht, ein »Häufungsbit« eingetragen. Auch die verlängerte Vorsilbenlinie kann sich als belegt erweisen, doch bieten sich nunmehr vielleicht günstigere Voraussetzungen für die Anwendung des Verdrängungsverfahrens. Gegebenenfalls muß eine weitere Verlängerung der Vorsilbenlinie geschaffen werden. In such cases it is better to open new prefix lines by incrementing the EZ extension counter. At the same time, an "accumulation bit" is entered in all memory locations along the prefix line that corresponds to the previous status of the extension counter EZ . The extended line of prefixes can also prove to be proven, but now there are perhaps more favorable conditions for the use of the displacement procedure. If necessary, a further extension of the prefix line must be created.

Gemäß F i g. 1 ist, wie schon angegeben wurde, ein Eingangsregister ER zur Aufnahme der in den Assoziativspeicher einzugebenden Daten bzw. der Daten vorgesehen, deren Vorhandensein im Assoziativspeicher festgestellt werden soll. Es ist zweckmäßig, für die Übertragung der am Assoziativspeicherkomplex bzw. am Eingangsregister ER eingehenden Daten einen Übertragungskanal bereitzustellen, dessen Breite dem Datengrundformat angepaßt ist. Lange Formate werden in Abschnitte von der Länge des Grundformats unterteilt. Diese Abschnitte werden nacheinander übertragen. Gleichzeitig mit der Übertragung eines Grundformats bzw. des ersten Abschnitts eines langen Formats erfolgt die Übermittlung des schon erwähnten Formatlängenkennzeichens FLK; dem als zusätzliches Steuerbit ein Anfangskennzeichen beigefügt werden kann.According to FIG. 1, as has already been stated, an input register ER is provided for receiving the data to be entered into the associative memory or the data whose presence in the associative memory is to be determined. It is useful to provide a transmission channel for the transmission of the data arriving at the associative memory complex or at the input register ER , the width of which is adapted to the basic data format. Long formats are divided into sections the length of the base format. These sections are transmitted one after the other. Simultaneously with the transmission of a basic format or the first section of a long format, the already mentioned format length identifier FLK is transmitted; to which an initial identifier can be added as an additional control bit.

Das Anfangskennzeichen erleichtert in Verbindung mit dem Formatlängenkennzeichen FLK die Feststellung, ob das gekennzeichnete Format vollständig übertragen wurde. Es kann beispielsweise dazu dienen, ein Schieberegister (oder einen Zähler) nach Maßgabe des Formatlängenkennzeichens voreinzustellen. Mit jedem übertragenen Abschnitt eines langen Formats wird die Stellung des Schieberegisters in Richtung zur Grundstellung hin verändert. Entsprechend der jeweiligen Stellung des Schieberegisters wird der Übertragup.gskana! mit Hilfe eines Multiplexernetzwerks auf die einzelnen Felder des Eingangsregisters ER durchverbunden. The start identifier, in conjunction with the format length identifier FLK, makes it easier to determine whether the marked format has been transferred in full. It can be used, for example, to preset a shift register (or a counter) in accordance with the format length identifier. With each transmitted section of a long format, the position of the shift register is changed in the direction of the basic position. According to the respective position of the shift register, the transfer up.gskana! with the help of a multiplexer network through-connected to the individual fields of the input register ER .

Fügt man zwischen das Schieberegister und das Multiplexernetzwerk ein Steuernetzwerk ein, welches es gestattet, die Steuerung des Multiplexernetzwerkes außer von der Stellung des Schieberegisters auch noch von Meldungen über freie Ablageplätze, von der durch das Formatlängenkennzeichen bestimmten Rastereinteilung und von übergeordneten Kriterien für die Bestimmung von Ablageplätzen, auf die anschließend näher eingegangen wird, abhängig zu machen, danr können die abschnittweise übertragenen Daten auch unmittelbar in den Assoziativspeicher eingegeber werden. If a control network is inserted between the shift register and the multiplexer network, which allows the multiplexer network to be controlled not only from the position of the shift register but also from messages about free storage spaces, from the grid division determined by the format length indicator and from superordinate criteria for determining storage spaces , which will be discussed in more detail below, must be made dependent, then the data transferred in sections can also be entered directly into the associative memory.

Aus den vorangegangenen Ausführungen ergibt sicr klar, daß für die Ablage neuer Begriffe im Grundformal in den Assoziativspeicher nur Speicherplätze in Frage kommen, die auf der für den neuen Begriff charakteristischen Vorsilbenlinie liegen. Für neue Begriffe mil langen Formaten gilt das nur für die jeweiliger Anfangsabschnitte (Kopf) mit der weiteren Einschrän kung, daß die zulässigen Speicherplätze zur Aufnahme der Anfangsabschnitte darüber hinaus durch ein von der Formatlänge abhängiges Raster bestimmt sind.From the preceding explanations it is clear that for the filing of new terms in the basic form In the associative memory, only memory locations are possible that lie on the prefix line characteristic of the new term. For new terms mil long formats, this only applies to the respective initial sections (headers) with the additional restriction kung that the permissible storage locations for receiving the initial sections also by one of the Format length dependent grid are determined.

Vor der Ablage neuer Begriffe muß geprüft werden ob unter Zugrundelegung der von den Mitteln für die Adressenbildung (Adreßwandler) gelieferten Ablageadressen noch Einträge möglich sind. Hierzu werder zunächst alle Speicherbänke von den zugehöriger Adreßwaiidlern angesteuert und festgestellt, bei wel chen Speicherbänken man auf belegte Plätze stößtBefore filing new terms, it must be checked whether, on the basis of the resources available for the Address formation (address converter) delivered storage addresses are still entries possible. For this purpose initially all memory banks controlled by the associated address waiidlers and determined at wel When memory banks are used, you come across occupied spaces

609 551/44;609 551/44;

Diese Bänke scheiden für die Aufnahme des einzugebenden Begriffes aus. Bei dieser Überprüfung erhält man eine Liste von Speicherbänken, die für Neueinträge noch zur Verfugung stehen. Unter diesen Speicherbänken kann im Prinzip eine beliebige Bank zur Ablage des neuen Begriffs ausgewählt werden.These banks are ruled out for the inclusion of the term to be entered. Receives this review a list of memory banks that are still available for new entries. Under these memory banks In principle, any bank can be selected to store the new term.

Für die Auswahl einer bestimmten Speicherbank aus den insgesamt noch zur Verfügung stehenden Speicherbänken bieten sich zunächst drei Möglichkeiten an. Ein Verteilermechanismus mit zyklischem Umlauf füllt alle Speicherbänke nahezu gleichmäßig auf. Wegen der unregelmäßig verlaufenden Vorsilbenlinien werden Neueinträge jedoch annähernd statistisch über den ganzen Speicher verteilt. Letzteres gilt naturgemäß auch für einen statistischen Verteilermechanismus. Die prioritive Verteilung fördert die Konzentration der Speicherfüllung in Richtung hoher Prioritäten. Dementsprechend bleiben Bänke mit den niedrigsten Prioritäten zunächst weitgehend frei.For selecting a specific memory bank from the total of memory banks that are still available There are initially three options. A cyclic circulation manifold mechanism fills all of them Memory banks almost evenly. Because of the irregular lines of prefixes, However, new entries are roughly statistically distributed over the entire memory. The latter naturally applies also for a statistical distribution mechanism. The priority distribution promotes the concentration of Memory filling in the direction of high priorities. Accordingly, banks remain with the lowest priority initially largely free.

Im Hinblick auf die durchmischte Ablage verschiedener Datenformate ist keine der genannten Möglichkeiten für die Auswahl von Speicherbänken bzw. von Speicherplätzen auf der jeweils gültigen Vorsilbenlinie optimal. Vielmehr ist es wünschenswert, daß noch möglichst lange, d. h. bis zu einem relativ hohen Füllungsgrad des Speichers, zusammenhängende Eintragungsräume für die Ablage langer Formate frei bleiben.With regard to the mixed filing of different data formats, none of the options mentioned is available for the selection of memory banks or memory locations on the respectively valid prefix line optimal. Rather, it is desirable that as long as possible, i. H. up to a relatively high one Filling level of the memory, contiguous entry spaces free for storing long formats stay.

Gemäß einer Weiterbildung der Erfindung werden aus den für einen Neueintrag grundsätzlich noch zur Verfügung stehenden Speicherplätzen jeweils diejenigen mit der niedrigsten Adressennummer ausgewählt. Um den für die Durchführung dieses Verfahrens erforderlichen Schaltungsaufwand gering zu halten, wird jedoch nicht jeder einzelnen Adressennummer ein von der nächstniedrigen bzw. nächsthöheren Adressennummer abweichender Rang zugeordnet, sondern es wird jeweils eine ganze Gruppe von aufeinanderfolgenden Adressen gleichrangig eingestuft.According to a further development of the invention, the for a new entry are basically still to The memory locations available with the lowest address number are selected. In order to keep the circuit complexity required to carry out this process low, However, not every individual address number is a one from the next lower or next higher address number different rank assigned, but there is always a whole group of consecutive Addresses ranked equally.

Dazu werden alle Speicherbänke in 1. beispielsweise acht Adressenbereiche oder Segmente aufgeteilt, die dann von den drei führenden Bit der von den Mitteln für die Adressenbildung erzeugten Speicherplatzadressen bestimmt sind. Eine feinere Unterteilung bringt keinen wesentlichen zusätzlichen Gewinn in der gewünschten Richtung, läßt aber den erforderlichen Schaltungsaufwand beträchtlich anwachsen.For this purpose, all memory banks are divided into 1. eight address areas or segments, for example then from the three leading bits of the memory location addresses generated by the means for addressing are determined. A finer subdivision does not bring any significant additional benefit to the desired one Direction, but allows the required circuit complexity to grow considerably.

Ein Ausführungsbeispiel für eine Anordnung zur Durchführung genannter Maßnahmen zeigt F i g. 4. Der Darstellung ist ein Assoziativspeicher mit acht Speicherbänken zugrundegelegt wobei die Speicherbänke selbst nicht dargestellt sind. Weiterhin sind von den jeder Speicherbank individuell zugeordneten Einrichtungen nur diejenigen gezeigt, welche die Speicherbänke 0,1 und 7 betreffen.An exemplary embodiment of an arrangement for carrying out the measures mentioned is shown in FIG. 4. The The illustration is based on an associative memory with eight memory banks, the memory banks themselves are not shown. Furthermore, each memory bank is individually assigned Devices only those relating to memory banks 0, 1 and 7 are shown.

Von den Adressen, die von den Mitteln AWO bis A W7 für die Bildung der Speicherplatzadressen aus der Vorsilbe VS des für die Ablage im Assoziativspeicher anstehenden Begriffs abgeleitet sind, werden die drei führenden, d. h. höchstwertigen Bit abgezweigt und Decodern DCO bis DCl zugeführt Die Mittel A WO bis AW7 (Adreßwandler) stehen in Fig. stellvertretend stellvertretebd für die in Verbindung mit Fig. 1 schon näher beschriebenen Einrichtungen für die Adressenbildung. Die Decoder DCO bis DCl sind von den allgemeinen Adressendecodern für die Anwahl von Speicherplätzen an sich unabhängig. Sie können aber auch Teile dieser allgemeinen Adressendecoder sein.Of the addresses of the pending for storage in the associative memory concept for the formation of the memory location addresses from the prefix VS derived from the means AWO to A W7, the three leading, ie most significant bits are branched off and decoders DCO to DCl supplied Means A WO to AW7 (address converter) are in Fig. Representative for the devices already described in connection with Fig. 1 for the formation of addresses. The decoders DCO to DCl are independent of the general address decoders for the selection of memory locations. But they can also be part of these general address decoders.

wenn spezielle steuerbare Ausgänge vorgesehen werden. if special controllable outputs are provided.

Die Decoder DCO bis DC7 liefern in der Form 1 aus I unmittelbar die Nummern der Segmente, in denen die adressierten Speicherplätze enthalten sind. Die entsprechenden Signale werden über eine Segmentnummern-Sammelleitung SB einem ersten Prioritätsnetzwerk PR 1 zugeführt, welches die jeweils niedrigste Segmentnummer ermittelt und in dualer Verschlüsselung ausgibt.The decoders DCO to DC7 directly supply the numbers of the segments in the form 1 from I in which the addressed memory locations are contained. The corresponding signals are fed via a segment number collecting line SB to a first priority network PR 1, which determines the lowest segment number in each case and outputs it in dual encryption.

ίο Um bei der Ermittlung der niedrigsten Segmentnummer nur die Segmente zu berücksichtigen, in denen die adressierten Speicherplätze noch nicht belegt sind (erkennbar durch ein fehlendes Belegtbit), werden die Decoder DCO bis DC7 durch Freisignale /0 bis Π gesteuert. Die Freisignale /0 bis (7 besagen, daß die auf der Vorsilbenlinie liegenden Speicherplätze in den zugeordneten Speicherbänken bzw. in deren durch die jeweils höchstwertigen Adressenbit gekennzeichneten Segmenten noch nicht belegt sind. Jeder Decoder gibt seine Ausgangssignale nur dann ab, wenn das betreffende Freisignal anliegt.ίο In order to only take into account the segments in which the addressed memory locations are not yet occupied when determining the lowest segment number (recognizable by a missing occupied bit), the decoders DCO to DC7 are controlled by free signals / 0 to Π . The free signals / 0 to (7 indicate that the memory locations on the prefix line in the assigned memory banks or in their segments identified by the most significant address bits are not yet occupied. Each decoder only emits its output signals when the relevant free signal is present .

Die von dem Prioritätsnetzwerk PR 1 ausgewählten Segmentnummer wird in dualer Verschlüsselung allen Vergleichern VGLO bis VGL 7 zugeführt. Diese vergleichen die Segmentnummer mit der höchsten Priorität mit den durch die höchstwertigen Bit der einzelnen Adressen bestimmten Segmentnummern um festzustellen, in welcher Speicherbank das ausgewählte Segment und damit der ausgewählte Speicherplatz liegt.The segment number selected by the priority network PR 1 is fed to all comparators VGLO to VGL 7 in dual encryption. These compare the segment number with the highest priority with the segment numbers determined by the most significant bits of the individual addresses in order to determine in which memory bank the selected segment and thus the selected memory location is located.

Da nun aber auf Grund des unregelmäßigen Verlaufs der Vorsilbenlinien leicht der Fall eintreten kann, daß eine Vorsilbenlinie gleichrangigen Segmenten von zwei oder mehr Speicherbänken angehört, werden die Ausgangssignale der Vergleicher VGLO bis VGL 7 an ein weiteres Prioritätsnetzwerk PR 2 (vgl. z. B. »Elektronik« 1973, H. 12, Seite 430) angelegt, welches die Speicherbank mit der jeweils höchsten Priorität festlegt. Dabei wäre es zunächst noch möglich, daß der auf der zuständigen Vorsilbenlinie liegende Speicherplatz in der ausgewählten Speicherbank bereits belegt ist, während eine Speicherbank mit einem freien Speicherplatz bei der zuletzt behandelten prioritiven Einstufung ausgeschieden wurde. Um das zu vermeiden, werden die schon erwähnten Freisignale /0 bis /7 auch zur Steuerung der Vergleicher verwendet. Fehlende Freisignale hindern die Vergleicher in jedem Fall an der Abgabe von Ausgangssignalen, also auch dann, wenn im übrigen der Vergleich eine Übereinstimmung ergibt. Speicherbänke, in denen der an sich in Frage kommende, d. h. adressierte Speicherplatz belegt ist, nehmen somit an der prioritiven Einstufung nicht mehr teil.Since, however, due to the irregular course of the prefix lines, it can easily happen that a prefix line belongs to segments of equal rank of two or more memory banks, the output signals of the comparators VGLO to VGL 7 are sent to a further priority network PR 2 (cf.e.g. »Electronics« 1973, issue 12, page 430), which defines the memory bank with the highest priority in each case. In this case, it would initially still be possible for the memory location on the relevant prefix line in the selected memory bank to be already occupied, while a memory bank with a free memory location was eliminated in the case of the priority classification last dealt with. In order to avoid this, the already mentioned free signals / 0 to / 7 are also used to control the comparators. Missing free signals prevent the comparators from emitting output signals in any case, that is to say even if the comparison also results in a match. Memory banks in which the relevant, ie addressed, memory space is occupied, therefore no longer take part in the priority classification.

Zusammenhängende Eintragungsräume für die Ablage langer Formate sollen nicht nur bei der erstmaligen Füllung des Assoziativspeichers möglichst lange zur Verfügung stehen. Es ist anzunehmen, daß beim Arbeiten mit dem assoziativen Speicher früher eingegebene Inhalte wieder gelöscht werden, daß die dadurch frei werdenden Speicherplätze über den ganzen Speicher verstreut sind und daß diese Speicherplätze wieder für Neueinträge benötigt werden. Um auch hierbei zusammenhängende Eintragungsräume für lange Formate bereitzustellen, ist es zweckmäßig, noch bestehende Inhalte von Speicherplätzen, die zu Segmenten mit hoher Nummer, d. h. niedriger Priorität gehören, längs ihrer Vorsilbenlinien auf freigewofdene Speicherplätze in Segmenten mit niedriger Nummer zu verlegen.Contiguous entry spaces for filing long formats should not only be used for the first time Fill the associative memory are available for as long as possible. It can be assumed that the Working with the associative memory previously entered content is deleted again that the Free memory spaces are scattered over the entire memory and that these memory spaces are needed again for new entries. In order to ensure that there are contiguous registration spaces for a long time To provide formats, it is expedient to save the contents of storage spaces that are still available High numbered segments, d. H. lower priority, along their prefix lines, to free ones Relocate storage locations in low numbered segments.

Hierzu 3 Blatt ZeichnungenFor this purpose 3 sheets of drawings

Claims (5)

Patentansprüche:Patent claims: 1. Einrichtung zur durchmischten Ablage verschiedener Datenformate, die ein Grundformat (kurzes Format) und aus dem n+1 fachen des Grundformats (n >1 und ganzzahlig) bestehende Formate (lange Formate) umfassen, in einem Assoziativspeicher aus mehreren gleichberechtigten Speicherbänken zur Aufnahme von Assoziationsbegriffen und nichtasso ziativen zugeordneten Begriffen, wobei die Adressen für die Speicherplätze in einer für alle Speicherbänke unterschiedlichen Weise aus einem Teil des Assoziationsbegriffs (Vorsilbe) mit Hilfe von Adreßwandlern ableitbar siad und die Belegung eines Speicherplatzes durch ein in eine dem Speicherplatz zugeordnete Speicherzelle eingetragenes »Belegtbit« bezeichnet wird, dadurch gekennzeichnet, daß die Kapazität der Speicherplätze den Grundformaten angepaßt ist, daß zwischen die Adreßwandler und die für Anwahl der Speicherplätze in den Speicherbänken erforderlichen Adressendecoder Multiplexer eingefügt sind, die durch ein Formatlängenkennzeichen derart gesteuert werden, daß die von einem Adreßwandler ausgegebene Adresse entsprechend dem Datenformat für die Adressierung von π Speicherbänken wirksam ist. 1. Device for the mixed storage of different data formats, which include a basic format (short format) and formats (long formats) consisting of n + 1 times the basic format (n > 1 and integer), in an associative memory made up of several memory banks with equal rights to accommodate association terms and nichtasso ziativen associated terms, in which the addresses for the storage locations in a different for all memory banks manner from a part of the association term (prefix) derivable siad using Adreßwandlern and the assignment of a storage location by a registered in a memory location associated with the memory cell "busy bit" is referred to, characterized in that the capacity of the memory locations is adapted to the basic formats that between the address converter and the address decoder multiplexer required for selecting the memory locations in the memory banks are inserted, which gest by a format length identifier It can be controlled that the address output by an address converter is effective in accordance with the data format for addressing π memory banks. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß — eine bei Null beginnende Zählung der Speicherbänke (B0 bis B 7) bzw. der zugeordneten Adreßwandler (A WO bis AH'7) vorausgesetzt — durch entsprechende Steuerung der Multiplexer (MPX)unter dem Einfluß des Formatlängenkennzeichens (FLK) diejenigen Adreßwandler wirksame Adressen liefern, deren Numerierung der Beziehung ρ · 2* gehorcht, wobei p. A>0 und ganzzahlig sind und 2A eine von der jeweiligen Formatlänge in Vielfachen η des Grundformats abhängige Dualzahl bezeichnet, für die gilt n< 2k< 2 n, und daß nur die so ausgewählten Speicherplätze für die Eintragung der Anfänge langer Formate vorgesehen sind.2. Device according to claim 1, characterized in that - a counting of the memory banks (B 0 to B 7) or the associated address converter (A WO to AH'7) starting at zero - provided by appropriate control of the multiplexer (MPX) below the influence of the format length identifier (FLK) is provided by those address converters whose numbering obeys the relation ρ · 2 *, where p. A> 0 and are integers and 2 A denotes a binary number dependent on the respective format length in multiples η of the basic format, for which n <2 k <2 n applies, and that only the memory locations selected in this way are intended for entering the beginnings of long formats . 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß jedem Speicherplatz Speicherzellen zur Aufnahme des Formatlängekennzeichens (FLK) zugeordnet sind.3. Device according to claim 2, characterized in that memory cells for receiving the format length identifier (FLK) are assigned to each memory location. 4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß dem Assoziativspeicher mindestens em Pufl'er-(Hilfs-)Register (HR) zugeordnet ist, dessen Breite der Länge des längsten für die Eintragung im Assoziativspeicher zugelassenen Formats entspricht. 4. Device according to claim 3, characterized in that the associative memory is assigned at least em buffer (auxiliary) register (HR) , the width of which corresponds to the length of the longest format permitted for entry in the associative memory. 5. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß mindestens ein Zähler (EZ) (Erweiterungszähler) vorgesehen ist. dessen Stand für die Bildung der Adressen mitbestimmend ist und jeweils um Eins erhöht wird, wenn die durch den vorausgehenden Adressenbildungsvorgang adressierten Speicherplätze bereits belegt sind, jnd daß in diesen Speicherplätzen gleichzeitig mit der Erhohung des Zählerstandes ein Markierungsbit (Häufungsbit) gesetzt wird.5. Device according to claim 3, characterized in that at least one counter (EZ) (extension counter) is provided. the status of which is decisive for the formation of the addresses and is increased by one each time the memory locations addressed by the previous address generation process are already occupied, and that a marking bit (accumulation bit) is set in these memory locations at the same time as the counter status is increased. b. Einrichtung nach einem der vorherghenden Ansprüche zur Auswahl eines Speicherplatzes für einen Neueintrag, dadurch gekennzeichnet, daß die Speicherplatzadressen in mehrere Segmente (Adressenbereichc) mit jeweils in sich fortlaufenden Adressennummern aufgeteilt sind, daß jeder Speicherbank (BO bis Bl) ein Decoder (DC1O bis DC 7) und ein Vergleicher (VGLO bis VGL 7) zugeordnet ist, daß jeweils die höchstwertigen, / Segmentnummern bezeichnenden Bit der Adressen den zugeordneten Decodern (DCQ bis DC 7) und Vergleichern (VGLO bis VGL 7) zugeführt werden, die nur dann ein Ausgangssignal bzw. Ausgangssi gnale abgeben, wenn ein Freisignal (fO bis /7) anliegt, welches angibt, daß der adressierte Speicherplatz in der betreffenden Speicherbank (50 bis B7) bzw. in dem betreffenden Segment noch nicht belegt ist, daß die Decoder (DCO bis DC7) die Nummern aller verfügbaren Segmente in der Form 1 aus / einem ersten Prioritätsnetzwerk (PR \) zuführen, welches die niedrigste Segmentnummer feststellt und in binär codierter Form allen Vergleichern (VGLO bis VGL 7) zuführt, welche durch Vergleich mit den höchstwertigen Bit der Adressen die Speicherbank bzw. die Speicherbänke ermitteln, der das Segment mit der niedrigsten Nummer angehört, bzw. denen die Segmente mit der niedrigsten Nummer angehören, und daß ein zweites Prioritätsnetzwerk (PR 2) vorgesehen ist, das bei mehreren in Frage kommenden Speicherbänken die Speicherbank mit der niedrigsten Nummer auswählt. b. Device according to one of the vorherghenden claims for selecting a storage space for a new entry, characterized in that the memory location addresses in a plurality of segments (Adressenbereichc) each having continuous self address numbers are divided so that each memory bank (BO to BL), a decoder (DC 1 O to DC 7) and a comparator (VGLO to VGL 7) is assigned that in each case the most significant / segment numbers designating bits of the addresses are supplied to the assigned decoders (DCQ to DC 7) and comparators (VGLO to VGL 7), which only then a Output signal or output signals when a free signal (fO to / 7) is present, which indicates that the addressed memory location in the relevant memory bank (50 to B7) or in the relevant segment is not yet occupied, that the decoder (DCO to DC7) supply the numbers of all available segments in the form 1 from / to a first priority network (PR \) , which determines the lowest segment number and the like nd in binary coded form to all comparators (VGLO to VGL 7) which determine the memory bank or memory banks to which the segment with the lowest number belongs or to which the segments with the lowest number belong by comparing them with the most significant bits of the addresses belong, and that a second priority network (PR 2) is provided, which selects the memory bank with the lowest number when there are several memory banks in question.
DE19742417840 1974-04-11 1974-04-11 DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY Granted DE2417840B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19742417840 DE2417840B2 (en) 1974-04-11 1974-04-11 DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY
AT184175A AT350305B (en) 1974-04-11 1975-03-10 MEMORY ARRANGEMENT FOR STORING MEMORY WORDS IN AN ASSOCIATIVE MEMORY
CH383975A CH589912A5 (en) 1974-04-11 1975-03-25
GB13420/75A GB1508353A (en) 1974-04-11 1975-04-02 Electronic data storage devices
FR7510866A FR2274993A1 (en) 1974-04-11 1975-04-08 DEVICE FOR CARRYING OUT THE NON-ORDERED STORAGE OF DIFFERENT DATA FORMATS IN A ASSOCIATIVE MEMORY
IT22162/75A IT1034978B (en) 1974-04-11 1975-04-09 DEVICE FOR THE MIXED ALLOCATION OF DIFFERENT DATA FORMATS OF AN ASSOCIATIVE MEMORY
NL7504293A NL7504293A (en) 1974-04-11 1975-04-10 DEVICE FOR THE MIXED STORAGE OF DIFFERENT INFORMATION FORMATS IN AN ASSOCIATIVE MEMORY.
BE155355A BE827869A (en) 1974-04-11 1975-04-11 DEVICE FOR CARRYING OUT THE NON-ORDERED STORAGE OF DIFFERENT DATA FORMATS IN A ASSOCIATIVE MEMORY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19742417840 DE2417840B2 (en) 1974-04-11 1974-04-11 DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY

Publications (3)

Publication Number Publication Date
DE2417840A1 DE2417840A1 (en) 1975-10-30
DE2417840B2 true DE2417840B2 (en) 1976-12-16
DE2417840C3 DE2417840C3 (en) 1977-08-11

Family

ID=5912833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742417840 Granted DE2417840B2 (en) 1974-04-11 1974-04-11 DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY

Country Status (8)

Country Link
AT (1) AT350305B (en)
BE (1) BE827869A (en)
CH (1) CH589912A5 (en)
DE (1) DE2417840B2 (en)
FR (1) FR2274993A1 (en)
GB (1) GB1508353A (en)
IT (1) IT1034978B (en)
NL (1) NL7504293A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55105763A (en) * 1979-02-05 1980-08-13 Fanuc Ltd Address instruction system

Also Published As

Publication number Publication date
GB1508353A (en) 1978-04-26
DE2417840A1 (en) 1975-10-30
AT350305B (en) 1979-05-25
ATA184175A (en) 1978-10-15
NL7504293A (en) 1975-10-14
BE827869A (en) 1975-10-13
FR2274993B3 (en) 1977-12-16
IT1034978B (en) 1979-10-10
CH589912A5 (en) 1977-07-29
FR2274993A1 (en) 1976-01-09

Similar Documents

Publication Publication Date Title
DE2560206C2 (en) Storage system with a slow working main memory of large capacity and with at least one fast working buffer memory of low capacity
DE1901343C3 (en) Data processing system for the execution of material invoices
DE1956604A1 (en) Data processing system with a storage system
DE2154106B2 (en) Main memory unit with two buffer memories and additional content-addressed auxiliary memory
EP0329005B1 (en) Method for establishing virtual circuits via switches of a multistage switching arrangement
DE10151091B4 (en) Scheduling system and scheduling procedure for it
DE2758829C2 (en) Data processing system with several processors
DE2063195C2 (en) Method and device for controlling the operation of a number of external data stores
DE2221442A1 (en) Associative memory
DE2558417A1 (en) DATA PROCESSING SYSTEM
EP0009625B1 (en) Data transfer commutator with associative address selection in a virtual store
DE2417840B2 (en) DEVICE FOR MIXED STORAGE OF DIFFERENT DATA FORMATS IN AN ASSOCIATIVE MEMORY
DE2417840C3 (en)
EP0035787B1 (en) Hybrid associative memory and its applications, particularly for sorting memorised data
DE3009330C2 (en) Method for sorting data stored in a hybrid associative memory and arrangement for carrying out the method
EP0964600B1 (en) Device and method for representing object addresses
DE2254884A1 (en) PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM
DE2302379B2 (en) CIRCUIT ARRANGEMENT FOR PERFORMING SEQUENTIAL INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING
EP0603632B1 (en) Method for controlling a processor device
DE2815636C2 (en) Method for handling the switching operation of a switching system, in particular telephone switching system
DE1947437C (en) Circuit arrangement for scanning and controlling the transmission of information between a memory system and input and output devices of data processing machines
DE2319468C3 (en) Storage device and method for entering terms into the same
DE2542845B2 (en) Method for operating a hierarchically structured, multi-level main memory system and circuit arrangement for carrying out the method
EP0100535A2 (en) Circuit for receiving and transmitting data signals with a relatively high date rate in a data switching network
DE2319468A1 (en) STORAGE DEVICE

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee