DE1234059B - Priority control for a data processing system consisting of several computers - Google Patents

Priority control for a data processing system consisting of several computers

Info

Publication number
DE1234059B
DE1234059B DE1965T0028804 DET0028804A DE1234059B DE 1234059 B DE1234059 B DE 1234059B DE 1965T0028804 DE1965T0028804 DE 1965T0028804 DE T0028804 A DET0028804 A DE T0028804A DE 1234059 B DE1234059 B DE 1234059B
Authority
DE
Germany
Prior art keywords
computer
priority
computers
free
detector
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.)
Pending
Application number
DE1965T0028804
Other languages
German (de)
Inventor
Dipl-Ing Hans Konrad Schmidt
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.)
Telefunken Patentverwertungs GmbH
Original Assignee
Telefunken Patentverwertungs GmbH
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 Telefunken Patentverwertungs GmbH filed Critical Telefunken Patentverwertungs GmbH
Priority to DE1965T0028804 priority Critical patent/DE1234059B/en
Publication of DE1234059B publication Critical patent/DE1234059B/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Description

Vorrangsteuerung für ein aus mehreren Rechnern C bestehendes Datenverarbeitungssystem Die Erfindung betrifft ein programmgesteuertes Datenverarbeitungssystem mit einer Mehrzahl von selbständig arbeitenden Rechnern, von denen jeder nach Maßgabe seines jeweiligen Programms jedem anderen Rechner Programmteile übergeben kann. Weiterhin weist das Datenverarbeitungssystem einen gemeinsamen Speicher, der gegebenenfalls in mehrere getrennt adressierbare Speicherblöcke aufgeteilt ist, eine Mehrzahl von Peripheriegeräten wie Ein-Ausgabegeräte u. dgl. und eine zentrale Schalteinheit auf. Die letztere ermöglicht die Zusammenarbeit der Rechner untereinander, der Rechner mit den Peripheriegeräten und mit den Speicherblöcken nach einer vorzugsweise von den Rechnerprogranirnen be-stimmten Vorrangfolge. Die Zusammenarbeit erfolgt in der Weise, daß Rechner, denen ein Programm höheren Vorranges zugeordnet ist, gegenüber Rechnern mit niedrigerem Vorrang einen bevorzu ten Zu-& 9 griff zu weiteren Rechnern, zu Speicherblöcken und Peripheriegeräten erhalten. Die Erfindung beschreibt für ein derartiges Datenverarbeitungssystem eine vorteilhafte Vorrangsteuerung.Priority control for a data processing system consisting of several computers C The invention relates to a program-controlled data processing system with a plurality of independently operating computers, each of which can transfer program parts to any other computer in accordance with its respective program. Furthermore, the data processing system has a common memory, which is optionally divided into several separately addressable memory blocks, a plurality of peripheral devices such as input / output devices and the like, and a central switching unit. The latter allows the cooperation of the computer with each other, the computer with the peripherals and memory blocks after a loading preferably from Rechnerprogranirnen voted precedence. The cooperation takes place in such a way that computer, where a program higher precedence is assigned to handle other computers, to memory blocks and peripherals obtained compared to machines having a lower priority a Favor th & supply. 9 The invention describes an advantageous priority control for such a data processing system.

Derartige Datenverarbeitungssysteme mit mehreren Rechnern und mehreren Speicherblöcken, wobei jeder Rechner wahlweise mit jedem Speicherblock zusammenarbeiten kann, lassen eine simultane Bearbeitung mehrerer selbständiger Programme zu. Um eine volle Ausnutzung der Rechner und eine Bearbeitung der Programme gemäß ihrer Wichtigkeit, also ihres Vorranges, zu erzielen, dürfen den einzelneu Rechnern keine für das System allgemeingültigen Vorrangzahlen zugeordnet sein, wie dies etwa durch eine Verdrahtung festgelegt werden könnte. Bei mehreren bekanntgewordenen Datenverarbeitungssystemen erfolgt die Vorran-Zuteilung mittels eines sogenannten Dienstprogramms. Dienstprogramme regeln die »Verteilung im Großen«, d. h., sie regeln die Verteilung von Programmen bzw. Programmabschnitten auf die verschiedenen Rechner und überwachen den Stand der Verarbeitung. Die Vorranzuordnung durch Programme hat jedoch den Nachteil des hohen Zeitaufwandes. So vergehen z. B. mehrere Speicherzyklen, bis eine Verbindung zwischen verschiedenen Einheiten (Rechner-Rechner, Rechner-Speicher) unter Beachtung des jeweiligen Vorranges aufgebaut ist.Such data processing systems with several computers and several memory blocks, each computer optionally being able to work together with each memory block, allow simultaneous processing of several independent programs. In order to achieve full utilization of the computers and processing of the programs according to their importance, i.e. their priority, the individual computers must not be assigned any priority numbers that are generally valid for the system, as could be determined by wiring, for example. In the case of several known data processing systems, the priority allocation is carried out by means of a so-called service program. Utilities regulate the "distribution in the Great", d. In other words, they regulate the distribution of programs or program sections to the various computers and monitor the processing status. However, the priority assignment by programs has the disadvantage of being very time-consuming. So pass z. B. several memory cycles until a connection between different units (computer computer, computer memory) is established taking into account the respective priority.

Aufgabe der Erfindung ist es, ein System zur Vorrangzuordnung zu schaffen, das den Verbindungsaufbau einschließlich aller notwendigen Abfragen und Prüfungen in möglichst kurzer Zeit durchzuführen gestattet. Die Merkmale der Erfindung ergeben sich aus den Ansprüchen, die Vorteile und Einzelheiten derselben aus der Beschreibung und den Zeichnunaen. Die Zeichnungen geben in Verbindung mit der Beschreibung ein Beispiel zur Erfindung an, und zwar zeigt F i g. 1 ein Blockschaltbild des erfindungsgemäßen Systems, Fig* 2 schaltbildmäßige Ausschnitte desselben und F i a 3 ebenso wie die F i g. 4 und 5 notwendige Erläuterungen von in F i g. 2 verwendeten Schaltsymbolen.The object of the invention is to create a system for priority assignment that allows the connection to be set up, including all necessary queries and tests, to be carried out in the shortest possible time. The features of the invention emerge from the claims, the advantages and details thereof from the description and the drawings. The drawings, in conjunction with the description, give an example of the invention, namely FIG. 1 is a block diagram of the system according to the invention Fig 2 * of the same switching imagewise cutouts and F i a 3 as well as the F i g. 4 and 5 necessary explanations of in FIG. 2 used circuit symbols.

Im folgenden wird, vorerst ohne Bezug auf die Zeichnungen, das Prinzip der Vorrangzuordnung, wie es im Datenverarbeitungssystem erfindungsgemäß verwendet wird, beschrieben. Vorhanden sind n selbständige Rechner, die zusarnrn en mit m Speichereinheiten ein programmgesteuertes digitales Datenverarbeitungssystem bilden. Jeder Rechner kann mit jeder Speichereinheit zusammenarbeiten. Jeder Rechner bearbeitet ein selbständiges Programm. Den Programmen sind in der Reihenfolge, ihrer Wichtigkeit Vorrangzahlen zugeordnet. Hier soll für die weitere Beschreibung die Vereinbarung getroffen werden, daß höhere Vorrangzahlen höheren Wichtigkeitsgraden entsprechen. Das Programm eines Rechners kann aber auch ein Teil des Programms eines weiteren Rechners sein. Will ein Rechner Teile des eigenen Programms abgeben, so gibt er ein Rechneranforderungssignal ab, welches bewirkt, daß ihm entweder ein freier Rechner zur Programmübernahme zugeordnet wird oder daß ihm jener Rechner zugeordnet wird, der jeweils das Programm des niedrig+ sten Vorranges bearbeitet, der also den niedrigsten Vorrang aufweist. Die Vorgänge der Rechner sind also veränderlich. Fordert ein Rechner einen freien Rechner an und ist ein solcher vorhanden, so erhält der angeforderte Rechner den jeweiligen Vorrang des anfordernden Rechners, während der letztere wie auch alle vorrangmäßigen unter diesem liegenden Rechner einen um den Wert EINS niedrigeren Vorrang erhalten. Falls kein Rechner frei ist, wird, wie bereits erwähnt, das Programm des Rechners mit dem niedrigsten Vorrang unterbrochen, und dieser Rechner wird dem anfordernden zur Verfügung gestellt. Nach Beendigung eines Programms gibt der jeweilige Rechner ein Rechner-Frei-Signal ab, und alle vorrangmäßig unter diesem Rechner liegenden Rechner erhalten einen um den Wert EINS erhöhten Vorrang. Fordern hingegen mehrere Rechner zu gleicher Zeit einen Rechner zur Programmübergabe an, so wird, falls überhaupt möglich, dem Rechner es höchsten unter den anfordernden Rechnern vorkommenden Vorrangs ein Rechner zugeordnet.In the following, without reference to the drawings for the time being, the principle the priority assignment as used in the data processing system according to the invention is described. There are n independent computers that work together with m Storage units form a program-controlled digital data processing system. Every computer can work together with every storage unit. Every computer works a stand-alone program. The programs are in the order of their importance Assigned priority numbers. The agreement should be used here for further description it can be made that higher priority numbers correspond to higher degrees of importance. The program of one computer can also be part of the program of another Be the computer. If a computer wants to give up parts of its own program, it gives a computer request signal, which causes him either a free computer is assigned to the program transfer or that the computer is assigned to it, who processes the program with the lowest priority, i.e. the one with the lowest Has priority. The processes of the computers are therefore changeable. Asks a calculator If a free computer is available, the requested one receives Calculator the respective priority of the requesting computer while the latter as well as all of the higher-priority computers located below this one the value ONE will be given lower priority. If no computer is free, how already mentioned, the program of the computer with the lowest priority was interrupted, and this computer is made available to the requesting party. After completion of a program, the respective computer emits a computer-free signal, and all of them Computers that are primarily below this computer receive a value of ONE increased priority. If, on the other hand, several computers request one computer at the same time to transfer the program, if at all possible, it will be the highest for the computer A computer is assigned priority among the requesting computers.

F ig. 1 zeigt nun die erfindungsgemäße nach diesem Prinzip arbeitende Schaltung als Blockschaltbild. Vier Rechner 6, 7, 8 und 9 arbeiten mit der die »Verteilung im Großen« ermöglichenden Zentraleinheit 5 zusammen. Diese nimmt Rechner-Frei-Signale einzelner Rechner entgegen und sorgt im wesentlichen für die notwendigen Umschaltungen, die dann notwendig werden, wenn ein Rechner Programmteile übergibt oder wenn ein Rechner mit einer neuen oder weiteren Speichereinheit zu verbinden ist. Zur Ermöglichung der Zusammenarbeit jedes Rechners mit jedem Speicher enthält die Zentraleinheit 5 ,ein kreuzschienenartiges Schaltsystem. Wird ein Rechner, z. B. der des jeweils niedrigsten Vorranges, zum Zwecke der Programmübernahme unterbrochen, so muß er vor der Progranunübernahme sein jeweils eigenes Programm abbrechen und die Stellung seiner Register usw. abspeichern. Dieser Vorgang ist unter der Bezeichnung »Status kopieren« allgemein bekannt. Zum Status kopieren weist somit jeder der Rechner 6, 7, 8 und 9 einen Unterbrechungsmechanismus auf, die in der Zeichnung jedoch nicht dargestellt sind. Ebenso sind die Speichereinheiten nicht gezeichnet, da sie zum Verständnis der Erfindung unwesentlich sind. Jeder Rechner trägt eine Ordnungszahl, eine Nummer. Es wird hier willkürlich festgelegt, daß der Rechner 6 die Nummer 1, der Rechner 7 die Nummer 2, Rechner 8 die Nummer 3 und der Rechner 9 die Nummer 4 trage. Die Zentraleinheit gibt an ihren Ausgängen 56 bis 59 die Nummer des jeweils frei gemeldeten Rechners an und, sofern mehrere freie Rechner vorhanden sind, die Nummer eines dieser Rechner. Alle außer den Rechnern 6 bis 9 und der Zentraleinheit 5 in F i g. 1 aufgeführten Schaltungen dienen der Vorrangzuordnung.Fig. 1 now shows the circuit according to the invention, which operates according to this principle, as a block diagram. Four computers 6, 7, 8 and 9 work together with the central unit 5 , which enables "large-scale distribution". This accepts computer-free signals from individual computers and essentially ensures the necessary switchovers that are necessary when a computer transfers parts of the program or when a computer is to be connected to a new or further memory unit. To enable each computer to work with each memory, the central unit 5 contains a crossbar-like switching system. If a computer, e.g. If, for example, that of the lowest priority is interrupted for the purpose of program takeover, he must cancel his own program and save the position of his registers etc. before the program is taken over. This process is commonly known as "copy status". For the status copy, each of the computers 6, 7, 8 and 9 thus has an interrupt mechanism, which, however, are not shown in the drawing. The storage units are also not shown, since they are not essential for an understanding of the invention. Every computer has an ordinal number, a number. It is arbitrarily determined here that the computer 6 carries the number 1, the computer 7 the number 2, the computer 8 the number 3 and the computer 9 the number 4. At its outputs 56 to 59, the central unit indicates the number of the respective free reported computer and, if there are several free computers, the number of one of these computers. All except the computers 6 to 9 and the central processing unit 5 in FIG. 1 are used for priority assignment.

Mit 1 ist dort ein Vorrangzuordner bezeichnet. Dieser gibt an seinen Vielfachleitungen g, h, i und k die Vorrangverteilung in dem Rechensystem an. Dazu ist jeder der Vielfachleitungen eine Vorrangzahl fest zugeordnet, z. B. derVielfachleitung k der Vorrang 4, i der Vorrang 3, h der Vorrang 2 und g der Vorrang 1, entsprechend den vier möglichen Vorränggen bei vier Rechnern. Jede Vielfachleitung aber gibt die Nummer eines Rechners an. Der von einer Vielfachleitung angegebene Rechner weist den Vorrang derselben auf.Wird so z. B. von der Leitung h die Rechnemummer 4 angegeben, so hat der Rechner 9, dessen Nummer 4 ist, den Vorrang 2. Alle Entscheidungseinheiten des Datenverarbeitungssystems, die Entscheidungen unter Berücksichtigung der Vorrangverteilung zu fällen haben, sind mit den Vielfachleitungen g, li, i, k verbunden. So führen diese in der Zeichnung an Vorrangdetektoren 2, 2a, 2b und Rechnerdetektoren 4, 4a. With 1 there is designated a priority allocator. This indicates the priority distribution in the computing system on its multiple lines g, h, i and k. For this purpose, each of the multiple lines is permanently assigned a priority number, e.g. B. the multiple line k priority 4, i priority 3, h priority 2 and g priority 1, corresponding to the four possible priorities with four computers. Each multiple line, however, indicates the number of a computer. The computer specified by a multiple line has the priority of the same. If, for example, the computer number 4 is given by the line h, the computer 9, whose number is 4, has priority 2. All decision units of the data processing system that have to make decisions taking the priority distribution into account are connected to the multiple lines g, li, i , k connected. In the drawing, these lead to priority detectors 2, 2a, 2b and computer detectors 4, 4a.

Dem Vorrangzuordnerl müssen zur Vorrangzuordnung nach den vorher genannten Prinzipien die Rechner-Frei-Meldung zugeführt worden. Dies geschieht über die Leitungen 165, 166 und 167. über die Leitungen 151+ bis 154+ erhält der Vorrangzuordner 1 Befehle zur Einordnung freier aber angeforderter Rechner in die Skala der Vorränge. Die dazu notwendige Nummer des betreffenden Rechners wird ihm über die Leitungen 56 bis 59 zugeführt. Außerdem muß der Vorrangzuordner 1 Kenntnis davon erhalten, wenn einer der Rechner einen weiteren Rechner anfordert. Er benötigt diese Kenntnis weiterhin nicht in Form der Nummer des anfordernden Rechners, sondern in Form der Vorrangzahl des betreffenden Rechners. Zur Umwandlung der Nummer des jeweils anfordernden Rechners in dessen jeweilige Vorrangzahl ist der Vorrangdetektor 2 vorgesehen. Dieser erhält die, Rechneranforderungsmeldungen über die Leitungen 246, 247, 248, 249, wobei die letzte Ziffer den jeweils anfordernden Rechner kennzeichnet. Der Rechnerdetektor 2 gibt die jeweilige Vorrangzahl des anfordernden Rechners über einen Vorrangvereinzeler 3 an den Vorrangzuordner 1 und an einen Rechnerdetektor 4.The computer-free message must be sent to the priority assigner for priority assignment according to the principles mentioned above. This is done via the lines 165, 166 and 167. through the lines 151+ 154+ to the Vorrangzuordner requested computer receives commands 1 for classifying free but in the scale of Vorränge. The number of the computer concerned required for this is fed to him via lines 56 to 59. In addition, the priority allocator 1 must be informed when one of the computers requests another computer. He still does not need this knowledge in the form of the number of the requesting computer, but in the form of the priority number of the computer concerned. The priority detector 2 is provided for converting the number of the respective requesting computer into its respective priority number. This receives the computer request messages over the lines 246, 247, 248, 249, the last digit identifying the computer requesting each. The computer detector 2 gives the respective priority number of the requesting computer via a priority separator 3 to the priority allocator 1 and to a computer detector 4.

