JPS58225469A - Multi-processor controlling system - Google Patents

Multi-processor controlling system

Info

Publication number
JPS58225469A
JPS58225469A JP10963582A JP10963582A JPS58225469A JP S58225469 A JPS58225469 A JP S58225469A JP 10963582 A JP10963582 A JP 10963582A JP 10963582 A JP10963582 A JP 10963582A JP S58225469 A JPS58225469 A JP S58225469A
Authority
JP
Japan
Prior art keywords
program
processor
unit
processor unit
instruction
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
JP10963582A
Other languages
Japanese (ja)
Other versions
JPS635790B2 (en
Inventor
Hajime Takagi
一 高木
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP10963582A priority Critical patent/JPS58225469A/en
Publication of JPS58225469A publication Critical patent/JPS58225469A/en
Publication of JPS635790B2 publication Critical patent/JPS635790B2/ja
Granted 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

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)

Abstract

PURPOSE:To minimize the change of a monitor program, by selecting one of idle processor units and indicating the execution of an instruction following a program state word loading instruction. CONSTITUTION:A multi-processor controlling system comprises a memory unit 10, plural processor units 20-23, a memory bus 40 and a control bus 50. The memory unit 10 stores plural programs. The processors 20-23 share the unit 10 and execute simultaneously at least one of plural programs. When one of processors 20-23 starts execution of a new program by a program state word loading instruction, one of other idle processor units is selected. Then the execution is indicated to this selected processor unit for an instruction following the program state word loading instruction.

Description

【発明の詳細な説明】 (発明の属する技術分野の説明) 本発明は電子計算機システムにおけるマルチプロセッサ
制御方式、特に複数筒のプロセッサユニットで共用され
たメモリユニットを含むマルチプロセッサシステムにお
いてプログラムの割付けを行うためのマルチプロセッサ
制御方式(従来技術の説明) 従来からマルチプロセッサシステムにおいては、複数筒
のプロセッサユニットのそれぞれに対して実行すべきジ
ョブプログラムを割付けることが必要であり、仁の割付
けの制御はモニタプログラムと呼ばれる特殊な制御プロ
グラムにより行われることが公知である。モニタプログ
ラムは実行可能なジョブプログラムを選択してプロセッ
サユニットに割付ける機能を有するもので、マルチプロ
セッサシステムのモニタプログラムはシステム内に存在
するプロセッサユニットの数置、および各プロセッサユ
ニットの状態などを管理する必要がある。しかしながら
、単一のプロセッサユニットのみを有するシングルプロ
セッサシステムにおいてモニタプログラムを実行する場
合には複数箇のプロセッサユニットを意識する必要がな
いので、これをそのま筐マルチプロセッサシステムに適
用しようとすると、モニタプログラム自体の大幅な変更
が必要となる。しかし、シングルプロセッサシステムか
らマルチプロセッサシステムへの移行Tti 電子計算
機システムの成長の課程として多くの場合必要となるも
のである。このような場合、モニタプログラムの変更は
一般にその制御下で動作するジョブプログラムの変更を
伴う場合が多く、当業者に走ってはその変更量をいかに
して最小限にとどめるかが大きな課題となっている。
Detailed Description of the Invention (Description of the Technical Field to Which the Invention Pertains) The present invention relates to a multiprocessor control system in an electronic computer system, and particularly to a multiprocessor system including a memory unit shared by a plurality of processor units. 1. Multiprocessor control method for executing the program (Description of prior art) Conventionally, in a multiprocessor system, it has been necessary to allocate a job program to be executed to each of multiple processor units. It is well known that this is performed by a special control program called a monitor program. The monitor program has the function of selecting an executable job program and assigning it to a processor unit.The monitor program of a multiprocessor system manages the number of processor units existing in the system and the status of each processor unit. There is a need to. However, when executing a monitor program in a single processor system that has only a single processor unit, there is no need to be aware of multiple processor units, so if you try to apply this to a multiprocessor system, the monitor program Significant changes to the program itself will be required. However, the transition from a single processor system to a multiprocessor system is often necessary as part of the growth of electronic computer systems. In such cases, changes to the monitor program generally involve changes to the job programs that operate under its control, and a major challenge for those skilled in the art is how to minimize the amount of change. ing.

(発明の詳細な説明) 本発明の目的に、シングルプロセッサシステムで使用さ
れるモニタプログラムに最小限の変更を行うだけでマル
チプロセッサシステムのためのモニタプログラムとして
適用し得るように構成したマルチプロセッサ制御方式を
提供することにある。
(Detailed Description of the Invention) For the purpose of the present invention, a multiprocessor control system configured so that it can be applied as a monitor program for a multiprocessor system with minimal changes to the monitor program used in a single processor system. The goal is to provide a method.

