DE2607685A1 - Verfahren zur herstellung der funktionellen symmetrie von prozessoren eines multiprozessorsystems - Google Patents

Verfahren zur herstellung der funktionellen symmetrie von prozessoren eines multiprozessorsystems

Info

Publication number
DE2607685A1
DE2607685A1 DE19762607685 DE2607685A DE2607685A1 DE 2607685 A1 DE2607685 A1 DE 2607685A1 DE 19762607685 DE19762607685 DE 19762607685 DE 2607685 A DE2607685 A DE 2607685A DE 2607685 A1 DE2607685 A1 DE 2607685A1
Authority
DE
Germany
Prior art keywords
processor
processors
results
instruction
special functional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19762607685
Other languages
English (en)
Other versions
DE2607685B2 (de
DE2607685C3 (de
Inventor
Helmut Dipl Ing Sebbel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19762607685 priority Critical patent/DE2607685C3/de
Priority to CH40477A priority patent/CH610122A5/xx
Priority to FR7701981A priority patent/FR2342530A1/fr
Priority to AT50677A priority patent/AT353363B/de
Priority to NL7701537A priority patent/NL7701537A/xx
Priority to GB665177A priority patent/GB1576276A/en
Priority to IT2055377A priority patent/IT1078233B/it
Priority to BE175270A priority patent/BE851840A/xx
Publication of DE2607685A1 publication Critical patent/DE2607685A1/de
Publication of DE2607685B2 publication Critical patent/DE2607685B2/de
Application granted granted Critical
Publication of DE2607685C3 publication Critical patent/DE2607685C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

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

Description

SIEMENS AKTIENGESELLSCHAFT Unser Zeichen
Berlin und München VPA 78 P 2 0 2 0 BRÜ
Verfahren zur Herstellung der funktionellen Symmetrie von Prozessoren eines Multiprozessorsystems
Die Erfindung bezieht sich auf ein Verfahren gemäß dem Oberbegriff des Patentanspruchs.
Multiprozessorsysteme, können aus Prozessoren gebildet sein, die sich, trotz weitgehender Übereinstimmung, durch das Vorhandensein bzw. Fehlen einzelner spezieller Funktionseinheiten (Hardware) unterscheiden. Maschinenbefehle, die solche speziellen Funktionseinheiten benutzen müssen, konnten bisher nur in dem Prozessor ausgeführt werden, der mit den speziellen Funktionseinheiten ausgerüstet war. Durch eine entsprechende Ausbildung des Betriebssystems (allgemeines Betriebsprogramm) mußte dafür gesorgt werden, daß ein derartiger Befehl nur dem Prozessor zugeführt wird, der die zu seiner Ausführung notwendige Funktionseinheit enthält. Das führte zu einer auf der Ebene der Maschiiißn- spräche erkennbaren funktioneilen Unsymmetrie des Multipr©zessorsystems.
Ein häufig vorkommendes Beispiel für Prozessoren mit unterschiedlichen Funktionseinheiten sind solche mit integrierten Eingabe-Ausgabe-Steuerungen. Während selbständige Eingabe-Ausgabe-Steuerungen im allgemeinen von jedem Prozessor direkt erreichbar sind, kann eine integrierte Eingabe-Ausgabe-Steuerung nur über den Prozessor angesprochen werden, dem sie zugeordnet ist.
Der Erfindung liegt die^Aufgabe zugrunde, Maßnahmen anzugeben, welche die auf der Ebene der Maschinensprache"wirksame funktionell«
VPA 76 E 2001
She 13 Fdl/23.2.1976
70983B/03O3
-If--
•3-
Symmetrie der Prozessoren eines Multiprozessorsystems trotz der tatsächlich bestehenden schaltungsmäßigen Unterschiede herstellen. Die Lösung dieser Aufgabe ist dam kennzeichnenden Teil des Patentanspruchs 1 zu entnehmen.
Im folgenden wird die Erfindung anhand eines Ausführungsbeispiels, das sich auf den schon erwähnten Fall von Prozessoren mit integrierten Eingabe-Ausgabe-Steuerungen bezieht, näher erläutert. In der Zeichnung, welche das Verständnis der folgenden Ausführungen erleichtern soll,.zeigt
Fig. 1 ein vereinfachtes Blockschaltbild eines Multiprozessorsystems,
Fig. 2, 3a und 3b Zeitdiagramme von Befehlsabläufen.
Den beiden Prozessoren·CPU1 und CPU2 nach Fig. 1 sind die Eingabe-Ausgabe-Steuerungen I0C1 und I0C2 jeweils fest zugeordnet. Es sei vorausgesetzt, daß die jeweilige Eingabe-Ausgabe-Steuerung I0C1 bzw. I0C2 in dem Prozessor, dem sie zugeordnet ist, integriert ist. Eine eindeutige Abgrenzung läßt sich demnach nicht angeben. Das ist in Fig. 1 durch die gestrichelte Begrenzungslinie zwischen dem Prozessor und der zugeordneten Eingabe-Ausgabe-Steuerung angedeutet. Jede Eingabe-Ausgabe-Steuerung möge in der Lage sein, vier Eingabe-Ausgabekanäle 101 bis 104 bzw. 105 bis 108 zu versorgen. Beide Prozessoren CPU1 und CPU2 können gemeinsam zu dem Arbeitsspeicher MM zugreifen und- über die Mehrfachverbindung IF gegenseitig Informationen austauschen.
Taucht nun in der Befehlsfolge, die durch den Prozessor CPU1 abgearbeitet wird, ein Befehl auf, von dem der Prozessor CPU1 nach seiner Interpretierung erkennt, daß er nur über den Eingabe-Ausgabe-Kanal 108 abwickelbar ist, dann bietet der Prozessor CPUI dem Prozessor CPU2 alle Befehlsparameter an, die dieser zur Ausführung des Befehls benötigt. Der Prozessor
VPA 76 E 2001
709835/0303
CPU2 nimmt im allgemeinen den Auftrag beim nächstfolgenden unterbrechbaren Punkt seiner eigenen Befehlsfolge an, führt den Befehl mit den ihm übergebenen Parametern so weit aus, bis die gewünschten Ergebnisse vorliegen und meldet diese Ergebnisse an den Prozessor CPU1 zurück. Darüber hinaus verwertet er die Ergebnisse nicht selbst, insbesondere speichert er sie nicht ab. Der Prozessor CPU1, der von der Absendung des Auftrags bis zur Rückmeldung der Ergebnisse im Wartezustand war, verwertet hingegen die an ihn zurückgemeldeten Ergebnisse so, als ob es seine eigenen Ergebnisse seien, speichert sie z. B. ab und vollendet die Ausführung des Befehls.
Die beschriebenen Abläufe sind in Fig. 2 schematisch dargestellt. Die senkrechten Striche unter CPU1 und CPU2 stellen Befehle oder Programmteile in Maschinensprache dar, die vcn den Prozessoren ausgeführt v/erden. Die unterbrechbaren Punkte im Befehlsablauf sind durch kurze Querstriche markiert. Es ist angenommen, daß der Prozessor CPU1 nach einer Zeit T1 erkennt, daß der Befehl Bin zu seiner vollständigen Ausführung eine spezielle Funktionseinheit benötigt, die in dem Prozessor CPU2 integriert ist. Der Prozessor CPUI sendet daher einen Auftrag an den anderen Prozessor CPU2, der nach dem nächstfolgenden unterbrechbaren Punkt in dessen Befehlsfolge von diesem angenommen und ausgeführt wird. Die Ergebnisse der Befehlsausführung liefert der Prozessor CPU2 an den Prozessor CPU1 zurück, der die Befehlsausführung abschließt. Beide Prozessoren können in der Bearbeitung ihrer eigenen Befehlsfolgen fortfahren.
Wenn, wie in dem zugrundegelegten Ausführungsbeispiel, zwei Prozessoren jeweils eine spezielle Funktionseinheit besitzen, kann der Fall eintreten, daß sich beide Prozessoren innerhalb der für die Ausführung entsprechender Befehle benötigten Zeit-
VPA 76 E 2001
709835/0303
spanne mit einem Auftrag an den jeweils anderen Prozessor wenden. Ohne besondere Vorkehrungen würden in diesem Fall beide Prozessoren auf die Bearbeitung ihres Auftrags durch den anderen Prozessor warten. Das würde dann zu einer gegenseitigen Verriegelung der beiden Prozessoren führen.
Zwei derartige Konfliktsituationen sind in den Figuren 3a und 3b dargestellt. Gemäß Fig. 3a erkennt der Prozessor CPU1 nach einer Zeit T1, die er für die Interpretierung des Befehls braucht, daß der Befehl zu seiner Ausführung eine spezielle Funktionseinheit des Prozessors CPU2 benutzen muß. Der betreffende Auftrag an den Prozessor CPU2 trifft dort jedoch erst dann ein, wenn in diesen Prozessor bereits ein analoger Befehl abläuft, der sich seinerseits an eine spezielle Punktionseinheit des Prozessors CPU1 wendet. Der Prozessor CPU2 richtet daher nach der ihm eigenen Interpretierungszeit 12 einen Auftrag an den Prozessor CPU1O
Gemäß einer Weiterbildung der Erfindung ergibt sich ein Ausweg aus einer derartigen Konfliktsituation durch die Anwendung folgender Maßnahmen:
a) Es wird (z. B. durch entsprechende Mikroprogrammierung) dafür gesorgt, daß während der Zeitspanne T1 bzw. T2, welche der Prozessor für die Interpretierung des Befehls benötigt, keine irreversiblen Änderungen von Daten auftreten, d. h. daß Daten weder im Speicher MM noch in Registern verändert werden.
b) Einer der beiden Prozessoren, nach willkürlicher Festlegung beispielsweise der Prozessor CPU1, wartet nach Absendung eines Auftrags noch mindestens die Zeitspanne T2 ab, die der andere Prozessor (CPU2) zur Interpretierung eines Befehls benötigt. Erhält der erste Prozessor während dieser Zeit keinen Auftrag des anderen Prozessors oder werden ihm bereits die Ergebnisse seines eigenen Auftrags zurückgemeldet, dann weiß der erste Prozessor, daß ein Auftrag des anderen Prozessors
VPA 76 E 2001
709835/0303
-J-
- G-
nicht vorgelegen hat. Trifft jedoch während der zusätzlichen Wartezeit T2 des ersten Prozessors CPU1 ein Auftrag des anderen Prozessors CPU2 ein, dann zählt der erste Prozessor CPU1 seinen Befehlszähler um eine Befehlslänge zurück. Er kommt damit zu einem unterbrechbaren Punkt der Befehlsfolge und kann somit den Auftrag des anderen Prozessors bearbeiten. Nach der Ausführung des fremden Auftrags richtet er nunmehr nochmals einen eigenen Auftrag an den anderen Prozessor. In aller Regel ist dieser Prozessor nach Erreichen eines unterbrechbaren Punktes seiner Befehlsfolge nunmehr in der Lage, diesen Auftrag durchzuführen. Anderenfalls muß der beschriebene Vorgang wiederholt werden.
Ein weiteres Beispiel für das Auftreten einer Konfliktsituation zeigt die Fig. 3b. Hier erkennt der Prozessor CPU2 kurz nach dein Verlassen eines unterbrechbaren Punktes in der Befehlsfolge des Prozessors CPU1 einen Befehl, der einen Auftrag an den Prozessor CPU1 auslöst. Dieser erkennt den fremden Auftrag unmittelbar nach dem Absenden seines eigenen Auftrags. Er kann daher auch sofort seinen Befehlszähler zurückstellen und kehrt damit ohne zusätzliche Wartezeit auf den vorausgehenden unterbrechbaren Punkt in seiner Befehlsfolge zurück.
Es sei ausdrücklich darauf hingewiesen, daß das Zurücksetzen des Befehlszählers, in einer Konfliktsituation nur in einem Prozessor vorgenommen werden darf.
Die Auflösung einer Konfliktsituation gelingt auch in einem Multiprozessorsystera mit mehr als zwei Prozessoren. Beispielsweise wird in einem Multiprozessorsystem mit drei Prozessoren eine Konfliktsituation zunächst zwischen dem ersten und zweiten Prozessor und sodann zwischen dem zweiten und dritten Prozessor bereinigt. Es ist zu bemerken, daß die Wahrscheinlichkeit für das Auftreten einer Konfliktsituation, an der
VPA 76 E 2001
709835/0303
Λ·'
alle drei Prozessoren beteiligt -sind, außerordentlich gering ist.
4 Figuren
2 Patentansprüche
VPA 76 E 2001
709835/0303
Leerseite