Der Verrangzuordner 1 kann nur jeweils eine Rechneranforderung verarbeiten. Da jedoch prinzipiell die Möglichkeit gegeben ist, daß gleichzeitig mehrere Rechner einen weiteren Rechner zur Programmübergabe anfordern, gibt der Vorrangvereinzeler 3 nur die höchste der ihm gleichzeitig von dem Vorrangdetektor 2 gemeldeten Vorrangzahlen an den Vorrangzuordner 1 weiter. Die gleichzeitige Anforderung braucht dabei nicht durch ein gleichzeitiges Auftreten mehrerer Rechneranforderungssignale gegeben zu sein, sondern auch durch mehrere Rechneranforderungsdauersignale, nämlich dann, wenn kein Rechner frei ist und die übereinkunft bezüglich der Unterbrechung des Rechners des niedrigsten Vorranges nicht besteht. Sofern die Möglichkeit der geschilderten Gleichzeitigkeit von Rechneranforderungssignalen nicht gegeben ist, kann der Vorrangvereinzeler 3 ebenso wie der später noch zu erläuternde weitere Vorrangvereinzeler 3 b entfallen.The priority allocator 1 can only process one computer request at a time. However, since there is in principle the possibility that several computers request another computer to transfer the program at the same time, the priority separator 3 only forwards the highest of the priority numbers reported to it by the priority detector 2 to the priority allocator 1 . The simultaneous request does not need to be given by the simultaneous occurrence of several computer request signals, but also by several computer request duration signals, namely when no computer is free and the agreement regarding the interruption of the computer of the lowest priority does not exist. Unless the possibility of the described simultaneity is not given by computer request signals that can Vorrangvereinzeler 3 as well as the still to be explained more Vorrangvereinzeler 3 accounts b later.

Der Vorrangzuordner 1 kann prinzipiell die Nummern von Rechnern nicht verarbeiten, sondern es müssen ihm immer die Vorrangzahlen der betreffenden Rechner zugeführt werden. Aus diesem Grund durchlaufen auch die für die Rechner-Frei-Meldung vorgesehenen Leitungen 165, 166 und 167 einen Vorrangdetektor 2b und, falls notwendig, den Vorrangvereinzeler 3 b. In principle, the priority assigner 1 cannot process the numbers of computers; instead, it must always be supplied with the priority numbers of the computers in question. For this reason, the lines 165, 166 and 167 provided for the computer-free message also pass through a priority detector 2b and, if necessary, the priority separator 3b.

Der Rechnerdetektor 4 gibt bei Rechneranforderungen eine Rückmeldung an den jeweils anfordernden Rechner, Dies ist für den Fall notwendig, wenn mehrere Rechner zum gleichen Zeitpunkt einen weiteren Rechner anfordern. Aber nur einer, nämlich der des höchsten Vorranges, kann berücksichtigt werden. Für diesen gibt der Vorrangvereinzeler 3 ein Signal ab, welches im Vorrangzuordner 1 die Vorrangumstufung veranlaßt und gleichzeitig an den Rechnerdetektor 4 gelangt. Dieser stellt nun die zu dem Vorrangsignal gehörende Rechnernummer fest und gibt an den betreffenden Rechner ein Signal als Aufforderung zur Programmübergabe ab.The computer detector 4 sends a response to the computer requesting the computer requesting it. This is necessary for the case when several computers request another computer at the same time. But only one, namely that of the highest priority, can be considered. For this, the priority separator 3 emits a signal which causes the priority reclassification in the priority allocator 1 and at the same time arrives at the computer detector 4. This now determines the computer number belonging to the priority signal and sends a signal to the computer concerned as a request to transfer the program.

Bei der Erläuterung der Systemprinzipien war gesagt worden, daß einem anfordernden Rechner bei Nichtvorhandensein eines freien Rechners derjenige, des jeweils niedrigsten Vorrangs zur Verfügung zu stellen ist. Diese Maßnahme kann jedoch dann nicht durchgeführt werden, wenn der anfordernde Rechner selbst den niedrigsten Vorrang hat. In diesem Fall gibt es keinen freien Rechner. Die Anforderung wird .nicht berücksichtigt. Das wird in einfacher Weise dadurch erreicht, daß der Vorrang-detektor 2 für anfordemde Rechner des Vorranges 1 (niedigster Vorrang) kein Vorrangsignal abgibt. Das Ausbleiben des Rückmeldesignals kann dem jeweils anfordernden Rechner als Anzeige dafür dienen, daß er selbst den niedrigstenVorrang hat und mithin keine Programmteile übergeben kann.When explaining the system principles, it was said that if a free computer is not available, the one with the lowest priority is to be made available to a requesting computer. However, this measure cannot be carried out if the requesting computer itself has the lowest priority. In this case there is no free computer. The requirement is not taken into account. This is achieved in a simple manner in that the priority detector 2 does not emit a priority signal for requesting computers with priority 1 (lowest priority). The absence of the feedback signal can serve as an indication to the computer making the request that it has the lowest priority and therefore cannot transfer any program parts.

Falls aber ein Rechner, dem von einem anderen Rechner ein Programmteil zur Bearbeitung übergeben worden ist, selbst wieder einen freien Rechner anfordert, kann auch anders verfahren werden. Bei gegebener Programmstruktur kann es nämlich zweckmäßig oder erforderlich sein, daß ein Rechner einen anderen Rechner, der am selben Hauptprogramm arbeitet, nicht unterbrechen darf.But if a computer, a part of the program from another computer has been handed over for processing, itself requests a free computer again, can also be done differently. With a given program structure, it can expedient or necessary that a computer another computer that is on same main program is working, is not allowed to interrupt.

Wie im vorhergehenden mehrfach ausgedrückt, wird bei Nichtvorhandensein eines freien Rechners dem jeweils anfordernden Rechner der Rechner des jeweils niedrigsten Vorranges zur Verfügung gestellt. Dem Vorrangzuordner 1 muß in diesem Fall an Stelle der Nummer des jeweils freien Rechners die Nummer des niedrigstrangigen Rechners von der Zentraleinheit5 mitgeteilt werden. Zu diesem Zweck führt eine Vielfachleitung vom Anschluß 168 des Vorrangzuordners 1 zur Zentraleinheit 5, welche die ihr auf diesem Wege mitgeteilte Nummer an die Rechner weiterleitet (s. dazu voriger Absatz).As stated several times above, if a free computer is not available, the computer with the lowest priority is made available to the computer making the request. In this case, the priority assigner 1 must be informed by the central unit5 of the number of the lower-ranked computer instead of the number of the free computer. For this purpose, a multiple line leads from connection 168 of priority allocator 1 to central unit 5, which forwards the number communicated to it in this way to the computer (see previous paragraph).

Dem Prinzip der Vorrangüberordnung des angeforderten gegenüber dem anfordernden Rechner steht das Prinzip der Unteranordnung entgegen. Die Steuerung des Systems für die vorgesehene überanordnun- ist indes einfacher. Hier bekommt ein Rechner automatisch ein Anforderungsverbot, wenn er den niedrigsten Vorrang hat. Im Falle einer Organisation, wie diese im vorletzten Absatz angegeben ist, haben alle dem Rechner des niedrigsten Vorranges zugeordneten weiteren Rechner ebenfalls Anforderungsverbot. Im entgegengesetzten Fall, wenn also der anfordernde Rechner seinen Vorrang beibehält und sich die angeforderten Rechner vorrangmäßig unterordneu, muß ständig geprüft werden, ob ein neu zugeordneter Rechner den niedrigsten Vorrang aufweist oder nicht. Ist ersteres der Fall, dürfen keine weiteren Rechner mehr angefordert werden. Ein derartiges Vorgehen erfordert in der technischen Durchführuna etwas mehr Aufwand. Es fällt aber ebenso unter die Erfindung wie das Prinzip der überordnun1-.The principle of priority overriding the requested over the requesting computer is opposed to the principle of sub-arrangement. The control the system for the intended superposition is, however, simpler. Get here a computer automatically bans a request when it has the lowest precedence Has. In the case of an organization as indicated in the penultimate paragraph, all other computers assigned to the computer with the lowest priority also have Request prohibition. In the opposite case, if the requesting computer retains its priority and the requested computers are given priority subordinate new, It must be constantly checked whether a newly assigned computer has the lowest priority has or not. If the former is the case, no further computers may be requested will. Such a procedure requires something in terms of technical implementation extra effort. But it falls under the invention as well as the principle of superordinate.