(発明の詳細な説明) 本発明によるマルチプロセッサ制御方式はメモリユニッ
トと、複数箇のプロセッサユニットと、メモリ母線と、
制御母線とを具備して実現したものである。メモリユニ
ットfl複数のプログラムを記憶するためのものである
。複数箇のプロセッサユニツ)lメモリュニッlf共用
し、複数のプログラムのうち、少なくともひとつのプロ
グラムを同時に実行するためのものである。
(Detailed Description of the Invention) A multiprocessor control system according to the present invention includes a memory unit, a plurality of processor units, a memory bus,
This was realized by including a control bus. Memory unit fl is for storing a plurality of programs. A memory unit lf is shared by a plurality of processor units, and is used to simultaneously execute at least one program among a plurality of programs.

各フロセッサユニットバインスト−7クシヨンカウント
レジスタとプロセッサ間通信制御部とを具備したもので
ある。メモリ母線はメモリユニットと複数箇のプロセッ
サユニットとを接続するものであり、情報がこのメモリ
母線を通って転送される。制御母線は複数箇のプロセッ
サユニットの相互の間を接続するもので、制御母線に各
プロセッサユニットの内部のブロセツザ間通信制机部に
接続されている。
Each processor unit is equipped with a buffer count register and an interprocessor communication control section. A memory bus connects the memory unit and the plurality of processor units, and information is transferred through the memory bus. The control bus connects a plurality of processor units to each other, and is connected to an inter-processor communication control unit inside each processor unit.

複数箇のプロセッサユニットのうちのヒトツがプログラ
ム状態語ロード命令によって新たにプログラムの実行を
開始するときに他のプロセッサユニットのなかでアイド
ル状態となっているものがある場合には、アイドル状態
にあるプロセッサユニットのうちのひとつを選択し、プ
ログラム状態語ロード命令に続く命令を実行するように
、選択されたプロセッサユニットに対して指示をする。
When one of the multiple processor units starts executing a new program by a program state word load instruction, if any of the other processor units is in the idle state, it is in the idle state. One of the processor units is selected and the selected processor unit is instructed to execute the instruction following the program state word load instruction.

(発明の原理と作用の説明) 本発明の一実施例を説明する前に、第1図に示した様な
単一のプロセッサユニットのみで構成したシングルプロ
セッサシステムにおいて、モニタプログラムがプロセツ
ーリュニツ)Kジョブプログラムを割付ける方法を説明
する。
(Explanation of the principle and operation of the invention) Before explaining one embodiment of the present invention, it is important to understand that in a single processor system consisting of only a single processor unit as shown in FIG. ) Explain how to allocate K job programs.

第1図を参照すると、シングルプロセッサシステムはメ
モリユニット1とインストラクションカウントレジスタ
3とを具備し7たプロセッサユニット2、ならびにメモ
リユニット1とプロセッサユニット2との間を接続する
ための信号線4から構成されている。プロセッサユニッ
ト2は、プログラムを実行するユニットであり、プログ
ラムを構成する各命令を逐次、インストラクションカウ
ントレジスタ3の内容に従ってメモリユニット1から取
り出して実行する。
Referring to FIG. 1, the single processor system includes a processor unit 2 having a memory unit 1 and an instruction count register 3, and a signal line 4 for connecting the memory unit 1 and the processor unit 2. has been done. The processor unit 2 is a unit that executes a program, and sequentially retrieves each instruction constituting the program from the memory unit 1 according to the contents of the instruction count register 3 and executes it.

第2図を参照すると、本発明に依るマルチプロセッサ制
御方式によって定毅されているプログラム状態語(P8
W)lまフィールド1、フィールド2およびフィールド
3に分割されている。
Referring to FIG. 2, the program state word (P8
W) It is divided into field 1, field 2 and field 3.

このプログラム状態語はプログラムを実行するために必
要な情報を有し、各プログラム毎にその情報は固有なも
のである。
This program status word has information necessary to execute the program, and this information is unique for each program.