Claims (2)

  1. Patentansprüche
    Q\j) Verfahren zur Herstellung der auf der Ebene der Maschinensprache wirksamen funktionellen Symmetrie von Prozessoren eines Multiprozessorsystems, die sich in einzelnen speziellen Funktionseinheiten unterscheiden, bei der Ausführung von Befehlen, die in ihrem Ablauf spezielle Funktionseinheiten benötigen, dadurch gekennzeichnet, daß ein Prozessor, der einen Befehl erkennt, der zu seiner Ausführung eine spezielle Funktionseinheit des anderen Prozessors benötigt, an den anderen Prozessor ein Anforderungssignal und alle die zu diesem Befehl gehörenden Parameter übergibt, auf die Rückmeldung der Ergebnisse der Befehlsausführung wartet und die zurückgemeldeten Ergebnisse wie eigene Ergebnisse weiterbehandelt (z. B. speichert), daß der andere Prozessor den an ihn gerichteten Auftrag gemäß den ihm übergebenen Befehlsparametern ausführt und die Ergebnisse an den einen Prozessor zurückmeldet, ohne sie im übrigen wie eigene Ergebnisse zu behandeln.
  2. 2. Verf alir en nach Anspruch 1, dadurch gekennzeichnet, daß irreversible Änderungen von Daten während der Interpretierungsphase von Befehlen verhindert werden und daß bei einem sich zeitlich überlappenden Auftreten von speziellen Funktionseinheiten des jeweils anderen Prozessor beanspruchenden Befehlen in beiden Prozessoren der Befehlszähler eines (willkürlich festgelegten) Prozessors auf den vorhergehenden Stand zurückgesetzt wird.
    VPA 76 E 2001
    709835/0303