Die Einheiten 2 a, 3 a und 4 a der F i g. 1 dienen nun zur vorranggerechten Zuordnung von weiteren Einheiten des Datenverarbeitungssystems, wie etwa Speicher- und Ein-Ausgabeeinheiten. Rufen z. B. mehrere Rechner gleichzeitig eine derartige Einheit auf, so wird von dem Rechnerdetektor 4a der Rechner mit dem jeweils höchsten Vorrang zur Verbindungsaufnahme mit der von ihr aufgerufenen Speicher- bzw. Ein-Ausgabeeinheit usw. aufgefordert. Für den Fall der Zu-riffsregelung bezüglich nur je- weils einer in ihrer Belegung von Vorrangfragen abhängigen Einheit des Datenverarbeitungssystems ist die Vorrangre-Clung mit einer Kombination2a, 3a, 4a zu bewerkstelligen. Sofern jedoch durch das je-CD weilige Datenverarbeitungssystem bedingte Gründe dagegen sprechen (z.B. mehrere Rechner haben gleichzeitig Zugriff zu mehreren unabhängigen Speichereinheiten), kann natürlich auch jeder Einheit die Kombination eines, Vorrangdetektors, Vorrangvereinzelers und Rechnerdetektors zugeordnet werden.The units 2 a, 3 a and 4 a of FIG. 1 are now used for the priority allocation of further units of the data processing system, such as storage and input / output units. Call z. If, for example, several computers are running such a unit at the same time, the computer with the highest priority in each case is requested by the computer detector 4a to establish a connection with the memory or input / output unit etc. called up by it. For the case of control with respect to riffs in each case only one in its availability is dependent on priority issues unit of the data processing system is the Vorrangre-clung with a Kombination2a, 3a, 4a to accomplish. However, if there are reasons against it due to the data processing system in each CD (e.g. several computers have simultaneous access to several independent storage units), each unit can of course be assigned a combination of a priority detector, priority separator and computer detector.

Die technische Ausführung des Vorrangzuordners 1, des Vorranadetektors 2, des Vorrangvereinzelers 3 und des Rechnerdetektors 4 zeigt die F i g. 2.The technical design of Vorrangzuordners 1, Vorranadetektors 2, the Vorrangvereinzelers 3 and the computer 4 shows the detector F i g. 2.

Der Vorranzzuordner 1 besteht im wesentlichen aus einem Register 111 bis 144. Dieses umfaßt in seinen vier Schiebestellen 14., 13., 12., 11., je vier bezüglich der Schiebefunktion gemeinsam ansteuerbare Speicherstellen ... 1, . . . 2,... 3,... 4. So be- steht die erste Schiebestelle aus den Speicherstellen 141, 142, 143 und 144, die zweite aus den Speicherstellen 131, 132, 133 und 134 usw. Das Register ist also zum Verschieben von Binärvektoren aus je vier Bits geeignet. Die eigentliche Schaltung des Registers ist in der F i g. 3 erläutert. Dieses gibt links die in der Fig. 2 verwendete Zeichnungssymbolik und rechts als Äquivalent die tatsächliche Ausführung an. Wie aus ihr hervorgeht, sind die Ansteuerleitungen c, c+ Einschreibleitungen, b, b+ Schiebeleitungell für einstellige Verschiebung nach rechts und a, a+ Schiebeleitungen für einstellige Verschiebung nach links.The Vorranzzuordner 1 consists essentially of a register 111 to 144. This includes in its four sliding bodies 14, 13, 12, 11, four with respect to the sliding function jointly addressable memory locations ... 1. . . 2, ... 3, ... 4. Thus loading is the first shift position of the storage locations 141, 142, 143 and 144 so that second one of the memory locations 131, 132, 133 and 134, etc. The register is for displacing of binary vectors of four bits each. The actual circuit of the register is shown in FIG. 3 explained. This indicates the drawing symbols used in FIG. 2 on the left and the actual design as an equivalent on the right. As can be seen from it, the control lines c, c + inscribing lines, b, b + sliding line are unellar for single-digit shifting to the right and a, a + sliding lines for single-digit shifting to the left.

Jede Schiebestelle nimmt mit ihren vier Speicherzellen jeweils eine Rechnernummer auf. Dabei wird vorausgesetzt, daß die Rechnernummern. im -Kode [allgemein angegeben sind. Jede Nummer be- nötigt also vier Bits zu ihrer Darstellung. Wird --in anderer Kode zur Nummerndarstellung, verwendet, so ändert sich die Anzahl der Speicherzellen pro Schiebestelle. Jeder Schiebestelle ist weiterhin eine Vorrangzahl fest zugeordnet. So weisen die Schiebestellen von links nach rechts die Vorränge 4, 3, 2 und 1 auf, was auch aus der zweiten Ziffer der Bezugszeichen hervorgeht. Erfindungsgemäß wird so verfahren, daß einem Rechner jeweils der Vorrang der seine Nummer speichernden Speicherstelle zugeordnet ist Somit ist an den Vielfachausgangsleitungen k (Vorrang 4), 1 (Vorrang 3), h Vorrang 2) und - (Vorrang 1) des Registers (s. auch F i 2-1. 1) sofort feststellbar, zu welchem Vorrang jeweils welcher Rechner gehört. Dies wird, wie bereits erwähnt, durch den Vorrangdetektor 2 vorgenommen. In diesem bilden die Registerausgangsleitungen k, i, h mit den Rechneranforderungsleitungen 246, 247, 248, 249 ein Kreuzschienensystem, dessen Kreuzungs, punkte mit UND-Schaltungen (s. dazu F i 1-. 4) besetzt sind. Die Ausgänge aller UND-Schaltungen je- weils einer Register-(vielfach)-ausgangsleitung füh- ren an je eine ODER-Schaltung 24, 23, 22. Ein Signal z. B. an der ODER-Schaltung 24 besagt, daß der gerade über eine der Leitungen 246 bis 249 ein Rechneranforderungyssignal abgebende Rechner den Vorrang 4 hat; seine Adresse steht also in der Schiebestelle 141 bis 144. Entsprechend dem im vorhergehenden gesagten, wird für eine Rechneranforderun- eines Rechners mit dem Vorran- 1 C ZD (niedrigster Vorrang) kein Vorrangsignal abgegeben. Beim gleichzeitigen Auftreten mehrerer Vorrangsignale an den Ausgängen des Vorrangdetektors 2, C entsprechend mehreren Rechneranforderungssignalen auf den Leitungen 246 bis 249, gibt der Vorrangvereinzeler 3 nur das Vorrangsignal des jeweils höchsten Vorranges weiter. Er enthält also folgende Logik: V4 = 24, V3 = 24&23, V2 = 24 & 23 & 22. Dabei bedeuten V2, V3, V4 vereinzelte Ausgangssignale für die Vorränge 2, 3 und 4, und 22, 23 und 24 bezeichnen Ausgangssignale an den gleichnamigen ODER-Schaltungen des Vorrangdetektors 2.Each shift point takes up a computer number with its four memory cells. It is assumed that the computer numbers. in the -Code [are generally indicated. Each number thus requires four bits to represent it. If - is used in a different code to represent numbers, the number of storage cells per shift position changes. A priority number is still assigned to each shift point. From left to right, the sliding positions have the precedence 4, 3, 2 and 1 , which is also evident from the second digit of the reference numerals. According to the invention the procedure is such that a computer is assigned to the priority of his number storing memory location Thus, the multiple output lines k (priority 4), 1 (priority 3), h priority 2), and - (priority 1) of the register (s. also F i 2-1.1 ) it can be determined immediately which computer belongs to which priority. As already mentioned, this is done by the priority detector 2. In this, the register output lines k, i, h and the computer request lines 246, 247, 248, 249 form a crossbar system, the intersection points of which are occupied by AND circuits (see also F i 1-. 4). The outputs of all AND circuits in each case on a register (multiple) output line lead to an OR circuit 24, 23, 22 each. B. at the OR circuit 24 states that the computer currently issuing a computer request signal via one of the lines 246 to 249 has priority 4; his The address is therefore in the shift position 141 to 144. In accordance with what has been said above, no priority signal is issued for a computer request from a computer with the priority 1 C ZD (lowest priority). If several priority signals occur simultaneously at the outputs of the priority detector 2, C corresponding to several computer request signals on the lines 246 to 249, the priority separator 3 only forwards the priority signal of the highest priority in each case. It therefore contains the following logic: V4 = 24, V3 = 24 & 23, V2 = 24 & 23 & 22. V2, V3, V4 mean individual output signals for the priorities 2, 3 and 4, and 22, 23 and 24 denote output signals at the OR circuits of the same name of the priority detector 2.