上記フィールド1の内容は該当するプログラム状態語に
属するプログラムの実行モードを決定するものであり、
フィールド2は該当するプログラムの最初の命令のメモ
リユニット1の内部での位置、すなわちアドレス情報を
指示するものである。これは、特にインストラクション
カウンタと呼ばれる。上記フィールド3にはプログラム
実行中における入出力割込みに関するマスク情報を備え
ている。既に説明した様に、プログラム状態語は各プロ
グラム毎に定義されているものであるため、プログラム
の個数だけのプログラム状態語が存在することになり、
メモリユニット1の内部にプログラムとともに格納され
ている。第3図はメモリユニット1の内部において各プ
ログラムとプログラム状態語とが結びついて格納されて
いる状態を概念的に示したものである。第3図を参照す
ると、それぞれモニタプログラム、ジョブプログラムa
1ジョブプログラムb、およびジョブプログラムCに固
有なプログラム状態語がそれぞれP8WO1P S W
a 、 P S Wb、およびP8Wcとして割当られ
ている。1だ、プログラム状態語p swo、P 8W
a 、 P SWb、およびP8Wcのメモリ内部にお
ける格納アドレスはそれぞれ100016.20001
6.2010ts、および20201+1である。ここ
で、添字の16 F116進数表示であることを示す。
The contents of field 1 above determine the execution mode of the program belonging to the corresponding program status word,
Field 2 indicates the location within memory unit 1 of the first instruction of the corresponding program, that is, address information. This is specifically called an instruction counter. Field 3 contains mask information regarding input/output interrupts during program execution. As already explained, program status words are defined for each program, so there are as many program status words as there are programs.
It is stored inside the memory unit 1 together with the program. FIG. 3 conceptually shows a state in which each program and a program status word are stored in association within the memory unit 1. Referring to FIG. 3, the monitor program and job program a
1 The program status words unique to job program b and job program C are P8WO1P SW
a, PSWb, and P8Wc. 1, program state word p swo, P 8W
The storage addresses in the memory of a, PSWb, and P8Wc are 100016.20001, respectively.
6.2010ts, and 20201+1. Here, the 16F hexadecimal representation of the subscript is shown.

また、モニタプログラム、ジョブプログラムa1ジョブ
プログラムbおよびジョブプログラムCのメモリユニッ
ト1の内部での開始アドレス、すなわち各プログラムの
中で最初に実行すべき命令のアドレスはそれぞれ500
016.6000sa、700016、および8000
16であるとする。従って、図示された各プログラム状
態語のフィールド2、すなわちインストラクションカウ
ント部の内容は、それぞれ50001..600016
.700016 、および5ooo 16となっている
Furthermore, the start addresses of the monitor program, job program a, job program b, and job program C within the memory unit 1, that is, the address of the first instruction to be executed in each program, are each 500.
016.6000sa, 700016, and 8000
Suppose that it is 16. Therefore, the contents of field 2, the instruction count portion, of each program state word shown are 50001. .. 600016
.. 700016, and 5ooo 16.

以上説明したように、プログラムの実行KThいては、
プログラム状態語に呵り該当プログラムの動作態様、お
よびメモリユニット1の内部でのプログラムの格納アド
レスを認識することができる。したがって、これらのプ
ログラムをプロセッサユニット2により実行するために
は、実行を開始しようとするプログラムに対応するプロ
グラム状態語をプロセッサユニット2に取込み、プロセ
ッサユニット2の内部のプログラム実行制卸部に与えれ
ばよい。このために、特にプログラム状態語ロード命令
(LOAD  PSW命令)が用意されている。
As explained above, when executing a program KTh,
By reading the program status word, the operating mode of the corresponding program and the storage address of the program within the memory unit 1 can be recognized. Therefore, in order for these programs to be executed by the processor unit 2, the program status word corresponding to the program to be started is taken into the processor unit 2 and given to the program execution controller inside the processor unit 2. good. For this purpose, a program state word load instruction (LOAD PSW instruction) is especially provided.

第4図は、プログラム状態語ロード命令の構成を図示し
たものである。この命令HOPコードフィールドに98
316を有する命令として定義され、アドレスフィール
ドにはプログラム状態が格納されているメモリアドレス
を含んでいる。
FIG. 4 illustrates the structure of the program state word load instruction. 98 in the HOP code field of this instruction.
316, and the address field contains the memory address where the program state is stored.

プログラム状態語ロード命令は「アドレスフィールドに
より指示されているメモリアドレスからプログラム状態
語を取出し、プロセッサユニット2の内部の所定のレジ
スタにロードする」という機能を有している。この所定
のレジスタとはプログラム状態語の各フィールドの内容
を保持するためのものであり、特に第2図に示すフィー
ルド2の内容、すなわちインストラクションカウント部
の内容は第1図に示すインストラクションカウントレジ
スタ3に格納される。
The program state word load instruction has the function of "taking out the program state word from the memory address indicated by the address field and loading it into a predetermined register inside the processor unit 2." This predetermined register is for holding the contents of each field of the program state word, and in particular, the contents of field 2 shown in FIG. 2, that is, the contents of the instruction count section, are stored in the instruction count register 3 shown in FIG. is stored in