DE19762607685 1976-02-25 1976-02-25 Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem Expired DE2607685C3 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19762607685 DE2607685C3 (de) 1976-02-25 1976-02-25 Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem
CH40477A CH610122A5 (en) 1976-02-25 1977-01-13 Method for operating a multi-processor system having different processors
FR7701981A FR2342530A1 (fr) 1976-02-25 1977-01-25 Procede pour realiser la symetrie fonctionnelle de processeurs d'un systeme multiprocesseur
AT50677A AT353363B (de) 1976-02-25 1977-01-27 Multiprozessorsystem mit zwei oder mehreren auf der systemebene einer maschinensprache arbeitenden prozessoren
NL7701537A NL7701537A (nl) 1976-02-25 1977-02-14 Werkwijze voor het tot stand brengen van de functionele symmetrie van processoren van een multi-processorsysteem.
GB665177A GB1576276A (en) 1976-02-25 1977-02-17 Data processing system comprising a plurality of processor
IT2055377A IT1078233B (it) 1976-02-25 1977-02-22 Impianto a piu'elaboratori con simmetria funzionale degli elaboratori stessi
BE175270A BE851840A (fr) 1976-02-25 1977-02-25 Procede pour realiser la symetrie fonctionnelle de processeurs d'un systeme multiprocesseur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19762607685 DE2607685C3 (de) 1976-02-25 1976-02-25 Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem

Publications (3)

Publication Number Publication Date
DE2607685A1 true DE2607685A1 (de) 1977-09-01
DE2607685B2 DE2607685B2 (de) 1980-04-30
DE2607685C3 DE2607685C3 (de) 1981-01-15

Family

ID=5970849

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762607685 Expired DE2607685C3 (de) 1976-02-25 1976-02-25 Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem

Country Status (8)

Country Link
AT (1) AT353363B (de)
BE (1) BE851840A (de)
CH (1) CH610122A5 (de)
DE (1) DE2607685C3 (de)
FR (1) FR2342530A1 (de)
GB (1) GB1576276A (de)
IT (1) IT1078233B (de)
NL (1) NL7701537A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3486468D1 (de) * 1983-04-18 1998-08-06 Motorola Inc Verfahren und Vorrichtung für ein Processor um mit einem Coprocessor in der Verarbeitung eines im Programablauf des Processors befindlichen Befehls mitzuwirken.
EP0843254A3 (de) * 1990-01-18 1999-08-18 National Semiconductor Corporation Integrierte, digital arbeitende Signalverarbeitungsanlage/Universalprozessor mit anteilig genutzten internem Speicher
GB2343269A (en) 1998-10-30 2000-05-03 Ericsson Telefon Ab L M Processing arrangements
JP2003330900A (ja) * 2002-05-09 2003-11-21 Nec Corp アプリケーション並列処理システム及びアプリケーション並列処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE625673A (de) * 1961-12-04
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors

Also Published As

Publication number Publication date
BE851840A (fr) 1977-08-25
DE2607685B2 (de) 1980-04-30
GB1576276A (en) 1980-10-08
ATA50677A (de) 1979-04-15
FR2342530A1 (fr) 1977-09-23
NL7701537A (nl) 1977-08-29
AT353363B (de) 1979-11-12
IT1078233B (it) 1985-05-08
FR2342530B1 (de) 1983-09-30
CH610122A5 (en) 1979-03-30
DE2607685C3 (de) 1981-01-15

Similar Documents

Publication Publication Date Title
DE3210816C2 (de)
DE2934971C2 (de) Nach dem Fließbandprinzip arbeitender Zentralprozessor
DE3300263C2 (de)
DE2354521C2 (de) Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln
DE3535436C2 (de)
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE1931966B2 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE3223827A1 (de) Programmierbare logische steuereinrichtung
DE3427669C2 (de) Signalverarbeitungsschaltung
DE2064383C3 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE2003150C3 (de) Prioritätsschaltung
DE4005042C2 (de) Mehrrechnersystem zur Durchführung von Bewegungssteuerungen
DE4223454A1 (de) Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1524181B2 (de) Auswahlvorrichtung fuer ein und ausgabegeraete einer daten verarbeitungsanlage
DE1185404B (de) Fehlerermittlungsanlage
DE3447530A1 (de) Vektorprozessor
DE2165730A1 (de) Rechensystem
DE2607685A1 (de) Verfahren zur herstellung der funktionellen symmetrie von prozessoren eines multiprozessorsystems
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
EP0009625A2 (de) Datentransferschalter mit assoziativer Adressauswahl in einem virtuellen Speicher
DE4318317A1 (de) Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge
DE2419522A1 (de) Verfahren und anordnung zur unterteilung eines oder mehrerer nicht benutzter bereiche eines mit einem rechner verbundenen speichers
DE1549582B1 (de) Anordnung zur bestimmung der niedrigstwertigen bit position

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee