DE2607685A1 - Verfahren zur herstellung der funktionellen symmetrie von prozessoren eines multiprozessorsystems - Google Patents
Verfahren zur herstellung der funktionellen symmetrie von prozessoren eines multiprozessorsystemsInfo
- 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
Links
- 238000004519 manufacturing process Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 claims description 5
- 230000002427 irreversible effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent 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.
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)
- PatentansprücheQ\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. 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 2001709835/0303
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)
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)
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 |
-
1976
- 1976-02-25 DE DE19762607685 patent/DE2607685C3/de not_active Expired
-
1977
- 1977-01-13 CH CH40477A patent/CH610122A5/xx not_active IP Right Cessation
- 1977-01-25 FR FR7701981A patent/FR2342530A1/fr active Granted
- 1977-01-27 AT AT50677A patent/AT353363B/de not_active IP Right Cessation
- 1977-02-14 NL NL7701537A patent/NL7701537A/xx not_active Application Discontinuation
- 1977-02-17 GB GB665177A patent/GB1576276A/en not_active Expired
- 1977-02-22 IT IT2055377A patent/IT1078233B/it active
- 1977-02-25 BE BE175270A patent/BE851840A/xx not_active IP Right Cessation
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 |