すなわち、プログラム状態語ロード命令に↓リプロセッ
サユニット2の内部のインストラクンヨン力つンタレジ
スタ3はそれまでとは別の新しい情報であるインストラ
クションカウント部を含むものである。インストラクシ
ョンカウントレジスタ3にセットされている以外の他の
プログラム動作モードについても同様に実行されるもの
である。プロセッサユニット2はインストラクションカ
ウントレジスタ3の内容に応じ、メモリユニット1の内
部から命令を取出して実行することによってプログラム
を実行していく。
That is, in response to the program state word load instruction, the instruction count register 3 inside the reprocessor unit 2 includes an instruction count field that is new information different from the previous information. Program operation modes other than those set in the instruction count register 3 are executed in the same manner. The processor unit 2 executes the program by extracting and executing instructions from the memory unit 1 according to the contents of the instruction count register 3.

この点は既に説明したとおりであり、このプログラム状
態語ロード命令を実行した後はプロセッサユニット2は
それまでとは別のプログラムを実行し2ていくことにな
る。、換言すれば、プロセッサユニット2の内部で実行
するプログラムの切換えを行ったことになる。以上の機
能を使用シ、モニタプログラムはジョブプログラムをプ
ロセッサユニット2へ割付ける。すなわち、例えば第3
図のように実行開始を待っているジョブプログラムa、
b、cが存在する場合、モニタプログラムは前もって決
められている選択基帛に従ってそのうちのひとつ、例え
ばジョブプログラムaf選択し、対応するプログラム状
態語をプロセッサユニット2に与える。しかしながら、
モニタプログラム自身もひとつのプログラムであるので
、現在、プロセッサユニット2の内部で実行中のプログ
ラムはモニタプログラムである。すなわち、プロセッサ
ユニット2の保有するプログラム状態語はモニタプログ
ラム用のプログラム状態P8WOである。従ってプロセ
ッサユニット2の実行プログラム、すなわち換言すれば
プログラム状態語(PSW)をモニタプログラムからジ
ョブプログラムaに切り換える必要がある。このため、
上記プログラム状態語ロード命令によってジョブプログ
ラムaに対応するプログラム状態語P s w aがプ
ロセッサユニット2にロードされる。
This point has already been explained, and after executing this program state word load instruction, the processor unit 2 will continue to execute a different program. In other words, the program executed inside the processor unit 2 has been switched. Using the above functions, the monitor program allocates the job program to the processor unit 2. That is, for example, the third
As shown in the figure, job program a is waiting to start execution.
If b, c exist, the monitor program selects one of them, for example job program af, according to predetermined selection criteria and provides the corresponding program status word to the processor unit 2. however,
Since the monitor program itself is one program, the program currently being executed inside the processor unit 2 is the monitor program. That is, the program state word held by the processor unit 2 is the program state P8WO for the monitor program. Therefore, it is necessary to switch the execution program of the processor unit 2, or in other words, the program status word (PSW) from the monitor program to the job program a. For this reason,
The program status word P s wa corresponding to job program a is loaded into the processor unit 2 by the program status word load command.

第5図はモニタプログラムがジョブプログラムをプロセ
ツザユニツ)2に割付ける場合のフローチャートを示す
図である。第5図に示すように、まず、実行可能なジョ
ブプログラムの中から選択的にひとつのプログラムを決
定し、仁のプログラムを実行状態として区別した後、対
応するプログラム状態語をプログラム状態語ロード命令
によりプロセッサユニット2にロードする。第5図に示
すフローチャートにおいて、特に重要な点はプログラム
状態語ロード命令を実行した後では処理が行われない点
である。なぜならば、このモニタプログラムはシングル
プロセッサシステムのためのモニタプログラムであり、
プログラムを実行するプロセッサユニット2はひとつし
か存在しないためである。このため、ジョブプログラム
がプロセッサユニット2に割付けられた後は、もはや他
にプログラムの実行できるプロセッサユニツl存在しな
い。
FIG. 5 is a flow chart showing the case where the monitor program allocates a job program to the processor unit 2. As shown in FIG. 5, first, one program is selectively determined from among the executable job programs, and after distinguishing the current program as being in the running state, the corresponding program state word is sent to the program state word load command. is loaded into the processor unit 2 by. In the flowchart shown in FIG. 5, a particularly important point is that no processing is performed after the program state word load instruction is executed. This is because this monitor program is for a single processor system,
This is because there is only one processor unit 2 that executes the program. Therefore, after the job program is assigned to the processor unit 2, there are no other processor units that can execute the program.