Für das Register 111 bis 144 gelten folgende Steuerungsprinzipien: Fordert ein Rechner des Vorran-"es a einen weiteren Rechner an, so wird seine Num mer und die aller vorrangmäßig niedrigen Rechner um eine Stelle nach rechts verschoben. Gibt z. B. der Rechner des Vorranges 4 ein Rechneranforderungssignal an den Vorran-detektor 2, so wird die Nummer desselben in die Schiebestelle 131 bis 134 (Vorrang 3), die Nummer des Rechners des Vorranges 3 in die Schiebestelle 1121 bis 124 (Vorrang 2) und die des Rechners der Vorranges 2 in die Schiebestelle 111 bis 114 (Vorrang 1) geschoben. Zur Steuerung aller Rechtsverschiebungen sind die ODER-Schaltuna,en 163 und 164 und zur Steuerung aller Linksverschiebungen die ODER-Schaltungen 161 und 162 vorgesehen. Linksverschiebungen werden auf Rechner-Frei-Sig ,nale (Leitungen 165 bis 167 s. auch F i g. 2) hin durchgeführt. Gibt ein Rechner des Vorranges a ein Rechner-Frei-Signal ab, so werden die Nummern aller vorrangmäßig niedrigeren Rechner um eine Stelle nach links verschoben; ihr Vorrang wird um den Wert EINS erhöht. Dementsprechend gelangen über die Leitungen 165 bis 167 folgende Rechner-Frei-Sig >nale: Leitung 165: Rechner mit Vorrang 4 ist fertig. Leitung 166: Rechner mit Vorrang 3 ist fertig. Leitung 167: Rechner mit Vorrang 2 ist fertig. Nach einem Rechneranforderungssignal und der durch dieses verursachtenVorrangumordnung mittels einer Rechtsverschiebung der betreffenden Nummern im Regisier ist die Nummer des jeweils freien und dem anfordernden Rechner zugeordneten Rechners in die frei gewordene Schiebestelle einzuschreiben.The following control principles apply to registers 111 to 144: If a computer with priority requests a further computer, its number and that of all computers with lower priority are shifted one place to the right Priority 4 a computer request signal to the priority detector 2, then the number of the same in the shift position 131 to 134 (priority 3), the number of the computer of priority 3 in the shift position 1121 to 124 (priority 2) and that of the computer has priority 2 into the shift position 111 to 114 (priority 1) . The OR circuits 163 and 164 are provided to control all shifts to the right and the OR circuits 161 and 162 to control all shifts to the left. nale (lines 165 to 167, see also Fig . 2) If a computer with priority a sends a computer-free signal, the numbers of all computers with lower priority are increased by one elle shifted to the left; their priority is increased by the value ONE. Accordingly, the following computer-free signals arrive via lines 165 to 167 : Line 165: Computer with priority 4 is ready. Line 166: Computer with priority 3 is ready. Line 167: Computer with priority 2 is ready. After a computer request signal and the priority rearrangement caused by this by shifting the relevant numbers in the register to the right, the number of the free computer and the computer assigned to the requesting computer must be entered in the vacant shift point.

Einschreibungen von durch die Zentraleinheit 5 angegebenen Rechnernummern in Schiebestellen, werden über die Leitungen c, c-# der Speicherzellen (s. F i g. 3) vorgenommen. Die Einschreibleitungen der Schiebestellen führen an Einschreibschaltungen 151 bis 154. Diese schalten beim Auftreten der Einschreibsic,nale 151+ bis 154+ die Nummer des von der Zentraleinheit 5 angegebenen freien Rechners auf die Einschreibleitungen durch. Die Einschreibschaltungen 151 bis 154"sind in der F i g. 5 erklärt. Danach besteht jede Einschreibschaltung aus acht UND-Schaltungen, von denen vier zwei unnegierte Eingänge und die weiteren vier je einen negierten und einen unneg C gierten Eingang aufweisen. Alle UND-Schaltungen sind mit einem unnegierten Eingang an CD C die von rechts kommende Ansteuerleitung angeschlossen. Je eine (eingangsseitig) negierte und unnegierte UND-Schaltung führen an eine der Leitungen 56 bis 59. Die zwei Ausgangsleitungen je eines UND-Schaltungspaares laufen über einen allen Speicherzellen einer Schiebestelle des Registers gemeinsamen Leitungsstrang an eine Speicherzelle der betreffenden Schiebestelle (s. F i g. 2). Denn wie aus F i g. 3 hervorg geht, hat jede Speicherzelle einen unnegierten und einen negiereten Eingang (z. B. RS-Flipflop), an die je eine Leitung der Doppelleitung c bzw. c+ führt. Dabei ist der Ausgang der einer Speicherzelle zugehörigen unnegierten UND-Schaltung (F i g. 5) an den unnegierten Eingang der Speicherzelle (F i g. 2 und 3) und der Ausgang der jeweiligen negierten UND-Schaltung an den negierten Eingang der Speicherzelle zu führen.Computer numbers specified by the central unit 5 are written into shift positions via lines c, c- # of the memory cells (see FIG. 3) . The inscribing lines of the shifting points lead to inscribing circuits 151 to 154. When the inscribing signals 151+ to 154+ occur, these switch the number of the free computer specified by the central unit 5 to the inscribing lines. The write -in circuits 151 to 154 ″ are explained in FIG. 5. According to this, each write-in circuit consists of eight AND circuits, four of which have two non-negated inputs and the other four each have one negated and one non-negated input. Circuits are connected to the control line coming from the right with an unnegated input to CD C. One (input side) negated and unnegated AND circuit each lead to one of the lines 56 to 59. The two output lines of each AND circuit pair run over one of all the memory cells Shift point of the register common line harness to a memory cell of the relevant shift point (see Fig. 2), because as can be seen from Fig. 3 , each memory cell has an unnegated and a negated input (e.g. RS flip-flop) , to each of which leads one line of the double line c or c +. The output of the unnegated AND circuit (FIG . 5) associated with a memory cell is connected to the unnegi 1st input of the memory cell (F i g. 2 and 3) and the output of the respective negated AND circuit to the negated input of the memory cell.

Da jeweils in eine frei gewordene Schiebestelle eingeschrieben werden soll, der Vorrang derselben entspricht dem alten Vorrang des anfordernden Rechners, ist eine Merkschaltung (in den Zeichnungen nicht dargestellt) vorgesehen, die den Vorrang des jeweils anfordernden Rechners über den Verschiebetakt hinweg speichert und danach eine dem gespeicherten Vorrang entsprechende Impulsverteilung auf die Leitungen 154+ bis 151+ vornimmt. Rechner mit Vorrang Einschreibirnpuls a fordert Rechner auf Leitung a = 4 154+ 3 153+ 2 152+ Die Einschreibleitungen 151+ bis 154+ werden auch beim Rechenbeginn des Datenverbarbeitungssysterns zur Eintragung der Rechnernummern in das Register 111 bis 144 zwecks erstmaliger Vorrangzuordnung benutzt.Since each time a free shift point is to be written to, the priority of the same corresponds to the old priority of the requesting computer, a flag (not shown in the drawings) is provided which saves the priority of the requesting computer over the shift cycle and then one to the stored priority makes corresponding pulse distribution on lines 154+ to 151+. Computer with priority write-in pulse a requests the computer to line up a = 4 154+ 3 153+ 2 152+ The enrollment lines 151+ to 154+ are also used when the data processing system starts computing to enter the computer numbers in the register 111 to 144 for the purpose of assigning priority for the first time.

Der Rechnerdetektor 4 ist ähnlich wie der Vorran-detektor 2 aufgebaut: In ihm bilden die Ausgangsleitungen des Vorrangvereinzelers 3 mit den Registerausgangsleitungen k, i, h des Vorrangzuordners 1 ein Kreuzschienensystem. UND-Schaltungen (s. auch F i g. 4) sind in das Kreuzschienensystern eingesetzt und mit ODER-Schaltungen 461 bis 491 verbunden. Jede dieser ODER-Schaltungen führt an eine, der RechnerdetektorausCangsleitungogen 46 bis 49. Ein Rechner erhält über seine Rechnerdetektorausgangsleitung dann ein Signal, wenn er el a) ein Rechneranforderungssignal abgegeben hat, b) nicht den niedrigsten Vorrang (1) hat und C c) bei gleichzeitiger Rechneranforderung durch mehrere Rechner von diesen den jeweils höchsten Vorrang aufweist.The computer detector 4 is constructed similarly to the priority detector 2: In it, the output lines of the priority separator 3 form a crossbar system with the register output lines k, i, h of the priority assigner 1. AND circuits (see also FIG. 4) are inserted into the crossbar system and connected to OR circuits 461 to 491. Each of these OR circuits leads to one, the computer detector output line 46 to 49. A computer receives a signal via its computer detector output line when it has a) issued a computer request signal, b) does not have the lowest priority (1) and C c) at simultaneous computer request by several computers of these has the highest priority.

