DE10008010A1 - Procedure for exchange of messages in a multi-processor system, requires initial verification that message of receiving processor belongs to same group as message of sending processor - Google Patents

Procedure for exchange of messages in a multi-processor system, requires initial verification that message of receiving processor belongs to same group as message of sending processor

Info

Publication number
DE10008010A1
DE10008010A1 DE2000108010 DE10008010A DE10008010A1 DE 10008010 A1 DE10008010 A1 DE 10008010A1 DE 2000108010 DE2000108010 DE 2000108010 DE 10008010 A DE10008010 A DE 10008010A DE 10008010 A1 DE10008010 A1 DE 10008010A1
Authority
DE
Germany
Prior art keywords
processor
processors
message
command
group
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.)
Ceased
Application number
DE2000108010
Other languages
German (de)
Inventor
Alan Robinson
Juergen Gros
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Fujitsu Technology Solutions 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 Fujitsu Technology Solutions GmbH filed Critical Fujitsu Technology Solutions GmbH
Priority to DE2000108010 priority Critical patent/DE10008010A1/en
Publication of DE10008010A1 publication Critical patent/DE10008010A1/en
Ceased 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Multi Processors (AREA)

Abstract

Exchange of messages in a multi-processor system with at least two processors carrying out different programs in a data processing installation is complex and slow. To simplify and accelerate the procedure, during exchange of messages (62) it is initially verified that the message of the receiving processor (P2) belongs to the same group as the message of the sending processor (P1). Thus ensuring that the commands that encroach in their effect on all the processors are restricted to the processors of the group, thus allowing applications in which several groups of processors are used.

Description

Die Erfindung betrifft ein Verfahren zum Austausch von Mel­ dungen in einem Mehrprozessorsystem. Mindestens zwei Prozes­ soren führen in einer Datenverarbeitungsanlage verschiedene Programme aus. Dabei werden zwischen den üblicherweise auf jeweils einem Chip angeordneten Prozessoren Meldungen zur Ab­ stimmung der Arbeitsweise ausgetauscht. Die Prozessoren sind verschiedenen Gruppen von Prozessoren zugeordnet.The invention relates to a method for exchanging Mel in a multi-processor system. At least two processes sensors run several in a data processing system Programs. Doing so is usually based on Processors arranged one chip each, messages for Ab exchanged mood of work. The processors are assigned to different groups of processors.

Bei bekannten Verfahren werden die Prozessoren beispielsweise verschiedenen Gruppen zugeordnet, um auf einer Datenverarbei­ tungsanlage mehrere Betriebssysteme nebeneinander zu betrei­ ben. So werden gleiche Betriebssysteme auf einer Datenverar­ beitungsanlage ausgeführt, um beispielsweise eine Entwick­ lungsumgebung und eine Anwendungsumgebung zu nutzen. Be­ triebssysteme unterschiedlicher Programmversionen werden bei­ spielsweise beim Übergang von einer älteren Programmversion zu einer neueren Programmversion des Betriebssystems auf der gleichen Datenverarbeitungsanlage ausgeführt. Andererseits werden auch verschiedene Betriebssysteme auf der gleichen Da­ tenverarbeitungsanlage ausgeführt, um die Nachteile des einen Betriebssystems durch die Vorteile des anderen Betriebssy­ stems auszugleichen.In known methods, the processors are, for example assigned to different groups in order to process data to operate several operating systems side by side ben. The same operating systems are processed on one data processing system executed, for example, a develop use environment and an application environment. Be drive systems of different program versions are used for example when moving from an older program version to a newer program version of the operating system on the same data processing system. On the other hand different operating systems are also on the same da ten processing system to the disadvantages of one Operating system through the advantages of the other operating system to compensate for stems.

Beim Betriebssystem BS 2000 der Firma Siemens AG ist es mög­ lich, mit Hilfe einer zusätzlichen Programmkomponente, näm­ lich des Programms VM 2000 (Virtual Machine), bis zu sechzehn Betriebssysteme auf einer Mehrprozessoranlage im wesentlichen unabhängig voneinander auszuführen. Dabei werden Programme verwendet, die die Hardware der Datenverarbeitungsanlage, d. h. beispielsweise die Prozessoren und die Speicher, nach­ bilden und dabei sogenannte virtuelle Maschinen simulieren. With the operating system BS 2000 from Siemens AG, it is possible, with the help of an additional program component, namely the program VM 2000 (Virtual Machine), to run up to sixteen operating systems on a multiprocessor system essentially independently of one another. Programs are used that simulate the hardware of the data processing system, ie for example the processors and the memory, and thereby simulate so-called virtual machines.

Den virtuellen Maschinen sind zu bestimmten Zeitpunkten be­ stimmte Prozessoren zugeordnet. Die Prozessoren einer virtu­ ellen Maschine bilden dabei eine Gruppe. Wird durch die Soft­ ware des Betriebssystems ein sogenannter prozessorübergrei­ fender Befehl verwendet, der eigentlich auf alle Prozessoren einer Mehrprozessoranlage wirken soll, so muß gesichert sein, daß die Prozessoren anderer virtueller Maschinen, d. h. die Prozessoren anderer Gruppen nicht gestört werden. Bisher führt das Verwenden eines prozessorübergreifenden Befehls durch ein Betriebssystem zu einer Unterbrechung, in deren Folge das Programm zur Simulation der virtuellen Maschinen aufgerufen wird. Dieses Programm bearbeitet den prozessor­ übergreifenden Befehl so, daß nur die Prozessoren der Gruppe einbezogen werden, zu der derjenige Prozessor gehört, an den der Befehl gerichtet war. Beispielsweise werden die Prozesso­ ren einzeln von bestimmten Änderungen durch das Programm zur Simulation benachrichtigt. Prozessorübergreifende Befehle können somit nur eingeschränkt eingesetzt werden. Ihre Bear­ beitung verzögert sich durch den Aufruf des Programms zur Si­ mulation der virtuellen Maschine.The virtual machines are at certain times agreed processors assigned. The processors of a virtu ellen machines form a group. Is through the soft the operating system would be a so-called processor transfer fender command used, actually on all processors a multiprocessor system, it must be ensured that the processors of other virtual machines, i. H. the Processors from other groups are not disturbed. So far results in using a cross-processor command by an operating system to an interruption in which Follow the virtual machine simulation program is called. This program processes the processor overarching command so that only the processors of the group to which the processor belongs to which the command was directed. For example, the process individually of certain changes made by the program Simulation notified. Cross-processor commands can therefore only be used to a limited extent. Your Bear processing is delayed by calling the program for Si simulation of the virtual machine.

Prozessorübergreifende Befehle sind Prozessorbefehle, die di­ rekt auf die Hardware der Datenverarbeitungsanlage Bezug neh­ men, z. B. Befehle für die Ein-/Ausgabe, die Speicherverwal­ tung für Unterbrechungen und zum Ändern des Prozessorstatus. Viele der sogenannten privilegierten Befehle eines Prozessors sind prozessorübergreifende Befehle. Bei privilegierten Be­ fehlen handelt es sich um Befehle, bei deren Ausführung eine bestimmte Privilegierungsstufe gegeben sein muß. Ist die Pri­ vilegierungsstufe nicht gegeben, so wird durch den Prozessor eine Unterbrechung erzeugt und der Befehl wird nicht ausge­ führt.Cross-processor instructions are processor instructions that di refer directly to the hardware of the data processing system men, e.g. B. I / O commands, memory manager interrupt and change processor status. Many of the so-called privileged instructions of a processor are cross-processor commands. With privileged Be if there are no commands, one is executed certain privilege level must be given. Is the pri level of authorization is not given by the processor an interrupt is generated and the command is not executed leads.

Es ist Aufgabe der Erfindung, ein einfaches Verfahren zum Austausch von Meldungen in einem Mehrprozessorsystem anzuge­ ben. Außerdem sollen Prozessoren angegeben werden, die für die Ausführung des Verfahrens geeignet sind. It is an object of the invention to provide a simple method for Exchange of messages in a multiprocessor system ben. In addition, processors should be specified that for the execution of the method are suitable.  

Die das Verfahren betreffende Aufgabe wird durch ein Verfah­ ren mit den im Patentanspruch 1 angegebenen Merkmalen gelöst. Weiterbildungen sind in den Unteransprüchen angegeben.The task relating to the procedure is carried out by a procedure ren solved with the features specified in claim 1. Further developments are specified in the subclaims.

Beim erfindungsgemäßen Verfahren wird beim Austauschen der Meldungen geprüft, ob der die Meldung empfangende Prozessor zu derselben Gruppe gehört, wie der die Meldung sendende Pro­ zessor. Durch diese Maßnahme wird erreicht, daß prozessor­ übergreifende Befehle in ihrer Wirkung auf die Prozessoren der Gruppe beschränkt werden können. Dies erlaubt es wiederum Anwendungen, bei denen mehrere Gruppen von Prozessoren einge­ setzt werden, zu vereinfachen und zu beschleunigen.In the method according to the invention, the Messages checked whether the processor receiving the message belongs to the same group as the pro sending the message processor. This measure ensures that the processor overarching commands in their effect on the processors the group can be limited. This in turn allows it Applications where several groups of processors are used be set to simplify and accelerate.

Das Ausführen eines Prüfschrittes hat im Vergleich zu einer nicht ohne weiteres änderbaren Schaltungsanordnung den Vor­ teil, daß die Prüfkriterien und damit die Zuordnung der Pro­ zessoren zu verschiedenen Gruppen auf einfache Art während des Betriebs der Datenverarbeitungsanlage verändert werden können. Nur die Prozessoren müssen Gruppen zugeordnet werden. Es ist beim erfindungsgemäßen Verfahren nicht erforderlich, Speicherbereiche oder Ein-/Ausgabegeräte den Gruppen zuzuord­ nen. Trotzdem können prozessorübergreifende Befehle so einge­ setzt werden, daß nur die Prozessoren der jeweiligen Gruppe betroffen sind. Die Prozessoren anderer Gruppen werden auf­ grund des Prüfschritts nicht durch die Meldung beeinflußt.The execution of a test step compared to one not easily changeable circuit arrangement before partly that the test criteria and thus the assignment of the Pro cessors to different groups in a simple way during the operation of the data processing system can be changed can. Only the processors have to be assigned to groups. In the method according to the invention, it is not necessary Allocate memory areas or input / output devices to the groups nen. Nevertheless, cross-processor commands can be entered in this way that only the processors of the respective group are affected. The processors of other groups are on not affected by the message due to the test step.

Bei einer Ausgestaltung des erfindungsgemäßen Verfahrens be­ treffen die Meldungen Ereignisse, deren Bearbeitung in dem die jeweilige Meldung empfangenden Prozessor eine Zustandsän­ derung innerhalb des Prozessors ohne Unterbrechung der Be­ fehlsausführung bewirkt. Damit unterscheiden sich die Ereig­ nisse klar von den sogenannten Interrupts, die zu einer Un­ terbrechung des gerade auf einem Prozessor ausgeführten Pro­ gramms führen. Beispiele für solche Ereignisse sind Invali­ dierungen eines sogenannten Translation-Lookaside-Buffers oder bestimmte Vorgänge im Zusammenhang mit einem Zwischen­ speicher-Protokoll (Cache-Protocol).In one embodiment of the method according to the invention the messages hit events whose processing in the the processor receiving the respective message has a status signal change within the processor without interrupting the loading incorrect execution causes. This is how the Ereig differ nisse clear of the so-called interrupts that lead to an Un Interruption of the Pro currently running on a processor lead gramms. Examples of such events are Invali a so-called translation lookaside buffer  or certain processes related to an intermediate memory protocol (cache protocol).

Bei einer anderen Weiterbildung des erfindungsgemäßen Verfah­ rens betreffen die Meldungen alternativ oder zusätzlich Un­ terbrechungsanforderungen, deren Bearbeitung in dem die Mel­ dungen empfangenden Prozessor eine Unterbrechung der Be­ fehlsausführung erfordert. Durch diese Maßnahme wird es mög­ lich, Unterbrechungen nicht nur mit Hilfe eines Befehls an einen Prozessor zu senden, sondern an die Prozessoren einer ganzen Gruppe. Dies vereinfacht den Austausch von Unterbre­ chungsanforderungen im Mehrprozessorsystem.In another development of the method according to the invention Alternatively, the messages relate to Un breakdown requests, the processing of which the Mel processor receiving an interruption of loading mis-execution required. This measure makes it possible Lich, interruptions not only with the help of a command to send a processor, but to the processors of one whole group. This simplifies the exchange of underlays requirements in the multiprocessor system.

