DE69327270T2 - Job-Ausführungsmethode in einem Multiprozessor-System - Google Patents
Job-Ausführungsmethode in einem Multiprozessor-SystemInfo
- Publication number
- DE69327270T2 DE69327270T2 DE69327270T DE69327270T DE69327270T2 DE 69327270 T2 DE69327270 T2 DE 69327270T2 DE 69327270 T DE69327270 T DE 69327270T DE 69327270 T DE69327270 T DE 69327270T DE 69327270 T2 DE69327270 T2 DE 69327270T2
- Authority
- DE
- Germany
- Prior art keywords
- processor
- queue
- processing step
- cpu
- variable
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 11
- 238000012545 processing Methods 0.000 claims description 45
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
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)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung betrifft ein Job- Ausführungsverfahren, bei dem ein Prozessor (CPU) einen anderen Prozessor (CPU) zur Ausführung eines Jobs in einem Multiprozessor-System veranlasst.
- Wenn bei einem herkömmlichen System dieser Art der erste Prozessor bzw. die erste Zentraleinheit (CPU) den zweiten Prozessor bzw. die zweite Zentraleinheit (CPU) zur Ausführung eines auch als Job bezeichneten Verarbeitungsschrittes veranlasst, wandelt der erste Prozessor einen auszuführenden Job in ein Programm in Übereinstimmung mit einem vorbestimmten Format um und überträgt das Programm zu dem zweiten Prozessor. Der zweite Prozessor, der dieses Programm empfangen hat, dekodiert und führt den übertragenen Job in Übereinstimmung mit einem vorbestimmten Format aus. Das Ausführungsergebnis wird bei Bedarf in eine Form in Übereinstimmung mit einem vorbestimmten Format gebracht. Das Ergebnis wird zu dem ersten Prozessor als Jobübertragungsquelle zurückgesendet. Das heißt, bei diesem herkömmlichen Verfahren muss der Job auf der Übertragungsseite in ein Übertragungsformat verarbeitet bzw. gebracht werden. Auf der Empfangsseite müssen die im Übertragungsformat empfangenen Informationen dekodiert werden. Wenn der erste Prozessor den zweiten Prozessor zur Ausführung des Jobs veranlasst, muss außerdem eine erforderliche Übertragungsanweisung in dem Programm enthalten sein. Ein derartiges System ist in der WO-A-92/01990 beschrieben.
- Da ein Programmierer eine erforderliche Kommunikationsanweisung in das Programm schreiben muss, wird die Belastung für den Programmierer unerwünscht erhöht.
- Die vorliegende Erfindung beseitigt das Erfordernis einer komplizierten Kommunikationsanweisung zwischen Prozessoren in einem durch einen Programmierer ausgebildeten Programm in einem System, in dem ein Prozessor einen anderen Prozessor zur Ausführung des Jobs veranlassen kann.
- Die vorliegende Erfindung betrifft auch eine Verringerung der Programmgröße jedes Prozessors in einem System, in dem ein Prozessor einen anderen Prozessor zur Ausführung des Jobs veranlassen kann.
- Ein Ausführungsbeispiel der Erfindung verringert die Programmgröße jedes Prozessors und erhöht die Programmausführungsgeschwindigkeit in einem System, in dem ein Prozessor einen anderen Prozessor zur Ausführung des Jobs veranlassen kann.
- Gemäß einer Ausgestaltung umfasst die Erfindung ein Verarbeitungsverfahren in einem Multiprozessorsystem nach Patentanspruch 1.
- Gemäß einer zweiten Ausgestaltung der Erfindung ist ein Multiprozessorsystem nach Patentanspruch 8 vorgesehen.
- Weitere Merkmale und Vorteile der Erfindung werden aus der Beschreibung eines bevorzugten Ausführungsbeispiels der Erfindung ersichtlich.
- Dabei wird auf die beiliegende Zeichnung Bezug genommen, die einen Teil der Beschreibung bildet und ein Beispiel der Erfindung darstellt.
- Fig. 1 zeigt eine Darstellung zur Beschreibung einer Kommunikationsverarbeitung zwischen Prozessoren gemäß einem Ausführungsbeispiel.
- Fig. 2 zeigt ein Blockschaltbild der Anordnung eines Multiprozessor-Systems.
- Fig. 3 zeigt ein Blockschaltbild des Aufbaus jedes Prozessors.
- Fig. 4 zeigt eine Darstellung von Zuständen von Knoten- und entfernten Warteschlangen.
- Fig. 5 zeigt ein Ablaufdiagramm einer Verarbeitung, wenn ein Prozessor einen anderen Prozessor zur Ausführung eines Jobs veranlasst.
- Fig. 1 zeigt eine Darstellung zur Beschreibung einer Kommunikationsverarbeitung zwischen Prozessoren gemäß einem Ausführungsbeispiel der Erfindung.
- Gemäß Fig. 1 stellt eine CPU A 11 ein Ein-Prozessorsystem dar. Bei diesem Ausführungsbeispiel dient die CPU A 11 als Jobübertragungsquellen-CPU zur Übertragung eines Jobs zu einer anderen CPU bzw. einem anderen Prozessor. Eine CPU B 16 stellt ein Ein-Prozessorsystem dar und dient als CPU bzw. Prozessor zur Ausführung eines von der CPU A 11 übertragenen entfernten Knotens und zum Zurücksenden des Ausführungsergeb nisses zu der CPU A 11. Ein Job 12 wird in der CPU A 11 eingestellt und ist durch die CPU B 16 auszuführen. Ein Job 13 stellt einen von der CPU B 16 zurückgesendeten Job dar und wird durch die CPU A 11 ausgeführt. Entfernte Knotendaten 14 werden von der CPU A 11 zu der CPU B 16 zurückgesendet. "Entfernte Knotendaten" sollen Befehle für einen Schritt oder eine Gruppe von Schritten wie nachstehend beschrieben abdecken. Entfernte Knotendaten 15 werden von der CPU B 16 zu der CPU A 11 zurückgesendet. Ein entfernter Knoten 17 wird von der CPU A 11 zur Ausführung durch die CPU B 16 übertragen. Ein Job 18 stellt ein durch die Ausführung des entfernten Knotens 17 in der CPU B 16 erhaltenes Ergebnis dar und ist zu der CPU A 11 zu übertragen.
- Wenn bei dem Informationsverarbeitungsgerät mit dem vorstehend beschriebenen Aufbau die CPU A 11 einen Schritt erfasst, der durch die CPU B16 auszuführen ist, während sie einen in einer normalen Knotenwarteschlange registrierten Schritt ausführt, erzeugt eine entfernte Knotenübertragungseinheit (die durch die Funktionen der CPU A 11 gebildet wird) entfernte Knotendaten 14, die durch die CPU B 16 auszuführen sind, und überträgt die erzeugten entfernten Knotendaten 14 zu der bestimmten CPU B 16. Auf den Empfang des übertragenen entfernten Knotens 14 hin hält die CPU B 16 den empfangenen entfernten Knoten in einer entfernten Knotenwarteschlange. Während der sequentiellen Ausführung von in der normalen Knotenwarteschlange registrierten Schritten wird der in der entfernten Knotenwarteschlange gehaltene Schritt ausgeführt. Eine entfernte Knotenantworteinheit sendet ein Ausführungsergebnis 18 als entfernte Knotendaten 15 zu der CPU A 11 als Übertragungsquelle zurück.
- Fig. 2 zeigt ein Blockschaltbild zur Beschreibung des Aufbaus eines Prozessorsystems, bei dem Ein-Prozessorsysteme wie in Fig. 1 gezeigt vernetzt sind.
- Gemäß Fig. 2 verbindet ein Netzwerk 21 eine Vielzahl von Prozessoren bzw. CPUs. Eine CPU C 22 stellt ein Ein- Prozessorsystem dar und ist zur Kommunikation mit der CPU A 11 und der CPU B 16 als weitere Ein-Prozessorsysteme über das Netzwerk 21 verbunden.
- Fig. 3 zeigt ein Blockschaltbild zur Beschreibung des Aufbaus eines in Fig. 2 gezeigten Ein-Prozessorsystems.
- Gemäß Fig. 3 speichert ein Register bzw. ein Speicher 32 vorübergehend Daten oder ein Berechnungsergebnis. Ein Speicher 33 speichert ein Programm oder Daten. Programme enthalten ein Benutzerprogramm und ein Überwachungsprogramm. Programme wie eine Verarbeitungssequenz (Fig. 5), die in dem Speicher gespeichert sind, werden über einen Bus 31 zu einem Befehlsdekodierer 34 gesendet und in dem Befehlsdekodierer 34 dekodiert. Das Dekodierergebnis wird zu einer Befehlsausführungseinheit 35 gesendet und von dieser ausführt.
- Fig. 4 zeigt eine Darstellung von Zuständen normaler und entfernter Knotenwarteschlangen in der in Fig. 1 gezeigten CPU B 16.
- Wie es in Fig. 4 gezeigt ist, führt die CPU B 16 aufeinanderfolgend Schritte (Knoten) entsprechend der in einer normalen Knotenwarteschlange 41 gespeicherten Schrittnummer aus. Wird ein entfernter Knoten von einer anderen CPU gesendet, wird dieser entfernte Knoten in einem entfernten Knotenregistrier- bzw. Speicherbereich (nicht gezeigt) gespeichert, und die entsprechende Schrittnummer wird in einer entfernten Knotenwarteschlange 42 registriert. Ist eine Schrittnummer in der entfernten Knotenwarteschlange 42 registriert, führt die CPU B 16 den entfernten Knoten vor den in der normalen Knotenwarteschlange 41 gespeicherten Knoten bevorzugt aus. Auf diese Weise umfasst jedes Ein-Prozessorsystem die entfernte Knoten warteschlange 42 zur Speicherung der Schrittnummer eines von einem anderen Ein-Prozessorsystem gesendeten Schritts. Ist ein Schritt (entfernter Knoten) in der entfernten Knotenwarteschlange 42 vorhanden, wird die Schrittnummer des entfernten Knotens ausgelesen, und der ausgelesene Schritt von einem anderen Ein-Prozessorsystem wird in der gleichen Verarbeitungssequenz wie die Schritte im eigenen Programm ausgeführt.
- Fig. 5 zeigt ein Ablaufdiagramm der Verarbeitungssequenz eines entfernten Knotens in dem erfindungsgemäßen Multiprozessorsystem. Gemäß Fig. 5 werden die Schritte S1, S2, S7 und S8 durch die CPU A 11 und die Schritte S3 bis S6 durch die CPU B 16 ausgeführt.
- Wie es in Fig. 1 gezeigt ist, erfasst die CPU A 11 in Schritt S1 während der Ausführung eines normalen Knotens den Job 12 "a = B : b" (eine Variable b der CPU B 16 wird in eine Variable a eingesetzt) und erkennt, dass ein entfernter Knoten zu der CPU B 16 zu übertragen ist, um den Inhalt der Variablen b in der CPU B 16 zu erfahren. In Schritt S2 überträgt die CPU A 11 den entfernten Knoten 14 "A : a = b" (die Variable b wird in die Variable a der CPU A 11 eingesetzt) zu der CPU B 16.
- Andererseits speichert die CPU B 16 in Schritt S3 den entfernten Knoten 14 als den entfernten Knoten 17 in einem Knotenregistrierbereich (nicht gezeigt) und speichert die diesem Knoten entsprechende Schrittnummer in der entfernten Knotenwarteschlange 42. Wenn die CPU B 16 erkennt, dass die Schrittnummer in der entfernten Knotenwarteschlange 42 gespeichert ist, führt die CPU B 16 in Schritt S4 einen Knoten (d. h. den entfernten Knoten 17), der der in der entfernten Knotenwarteschlange 42 gespeicherten Schrittnummer entspricht, bevorzugt vor dem normalen Knoten aus, der der in der normalen Knotenwarteschlange 41 gespeicherten Schrittnummer entspricht. Da in diesem Fall b = 3 ist, erhält die CPU B 16 den Job 18 "A : a = 3" (3 wird in die Variable a der CPU A 11 eingesetzt). In Schritt S5 erkennt die CPU B 16 entsprechend dem Inhalt des Jobs 18, dass ein entfernter Knoten zu der CPU A 11 zu senden ist. In Schritt S6 überträgt die CPU B 16 den entfernten Knoten 15 "a = 3" (Einsetzen von 3 in die Variable a) zu der CPU A 11.
- In Schritt S7 speichert die CPU A 11 den entfernten Knoten 15 als den entfernten Knoten 13 in einem Knotenregistrierbereich (nicht gezeigt) und speichert eine diesem Knoten entsprechende Schrittnummer in der entfernten Knotenwarteschlange 42. Wenn die CPU A 11 erkennt, dass die Schrittnummer in der entfernten Knotenwarteschlange 42 gespeichert ist, führt die CPU A 11 in Schritt S8 einen Knoten (d. h. den entfernten Knoten 13), der der in der entfernten Knotenwarteschlange 42 gespeicherten Schrittnummer entspricht, bevorzugter aus als den normalen Knoten aus, der der in der normalen Knotenwarteschlange 41 registrierten Schrittnummer entspricht. Infolgedessen wird der Wert "3" als Wert der Variablen der CPU B 16 in die Variable a eingesetzt. Der Job 12 der CPU A 11 "a = B: b" (Einsetzen der Variablen b der CPU B 16 in die Variable a) ist abgeschlossen.
- Bei dem vorstehend beschriebenen Ausführungsbeispiel wird eine Vielzahl von Schrittnummern von als nächstes auszuführenden Schritten in der Form von Warteschlangen gespeichert. In diesem Fall werden mit einer Vielzahl von Verarbeitungsvorgängen assoziierte Schrittnummern in einer einzelnen Warteschlange in einer CPU gespeichert, und die den Schrittnummern entsprechenden Schritte werden in der registrierten Reihenfolge ausgeführt, wodurch eine pseudoparallele Verarbeitung realisiert wird. Ist allerdings ein Verarbeitungsvorgang in einer CPU durchzuführen, muss lediglich die nächste Schrittnummer gespeichert werden.
- Gemäß dem vorstehend beschriebenen Ausführungsbeispiel wird bei der Speicherung eines entfernten Knotens dieser bevorzug ter als ein normaler Knoten ausgeführt. Die Erfindung ist allerdings nicht darauf beschränkt. Beispielsweise kann ein normaler Knoten bevorzugter als ein entfernter Knoten ausgeführt werden, oder die Prioritätsordnung der Knoten kann vorbestimmt sein und die Ausführung kann entsprechend dieser Prioritätsordnung durchgeführt werden.
- Bei dem vorstehend beschriebenen Ausführungsbeispiel wird ein entfernter Knoten als Schritt ausgeführt, da ein Schritt die kleinste Verarbeitungseinheit in einem Programm darstellt. Allerdings kann in einem Programm mit einer hierarchischen Struktur, bei der eine Gruppe von Schritten ein Unterprogramm bildet, und eine Gruppe von Unterprogrammen ein Programm bildet, ein entfernter Knoten für jedes Unterprogramm oder Programm ausgeführt werden.
- Bei dem vorstehend beschriebenen Ausführungsbeispiel ist der Name des anderen Prozessorsystems, zu dem eine gegebene Variable gehört, der gegebenen Variablen zugeordnet, wie es durch den Job 12, den entfernten Knoten 17 und den Job 18 gezeigt ist. Allerdings ist diese Zuordnung für die Erfindung nicht wesentlich. Es kann vorab eine Tabelle bereitgestellt werden, die die Übereinstimmung zwischen Variablennamen und Prozessornamen, zu denen die Variablen gehören, darstellt, wobei ein Überwachungsprogramm zur Ausführung und Verwaltung eines Programms automatisch bestimmt, ob eine in Frage kommende Variable eine Variable einer anderen CPU ist. Auf diese Weise kann ein Programmformat erreicht werden, bei dem ein Programmierer nicht auf das Vorhandensein einer anderen CPU aufmerksam sein muss.
Claims (14)
1. Verfahren zur Ausführung eines Verarbeitungsschritts
in einem Multiprozessorsystem mit einem ersten Prozessor (11)
und zumindest einem zweiten Prozessor (16), der mit dem
ersten Prozessor verbunden ist, gekennzeichnet durch die
Schritte
Veranlassen des ersten Prozessors zur Erfassung eines
ersten Verarbeitungsschritts (12), der eine dem zweiten
Prozessor gehörende Variable enthält, während der Ausführung
eines Prozesses,
Veranlassen des ersten Prozessors zur Übertragung eines
zweiten Verarbeitungsschritts (14, 17) zu dem zweiten
Prozessor, wobei der zweite Prozessor zum Einsetzen eines Werts für
die Variable in dem ersten Verarbeitungsschritt aufgefordert
wird, und der zweite Verarbeitungsschritt durch den zweiten
Prozessor direkt ausführbar ist (S2),
Veranlassen des zweiten Prozessors zur Speicherung des
von dem ersten Prozessor empfangenen zweiten
Verarbeitungsschritts in einer ersten Warteschlange (42) (S3) und
Veranlassen des zweiten Prozessors zur Ausführung des in
der Warteschlange gespeicherten zweiten Verarbeitungsschritts
(S4).
2. Verfahren nach Anspruch 1, mit dem Schritt
Veranlassen des zweiten Prozessors zur Rückgabe des
Ergebnisses des zweiten Verarbeitungsschritts zu dem ersten
Prozessor.
3. Verfahren nach Anspruch 2, wobei der zweite Prozessor
eine Vielzahl empfangener Verarbeitungsschritte in der
Warteschlange speichert und die Vielzahl der Verarbeitungsschritte
in der Empfangsreihenfolge ausführt.
4. Verfahren nach Anspruch 3, mit den weiteren Schritten
Veranlassen des zweiten Prozessors zur Speicherung einer
Vielzahl von einem anderen sich in Ausführung befindenden
Programm entsprechenden Verarbeitungsschritten in einer
zweiten Warteschlange, die sich von der die Vielzahl empfangener
Verarbeitungsschritte speichernden ersten Warteschlange
unterscheidet, und
Veranlassen des zweiten Prozessors zur Ausführung der
Vielzahl der in der zweiten Warteschlange gespeicherten
Verarbeitungsschritte in der Speicherreihenfolge.
5. Verfahren nach Anspruch 4, wobei die in der ersten
Warteschlange gespeicherten Verarbeitungsschritte
vorzugsweise ausgeführt werden, wenn sowohl die erste Warteschlange als
auch die zweite Warteschlange Verarbeitungsschritte
gespeichert haben.
6. Verfahren nach einem der vorhergehenden Ansprüche,
wobei der erste Prozessor bestimmt, ob eine Variable in einem
Verarbeitungsschritt den Namen des zweiten Prozessors
angehängt hat, um den ersten Verarbeitungsschritt zu erfassen,
der die Variable enthält, die zu dem zweiten Prozessor
gehört.
7. Verfahren nach einem der vorhergehenden Ansprüche,
wobei der ersten Prozessor eine Tabelle aufweist, die die
Entsprechung zwischen Variablen und den Prozessoren
darstellt, zu denen die Variablen gehören, und wobei der erste
Prozessor auf die Tabelle zur Erfassung einer Variablen Bezug
nimmt, die dem zweiten Prozessor gehört.
8. Multiprozessorsystem mit einem ersten Prozessor (11)
und zumindest einem zweiten Prozessor (16), der mit dem
ersten Prozessor verbunden ist, dadurch gekennzeichnet, daß
der erste Prozessor zur Erfassung eines ersten
Verarbeitungsschritts (12), der eine Variable enthält, die zu dem
zweiten Prozessor gehört, während der Ausführung eines
Prozesses und zur Übertragung eines zweiten
Verarbeitungsschritts (14, 17) zu dem zweiten Prozessor angepaßt ist, um
den zweiten Prozessor zum Einsetzen eines Werts für die
Variable in dem ersten Verarbeitungsschritt aufzufordern, wobei
der zweite Verarbeitungsschritt durch den zweiten Prozessor
direkt ausführbar ist,
und der zweite Prozessor zur Speicherung des von dem
ersten Prozessor empfangenen zweiten Verarbeitungsschritts in
einer Warteschlange (42) und zur Ausführung des in der
Warteschlange gespeicherten zweiten Verarbeitungsschritts angepaßt
ist.
9. System nach Anspruch 8, wobei der zweite Prozessor
zur Rückgabe des Ergebnisses des zweiten
Verarbeitungsschritts zu dem ersten Prozessor angepaßt ist.
10. System nach Anspruch 8 oder 9, wobei der zweite
Prozessor zur Speicherung einer Vielzahl empfangener
Verarbeitungsschritte in der Warteschlange und zur Ausführung der
Vielzahl der Verarbeitungsschritte in der Empfangsreihenfolge
angepaßt ist.
11. System nach einem der Ansprüche 8 bis 10, wobei der
zweite Prozessor zur Speicherung einer Vielzahl von einem
anderen sich in Ausführung befindenden Programm entsprechenden
Verarbeitungsschritten in einer sich von der gespeicherten
ersten Warteschlange unterscheidenden zweiten Warteschlange
angepaßt ist, und
der zweite Prozessor zur Ausführung der Vielzahl der in
der zweiten Warteschlange gespeicherten Verarbeitungsschritte
in der Speicherreihenfolge angepaßt ist.
12. System nach Anspruch 11, wobei der zweite Prozessor
vorzugsweise die in der ersten Warteschlange gespeicherten
Verarbeitungsschritte ausführt, wenn sowohl die erste
Warteschlange als auch die zweite Warteschlange
Verarbeitungsschritte gespeichert haben.
13. System nach einem der Ansprüche 8 bis 12, wobei der
erste Prozessor zur Bestimmung angepaßt ist, ob eine Variable
in einem Verarbeitungsschritt den Namen des zweiten
Prozessors angehängt hat, um den ersten Verarbeitungsschritt zu
erfassen, der die Variable enthält, die zu dem zweiten
Prozessor gehört.
14. System nach einem der Ansprüche 8 bis 13, wobei der
erste Prozessor eine Tabelle aufweist, die die Entsprechung
zwischen Variablen und dem Prozessor darstellt, zu dem die
Variablen gehören, und wobei der erste Prozessor auf die
Tabelle zur Erfassung einer Variablen Bezug nimmt, die zu dem
zweiten Prozessor gehört.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4206181A JPH0628322A (ja) | 1992-07-10 | 1992-07-10 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69327270D1 DE69327270D1 (de) | 2000-01-20 |
DE69327270T2 true DE69327270T2 (de) | 2000-05-31 |
Family
ID=16519161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69327270T Expired - Fee Related DE69327270T2 (de) | 1992-07-10 | 1993-07-08 | Job-Ausführungsmethode in einem Multiprozessor-System |
Country Status (4)
Country | Link |
---|---|
US (1) | US5918011A (de) |
EP (1) | EP0578496B1 (de) |
JP (1) | JPH0628322A (de) |
DE (1) | DE69327270T2 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609246B1 (en) * | 1999-12-07 | 2003-08-19 | Bull Hn Information Systems Inc. | Integrated development environment for high speed transaction processing WWW applications on heterogeneous computer systems |
US7028313B2 (en) * | 2001-03-28 | 2006-04-11 | International Business Machines Corporation | Method for transmitting function parameters to a remote node for execution of the function thereon |
US6986147B2 (en) * | 2001-03-28 | 2006-01-10 | International Business Machines Corporation | Method for transparent, location-independent, remote procedure calls in a heterogeneous network environment |
FR2829330B1 (fr) * | 2001-08-31 | 2003-11-28 | Canon Kk | Procede de demande de reception du resultat d'execution d'une fonction a distance a une date predeterminee |
RU2400863C2 (ru) | 2006-11-29 | 2010-09-27 | Кэнон Кабусики Кайся | Устройство формирования изображений, устройство связи и картридж |
JP5473643B2 (ja) * | 2010-02-04 | 2014-04-16 | キヤノン株式会社 | 電源装置及びそれを使用する画像形成装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US4130865A (en) * | 1974-06-05 | 1978-12-19 | Bolt Beranek And Newman Inc. | Multiprocessor computer apparatus employing distributed communications paths and a passive task register |
US4149244A (en) * | 1976-06-07 | 1979-04-10 | Amdahl Corporation | Data processing system including a program-executing secondary system controlling a program-executing primary system |
IT1082756B (it) * | 1977-03-31 | 1985-05-21 | Cselt Centro Studi Lab Telecom | Dispositivo di elaborazione della segnalazione telefonica |
US4413318A (en) * | 1980-11-20 | 1983-11-01 | International Business Machines Corporation | Use of nodes to uniquely identify processes |
JPS59167738A (ja) * | 1983-03-11 | 1984-09-21 | Brother Ind Ltd | スペル照合装置 |
US4591977A (en) * | 1983-03-23 | 1986-05-27 | The United States Of America As Represented By The Secretary Of The Air Force | Plurality of processors where access to the common memory requires only a single clock interval |
US4589068A (en) * | 1983-10-03 | 1986-05-13 | Digital Equipment Corporation | Segmented debugger |
JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
JPS6280755A (ja) * | 1985-10-04 | 1987-04-14 | Minolta Camera Co Ltd | デ−タ伝送制御方式 |
DE3751108T2 (de) * | 1986-11-12 | 1995-10-26 | Nippon Electric Co | Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden. |
JPH0738183B2 (ja) * | 1987-01-29 | 1995-04-26 | 日本電気株式会社 | 中央処理装置間通信処理方式 |
US5168560A (en) * | 1987-05-29 | 1992-12-01 | Amdahl Corporation | Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line |
US5163122A (en) * | 1987-12-09 | 1992-11-10 | Fuji Photo Film Co., Ltd. | Image processing system |
US5167023A (en) * | 1988-02-01 | 1992-11-24 | International Business Machines | Translating a dynamic transfer control instruction address in a simulated CPU processor |
US5167035A (en) * | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
US5179699A (en) * | 1989-01-13 | 1993-01-12 | International Business Machines Corporation | Partitioning of sorted lists for multiprocessors sort and merge |
US5191652A (en) * | 1989-11-10 | 1993-03-02 | International Business Machines Corporation | Method and apparatus for exploiting communications bandwidth as for providing shared memory |
US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
EP0444376B1 (de) * | 1990-02-27 | 1996-11-06 | International Business Machines Corporation | Nachrichtenführungseinrichtung durch mehrere Rechner, die mittels eines geteilten intelligenten Speichers gekoppelt sind |
JPH0619759B2 (ja) * | 1990-05-21 | 1994-03-16 | 富士ゼロックス株式会社 | マルチプロセッサシステムにおける相互通信方法 |
WO1992001990A1 (en) * | 1990-07-20 | 1992-02-06 | Temple University - Of The Commonwealth System Of Higher Education | System for high-level virtual computer with heterogeneous operating systems |
US5257375A (en) * | 1991-08-23 | 1993-10-26 | International Business Machines Corp. | Method and apparatus for dispatching tasks requiring short-duration processor affinity |
US5517654A (en) * | 1992-05-26 | 1996-05-14 | Fmc Corp. | System for parallel implementation of combinatorial optimization in a multiprocessor network for generating search graphs for solving enumerative problems |
US5428803A (en) * | 1992-07-10 | 1995-06-27 | Cray Research, Inc. | Method and apparatus for a unified parallel processing architecture |
-
1992
- 1992-07-10 JP JP4206181A patent/JPH0628322A/ja active Pending
-
1993
- 1993-07-08 EP EP93305349A patent/EP0578496B1/de not_active Expired - Lifetime
- 1993-07-08 DE DE69327270T patent/DE69327270T2/de not_active Expired - Fee Related
-
1997
- 1997-07-22 US US08/898,558 patent/US5918011A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0578496A3 (de) | 1994-02-16 |
JPH0628322A (ja) | 1994-02-04 |
US5918011A (en) | 1999-06-29 |
EP0578496A2 (de) | 1994-01-12 |
DE69327270D1 (de) | 2000-01-20 |
EP0578496B1 (de) | 1999-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2839726C2 (de) | Multiprozessoranlage mit verteilter Steuerarchitektur | |
DE3689394T2 (de) | Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor. | |
DE69332059T2 (de) | Datenübertragung zwischen Prozessoren in Mehrprozessorsystemen | |
DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
DE69227664T2 (de) | Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor | |
DE3685863T2 (de) | Rechnersystem zur steuerung virtueller maschinen. | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE2714805C2 (de) | ||
DE3852928T2 (de) | Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69519816T2 (de) | Anordnung mit Duplikat des Cache-Etikettenspeichers | |
DE19855806A1 (de) | Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen | |
DE69130757T2 (de) | Ausführungsvorrichtung für bedingte Verzweigungsbefehle | |
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. | |
DE3735828C2 (de) | Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung | |
DE2715073A1 (de) | Mikroprogrammierte rechner-steuervorrichtung | |
DE3432524A1 (de) | Mehrfach genutzter datenschreiberregler und verfahren | |
DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
DE69034246T2 (de) | Gerät zur Verarbeitung von Grafikdaten | |
DE69327270T2 (de) | Job-Ausführungsmethode in einem Multiprozessor-System | |
DE4223454A1 (de) | Datenuebertragungssystem fuer eine digitale signalverarbeitungsvorrichtung | |
DE3750311T2 (de) | Gerät und Verfahren zur Übertragung zwischen Prozessoren. | |
DE3850906T2 (de) | Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. | |
DE60217729T2 (de) | Verfahren zum erkennen eines elektronischen geräts in einem mehrfachsteuersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |