DE2451984A1 - DATA PROCESSING SYSTEM - Google Patents

DATA PROCESSING SYSTEM

Info

Publication number
DE2451984A1
DE2451984A1 DE19742451984 DE2451984A DE2451984A1 DE 2451984 A1 DE2451984 A1 DE 2451984A1 DE 19742451984 DE19742451984 DE 19742451984 DE 2451984 A DE2451984 A DE 2451984A DE 2451984 A1 DE2451984 A1 DE 2451984A1
Authority
DE
Germany
Prior art keywords
address
entry point
point
entry
points
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
DE19742451984
Other languages
German (de)
Other versions
DE2451984C2 (en
Inventor
Kenneth E Barbour
Christopher M Mcculloch
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2451984A1 publication Critical patent/DE2451984A1/en
Application granted granted Critical
Publication of DE2451984C2 publication Critical patent/DE2451984C2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Executing Machine-Instructions (AREA)

Description

HONEYKELL INFORMATION SYSTEMS INC. 200 Smith Street
Waltham, Mass./USA
HONEYKELL INFORMATION SYSTEMS INC. 200 Smith Street
Waltham, Mass./USA

DatenverarbeitungssystemData processing system

Die Erfindung bezieht sich auf ein Datenverarbeitungssystem und insbesondere auf eine Einrichtung zur Zuteilung von Speicherplätzen für Programme und zum schnellen Wiederauffinden solcher Programme.The invention relates to a data processing system and in particular to a device for allocating memory spaces for programs and for quickly retrieving such programs.

In Datenverarbeitungssystemen ist es oftmals erforderlich, die Operationen eines älteren Datenverarbeitungssystems auszuführen, was durch einen sogenannten Emulationsprozess bewerkstelligt v/erden kann..Das ältere der Emulation zu unterwerfende Datenverarbeitungssystem kann einige hundert Befehle aufweisen, welche in dem älteren Datenverarbeitungssystem befehlsgemäße Funktionen hervorrufen. Wenn ein solcher zur Verwendung in dem älteren Datenverarbeitungssystem geschaffenerBefehl in einem neueren Datenverarbeitungssystem verwendet werden soll, ist es üblicherweise erforderlich, einen Befehl oder eine Gruppe von Befehlen, d.h. ein Programm oder eine Routine zu erzeugen, damit das neuere Datenverarbeitungssystem in der gleichen Weise wie das alte Datenverarbeitungssystem arbeiten kann.In data processing systems it is often necessary that the Carry out operations of an older data processing system, which is accomplished by a so-called emulation process can .. The older data processing system to be subjected to emulation can have a few hundred instructions which cause functions in accordance with instructions in the older data processing system. if one for use in the older data processing system If an instruction created is to be used in a newer data processing system, it is usually necessary to use an instruction or a group of instructions, i.e. a program or routine to allow the newer data processing system to operate in the same way as the old data processing system.

Die mit den in solcher Weise erhaltenen Befehlen versehenenPrograiame werden üblicherweise in dem Arbeitsspeicher des Systems gespeichert. Das Wiederauffinden dieser Programme kann in der Weise bev/erkstelligt werden, daß der erhaltene Befehl einfach mit einer Adresse desThe programs provided with the commands received in this way are usually stored in the system memory. The retrieval of these programs can be accomplished in the manner that the command received is simply linked to an address of the

509 820/0752509 820/0752

"■ 2 —"■ 2 -

zugehörigen Programmes in dem Speicher verbunden wird; jedoch ist es nicht immer möglich, alle Programme in dem Speicher abzuspeichern, da vielfach die Arbeitsspeicherkapazität beschränkt ist. Somit kann nur eine gewisse Anzahl von-Programmen in dem Arbeitsspeicher abgelegt werden.associated program is linked in the memory; however, it is not always possible to store all programs in the memory, since the main memory capacity is often limited. Thus, only a certain number of programs can be in the Working memory.

Ein Verfahren zur Lösung dieses Problems besteht beispielsweise darin, einige der Programme in einer zweiten Speichereinrichtung, beispielsweise einem Plattenspeicher abzuspeichern, hat sich jedoch herausgestellt, daß die Zeit,die benötigt wird, um ein Programm aus einem Plattenspeicher abzurufen, im allgemeinen langer ist als die Zeit,.die benötigt wird, um ein Programm in Übereinstimmung mit den Erfordernissen des erhaltenen Befehls zu erzeugen. One method of solving this problem is, for example, to store some of the programs in a second storage device, For example, to save a disk storage, but has found that the time it takes to fetch a program from disk storage is generally longer is called the time it takes to make a program in compliance with the requirements of the command received.

Aus dem vorstehend gesagten erscheint es lohnend, die Zuordnung von Speicherplätzen zu verschiedenen Programmen sowie die Zugriffsgeschwindigkeit zu diesen Programmen in Abhängigkeit von einem erhaltenen Befehl einer näheren Betrachtung zu unterziehen, da beispielsweise solche Programme Ein-/Ausgabe —Operationen zwischen dem Datenverarbeitungssystem und damit verbundenen peripheren Einrichtungen zugeordnet sind, wobei eine Datenübertragung mit extrem hohen Geschwindigkeiten gefordert wird.From what has been said above, it seems worthwhile to assign memory locations to different programs and the speed of access to these programs as a function of a received program Command to take a closer look, since such programs, for example, I / O operations between the data processing system and associated peripheral devices are assigned, with a data transmission with extreme high speeds are required.

Es ist daher die Aufgabe der vorliegenden Erfindung, eine verbesserte Technik zur Zuteilung von Speicherplatz für Programme in einem Datenspeicher anzugeben, die eine effektivere Ausnutzung des vorhandenen Speicherplatzes gestattet.It is therefore the object of the present invention to provide an improved Technique for allocating memory space for programs in a data store to indicate that a more effective use of the existing one Storage space permitted.

Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar. Es ist insbesondere ein weiteres Merkmal der Erfindung, daß durch sie nicht nur eine effiziente Zuteilung von Speicherplätzen ermöglicht wird, sondern auch die rasche Widerauffindung eines besonderen, dem empfangenenThis object is achieved according to the one characterized in claim 1 Invention. Further advantageous refinements of the invention can be found in the subclaims. It is particular a further feature of the invention that it not only enables efficient allocation of memory locations, but also the quick retrieval of a special one, the one received

509 8 2 0/0752509 8 2 0/0752

Befehl zugeordneten Programms.Command associated with the program.

Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Figuren der beiliegenden' Zeichnungen erläutert. Es zeigen:An embodiment of the invention is based on the following of the figures of the accompanying drawings. Show it:

Figur 1 ein allgemeines Blockdiagramm des Systems gemäß der vorliegenden Erfindung;Figure 1 is a general block diagram of the system according to the present invention Invention;

Figur 2 ein Flußdiagramm, welches den Anfangszustand einer Gruppe von Eingangsstellen innerhalb einer Suchtabelle zeigt;Figure 2 is a flow chart showing the initial state of a group shows entry points within a look-up table;

Figur 3 ein Flußdiagramm einer Gruppe von Eingangsstellen innerhalb der Suchtabelle, wobei die Verbindung der Hinweisadressen in den Eingangsstellen der Suchtabelle dargestellt ist, nachdem eine der Eingangsstellen ihr zugehöriges Programm adressiert hat;Figure 3 is a flow diagram of a group of entry points within the search table, the connection of the reference addresses is shown in the entry points of the search table after a the entry point has addressed its associated program;

Figur 4 ein Flußdiagramm einer Gruppe von Eingangsstellen' innerhalb der Suchtabelle, wobei der Zustand-verschiedener Hinweisaaressen dargestellt ist nachdem eine neue Eingangsstelle in die Suchtabelle eingefügt wurde;Figure 4 is a flow diagram of a group of entry points within the look-up table, with the state-of-various clues is shown after a new entry point has been added to the search table;

Figur 5 ein die Wirkungsweise der vorliegenden Erfindung darstellendes Flußdiagramm undFigure 5 shows the mode of operation of the present invention Flowchart and

Figuren 6a und 6b ein schematisches Blockdiagramm des Systems gemäß der vorliegenden Erfindung. ·FIGS. 6a and 6b show a schematic block diagram of the system according to FIG of the present invention. ·

Gemäß Figur 1 ist ein Blockdiagramra der vorliegenden Erfindung dargestellt. Das System ist zum Empfang eines Befehles an eine Leitung 100 angeschlossen. Dieser Befehl kann einen solchen Befehl darstellen,welcher durch das System gemäß der vorliegenden Erfindung durch einen oder mehrere Befehle, z.B. ein Programmfausgeführt wird, welches in dem Arbeitsspeicher 108 abgespeichert ist. Insbesondere kann der auf der Leitung 100 empfangene Eefehl für ein anderes Datenverarbeitungssystem ausgelegt sein und das in dem Speicher 108According to FIG. 1, a block diagram of the present invention is shown. The system is connected to a line 100 to receive an order. This command can represent such a command which is executed by the system according to the present invention by means of one or more commands, for example a program f , which is stored in the main memory 108. In particular, the command received on the line 100 can be designed for a different data processing system and that in the memory 108

509820/0752509820/0752

zugeordnete Programm kann dasjenige sein, welches erforderlich ist, um die befohlene Operation auf dem vorliegenden System durchzuführen. Dementsprechend wird beim Anstehen eines Befehls auf der Leitung 100 ein besonderes Programm im Arbeitsspeicher 108 adressiert. Die Zeit zwischen dem Empfang eines Befehles auf der Leitung 100 und der Adressierung eines zugeordneten Programmes im Arbeitsspeicher 108 muß auf das geringstmögliche Ausmaß aus folgenden Gründen beschränkt werden. Einerseits sind viele Programme erforderlich für eine Emulation der verschiedenen auf der Leitung 100 anstehenden Befehle. Ein Plattenspeicher ist daher aus Gründen der längeren Zugriffszeit für die Abspeicherung solcher Programme nicht zweckmäßig. Der Arbeitsspeicher 108 ist daher zweckmäßigerweise als Magnetkern- oder Halbleiterspeicher auszuführen. Ein solcher Arbeitsspeicher erlaubt einen schnellen Zugriff, ist aber im allgemeinen in seiner Speicherkapazität beschränkt.assigned program can be the one that is required to perform the commanded operation on the present system. Accordingly, if a command is pending on the Line 100 addresses a special program in main memory 108. The time between receiving a command on the line 100 and the addressing of an assigned program in Main memory 108 must be limited to the lowest possible level for the following reasons. On the one hand, there are many programs required for an emulation of the various commands pending on line 100. A disk storage is therefore for reasons The longer access time for storing such programs is not practical. The main memory 108 is therefore expedient designed as magnetic core or semiconductor memory. Such a main memory allows quick access, is but generally limited in its storage capacity.

Wie zuvor bereits erwähnt, stehen auf der Leitung 100 verschiedene Befehle zur Ausführung an. Durch das System gemäß der vorliegenden Erfindung werden die höchstrangigen Bits solcher Befehle wie nachstehend beschrieben über eine Maske 102 in einer Startpunkttabelle 104 abgelegt. Die Startpunkttabelle 104 weist eine Vielzahl von Speicherplätzen auf, wobei die Anzahl der Speicherplätze durch die Anzahl der höchstrangigen Bits festgelegt ist. Beispielsweise können die Maske 102 die· sechs höchstrangigen Bits passieren, wodurch in die Startpunkttabelle 104 eine 6 -Bit Adresse eingeschrieben wird und sich eine Anzahl von 64 adressierbaren Speicherplätzen innerhalb der Tabelle 104 ergibt. Jeder Speicherplatz innerhalb der Startpunkttabelle 104 weist eine Adresse auf, welche dazu benutzt wird, eine Eingangsstelle in einer Suchtabelle 106 zu adressieren wie nachstehend beschrieben wird. Jede Eingangsstelle in der.Suchtabelle 106 weist mehrere Parameter auf, von denen fünf im vorliegenden Fall von Interesse sind.As mentioned earlier, there are 100 different ones on the line Commands for execution. By the system according to the present invention, the most significant bits of such instructions become as below described and stored in a starting point table 104 via a mask 102. The starting point table 104 has a plurality of Storage locations, the number of storage locations being determined by the number of the highest-ranking bits. For example, can The six highest-ranking bits pass through the mask 102, as a result of which a 6-bit address is written into the starting point table 104 and a number of 64 addressable memory locations within the table 104 results. Any storage space within The starting point table 104 has an address which is used to address an entry point in a search table 106 as described below. Each entry in the search table 106 has several parameters, five of which are of interest in the present case.

Wie zuvor bereits erwähnt, muß auf Grund der begrenzten Speicherkapazität des Arbeitsspeichers 108 der Speicherplatz so schnellAs mentioned before, due to the limited storage capacity of RAM 108 the storage space as quickly

509820/0752509820/0752

wie möglich ausgenutzt werden. Demgemäß wird durch Bildung einer Warteschlange der Eingangsstellen innerhalb der Suchtabelle 1OG/ wobei die zuletzt am häufigsten benutzte Eip.gangsstelle und die zuletzt am wenigsten benutzte Eingangsstelle sich an verschiedenen Enden der Warteschlange befinden, ein Schema geschaffen, bei dem die zuletzt am wenigsten benutzten Eingangsstellen und ihr zugeordnetes Programm durch neugebildete Programme ersetzt werden und die Warteschlange in dieser Weise immer neu ergänzt wird. Auf diese Weise liegen die am meisten benutzten Programme mit ihren Eingangsstellen am oberen Ende der Warteschlange innerhalb der Suchtabelle 106 und sind somit verfügbar^ ohne daß für sie ein Aufbauverfahren für ein neues Programm erforderlich ist. Weniger oftbenutzte Programme mit ihren zugeordneten Eingangsstellen innerhalb der Suchtabelle 106 können durch Eingangsstellen ersetzt werden, die neuen Programmen zugeordnet sind, welche während der Operation des Systems erforderlich werden. Die in der Startpunkttabelle 1O4 abgelegten Adressen weisen die höchstrangigen Bits des auf der Leitung 100 ankommenden Befehls auf. Diese höchstrangigen Bits können irgendeine der Vielzahl von Eingangsstellen innerhalb der Suchtabelle 106 adressieren. Jede aus der Vielzahl von Eingangs·- stellen, die durch die Tabelle 104 adressierbar sind, kann ihrerseits andere Eingangsstellen innerhalb einer gleichen Familie von Eingangsstellen adressieren. Somit können Eingangsstellen innerhalb der Suchtabelle 106, welche durch eine Anschluß-Hinweisadresse miteinander verbunden sind, als zu einer Familie von Eingangsstellen zugehörig betrachtet werden und jede dieser Eingangsstellen innerhalb einer Familie kann direkt durch die Tabelle 104 adressiert werden, wobei die Adressierung davon abhängt, welche Eingangsstelle innerhalb der Familie die zuletzt am häufigsten wirksam gewesene ist. Insbesondere sind die durch die Maske 102 hindurchgelassenen höchstrangigen Bits jene Bits, welche in den meisten Fällen einen Befehl vom anderen unterscheiden. Bei einem.32 Bit-Befehl, der über die Leitung 100 ankommt, kann beispielsweise festgestellt werden, daß in den meisten Fällen das Bit-Muster derbe exploited as much as possible. Accordingly, by queuing the entry points within the look-up table 1OG / where the last most frequently used egg passage and the last least used entrance are at different Ends of the queue, a scheme was created in which the last least used entry points and their associated program are replaced by newly created programs, and the Queue is always newly added in this way. In this way, the most frequently used programs are with their entry points at the top of the queue within the look-up table 106 and are thus available without any construction process for them is required for a new program. Less frequently used programs with their associated entry points within of the look-up table 106 can be replaced with entry points associated with new programs which will be used during the operation of the system. The addresses stored in the starting point table 1O4 have the highest-ranking bits of the Line 100 incoming command. These most significant bits can be any of a variety of entry points within the Address search table 106. Each of the multitude of input - that are addressable by the table 104 can in turn address other entry points within the same family of entry points. Thus, entry points within of the look-up table 106, which are linked together by a port pointer, are considered to belong to a family of entry points and each of these entry points within a family can be addressed directly through table 104 The addressing depends on which entry point within the family is the last most frequently effective has been. In particular, the most significant bits passed through mask 102 are those bits that are in most Differentiate one command from another. In the case of a 32-bit command arriving via line 100, for example it can be found that in most cases the bit pattern of the

50982 0/075250982 0/0752

höchstrangigen Bits, welches in verschiedenen Bit-Stellen des Befehls vorliegt im allgemeinen zur Unterscheidung eines Befehls von einem anderen ausreicht.'Demgemäß.ergeben sich mit sechs signifikanten Bits 64 verschiedene Eingangsstellen innerhalb der Suchtabelle 106, welche mittels der Startpunkttabelle 104 direkt adressiert werden können. Somit kann in Abhängigkeit von der Anordnung einer besonderen Eingangsstelle innerhalb der Tabelle 106 eine direkte Adressierung durch die Tabelle 104 vorgenommen werden oder kann alternativ durch Anschluß der direkt adressierbaren Eingangsstelle an die Startpunkttabelle 104 adressiert werden.highest-ranking bits, which are in different bit positions of the Command is generally sufficient to distinguish one command from another. 'Accordingly, result with six significant bits 64 different entry points within the search table 106, which by means of the starting point table 104 directly can be addressed. Thus, depending on the arrangement of a particular entry point within table 106, a direct addressing can be carried out by the table 104 or, alternatively, can be carried out by connecting the directly addressable input point to be addressed to the starting point table 104.

Die Maske 102 erhält einen Befehl über die Leitung 100 und läßt lediglich die signifikanten Bits passieren,um die Tabelle 104 zu adressieren. Die adressierte Stelle in der Tabelle 104 weist eine Adresse auf, welche.ihrerseits benutzt wird um eine Eingangsstelle innerhalb der Taballe 106 zu adressieren. Die Eingangsstellen haben die laufenden Nummern O bis 63 und entsprechen den Stellen 0 bis 63 innerhalb der Startpunkttsbelle 104. Es sei hier vermerkt, daß die Adressenstellen innerhalb der Tabelle 106 keine der Anzahl der Stellen innerhalb der Tabelle 104 entsprechende Anzahl aufweisen müssen. Beispielsweise kann die an der Stelle 2 abgelegte Adresse innerhalb der Tabelle 104 eine Eingangsstelle mit der Adresse 75 innerhalb der Tabelle 106 adressieren. Während von den dargestellten Eingangsstellen die Eingangsstellen 0, 30 und 45 mit keinen zusätzlichen nachfolgenden Eingangsstellen verbunden sind, ist beispielsweise die Eingangsstelle 0 mit zwei zusätzlichen Eingangsstellen innerhalb der gleichen Familie verbunden, während die Eingangsstellen 30 und 63 an drei bzw. einer Eingangsstellen angeschlossen sind. Die Eingangsstelle 45 weist keinen zusätzlichen Anschluß auf und demgemäß besteht ihre Familie alleine aus dieser einzigen Eingangsstelle. Wie aus der Suchtabelle 106 ersichtlich ist, können bis zu N Eingangsstellen vorgesehen sein, wie dies bei der Eingangsstelle mit der Adresse 30 der Fall ist.The mask 102 receives a command over the line 100 and only allows the significant bits to pass in order to address the table 104. The addressed position in the table 104 has an address which in turn is used to address an input position within the tables 106. The entry points have the serial numbers 0 to 63 and correspond to the positions 0 to 63 within the starting point table 104. It should be noted here that the address positions within the table 106 do not have to have a number corresponding to the number of positions within the table 104. For example, the address stored at position 2 within table 104 can address an input point with address 75 within table 106 . While input points 0, 30 and 45 of the input points shown are not connected to any additional subsequent input points, input point 0, for example, is connected to two additional input points within the same family, while input points 30 and 63 are connected to three or one input points. The entry point 45 has no additional connection and accordingly its family consists solely of this single entry point. As can be seen from the search table 106, up to N entry points can be provided, as is the case with the entry point with the address 30.

509 8 2 0/0752509 8 2 0/0752

2A519842A51984

Jede Eingangsstelle innerhalb der Suchtabelle 106 v/eist zumindest 5 Parameter auf wie dies für die Eingangsstelle mit der Adresse dargestellt ist. Diese 5 Parameter umschließen ein Suchargument 110,eine P-Hinweisadresse 111, eine Anschluß-Hinweisadresse 112, eine H-Anschlußadresse 113 und eine T-Anschlußadresse 114. Das Suchargument 110 umfasst einen Befehl, der mit dem auf der Leitung 100 ankommenden Befehl identisch sein kann und es wird zum Zweck einer Anzeige benutzt, ob Gleichheit zwischen dem erhaltenen Befehl und der adressierten Eingangsstelle innerhalb der Tabelle vorliegt. Liegt Gleichheit vor, so adressiert die P-Hinweisadresse 111 das Programm im Arbeitsspeicher 108. Die Anschluß-Hinweisadresse 112 ist in jeder der Eingangsstellen enthalten und zeigt zu der nächsten Eingangsstelle innerhalb der Familie,wobei die nächste Eingangsstelle gegenüber der gerade durch die Tabelle adressierten Eingangsstelle zuvor gerade nicht benutzt wurde. Die letzte Eingangsstelle innerhalb einer Familie von Eingangsstellen weist eine Anschluß-Hinweisadresse 112 aus binären Nullstellen auf, womit angezeigt ist, daß dies die letzte Eingangsstelle oder die zuvor am wenigsten benutzte Eingangsstelle innerhalb der Familie ist. Die H-Hinweisadresse 113 zeigt zu der zuvor am nächsthäufigsten benutzten Eingangsstelle innerhalb der Gesamtanzahl von Eingangsstellen der Suchtabelle 106 ohne Rücksicht auf die Familie, in welcher eine solche Eingangsstelle sich befindet. Ist demgemäß die Eingangsstelle mit der Adresse 30 innerhalb der Tabelle 106 zuvor häufiger benutzt worden als die Eingangsstelle mit der Adresse 45 so weist die H-Hinweisadresse 113 der Eingangsstelle 45 auf die Eingangsstelle 30 hin. In ganz ähnlicher Weise weist die T-Kinweisadresse 114 auf die zuvor nächstweniger benutzte Eingangsstelle hin, welche diejenige ist, die zuvor gerade benutzt wurde. 'Im vorliegenden Beispiel weist die T-Hinweisadresse der Eingangsstelle 30 auf die Eingangsstelle 45 hin* Weiterhin ist die von allen Eingangsstellen zuvor am häufigsten benutzte Eingangsstelle innerhalb der Tabelle 106 durch eine Kopf-Hinweisadresse 118 ausgewiesen. Entsprechend weist eine Schwanz-IIinweisadresse 116 auf die Eingangsstelle hin, welche zuvor von all den Eingangs-Each entry point within the look-up table 106 is at least v / e 5 parameters as shown for the input point with the address. These 5 parameters enclose a search argument 110, a P pointer 111, a port pointer 112, an H-port address 113 and a T-port address 114. The Search argument 110 includes a command that matches the one on the line 100 incoming command may be identical and it is used for the purpose of indicating whether equality between the command received and the addressed input point is available within the table. If they are the same, the P reference address addresses 111 the program in memory 108. The port pointer 112 is contained in each of the entry points and points to the next entry point within the family, the The next entry point compared to the entry point just addressed by the table was not used before. the The last entry point within a family of entry points has a connection reference address 112 made up of binary zeros, indicating that this is the last entry point or the previously least used entry point within the family is. The H hint address 113 points to the next most frequent one before used entry point within the total number of entry points of the search table 106 regardless of the family, in which such an entry point is located. Accordingly, it is the entry point with address 30 within the table 106 has previously been used more frequently than the entry point with the address 45, the H reference address 113 points to the entry point 45 towards the entrance point 30. In a very similar way, the T-Kinweis address 114 points to the next less used one Entry point, which is the one that was just used before. 'In this example, the T-reference address points to the entry point 30 towards the entrance point 45 * Furthermore, the Entry point within table 106 previously most frequently used by all entry points by means of a header reference address 118 reported. Correspondingly, a tail pointer 116 towards the entry point, which had previously been

509820/0752509820/0752

stellen in der Tabelle. 106 am wenigsten benutzt wurde. Gemäß Figur 1 weist die Kopf-Ilinweisadresse 118 auf die Eingangsctelle 30 und die Schwanz-Hinweisadresse 116 auf die zweite Eingangsstelle innerhalb der Familie von Eingangsstellen hin, dessen anfängliche Eingangsstelle die Adresse 63 aufweist.put in the table. 106 was the least used. According to FIG. 1, the header pointer address 118 points to the input column 30 and the tail pointer 116 to the second entry point within the family of entry points whose initial entry point has the address 63.

Jedesmal,wenn Gleichheit mit einer Eingangsstelle in der Suchtabelle 106 festgestellt wird, werden die Kopf- und sofern erforderlich die Schwanz-Hinweisadressen ergänzt. Zusätzlich werden bfüglich der Eingangsstelle,für die Gleichheit festgestellt wurde, sowie für die unmittelbar vorausgehende Eingangsstelle und die unmittelbar nachfolgende Eingangsstelle die H-Hinweisadresse 113 und die T-Hinweisadresse 114 ergänzt. Demgemäß werden lediglich drei Eingangsstellen innerhalb der Suchtabelle bezüglich ihrer Hinweisadressen ergänzt, wenn eine Eingangsstelle und somit ein Programm benutzt wird. Somit werden die zuvor am wenigsten benutzten Eingangsstellen am Ende der Warteschlange und die zuvor am häufigsten benutzten Eingangsstellen an der Spitze der Warteschlange angeordnet. Ergibt sich nunmehr beim Vergleich des eingehenden Befehls mit den in der Suchtabelle 106 vorliegenden Eingangsstellen keine Gleichheit, so ist dies gleichbedeutend damit, daß ein neues Programm im Zusammenhang mit dem auf der Leitung erhaltenen Befehl gebildet werden muß. In diesem Fall muß die zuvor am wenigsten benutzte Eingangsstelle, welche durch die Schwanz-Hinweisadresse 116 gekennzeichnet ist, durch die dem neuen Programm zugeordnete Eingangsstelle ersetzt werden. Ergibt sich beim ersten Vergleichsdurchlauf keine Gleichheit mit einer Eingangsstelle innerhalb der Tabelle 106, was der Fall ist, wenn die Adressen der Startpunkttabelle 104 nicht direkt auf die Adressen 0 bis 63 der Eingangsstellen innerhalb der Tabelle 106 weisen, so müssen die Anschluß-Hinweisadressen der zugeordneten Eingangsstellen ergänzt werden. Ergibt^ sich beim Vergleichsdurchlauf Gleichheit bezüglich einer Eingangsstelle direkt durch eine Adresse innerhalb der Tabelle 104, so liegt keine Notwendigkeit vor, die Anschluß- Hinweisadresse zu ändern. Ergibt sich jedoch nicht unverzüglich eineEvery time equality with an entry point in the look-up table 106 is detected, the head and, if necessary, the tail reference addresses are added. Additionally be with the entry point for which equality has been established, as well as for the immediately preceding entry point and the immediate The following entry point added the H reference address 113 and the T reference address 114. Accordingly, only three entry points within the search table with regard to their reference addresses added, if an entry point and thus a Program is used. Thus, the ones previously used the least Entry points at the end of the queue and the previously most frequently used entry points at the top of the queue arranged. This now results from the comparison of the incoming command with the input points present in the search table 106 no equality, this is tantamount to having a new program related to the one on the line received command must be formed. In this case, the previously least used entry point, identified by the tail pointer 116 is marked, are replaced by the entry point assigned to the new program. It arises from the first Comparison pass does not match an entry point within table 106, which is the case if the addresses of the Starting point table 104 does not point directly to addresses 0 to 63 of the input points within table 106, so the Connection reference addresses of the assigned input points can be added. If ^ the comparison run results in equality with respect to an entry point directly through an address within the table 104, there is no need to enter the connection reference address to change. However, if a

509820/0752509820/0752

Übereinstimmung mit einer Eingangsstelle innerhalb der Suchtabelle 106, so ist die Anschluß-IIinweisadresse für die übereinstimmende Eingangsstelle und für die Eingangsstelle, die unmittelbar vorangeht,zu ergänzen. Auf diese Weise Und z.B. wenn die Eingangsstelle, die die Gleichheit aufweist, die Eingangsstelle mit der Adresse 64 ist, welche unmittelbar mit der die Adresse O aufweisenden Eingangsstelle verbunden ist, ist ein Platztausch zwischen der Eingangsstelle 64 und der Eingangsstelle 0 erforderlich. Auf diese Weise wird die Eingangsstelle 64 von der Tabelle 104 direkt adressierbar und ihre Anschluß-PIinweisadresse wird zu der Eingangsstelle 0 weisen, während die Eingangsstelle 0 mit ihrer Anschluß-Hinweisadresse auf die zuvor mit der Eingangsstelle 64 verbundene Eingangsstelle hinweist, welche in diesem Fall die letzte Eingangsstelle innerhalb der Familie ist. Somit wird in Abhängigkeit von dem auf der Leitung 100 empfangenenEefehl bezüglich der Eingangsstelle 64 zuerst Gleichheit festgestellt und die Eingangsstelle 64 weist zu der Eingangsstelle 0, welche ihrerseits zu der letzten Eingangsstelle innerhalb der Familie weist. Auf diese Weise wird die Zeit, die erforderlich ist, um Übereinstimmung zwischen dem Befehl und einer Eingangsstelle innerhalb der Tabelle 1O6 herbeizuführen, auf ein Minimum beschränkt, da durch diese Technik die zuletzt am häufigsten benutzte Eingangsstelle insierhalb der Familie von Eingangsstellen durch die Adresse innerhalb des adressierten Speicherplatzes der Startpunkttabelle 104 direkt adressierbar bleibt.Match an entry point within the look-up table 106, then is the connection pointer address for the matching entry point and for the entry point that is immediately goes ahead to supplement. In this way And e.g. if the entry point, which has the equality, is the input point with the address 64, which is directly with the one having the address O. Entrance point is connected, an exchange of places between entry point 64 and entry point 0 is required. In this way, entry point 64 is removed from table 104 directly addressable and its connection point reference address will point to input point 0, while input point 0 will point to its Connection pointer to the input point previously connected to input point 64, which in this case is the is the last entry point within the family. Thus, in Depending on the command received on line 100 regarding the input point 64 first determines equality and the input point 64 points to the input point 0, which in turn points to the last entry point within the family. To this Way is the time it takes to match between the command and an entry point within the table 1O6, is limited to a minimum, as this technology means that the most recently used entry point inside the family of entry points through the address within the addressed memory location of the starting point table 104 directly remains addressable.

Anhand von Figur 2 soll nunmehr die Art und Weise, in der die H-Hinweisadressen und die T-Hinweisadressen angeschlossen werden, erläutert werden. Figur 2 zeigt den anfänglichen Zustand der Suchtabelle 106, welche beispielsweise und zur Erleichterung des Verständnisses lediglich 5 Eingangsstellen A bis E aufweist, wobei die Eingangsstelle E die zuvor am häufigsten benutzte und die Eingangsstelle A die zuvor am wenigsten benutzte ist. Weiterhin zeigt Figur 2 zwei Familien von Eingangsstellen, wobei die Eingangsstellc-n B und A zu einer Familie gehören und die Eingangsstelle E, die zuvor am häufigsten benutzte Eingangsstelle darstellt und wobei dieBased on Figure 2, the way in which the H reference addresses and the T-reference addresses are connected. Figure 2 shows the initial state of the look-up table 106, which for example and to facilitate understanding only has 5 input points A to E, where entry point E is previously the most frequently used and entry point A is previously the least used. Furthermore shows Figure 2 shows two families of entry points, the entry point c-n B and A belong to one family and the entry point E that previously the most frequently used entry point and where the

509820/0752509820/0752

Eingangsstellen E, D und C eine zweite Familie bilden, worin die Eingangsstelle E die zuvor am häufigsten benutzte innerhalb der Familie und die Eingangsstelle C die zuvor am wenigsten benutzte Eingangsstelle innerhalb der Familie darstellt. Demgemäß zeigt die Kopf-Hinweisadresse 118 zu dem Eingang E und die Schwanz-Kinweisadresse 116 zeigt zu der Eingangsstelle A. In gleicher Weise zeigt die H-Hinweisadresse der Eingangsstelle A zu der Eingangsstelle B usw. bis schließlich die H-Hinweisadresse der Eingangsstelle D zu der Eingangsstelle E zeigt. Die H-Hinweisadresse der Eingangsstelle E ist mit keiner anderen Eingangsstelle verbunden und weist demgemäß beispielsweise in all ihren Binärstellen eine O auf. Hinsichtlich der T-Hinweisadressen ist die T-Hinweisadresse der Eingangsstelle E mit der Eingangsstelle D verbunden usw. bis schließlich die T-Hinweisadresse der Eingangsstelle B auf die Eingangsstelle A hinweist. Die T-Hinweisadresse der Eingangsstelle A zeigt ebenfalls auf keine andere Eingangsstelle und die Binärstellen dieser Hinweisadresse sind demgemäß beispielsweise ebenfalls auf O gestellt.Entry points E, D and C form a second family in which the Entry point E the previously most frequently used within the family and entry point C the previously least used The entry point within the family. Accordingly, the head pointer 118 points to input E and the tail pointer address 116 points to entry point A. In the same way, the H-hint address of entry point A points to entry point B. and so on until finally the H-hint address of entry point D points to entry point E. The H note address of the entry point E is not connected to any other input position and accordingly has an O in all of its binary positions, for example. Regarding of the T-tip addresses, the T-tip address of entry point E is connected to entry point D, and so on until finally the T reference address of entry point B to entry point A. indicates. The T reference address of entry point A also shows to no other input point and the binary digits of this reference address are accordingly also set to 0, for example.

Die Anschluß-Hinweisadressen, welche lediglich auf Eingangsstellen innerhalb einer besonderen Familie von Eingangsstellen hinweisen, sind so angeordnet, daß die zuvor am häufigsten benutzte Eingangsstelle innerhalb der Familie zu der am nächsthäufigsten benutzten Eingangsstelle v/eist bis schließlich die letzte Eingangsstelle innerhalb der Familie ebenfalls mit einem Hinweis versehen ist. Demgemäß weist die Anschluß-Hinweisadresse der Eingangsstelle E zu der Eingangsstelle D und die Anschluß-Hinweisadresse der Eingangsstelle D zu der Eingangsstelle C. Die Anschluß-Hinweisadresse der Eingangsstelle C weist nicht nach der Eingangsstelle B und da die Eingangsstelle C die letzte Eingangsstelle innerhalb der Familie von Eingangsstellen ist, wird sie in all ihren Binärstellen auf O gesetzt, um anzuzeigen, daß dies die letzte Eingangsstelle innerhalb der Familie ist. In gleicher Weise weist die Anschluß-IIinweisadresse der Eingangsstelle B nach der Eingangsstelle A und die Anschluß-Hinweisadresse der Eingangsstelle A wird in all ihren Binärstellen auf O gesetzt, um anzuzeigen, daß diese die letzte Eingangsstelle innerhalb der Familie von Eingangsstellen ist.The connection pointers, which only refer to input points points within a particular family of entry points are arranged so that the previously most frequently used entry point within the family becomes the next most frequently used Entry point v / e is until finally the last entry point within the family is also provided with a note. Accordingly assigns the connection pointer of the input point E to the input point D and the connection point of the input point D to entry point C. The connection reference address of entry point C does not point to entry point B and since entry point C is the last entry point within the family of entry points it is set to O in all its binary digits, to indicate that this is the last entry point in the family. In the same way, the port pointer address entry point B after entry point A and the connection reference address of entry point A is in all its binary digits set to 0 to indicate that this is the last entry point is within the family of entry points.

509820/0752509820/0752

Gemäß Figur 3 stellt die Eingangsstelle D die beim Vergleich ermittelte Eingangsstelle und demgemäß die zuvor am häufigsten benutzte Eingangsstelle dar. Wie ersichtlich ist, beinhaltet die Schwanz-Hinweisadresse 116 die Adresse der zuvor am wenigsten benutzten Eingangsstelle, nämlich der Eingangsstelle Λ und die H-Ilinv7eisadressen der Eingangsstellen A und B bleiben gegenüber Figur 2 unverändert. Da nunmehr die Eingangsstelle D die zuvor am häufigsten benutzte Eingangsstelle ist, wird sie durch die Kopf-Hinweisadresse 118 adressiert und ihre H-Hinweisadresse ist in all ihren Binärstellen auf 0 gestellt. Demgemäß weist die II-Hinweisadresse der Eingangsstelle C nunmehr auf die Eingangsstelle E hin und die H-Hinweisadresse der Eingangsstelle E weist nunmehr auf die Eingangsstelle D. Es ist somit ersichtlich, daß bei einem festgestellten Vergleich lediglich drei Eingangsstellen berührt v/erden, nämlich die übereinstimmende Eingangsstelle D und die vorhergehende Eingangsstelle C sowie die nachfolgende Eingangsstelle E,- In gleicher Weise bleiben die T-Hinweisadressen der Eingangsstellen A, B und C unverändert, jedoch weist die T-Hinweisadresse der Eingangsstelle D nunmehr nach der Eingangsstelle E und die T-Hinweisadresse der Eingangsstelle E weist nach der Eingangsstelle C.· Im Hinblick auf die Anschluß-Hinweisadressen wird die Anschluß-Hinweisadresse der Eingangsstelle B nach der Eingangsstelle A nicht verändert. Ferner bleiben die binären Nullstellen innerhalb der Anschluß-Hinweisadresse der Eingangsstelle C unverändert. Hinsichtlich der Anschluß-Hinweisadresse der Eingangsstelle E, welche nach der Eingangsstelle D weist, findet nunmehr eine Umkehrung statt, so daß die Anschluß-Hinweisadresse der Eingangsstelle D nunmehr nach der Eingangsstelle E weist und die Anschluß-Hinweisadresse der Eingangsstelle E nach der Eingangsstelle C weist. Somit v/erden lediglich die Anschluß-Hinweisadressen der übereinstimmenden Eingangsstelle, in diesem Fall der Eingangsstelle D, und die unmittelbar vorausgehende Eingangsstelle, nämlich die Eingangsstelle C beim •Vorliegen von Gleichheit bei einem Vergleichsdurchlauf innerhalb der Tabelle 106 verändert. Es sei nochmals festgestellt, daß im Falle einer sich ergebenden Gleichheit b^üglich der EingangsstelleKAccording to FIG. 3, the input point D represents the one determined during the comparison Entry point and, accordingly, the one most frequently used before As can be seen, the tail pointer 116 includes the address of the least recently used Entry point, namely entry point Λ and the H-Ilinv7eisadressen of entry points A and B remain opposite Figure 2 unchanged. Since entry point D is now the entry point that was previously used most frequently, it is replaced by the header reference address 118 and its H reference address is set to 0 in all of its binary digits. Accordingly, the II pointer has entry point C now points to entry point E and the H reference address of entry point E now points to the Entry point D. It can thus be seen that if a comparison is found, only three entry points are touched v / earth, namely the matching entry point D and the preceding entry point C and the following entry point E, - In the same The T-reference addresses of the entry points A, B and C remain unchanged, however, the T-reference address of the entry point D now points to entry point E and the T reference address of entry point E points to entry point C. · With regard to The connection hint address of input point B after input point A is not changed to the connection pointers. Furthermore, the binary zeros within the connection reference address of input point C remain unchanged. Regarding the port pointer the entry point E, which points to the entry point D, is now reversed, so that the connection reference address of the input point D now points to the input point E and the connection reference address of the input point E points to entry point C. Thus, only the connection reference addresses of the corresponding input point are grounded, in this case the entry point D, and the immediately preceding entry point, namely the entry point C at • Existence of equality in a comparison run within table 106 changed. It should be noted again that im In the event of an equality, the entry point K

509820/0 7 52509820/0 7 52

2A5198A2A5198A

die H- und T-Hinweisadressen sowie die Anschluß-Hinweisadressen unverändert bleiben. Es sei ferner darauf hingewiesen, daß bei einer sich ergebenden Gleichheit'bezüglich der Eingangsstello B die H- und T-Hinweisadressen verändert werden, während die Anschluß-Hinweisndressen unverändert bleiben.the H and T pointing addresses and the connection pointing addresses remain unchanged. It should also be pointed out that in the event of equality with regard to the input position B the H and T pointers are changed while the port pointers remain unchanged.

In Figur 4 ist die Verknüpfung der Hinweisadressen dargestellt, für den Fall, daß ein neues Programm gebildet worden ist und nachdem die dem neuen Programm zugeordnete Eingangsstelle F in die Tabelle 106 eingefügt worden ist. Somit muß unter der Annahme, daß kein weiterer Platz im Arbeitsspeicher 108 vorhanden ist, die Eingangsstelle A innerhalb der Tabelle 106 durch eine neue Eingangsstelle ersetzt werden. Dementsprechend wird die Eingangsstelle F für das neu erstellte Programm im Arbeitsspeicher 108 eingesetzt. Im vorliegenden Fall ist die Eingangsstelle F die zuvor am häufigsten benutzte Eingangsstelle und wird demgemäß durch die Kopf-Ilinweisadresse 118 ausgewiesen. Es sei darauf hingewiesen, daß die bei der folgenden Beschreibung geschilderte Verbindung gemäß Figur 4 den anfänglichen Bedingungen gemäß Figur und nicht den Bedingungen gemäß Figur 3 folgt.In Figure 4, the linkage of the reference addresses is shown, in the event that a new program has been created and after the entry point F assigned to the new program has been inserted into table 106. Thus, assuming that no more space is available in the main memory 108, the entry point A within the table 106 by a new entry point be replaced. The entry point F for the newly created program in the main memory 108 is correspondingly used. In the present case, the entry point F is the previously most frequently used entry point and is accordingly identified by the header pointer 118. It should be noted that the connection described in the following description according to FIG. 4 meets the initial conditions according to FIG and does not follow the conditions according to FIG.

Nach Einfügung der Eingangsstelle F ist die zuvor am wenigster, benutzte Eingangsstelle nunmehr die Eingangsstelle B, welche somit durch die Schwanz-Hinweisadresse 116 ausgewiesen wird. Die H-Hinweisadressen sind,Bezug nehmend auf die Figuren 2 und 4, so angeordnet, daß die H-Hinweisadresse der Eingangsstelle B nach der Eingangsstelle C weist, wie dies in Figur 2 der Fall war. Die H-Hinweisadressen bezüglich der Eingangsstellen C und D bleiben ebenfalls gegenüber Figur 2 unverändert. Die H-Hinweisadresse für die Eingangsstelle E weist jedoch nunmehr nach der Eingangsstelle F. In gleicher Weise sind die T-Hinweisadressen für die Eingangsstellen E, D, und C ebenfalls gemäß Figur 2 angeordnet. Die T-Hinweisadresse für die Eingangsstelle B wird in ihren Binärstellen nunmehr auf gesetzt und die T-Hinweisadresse für die neu benutzte Eingangsstelle F zeigt nach der Eingangsstelle E, Im Hinblick auf die Anschluß-Hinweisadressen ist nunmehr die Eingangsstelle B die einzige Eingangsstelle innerhalb der besonderen Familie, da im dargestelltenAfter inserting the entry point F, the one previously used the least is Entry point is now entry point B, which is thus identified by the tail reference address 116. The H reference addresses are, with reference to Figures 2 and 4, arranged so that the H-pointer of the entry point B after the entry point C shows, as was the case in FIG. The H hint addresses relating to entry points C and D also remain unchanged compared to Figure 2. However, the H reference address for entry point E now points to entry point F. The T reference addresses for the input points E, D, and C are also arranged in accordance with FIG. 2 in the same way. The T-note address for input point B is now set to in its binary digits and the T reference address for the newly used input point F points to entry point E, with regard to port pointers Entry point B is now the only entry point within the special family, as shown in the

509820/0752509820/0752

24513842451384

Beispiel die Eingangsstelle F als die einzige Eingangsstelle innerhalb ihrer besonderen Familie dargestellt ist. Demgemäß werden die Binärstellen der Anschluß-IIinweisadresscn beider Eingangsstellen B und F auf 0 gesetzt um anzuzeigen, daß sie die letzte und einzige Eingangsstelle dieser beiden Familien von Eingangsstellen darstellen. Die Anschluß-IIinweisadressen für die Eingangsstellen E, D und C bleiben gegenüber Figur 2 unverändert. Auf Grund der vorstehenden Beschreibung der Verbindung der verschiedenen Hinweisadressen mit verschiedenen Eingangsstellen wird ersichtlich, daß im Hinblick auf die H- und T-Hinweisadressen lediglich drei Eingangsstellen bezüglich dieser Hinweisadresseri geändert werden müssen, falls der durchgeführte Vergleich Übereinstimmung ergibt oder eine neue Eingangsstelle eingeführt wird. Hinsichtlich der Anschluß-Hinv/eisadressen erfahren lediglich zwei Eingangsstellen eine Änderung. Einzelheiten hinsichtlich der Art und Weise in weicher solche Eingangstellen und solche Hinweisadressen ergänzt werden bei Vorliegen eines übereinstimmenden Vergleichs oder eines neuen zusätzlichen Programmes werden im folgenden anhand des Flußdiagrammes gemäß Figur 5 und des detaillierten Blockdiagramrr.es gemäß Figur 6 erläutert.Example entry point F is shown as the only entry point within its particular family. Be accordingly the binary digits of the connection-IIinweisadresscn of both input digits B and F are set to 0 to indicate that they are the last and represent the only entry point of these two families of entry points. The connection reference addresses for the input points E, D and C remain unchanged compared to FIG. Because of the above description of the connection between the various reference addresses and various entry points shows that with regard to the H and T reference addresses only three input positions are changed with regard to these reference addresses must if the comparison carried out shows a match or a new entry point is introduced. With regard to the Connection forwarding addresses are only changed at two entry points. Details regarding the way in softer such entry points and such reference addresses are added if there is a matching comparison or a new additional programs are described below using the flow chart according to FIG. 5 and the detailed block diagram according to FIG. 6.

Gemäß Figur 5 wird - nachdem der Befehl über die Maske empfancjen wurde - die Startpunkttabelle (SPT) adressiert^wie dies durch den Block Io angedeutet ist. Die Eingangsstelle in dem adressierten Speicherplatz der Startpunkttabelle wird sodann herausgeholt und die Suchtabelle (ST) wird adressiert, wie dies durch den Block 12 veranschaulicht ist. Um zu bestimmen, ob sich bei einem Vergleich Gleichheit ergibt, wird der empfangene Befehl mit dem Suchargument der adressierten Eingangsstelle innerhalb der Suchtabelle verglichen, was im Block 14 geschieht. Ergibt sich keine Gleichheit, so wird Block 16 wirksam, welcher feststellt, ob dies die letzte Eingangsstelle einer Kette ist. Wird diese Feststellung verneint, so wird Block 18 wirksam, welcher die Anschluß-IIinweisadresse der adressierten Eingangsstelle feststellt und entsprechend wird dieAccording to FIG. 5, after the command is received via the mask was - the starting point table (SPT) addressed ^ as this by the Block Io is indicated. The entry point in the addressed memory location of the starting point table is then fetched out and the look-up table (ST) is addressed as illustrated by block 12. To determine whether to compare Results in equality, the received command is compared with the search argument of the addressed input point within the search table, what happens in block 14. If there is no equality, then block 16 becomes effective, which determines whether this is the last entry point of a chain. If this determination is in the negative, then block 18 takes effect, which is the connection pointer address of the addressed entry point and the

509820/0 7 52509820/0 7 52

Suchtabelle mit dieser Anschluß-Hinweisadresse adressiert. Dieses Verfahren wird solange wiederholt, bis sich im Block 14 beim Vergleich Gleichheit einstellt. Beim Vorliegen- von Gleichheit wird Block 15 wirksam. Block 15 stellt fest, ob der in Block 14 stattfindende Vergleich eine Rückführungsschleife vom Block 18 erforderlich macht oder nicht. Er stellt somit fest, ob Gleichheit zwischen dem Befehl und dem Suchargument beim ersten Vergleich durch Block 14 vorlag. War dies der Fall, so wird sofort Block 20 von Block 15 aktiviert. War dies nicht der Fall, so wird Block 17 aktiviert und die Anschluß-Kinweisadressen werden wieder miteinander verkettet und anschließend wird Block 20 wiederum angesteuert. Wenn Block 20 angesteuert wird, wird die P-Hinweisadresse von der adressierten Eingangsstelle entnommen und entsprechend der Speichor adressiert, so daß das Programm in dem adressierten Teil des Speichers ausgeführt werden kann. Anschließend wird - dargestellt durch die Blöcke 22 und 24 - die adressierte Eingangssteile mit der Kopf—Hinweisadresse verkettet und die K-IIinweisadresse und die T-Hinweisadresse sowohl der adressierten Eingangsstelle als auch der zuvor am häufigsten und zuvor am wenigsten benutzten Eingangsstellen mit ihren Hinweisadressen ergänzt, worauf die Operation beendet wird.Search table addressed with this connection reference address. This process is repeated until the comparison in block 14 Equality sets. In the event of equality, block 15 takes effect. Block 15 determines whether the one taking place in block 14 Comparison may or may not require a feedback loop from block 18. He thus determines whether equality was present between the command and the search argument at the first comparison by block 14. If this was the case, block 20 becomes immediately activated by block 15. If this was not the case, block 17 is activated and the connection kinweis addresses become one another again chained and then block 20 is activated again. When block 20 is activated, the P pointer is obtained from the addressed input point and accordingly the memory addressed so that the program can be executed in the addressed part of the memory. - is then displayed by blocks 22 and 24 - the addressed input parts concatenated with the head pointer address and the K-II pointer address and the T reference address of both the addressed input point and the previously most frequently and previously least used input points are supplemented with their reference addresses, whereupon the operation is terminated.

Wenn beim Vergleich im Block 14 keine Gleichheit festgestellt wird, und wenn die Anschluß-Hinweisadresse aus binären Nullstellen besteht, so schreitet die Operation von dem Block 16 nach dem Block 26 fort. Ausgehend von Block 26 ergibt sich, da der Block 34 mit dem Block 20 verbunden ist, in Wirklichkeit eine Situcition, wo keine Gleichheit festgestellt wurde und demgemäß kein Programm und damit keine Eingangsstelle in der Suchtabelle aufgefunden wurde, welche'dem auf der Leitung 100 empfangenen Befehl zuzuordnen wäre. Dementsprechend muß ein neues Programm aufgebaut werden,und es wird eine neue Eingangsstelle für dieses Programm in der Suchtabelle abgelegt. Es wird somit im Block 26 die Schwanz-IIinweisadresse entnommen und dazu benutzt, die dadurch bezeichnete Eingangsstelle zu adressieren. Die durch die Schwanz-Hinveisadresse ge-If no equality is found in the comparison in block 14, and if the port pointer consists of binary zeros, the operation proceeds from block 16 to block 26 continued. Starting from block 26, since block 34 is connected to block 20, there is actually a situcition where no equality was found and accordingly no program and thus no entry point was found in the search table, which would be assigned to the command received on line 100. Accordingly, a new program must be built, and it becomes a new entry point for this program in the search table filed. The tail reference address is thus taken in block 26 and used for this purpose, the entry point designated by it to address. The ones determined by the tail pointing address

509 8 2 0/0752509 8 2 0/0752

2A519842A51984

kennzeichnete Eingangsstelle ist diejenige, welche durch die neue Eingangsstelle bzw. das neu gebildete Programm ersetzt wur'de. Bevor jedoch eine solche Eingangsstelle ersetzt wird, ist die Frage zu stellen, ob das mit dieser Eingangsstelle verbundene Programm noch aktiv ist oder nicht. Wie zuvor bereits erwähnt, können die Hinweisadressen für Eingangsstellen verändert werden, deren Programme sich noch in der Ausführung befinden und es ist insgesamt möglich aber nicht wahrscheinlich, daß die zuvor am wenigsten adressierte Eingangsstelle und das damit verbundene Programm in dem System noch bearbeitet wird. Wenn diese Eingangsstelle und das damit verbundene Programm sich noch in der Bearbeitung befindet, wird Block 30 wirksam und die zuvor am nächsthäufigsten benutzte Eingangsstelle wird adressiert. Diese Schleife wird durchlaufen bis die im Block 28 gestellte Frage verneint wird, worauf der Block 32 wirksam wird, in welchem die durch die Schwanz-Hinweisadresse gekennzeichnete Eingangsstelle entkettet wird. Anschließend wird im Block 34 die neue Eingangsstelle in der Startpunkttabelle plaziert, die Schwanz-Hinweisadresse ergänzt und die neue Eingangsstelle adressiert.Mit dem im Speicher neu gebildeten Programm wird der Block 20 beaufschlagt und das Programm wird adressiert bis die Operation nach dem Block 24 ihr Ende findet.The marked entry point is the one which has been replaced by the new entry point or the newly formed program. However, before such an entry point is replaced, the question must be asked whether the program associated with this entry point is still active or not. As mentioned before, the reference addresses for entry points can be changed, whose programs are still in execution and it is overall possible but not likely that the previously least addressed input point and the associated Program is still being processed in the system. If this entry point and the associated program are still being processed is located, block 30 becomes effective and the input point previously most frequently used is addressed. This loop is run through until the question posed in block 28 is answered in the negative, whereupon block 32 becomes effective, in which the Tail pointer is de-chained. Then in block 34 the new entry point in in the starting point table, the tail pointer added and the new entry point addressed. With the in memory newly formed program, the block 20 is applied and the program is addressed until the operation after the block 24 her Comes to an end.

Die Wirkungsweise des erfindungsgemäßen Systems sei im folgenden anhand einer schaltungsmäßigen Realisierung gemäß Figur 6a und 6b beschrieben. Gemäß Figur 6 wird der auf der Leitung 100 erhaltene" Befehl und die signifikanten Bits desselben mittels einer Maske 102 in der Startpunkttabelle 104 abgelegt. Wie zuvor bereits erläutert, enthält der Befehl eine Vielzahl von Binärstellen, beispielsweise von 32 Bits und die Maske 102 erlaubt 6 signifikanten Bits ein Passieren,um die Startpunkttabelle 104 zu adressieren. Die Anzahl der Speicherstellen innerhalb der Startpunkttabelle hängt davon ab, wieviel Bits über die Maske 102 passieren können.The mode of operation of the system according to the invention is given below with reference to a circuit implementation according to FIGS. 6a and 6b described. According to FIG. 6, the " Command and its significant bits are stored in the starting point table 104 by means of a mask 102. As previously explained, the instruction contains a large number of binary digits, for example 32 bits, and the mask 102 allows 6 significant digits Bits of passing to address the starting point table 104. The number of storage locations within the starting point table depends on how many bits can pass through the mask 102.

Da im vorliegenden Fall von der Maske 102 6 Bits hindurchgelassen werden, können bis zu 64 Speicherstellen in der Tabelle 104 adressiert werden.Since in the present case 6 bits are allowed through by the mask 102, up to 64 storage locations in the table 104 can be addressed will.

509820/07B2509820 / 07B2

Die Tabelle 106 weist eine Vielzahl von Eingangsstellen O bis N auf. Die Anzahl der Eingangssteilen innerhalb der Tabelle lOG ist in einem typischen Anwendungsfali größer als die Anzahl der Speicherplätze innerhalb der Tabelle 104, Die Tabelle 106 weist somit über 64 Eingangsstellen auf, von denen eine in einem Speicherplatz N minus X abgelegte Eingangsstelle näher dargestellt ist. Jede Eingangsstelle weist zu der Startadresse eines Speichersegmentes innerhalb des Arbeitsspeichers 108, wobei in jedem Segment eines der zuvor erwähnten Programme abgespeichert sein mag. Dies wird verwirklicht mittels der F-Hinweisadresse 111, welche einen Informationsparameter innerhalb jeder Eingangsstelle in der Tabelle 106 darstellt. Wie zuvor bereits erwähnt, weist jede Eingangsstelle ferner das Suchargument 110, die Anschluß-Hinweisadresse 112, die H-Hinwcisadresse 113 und die T-Hinweisadresse 114 auf.The table 106 has a plurality of entry points O through N on. The number of input parts within the table lOG is in a typical application case larger than the number of storage locations within the table 104, the table 106 thus has over 64 input locations, one of which is in a memory location N minus X stored entry point is shown in more detail. Each entry point points to the start address of a memory segment within of the main memory 108, it being possible for one of the aforementioned programs to be stored in each segment. This is done by means of the F-reference address 111, which represents an information parameter within each entry point in the table 106. As previously mentioned, each entry point also has the search argument 110, the port pointer 112, the H-hint address 113 and the T-hint address 114.

Wie zuvor ebenfalls bereits erwähnt, stellt das System gemäß der vorliegenden Erfindung beim Erhalt eines Befehls zuerst eine Adresse einer Eingangsstelle in der Suchtabelle 106 mittels der Startpunkttabelle 104 fest. Wenn die Eingangsstelle in der Tabelle 1C6, welche zunächst adressiert wird, ein Suchargument aufweist, welches dem auf der Leitung 100 erhaltenen Befehl entspricht, so besteht der einzig weitere erforderliche Schritt darin, die H- und T-Kin™ weisadressen der in der Tabelle 106 adressierten Eingangsstelle so miteinander zu verketten, daß die gerade adressierte Eingangsstelle sich am Kopf der Warteschlange befindet. Dadurch wird angezeigt, daß diese Eingangsstelle, die zuvor am häufigsten adressierte und benutzte Eingangsstelle (Programm) war. Ferner werden die der gerade adressierten Eingangsstelle benachbarten Eingangsstellen, das ist die zuvor am nächsthäufigsten benutzte Eingangsstelle und die zuvor am nächstwenigsten benutzte Eingangsstelle, welche durch die H-Hinweisadresse 113 und die T-Hinweisadresse 114 ausgewiesen sind ergänzt im Hinblick auf die Speicherplätze,welche durch diese Adressen adressiert sind. Ebenso wird die Kopf-Hinweisadresse 118 ergänzt, um auf die gerade adressierte Eingangsstelle hinzuweisenAs also mentioned previously, the system according to the present invention first provides an address when receiving a command an entry point in the search table 106 by means of the starting point table 104. If the entry point in Table 1C6, which is first addressed has a search argument which corresponds to the command received on line 100, so there is the only other step required, the H- and T-Kin ™ white addresses of the input point addressed in table 106 as follows to concatenate with each other that the input point just addressed is at the head of the queue. This will indicate that this entry point was the previously most frequently addressed and used entry point (program). Furthermore, those are the straight Addressed input point adjacent input points, that is the next most frequently used input point and the Previously the next least used entry point, which is identified by the H reference address 113 and the T reference address 114 supplemented with regard to the memory locations which are addressed by these addresses. The header reference address also becomes 118 added to indicate the input point just addressed

509820/0752 BAD-original509820/0752 BAD-original

und die Schwanz-Hinweisadresse 116 wird ebenfalls den Erfordernissen entsprechend ergänzt. Die Kopf- und Schwanz-Ilinweisaclressen werden im Arbeitsspeicher 108 oder in separaten Registern abgelegt .and tail pointer 116 will also meet requirements supplemented accordingly. The head and tail Ilinweisaclressen are stored in the main memory 108 or in separate registers.

Wenn die anfänglich in der Suchtabelle 106 adressierte Eingangsstelle nicht mit dem auf der Leitung 100 empfangenen Befehl übereinstimmt, werden nachfolgende Eingangsstellen innerhalb der gleichen Familie durch die Anschluß-Hinweisadresse 112 adressiert bis das Suchargument 110 mit dem auf der Leitung 100 erhaltenen Befahl übereinstimmt. Wenn sich somit anfänglich nicht gleich eine Übereinstimmung ergibt, d.h. eine anfängliche Übereinstimmung
zwischen dem Suchargument der zuerst adressierten Eingangsstelle in der Tabelle 106 und dem Befehl auf der Leitung 100,so wird eine nachfolgende Eingangsstelle der gleichen Familie adressiert. Er>
sei hier vermerkt, daß in dem Fall wo sich in der Tabelle 106 keine Eingangsstelle befindet, welche mit dem Befehl auf der Leitung 100 übereinstimmt, es erforderlich wird, ein neues Programm zu
bilden und dieses in der zuletzt benutzten Speicherstelle im Arbeitsspeicher 108 abzulegen. Die zuletzt benutzte Speicherstelle im Arbeitsspeicher 108 wird durch die Schwanz-Hinweisadresse 116 ausgewiesen, vorausgesetzt, daß sich das zu dieser Eingangsstelle gehörende Programm nicht in der Bearbeitung befindet. Ergibt sich andererseits eine nachfolgende Eingangsstelle innerhalb der Tabelle 106 auf welche durch eine Anschlxaß-Hinweisadresse 112 hingewiesen wird, so v/erden die Anschluß-IIinweisadressen dieser Familie neu geordnet und ergänzt, so daß die Eingangsstelle welche schließlich infolge Vorliegens eines Vergleichs adressiert wird, mit ihrer Adresse in der Startpunkttabelle 104 abgelegt wird. Die Startpunkttabelle 104 wird somit in der Weise ergänzt, daß sie die Anfangsadresse für diese Familie enthält. Die gerade adressierte Eingangsstelle wird bezüglich ihrer Anschluß-Hinweisadresse sodann geändert, um auf die Adresse hinzuweisen, welche gerade zuvor in dem anfänglich adressierten Speicherplöitz der Starttabelle 104
stand. Auf diese Weise v/ird die zuvor am häufigsten benutzte, mit
If the entry point initially addressed in the look-up table 106 does not match the command received on the line 100, subsequent entry points within the same family are addressed by the connection pointer 112 until the search argument 110 matches the command received on the line 100. If, therefore, a match does not result immediately at the beginning, ie an initial match
between the search argument of the first addressed entry point in table 106 and the command on line 100, a subsequent entry point of the same family is addressed. He>
it should be noted here that in the case where there is no entry point in the table 106 which corresponds to the command on the line 100, it is necessary to assign a new program
and store this in the last used memory location in the main memory 108. The last used memory location in the main memory 108 is identified by the tail pointer address 116, provided that the program associated with this input location is not being processed. If, on the other hand, there is a subsequent entry point within table 106 to which a connection point reference address 112 is given, the connection point reference addresses of this family are rearranged and supplemented so that the input point which is finally addressed as a result of a comparison is included their address is stored in the starting point table 104. The starting point table 104 is thus supplemented in such a way that it contains the starting address for this family. The input point just addressed is then changed with regard to its connection pointer address in order to point to the address which was just previously in the initially addressed memory space of the start table 104
was standing. In this way the previously most frequently used one becomes with

509820/0752509820/0752

BADBATH

"~ XO —"~ XO -

dem ankommenden Befehl Gleichheit auf v/eisende Eingangss teile dieser Familie mit ihrer Adresse in der Tabelle 104 abgelegt, wodurch die Wahrscheinlichkeit gegeben ist, daß diese Eingangsstelle die nächste benutzte Eingangsstelle (Programm) sein wird- Durch das Einschreiben der Adresse einer gerade adressierten Eingangsstelle in die Startpunkttabelle 104 wird die Wahrscheinlichkeit geschaffen, daß gleich zu Anfang eine Übereinstimmung der Adressen festgestellt wird, wenn diese Familie von Eingangsstellen durch den auf der Leitung 100 ankommenden Befehl adressiert wird.the incoming command equality on v / iron input parts of this Family with their address in the table 104, whereby the probability is given that this entry point is the next The input point (program) used will be - By writing the address of a currently addressed input point into the Starting point table 104 creates the probability that a correspondence of the addresses is established right at the beginning will when this family of entry points through the on the line 100 incoming command is addressed.

Das System gemäß der vorliegenden Erfindung, schlägt die Benutzung einer Adresse vor, welche aus 6 signifikanten Bits, beispielsweise eines Befehls besteht, welcher ein Befehl einer zu emulierenden Zentraleinheit darstellen kann oder beispielsweise ein Befehl sein kann, welcher für die Ein-/Ausgabe-Operationen des Systems benutzt wird. Diese signifikanten 6 Bits adressieren eine Tabelle, welche ihrerseits eine Suchtabellenadresse für eine dem eingegangenen Befehl entsprechende Eingangsstelle erzeugt. Die Eingangsstelle verweist auf einen Speicherplatz, welcher das interessierende Programm enthält. Zum Wiederauffinden der Speicherplätze innerhalb des Arbeitsspeichers 108 werden ferner die Hinweisadressen für die entsprechenden Eingangsstellen in der Suchtabelle 106 ergänzt um die zuvor am häufigsten benutzten Eingangsstellen zu kennzeichnen, welche Programmen entsprechen, so daß im Hinblick auf die vorhandene Speicherkapazität lediglich die zuvor-am häufigsten benutzten Programme in den Speicherplätzen des Arbeitsspeichers 108 wiederaufgefunden werden können. Zusätzlich werden die Hinweisadressen der Startpunkttabelle zu den Eingangsstellen der Suchtabelle ergänzt, so daß sie jeweils auf eine zuvor am häufigsten übereinstimmenden Eingangsstelle innerhalb einer Familie von Eingangsstellen hinweisen.The system according to the present invention suggests use an address, which consists of 6 significant bits, for example an instruction which is an instruction of a to be emulated Central unit can represent or, for example, can be a command that is used for the input / output operations of the system will. These significant 6 bits address a table, which in turn is a look-up table address for an incoming command corresponding entry point generated. The entry point refers to a memory location that contains the program of interest. To find the storage locations within the main memory 108 are also the addresses for the corresponding Entry points in the search table 106 added to identify the entry points that were previously most frequently used, which programs correspond, so that in view of the available storage capacity only the previously most frequently used Programs found in memory 108 locations can be. In addition, the reference addresses of the starting point table are added to the entry points of the search table, so that they each point to a previously most frequently matching Entry point within a family of entry points Clues.

Gemäß Figur 6 wird der auf der Leitung 100 erhaltene Befehl hinsichtlich seiner signifikanten Bits durch die Maske 102 entziffert, um so beispielsweise den Speicherplatz 2 innerhalb der Startpunkttabelle 104 zu adressieren. Die Speicherstelle 2 adressiertAccording to FIG. 6, the command received on line 100 is related to its significant bits are deciphered by mask 102, in order to address storage location 2 within the starting point table 104, for example. The memory location 2 is addressed

509820/0752509820/0752

ihrerseits mittels der durch ein ODER-Gatter 120 verwirklichten ODER-Funktion und ein Register 141 eine Eingangsstelle in der Suchtabelle 106. Das Suchärgument 110 für die adressierte Eingangsstelle wird sodann ausgelesen und steht,am Eingang eines Vergleichers 122 an, dessen anderer Eingang der auf der Leitung 100 erhaltene Befehl darstellt. Wenn der Vergleicher 122 keine Gleichheit anzeigt, wird ein nachgeschaltetes UND-Gatter 123 vorbereitet, so daß die Anschluß-Hinweisadresse der momentan adressierten Eingangsstelle dazu herangezogen wird, eine andere Eingangsstelle innerhalb der Tabelle 106 zu adressieren. Stellt der Vergleicher 122 Gleichheit fest, so werden über ein Register 133 die UND-Gatter 124, 126, 128 und 130 vorbereitet, wodurch die P-Hinweisadresse 111 in ein Register 132 , die H-Hinweisadresse 113 in ein Register 134, die T~Hinweisadresse 114 in ein Register 136 und die Anschluß-Hinweisadresse 112 in ein Register 138 eingeschrieben werden kann. Die sich nunmehr im Register 132 befindende P-Hinweisadresse wird benutzt, um über eine Leitung 140 den Arbeitsspeicher 108 zu adressieren. in turn implemented by means of an OR gate 120 OR function and a register 141 an entry point in the search table 106. The search argument 110 for the addressed entry point is then read out and is present at the input of a comparator 122, the other input of which is the one on line 100 represents received command. If the comparator 122 shows no equality, a downstream AND gate 123 is prepared, so that the connection pointer of the currently addressed input point is used to address another entry point within table 106. Provides the comparator 122 is the same, then the AND gates 124, 126, 128 and 130 are prepared via a register 133, whereby the P reference address 111 into a register 132, the H reference address 113 into a register 134, the T pointer 114 into a register 136 and the port pointer 112 can be written into a register 138. The P reference address now in register 132 is used in order to address the main memory 108 via a line 140.

Um*nun festzustellen, ob diese festgestellte Gleichheit bereits zu Anfang vorlag, in welchem Fall eine Ergänzung der Adresse in dem adressierten Speicherplatz der Startpunkttabelle 104 entfällt, wird die der Eingangsstelle in der Suchtabeile 106 zugeordnete Adresse, welche über die Startpunkttabelie 104 adressiert wurde in einem Register 142 abgelegt und auf den einen Eingang eines Anfangs-Vergleichers 144 gegeben. Der andere Eingang des Vergleichers 144 ist . an' ein Register 147 angeschlossen. Das Register 147 wird von einem UND-Gatter 146 beaufschlagt, welches seine Eingangssignale von dem Vergleicher 122 und von dem Eingangsstellen-Adressregister 141 bezieht. Liegt anfänglich Gleichheit vor, so wird von dem Vergleichcr 144 über-einen Inverter 152 ein UND-Gatter 150 gesperrt, wodurch eine Änderung der Anschluß-Hinweisadressen 112 in den zugeordneten Eingangsstellen einer besonderen Familie von Eingangsstellen vermieden wird.To * now determine whether this established equality already applies At the beginning there was, in which case an addition to the address in the addressed memory location of the starting point table 104 is omitted the address assigned to the entry point in the search table 106, which was addressed via the starting point table 104 in a register 142 stored and on one input of an initial comparator 144 given. The other input of the comparator 144 is. a register 147 is connected to '. Register 147 is used by a AND gate 146 applied which its inputs from the Comparator 122 and from the entry point address register 141. If there is initially equality, an AND gate 150 is blocked by the comparator 144 via an inverter 152, as a result of which avoids changing the port pointer addresses 112 in the associated entry points of a particular family of entry points will.

509820/0752509820/0752

Bevor cine Verarbeitung der in den Registern 134 und 136 abgelegten Hinweisadressen beschrieben wird, sei zuerst die Art und Weise beschrieben, in der die Anschluß-llinweisadressen ergänzt werden. Grundsätzlich läuft das Verfahren τ.χ\χ Ergänzung der Anßchluß-Hinweisadressen wie folgt ab. Wie zuvor bereits erwähnt, ergibt sich beim anfänglichen Vorliegen von Gleichheit keine Kotwendigkeit, die Anschluß-IIinweisadrecsen zu ergänzen, so daß bei der folgenden Beschreibung dieser Fall ausgeschlossen werden kann. Zwei grundsätzliche Situationen sind denkbar. Die erste Situation ist gegeben, wenn die Eingangsstelle für die Gleichheit festgestellt wird, nicht die letzte Eingangsstelle innerhalb der Familie darstellt. Die zweite Situation ist gegeben, wenn die Eingangsstelle für die Gleichheit festgestellt wird, mit der letzten Eingangsstelle innerhalb der Familie identisch ist. In beiden Situatio nen muß die Anschluß-IIinweisadresse der Eingangsstelle,für die Gleichheit festgestellt wurde,geändert werden, um auf diejenige Eingangsstelle hinzuweisen, welche zuvor die am häufigsten wirksame Eingangsstelle innerhalb der Familie von Eingangsstellen war. Die vom Vergleich betroffene Eingangsstelle muß auf die erste Eingangsstelle oder die Eingangsstelle deren Adresse in der Startpunkttabelle 104 enthalten ist, hinweisen. In beiden Situationen muß die Startpunkttabelle ergänzt werden, so daß die vom Vergleich betroffene Eingangsstelle mit ihrer Adresse in dieser enthalten istBefore describing the processing of the pointer addresses stored in registers 134 and 136, the manner in which the connection pointer addresses are supplemented will first be described. Basically, the procedure τ.χ \ χ addition of the connection reference addresses runs as follows. As already mentioned above, there is no need to add to the connection information addresses if they are initially identical, so that this case can be ruled out in the following description. Two basic situations are conceivable. The first situation is when the entry point for equality is determined, not the last entry point within the family. The second situation is when the entry point for equality is found to be identical to the last entry point within the family. In both situations, the port pointer address of the entry point for which equality was found must be changed to point to the entry point that was previously the most frequently effective entry point within the family of entry points. The entry point affected by the comparison must point to the first entry point or the entry point whose address is contained in the starting point table 104. In both situations, the starting point table must be supplemented so that the entry point affected by the comparison is contained in it with its address

Ferner muß die der vom Vergleich betroffenen Eingangsstelle vorausgehende Eingangsstelle, sofern die vom Vergleich betroffene Eingangsstelle nicht die letzte Eingangsstelle innerhalb der Familie ist, mit der der vom Vergleich betroffenen Eingangsstelle nachfolgenden Eingangsstelle verkettet v/erden, d.h. daß diejenige Eingangsstelle, welche neben der vom Vergleich betroffenen Eingangnstelle die zuvor am nächsthäufigsten benutzte Eingangsstelle ist, mit der Eingangsstelle verkettet werden muß, welche neben der vom Vergleich betroffenen Eingangsstelle die zuvor am nächstwenigstenIn addition, the entry point preceding the entry point affected by the comparison must be Entry point, provided that the entry point affected by the comparison is not the last entry point within the family is chained to the entry point following the entry point affected by the comparison, i.e. that entry point which, in addition to the input point affected by the comparison, is the next most frequently used input point, must be chained to the entry point which, next to the entry point affected by the comparison, is the next least recently

Ist"Is"

benutzte Eingangsstelle ist. die vom Vergleich betroffene Eingangsstelle die letzte Eingangsstelle innerhalb der Familie, so muß die used entry point. the entry point affected by the comparison is the last entry point within the family, then the

509820/0752509820/0752

513513

der vom Vergleich betroffenen Eingangsstelle vorausgehende i:ingangsstelle mit ihrer Anschluß-IIinwcisadresse auf 0 genetzt worden ,um dadurch anzuzeigen, daß d.iese nunmehr die letzte Eingunasstelle innerhalb dieser besonderen Familie von Eingarigsstollen ist.the entry point preceding the entry point affected by the comparison has been networked with their connection host address to 0 in order to indicate that this is now the last entry point within this particular family of eingarigsstollen is.

Die vorstehend beschriebenen Maßnahmen werden durch die Schaltungsanordnung gemäß Figur 6 verwirklicht. Insbesondere bleibt zur Ergänzung der Startpunkttabelle 104 die durch die Tcibelle 104 adressierte Adresse der Eingangsstelle weiterhin in dem Register 141 und wird zusätzlich in dem Vergleichs-Adressregister 147 abgelegt, wenn das UND-Gatter 146 durch ein von dem Vergleicher 122 geliefertes Vergleichssignal vorbereitet wird. Handelt es sich nicht um eine anfängliche Übereinstimmung, was durch den Vergleicher 144 angezeigt wird, so wird das UND-Gatter 160 vorbereitet, wodurch die in dein Register 147 befindliche Adresse in den innerhalb der Startpunkttabelle 104 adressierten Speicherplatz eingeschrieben wird. Wie zuvor bereits erwähnt, trifft dies nur zu, wenn nicht bereits der anfängliche Vergleich Gleichheit ergab und ferner ist ein solcher Zustand nur gegeben für die beiden allgemeinen Situationen in denen die dem Vergleich unterliegende Eingangsstelle die letzte bzw. nicht die letzte Eingangsstelle innerhalb der Familie von Eingangsstellen ist.The measures described above are implemented by the circuit arrangement realized according to FIG. In particular, to supplement the starting point table 104, there remains that by the table 104 addressed address of the input point still in the register 141 and is also stored in the comparison address register 147 if the AND gate 146 is through one of the comparators 122 supplied comparison signal is prepared. Acts If there is no initial match, which is indicated by the comparator 144, the AND gate 160 is prepared, whereby the address in your register 147 is in the memory location addressed within the starting point table 104 is enrolled. As mentioned earlier, this only applies if the initial comparison did not already result in equality and furthermore, such a state is only given for the two general situations in which the entry point which is subject to the comparison is the last or not the last entry point within the family of entry points.

Die Eingangsstelle innerhalb der Tabelle 106, für die gerade beim Vergleich Gleichheit festgestellt wurde, ist weiterhin in dem Register 141 adressiert. Die ursprüngliche vor dem Vergleich vorliegende Adresse des Speicherplatzes innerhalb der Startpunkttabelle 104 befindet sich nunmehr im Register 142. Um nunmehr die gerade dem Vergleich unterliegende Eingangsstelle mit der im Register 142 gespeicherten Adresse zu verketten wird der Inhalt dos Registers 142 über das UND-Gatter 168 und das ODER-Gattcr 200 in den Speicherplatz für die Anschluß-Uinweisadresse der Eingangsstelle eingeschrieben,wobei diese Eingangsstelle gerade adressiertThe entry point within table 106 for which the Comparison equality was found, is still addressed in the register 141. The original before the comparison Address of the memory location within the starting point table 104 is now in register 142. By now the entry point currently being compared with that in the register 142 stored address, the content of dos Register 142 via AND gate 168 and OR gate 200 into the memory location for the connection point address of the input point registered, this entry point being addressed

509820/0 7 52509820/0 7 52

ist und im vorliegenden Fall gerade dem Vergleich unterlag. Das UND-Gatter 168 wird durch eine von dem Vergleicher 122 erzeugte Vergleichsbedingung und das Fehlen einer durch den Vergleicher 144 angezeigten anfänglichen Übereinstimmung vorbereitet. Die Eingangsstelle die gerade dem Vergleich unterlag und die ihre Mrcssc-wie zuvor erläutert-nunmehr in dem adressierten"Speicherplatz der Startpunkttabelle 104 hat, wird nunmehr über ihre Anschluß-Hinweisadresse mit der Eingangsstelle verkettet, deren Adresse früher, d.h. vor dem Vergleich in der Startpuhkttabellc 104 abgelegt war.and in the present case was just subject to the comparison. That AND gate 168 is determined by a comparison condition generated by comparator 122 and the absence of one by comparator 144 displayed initial match. The entry point that was just subject to the comparison and theirs Mrcssc - as explained above - now in the addressed "memory location the starting point table 104 has now been informed of its port pointer concatenated with the entry point whose address was earlier, i.e. before the comparison in the start point table c 104 was filed.

Nachdem die Startpunkttabelle und die Anschluß-IIinweisadresse der gerade hinsichtlich Übereinstimmung ermittelten Eingangsstclle ergänzt worden ist, ist es nunmehr von Bedeutung,zu bestimmen, ob die bezüglich Gleichheit gerade ermittelte Eingangsstelle die letzte Eingangsstelle innerhalb der Familie von Eingangsstellen ist oder nicht. Bei der Erzeugung eines Übereinstimmungssignales durch den Vergleicher 122 wird die Anschluß-Hinweisadresse der übereinstimmenden Eingangsstelle, welche in dem Register 138 abgelegt ist, mit den binären Nullstellen 154 mittels eines das Ende der Verkettung feststellenden Vergleichers 202 verglichen. Zusätzlich wird die Anschluß-IIinweisadresse auf der Leitung 16 2 gekoppelt mit der adressierten Eingangsstelle in der Tabelle 106 ~ ebenfalls mit den binären Nullstellen 154 mittels eines weiteren, das Ende der Verkettung feststellenden Vergleichers 156 verglichen. Während der Vergleicher 156 anzeigt, ob hinsichtlich der gerade in der Tabelle 106 adressierten Eingangsstelle das Ende der Verkettung vorliegt, zeigt der Vergleicher 202 lediglich an, ob die hinsichtlich Gleichheit ermittelte Eingangsstelle das Ende der Kette bildet. Wenn der Vergleicher 156 anzeigt, daß die adressierte Eingangsstelle das Ende der Kette darstellt und wenn keine Gleichheit mit dem empfangenen Befehl vorliegt, wird das UND-Gatter vorbereitet und eine Anzeige 159 gesetzt, welche somit anzeigt, daß ein neues Programm aufgebaut v/erden muß.After the starting point table and the connection pointer address of the Incoming points that have just been determined with regard to correspondence have been added has been, it is now important to determine whether the entry point just determined for equality is the last entry point within the family of entry points is or not. When a match signal is generated by the comparator 122, the port pointer becomes the matching input point, which is stored in the register 138 is compared with the binary zeros 154 by means of a comparator 202 which determines the end of the concatenation. In addition, the port pointer address on line 162 is coupled to the addressed entry point in table 106 ~ also compared with the binary zeros 154 by means of a further comparator 156 which determines the end of the concatenation. While the comparator 156 indicates whether the entry point just addressed in the table 106 is the end of the concatenation is present, the comparator 202 only indicates whether the input point determined with regard to equality forms the end of the chain. If the comparator 156 indicates that the input point addressed is the end of the chain and if not equality with the received command is present, the AND gate is prepared and a display 159 is set, which thus indicates that a new program must be set up.

509 8 2 0/0752509 8 2 0/0752

5198451984

Wenn der Vergleicher 202 eine NeiiWinzeige liefert, so wird das UND-Gatter 206 vorbereitet, während bei einem Ja-Ausgang des Vergleichers 202 das UND-Gatter 204 vorbereitet wird. Die UND-Gatter .204 und 206 schalten jedoch solange nicht durch, bis die angeforderte Eingangsstelle in der Tabelle lOG adressiert ist. Diese Maßnahme ist erforderlich, da die der bezüglich Gleichheit ermittelten Eingangsstelle vorangehende Eingangsstelle bezüglich ihrer Anschluß-Hinweisadresse ergänzt v/erden muß,um auf die der übereinstimmenden Eingangsstelle nachfolgende Eingangsstelle hinzuweisen, falls die übereinstimmende Eingangsstelle nicht die letzte Eingangsstelle innerhalb der Familie war oder um in all ihren Binärstollen auf 0 gestellt zu werden, falls die übereinstimmende Eingangsstelle die letzte Eingangsstelle innerhalb der Familie war. Das Problem ist nun, diejenige Eingangsstelle innerhalb der Tabelle 106 zu finden und zu adressieren, welche die vorangehende oder zuvor am nächcthäufigsten benutzte Eingangsstelle in Eezug auf die hinsichtlich Gleichheit gerade ermittelte Eingangsstelle gewesen ist. Demgemäß wird der Inhalt des Registers 142, v/elcher die Adresse der anfänglich für diese Familie adressierten Eingangsstelle innerhalb der Suchtabelle 106 aufweist, in die Lage versetzt, das UND-Gatter und das ODER-Gatter 153 zu passieren, um erneut die Tabelle 106 zu adressieren. Somit wird die erste Eingangsstelle innerhalb der Familie für welche bezüglich einer Eingangsstelle gerade Gleichheit ermittelt wurde., in der Tabelle 3.06 über das Gatter 120 und das Register" 141 adressiert. Es ist nunmehr die Anschluß-Hinweisadresse der gegenwärtig adressierten Eingangsstelle mit der Adresse derjenigen Eingangsstelle zu vergleichen, für welche gerade Gleichheit festgestellt wurde. Obwohl dies nicht erforderlich ist für die Eingangsstelle, welche vor der festgestellten Gleichheit durch die Startpunkttabelle 104 adressiert wurde, da eine anfängliche Übereinstimmung durch den Vergleicher 144 bereits angezeigt worden wäre, ist dieses Programm für nachfolgende Eingangsstellen innerhalb der Familie erforderlich.If the comparator 202 gives a negative reading, it will AND gate 206 prepared, while with a yes output of the comparator 202 the AND gate 204 is prepared. The AND gates .204 and 206 do not switch through until the requested Entry point is addressed in the table lOG. This measure is necessary because the ones determined with regard to equality Entry point preceding entry point with regard to its connection reference address must be supplemented in order to match that of the Point out the entry point to the next entry point if the matching entry point was not the last entry point within the family or in all of its binary tunnels to be set to 0 if the matching entry point was the last entry point within the family. The problem is now to find and address that entry point within the table 106 which is the previous or next most frequent used entry point in relation to the entry point just determined with regard to equality. Accordingly becomes the content of register 142, whichever is the address of the initial for this family addressed entry point within the look-up table 106 is enabled, the AND gate and pass through OR gate 153 to address table 106 again. Thus it becomes the first entry point within the family for which equality has just been determined with regard to an input point., in table 3.06 via gate 120 and the register " 141 addressed. It is now the port pointer of the currently addressed entry point with the address of that point To compare the input point for which equality has just been found. Although this is not required for the entry point, which was addressed by the starting point table 104 prior to the found equality, as an initial match would have already been indicated by the comparator 144, this program is available for subsequent input points within the Family required.

Die Anschluß-Ilinweisadresse der adressierten Eingangsstelle in der Tabelle 106 wird mittels des Anschluß-Vergleichers 164 mit derThe connection pointer address of the addressed input point in the Table 106 is compared with the

509820/0752509820/0752

Adresse im Register 147 verglichen. Die Adresse im Register 147 wird über das UND-Gatter 210 auf den einen Eingang des Vergleichers 164 geschaltet, falls der die anfängliche Übereinstimmung feststellende Vergleicher 144 ein Nein-Ausgangssignal abgibt. In diesem Fall, wo während der Anfangsschleife die erste Eingangsstelle innerhalb der Familie adressiert wird, gibt der Vergleicher 164 eine Nein-Antwort, welche ihrerseits über den Inverter 212 das UND-Gatter 150 sperrt. Ein Nein-Signal des Anschluß-Vergleichers 164 läßt andererseits die Anschluß-Hinweisadresse durch das UND-Gatter 214 passieren, welche über das ODER-Gatter 153 erneut die Suchtabelle 106 adressiert.Address in register 147 compared. The address in register 147 is applied to one input of the comparator via AND gate 210 164 is switched if the comparator 144 determining the initial match produces a no output signal. In this case where during the initial loop the first entry point is addressed within the family, the comparator 164 gives a no answer, which in turn via the inverter 212 the AND gate 150 blocks. A no signal from port comparator 164, on the other hand, lets the port pointer through the AND gate 214, which again addresses the search table 106 via the OR gate 153.

Diese Informationsbehandlung wird solange fortgesetzt, bis der Anschluß-Vergleicher 164 ein Ja-Signal erzeugt, wodurch das UND-Gatter 204 teilweise vorbereitet wird. Ein Ja-Signal am Ausgang des Vergleichers 164 bedeutet, daß die der bezüglich Gleichheit festgestellten Eingangsstelle vorangehende Eingangsstelle, d.h. die zuvor am nächsthäufigsten benutzte Eingangsstelle augenblicklich in der Suchtabelle 106 adressiert ist. Es besteht demgemäß nunmehr die Notwendigkeit, entweder in der nunmehr adressierten Eingangsstelle die Anschluß-Hinweisadresse zu plazieren, welche zuvor der Eingangsstelle zugeordnet war, für die Gleichheit festgestellt wurde oder alle Binärstellen in dem.Anschluß-Hinweisadressen-Speicherplatz für diese besondere nunmehr adressierte Eingangsstelle auf 0 zu setzen. Wenn das Ende der Verkettung erreicht ist, geben beide Vergleicher 156 und 202 ein Ja-Signal aus, wodurch das UND-Gatter 300 in die Lage versetzt wird, die in der Einheit vorliegenden "O"-Bits hindurchzulassen, wobei dieses Signal ferner über das UND-Gatter 204 und das ODER-Gatter 200 in den Speicherplatz für die Anschluß-Hinweisadresse der adressierten Eingangsstelle innerhalb der Suchtabelle 106 eingeschrieben werden kann. Liegt das Ende der Verkettung nicht vor, so wird die Anschluß-Ilinweisadresse, welche sich zuvor in der Eingangsstelle,für welche Gleichheit festgestellt wurde,befand und nun im Register 138 abgespeichert ist, über das UND-Gatter 206 und das ODER-Gatter 200 inThis information handling is continued until the terminal comparator 164 generates a yes signal, whereby the AND gate 204 is partially prepared. A yes signal at the output of the comparator 164 means that they are equal to each other The previous entry point, i.e. the entry point that was previously most frequently used at the moment is addressed in the search table 106. Accordingly, there is now a need either in the now addressed Entry point to place the port pointer that was previously assigned to the entry point is determined for equality or all binary digits in the port pointer memory location to be set to 0 for this particular input point, which is now addressed. When the end of the chain is reached, Both comparators 156 and 202 output a yes signal, thereby enabling AND gate 300 to be in the unit pass any "O" bits present, with this signal also through AND gate 204 and OR gate 200 into the memory location for the connection pointer address of the addressed input point within the look-up table 106 can be written. If the end of the chaining is not available, the connection reference address is which was previously in the entry point for which equality was determined and is now stored in register 138 through AND gate 206 and OR gate 200 in FIG

50 9820/075 250 9820/075 2

den entsprechenden Speicherplatz für die Anschluß-Iiinwe.1 sadresse eingeschrieben.the corresponding memory location for the connection information enrolled.

Es vmrde somit gezeigt, wie die Anschluß-Hinweisadressen ergänzt werden, falls eine anfängliche Übereinstimmung nicht vorliegt. Die Anschluß-Hinweisadresse wird sowohl in der von dem Vergleich betroffenen Eingangsstelle als auch in der vor dem Vergleich am nächsthäufigsten benutzten Eingangsstelle ergänzt. Ferner wird die Startpunkttabelle 104 in der Weise ergänzt, daß sie auf die gerade vom Vergleich betroffene Eingangsstelle hinweist. Nachdem auf diese Weise die Anschluß-Hinweisadressen und die Startpunkttabelle 104 ergänzt wurden, müssen nunmehr die H-Hinweisadresse und T-Hinv/eisadresse sowie die Schwanz-Hinweisadresse 116 und die Kopf-Hinweisadresse 118 ebenfalls fortlaufend ergänzt werden.It is thus shown how the connection pointers are added if there is no initial match. The port pointer is both affected by the comparison Entry point as well as in the entry point most frequently used before the comparison. Furthermore, the starting point table 104 is supplemented in such a way that it points to the entry point just affected by the comparison. After this in this way the connection pointers and the starting point table 104 have been supplemented, the H pointers must now be entered and T-tip address as well as the tail tip address 116 and the head tip address 118 are also continuously added.

Wie aus den Figuren 2, 3 und 4 ersichtlich, mag es nur hinsichtlich der vom Vergleich betroffenen Eingangsstelle und der beiden benachbarten Eingangsstellen erforderlich sein, die H-Hinweisadresse und T-Hinweisadresse zu ergänzen. Zusätzlich sind die Schwanz-Hinweisadresse 116 und die Kopf-Hinweisadresse 118 zu ergänzen. Die Adressen der vom Vergleich betroffenen Eingangs^teile und der benachbarten Eingangsstellen müssen demgemäß adressiert werden. Die Register 147, 134 und 136 werden zu diesem Zweck benutzt« Das Register 147 enthält die Adresse der vom Vergleich betroffenen Eingangsstelle und kann bezüglich ihrer H- und T-Anschlußadressen in dem Zeitpunkt ergänzt werden, v/o die Anschluß-Hinweisadresse dieser Eingangsstelle ergänzt wird. Die Register 134 und 136 weisen die Adressen der zuvor am nächsthäufigsten und der zuvor am nächstwenigsten benutzten Eingangsstelle jeweils auf und werden dementsprechend dazu herangezogen, solche Eingangsstellen zu .adressieren zum Zwecke der Ergänzung ihrer entsprechenden H- und T-Hinweisadressen.As can be seen from Figures 2, 3 and 4, it may only be with respect to the input point affected by the comparison and the two neighboring input points may be required, the H reference address and T-reference address to be added. In addition, the tail reference address 116 and the head reference address 118 must be added. The addresses of the input parts affected by the comparison and the neighboring entry points must be addressed accordingly. The registers 147, 134 and 136 are used for this purpose « The register 147 contains the address of the input point affected by the comparison and can refer to its H and T connection addresses be supplemented at the point in time v / o the connection reference address of this input point is supplemented. The registers 134 and 136 each have the addresses of the input point previously most frequently used and the input point previously least used and are accordingly used to address such input points for the purpose of supplementing their respective ones H and T reference addresses.

Wenn durch den Vergleichen" 122 Gleichheit zwischen dem eingegangenen Befehl und dem Suchargument einer Eingangsstelle festgestelltIf by comparing "122 equality between the received Command and the search argument of an input point detected

5 0 9320/07525 0 9320/0752

wurde, so wird die Kopf-IIinweisadresse 118 sofort mit der Adresse der übereinstimmenden Eingangsstelle ergänzt, wie dies durch das Register 147 angezeigt ist. Die Adresse im Register 147 wird über das UND-Gatter 302 nach der Kopf-Hinweisadresse 118 verschoben. Bezug nehmend auf die Figuren 2 und 3 ist festzustellen, daß für den Fall, daß die vom Vergleich betroffene Eingangsstelle die Eingangsstelle D ist, ihre H- und T-Hinweisadressen jeweils auf das Fehlen einer zuvor häufigeren Eingangsstelle und auf die Eingangsstelle B hinweisen anstelle auf die Eingangsstellen E und C. Im vorliegenden Beispiel wird die zuvor am nächsthäufigsten benutzte Eingangsstelle, die durch die H-Hinweisadresse 113 der vom Vergleich betroffenen Eingangsstelle ausgewiesen ist nunmehr in der T-Hinweisadresse 114 der vom Vergleich betroffenen Eingangsstelle abgelegt. Dies wird bewerkstelligt, indem der Inhalt des Registers 134 über das geöffnete UND-Gatter 306 in den Speicherplatz für die T-Hinweisadresse für die gerade vom Vergleich betroffene Eingangsstelle eingeschrieben wird. Andererseits werden in die H-Hinweisadresse 113 der gerade vom Vergleich betroffenen Eingangsstelle die in der Einrichtung 308 vorliegenden Einerstellen eingeschrieben, falls der Vergleicher 310 eine Gleichheit zwischen der auf der Leitung 148 anstehenden Adresse und der in dem Register 147 abgelegten Adresse feststellt. Sowohl dieses Ja-Signal vom Vergleicher 310 als auch das Vergleichssignal des Vergleichers 122 öffnen das UND-Gatter 312, wodurch die binären Einerstellen über das ODER-Gatcer 314 in die H-Hinweisadresse der gerade dem Vergleich unterliegenden Eingangsstelle eingeschrieben v/erden können., the header pointer 118 becomes immediately with the address of the matching entry point, as indicated by register 147. The address in register 147 is over AND gate 302 shifted to head pointer 118. Referring to Figures 2 and 3, it should be noted that for in the event that the input point affected by the comparison is input point D, its H and T reference addresses each point to the Lack of a previously more frequent entry point and refer to entry point B instead of entry points E and C. Im In the present example, the next most frequently used input point is that of the H reference address 113 of the comparison The affected entry point is now identified in the T reference address 114 of the entry point affected by the comparison filed. This is accomplished by transferring the contents of the register 134 to the memory location for the via the opened AND gate 306 T reference address is written for the input point currently affected by the comparison. On the other hand, in the H-hint address 113 of the input point just affected by the comparison, the single digits present in device 308 are registered, if the comparator 310 shows an equality between that on the line 148 pending address and the address stored in register 147. Both this yes signal from comparator 310 as well as the comparison signal of the comparator 122 open the AND gate 312, whereby the binary units digits via the OR gate 314 into the H reference address of the currently subject to the comparison Registered at the entrance point.

Nachdem die Hinweisadressen in der gerade dem Vergleich unterliegenden Eingangastelle ergänzt sind, müssen die Ilinwcisadressen der vorangehenden oder nachfolgenden Eingangsstelle ebenfalls ergänzt werden. Unter der Annahme, daß die Ilinweisadressen der zuvor am nächsthäufigsten benutzten Eingangsstelle zu ergänzen sind, istAfter the reference addresses in the currently subject to the comparison Entrance points are supplemented, the Ilinwcisadresses of preceding or following entry point also added will. Assuming that the reference addresses of the previous on next most frequently used entry point are to be added

gemäß den Figuren 2 und 3 die Eingangsstelle E mit ihrer H-Hinweisadresse und T-IIinweisadresse zu ergänzen. Dementsprechend weist dieaccording to FIGS. 2 and 3, the entry point E with its H reference address and T-II reference address to be added. Accordingly, the

509820/0752509820/0752

Eingangsstelle E mit ihren H- und T-Hinweisadressen auf die Eingangsstelle D und die Eingangssteile C hin, während vor der fest-Entry point E with their H and T reference addresses to the entry point D and the entrance parts C, while in front of the fixed

gestellten Gleichheit diese Hinweisadressen auf das Fehlen einer zuvor häufiger benutzten Eingangsstelle und die Eingangsstelle D hinwiesen.provided equality these references to the lack of one previously frequently used entry point and entry point D.

Die Eingangsstelle E wird mittels des Inhalts des Registers 134 adressiert. Dies geschieht in einem zeitgestaffelt.cn Verfahren wie dies hinsichtlich auch der anderen durch das ODER-Gatter 120 empfangenen Adressen geschieht. Das zeitgestaffelte Verfahren kann durch nicht dargestellte konventionelle Zeitgebe?einricht.ungen verwirklicht werden. Ist die Eingangsstelle E adressiert, so wird der Inhalt des Registers 136, welcher im vorliegenden Beispiel der Adresse der Eingangsstelle C entspricht, in den Speicherplatz für die T-Hinweisadresse für die Eingangsstelle E eingeschrieben, was über das ODER-Gatter 320 in einer zeitgestaffelten Weise geschieht. Der Speicherplatz für die H-Hinweisadresse der Eingangsstelle E wird mit der Adresse der Eingangsstelle D mittels der Adresse im Register 147 ergänzt, d.h. die Adresse der Eingangsstelle O1 für die Gleichheit vorliegt, wird über das ODER-Gatter 314 eingeschrieben. Nachdem nunmehr die H-Hinweisadresse und die T-Hinweisadresse für die zuvor am nächsthäufigsten benutzte Eingangsstelle ergänzt wurde, muß nunmehr die Eingangsstelle C bezüglich ihrer H-Hinweisadresse und/oder T-Hinweisadresse ergänzt werden. The input point E is addressed by means of the content of the register 134. This is done in a time-staggered process, as is done with regard to the other addresses received by the OR gate 120. The time-staggered method can be implemented by conventional timing devices (not shown). If the input point E is addressed, the content of the register 136, which in the present example corresponds to the address of the input point C, is written into the memory location for the T reference address for the input point E, which is done via the OR gate 320 in a time-staggered manner happens. The memory location for the H reference address of input point E is supplemented with the address of input point D using the address in register 147, ie the address of input point O 1 for equality is written in via OR gate 314 . Now that the H reference address and the T reference address have been added for the input point that was previously most frequently used, the input point C must now be added with regard to its H reference address and / or T reference address.

Die Eingangsstelle C wird über das ODER-Gatter 322 durch den Inhalt des Registers 136 adressiert. Wenn die T-Hinweisadresse für die Eingangsstelle C, nachdem bei einem Vergleich Gleichheit festgestellt wurde,die Gleiche bleibt, braucht diese Hinweisadresse nicht ergänzt zu werden. Die H-Hinweisadresse für die Eingangsstelle C muß jedoch ergänzt werden, um nunmehr anstelle auf die Eingangsstelle D nach festgestellter Gleichheit auf die Eingangsstelle E hinzuweisen. Demgemäß wird der Inhalt des Registers 134, welches die Adresse der Eingangsstelle E enthält, in den Speicherplatz für die H-IIinweisadresse der Eingangsstelle C über das zeitgestaffelt betätigteThe input point C is through the OR gate 322 by the content of register 136 is addressed. If the T-pointer for entry point C after equality is found in a comparison remains the same, this reference address does not need to be added to become. The H reference address for entry point C must however, added to refer to the entry point E instead of the entry point D after identifying equality. Accordingly, the content of the register 134, which contains the address of the entry point E, is stored in the memory location for the H pointer address the entry point C via the time-staggered actuated

509820/0752509820/0752

ODER-Gatter 314 eingeschrieben. Nachdem nunmehr die H-Hinweisadresse und die T-Hinweisadresse für die drei bei Vorliegen von Gleichheit in der Suchtabelle 106 beeinflußten Eingangsstellen ergänzt wurden, sei nunmehr die Art und Weise beschrieben, in welcher die Schwanz-Hinweisadresse 116 ergänzt wird.OR gate 314 written in. After now the H reference address and the T-pointer for the three in the presence of Equality in the search table 106 influenced input points were added, the way is now described in which the tail pointer 116 is supplemented.

Die Schwanz-Hinweisadresse 116 muß so ergänzt werden, daß sie auf diejenige Eingangsstelle innerhalb der Suchtabelle 106 hinweist, die zu jedem gegebenen Zeitpunkt die am wenigsten benutzte Eingangsstelle darstellt. Das einfachste Beispiel einer Ergänzung der Schwanz-Hinweisadresse 116 ist. gegeben, v/enn die am wenigsten benutzte Eingangsstelle die tatsächlich benutzte Eingangsstelle darstellt. In diesem Fall wird die am nächstwenigsten benutzte Eingangsstelle ergänzt und weist nach der Schwanz-Hinweisadresse 116. Die am wenigsten benutzte Eingangsstelle weist in ihrem Speicherplatz 114 für die T-Hinweisadresse binäre Einerstellen auf. Die Feststellung dieses Zustandes zeigt für den Fall, daß eine solche Eingangsstelle bei einem Vergleich die gesuchte Gleichheit aufweist darauf hin, daß die Schwanz-Hinweisadresse 116 ergänzt werden muß. Werden somit die in der Einrichtung 326 vorliegenden binären Einerstellen mit dem Inhalt des Speicherplatzes der T-Hinweisadresse durch den Vergleicher 328 verglichen, so wird das UND-Gatter 330 geöffnet, falls die Eingangsstelle, welche gerade adressiert wird, zugleich die vom Vergleich betroffene Eingangsstelle ist. Das Ausgangssignal des UND-Gatters 3 30 öffnet das UND-Gatter 332 wodurch die in dem Register 134 gespeicherte Adresse in die Schwanz-Hinweisadresse 116 eingeschrieben v/erden kann. Dies ist der Fall, da die dem Vergleich unterliegende Eingangsstelle,welche vor dem festgestellten Vergleich die am wenigsten benutzte Eingangsstelle darstellte mit ihrer H-Hinweisadresse im Register 134 abgespeichert war, wobei diese im Register 134 abgelegte Adresse auf die am nächstweniger benutzte Eingangsstelle innerhalb der Tabelle 106 hinweist. Dementsprechend wird die Schwanz-IIinweisadresse 116 ergänzt und das ganze Verfahren der Ergänzung der verschiedenen Hinweisadressen und der Startpunkttabelle wird auf diese Weise vervollständigt.The tail pointer 116 must be supplemented to point to indicates that entry point within the look-up table 106 which is the least-used entry point at any given point in time represents. The simplest example of tail pointer addition is 116. given, if the least used entry point represents the entry point actually used. In this case the next least used is used Entry point supplements and points to the tail pointer 116. The least-used entry point points to its storage location 114 has binary units digits for the T tag address. The determination of this condition shows in the event that a Such an entry point in a comparison has the sought-for equality, indicating that the tail reference address 116 supplements must become. The binary units present in device 326 thus become with the content of the memory location of the T-pointer compared by the comparator 328, the AND gate 330 is opened if the input point which is currently being addressed is also the entry point affected by the comparison. The output of AND gate 3 30 opens AND gate 332 whereby the address stored in register 134 becomes the tail pointer 116 enrolled. This is the case because the entry point which is subject to the comparison and which was before the The comparison found represented the input point that was used the least, with its H reference address stored in register 134 where this address stored in register 134 changes to the next less used entry point within the table 106 indicates. Correspondingly, the tail pointer address 116 is supplemented and that whole procedures of adding the various reference addresses and the starting point table is completed in this way.

509820/0752509820/0752

Claims (1)

24513842451384 PatentansprücheClaims Datenverarbeitungssystem, gekennzeichnet durchData processing system, characterized by Λ. einen Speicher (108) zur Speicherung einer Vielzahl von Programmen, von denen jedes aus mehreren Befehlen zur Ausführung mehrerer spezieller Funktionen besteht;Λ. a memory (108) for storing a plurality of Programs, each of which consists of several instructions to perform several special functions; B. eine erste Tabelle (106), welche eine der Anzahl der genannten Programme entsprechende Anzahl von Eingangsstellen auf v/eist, wobei jede Eingangsstelle eine erste Uinweisadresse (111) auf eines der erwähnten Programme in dem Speicher (108) und eine erste Adresse (110) enthält, welche erste Adresse (110) einem Befehl zugeordnet ist, der die Adressierung eines der genannten Programme und damit die Ausführung einer zugeordneten, speziellen Funktion ermöglicht;B. a first table (106) which contains a number of input points corresponding to the number of said programs to v / eist, with each entry point having a first reference address (111) to one of the mentioned programs in the memory (108) and contains a first address (110), which is the first Address (110) is assigned to a command that addresses the addressing of one of the programs mentioned and thus the execution an assigned, special function enabled; C. eine Empfangseinrichtung (100) für den genannten Befehl;C. receiving means (100) for said command; D. eine Vergleichseinrichtung (122) zum Vergleichen des empfangenen Befehls mit der genannten ersten Adresse (110) in mindestens einer der genannten Eingangsstellen;D. a comparison device (122) for comparing the received Command with said first address (110) in at least one of said entry points; E. eine Adressiereinrichtung (132) zum Adressieren desjenigen der genannten Programme, dessen zugeordnete Eingangsstelle diejenige Adresse (110) der genannten ersten Adressen (110) enthält, welche mit dem genannten Befehl übereinstimmt.E. an addressing device (132) for addressing that one of the programs mentioned, its assigned input point that address (110) of said first addresses (110) which corresponds to said command. Datenverarbeitungssystem nach Anspruch 1, ge kennzeichnet durchData processing system according to claim 1, characterized by A. den jeweiligen Eingangsstellen zugeordnete HinweisadressenA. Addresses assigned to the respective entry points (111 - 114) und zugehörige Logikschaltkreise zum Anzeigen 'der Aktivität der Eingangsstellen in Übereinstimmung mit der Häufigkeit der Benutzung der genannten Programme und(111-114) and associated logic circuitry for indicating the activity of the entry points in accordance with the frequency of use of the programs mentioned and B. der Vergleichseinrichtung (122) zugeordnete Einrichtungen, welche zuerst den erhaltenen Befehl mit der ersten AdresseB. the comparison device (122) associated devices, which first the received command with the first address (110) der Eingangsstellen vergleicht, welche den am häufigsten benutzten Eingangsstellen der genannten Programme entsprechen. (110) of the entry points compares which correspond to the most frequently used entry points of the programs mentioned. 509820/0752509820/0752 3. Datenverarbextungssystem nach Anspruch 1, gekennzeichnet durch 3. Datenverarbextungssystem according to claim 1, characterized by A. Einrichtungen zum Anzeigen der Aktivität der Eingangsstollon in Übereinstimmung mit den zuvor am häufigsten benutzten Programmen undA. Facilities to display the activity of the entrance tunnel in accordance with the previously most frequently used programs and B. der Vergleichseinrichtung (122) zugeordnete Einrichtungen,, welche zuerst den erhaltenen Befehl mit der ersten AdresseB. facilities assigned to the comparison facility (122), which first received the command with the first address (110) der Eingangsstellen vergleicht, welche den zuvor ara häufigsten benutzten Eingangsstellen der genannten Programme entsprechen.(110) compares the entry points which the previously ara the most frequently used entry points of the programs mentioned. 4. Datenverarbeitungssystem nach Anspruch 1, gekennzeichnet durch 4. Data processing system according to claim 1, characterized by A. eine zweite Tabelle (104) mit einer Vielzahl von Speicherplätzen/ wobei jeder der genannten Speicherplätze mit einer zweiten Adresse versehen istA. a second table (104) with a large number of storage locations / each of said storage locations being provided with a second address B. Einrichtungen (100, 102) zum Adressieren einer dieser Speicherplätze in der zweiten Tabelle (104) mittels des erhaltenen Befehls undB. means (100, 102) for addressing one of these memory locations in the second table (104) by means of the command received and C. der Vergleichseinrichtung (122) zugeordnete Einrichtungen zum Vergleichen des erhaltenen Befehls mit der ersten Adresse (110) in einer der Eingangsstellen, wobei auf die erste Adresse (110) durch die zweite Adresse in dem adressierten Speicherplatz der zweiten Tabelle (104) hingewiesen wird.C. Devices associated with the comparison device (122) for comparing the command received with the first address (110) in one of the input points, with reference to the first Address (110) is indicated by the second address in the addressed memory location of the second table (104). 5. Datenverarbeitungssystem nach Anspruch 4, dadurch gekennzeichnet , daß der Befehl aus einer Vielzahl von Bits besteht und daß eine Maskenschaltung (102) zur Auswahl signifikanter Bits aus der Vielzahl von Bits angeordnet ist, um die zweite Tabelle (104) zu adressieren.5. Data processing system according to claim 4, characterized characterized in that the command is from a multitude of bits and that a mask circuit (102) is arranged for selecting significant bits from the plurality of bits to address the second table (104). 6. Datenverarbeitungssystein nach Anpruch 5, dadurch gekennzeichnet , daß die Anzahl der Speicherplätze in der zweiten Tabelle (104) durch die Anzahl der6. data processing system according to claim 5, thereby characterized in that the number of storage locations in the second table (104) by the number of 509820/0752509820/0752 signifikanten Bits des Befehls festgelegt ist, wobei, die signifikanten Bits die Hochzahl zur Basiszahl 2 bilden.significant bits of the command, where, the significant bits form the exponent of the base number 2. 7. Datenverarbeitungssystem nach Anspruch 6, dadurch gekennzeichnet, daß die Anzahl der Speicherplätze in der zweiten Tabelle (104) geringer als die Anzahl der Eingangsstellen der ersten Tabelle (106) ist.7. Data processing system according to claim 6, characterized in that the number of storage locations in the second table (104) is less than the number of input points of the first table (106). 8. Datenverarbeitungssystem nach Anspruch 7, dadurch gekennzeichnet , daß die Anzahl der durch eine zweite Adresse in der zweiten Tabelle (104) adressierbaren Eingangsstellen in der ersten Tabelle (106) größer als 1 ist.8. Data processing system according to claim 7, characterized characterized in that the number of through a second address in the second table (104) of addressable input locations in the first table (106) is greater than 1 is. 9. Datenverarbeitungssystem nach /mspruch 4, dadurch gekennzeichnet , daß jede der genannten Ein-gangsstellen eine zweite und dritte Hinweisadresse aufweist, wobei die zweite Hinweisadresse (113) die Adresse der Eingangsstelle beinhaltet, die zu dem zuvor am nächst häufigsten Programm gehört und die dritte Hinweisadresse (114) die Adresse der Eingangsstelle beinhaltet, die zu dem zuvor am nächst wenigsten benutzten Programm gehört.9. Data processing system according to / mspruch 4, thereby characterized in that each of the named entry points has a second and third pointer, the second pointer (113) being the address of the entry point which belongs to the previously most frequent program and the third reference address (114) contains the address of the entry point that belongs to the previously least recently used program. 10. Datenverarbeitungssystem nach Anspruch 9, gekennzeichnet durch10. Data processing system according to claim 9, characterized by A. eine Kopf-Hinweisadresse (118) zum Kennzeichnen der Adresse derjenigen Eingangsstelle, die zu dem zuvor von allen Programmen am häufigsten benutzten Programm gehörtA. a header pointer (118) to identify the address the entry point that belongs to the program previously most frequently used of all programs B. eine Schwanz-Hinweisadresse (116) zum Kennzeichnen der Adresse derjenigen Eingangsstelle, die zu dem zuvor von allen Programmen am wenigsten benutzten Programm gehörtB. a tail pointer (116) to identify the Address of the entry point that belongs to the program that was previously least used by all programs C. Einrichtungen zum Ergänzen der zweiten und dritten Hinweisadresse der Eingangsstelle, deren erste Adresse (110) mitC. Means for completing the second and third reference addresses the entry point, whose first address (110) with dem Befehl übereinstimmt undmatches the command and 509820/0752509820/0752 D. Einrichtungen zum Ergänzen der zweiten und/oder dritten Hinweisadresse der Eingangsstellen, welche durch die Adressen in der zweiten und dritten- Hinweisadresse derjenigen Eingangsstelle gekennzeichnet sind, deren Adresse mit dem Befehl übereinstimmt.D. Means for supplementing the second and / or third reference address of the input points, which by the Addresses in the second and third reference address of that input point are identified whose address matches the command. 11. Datenverarbeitungssystem nach Anspruch 10, gekennzeichnet durch eine weitere Einrichtung zur Ergänzung der Kopf-Hinweisadresse (118), um die Adresse derjenigen Eingangsstelle zu beinhalten, deren erste Adresse (110) mit dem Befehl übereinstimmt.11. Data processing system according to claim 10, characterized by a further device to supplement the header reference address (118) with the address of the input point whose first address (110) matches the command. 12. Datenverarbeitungssystem nach Anspruch 11, gekennzeichnet durch eine v/eitere Einrichtung zur Ergänzung der Schwanz-Hinweisadresse (116), um die Adresse des zuvor am wenigsten benutzten Programmes zu beinhalten.12. Data processing system according to claim 11, characterized by a further device to supplement the tail pointer address (116) to add the address of the previously least used program include. 13. Datenverarbeitungssystem nach Anspruch 12, gekennzeichnet durch13. Data processing system according to claim 12, characterized by A. eine Einrichtung zum Anzeigen der Nicht-Übereinstimmung zwischen dem empfangenen Befehl und der ersten Adresse (110) einer der Eingangsstellen in der ersten Tabelle (106) , was gleichbedeutend mit dem Fehlen eines dem Befehl zugeordneten Programmes im Arbeitsspeicher (108) ist undA. Means for indicating the mismatch between the received command and the first address (110) one of the entry points in the first table (106), which is equivalent to the absence of a program assigned to the command in the main memory (108) and B. eine Einrichtung zum Ersetzen des Programmes im Arbeitsspeicher, welches der durch die Schwanz-Hinweisadresse^ (116) ausgewiesenen Eingangsstelle zugeordnet ist, durch ein Programm, welches dem Befehl zugeordnet ist, für den keine Übereinstimmung festgestellt wurde.B. a device for replacing the program in the working memory, associated with the entry point identified by the tail pointer ^ (116) a program associated with the instruction for which no match was found. 14. Datenverarbeitungssystem nach Anspruch 9, dadurch gekennzeichnet , daß jede der genannten Eingangsstellcn eine vierte Ilinweisadresse (11.2) aufweist,14. Data processing system according to claim 9, characterized characterized in that each of said entry points has a fourth reference address (11.2), 509820/0752509820/0752 daß die vierte Hinweisadresse eine /idresse zum Verketten einer Eingangsst'elle mit einer cinderen Eingangsstelle innerhalb einer gleichen Familie von Eingangsstellen umfasstf daß jede Familie von Eingangsstellen aus mindestens zwei Eingangsstellen besteht, von denen jeweils die erste Adresse (110) mit dem erhaltenen Eefehl verglichen wird, daß die zweite Tabelle (104) die Adresse der zuvor am häufigsten benutzten Eingangsstelle innerhalb der Familie von Eingangsstellen umfasst und daß die vierte Hinweisadresse (112) der zuletzt am höufigsten benutzten Eingangsstelle innerhalb der Familie von Eingangsstellen die Adresse der nächst weniger häufig benutzten Eingangsstelle innerhalb der Familie umfasst. that the fourth reference address comprises an address for linking an input point with a different input point within the same family of input points f that each family of input points consists of at least two input points, each of which compares the first address (110) with the command received that the second table (104) comprises the address of the previously most frequently used entry point within the family of entry points and that the fourth reference address (112) of the most recently used entry point within the family of entry points is the address of the next less frequently used entry point includes within the family. 15. Datenverarbeitungssystem nach Anspruch 14, gekennzeichnet durch eine Einrichtung zum Ergänzen der Jvdresse in einem der Speicherplätze der zweiten Tabelle (104), um auf die dem zuletzt an häufigsten benutzten Programm innerhalb der den Eingangsstellen in der Familie von Eingangsstellen zugeordneten Programmen hinzuweisen.15. Data processing system according to claim 14, characterized by a device for supplementation the address in one of the memory locations of the second Table (104) to refer to the most recently used program within the entry points in to indicate programs associated with the family of entry points. 509820/0752509820/0752 LeerseiteBlank page
DE2451984A 1973-11-08 1974-11-02 Data processing system Expired DE2451984C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US41406373A 1973-11-08 1973-11-08

Publications (2)

Publication Number Publication Date
DE2451984A1 true DE2451984A1 (en) 1975-05-15
DE2451984C2 DE2451984C2 (en) 1984-07-26

Family

ID=23639803

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2451984A Expired DE2451984C2 (en) 1973-11-08 1974-11-02 Data processing system

Country Status (11)

Country Link
JP (1) JPS5840273B2 (en)
BE (1) BE821998A (en)
CA (1) CA1027248A (en)
CH (1) CH595662A5 (en)
DE (1) DE2451984C2 (en)
ES (1) ES430692A1 (en)
FR (1) FR2251053B1 (en)
GB (1) GB1491692A (en)
IT (1) IT1023160B (en)
NL (1) NL7413691A (en)
SE (1) SE402990B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5696337A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Resource control system
US20140281398A1 (en) * 2013-03-16 2014-09-18 William C. Rash Instruction emulation processors, methods, and systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Spring Joint Computer Conference, 1971, S.163-168 *

Also Published As

Publication number Publication date
FR2251053B1 (en) 1978-11-24
AU7493574A (en) 1976-05-06
GB1491692A (en) 1977-11-09
FR2251053A1 (en) 1975-06-06
NL7413691A (en) 1975-05-12
JPS5840273B2 (en) 1983-09-05
DE2451984C2 (en) 1984-07-26
ES430692A1 (en) 1977-05-01
CH595662A5 (en) 1978-02-15
BE821998A (en) 1975-05-09
SE402990B (en) 1978-07-24
CA1027248A (en) 1978-02-28
IT1023160B (en) 1978-05-10
SE7413818L (en) 1975-05-09
JPS5081034A (en) 1975-07-01

Similar Documents

Publication Publication Date Title
DE1499193C3 (en) Memory addressing circuit
DE1931966C3 (en) Data processing system with associative memories
DE2515696C2 (en) Data processing system
DE2712575C2 (en) Associative storage system in highly integrated semiconductor technology
DE2364408A1 (en) SYSTEM FOR CREATING CIRCUIT ARRANGEMENTS FROM HIGHLY INTEGRATED CHIPS
DE2725718A1 (en) PROCESSING SYSTEM WITH MULTIPLE VIRTUAL ADDRESS SPACES
DE2556661A1 (en) CONTROL CIRCUIT WITH ADDRESS EXTENSION
EP0010186B1 (en) Apparatus for handling tagged pointers
DE1197650B (en) Parallel adder
DE2164793A1 (en) Method and data processing system for controlling a large number of input / output units by means of a central unit
DE4117672A1 (en) CPU and cache memory control method - avoiding limitation of CPU operation due to cache memory operation
EP1079307B1 (en) Method for operating a memory system as well as memory system
DE2900586A1 (en) ARRANGEMENT FOR DECODING CODE WORDS OF VARIABLE LENGTH
DE2403039C2 (en) Device for executing commands in an address-extended electronic data processing system
DE2617485A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR PROCESSING MICRO-COMMAND SEQUENCES IN DATA PROCESSING SYSTEMS
DE2136270A1 (en) Method and comparator for comparing two binary numbers
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2725614A1 (en) DATA PROCESSING SYSTEM WITH AN ARRANGEMENT FOR QUICK AND NORMAL COMMAND CALL
DE3535215C2 (en)
DE2062164A1 (en) Method for generating a multi-level index for stored data units
DE3340956A1 (en) METHOD AND DEVICE FOR DETECTING MEMORY ACCESSES
EP1204917B1 (en) Stack of operands and method for stacking of operands
DE2451984A1 (en) DATA PROCESSING SYSTEM
DE2601379C3 (en) Circuit arrangement for converting virtual addresses into real addresses
DE4342521C1 (en) Compressed data expansion method

Legal Events

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