Bei einer Weiterbildung wird die Prüfung in einem der Prozes­ soren des Mehrprozessorsystems ausgeführt. Die Durchführung des Prüfschritts in einem Prozessor kann auf einfache Art durchgeführt werden. Im Gegensatz zu einer außerhalb der Pro­ zessoren liegenden Schaltungsanordnung sind keine zusätzli­ chen Chipsätze erforderlich.In the case of further training, the exam takes place in one of the processes sensors of the multiprocessor system. The implementation the test step in a processor can easily be performed. Unlike one outside of the pro cessors lying circuit arrangement are no additional Chen chipsets required.

Wird die Prüfung in dem die Meldungen sendenden Prozessor ausgeführt, so wird bei einer Ausgestaltung in diesem Prozes­ sor ermittelt, welche Prozessoren bzw. welcher Prozessor zu der Gruppe des sendenden Prozessors gehört. Die Meldung wird dann nur an die so ermittelten Prozessoren der gleichen Grup­ pe gesendet. An die Prozessoren der anderen Gruppe oder ande­ rer Gruppen wird dagegen keine Meldung gesendet. Die Prüf­ schritte können durch ein Mikroprogramm oder eine Schaltung innerhalb des Prozessors ausgeführt werden. Über das Bussy­ stem der Datenverarbeitungsanlage werden nur solche Meldungen gesendet, die auch tatsächlich in den empfangenen Prozessoren bearbeitet werden. Das Senden überflüssiger Meldungen wird vermieden.Is the test in the processor sending the messages is carried out in an embodiment in this process sor determines which processors or which processor to belongs to the group of the sending processor. The message will then only to the processors of the same group determined in this way pe sent. The processors of the other group or others However, no message is sent to groups. The test steps can be done by a micro program or a circuit run inside the processor. About the Bussy Only such messages are sent to the data processing system sent, which is actually in the processors received to be edited. Sending unnecessary messages will avoided.

Bei einer anderen Ausgestaltung des erfindungsgemäßen Verfah­ rens wird die Prüfung in einem die Meldung empfangenden Pro­ zessor durchgeführt. Dabei werden die Meldungen von dem sendenden Prozessor an einen Prozessor bzw. mehrere Prozessoren unabhängig von deren Gruppenzugehörigkeit gesendet. Erst der empfangende Prozessor ermittelt, ob der sendende Prozessor zur gleichen Gruppe gehört. Gehört der sendende Prozessor zur gleichen Gruppe, so wird die Meldung bearbeitet. Gehört der sendende Prozessor zu einer anderen Gruppe, so wird die Mel­ dung nicht bearbeitet, sondern ignoriert. Diese Vorgehens­ weise wird insbesondere dann benutzt, wenn das Bussystem, das die Prozessoren des Mehrprozessorsystems verbindet, sehr lei­ stungsfähig ist und zusätzliche Meldungen nur zu unwesentlich mehr Übertragungsvorgängen führen. Die Prüfung im empfangenen Prozessor ist einfacher als die Prüfung im sendenden Prozes­ sor, weil jeder Prozessor nur für sich selbst entscheiden muß, ob er zur gleichen Gruppe wie der sendende Prozessor ge­ hört. Bei einer weiteren Ausgestaltung enthält die Meldung für den sendenden Prozessor ein Kennzeichen, mit dessen Hilfe der empfangende Prozessor die Gruppenzugehörigkeit unter Ein­ beziehung eines im Prozessor verfügbaren Datenwortes ermit­ telt. Das Datenwort enthält Angaben zur Gruppenzugehörigkeit der Prozessoren.In another embodiment of the method according to the invention The examination is carried out in a pro receiving the report processor performed. The messages from the sending  Processor to one processor or several processors regardless of their group membership. First the receiving processor determines whether the sending processor belongs to the same group. Does the sending processor belong to same group, the message is processed. Heard of sending processor to another group, the Mel not edited, but ignored. This procedure wise is used especially when the bus system, the connects the processors of the multiprocessor system, very lei is sustainable and additional reports are only insignificant perform more transfers. The test in the received Processor is easier than testing in the sending process sor because each processor only decide for itself whether it belongs to the same group as the sending processor hear. In a further embodiment, the message contains an identifier for the sending processor, with the help of which the receiving processor the group membership under On relation to a data word available in the processor telt. The data word contains information on group membership of processors.

Bei einer nächsten Ausgestaltung des erfindungsgemäßen Ver­ fahrens enthält die Meldung ein Gruppenkennzeichen, das eine der Gruppen bezeichnet. Die Prozessoren enthalten ebenfalls Gruppenkennzeichen. Bei der Prüfung verwendet ein empfangen­ der Prozessor sein eigenes Gruppenkennzeichen und das in der Meldung enthaltene Gruppenkennzeichen.In a next embodiment of the Ver driving, the message contains a group indicator, the one of groups. The processors also contain Group identifier. Received in the test the processor has its own group identifier and that in the Message contained group identifier.

Bei einer anderen Ausgestaltung wird zur Prüfung jeweils ein den Prozessoren enthaltenes Datenwort mit mindestens einem Bit für die anderen Prozessoren des Mehrprozessorsystems ver­ wendet. An Hand des Bitwertes wird die Zugehörigkeit zu der­ selben Gruppe ermittelt. Durch diese Maßnahme kann das Über­ tragen des Gruppenkennzeichens auf dem Systembus verhindert werden. An Stelle des Gruppenkennzeichens wird beispielsweise ein Prozessorkennzeichen übertragen. In another embodiment, one is used for the examination data word containing the processors with at least one Bits for the other processors of the multiprocessor system turns. On the basis of the bit value, the affiliation to the same group. With this measure, the over prevented from carrying the group identifier on the system bus become. For example, instead of the group indicator transfer a processor identifier.  

Bei einer anderen Ausgestaltung kann das in einem Prozessor gespeicherte Gruppenkennzeichen bzw. das Datenwort mit Hilfe eines einfachen Ladebefehls geändert werden. Durch diese Maß­ nahme kann die Zuordnung der Prozessoren zu einer Gruppe durch Ausführung eines Ladebefehls jederzeit schnell geändert werden. Um einen Mißbrauch zu verhindern, gehört der Ladebe­ fehl bei einer anderen Ausführungsform zu den privilegierten Befehlen, die nur bei Vorliegen einer bestimmten Privilegie­ rungsstufe ausgeführt werden.In another embodiment, this can be done in a processor saved group identifier or the data word with the help a simple load command can be changed. By that measure The processors can be assigned to a group changed quickly at any time by executing a load command become. The Ladebe belongs to prevent abuse failed in another embodiment to the privileged Orders that are only given a certain privilege level.

Eine erhebliche Verbesserung im Vergleich zum Stand der Tech­ nik läßt sich erzielen, wenn das erfindungsgemäße Verfahren bzw. dessen Ausführungsformen zur Ausführung eines Programms verwendet wird, mit dessen Hilfe ein virtueller Prozessor si­ muliert wird, der von anderen auf derselben Datenverarbei­ tungsanlage simulierten virtuellen Prozessoren abgeschottet ist. Durch den Einsatz des erfindungsgemäßen Verfahrens ist es nämlich möglich, ohne eine außerhalb der Prozessoren lie­ gende Hardware und auch ohne eine zusätzliche Software pro­ zessorübergreifende Befehle in ihrer Wirkung auf die Prozes­ soren einer Gruppe zu beschränken. Dies führt zu einfachen und schnellen Lösungen bei der Simulation der Prozessoren.A significant improvement over the state of the art nik can be achieved if the inventive method or its embodiments for executing a program is used, with the help of a virtual processor si is mulated by others on the same data processing system simulated virtual processors is. By using the method according to the invention namely it is possible without a lie outside of the processors hardware and also without additional software pro cross-processor commands in their effect on the processes limit the sensors of a group. This leads to simple and fast solutions for the simulation of the processors.

Das Programm zur Simulation des virtuellen Prozessors bildet bei einer Ausgestaltung die Schnittstelle zwischen dem realen Prozessor und einem Betriebssystem, das ohne Veränderung auch direkt durch den Prozessor ausführbar ist. Ein Beispiel für ein solches Betriebssystem ist das Betriebssystem BS 2000 der Firma Siemens AG.In one embodiment, the program for simulating the virtual processor forms the interface between the real processor and an operating system, which can also be executed directly by the processor without modification. An example of such an operating system is the BS 2000 operating system from Siemens AG.

Die Erfindung betrifft außerdem Prozessoren zur Ausführung des erfindungsgemäßen Verfahrens bzw. dessen Weiterbildungen. Somit gelten die oben für das erfindungsgemäße Verfahren und seine Ausgestaltungen genannten Wirkungen auch für die erfin­ dungsgemäßen Prozessoren. The invention also relates to processors for execution the inventive method and its developments. Thus, the above apply to the method and its effects mentioned also for the inventions processors according to the invention.  

Obwohl die Erfindung verschiedene Prozessoren betrifft, wer­ den in einem Mehrprozessorsystem üblicherweise Prozessoren der gleichen Bauart eingesetzt. In diesem Zusammenhang sind symmetrische Multiprozessorsysteme das Ziel (Symmetrical Mul­ tiprocessor System).Although the invention relates to different processors, who the processors usually used in a multiprocessor system the same type used. In this context symmetric multiprocessor systems the goal (symmetrical mul tiprocessor system).

Die Erfindung betrifft in einem zweiten Aspekt einen Prozes­ sor für die Bearbeitung von Befehlen verschiedener Privile­ gierungsstufen. Der Prozessor hat einen Befehlssatz, der pri­ vilegierte Befehle enthält, für die jeweils eine von minde­ stens zwei Privilegierungsstufen vorgegeben wird. Eine im Prozessor enthaltene Steuereinheit führt die privilegierten Befehle bei mindestens einer für diesen Befehl vorgegebenen Privilegierungsstufe abhängig von einer zur Ausführungszeit des Befehls geltenden Ist-Privilegierungsstufe aus oder er­ zeugt eine Unterbrechung.In a second aspect, the invention relates to a process sor for processing commands from different privileges levels of government. The processor has an instruction set that pri contains privileged commands, one for each of minde at least two privilege levels are specified. One in Processor contained control unit carries out the privileged Instructions for at least one specified for this instruction Privilege level depending on one at execution time or privilege level applicable to the command creates an interruption.

Beispiele für privilegierte Befehle sind Befehle zur Ein- /Ausgabe, zur Speicherverwaltung, für Unterbrechungen, oder zum Ändern des Prozessorstatus.Examples of privileged commands are commands to / Output, for memory management, for interruptions, or to change the processor status.

Bei bekannten Prozessoren, z. B. dem Prozessor Pentium III der Firma Intel, sind für die privilegierten Befehle vier Privi­ legierungsstufen, 0, 1, 2 und 3 vorgegeben. Dabei ist die Pri­ vilegierungsstufe "0" die Privilegierungsstufe mit der höch­ sten Privilegierung. Es sind jedoch auch Prozessoren bekannt, die zwei Privilegierungsstufen haben.In known processors, e.g. B. the processor Pentium III Intel, four privileges for privileged commands alloy levels, 0, 1, 2 and 3 specified. The Pri privilege level "0" the privilege level with the highest privilege. However, processors are also known who have two privilege levels.

Bei bekannten Prozessoren prüft die Steuereinheit beim Aus­ führen von privilegierten Befehlen zumindest bei Privilegie­ rungsstufen mit höherer Privilegierung als die Privilegie­ rungsstufe mit der geringsten Privilegierung, ob einer zur Zeit der Ausführung des jeweiligen Befehls geltende Ist-Pri­ vilegierungsstufe vorliegt. Beispielsweise dürfen Zugriffe auf den Datenspeicher nur dann ausgeführt werden, wenn die Ist-Privilegierungsstufe höher als die vorgegebene Privile­ gierungsstufe ist. In known processors, the control unit checks when it is switched off execute privileged commands, at least with privilege levels with higher privileges than privileges level with the least privilege, whether one for Actual Pri valid at the time of execution of the respective command privilege level is present. For example, access is allowed can only be executed on the data store if the Actual privilege level higher than the specified privilege level of government.  