従って、モニタプログラムはジョブプログラムをプロセ
ッサユニツ)K割付けた後、自身の動作するプロセッサ
ユニットがないのでその後の処理に無意味となる。以上
の説明からシングルプロセッサシステムの場合にモニタ
プログラムく のみがジョブプログラムをプロセッサユニット2に割付
けることは明らかである。
Therefore, after the monitor program allocates the job program to processor units (K), it becomes meaningless for subsequent processing since there is no processor unit to operate on. From the above explanation, it is clear that in the case of a single processor system, the monitor program assigns job programs to the processor units 2.

(実施例の説明) 次に、この原理を応用して構成した本発明に依るマルチ
プロセッサ制御方式の一実施例について、図面を参照し
て説明する。
(Description of an Embodiment) Next, an embodiment of a multiprocessor control system according to the present invention constructed by applying this principle will be described with reference to the drawings.

第6図は本発明に依るマルチプロセッサ制御方式の一実
施例を示す。第6図において、マルチプロセッサ制御方
式はメモリユニット10と、第1〜第4のプロセッサユ
ニット20〜23トカら構成されている。第1〜第4の
プロセッサユニット20〜23r/i共通のメモリ母線
40によりメモリュニツ)IOK:結合されている。ま
た、第1〜第4のプロセッサユニット20〜23の内部
には、それぞれ互いに他のプロセッサユニットとの情報
の授受を行うための第1〜第4のプロセッサ間通信制御
部60〜63が具備されている。
FIG. 6 shows an embodiment of the multiprocessor control scheme according to the present invention. In FIG. 6, the multiprocessor control system is composed of a memory unit 10 and first to fourth processor units 20 to 23. The first to fourth processor units 20 to 23r/i are connected by a common memory bus 40. Further, the first to fourth processor units 20 to 23 are each provided with first to fourth inter-processor communication control units 60 to 63 for mutually exchanging information with other processor units. ing.

それぞれ、第1のプロセッサユニット20には第1のプ
ロセッサ間通信制御部60、第2のプロセッサユニツ)
21Kij第2のプロセッサ間通信制御部61、第3の
プロセッサユニット22には第3のプロセッサ間通信制
御部62、第4のプロセッサユニット23には第4のプ
ロセッサ間通信制御部63が対応する。第1〜第4のブ
ロセッザ間通信制御部60〜63ハ共通の制御母線50
により結合されている。第1〜第4のプロセッサユニッ
ト20〜23ケ第1図に示すシングルプロセッサシステ
ムと同様なプログラム実行ユニットであシ、それぞれ第
1〜第4のインストラクションカウントレジスタ30〜
33を具備する。
The first processor unit 20 includes a first inter-processor communication control section 60 and a second processor unit).
21Kij A second inter-processor communication control section 61, a third inter-processor communication control section 62 corresponds to the third processor unit 22, and a fourth inter-processor communication control section 63 corresponds to the fourth processor unit 23. A common control bus 50 for the first to fourth inter-buseser communication control units 60 to 63
are connected by. The first to fourth processor units 20 to 23 are program execution units similar to the single processor system shown in FIG.
33.

次に、第6図に示したマルチプロセッサ制御方式におけ
る一実施例のモニタプログラムの動作を第7図のフロー
チャートに従って説明する。
Next, the operation of a monitor program according to an embodiment of the multiprocessor control system shown in FIG. 6 will be described with reference to the flowchart shown in FIG.

第7図を参照すると、ステップA、B、CViシングル
プロセッサシステムの場合と同様な動作をするが、ステ
ップDのブランチ命令の実行の後でステップAtC戻る
ように構成されている点が第3図のシングルプロセッサ
システムの場合とけ異なる。すなわち、ステップA→ス
テップB→ステップCの移行により1個のジョブプログ
ラムが第1〜第4のプロセッザユニッ) 20〜23の
ひとつに割付けられた後、さらにステップDのブランチ
命令によシステップAに戻る。
Referring to FIG. 7, steps A, B, and CVi operate in the same way as in the case of the CVi single processor system, except that after execution of the branch instruction in step D, the system returns to step AtC. This is different for single-processor systems. That is, after one job program is assigned to one of the first to fourth processor units (20 to 23) by the transition from step A to step B to step C, the program is further assigned to one of the first to fourth processor units (20 to 23), and then transferred to one of the step D by the branch instruction. Return to A.