Logisch formuliert gibt der Rechnerdetektor b,-i folgenden Bedingungen an seinen Ausgängen 46 bis 49 dann ein Sig ,nal ab, wenn , gilt: Cl=-46 V4&141VV3&131VV2&121 C2 47 V4 & 142 V V3 & 132 V V2 & 122 C3 48 V4 & 143 V V3 & 133 V V2 & 123 C4 49 V4 & 144 V V3 & 134 V V2 & 124 Cl, C2, C3, C4 beziehen sich dabei auf die systeminternen Bezeichnungen der Rechner6, 7, 8 und 9 und sollen darauf hinweisen, daß die Klemme 46 mit Rechner 6 (C 1), 4.7 mit Rechner 7 (C 2), 48 mit Rechner 8 (C 3) und 49 mit Rechner 9 (C 4) verbunden sind, 121 bis 141 bezeichnen die Ausgangssignale der gleichnamigen Speicherzellen des Re-"isters im Vorrangzuordner 1. Dabei wird voraus gesetzt, or daß der -Kode entsprechend den letzten Ziffern der Bezugszeichen der Speicherzellen pro Schiebestelle vorgesehen ist. Bei Verwendung eines anderen Kodes zur Darstellung der Rechnernummem ändern sich die Logik des Vorrangdetektors 2 und des Rechnerdetektors 4 entsprechend.Logically formulated, the computer detector b, -i outputs a signal at its outputs 46 to 49 under the following conditions, if , the following applies: Cl = -46 V4 & 141VV3 & 131VV2 & 121 C2 47 V4 & 142 V V3 & 132 V V2 & 122 C3 48 V4 & 143 V V3 & 133 V V2 & 123 C4 49 V4 & 144 V V3 & 134 V V2 & 124 Cl, C2, C3, C4 refer to the system-internal designations of computers 6, 7, 8 and 9 and should indicate that Terminal 46 is connected to computer 6 (C 1), 4.7 to computer 7 (C 2), 48 to computer 8 (C 3) and 49 to computer 9 (C 4) , 121 to 141 denote the output signals of the memory cells of the same name Re- "isters in the priority allocator 1. It is assumed that the Code corresponding to the last digits of the reference characters of the memory cells is provided for each shift position. If a different code is used to represent the computer number, the logic of the priority detector 2 and the computer detector 4 change accordingly.

An die Speicherzellen 111 bis, 114 der rechten Schiebestelle (Vorrang 1) ist ein »Vorrang-l-Detek tor« 17 angeschlossen. Von diesem führt über die Zentraleinheit 5 an jeden Rechner 6, 7, 8, 9 eine Leitung, wobei jeweils jene Leitung ein Signal erhält, deren Rechner den Vorrang 1 aufweist, dessen Nummer sich also in der rechten Schiebestelle befindet. Das ist dann von Wichtigkeit, wenn ein Rechner einen anderen Rechner, der am selben Hauptprogramm arbeitet, nicht unterbrechen darf. Wie in der Beschreibung zur F i g. 1 erwähnt, werden diese Signale, zur Rechneranforderungsunterdrückung benutzt. Im Falle der Verwendung eines -Kodes können die Leitungen, Klemme 168, auch dazu benutzt werden, der Zentraleinheit 5 die Nummer des vorrangniedrigsten Rechners anzugeben. Wird hin-egen ein anderer Kode verwendet, so sind zur Übergabe der Nummer des vorrangmäßig niedrigsten Rechners gesonderte Leitungen vorzusehen. In diesem Fall kann der »Vorran-l-Detektor« auch in die Zentraleinheit 5 gelegt werden.A "priority 1 detector" 17 is connected to the storage cells 111 to 114 of the right shift point (priority 1). A line leads from this via the central unit 5 to each computer 6, 7, 8, 9 , each line receiving a signal whose computer has priority 1 , the number of which is therefore in the right shift position. This is important when a computer is not allowed to interrupt another computer that is working on the same main program. As in the description of FIG. 1 mentioned, these signals are used to suppress computer requests. In the case of using a Codes, the lines, terminal 168, can also be used to indicate to the central unit 5 the number of the computer with the lowest priority. If a different code is used, separate lines are to be provided for transferring the number of the computer with the lowest priority. In this case, the "Vorran-1 detector" can also be placed in the central unit 5 .

Im vorhergehenden wurde in einem Beispiel eine spezielle Ausführungsform der Erfindung beschrieben. Diese Ausführungsform ist im Rahmen der Erfindung sowohl was die spezielle technische wie organisatorische Ausführung betrifft, mannigfaltig abwandelbar. Insbesondere sind für das Register 111 bis 144 des Vorranazuordners 1 alle bekannten und den angeführten Speicherzellen in ihrer Wirkung äquivalenten Speicherzellen einsetzbar. Wegen ihrer hohen Funktionssicherheit sind Speichermagnetkerne besonders vorteilhaft, sofern ihre Schaltgeschwindigkeit für das Datenverarbeitungssystern hinreichend hoch ist.In the foregoing, a specific embodiment of the invention has been described in an example. This embodiment can be modified in many ways within the scope of the invention, both in terms of the specific technical and organizational design. In particular, all known memory cells which are equivalent to the listed memory cells in their effect can be used for the registers 111 to 144 of the priority folder 1. Because of their high functional reliability, magnetic storage cores are particularly advantageous if their switching speed is sufficiently high for the data processing system.

Die im vorhergehenden beschriebene erfindungsaemäße Anordnung erfüllt alle an ein schnelles C Mehrrechnersystem zu stellenden Anforderungen. Diese sind: 1. Invarianz der Programme gegen Systemkonfigurationen (hier Rechnerzuordnungen).The above-described arrangement according to the invention fulfills all the requirements to be placed on a high-speed C multi-computer system. These are: 1. Invariance of the programs against system configurations (here computer assignments).

2. Möglichst kurze Wartezeiten bei der Programmabgabe.2. The shortest possible waiting times for the handover of the program.

3. Vorränge der Rechner durch Programme angebbar; Auswertung aus Zeitgründen durch i' Schaltungen, nicht durch Programme. 4. Schnelle Vorrangzuordnung. 3. Priorities of the computers can be specified by programs; Evaluation for time constraints by i 'circuits, not by programs. 4. Fast prioritization.