Die Ist-Privilegierungsstufe ergibt sich aus dem Umfeld bei der Befehlsausführung. So ist beispielsweise in einem Regi­ ster des Prozessors durch ein Statusbit die die Ist-Privile­ gierungsstufe vorgegeben. Bei der Ist-Privilegierungsstufe werden aber auch Statusbits in Speicherdeskriptoren berück­ sichtigt.The actual privilege level results from the environment at the execution of the command. For example, in a regi the processor by a status bit which is the actual privilege level specified. At the actual privilege level status bits in memory descriptors are also taken into account inspects.

Bei den bekannten Prozessoren sind die Privilegierungsstufen für die privilegierten Befehle durch den Aufbau des Prozes­ sors fest vorgegeben. Für verschiedene privilegierte Befehle sind verschiedene Privilegierungsstufen durch den Aufbau des Prozessors und damit auch für den Befehlssatz festgelegt.The privilege levels are in the known processors for the privileged commands by building the process sors fixed. For various privileged commands are different levels of privilege by building the Processor and thus also specified for the instruction set.

Werden die bekannten Prozessoren zur Ausführung eines Pro­ gramms eingesetzt, mit dessen Hilfe eine sogenannte virtuelle Maschine simuliert wird, so wird beim Auftreten jedes privi­ legierten Befehls ein Interrupt ausgelöst. Abhängig vom aus­ zuführenden Befehl wird danach durch die Ausführung eines Un­ terbrechungsbehandlungsprogramms gewährleistet, daß der pri­ vilegierte Befehl tatsächlich nur auf die virtuelle Maschine wirken kann, zu der der Prozessor gehört, an den der privile­ gierte Befehl gerichtet worden ist. Dies führt zu einer Viel­ zahl von Interrupts, die sich hemmend auf die Laufzeiten der Programme auswirken. Ähnliche Probleme gibt es auch bei ande­ ren Anwendungen.Are the known processors to run a Pro gramms used, with the help of a so-called virtual Machine is simulated, so every privi alloyed command triggered an interrupt. Depending on the command is then executed by executing an Un Interrupt treatment program ensures that the pri privileged command actually only on the virtual machine to which the processor belongs, to which the privile command has been directed. This leads to a lot number of interrupts that inhibit the runtimes of the Programs impact. There are similar problems with others applications.

Es ist Aufgabe des zweiten Aspekts der Erfindung, einen ver­ besserten Prozessor für die Bearbeitung von Befehlen ver­ schiedener Privilegierungsstufen anzugeben.It is an object of the second aspect of the invention to provide a ver improved processor for processing commands different privilege levels.

Diese Aufgabe wird durch einen Prozessor mit den Merkmalen des Patentanspruchs 19 gelöst. Weiterbildungen sind in den Unteransprüchen angegeben.This task is performed by a processor with the features of claim 19 solved. Further training is in the Subclaims specified.

Die Erfindung geht von der Erkenntnis aus, daß die starre Vorgabe der Privilegierungsstufen für die privilegierten Befehle durch den Aufbau des Prozessors für viele Anwendungen hinderlich ist. Um die starre Vorgabe zu vermeiden, sind beim erfindungsgemäßen Prozessor die Privilegierungsstufen minde­ stens eines privilegierten Befehls während des Betriebs des Prozessors vorgebbar. Durch diese Maßnahme wird erreicht, daß abhängig vom Anwendungsfall die Privilegierungsstufe vorgege­ ben werden kann.The invention is based on the knowledge that the rigid Specification of the privilege levels for the privileged commands  by building the processor for many applications is a hindrance. To avoid the rigid specification, the processor according to the invention the privilege levels least a privileged command during the operation of the Processor can be specified. This measure ensures that depending on the application, the privilege level can be used.

Bei einer Ausgestaltung enthält der Prozessor eine Auswahl­ einheit zur Speicherung eines Datenwortes, dessen Wert zur Vorgabe der Privilegierungsstufe änderbar ist. Beispielsweise liegt die Anzahl der privilegierten Befehle bei bekannten Prozessoren üblicherweise zwischen etwa acht bis fünfzehn Be­ fehlen. Somit läßt ich in einem Datenwort mit einer Bitlänge von beispielsweise 16 Bit für jeden Befehl eine Bitstelle für die Vorgabe einer bestimmten Privilegierungsstufe verwenden.In one embodiment, the processor contains a selection unit for storing a data word, the value of which The privilege level can be changed. For example the number of privileged commands is known Processors typically between about eight to fifteen Be absence. So I leave in a data word with a bit length for example 16 bits for each command one bit position for use a specific privilege level.

Bei einer nächsten Weiterbildung enthält der Prozessor eine Zugriffseinheit, die den Zugriff auf ein Register zur Spei­ cherung des Datenwortes abhängig von der zum Zeitpunkt des Zugriffs geltenden Privilegierungsstufe durchführt. Durch diese Maßnahme wird gewährleistet, daß der Zugriff auf das Register selbst ein privilegierter Befehl ist und somit nur beim Vorliegen einer bestimmten Ist-Privilegierungsstufe durchführbar ist. Unbefugte Zugriffe zur Änderung der Privi­ legierungsstufe während des Betriebs des Prozessors können somit verhindert werden.In a next development, the processor contains one Access unit that gives access to a register for storage backup of the data word depending on the at the time of the Access level applies. By this measure ensures that access to the Register itself is a privileged command and therefore only if there is a certain actual privilege level is feasible. Unauthorized access to change the privi alloy level during processor operation thus be prevented.

Sind mit Hilfe der Auswahleinheit bei einer nächsten Ausge­ staltung Privilegierungsstufen für Klassen von privilegierten Befehlen vorgebbar, so lassen sich Statusbits für mehrere Be­ fehle nutzen. Eine Klasse enthält dabei mindestens zwei pri­ vilegierte Befehle.Are with the help of the selection unit at a next exit design privilege levels for classes of privileged Commands can be specified, so status bits for several Be miss use. A class contains at least two pri privileged commands.

Bei einer nächsten Weiterbildung führt die Steuereinheit in einer Privilegierungsstufe mindestens einen privilegierten Befehl unabhängig von der zur Ausführungszeit des Befehls geltenden Ist-Privilegierungsstufe aus. Durch diese Maßnahme kann ein privilegierter Befehl während des Betriebs des Pro­ zessors wie ein unprivilegierter Befehl ausgeführt werden. Das heißt, Unterbrechungen treten bei der Ausführung dieses Befehls nicht auf, insbesondere auch dann nicht, wenn die Ist-Privilegierungsstufe zur Zeit die niedrigste Privilegie­ rung hat.In a next development, the control unit in a privilege level at least one privileged Command regardless of the time the command was executed  applicable actual privilege level. By this measure can be a privileged command during the operation of the Pro cessors like an unprivileged command. That is, interruptions occur when this is done Command, especially not if the Actual privilege level is currently the lowest privilege tion.

Bei einer weiteren Ausgestaltung erzeugt die Steuereinheit in einer Privilegierungsstufe mindestens eines privilegierten Befehls bei diesem Befehl unabhängig von der zur Ausführungs­ zeit des Befehls geltenden Privilegierungsstufe eine Unter­ brechung. Durch eine solche Maßnahme lassen sich beispiels­ weise auch die privilegierten Befehle in einen Debug-Modus (Testmodus) einbeziehen, bei dem die Ausführung nach bestimm­ ten Befehlen immer unterbrochen wird.In a further embodiment, the control unit in a privilege level of at least one privileged Command with this command regardless of the one to be executed Privilege level at the time of the command is a sub refraction. Such a measure can, for example also assign the privileged commands to a debug mode Include (test mode), in which the execution according to certain commands are always interrupted.

Der erfindungsgemäße Prozessor und seine Ausgestaltungen eig­ nen sich hervorragend für den Einsatz bei der Ausführung ei­ nes Programms, das einen virtuellen Prozessor simuliert, d. h. eine sogenannte virtuelle Maschine. Die virtuellen Maschinen sind grundsätzlich von anderen auf der gleichen Datenverar­ beitungsanlage ausgeführten virtuellen Maschinen unabhängig. Ein Zusammenbruch des Betriebssystems der einen virtuellen Maschine wirkt sich beispielsweise nicht auf den Zustand ei­ ner anderen virtuellen Maschine aus. Eine Ausnahme von diesem Prinzip besteht nur dann, wenn zwischen den virtuellen Ma­ schinen Kommunikationsmöglichkeiten angeboten werden.The processor according to the invention and its refinements are ideal for use in the execution of egg a program that simulates a virtual processor, d. H. a so-called virtual machine. The virtual machines are basically of the same data from others virtual machines running independently. A breakdown of the operating system of one virtual For example, the machine does not affect the state another virtual machine. An exception to this Principle exists only if between the virtual Ma seem communication possibilities are offered.

Insbesondere wenn bei einer Weiterbildung das Programm zur Simulation des virtuellen Prozessors als Schnittstelle zwi­ schen dem realen Prozessor und einem Betriebssystem arbeitet, läßt sich die Anzahl der Unterbrechungen reduzieren. Dies ist darauf zurückzuführen, daß selektiv für die einzelnen privi­ legierten Befehle festgelegt werden kann, welcher Befehl zu einer Unterbrechung führen soll und welcher Befehl direkt durch den Prozessor auszuführen ist. Unterbrechungen werden nur für solche privilegierten Befehle erzeugt, die auch Zu­ stände in Prozessoren ändern, die nicht zu den Prozessoren der betrachteten virtuellen Maschine gehören, sondern zu Pro­ zessoren anderer virtueller Maschinen.Especially if the program for Simulation of the virtual processor as an interface between works with the real processor and an operating system, the number of interruptions can be reduced. This is due to the fact that selective for the individual privi alloyed commands can be set which command to an interruption and which command directly is to be executed by the processor. Interruptions  only generated for privileged commands that are also closed Stands change in processors that are not processors belong to the considered virtual machine, but to Pro cessors of other virtual machines.

Im folgenden werden Ausführungsbeispiele der Erfindung an Hand der beiliegenden Zeichnungen erläutert. Darin zeigen:The following are exemplary embodiments of the invention Hand explained with the accompanying drawings. In it show:

Fig. 1 eine Mehrprozessor-Datenverarbeitungsanlage, auf der zwei virtuelle Maschinen realisiert sind, Fig. 1 shows a multiprocessor data processing system, are implemented on the two virtual machines,

Fig. 2 Verfahrensschritte zur Prüfung der Gruppenzugehö­ rigkeit an Hand eines in einer Ereignismeldung ent­ haltenen Gruppenkennzeichens, Fig. 2 method steps for testing the Gruppenzugehö rigkeit reference to an event message in a preserved ent group identifier,

Fig. 3 Verfahrensschritte zur Prüfung der Gruppenzugehö­ rigkeit in einem Ereignismeldungen sendenden Pro zessor an Hand eines Registerwortes, Fig. 3 shows method steps for testing the Gruppenzugehö rigkeit in an event messages sent Pro cessor on hand of a register word,

Fig. 4 Verfahrensschritte zur Prüfung der Gruppenzugehö­ rigkeit eines eine Ereignismeldung empfangenden Prozessors an Hand eines Registerwortes, und Fig. 4 process steps for checking the group membership of a processor receiving an event message using a register word, and

Fig. 5 ein Verfahren zum Ausführen von privilegierten Be­ fehlen mit änderbaren Privilegierungsstufen. Fig. 5 shows a method for executing privileged Be missing with changeable privilege levels.

Fig. 1 zeigt eine Mehrprozessor-Datenverarbeitungsanlage 10, mit deren Hilfe zwei virtuelle Maschinen 12 und 14 simuliert werden. Die Datenverarbeitungsanlage 10 enthält acht Prozes­ soren gleicher Bauart, von denen in Fig. 1 drei Prozessoren P1, P2 und P3 dargestellt sind. Die weiteren Prozessoren sind durch Punkte 16 angedeutet. Der Prozessor P1 enthält ein se­ parates Leitwerk zur Steuerung der Befehlsausführung und ein Rechenwerk zum Ausführen logischer und arithmetischer Opera­ tionen. Die Prozessoren P1 bis P3 sind über ein nicht darge­ stelltes Bussystem untereinander verknüpft. Fig. 1 shows a multiprocessor data processing system 10 shows, by means of which two virtual machines 12 and simulated fourteenth The data processing system 10 contains eight processors of the same type, of which three processors P1, P2 and P3 are shown in FIG. 1. The other processors are indicated by points 16 . The processor P1 contains a separate control unit for controlling the execution of instructions and an arithmetic unit for executing logical and arithmetic operations. The processors P1 to P3 are linked to one another via a bus system (not shown).