以下、同様の処理が繰返される。再び第6図を参照する
と、第1〜第4のプロセッサユニット20〜23では、
それぞれプログラム状態語ロード命令によって、自身の
プログラム状態語から該当する命令によって指定された
プログラム状態語へと切換えられるが、この動作はシン
グルプロセッサの場合と同様である。しかし、本発明に
依る上記実施例においてこの切換え動作を行う場合には
、第1〜第4のプロセッサユニット20〜23の内部に
それぞれ対応して存在する第1〜第4のプロセッサ間通
信制御部60〜63と、共通の制御母線50とを介し、
他のアイドル状態にあるプロセッサユニットのうちのひ
とつを選択する。そこで、それまで保有していたプロク
ラム状態語を選択されたプロセッサユニットに対して転
送する。すなわち、モニタプログラムを実行中であった
プロセッサユニッ)Uそれまで実行中であったモニタプ
ログラムのプログラム状態語をアイドル状態にある他の
プロセッサユニットのひとつに与えた後、プログラム状
態語ロード命令で指定さiた新しいジョブプログラムの
プログラム状態語を自身にロードし、このジョブプログ
ラムの実行を開始する。ここで、モニタプログラムを実
行するプロセッサユニットを第1のプロセッサユニッ)
 20とし、アイドル状態にあって第1のプロセッサユ
ニット20によシ選択されたプロセッサユニットを第2
のプロセッサユニット21とすると、第1のプロセッサ
ユニッ)20Fiモニタプログラムのプログラム状態語
を第2のプロセッサユニット21に与えた後、プログラ
ム状態語ロード命令で指定された新しいジョブプログラ
ムのプログラム状態語を第1のプロセッサユニット20
にロードする。
Thereafter, similar processing is repeated. Referring again to FIG. 6, in the first to fourth processor units 20 to 23,
Each program state word load instruction switches from its own program state word to the program state word specified by the corresponding instruction, but this operation is the same as in the case of a single processor. However, when performing this switching operation in the above embodiment according to the present invention, the first to fourth inter-processor communication control units that are present in the first to fourth processor units 20 to 23 respectively correspond to the switching operation. 60 to 63 and the common control bus 50,
Select one of the other idle processor units. Therefore, the program state word held until then is transferred to the selected processor unit. In other words, after the processor unit that was executing the monitor program gives the program status word of the monitor program that was being executed to one of the other processor units that is in the idle state, it is specified with a program status word load instruction. It also loads the program status word of the new job program into itself and starts executing this job program. Here, the processor unit that executes the monitor program is called the first processor unit).
20, and the processor unit selected by the first processor unit 20 in the idle state is assigned to the second processor unit 20.
Assuming that the processor unit 21 is the first processor unit 20, after giving the program state word of the Fi monitor program to the second processor unit 21, the program state word of the new job program specified by the program state word load instruction is given to the second processor unit 21. 1 processor unit 20
Load into.

これによって、第1のプロセッサユニッ) 20はジョ
ブプログラムの実行を開始する。いつほう、第2のプロ
セッサユニット21は第1のプロセッサユニット20の
指示により第1および第2のプロセッサ間通信制卸部6
0 、61と制御母線50とを介し、モニタプログラム
のプログラム状態語をロードするように指示を受けると
、与えられたモニタプログラムのプログラム状態語に従
ってプログラムの実行を開始する。このとき、プログラ
ム状態語は第1のプロセッサユニット20がプログラム
状態語ロード命令を実行した後の状態であるので、プロ
グラム状態語のインストラクションカウント部は第7図
のプログラム状態語ロード命令の直後に位置するステッ
プDのブランチ命令を指示している。依って、第2のプ
ロセッサユニット21ハ第7図のステップDのブランチ
命令を実行するので、ステップAに戻ってステップA→
ステップB→ステップCの処理が順次続行される。従っ
て第1のプロセッサユニット20で以前実行したのと同
様処して第2のプロセッサユニット21でモニタプログ
ラムを実行し、第7図のステップCで示されたプログラ
ム状態語ロード命令に到達すると、再び第2のプロセッ
サユニット21ハアイドル状態である他のプロセッサユ
ニットを選択し、モニタプログラムのプログラム状態語
をこのプロセッサユニットに与えた後、ジョブプログラ
ムの実行を開始する。このようにして次々とモニタプロ
グラムがアイドル状態になっているプロセッサユニツ)
K移され、そのプロセッサユニッ)Kよってジョブプロ
グラムが起動される。
As a result, the first processor unit 20 starts executing the job program. In response to instructions from the first processor unit 20, the second processor unit 21 communicates with the first and second inter-processor communication controller 6.
0, 61 and the control bus 50, when receiving an instruction to load the program status word of the monitor program, it starts executing the program according to the program status word of the given monitor program. At this time, since the program state word is the state after the first processor unit 20 executes the program state word load instruction, the instruction count part of the program state word is located immediately after the program state word load instruction in FIG. The branch instruction of step D is specified. Therefore, the second processor unit 21 executes the branch instruction in step D in FIG. 7, so it returns to step A and executes step A→
The processing from step B to step C is continued in sequence. Therefore, when the monitor program is executed in the second processor unit 21 in the same manner as previously executed in the first processor unit 20, and the program state word load instruction shown in step C in FIG. The second processor unit 21 selects another processor unit that is in an idle state, gives the program status word of the monitor program to this processor unit, and then starts executing the job program. Processor units whose monitor programs are in an idle state one after another in this way)
The job program is started by the processor unit K.