Während, bekannte Mehrrechnersysteme mit Vorrangverteilung durch Dienstprogramme für Vorrangumordnungen mehrere Speicherzyklen benötigen, wird durch das erfindungsgemäße System die gleiche Aufgabe in nur etwa einem halben Speicherzyklus erledigt. In manchen Fällen wird aus Gründen der besseren Koordinierung und Überwachung der Rechner des Datenverarbeitungssystems der Einsatz eines allen Rechnern übergeordneten Dienstprogramms erforderlich sein. Und es kann aus vielerlei Gründen selbst in Anbetracht der oben angegebenen Vorteile der Erfindung zweckmäßig sein, die eigentliche Vorrangzuordnung durch das Dienstprogarmm vornehmen zu lassen. Auch in diesem Fall ist es zweckmäßig, die jeweilige Vorrangverteilung der Rechner in dem Vorrangzuordner 1 zu speichern. Die Rechner geben zwar nunmehr alle Meldungen wie Rechneranforderungen und Rechnerfreisignale an das Dienstprogramm ab. Dieses ordnet die Vorränge um und teilt die neue Vorrangverteilung dem Vorrangzuordner 1 direkt mit. Die zur Ansteuerung des Vorrangzuordners vorgesehenen Schaltungen wie die Vorrangdetektoren 2 und 2b, die Vorrangvereinzelner 3 und 3 b sowie der Rechnerdetekter 4 kön#-nen, dann entfallen. Die Maßnahme richtet sich nach der vom Dienstprogramm her gesehenen Zweckmäßigkeit. Hingegen bleibt die Anordnung aus dem Vorrangdetektor 2a, dem Vorrangvereinzeler 3a und dem Rechnerdetektor4a erhalten. Diese entscheidet dann unter Berücksichtigung der jeweiligen vom Vorrangzuordner 1 gegebenen Vorrangverteihing nach wie vor, welcher der eine Einheit (Rechner, Peripheriegerät usw.) gleichzeitig fordernden Rechner jeweils Zugriff zu der angeforderten Einheit erhält. Das Dienstprogramm wird also von dieser Arbeit entlastet, was eine erhebliche Vereinfachung desselben und ein schnelleres Belegen der entsprechenden Einheit bedeutet.While known multi-computer systems with priority distribution by service programs for priority rearrangements require several memory cycles, the system according to the invention accomplishes the same task in only about half a memory cycle. In some cases, for reasons of better coordination and monitoring of the computers in the data processing system, it will be necessary to use a service program that is superordinate to all computers. And for a variety of reasons, even in view of the advantages of the invention given above, it can be expedient to have the service program perform the actual priority assignment. In this case, too, it is useful to save the respective priority distribution of the computers in the priority allocator 1. The computers now give all messages such as computer requests and computer free signals to the utility program. This rearranges the precedence and communicates the new precedence distribution directly to precedence allocator 1. The measures provided for driving the circuits such as the priority Vorrangzuordners detectors 2 and 2b, the Vorrangvereinzelner 3 and 3 b and the Rechnerdetekter -nen 4 Kgs #, then omitted. The measure depends on the expediency seen from the utility program. In contrast, the arrangement of the priority detector 2a, the priority separator 3a and the computer detector 4a is retained. This then decides, taking into account the respective priority distribution given by the priority allocator 1 , as before, which of the computer simultaneously requesting a unit (computer, peripheral device, etc.) receives access to the requested unit. The service program is thus relieved of this work, which means a considerable simplification of the same and a faster assignment of the corresponding unit.

Claims (1)

Patentansprüche: 1. Programmgesteuertes Datenverarbeitungssystem mit einer Mehrzahl von selbständig arbeitenden Rechnern, von denen jeder nach Maßgabe seines jeweiligen Programms jedem anderen Rechner Programmteile übergeben kann, mit einem gemeinsamen Speicher, der gegebenenfalls in mehrere getrennt adressierbare Speicherblöcke aufgesteilt ist, mit einer Mehrzahl von Peripheriegeräten wie Ein-Ausgabegeräten u. dgl., und mit einer zentralen Schalteinheit, die die Zusammenarbeit der Rechner untereinander, mit den Peripheriegeräten und den Speicherblöcken nach einer vorzugsweise von den Rechnerprogrammen bestimmten Vorrangfolge ermöglicht, in der Weise, daß Rechner, denen ein Programm höheren Vorrangs zugeordnet ist, gegenüber Rechnern mit niedri ein Vorrang einen bevorger C zuggten Zugriff zu weiteren Rechnern, zu Speicherblöcken und Peripheriegeräten erhalten, da - durch gekennzeichnet, daß zur Ermöglichung der Übergabe von Programmteilen eines vorrangigen Rechners an einen freien Rechner oder einen Rechner niedrigeren Vorrangs in einem Register der zentralen Schalteinheit (5) je- weils die Nummer eines von mehrer'en freien Rechnern oder des zur Zeit niedrigstrangigen Rechners eingestellt ist, und daß eine Vorrangschaltung (1, 2) vorgesehen ist, die die jeweilige Vorrangzahl eines Rechners durch ihre Schaltstellung angibt, die die jeweilige Vorrangzahl eines Rechners und die Vorrangzahlen der gegenüber diesem Rechner jeweils vorrangmäßig niedrigeren Rechner um den Wert EINS erniedrigt, wenn dieser einen Rechner anfordert, die dem jeweils angeforderten freien Rechner die Vorrangzahl des anfordernden Rechners erteilt und die nach dem Freiwerden eines Rechners die Vorran-Zahlen derjenigen Rechner um EINS erhöht, die zum Zeitpunkt der Freimeldung niedrigere Vorrangzahlen als der frei eremeldete Rechner aufweisen. C 2. System nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrangschaltung (1, 2) aus einem schiebefähigen Register (111 bis 144) und einem Vorrangdetektor (2) besteht, daß das schiebefähige Register (1) ebenso viele Schiebestellen aufweist wie Rechner (6 bis 9) vorhanden sind, daß jede Schiebestelle ebenso viele Speicherplätze (141 bis 144, 131 bis 134) aufweist, wie die die Rechnernummern angebenden Kodewörter Binärstellen umfassen und daß jeder Schiebestelle in dem Sinn ein Vorrang fest zugeordnet ist, daß jedem Rechner jeweils die Vorrangzahl der seine Nummer speichernden Schiebestelle des schiebefähiggen Registers zu 'geordnet ist. 3. System nach Anspruch 2, dadurch gekennzeichnet, daß der Vorrangdetektor (2) auf eine Rechneranforderung hin den Vorrang des anfor-,t und die Verschiebung dernden Rechner anzeig der Nummer dieses Rechners und aller vorrangmäßig niedrigeren Rechner im schiebefähigen Register um eine Stelle in Richtung vorrangmäßig niedrigerer Schiebestellen verursacht. 4. System nach den Ansprüchen 2 und 3, dadurch gekennzeichnet, daß der Vorrangdetektor (2) aus einem logischen Netzwerk besteht, dessen Eingangsleitungen die Ausgangsleitunggen des schiebefähigen Registers einerseits und die Rechneranforderungsleitungen andererseits sind, daß das logische Netzwerk ebenso viele Ausgangsleitungen aufweist, wie das schiebefähige Register Schiebestellen hat, wobei jeder Schiebestelle eine Ausgangsleitung zugeordnet ist, und daß bei einem Rechneranforderungssignal eines Rechners jene, Ausgangsleitung ein Signal abgibt, deren zugeordnete Schiebestelle die Nummer des anfordernden Rechners speichert. 5. System nach Anspruch 4, dadurch gekenn# zeichnet, daß der Vorrangdetektor für den anfordernden Rechner mit dem jeweils niedrigsten Vorrang kein Ausgangssignal abgibt. 6. System nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß zum Einschreiben der Nummer eines freien Rechners in eine durch eine Rechneranforderung frei gewordene Schiebestelle des schiebefähigen Registers Mittel vorgesehen sind, die für wenigstens einen Taktimpuls den Vorrang des anfordernden Rechners speichern und danach die Nummer des freien Rechners in die Schiebestelle des ursprünglichen Vorrangs des anfordernden Rechners einschreiben. 7. System nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß zur Rechner-Frei-Meldung die Freimeldeleitungen der Rechner über einen Vorrangdetektor (2 b) an den Steuerteil (161 bis 167) des schiebefähigen Registers führen. 8. System, nach Anspruch 7, dadurch gekennzeichnet, daß der Steuerteil (161 bis 167) so auscrebildet ist, daß bei einem Signal auf einer Freimeldeleitung des Vorranges (a) die Inhalte der Schiebestellen mit den Vorgängen a- 1, a- 2, ... in die Schiebestellen a-2, a-3 .... geschoben werden. 9. System nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß ein Rechnerdetcktor (4) vorgesehen ist, der bei der Abgabe eines Signals durch den Vorran-detektor (2) ein Signal c> an den Rechner sendet, dessen jeweiliger Vorrang gleich dem durch den Vorran-g-detektor angezeigten Vorrang ist. 10. System nach Ansprach 9, dadurch gekennzeichnet, daß der Rechnerdetektor (4) aus einem logischen Netzwerk besteht, dessen Eingangsleitungen des Vchrrangdetektors einerseits und die ,en (k, i, h, g) des schiebefähigen Ausgangsleitung Registers andererseits sind. 11. System nach den Ansprüchen 1 bis 10, dadurch gekennzeichnet, daß den Vorrangdetektoren (2 bis 2b) je ein Vorrangvereinzeler (3 bis 3b) nachgeschaltet ist, wobei jeder Vorrangvereinzeler bei der gleichzeitigen Abgabe von mehreren Signalen durch den ihm zugeordneten Vorrangdetektor nur das Signal mit dem höchsten Vorrang durchschaltet. 12. System nach den Ansprüchen, 1 bis 11, dadurch gekennzeichnet, daß Schaltmittel (17) vorgesehen sind, die die Nummer des jeweils vorrangmäßig niedrigsten Rechners der Zentraleinheit (5) anzeigen und daß die Zentraleinheit diese Nummer bei einer Rechneranforderung dann auf die von ihr zum schiebefähigen Register führenden Leitungen (56 bis 59) gibt, wenn zum Zeitpunkt der Rechneranforderung kein Rechner frei ist. 13. System nach Anspruch 12, dadurch gekennzeichnet, daß die Zentraleinheit (5) die Nummer des jeweils vorrangmäßig niedrigsten Rechners dann nicht auf die zum schiebefähigen Register führenden Leitungen gibt, wenn dieser Rechner im vorhergehenden an einen oder mehrere Rechner Programmteile übergeben hat. 14. System nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß Mittel vorgesehen sind, die den Vorrangzuordner (1) nach Maßgabe eines den Ablauf der Rechnerprogramme überwachenden und die Vorrangzuteilung vornehmenden Dienstprogramms steuern (151+ bis 154+, 163, 164, 165 bis 168), gegebenenfalls unter teilweiser oder völliger Ausschaltung der sonstigen Ansteuerschaltungen des Vorrangzuordners, wie Vorrangdetektoren (2, 2b), Vorrangvereinzeler (3, 3 b) und Rechnerdetektor (4).Claims: 1. Program-controlled data processing system with a plurality of independently working computers, each of which can transfer program parts to any other computer according to its respective program, with a common memory, which is optionally divided into several separately addressable memory blocks, with a plurality of peripheral devices such as Input / output devices and the like, and with a central switching unit that enables the computers to work together, with the peripheral devices and the memory blocks according to a priority sequence preferably determined by the computer programs, in such a way that computers with a higher priority are assigned to them is, compared to computers with low priority, a preferential access to other computers, memory blocks and peripheral devices received, d a - characterized in that to enable the transfer of program parts of a priority computer to a free Rec hner or a computer of lower priority is set in a register of the central switching unit (5) each with the number of one of several free computers or the currently lower-ranked computer, and that a priority circuit (1, 2) is provided that the indicates the respective priority number of a computer by its switch position, which lowers the respective priority number of a computer and the priority numbers of the computers with lower priority compared to this computer by the value ONE if it requests a computer that gives the requested free computer the priority number of the requesting computer and which, after a computer has become free, increases by ONE the precedence numbers of those computers which, at the time of the free notification, have lower precedence numbers than the free-registered computer. C 2. System according to claim 1, characterized in that the priority circuit (1, 2) consists of a sliding register (111 to 144) and a priority detector (2) that the sliding register (1) has as many sliding positions as the computer ( 6 to 9) are available that each shift point has as many memory locations (141 to 144, 131 to 134) as the code words indicating the computer numbers include binary digits and that each shift point is assigned a fixed priority in the sense that each computer has the Priority number of the shift position of the shiftable register storing its number is assigned to '. 3. System according to claim 2, characterized in that the priority detector (2) on a computer request, the priority of the request, t and the displacement of the computer display the number of this computer and all priority lower computers in the shiftable register by one place in the direction primarily caused by lower sliding positions. 4. System according to claims 2 and 3, characterized in that the priority detector (2) consists of a logical network whose input lines are the output lines of the shiftable register on the one hand and the computer request lines on the other hand, that the logical network has as many output lines as that shiftable register has shifting points, each shifting point being assigned an output line, and that in the case of a computer request signal from a computer, that output line emits a signal whose assigned shifting point stores the number of the requesting computer. 5. System according to claim 4, characterized in that the priority detector for the requesting computer with the lowest priority in each case does not emit an output signal. 6. System according to claims 1 to 5, characterized in that means are provided for writing the number of a free computer in a shift point of the shiftable register that has become free by a computer request, which store the priority of the requesting computer for at least one clock pulse and then the Enter the number of the free computer in the shift point of the original priority of the requesting computer. 7. System according to claims 1 to 6, characterized in that for the computer-free message the free reporting lines of the computer lead via a priority detector (2 b) to the control part (161 to 167) of the sliding register. 8. System according to claim 7, characterized in that the control part (161 to 167) is so auscrebildet that when there is a signal on a free reporting line of priority (a) the contents of the shift points with the operations a- 1, a- 2, ... be pushed into the sliding positions a-2, a-3 .... 9. System according to claims 1 to 8, characterized in that a computer detector (4) is provided which, when a signal is emitted by the priority detector (2), sends a signal c> to the computer, the priority of which is equal to that priority indicated by the priority detector. 10. System according to spoke 9, characterized in that the computer detector (4) consists of a logical network, the input lines of the Vchrrangdetektors on the one hand and the, en (k, i, h, g) of the shiftable output line register on the other hand. 11. System according to claims 1 to 10, characterized in that the priority detectors (2 to 2b) are each followed by a priority separator (3 to 3b) , each priority separator with the simultaneous output of several signals by the priority detector assigned to it only the signal with the highest priority. 12. System according to claims 1 to 11, characterized in that switching means (17) are provided which indicate the number of the lowest priority computer in the central unit (5) and that the central unit then switches this number to that of her when a computer is requested There are lines (56 to 59) leading to the shiftable register if no computer is free at the time of the computer request. 13. System according to claim 12, characterized in that the central unit (5) does not give the number of the respective lowest priority computer to the lines leading to the shiftable register if this computer has previously transferred program parts to one or more computers. 14. System according to claims 1 and 2, characterized in that means are provided which control the priority allocator (1) in accordance with a service program (151+ to 154+, 163, 164, 165, which monitors the flow of the computer programs and assigns priority) to 168), possibly with partial or complete deactivation of the other control circuits of the priority allocator, such as priority detectors (2, 2b), priority separator (3, 3b) and computer detector (4).
DE1965T0028804 1965-06-16 1965-06-16 Priority control for a data processing system consisting of several computers Pending DE1234059B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1965T0028804 DE1234059B (en) 1965-06-16 1965-06-16 Priority control for a data processing system consisting of several computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1965T0028804 DE1234059B (en) 1965-06-16 1965-06-16 Priority control for a data processing system consisting of several computers

Publications (1)

Publication Number Publication Date
DE1234059B true DE1234059B (en) 1967-02-09

Family

ID=7554431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1965T0028804 Pending DE1234059B (en) 1965-06-16 1965-06-16 Priority control for a data processing system consisting of several computers

Country Status (1)

Country Link
DE (1) DE1234059B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2659662A1 (en) * 1976-12-30 1978-07-06 Ibm Deutschland PRIORITY-LEVEL CONTROLLED INTERRUPTION DEVICE

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2659662A1 (en) * 1976-12-30 1978-07-06 Ibm Deutschland PRIORITY-LEVEL CONTROLLED INTERRUPTION DEVICE

Similar Documents

Publication Publication Date Title
DE2313724C3 (en) Electronic data processing system with a number of data devices that communicate with a common controller according to the sub-calculation principle
DE2030812A1 (en) Modular data computer systems
DE1299145B (en) Circuit arrangement for controlling peripheral input and output devices of data processing systems
CH620306A5 (en)
DE2130299A1 (en) Input / output channel for data processing systems
EP0329005B1 (en) Method for establishing virtual circuits via switches of a multistage switching arrangement
DE1424732B2 (en) Device for the mutual exchange of information words between a directly accessible main memory of a numerical calculating machine and a secondary memory connected to this with a comparatively longer access time
DE2406195C3 (en) Modular program-controlled switching system
DE3015875A1 (en) MEMORY ACCESS SYSTEM AND METHOD FOR ACCESSING A DIGITAL MEMORY SYSTEM
DE1549437A1 (en) Data processing system made up of several interconnected data processing systems
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE2306679A1 (en) DEVICE FOR PROCESSING DIGITAL DATA
DE1234059B (en) Priority control for a data processing system consisting of several computers
DE2349590A1 (en) DATA PROCESSING DEVICE
DE2845218B1 (en) Microprogram-controlled input / output device and method for performing input / output operations
DE1762205B2 (en) CIRCUIT ARRANGEMENT FOR AN ELECTRONICALLY CONTROLLED SELF DIALING OFFICE
DE2507405A1 (en) PROCEDURE AND ARRANGEMENT FOR SYNCHRONIZING THE TASKS IN PERIPHERAL DEVICES IN A DATA PROCESSING SYSTEM
DE2217609A1 (en) Access unit for data processing systems
DE2900380C2 (en)
DE3325791C2 (en) Circuit arrangement for peripheral units cooperating with a central control device
DE3149678A1 (en) Arrangement for temporarily storing information items, to be transmitted in both directions between two functional units, in a buffer memory
EP0045043B1 (en) Control of a channel connection
DE2237577C3 (en) Method for the transmission of data between peripheral devices and a central unit via multiplex channels and arrangement for carrying out the method
DE3334410C1 (en) Arrangement for digital image processing
DE2252380C3 (en) Data processing arrangement