Die Datenverarbeitungsanlage 10 enthält außerdem einen Haupt­ speicher 18, z. B. ein RAM (Random Access Memory) mit flüchti­ gem Speicherinhalt. Ein-/Ausgabegeräte, wie z. B. Drucker, Festplatten und Netzwerkeinheiten, der Datenverarbeitungsan­ lage 10 sind in Fig. 1 aus Gründen der besseren Übersicht­ lichkeit nicht dargestellt.The data processing system 10 also includes a main memory 18 , for. B. a RAM (Random Access Memory) with volatile memory content. Input / output devices, such as B. printers, hard drives and network units, the data processing system 10 are not shown in FIG. 1 for reasons of clarity.

Die durch die Software direkt steuerbaren Baueinheiten bilden ein reales Hardware-Software-Interface 20. Vom Interface 10 kommende Interrupt-Meldungen werden von einem Hypervisor-Pro­ gramm 22 bearbeitet, siehe Pfeil 24. Das Hypervisor-Programm steuert die Einheiten des Interfaces 20 direkt, siehe Pfeil 26, beim Ausführen seiner Befehle durch die Prozessoren P1 bis P3. Das Hypervisor-Programm 22 ermöglicht es, mehrere virtuelle Maschinen zu simulieren, beispielsweise die virtu­ ellen Maschinen 12 und 14. Eine virtuelle Maschine ist dabei die Nachbildung des Interfaces 20 für jeweils ein Betriebssy­ stem. Ein Betriebssystem BS1 nutzt die virtuelle Maschine 12, und ein Betriebssystem BS2 nutzt die virtuelle Maschine 14. Die Betriebssysteme BS1 und BS2 sind beispielsweise die Be­ triebssysteme BS 2000 der Firma Siemens AG. Bei anderen Aus­ führungsbeispielen werden jedoch auch andere Betriebssysteme eingesetzt, z. B. das Betriebssystem WINDOWS NT der Firma Mi­ crosoft GmbH oder das Betriebssystem UNIX.The units that can be controlled directly by the software form a real hardware-software interface 20 . Interrupt messages coming from the interface 10 are processed by a hypervisor program 22 , see arrow 24 . The hypervisor program controls the units of the interface 20 directly, see arrow 26 , when executing its commands by the processors P1 to P3. The hypervisor program 22 makes it possible to simulate several virtual machines, for example the virtual machines 12 and 14 . A virtual machine is the replica of the interface 20 for each operating system. An operating system BS1 uses the virtual machine 12 and an operating system BS2 uses the virtual machine 14 . The operating systems BS1 and BS2 are, for example, the operating systems BS 2000 from Siemens AG. In other exemplary embodiments, however, other operating systems are used, e.g. B. the operating system WINDOWS NT from the company Microsoft GmbH or the operating system UNIX.

Das Hypervisor-Programm 22 leitet Unterbrechungen, die vom Interface 20 kommen entweder an das Betriebssystem BS1 oder an das Betriebssystem BS2 weiter, vgl. Pfeile 28 bis 34. Vom Betriebssystem BS1 ausgeführte Steuervorgänge werden nur un­ ter Aufsicht des Hypervisor-Programms 22 wirksam, vgl. Pfeile 36 und 38. Ebenso beeinflußt das Betriebssystem BS2 die Bau­ einheiten des Interfaces 20 nur indirekt über das Hypervisor- Programm 22, vgl. Pfeile 40 und 42.The hypervisor program 22 forwards interruptions that come from the interface 20 either to the operating system BS1 or to the operating system BS2, cf. Arrows 28 to 34 . Control processes carried out by the operating system BS1 are only effective under the supervision of the hypervisor program 22 , cf. Arrows 36 and 38 . Likewise, the operating system BS2 influences the construction units of the interface 20 only indirectly via the hypervisor program 22 , cf. Arrows 40 and 42 .

Die Prozessoren P1 bis P8 werden durch das Hypervisor-Pro­ gramm abhängig von der durch die Betriebssysteme BS1, BS2 je­ weils benötigten Rechenleistung diesen Betriebssystemen BS1, BS2 zugeteilt. Prozessoren, die dem Betriebssystem BS1 zuge­ teilt sind, bilden eine erste Prozessorengruppe. Die Prozes­ soren, die dem Betriebssystem BS2 zugeordnet sind, bilden dann eine zweite Prozessorengruppe. Prozessoren verschiedener Gruppen dürfen sich gegenseitig nicht stören.The processors P1 to P8 are made by the Hypervisor-Pro grams depending on the operating systems BS1, BS2 because computing power required these operating systems BS1,  Allocated to BS2. Processors associated with the BS1 operating system are a first processor group. The processes sensors that are assigned to the operating system BS2 then a second processor group. Processors of various Groups must not disturb each other.

Nähere Einzelheiten der in Fig. 1 gezeigten Systemkomponen­ ten sind im übrigen den Bedienungsanleitungen zu dem von der Firma Siemens AG vertriebenen Programm VM 2000 (Virtual Ma­ chine) zu entnehmen. Die Prozessoren P1 bis P8 sind bei­ spielsweise Prozessoren mit der IA64-Architektur der Firma Intel, die um die an Hand der Fig. 2 bis 5 erläuterten Funktionen erweitert worden sind. Informationen zu der Archi­ tektur IA-64 sind beispielsweise im Internet unter der Adres­ se: http://developer.intel.com/design/ia- 64/downloads/adag.htm verfügbar.Further details of the system components shown in FIG. 1 can also be found in the operating instructions for the program VM 2000 (Virtual Machine) sold by Siemens AG. The processors P1 to P8 are, for example, processors with the IA64 architecture from Intel, which have been expanded by the functions explained with reference to FIGS . 2 to 5. Information on the IA-64 architecture is available, for example, on the Internet at: http://developer.intel.com/design/ia- 64 / downloads / adag.htm.

Fig. 2 zeigt Verfahrensschritte zur Prüfung der Gruppenzuge­ hörigkeit an Hand von Gruppenkennzeichen GK, die in Ereignis­ meldungen enthalten sind. In Fig. 2 sind links einer gestri­ chelten Linie 50 Vorgänge dargestellt, die den Prozessor P1 betreffen. Rechts der gestrichelten Linie 50 sind Vorgänge dargestellt, die den Prozessor P2 betreffen. Für jeden der Prozessoren P1 bis P8 wird durch das Hypervisor-Programm 22 bei der Zuordnung der Prozessoren zu den Betriebssystemen BS1 und BS2 ein Gruppenkennzeichen GK1 bis GK8 vergeben. Bei zwei virtuellen Maschinen 12 und 14 gibt es zwei verschiedene Wer­ te für die Gruppenkennzeichen. Beispielsweise kennzeichnet der Wert EINS die erste Gruppe und der Wert NULL die zweite Gruppe. In jedem Prozessor P1 bis P8 wird das zugehörige Gruppenkennzeichen GK1 bis GK8 gespeichert. So wird im Pro­ zessor P1 das Gruppenkennzeichen GK1 und im Prozessor P2 das Gruppenkennzeichen GK2 gespeichert, siehe Verfahrensschritte 52 und 54. Fig. 2 shows procedural steps for checking the group membership on the basis of group identifier GK, which are contained in event messages. In Fig. 2 50 operations are shown on the left of a dashed line, which affect the processor P1. On the right of the dashed line 50 , processes are shown which concern the processor P2. For each of the processors P1 to P8, the hypervisor program 22 assigns a group identifier GK1 to GK8 when the processors are assigned to the operating systems BS1 and BS2. In the case of two virtual machines 12 and 14, there are two different values for the group identifiers. For example, the value ONE identifies the first group and the value NULL the second group. The associated group identifier GK1 to GK8 is stored in each processor P1 to P8. Thus, the group identifier GK1 is stored in the processor P1 and the group identifier GK2 is stored in the processor P2, see method steps 52 and 54 .

Es sei angenommen, daß der Prozessor P1 zur ersten Prozessor­ gruppe gehört, d. h. dieser Prozessor wird bei der Ausführung des Betriebssystems BS1 einbezogen. Das Gruppenkennzeichen GK1 hat deshalb den Wert EINS. Weiterhin sei angenommen, daß an den Prozessor P1 bei der Ausführung des Betriebssystems BS1 ein prozessorübergreifender Befehl gerichtet wird, siehe Verfahrensschritt 56. Dieser prozessorübergreifende Befehl ist beispielsweise ein Befehl, mit dessen Hilfe ein Eintrag in einem sogenannten Translation-Lookaside-Buffer des Prozes­ sors P1 verworfen wird. Dies ist beispielsweise erforderlich, wenn eine Speicherseite aus dem Speicher 18 auf eine Fest­ platte der Datenverarbeitungsanlage 10 ausgelagert wird. Eine Änderung des Eintrags in einem der Prozessoren P1 bis P8 führt zu einer Benachrichtigung auch anderer Prozessoren der gleichen Gruppe über das Bussystem. Zur Benachrichtigung wird auf dem Bussystem ein festgelegtes Busprotokoll verwendet. Das Busprotokoll der bekannten Prozessoren mit IA-64-Archi­ tektur wurde so erweitert, daß neben der sonst üblichen Be­ nachrichtigung aller Prozessoren P1 bis P8 auch das Gruppen­ kennzeichen GK1 angegeben wird.It is assumed that the processor P1 belongs to the first processor group, ie this processor is involved in the execution of the operating system BS1. The group indicator GK1 therefore has the value ONE. Furthermore, it is assumed that a processor-wide command is directed to the processor P1 when the operating system BS1 is executed, see method step 56 . This cross-processor instruction is, for example, an instruction with the aid of which an entry in a so-called translation lookaside buffer of the processor P1 is rejected. This is necessary, for example, when a memory page is swapped out of the memory 18 onto a hard disk of the data processing system 10 . A change in the entry in one of the processors P1 to P8 leads to a notification of other processors in the same group via the bus system. A defined bus protocol is used for notification on the bus system. The bus protocol of the known processors with IA-64 architecture was expanded so that in addition to the usual notification of all processors P1 to P8, the group identifier GK1 is also given.

Im Prozessor P2 wird die Benachrichtigung in einem Verfah­ rensschritt 58 empfangen, siehe auch Pfeile 60 und 62. Insbe­ sondere wird das Gruppenkennzeichen GK1, d. h. dessen Wert NULL im Prozessor P2 empfangen. Der Prozessor P2 bearbeitet das Ereignis intern und automatisch. Beispielsweise enthält er ein Mikroprogramm, das die im folgenden erläuterten Ver­ fahrensschritte ausführt. Bei einer anderen Ausführungsform wird jedoch eine Schaltung im Prozessor P2 für den gleichen Zweck eingesetzt. In einem dem Verfahrensschritt 58 folgenden Verfahrensschritt 64 prüft der Prozessor P2, ob das im Ver­ fahrensschritt 58 empfangene Kennzeichen den gleichen Wert wie sein eigenes Gruppenkennzeichen GK2 hat. Dabei wird das Gruppenkennzeichen GK2 gelesen, siehe Pfeil 66. Gehört der Prozessor P2 zur selben Gruppe wie der Prozessor P1, d. h. das Gruppenkennzeichen GK2 hat ebenfalls den Wert EINS, so wird nach dem Verfahrensschritt 64 ein Verfahrensschritt 68 ausge­ führt, bei dem mit der Bearbeitung des Ereignisses begonnen wird. Beispielsweise wird im Translation-Lookaside-Buffer des Prozessors P2 nach dem in dem Ereignis angegebenen Eintrag gesucht. Wird dieser Eintrag gefunden, so wird er gemäß der Ereignismeldung ebenfalls verworfen.The notification is received in processor P2 in a method step 58 , see also arrows 60 and 62 . In particular, the group identifier GK1, ie its value NULL, is received in processor P2. Processor P2 processes the event internally and automatically. For example, it contains a microprogram that executes the procedural steps explained below. In another embodiment, however, a circuit in processor P2 is used for the same purpose. In a method step 64 following method step 58, processor P2 checks whether the identifier received in method step 58 has the same value as its own group identifier GK2. The group identifier GK2 is read, see arrow 66 . If the processor P2 belongs to the same group as the processor P1, ie the group identifier GK2 also has the value ONE, a method step 68 is carried out after method step 64 , in which processing of the event is started. For example, the translation lookaside buffer of processor P2 is searched for the entry specified in the event. If this entry is found, it is also discarded according to the event message.