第8図は第1のプロセッサユニット2oがら始まり、第
3のプロセッサユニット22までジョブプログラムの起
動が行われる様子を時系列的に示した図である。第8図
ではジョブプログラムa、b、cが実行開始を待ってお
り、この順に各ジョブプログラムが選択される。第1の
プロセッサユニット20がモニタプログラムからジョブ
プログラムaに切換ると、第2のプロセッサユニットで
モニタプログラムの実行を開始する。
FIG. 8 is a diagram chronologically showing how a job program is started starting from the first processor unit 2o and ending at the third processor unit 22. In FIG. 8, job programs a, b, and c are waiting to start execution, and each job program is selected in this order. When the first processor unit 20 switches from the monitor program to job program a, the second processor unit starts executing the monitor program.

第2のプロセッサユニット21でモニタブログラムから
ジョブプログラムbに切換わると、第3のプロセッサユ
ニット22でモニタプログラムの実行を開始する。第3
図のプロセッサユニット22でモニタプログラムからジ
ョブプログラムCに切換わると、第4のプロセッサユニ
ット23でモニタプログラムの実行を開始する。本実施
例では、第4のプロセッサユニット23はアイドル状態
にあるが、起動すべきジョブプログラムは存在しないの
で、モニタプログラムは再び第4のプロセッサユニット
23をアイドル状態にさせておく。
When the second processor unit 21 switches from the monitor program to the job program b, the third processor unit 22 starts executing the monitor program. Third
When the processor unit 22 shown in the figure switches from the monitor program to the job program C, the fourth processor unit 23 starts executing the monitor program. In this embodiment, the fourth processor unit 23 is in the idle state, but since there is no job program to start, the monitor program keeps the fourth processor unit 23 in the idle state again.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はシングルプロセッサシステムの実例のブロック
図、第2図は本発明に依るマルチプロセッサ制御方式に
よって定義されているプログラム状態語の構成を示す図
、第3図はメモリユニットの内部において各プログラム
とプログラム状態語とが結びついて格納されている状態
を概念的に示したブロック図、第4図はプログラム状態
語ロード命令の構成を図示した図、第5図はモニタプロ
グラムがジョブプログラムをプロセッサユニットに割付
ケる場合のフローチャートを示す図、第6図は本発明に
よるマルチプロセッサ制御方式の一実施例を示すブロッ
ク図、第7図は第6図のマルチプロセッサ制御方式にお
いて、モニタプログラムがジョブプログラムをプロセッ
サユニットに割付ける場合のフローチャート、第8図は
第1図のプロセッサユニットから始まり第3のプロセッ
サユニツ[でのジョブプログラムの起動が行われる様子
を時系列的に示した図である。 1.10・・・メモリユニット 2.20〜23・・・プロセッサユニット3.30〜3
3・・・インストラクションカウントレジスタ 60〜63・・・プロセッサ間通信制御部4°−) −
E−IJ母線  50 °゛告″1母線       
   (5特許出願人  日本電気株式会社 代理人 弁理士 井ノロ  壽 第1図 園] ”A−3図 PSW。 ゛割− 〉、”2Q7:’戸5パ フo、、、&psv 凹 一口 8αす [を写・ 第4図 第5図
FIG. 1 is a block diagram of an actual example of a single processor system, FIG. 2 is a diagram showing the structure of a program state word defined by the multiprocessor control method according to the present invention, and FIG. FIG. 4 is a diagram illustrating the structure of a program state word load instruction, and FIG. FIG. 6 is a block diagram showing an embodiment of the multiprocessor control method according to the present invention, and FIG. 7 is a block diagram showing an example of the multiprocessor control method of FIG. FIG. 8 is a flowchart illustrating how a job program is started from the processor unit in FIG. 1 to a third processor unit in chronological order. 1.10...Memory unit 2.20-23...Processor unit 3.30-3
3... Instruction count registers 60 to 63... Inter-processor communication control unit 4°-) -
E-IJ bus 50° 1 bus
(5 Patent Applicant NEC Co., Ltd. Agent Patent Attorney Hisashi Inoro Hisashi Izuen) ``A-3 Figure PSW. Copy Figure 4 Figure 5

Claims (1)

【特許請求の範囲】[Claims] 複数のプログラムを記憶しておくためのメモリユニット
と、前記メモリユニットを共用し、前記複数のプログラ
ムのうちの少なくともひとつのプログラムを同時に実行
するための複数筒のプロセッサユニットと、前記メモリ
ユニットと前記複数筒のプロセッサユニットとを接続す
るためのメモリ母線と、前記複数筒のプロセッサユニッ
トの相互の間を接続するための制御母線とを具備し、且
つ、前記複数筒のプロセッサユニットのそれぞれがイン
ストラクションカウントレジスタと前記制御母線に接続
されたプロセッサ間通信制御部とを具備し、前記複数筒
のプロセッサユニットのうちのひとつがプログラム状態
語ロード命令により新たなプログラムの実行を開始する
ときに他のプロセッサユニットのなかでアイドル状態と
なっているものがある場合には、前記アイドル状iとな
っているプロセッサユニットのうちのひとつを選択し、
前記プログラム状態語ロード命令に続く命令の実行を前
記選択されたプロセッサユニットに対して指示すること
を特徴としたマルチプロセッサ制御方式。
a memory unit for storing a plurality of programs; a multi-tube processor unit for sharing the memory unit and simultaneously executing at least one program among the plurality of programs; a memory bus for connecting the plurality of processor units; and a control bus for connecting the plurality of processor units; and each of the plurality of processor units has an instruction count. a register and an inter-processor communication control unit connected to the control bus, and when one of the plurality of processor units starts execution of a new program in response to a program state word load instruction, the other processor unit If there is one in the idle state, select one of the processor units in the idle state i,
A multiprocessor control system characterized by instructing the selected processor unit to execute an instruction following the program state word load instruction.
JP10963582A 1982-06-25 1982-06-25 Multi-processor controlling system Granted JPS58225469A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10963582A JPS58225469A (en) 1982-06-25 1982-06-25 Multi-processor controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10963582A JPS58225469A (en) 1982-06-25 1982-06-25 Multi-processor controlling system

Publications (2)

Publication Number Publication Date
JPS58225469A true JPS58225469A (en) 1983-12-27
JPS635790B2 JPS635790B2 (en) 1988-02-05

Family

ID=14515272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10963582A Granted JPS58225469A (en) 1982-06-25 1982-06-25 Multi-processor controlling system

Country Status (1)

Country Link
JP (1) JPS58225469A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418703B2 (en) 2002-03-20 2008-08-26 Nec Corporation Parallel processing system by OS for single processor
US7526673B2 (en) 2003-03-31 2009-04-28 Nec Corporation Parallel processing system by OS for single processors and parallel processing program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418703B2 (en) 2002-03-20 2008-08-26 Nec Corporation Parallel processing system by OS for single processor
US7526673B2 (en) 2003-03-31 2009-04-28 Nec Corporation Parallel processing system by OS for single processors and parallel processing program

Also Published As

Publication number Publication date
JPS635790B2 (en) 1988-02-05

Similar Documents

Publication Publication Date Title
EP0145244B1 (en) Microcomputer
US4080651A (en) Memory control processor
US4675806A (en) Data processing unit utilizing data flow ordered execution
US4989133A (en) System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof
US4080652A (en) Data processing system
US4414627A (en) Main memory control system
US4126893A (en) Interrupt request controller for data processing system
JP2669816B2 (en) Microcomputer for interprocess communication and method for operating a plurality of simultaneous processes in a microcomputer system
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
JPS58225469A (en) Multi-processor controlling system
JP2797760B2 (en) Parallel processing computer system
EP0183877B1 (en) Microcomputer for time dependent processes
JPS603229B2 (en) Information processing method
JPS6248871B2 (en)
JP2927102B2 (en) Instruction string switching method and arithmetic processor using the same
JP3022398B2 (en) Virtual computer system
KR960012658B1 (en) Information processing system
JP2506591B2 (en) Auxiliary processor
JPS63245528A (en) Rule block control system
JPS59127153A (en) Program loading system
WO1986003311A1 (en) Microcomputer for time dependent processes
JPH0319037A (en) Control system for task execution time
JPS6371761A (en) System for defining system condition of online system
JPS63233451A (en) Main memory replacing system
JPS61260345A (en) Bus control system among multiprocessors