Gehört der Prozessor P2 dagegen zu der anderen Gruppe, d. h. zur zweiten Gruppe, so hat das Gruppenkennzeichen GK2 den Wert NULL. Unmittelbar nach dem Verfahrensschritt 64 folgt in diesem Fall ein Verfahrensschritt 70. Im Verfahrensschritt 70 wird das im Verfahrensschritt 58 eintreffende Ereignis igno­ riert. Das bedeutet, daß der Translation-Lookaside-Buffer des Prozessors P2 durch das ankommende Ereignis nicht beeinflußt werden kann. Damit kann der Prozessor P2 ungestört von Ereig­ nissen in Prozessoren der ersten Prozessorgruppe arbeiten.On the other hand, if the processor P2 belongs to the other group, ie to the second group, the group identifier GK2 has the value NULL. In this case, method step 70 follows immediately after method step 64 . In step 70 , the event arriving in step 58 is ignored. This means that the translation lookaside buffer of processor P2 cannot be influenced by the incoming event. This enables the processor P2 to work undisturbed by events in processors of the first processor group.

Durch das an Hand der Fig. 2 erläuterte Verfahren ist eine Einbeziehung des Hypervisor-Programms 22, siehe Fig. 1, bei der Bearbeitung prozessorübergreifender Befehle nicht erfor­ derlich.The method explained with reference to FIG. 2 does not require the hypervisor program 22 , see FIG. 1, to be involved in the processing of cross-processor instructions.

Bei einem anderen Ausführungsbeispiel wird bei einem Inter­ rupt ebenfalls das Gruppenkennzeichen übermittelt. Dadurch ist gewährleistet, daß einzelne Interrupts nur von Prozesso­ ren der gleichen Gruppe ausgewertet werden können. Bei der Auswertung werden die an Hand der Fig. 2 erläuterten Verfah­ rensschritte ausgeführt, wobei an Stelle eines Ereignisses der Interrupt auftritt. Werden Interrupts an mehrere Prozes­ soren gesendet, so wird ebenfalls in jedem den Interrupt emp­ fangenden Prozessor geprüft, ob das im Zusammenhang mit der Interruptauslösung übermittelte Gruppenkennzeichen mit dem eigenen Gruppenkennzeichen übereinstimmt.In another embodiment, the group identifier is also transmitted in the event of an interrupt. This ensures that individual interrupts can only be evaluated by processors in the same group. During the evaluation, the method steps explained with reference to FIG. 2 are carried out, the interrupt occurring instead of an event. If interrupts are sent to several processors, a check is also made in each processor receiving the interrupt to determine whether the group identifier transmitted in connection with the triggering of the interrupt matches its own group identifier.

Fig. 3 zeigt in einem Teil b Verfahrensschritte zum Prüfen der Gruppenzugehörigkeit an Hand eines Registerwortes 100 in einem Ereignismeldungen sendenden Prozessor P1a. Dieser Pro­ zessor ist zusammen mit weiteren Prozessoren P2a und P3a in einem Teil a der Fig. 3 dargestellt. Die Prozessoren P1a bis P3a sowie weitere, durch Punkte 102 angedeutete Prozessoren gleicher Bauart werden zum Simulieren der virtuellen Maschi­ nen 12 und 14 an Stelle der Prozessoren P1 bis P8 verwendet. Der Prozessor P1a enthält ein nicht dargestelltes Leitwerk und ein Rechenwerk. Zum Speichern des Datenwortes 100 enthält der Prozessor P1a ein Register, z. B. ein Arbeitsregister. Die Bitstellen des Registerwortes 100 sind jeweils einem Prozes­ sor zugeordnet. Eine Bitstelle 104 ist dem Prozessor P1a, d. h. demselben Prozessor zugeordnet. Eine rechts neben der Bitstelle 104 liegende Bitstelle 106 ist dem Prozessor P2a zugeordnet. Dem Prozessor P3a bzw. P4a ist eine Bitstelle 108 bzw. 109 zugeordnet. Durch den Wert des in der jeweiligen Bitstelle gespeicherten Bits wird die Gruppe gekennzeichnet, zu der der jeweilige Prozessor gehört. Der Wert EINS bezeich­ net die erste Gruppe und der Wert NULL bezeichnet die zweite Gruppe. Im Ausführungsbeispiel gehören die Prozessoren P1a, P3a und P4a zur ersten Gruppe. Der Prozessor P2a gehört dage­ gen zur zweiten Gruppe. Fig. 3 shows in a part b of the process steps for checking group membership with reference to a word register 100 sending messages in an event processor P1a. This processor is shown together with other processors P2a and P3a in part a of FIG. 3. The processors P1a to P3a and further processors of the same type, indicated by points 102, are used to simulate the virtual machines 12 and 14 in place of the processors P1 to P8. The processor P1a contains a tail unit (not shown) and an arithmetic unit. To store the data word 100 , the processor P1a contains a register, e.g. B. a working register. The bit positions of register word 100 are each assigned to a processor. A bit position 104 is assigned to processor P1a, ie the same processor. A bit position 106 to the right of bit position 104 is assigned to processor P2a. A bit position 108 or 109 is assigned to the processor P3a or P4a. The group to which the respective processor belongs is identified by the value of the bit stored in the respective bit position. The value ONE denotes the first group and the value NULL denotes the second group. In the exemplary embodiment, processors P1a, P3a and P4a belong to the first group. The processor P2a belongs to the second group.

Der Prozessor P1a enthält außerdem eine Sendeeinheit 110, welche beim Ausführen eines an den Prozessor P1a gerichteten prozessorübergreifenden Befehls 112 die im Teil b der Fig. 3 gezeigten Verfahrensschritte ausführt. Der prozessorübergrei­ fende Befehl führt im Prozessor P1a zu einer Änderung des Zu­ standes, z. B. muß ein Eintrag im Translation-Lookaside-Buffer verworfen werden. Durch das Busprotokoll wird das Ereignis, wie im folgenden erläutert, auch an andere Prozessoren der gleichen Gruppe weitergemeldet.The processor P1a also contains a transmission unit 110 which, when executing a cross-processor command 112 directed to the processor P1a, executes the method steps shown in part b of FIG. 3. The processor-spanning command leads to a change in the state in processor P1a, e.g. B. an entry in the translation lookaside buffer must be discarded. The event is also reported to other processors in the same group via the bus protocol, as explained below.

Das Verfahren beginnt in einem Schritt 120 mit dem Eintreffen des prozessorübergreifenden Befehls 112. In einem folgenden Schritt 122 wird für die erste Bitstelle 104 geprüft, ob der zugehörige Prozessor zur gleichen Gruppe wie der die Verfah­ rensschritte ausführende Prozessor gehört. Im Ausführungsbei­ spiel betrifft die erste Bitstelle 104 ebenfalls den Prozes­ sor P1a. Beim Ausführen von im Teil b der Fig. 3 nicht dar­ gestellten Verfahrensschritten ermittelt der Prozessor P1a an Hand einer zu einem früheren Zeitpunkt vorgegebenen Prozessornummer, daß er selbst der erste Prozessor ist. Aus diesem Grund wird im Verfahrensschritt 122 die Prüfung mit dem Pro­ zessor P2a, d. h. mit der Bitstelle 106 begonnen, siehe Pfeil 123. An Hand eines Vergleichs der Bitstellen 104 und 106 wird festgestellt, daß der Prozessor P1a und der Prozessor P2a zu verschiedenen Gruppen gehören. Demzufolge wird unmittelbar nach dem Verfahrensschritt 122 ein Verfahrensschritt 126 aus­ geführt. Ein weiter unten erläuterter Verfahrensschritt 124 wird dabei übersprungen. Im Verfahrensschritt 126 prüft die Sendeeinheit 110, ob die Prüfung für weitere Prozessoren durchzuführen ist. Ist dies der Fall, so wird das Verfahren im Verfahrensschritt 122 fortgesetzt. Das Verfahren befindet sich nun in einer Schleife aus den Verfahrensschritten 122 bis 126.The method begins in a step 120 with the arrival of the cross-processor instruction 112 . In a subsequent step 122 , it is checked for the first bit position 104 whether the associated processor belongs to the same group as the processor carrying out the method steps. In the exemplary embodiment, the first bit position 104 also relates to the processor P1a. When executing the method steps not shown in part b of FIG. 3, the processor P1a uses a processor number specified at an earlier point in time to determine that it is itself the first processor. For this reason, in step 122, the test is started with the processor P2a, ie with the bit position 106 , see arrow 123 . A comparison of the bit positions 104 and 106 shows that the processor P1a and the processor P2a belong to different groups. Accordingly, a method step 126 is carried out immediately after method step 122 . A method step 124 explained further below is skipped. In method step 126, the transmission unit 110 checks whether the check is to be carried out for further processors. If this is the case, the method is continued in method step 122 . The method is now in a loop from method steps 122 to 126 .

Bei der nächsten Ausführung des Verfahrensschritts 122 prüft der Prozessor P1a an Hand der Werte in den Bitstellen 104 und 108, ob der Prozessor P3a zur gleichen Gruppe gehört, siehe Pfeil 123. Da beide Bitstellen den Wert EINS haben, gehört der Prozessor P3a zur gleichen Gruppe. Unmittelbar nach dem Verfahrensschritt 122 wird deshalb ein Verfahrensschritt 124 ausgeführt.During the next execution of method step 122, processor P1a uses the values in bit positions 104 and 108 to check whether processor P3a belongs to the same group, see arrow 123 . Since both bit positions have the value ONE, the processor P3a belongs to the same group. A method step 124 is therefore carried out immediately after method step 122 .

Im Verfahrensschritt 124 wird an den Prozessor P3a ein Ereig­ nis signalisiert, das aufgrund des prozessorübergreifenden Befehls 112 im Prozessor P3a bearbeitet werden muß, siehe Pfeil 130. Nach dem Verfahrensschritt 124 folgt unmittelbar der Verfahrensschritt 126. Die Sendeeinheit 110 führt die Verfahrensschritte 122 bis 126 so lange aus, bis im Verfah­ rensschritt 126 festgestellt wird, daß die Prüfung für alle zu prüfenden Prozessoren abgeschlossen ist. Ist die Prüfung abgeschlossen, so wird das Verfahren in einem Verfahrens­ schritt 132 beendet.In step 124 , an event is signaled to the processor P3a, which must be processed in the processor P3a due to the cross-processor instruction 112 , see arrow 130 . Method step 126 follows immediately after method step 124 . The transmission unit 110 executes the process steps 122 to 126 until it is determined in the process step 126 that the test for all processors to be tested has been completed. If the test is complete, the method is ended in a method step 132 .

Die anderen Prozessoren P2a und P3a enthalten ebenfalls je­ weils ein Register zum Speichern eines Statusworts mit dem gleichen Bitmuster wie das Statuswort 100. Sendeeinheiten in den Prozessoren P2a, P3a führen dieselben Verfahrensschritte durch wie die Sendeeinheit 110. Eine Abweichung besteht nur darin, daß jeweils eine andere Bitstelle des Registerwortes als zum eigenen Prozessor gehörend erkannt wird. Die Verfah­ rensschritte werden entweder bei der Ausführung eines Mikro­ programms oder durch eine Schaltungsanordnung ausgeführt. Bei einem Ausführungsbeispiel enthält die Sendeeinheit eine Schaltungsanordnung, bei der zeitlich parallel die Prüf­ schritte für die einzelnen Prozessoren durchgeführt werden. Anschließend werden nacheinander an die Prozessoren der glei­ chen Gruppe die Ereignismeldungen über das Bussystem gesen­ det.The other processors P2a and P3a also each contain a register for storing a status word with the same bit pattern as the status word 100 . Transmitting units in processors P2a, P3a carry out the same method steps as transmitting unit 110 . The only difference is that a different bit position of the register word is recognized as belonging to the own processor. The procedural steps are carried out either when executing a micro program or through a circuit arrangement. In one embodiment, the transmission unit contains a circuit arrangement in which the test steps for the individual processors are carried out in parallel at the same time. The event messages are then sent successively to the processors of the same group via the bus system.

Bei einem anderen Ausführungsbeispiel wird das an Hand der Fig. 3 erläuterte Verfahren auch beim Versenden von Inter­ rupt-Anforderungen eingesetzt. Das bedeutet, daß durch einen Befehl ein bestimmter Interrupt an alle anderen Prozessoren gesendet werden kann. Tatsächlich werden jedoch dann aber nur Interrupt-Anforderungen an die Prozessoren der gleichen Grup­ pe gesendet.In another exemplary embodiment, the method explained with reference to FIG. 3 is also used when sending interrupt requests. This means that a specific interrupt can be sent to all other processors with one command. In fact, however, only interrupt requests are then sent to the processors of the same group.

Bei einer modifizierten Form wird bei einem Befehl zum Senden einer Interrupt-Anforderung an einen einzelnen Prozessor an Hand des Registerwortes 100 geprüft, ob dieser Prozessor zur gleichen Gruppe gehört. Gehört der Prozessor zur gleichen Gruppe, so wird der Befehl ausgeführt. Gehört der Prozessor zu einer anderen Gruppe, so wird keine Interrupt-Anforderung gesendet.In a modified form, a command to send an interrupt request to a single processor is checked using register word 100 to determine whether that processor belongs to the same group. If the processor belongs to the same group, the command is executed. If the processor belongs to another group, no interrupt request is sent.

Fig. 4 zeigt in einem Teil b Verfahrensschritte zur Prüfung der Gruppenzugehörigkeit eines eine Ereignismeldung 150 emp­ fangenden Prozessors P1b an Hand eines Registerwortes 152. Der Prozessor P1b ist in einem Teil a der Fig. 4 dargestellt und enthält neben einem Leitwerk und einem Steuerwerk ein Re­ gister zum Speichern des Registerworts 152 sowie eine Emp­ fangseinheit 154. Fig. 4 shows in a part of process steps b to check the group membership of a an event message 150 emp scavenging processor P1b with reference to a register definition 152nd The processor P1b is shown in part a of FIG. 4 and contains, in addition to a tail unit and a control unit, a register for storing the register word 152 and a receiving unit 154 .

Der Prozessor P1b wird zusammen mit anderen Prozessoren, von denen im Teil a der Fig. 4 zwei Prozessoren P2b und P3b dar­ gestellt sind, an Stelle der Prozessoren P1 bis P8 in der in Fig. 1 dargestellten Datenverarbeitungsanlage 10 verwendet. Die Prozessoren P1b bis P3b haben den gleichen Aufbau.The processor P1b is used together with other processors, of which two processors P2b and P3b are shown in part a of FIG. 4, in place of the processors P1 to P8 in the data processing system 10 shown in FIG. 1. The processors P1b to P3b have the same structure.

Es sei angenommen, daß an den Prozessor P2b durch das Be­ triebssystem BS2 ein prozessorübergreifender Befehl 156 ge­ richtet wird, in dessen Folge sich innere Zustände im Prozes­ sor P2b verändern. Außerdem müssen innere Zustände in Prozes­ soren der gleichen Gruppe wie der Prozessor P2b geändert wer­ den. Es sei weiterhin wieder angenommen, daß der Prozessor P1b und der Prozessor P3b sowie ein Prozessor P4b zur ersten Gruppe gehören. Demzufolge haben Bits in Bitstellen 160, 164 und 166 des Registerwortes 152 den Wert EINS. Der Prozessor P2b gehört dagegen zur zweiten Gruppe. In einer Bitstelle 162 des Registerwortes 152 hat deshalb das dort gespeicherte Bit den Wert NULL.It is assumed that a cross-processor instruction 156 is directed to the processor P2b by the operating system BS2, as a result of which internal states in the processor P2b change. In addition, internal states must be changed in processors in the same group as the processor P2b. It is again assumed that the processor P1b and the processor P3b and a processor P4b belong to the first group. Accordingly, bits in bit positions 160 , 164 and 166 of register word 152 have the value ONE. The processor P2b, however, belongs to the second group. In a bit position 162 of the register word 152 , the bit stored there therefore has the value NULL.

Die Prozessoren P1b bis P8b senden beim Empfang eines prozes­ sorübergreifenden Befehls generell an alle anderen Prozesso­ ren Ereignisnachrichten, in denen ihre eigene Prozessornummer angegeben ist. Die Prozessoren haben die Prozessornummern von "1" bis "8". Somit enthält die Ereignisnachricht 150 auch die Prozessornummer "2" des Prozessors P2b. Eine an den Prozessor P3b aufgrund des prozessorübergreifenden Befehls 156 gesen­ dete Ereignisnachricht 168 enthält ebenfalls die Prozessor­ nummer "2" des Prozessors P2b.The processors P1b to P8b generally send event messages to all other processors in which their own processor number is specified when they receive a cross-processor command. The processors have the processor numbers from "1" to "8". Event message 150 thus also contains processor number "2" of processor P2b. An event message 168 sent to the processor P3b due to the cross-processor instruction 156 also contains the processor number "2" of the processor P2b.

Die beim Empfang einer Ereignismeldung durch die Empfangsein­ heit 154 ausgeführten Verfahrensschritte werden im folgenden an Hand der im Teil b der Fig. 4 dargestellten Verfahrens­ schritte erläutert. Das Verfahren beginnt in einem Verfah­ rensschritt 170 mit dem Eintreffen einer Ereignismeldung, z. B. der Ereignismeldung 150. The method steps carried out on receipt of an event message by the receiving unit 154 are explained below using the method steps shown in part b of FIG. 4. The method begins in a procedural step 170 with the arrival of an event message, e.g. B. the event message 150 .

In einem folgenden Verfahrensschritt 172 prüft die Empfangs­ einheit 154 an Hand der in der eintreffenden Ereignismeldung 150 enthaltenen Prozessornummer des die Ereignismeldung sen­ denden Prozessors, z. B. des Prozessors P2b, ob dieser Prozes­ sor zur gleichen Gruppe wie der Prozessor gehört, in dem die Empfangseinheit 154 enthalten ist. Dabei wird das Register­ wort 152 gelesen, siehe Pfeil 173. Für die Prozessornummer des Prozessors P2b wird die zugehörige Bitstelle 162 ausge­ wertet. Im Ausführungsbeispiel hat diese Bitstelle den Wert NULL. Die Empfangseinheit 154 ist außerdem in der Lage zu be­ stimmen, daß sie selbst im Prozessor P1b, d. h. in dem Prozes­ sor, der zur Bitstelle 160 gehört, enthalten ist. Die Bitstelle 160 enthält den Wert EINS. Aufgrund der unter­ schiedlichen Werte in den Bitstellen 160 und 162 wird im Ver­ fahrensschritt 172 entschieden, daß beide Prozessoren zu ver­ schiedenen Gruppen gehören. Demzufolge wird unmittelbar nach dem Verfahrensschritt 172 ein Verfahrensschritt 174 ausge­ führt. Im Verfahrensschritt 174 werden keine Schritte zur Be­ arbeitung des eingetroffenen Ereignisses ausgeführt und das Verfahren zur Bearbeitung des eintreffenden Ereignisses ist beendet.In a subsequent method step 172, the receiving unit 154 checks on the basis of the processor number contained in the incoming event message 150 of the processor sending the event message, e.g. B. the processor P2b, whether this processor belongs to the same group as the processor in which the receiving unit 154 is contained. The register word 152 is read, see arrow 173 . The associated bit position 162 is evaluated for the processor number of the processor P2b. In the exemplary embodiment, this bit position has the value NULL. The receiving unit 154 is also able to determine that it is itself contained in the processor P1b, ie in the processor belonging to the bit position 160 . Bit position 160 contains the value ONE. Based on the different values in bit positions 160 and 162 , it is decided in method step 172 that both processors belong to different groups. Accordingly, a method step 174 is carried out immediately after method step 172 . In method step 174 , no steps for processing the incoming event are carried out and the method for processing the incoming event is ended.

Trifft dagegen eine Ereignismeldung ein, in der die Prozes­ sornummer des Prozessors P3b angegeben ist, so stellt die Empfangseinheit 154 im Verfahrensschritt 172 unter Verwendung des Registerwortes 152 fest, daß der Prozessor P1b und der Prozessor P3b zur gleichen Gruppe gehören. Aus diesem Grund wird unmittelbar nach dem Verfahrensschritt 172 ein Verfah­ rensschritt 176 ausgeführt.If, on the other hand, an event message arrives in which the processor number of the processor P3b is specified, the receiving unit 154 determines in step 172 using the register word 152 that the processor P1b and the processor P3b belong to the same group. For this reason, a method step 176 is carried out immediately after method step 172 .

Im Verfahrensschritt 176 werden aufgrund der Ereignismeldung erforderliche Zustandsänderungen im Prozessor P1b ausgeführt. Beispielsweise wird ein Eintrag im Translation-Lookaside-Buf­ fer verworfen oder es werden Veränderungen in einem schnellen Zwischenspeicher (Cache) ausgeführt. In method step 176 , state changes required based on the event message are carried out in processor P1b. For example, an entry in the translation lookaside buffer is discarded or changes are made in a fast cache.

Die anderen Prozessoren P2b bis P8b enthalten ebenfalls ein Register zum Speichern eines Registerwortes mit dem gleichen Bitmuster wie das Registerwort 152. Außerdem enthalten diese Prozessoren auch Empfangseinheiten, die wie die Empfangsein­ heit 154 arbeiten. Unterschiedlich ist jedoch, wie bereits erwähnt, die den Prozessoren zugeordnete Prozessornummer.The other processors P2b to P8b also contain a register for storing a register word with the same bit pattern as the register word 152 . In addition, these processors also include receiving units that operate like the receiving unit 154 . However, as already mentioned, the processor number assigned to the processors differs.

Die Empfangseinheit 154 führt die an Hand des Teils b der Fig. 4 erläuterten Verfahrensschritte entweder bei der Ausfüh­ rung eines Mikroprogramms durch. Alternativ werden die Ver­ fahrensschritte beim Ändern von Schaltzuständen in einer Schaltung ausgeführt.The receiving unit 154 carries out the method steps explained using part b of FIG. 4 either when executing a microprogram. Alternatively, the method steps are carried out when changing switching states in a circuit.

Die an Hand der Fig. 4 erläuterten Funktionen werden bei ei­ nem anderen Ausführungsbeispiel bezüglich von Interrupt-An­ forderungen ausgeführt. Dabei werden entweder an alle Prozes­ soren Interrupt-Meldungen zusammen mit der Prozessornummer des sendenden Prozessors gesendet oder es wird gezielt ein Interrupt an einen ausgewählten Prozessor zusammen mit der Prozessornummer gesendet.The functions explained with reference to FIG. 4 are carried out in the case of another exemplary embodiment with regard to interrupt requests. Interrupt messages are either sent to all processors together with the processor number of the sending processor or an interrupt is specifically sent to a selected processor together with the processor number.

Fig. 5 zeigt ein Verfahren zum Ausführen von privilegierten Befehlen mit änderbaren Privilegierungsstufen. Die in Fig. 5 gezeigten Verfahrensschritte werden durch einen Prozessor P1c ausgeführt, der an Stelle des Prozessors P1 in der Datenver­ arbeitungsanlage 10, siehe Fig. 1, verwendet wird. Für die Prozessoren P2 bis P8 werden Prozessoren mit dem gleichen Aufbau wie der die in Fig. 5 dargestellten Verfahrens­ schritte ausführende Prozessor P1c verwendet. Fig. 5 shows a method for executing privileged instructions with modifiable privilege levels. The method steps shown in FIG. 5 are carried out by a processor P1c, which is used instead of the processor P1 in the data processing system 10 , see FIG. 1. For processors P2 to P8, processors with the same structure as the processor P1c executing the method steps shown in FIG. 5 are used.

Das Verfahren beginnt in einem Verfahrensschritt 200. In ei­ nem folgenden Verfahrensschritt 202 wird durch das Leitwerk des Prozessors der nächste Befehl über das Bussystem gelesen.The method begins in a method step 200 . In a subsequent method step 202 , the processor's tail unit reads the next command via the bus system.

In einem Verfahrensschritt 204 wird geprüft, ob es sich bei dem auszuführenden Befehl um einen im Befehlssatz als privi­ legierten Befehl bezeichneten Befehl handelt. Ist dies der Fall, so wird in einem unmittelbar folgenden Verfahrens­ schritt 206 geprüft, ob für den auszuführenden Befehl gene­ rell eine Unterbrechung ausgelöst werden muß. Dabei wird ein Datenwort 208 verwendet, das in einem Register des Prozessors gespeichert ist. Das Datenwort 208 enthält Bitstellen 210, 212, 214, 216 und 218, die in dieser Reihenfolge einem ersten privilegierten Befehl, einem zweiten privilegierten Befehl, einem dritten privilegierten Befehl, einem vierten privile­ gierten Befehl sowie den verbleibenden privilegierten Befeh­ len zugeordnet sind. Ein Bitwert EINS in einer der Bitstellen 210 bis 218 bedeutet, daß der bzw. die zugehörigen privile­ gierten Befehle unabhängig von der bei der Ausführung des Be­ fehls geltenden Privilegierungsstufe eine Unterbrechung aus­ lösen sollen. Es sei angenommen, daß dem zu prüfenden Befehl die Bitstelle 210 zugeordnet ist. In diesem Fall wird im Ver­ fahrensschritt 206 erkannt, daß ein Interrupt auszulösen ist. Demzufolge folgt unmittelbar nach dem Verfahrensschritt 206 ein Verfahrensschritt 220, in dem die Unterbrechungsbehand­ lung durch das Hypervisor-Programm 22 vorbereitet wird. Ein Pfeil 222 deutet die Bearbeitung der Unterbrechung durch das Hypervisor-Programm 22 an.In a method step 204 , a check is carried out to determine whether the command to be executed is a command designated as a privileged command in the command set. If this is the case, step 206 is checked in an immediately following method as to whether an interruption must generally be triggered for the command to be executed. A data word 208 is used, which is stored in a register of the processor. The data word 208 contains bit positions 210 , 212 , 214 , 216 and 218 , which are assigned in this order to a first privileged command, a second privileged command, a third privileged command, a fourth privileged command and the remaining privileged commands. A bit value ONE in one of the bit positions 210 to 218 means that the associated privileged command or commands should trigger an interruption irrespective of the privilege level applicable when the command is executed. It is assumed that bit position 210 is assigned to the command to be checked. In this case, it is recognized in process step 206 that an interrupt is to be triggered. Accordingly, a method step 220 follows immediately after method step 206 , in which the interrupt treatment is prepared by the hypervisor program 22 . An arrow 222 indicates the processing of the interruption by the hypervisor program 22 .

Wird dagegen im Verfahrensschritt 206 festgestellt, daß laut Datenwort 210 für den zu prüfenden Befehl kein Interrupt aus­ zulösen ist, so folgt unmittelbar nach dem Verfahrensschritt 206 ein Verfahrensschritt 224. Im Verfahrensschritt 224 wird geprüft, ob die momentan geltende Privilegierungsstufe eine höhere oder zumindest die gleiche Privilegierung wie die im Befehlssatz für den zu prüfenden Befehl festgelegte Privile­ gierungsstufe. Ist die momentane Privilegierung kleiner als die für den Befehl festgelegte Privilegierung, so folgt un­ mittelbar nach dem Verfahrensschritt 224 der Verfahrens­ schritt 220. Somit würde aufgrund eines Privilegierungsver­ stoßes eine Unterbrechung ausgelöst werden.If, on the other hand, it is determined in method step 206 that according to data word 210 no interrupt can be triggered for the command to be checked, method step 224 follows immediately after method step 206 . In method step 224 , it is checked whether the currently applicable privilege level has a higher or at least the same privilege as the privilege level specified in the instruction set for the instruction to be checked. If the current privilege is less than the privilege defined for the command, method step 220 follows immediately after method step 224 . Thus, an interruption would be triggered due to a privilege violation.

Wird dagegen im Verfahrensschritt 224 festgestellt, daß die aktuelle Privilegierungsstufe eine höhere Privilegierung oder die gleiche Privilegierung hat, wie für den zu prüfenden Be­ fehl im Befehlssatz festgelegt, so folgt unmittelbar nach dem Verfahrensschritt 224 ein Verfahrensschritt 226.If, on the other hand, it is determined in method step 224 that the current privilege level has a higher privilege or the same privilege as specified for the command to be checked in the instruction set, method step 226 follows immediately after method step 224 .

Im Verfahrensschritt 226 wird der auszuführende Befehl durch das Leitwerk des Prozessors ausgeführt. Anschließend wird das Verfahren im Verfahrensschritt 222 fortgesetzt. Somit befin­ det sich das Verfahren in einer Schleife.In method step 226 , the command to be executed is executed by the tail unit of the processor. The method is then continued in method step 222 . The process is thus in a loop.

Die Bitstellen 210 bis 218 des Datenworts 208 können durch Lesezugriffe auf das zum Speichern des Datenwortes 210 ver­ wendete Register während des Betriebs des Prozessors P1c ge­ ändert werden.Bit positions 210 to 218 of data word 208 can be changed by read accesses to the register used for storing data word 210 during the operation of processor P1c.

Bei einem anderen Ausführungsbeispiel wird ein Prozessor ver­ wendet, der die an Hand der Fig. 5 erläuterte Funktion sowie zusätzlich eine der an Hand der Fig. 2 bis 4 erläuterten Funktionen hat.In another exemplary embodiment, a processor is used which has the function explained with reference to FIG. 5 and additionally one of the functions explained with reference to FIGS. 2 to 4.

Die in Fig. 5 gezeigten Verfahrensschritte werden entweder bei der Ausführung eines im Prozessor P1c enthaltenen Mikro­ programms oder durch eine im Prozessor P1c enthaltene Schal­ tungsanordnung ausgeführt.The method steps shown in Fig. 5 are either executed when executing a micro program contained in the processor P1c or by a circuit arrangement contained in the processor P1c.

Claims (26)

1. Verfahren zum Austausch von Meldungen (62) in einem Mehr­ prozessor-System (10),
bei dem in einer Datenverarbeitungsanlage (10) mindestens zwei Prozessoren (P1, P2) Befehle verschiedener Programme (BS1, BS2) ausführen,
zwischen den Prozessoren (P1, P2) Meldungen (62) zur Abstim­ mung der Arbeitsweise ausgetauscht werden,
die Prozessoren (P1, P2) verschiedenen Gruppen zugeordnet werden,
dadurch gekennzeichnet,
daß beim Austauschen der Meldungen (62) geprüft wird, ob der die Meldung (62) empfangende Prozessor (P2) zu derselben Gruppe gehört wie der die Meldung sendende Prozessor (P1).
1. A method for exchanging messages ( 62 ) in a multiprocessor system ( 10 ),
in which at least two processors (P1, P2) execute commands from different programs (BS1, BS2) in a data processing system ( 10 ),
messages ( 62 ) are exchanged between the processors (P1, P2) to coordinate the mode of operation,
the processors (P1, P2) are assigned to different groups,
characterized by
that when the messages ( 62 ) are exchanged, it is checked whether the processor (P2) receiving the message ( 62 ) belongs to the same group as the processor (P1) sending the message.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß eine Meldung (62) ein Ereignis betrifft, dessen Bearbeitung in dem die Meldung empfangenden Prozessor (P2) eine Zustandsänderung in­ nerhalb des Prozessors (P2) ohne Unterbrechung der Be­ fehlsausführung bewirkt.2. The method according to claim 1, characterized in that a message ( 62 ) relates to an event, the processing of which in the processor receiving the message (P2) causes a change in state within the processor (P2) without interrupting the execution of the command. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Meldung eine Unterbrechungsanforderung enthält, deren Bearbeitung in dem die Meldung empfangenden Prozessor (P2) eine Unterbre­ chung der Befehlsausführung erfordert.3. The method according to claim 1 or 2, characterized in that the message contains an interrupt request, the processing of which in an interruption to the processor (P2) receiving the message command execution. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Prüfung durch einen Prozessor (P1, P2) durchgeführt wird. 4. The method according to any one of the preceding claims, characterized in that the exam is carried out by a processor (P1, P2).   5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Prüfung in dem die Meldung sendenden Prozessor (P1) durchgeführt wird.5. The method according to any one of the preceding claims, characterized in that the exam in the processor (P1) sending the message becomes. 6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ermittelt wird, welcher Prozessor (P3a) bzw. welche Prozessoren zu der Gruppe des sendenden Prozessors (P1a) gehören, und daß die Meldung (130) nur an die ermittelten Prozessoren (P3a) gesendet wird.6. The method according to any one of the preceding claims, characterized in that it is determined which processor (P3a) or which processors belong to the group of the sending processor (P1a), and that the message ( 130 ) only to the determined processors (P3a ) is sent. 7. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die Prüfung in dem die Meldung (62) empfangenden Prozessor (P2) durchge­ führt wird.7. The method according to claim 4, characterized in that the test is carried out in the processor (P2) receiving the message ( 62 ). 8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Meldung (62; 150, 168) an einen Prozessor (P1b) bzw. an mehrere Pro­ zessoren (P1b, P3b) unabhängig von der Gruppenzugehörigkeit gesendet wird, und daß in dem eine Meldung (150, 168) empfangenden Prozessor (P1b, P3b) ermittelt wird, ob der sendende Prozessor (P2b) zur gleichen Gruppe gehört.8. The method according to claim 7, characterized in that the message ( 62 ; 150 , 168 ) to a processor (P1b) or to several processors (P1b, P3b) is sent regardless of the group membership, and in that a message ( 150 , 168 ) receiving processor (P1b, P3b) it is determined whether the sending processor (P2b) belongs to the same group. 9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Meldung (62) ein Gruppenkennzeichen (GK) enthält, das eine der Grup­ pen bezeichnet,
daß die Prozessoren Gruppenkennzeichen (GK1, GK2) enthalten,
und daß ein empfangender Prozessor (P2) das eigene Gruppen­ kennzeichen (GK2) und das in der jeweiligen Meldung enthaltene Gruppenkennzeichen (GK) zur Prüfung verwendet (Schritt 64).
9. The method according to any one of the preceding claims, characterized in that the message ( 62 ) contains a group identifier (GK) which designates one of the groups,
that the processors contain group identifiers (GK1, GK2),
and that a receiving processor (P2) uses its own group identifier (GK2) and the group identifier (GK) contained in the respective message for checking (step 64 ).
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zur Gruppen­ selektion jeweils ein im jeweiligen Prozessor gespeichertes Datenwort (100, 152) mit mindestens einem Bit für jeden ande­ ren Prozessor verwendet wird, und daß an Hand der Bitwerte die Zugehörigkeit zur selben Gruppe ermittelt wird.10. The method according to any one of the preceding claims, characterized in that a data word ( 100 , 152 ) stored in the respective processor with at least one bit for each other processor is used for group selection, and that the bit values are used to relate to the same Group is determined. 11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß das Gruppen­ kennzeichen (GK) bzw. das Datenwort (100, 152) mit Hilfe ei­ nes einfachen Ladebefehls geändert werden kann.11. The method according to claim 9 or 10, characterized in that the group identifier (GK) or the data word ( 100 , 152 ) can be changed with the aid of a simple load command. 12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß es zur Aus­ führung eines Programms (22) verwendet wird, mit dessen Hilfe ein virtueller Prozessor simuliert wird, der von anderen auf derselben Datenverarbeitungsanlage simulierten virtuellen Prozessoren abgeschottet ist.12. The method according to any one of the preceding claims, characterized in that it is used for executing a program ( 22 ) with the aid of which a virtual processor is simulated, which is isolated from other virtual processors simulated on the same data processing system. 13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß das Programm (22) als Schnittstelle zwischen dem Prozessor und einem Be­ triebssystem (BS1, BS2) arbeitet.13. The method according to claim 12, characterized in that the program ( 22 ) works as an interface between the processor and a loading operating system (BS1, BS2). 14. Prozessor (P1a) zum Austausch von Meldungen in einem Mehrprozessor-System (10),
gekennzeichnet durch ein Register zur Auf­ nahme eines Datenwortes, das für andere Prozessoren (P1b) oder für einen anderen Prozessor des gleichen Systems (10) jeweils mindestens ein Bit enthält, und
durch eine Sendeeinheit (110), die beim Senden von Meldungen (130) zur Abstimmung der Arbeitsweise der Prozessoren (P1a, P2a) an Hand der Bitwerte das Datenwortes (100) die Zugehö­ rigkeit zur selben Gruppe ermittelt, und die die Meldung nur an die ermittelten Prozessoren (P3a) sendet.
14. processor (P1a) for exchanging messages in a multiprocessor system ( 10 ),
characterized by a register for recording a data word which contains at least one bit for other processors (P1b) or for another processor of the same system ( 10 ), and
by a transmission unit ( 110 ) which, when sending messages ( 130 ) to coordinate the functioning of the processors (P1a, P2a) on the basis of the bit values, determines the data word ( 100 ) to belong to the same group, and which only sends the message to determined processors (P3a) sends.
15. Prozessor (P1b) zum Austausch von Meldungen in einem Mehrprozessor-System (10)
gekennzeichnet durch ein Register zur Auf­ nahme eines Datenwortes (52), das für andere Prozessoren (P2b) oder für einen anderen Prozessor (P2b) des gleichen Sy­ stems (10) jeweils mindestens ein Bit enthält,
und durch eine Empfangseinheit (154), die beim Empfang von Meldungen (150) zur Abstimmung der Arbeitsweise der Prozesso­ ren (P1b, P2b) an Hand der Bitwerte das Datenwortes (152) die Zugehörigkeit eines die Meldung (150) sendenden Prozessors (P2b) zur selben Gruppe ermittelt.
15. Processor (P1b) for exchanging messages in a multiprocessor system ( 10 )
characterized by a register for recording a data word ( 52 ) which contains at least one bit for other processors (P2b) or for another processor (P2b) of the same system ( 10 ),
and by a receiving unit ( 154 ) which, when receiving messages ( 150 ) to coordinate the functioning of the processors (P1b, P2b) on the basis of the bit values, the data word ( 152 ) the affiliation of a processor (P2b) sending the message ( 150 ) determined for the same group.
16. Prozessor (P1) zum Austausch von Meldungen in einem Mehr­ prozessor-System (10),
gekennzeichnet durch ein Register zur Auf­ nahme eines Datenwortes mit einem Gruppenkennzeichen (GK1) zur Kennzeichnung der Zugehörigkeit des Prozessors (P1) zu einer der Gruppen, denen Prozessoren des Mehrprozessor- Systems (10) jeweils zugeordnet sind,
und durch eine Sendeeinheit, die das Gruppenkennzeichen an andere Prozessoren (P2) des Systems (10) zusammen mit Meldun­ gen zur Abstimmung der Arbeitsweise der Prozessoren sendet.
16. Processor (P1) for exchanging messages in a multiprocessor system ( 10 ),
characterized by a register for recording a data word with a group identifier (GK1) for identifying the membership of the processor (P1) to one of the groups to which processors of the multiprocessor system ( 10 ) are assigned,
and by a transmission unit which sends the group identifier to other processors (P2) of the system ( 10 ) together with messages for coordinating the functioning of the processors.
17. Prozessor (P2) zum Austausch von Meldungen in einem Mehr­ prozessor-System (10),
gekennzeichnet durch ein Register zur Auf­ nahme eines Datenwortes mit einem Gruppenkennzeichen (GK) zur Kennzeichnung der Zugehörigkeit der Prozessoren des Systems (10) zu verschiedenen Gruppen,
und durch eine Empfangseinheit, die beim Empfang von Meldun­ gen zur Abstimmung der Arbeitsweise der Prozessoren (P1, P2) an Hand eines Vergleichs des Datenwortes mit einem zusammen mit der jeweiligen Meldung übermittelten Datenwort ermittelt, ob die Meldung von einem Prozessor derselben Gruppe gesendet worden ist.
17. processor (P2) for exchanging messages in a multiprocessor system ( 10 ),
characterized by a register for recording a data word with a group identifier (GK) for identifying the belonging of the processors of the system ( 10 ) to different groups,
and by a receiving unit which, when receiving messages to coordinate the functioning of the processors (P1, P2), on the basis of a comparison of the data word with a data word transmitted together with the respective message, determines whether the message has been sent by a processor of the same group .
18. Prozessor (P1, P2) nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß Sendeeinheit und Empfangseinheit auf dasselbe Register zugreifen.18. Processor (P1, P2) according to claim 16 or 17, characterized in that transmission unit and the receiving unit access the same register. 19. Prozessor (P1c) für die Bearbeitung von Befehlen ver­ schiedener Privilegierungsstufen,
mit einem Befehlssatz, der privilegierte Befehle enthält, für die jeweils eine von mindestens zwei Privilegierungsstufen vorgegeben wird,
und mit einer Steuereinheit, die einem privilegierten Befehl bei mindestens einer für diesen Befehl vorgegebenen Privile­ gierungsstufe abhängig von einer zur Ausführungszeit des Be­ fehls geltenden Ist-Privilegierungsstufe ausführt oder eine Unterbrechung erzeugt (Schritt 224),
dadurch gekennzeichnet, daß die Privile­ gierungsstufe mindestens eines privilegierten Befehls während des Betriebs des Prozessors vorgebbar ist.
19. processor (P1c) for processing commands of various privilege levels,
with an instruction set which contains privileged instructions, for which one of at least two privilege levels is specified,
and with a control unit that executes a privileged command at at least one privilege level specified for this command depending on an actual privilege level valid at the time the command is executed or generates an interruption (step 224 ),
characterized in that the privilege level of at least one privileged instruction can be predetermined during the operation of the processor.
20. Prozessor (P1c) nach Anspruch 19, gekennzeichnet durch eine Auswahleinheit zur Speicherung eines Datenwortes (208), dessen Wert zur Vor­ gabe der Privilegierungsstufe änderbar ist. 20. Processor (P1c) according to claim 19, characterized by a selection unit for storing a data word ( 208 ), the value of which can be changed to give the privilege level. 21. Prozessor (P1c) nach Anspruch 19 oder 20, gekennzeichnet durch eine Zugriffseinheit, die den Zugriff auf ein Register zur Speicherung des Daten­ wortes (208) abhängig von der Privilegierungsstufe durch­ führt.21. Processor (P1c) according to claim 19 or 20, characterized by an access unit which performs access to a register for storing the data word ( 208 ) depending on the privilege level. 22. Prozessor (P1c) nach einem der Ansprüche 19 bis 21, dadurch gekennzeichnet, daß mit Hilfe der Auswahleinheit Privilegierungsstufen für mindestens eine Klasse von privilegierten Befehlen auswählbar sind.22. Processor (P1c) according to one of claims 19 to 21, characterized in that with the help the selection unit privilege levels for at least one Class of privileged commands can be selected. 23. Prozessor (P1c) nach einem der Ansprüche 19 bis 22, dadurch gekennzeichnet, daß die Steuer­ einheit in einer Privilegierungsstufe mindestens eines privi­ legierten Befehls diesen Befehl unabhängig von der zur Aus­ führungszeit des Befehls geltenden Ist-Privilegierungsstufe ausführt (Schritte 206, 220).23. Processor (P1c) according to one of claims 19 to 22, characterized in that the control unit executes this command in a privilege level of at least one privileged command independently of the actual privilege level applicable at the time the command is executed (steps 206 , 220 ) . 24. Prozessor (P1c) nach einem der Ansprüche 19 bis 23, dadurch gekennzeichnet, daß die Steuer­ einheit in einer Privilegierungsstufe mindestens eines privi­ legierten Befehls bei diesem Befehl unabhängig von der zur Ausführungszeit des Befehls geltenden Ist- Privilegierungsstufe eine Unterbrechung erzeugt.24. Processor (P1c) according to one of claims 19 to 23, characterized in that the tax unit in a privilege level of at least one privi alloyed command for this command regardless of the Execution time of the command applicable actual Privilege level generates an interruption. 25. Prozessor (P1c) nach einem der Ansprüche 19 bis 24, dadurch gekennzeichnet, daß er zur Aus­ führung eines Programms (22) verwendet wird, bei dessen Aus­ führung ein virtueller Prozessor (12) simuliert wird, der von anderen auf derselben Datenverarbeitungsanlage (10) simulier­ ten virtuellen Prozessoren (14) vollständig abgeschottet ist.25. Processor (P1c) according to one of claims 19 to 24, characterized in that it is used for executing a program ( 22 ), in the execution of which a virtual processor ( 12 ) is simulated by others on the same data processing system ( 10 ) simulated virtual processors ( 14 ) is completely sealed off. 26. Prozessor (P1c) nach Anspruch 25, dadurch gekennzeichnet, daß das Programm (22) als Schnittstelle zwischen dem Prozessor (P1c) und einem Betriebssystem (BS1, BS2) arbeitet.26. Processor (P1c) according to claim 25, characterized in that the program ( 22 ) works as an interface between the processor (P1c) and an operating system (BS1, BS2).
DE2000108010 2000-02-22 2000-02-22 Procedure for exchange of messages in a multi-processor system, requires initial verification that message of receiving processor belongs to same group as message of sending processor Ceased DE10008010A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000108010 DE10008010A1 (en) 2000-02-22 2000-02-22 Procedure for exchange of messages in a multi-processor system, requires initial verification that message of receiving processor belongs to same group as message of sending processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000108010 DE10008010A1 (en) 2000-02-22 2000-02-22 Procedure for exchange of messages in a multi-processor system, requires initial verification that message of receiving processor belongs to same group as message of sending processor

Publications (1)

Publication Number Publication Date
DE10008010A1 true DE10008010A1 (en) 2001-08-30

Family

ID=7631812

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000108010 Ceased DE10008010A1 (en) 2000-02-22 2000-02-22 Procedure for exchange of messages in a multi-processor system, requires initial verification that message of receiving processor belongs to same group as message of sending processor

Country Status (1)

Country Link
DE (1) DE10008010A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307495A (en) * 1987-10-23 1994-04-26 Hitachi, Ltd. Multiprocessor system statically dividing processors into groups allowing processor of selected group to send task requests only to processors of selected group
US5925115A (en) * 1997-03-10 1999-07-20 Vlsi Technology, Inc. Method and system for extending interrupt sources and implementing hardware based and software based prioritization of interrupts for an embedded processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307495A (en) * 1987-10-23 1994-04-26 Hitachi, Ltd. Multiprocessor system statically dividing processors into groups allowing processor of selected group to send task requests only to processors of selected group
US5925115A (en) * 1997-03-10 1999-07-20 Vlsi Technology, Inc. Method and system for extending interrupt sources and implementing hardware based and software based prioritization of interrupts for an embedded processor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FLIK, Thomas, LIEBIG, Hans: Mikroprozessortechnik,3. Aufl., Springer Verlag 1990, S. 70-79 *

Similar Documents

Publication Publication Date Title
DE2303596C2 (en) Data processing arrangement
DE3685863T2 (en) COMPUTER SYSTEM FOR CONTROLLING VIRTUAL MACHINES.
DE3785897T2 (en) CONTROL DEVICE FOR PRELIMINARY COMMANDS.
EP0645704B1 (en) Tracer system for fault analysis in running real-time systems
DE60210633T2 (en) METHOD AND DEVICES FOR IMPROVING THE THROUGHPUT OF EMBEDDED CACHE-BASED PROCESSORS BY SWITCHING TASKS AS A RESPONSE TO CACHE MISCONDUCT
DE69216020T2 (en) IMPROVED TROUBLESHOOTING SYSTEM AND METHOD, PARTICULARLY FOR TROUBLESHOOTING IN A MULTI-ARCHITECTURE ENVIRONMENT
DE2722099C2 (en)
DE19527031C2 (en) Branch processor for a data processing system and method for operating a data processing system
DE69908682T2 (en) Processor with real-time flow control for debugging without debugging monitor
DE2328058C2 (en) Fault diagnosis device in a digital data processing arrangement
DE2243956A1 (en) MEMORY-PROGRAMMED DATA PROCESSING SYSTEM
CH654943A5 (en) TESTING DEVICE FOR MICRO PROGRAMS.
DE4208924A1 (en) Communication between processors in parallel processing computers - is achieved by transmission between computers involving real and virtual memory sectors
DE4011745A1 (en) Task performance recorder for multi-tasking operating system protocol - includes stores for interrupt information of sizes of task selection interrupts and information on system calls
DE2902465A1 (en) DATA PROCESSING ARRANGEMENT
DE2847216A1 (en) DATA PROCESSING SYSTEM WITH MULTIPROGRAM OPERATION
DE2721623C2 (en)
EP2466466A1 (en) Method for detecting errors when executing a real-time operating system
DE112012004551T5 (en) Multicore link in a network processor
DE68924992T2 (en) Symmetrical control arrangement for multi-processing.
EP1565825A2 (en) Device and method for analysing embedded systems
DE19955776C1 (en) Multitasking processor system
EP0048991B1 (en) Method and device for the treatment of interruption conditions during the operating sequence in microprogramme-controlled data-processing systems
DE3750311T2 (en) Device and method for transfer between processors.
EP0721620B1 (en) Tracer system for analysing errors of running real time systems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection