JPS62115567A - Multiplex processor system - Google Patents

Multiplex processor system

Info

Publication number
JPS62115567A
JPS62115567A JP60256287A JP25628785A JPS62115567A JP S62115567 A JPS62115567 A JP S62115567A JP 60256287 A JP60256287 A JP 60256287A JP 25628785 A JP25628785 A JP 25628785A JP S62115567 A JPS62115567 A JP S62115567A
Authority
JP
Japan
Prior art keywords
central processing
processing unit
execution
priority
queue
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.)
Pending
Application number
JP60256287A
Other languages
Japanese (ja)
Inventor
Naoyuki Nomura
直之 野村
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
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 filed Critical NEC Corp
Priority to JP60256287A priority Critical patent/JPS62115567A/en
Publication of JPS62115567A publication Critical patent/JPS62115567A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE:To improve the cache hit rate by applying process dispatching processing so that a CPU executing the own process finally causes the execution state as much as possible so long as control based on the priority is not disturbed. CONSTITUTION:When no process under execution exists in CPUs 200-203 or a new process is enqueued in an executable process quene, the process dispatching processing is started. Then the process dispatching processing is informed to the CPU 200, and whether or not a VACANT flag (a flag representing the absence of a process under execution) is logical 1 is decided, and when the flag is 1, the head of the executionable process queue is dequeued. Then PCB (a process control block having an identification name of a CPU executing the process finally) information of the process is fetched in the inside of the CPU 200 and required flag is reset. Thus, the cache hit rate after the process dispatching processing is improved.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はそれぞれ内部にキャッシュ”kNfる複数の中
央処理装置と、これらの中央処理装置によって共有され
る主記憶装置とを備えt多重プロセサシステムに関し、
%に斯かるシステムにおけるプロセスのディスパッチン
グ制御に関する。
Detailed Description of the Invention (Industrial Application Field) The present invention relates to a multiprocessor system comprising a plurality of central processing units each having an internal cache and a main memory shared by these central processing units. Regarding
% relates to the dispatching control of processes in such systems.

(従来の技術〕 現在の中太形コンピュータシステムの中央処理装置の殆
んどは、主記憶装置のアクセス時間を短縮する之めに、
内部にキャッシュメモリと云われるバッファメモリを備
えている。中央処理装置すらびにコンピュータシステム
全体の処理速度を向上させる九めには、メモリ内容を主
記憶までアクセスすることなく、キャッシュメモリ上で
上記エントリをアクセスできる確率、すなわちキャッシ
ュメモリのヒツト率を同上させることが重要である。
(Prior Art) Most of the central processing units of current medium-sized computer systems are designed to reduce access time to the main memory.
It has an internal buffer memory called cache memory. The ninth step to improving the processing speed of the central processing unit and the entire computer system is to increase the probability that the above entry can be accessed on the cache memory without accessing the memory contents up to the main memory, that is, the hit rate of the cache memory. This is very important.

この定め、不要なエントリのキャッシュメモリからの早
朝吐出しゃアクセス頻度の高いエントリの常駐化を狙っ
て、さまざまな方式上の工夫がなされている。
Various methods have been devised to meet this requirement and to make frequently accessed entries resident by discharging unnecessary entries from the cache memory early in the morning.

いっぽう、通常の中太形コンピュータシステムには、シ
ステム内の各中央処理装置上で、実行するプロセスディ
替えるためのプロセスディ、(/< ツ?ン/J能を備
えている。システム内には唯一つの実行可能なプロセス
待ち行列が存在し、プロセス切替えの可能性を生じさせ
る何らかの事象が発生した場合には、いずれ〃)の中央
処理装置上でディスパッチング機能が動作して、現在実
行中のプロセスと実行可能なプロセス待ち行列の先頭に
存在する(次にデキューされるべき)プロセスとの間で
実行優先度を比較し、高優先度のプロセスを実行状態に
設定する。
On the other hand, a normal medium-sized computer system is equipped with a process function for changing the process executed on each central processing unit in the system. If there is only one runnable process queue and some event occurs that gives rise to the possibility of a process switch, the dispatching facility will operate on the central processing unit of The execution priorities are compared between the process and the process at the head of the runnable process queue (to be dequeued next), and the process with the higher priority is set to the running state.

すなわち、現在実行中のプロセスの方が優先度が高けれ
ば、何も動作せずにディスパッチング動作を終了し、逆
の場合にはプロセスの切替え(又換)が行われる。また
、現在実行中のプロセスが資源の到着待ちや割当て待ち
等の理由により実行娑継続できなぐなつ友場合、あるい
は中央処理装置上で実行中のプロセスが存在しない場合
にも、ディスパッチング機能が動作して中央処理装置上
に実行可能なプロセス待ち行列の先頭プロセスを呼出し
て実行状)甜にする。
That is, if the currently executing process has a higher priority, the dispatching operation is terminated without performing any operation, and in the opposite case, the process is switched (or switched). The dispatching function also operates when the currently running process cannot continue running due to reasons such as waiting for resources to arrive or being allocated, or when there are no processes running on the central processing unit. Then, the first process in the executable process queue on the central processing unit is called and placed in an execution state.

実行中でも実行可能状態でもなかつ友プロセスが実行可
能なプロセス待ち行列にエンキューされたときには、シ
ステム内で現在実行中のプロセスよりも高い優先順位乞
もつプロセスが実行可能なプロセス待ち行列の(論理的
)先頭にきている可能性がある。従って、現在実行中の
全プロセスの優先順位と、上記待ち行列の先頭プロセス
の優先順位とχ比較しなければならない。その前に、各
中央処理装置の状態をみて、機能的に正常で実行プロセ
スが存在しないものがあれば、第5図に示すように無条
件にその中央処理装置に上記待ち行列の先頭プロセスを
ロールインする。
When a friend process is enqueued to a runnable process queue that is neither running nor runnable, a process with a higher priority than the currently running process in the system is enqueued to the runnable process queue (logically). It may be in the lead. Therefore, the priorities of all processes currently being executed must be compared with the priority of the first process in the queue. Before that, check the status of each central processing unit, and if there is one that is functionally normal and has no executing process, the first process in the queue is unconditionally sent to that central processing unit as shown in Figure 5. Roll in.

通常、このプロセス優先順位の比較処理は、実行プロセ
ス切替えの可能性を生ずる事象を発生させる契機となる
動作、すなわちプロセス待ち行列の存在するセマフォに
対するV−オペレーション等を行って、成るプロセスを
実行可能プロセスの待ち行列にエンキューする動作を行
った中央処理装置上で引続き実行される。比較処理の時
点で、システム内の全中央処理装置がプロセス実行状態
にあると仮定すると、比較処理の結果として次の4ケー
スが考えられる。
Normally, this process priority comparison process is performed by performing an operation that triggers an event that causes the possibility of switching execution processes, such as a V-operation on a semaphore where a process queue exists, so that the process can be executed. It continues to be executed on the central processing unit that performed the enqueue to the process's queue. Assuming that all central processing units in the system are in a process execution state at the time of comparison processing, the following four cases are possible as a result of comparison processing.

第1は、比較処理を行った自中央処理装置で実行中のプ
ロセスが、すべての中央処理装置上のプロセスと実行可
能なプロセス待ち行列の先頭プロセスとのなかで最低の
実行優先度をもつケースである。
The first is a case where the process being executed on the own central processing unit that performed the comparison process has the lowest execution priority among all the processes on the central processing unit and the top process in the executable process queue. It is.

第2は、自中央処理装置で実行中のプロセスがすべでの
比較対象プロセスのなかで最低ではなAが、実行可能な
プロセス待ち行列の先頭プロセスよりは低い実行優先度
をもつケースである。
The second case is that A, which is the lowest process being executed in its own central processing unit among all comparison target processes, has a lower execution priority than the first process in the executable process queue.

第3は、自中央処理装置で実行中のプロセスが実行可能
なプロセス待ち行列の先頭プロセスより高い実行優先度
乞もつが、他の中央処理装置上のプロセスで待ち行列の
先頭プロセスよりも低い優先順位をもつものが存在する
ケースである。
Third, a process running on its own central processing unit has a higher execution priority than the first process in the executable process queue, but a process on another central processing unit has a lower priority than the first process in the queue. This is a case where something with a ranking exists.

第4は、すべての実行中のプロセスが実行oJ能なプロ
セス待ち行列の先頭プロセスよりも高い実行優先度をも
つケースである。
The fourth case is a case in which all the running processes have a higher execution priority than the first process in the process queue that can be executed.

上記従来方式によれば、キャッシュメモリのなかつ友時
代の名残りである単一処理装置の場合に比較して、大き
く制御を変えて(八ない。このような観点から、第1お
よび第2のケースでは自中央処理装置上で実行中のプロ
セスと、実行可能なプロセス待ち行列の先頭プロセスと
乞交換(5WAP)する。第3のケースでは、最低実行
優先度のプロセスを実行中の中央処理装置上において、
このプロセスと実行可能なプロセス待ち行列の先頭プロ
セスとを交換する。第4のケースでは、何も動作しない
ように制御する。
According to the above conventional method, compared to the case of a single processing device in the cache memory, which is a vestige of the old days, the control is significantly changed (8).From this point of view, the first and second cases are In the third case, the process running on the central processing unit is exchanged with the top process in the executable process queue (5WAP).In the third case, the process running on the central processing unit executing the process with the lowest execution priority is In,
Swap this process with the top process in the runnable process queue. In the fourth case, no operation is performed.

ここで、視点を変えて新しくプロセスがロールインされ
九中央処理装置の内部におけるキャッシュメモリについ
て考えてみる。
Now, let's change our perspective and consider the cache memory inside the nine central processing units when a new process is rolled in.

キャッシュメモリは通常、一定サイズの連続する主記憶
上の領域の写しを格納するため、いくつかのコンパート
メントから底立っている。
Cache memory typically consists of several compartments to store a copy of a contiguous area of main memory of fixed size.

中央処理装置が成る主記憶エントリtアクセスし九とき
、阜ヤツシュメモリ上にエントリの写しが存在し、キャ
ツシュヒツトしなければ、LRUアルゴリズムにもとす
いて、最も古くアクセスされ九コンパートメントの内容
の吐出し、ならびにアクセスすべきエントリを含むコン
パートメントのブロックロードが行われる。
When the central processing unit accesses a main memory entry t, if a copy of the entry exists in the memory and is not cached, the LRU algorithm is used to discharge the contents of the most recently accessed compartment. , as well as a block load of the compartment containing the entry to be accessed.

異なるプロセスがそれぞれアクセスする主記憶エン) 
IJは、通常、相当程度排他的に構成されているため、
プロセスのディスパッチング処理の直後には、直前まで
実行中であつ次プロセスに関連するキャッシュメモリ上
のコンパートメントが多く存在する。これらは、現在実
行中のプロセスからは殆んどアクセスされない。
Main memory (main memory accessed by different processes)
IJ is usually configured to a fairly exclusive extent, so
Immediately after a process is dispatched, there are many compartments in the cache memory that were currently being executed and are related to the next process. These are rarely accessed by currently running processes.

(発明が解決しようとする問題点) 前述し友従米の多重プロセサシステムにおいて、採用さ
れているプロセスディスパッチング処理方式によれば、
ディスパッチング処理の直後に実行中のプロセスに関連
するキャッシュメモリ上のコンパートメントが存在する
ことはキャツシュヒツト率を考慮し比制御を行っていな
いため、あt、!l1期待できないと云う欠点がある。
(Problems to be Solved by the Invention) According to the process dispatching method adopted in the above-mentioned multi-processor system,
The existence of a compartment in the cache memory related to the process being executed immediately after the dispatching process is because ratio control is not performed in consideration of the cache hit rate. There is a drawback that you cannot expect l1.

本発明の目的は、プロセス対応に該当プロセスを最後に
実行し友中央処理装置の識別名をも九せ、プロセスディ
スパッチング処理において優先順位にもとすく制御を妨
げない限り、できるだけ自プロセスを最後に実行し友中
央処理装置で実行状態となるように制御すゐことにより
上記欠点を除去し、キャツシュヒツト率を向上できるよ
りに構成し念多重プロセサシステムを提供することにあ
る。
The purpose of the present invention is to execute the corresponding process last, to reduce the identification name of the friend central processing unit, and to set the priority in the process dispatching process. It is an object of the present invention to provide a multi-processor system having a structure that can eliminate the above-mentioned drawbacks and improve the cash hit rate by controlling the execution state to be executed by a companion central processing unit.

(問題点を解決する次めの手段) 本発明による多重プロセサシステムは、それぞれキャッ
シュメモリを有し、プロセスな単位として処理!実行す
る複数の中央処理装置から成り、プロセスに対応してプ
ロセス制御ブロック′ft有するとともに、中央処理装
置上で実行状態となる順番を待つプロセスの名称、およ
びプロセスの実行優先度ケ個々のリンク内に有する実行
可能なプロセス待ち行列χシステムに唯一つ備え、複数
の中央処理装置のそれぞれが実行中のプロセスの優先度
と待ち行列のリンク内の優先度とに従って、プロセスの
実行制御を行うディスパッチング手段を具備して構成し
友ものであり、上記複数の中央処理装置のそれぞれに第
1および第2の実行制御手段を具・備したものである。
(Next means for solving the problem) The multiprocessor system according to the present invention each has a cache memory and processes as a unit of process! Consists of multiple central processing units to be executed, each process has a process control block 'ft, and each link contains the name of the process waiting for its turn to be executed on the central processing unit and the execution priority of the process. A dispatching system that is uniquely equipped with an executable process queue in the system, and in which each of the plurality of central processing units controls the execution of processes according to the priority of the process being executed and the priority within the link of the queue. Each of the plurality of central processing units is provided with first and second execution control means.

第1の実行制御手段は、リンクおよびプロセサ制御ブロ
ックの内部へプロセス?最後に実行し念中央処理装置の
識別名を格納せしめるためのものである。
The first execution control means links the process to the inside of the processor control block? This is to store the identification name of the central processing unit that is executed last.

第2の実行制御手段は、ディスパッチング手段によりプ
ロセスの実行優先度とともにリンク内の識別名な判定せ
しめるためのものである。
The second execution control means is for causing the dispatching means to determine the execution priority of the process as well as the identification name within the link.

(実 施 例) 次に、本発明について図面を参照して詳細に説明する。(Example) Next, the present invention will be explained in detail with reference to the drawings.

第1図は、不発明による多重プロセサシステムに使用さ
れる中央処理装置の一実施例を示すブロック図である。
FIG. 1 is a block diagram illustrating one embodiment of a central processing unit used in a multiprocessor system according to the invention.

第1図でに、ディスパッチングの制御に関する部分の一
実施例を示している。第1図において、xoooは制御
記憶部、100は命令レジスタ、101は命令レジスタ
100の操f145. 102は命令レジスタ100の
アドレス部、103はデコーダ、104はデコーダ、1
10は制御記憶アドレスレジスタ、120は制御記憶、
130は制御記憶データレジスタ、131は制御記憶デ
ータレジスタ130のアドレス部、132は制御記憶デ
ータレジスタ130の制御操作部、140は演算器、1
41は比較器、142はデコーダ、143は演算器、1
50〜154はそれぞれ第1〜第5のレジスタ、160
は命令カウンタ% 170は主記憶アドレスレジスタ、
181は状態フラグ、182は通信受信レジスタ、18
10 、1811.1812はそれぞれVACANT、
0ONTEST、IPSRY茨わすフラグである。。
FIG. 1 shows an embodiment of a portion related to dispatching control. In FIG. 1, xooo is a control storage unit, 100 is an instruction register, and 101 is an operation f145 of the instruction register 100. 102 is an address field of the instruction register 100, 103 is a decoder, 104 is a decoder, 1
10 is a control memory address register, 120 is a control memory,
130 is a control storage data register; 131 is an address section of the control storage data register 130; 132 is a control operation section of the control storage data register 130; 140 is an arithmetic unit;
41 is a comparator, 142 is a decoder, 143 is an arithmetic unit, 1
50 to 154 are first to fifth registers, 160
is the instruction counter %, 170 is the main memory address register,
181 is a status flag, 182 is a communication reception register, 18
10, 1811.1812 are VACANT, respectively.
0ONTEST, IPSRY flag. .

第2図は、本発明による多重プロセサシステムの一実施
例を示すブロック図である。第2図において、200〜
203はそれぞれ中央処理装置、210 、211はそ
れぞれシステム制御装置、 220゜221はそれぞれ
主記憶fc@、 250〜253はそれぞれ入出力処理
装置である。
FIG. 2 is a block diagram illustrating one embodiment of a multiprocessor system according to the present invention. In Figure 2, 200~
203 is a central processing unit, 210 and 211 are system control units, 220 and 221 are main memories fc@, and 250 to 253 are input/output processing units.

第1図および第2図において、例えば中央処理装置20
0は信号線191〜194y!−介して他の中央処理装
置201〜203、入出力処理装[250〜253、あ
るいは主記憶装[220,221に対して通信を行い、
データを授受する。状態フラグ181は他の装置からも
アクセス可能な各種状態フラグ(中央処理装置の状態を
表わす)の集りであり、VACANT7−yf 1s1
o、OONTg8Tフラグエ811、ならびにIPSR
フラグ1812 は後述のようにプロセスのディスパッ
チング制御において使用される。通信受信レジスタ18
2は他の中央処理装置201〜203ならびに入出力処
理装置250〜253からの通信データ(特に通信コー
ド)を受信して格納する几めのものである。
In FIGS. 1 and 2, for example, the central processing unit 20
0 is signal line 191~194y! - communicates with other central processing units 201 to 203, input/output processing units [250 to 253, or main storage units [220, 221],
Send and receive data. The status flag 181 is a collection of various status flags (indicating the status of the central processing unit) that can be accessed from other devices, and is VACANT7-yf 1s1.
o, OONTg8T flag 811, and IPSR
Flag 1812 is used in process dispatching control as described below. Communication reception register 18
Reference numeral 2 is a sophisticated device that receives and stores communication data (particularly communication codes) from other central processing units 201 to 203 and input/output processing units 250 to 253.

第3図は、プロセスディスパッチングに使用される主記
憶装置上のシステム共通領域を表わす説明図である。
FIG. 3 is an explanatory diagram showing a system common area on the main storage device used for process dispatching.

第4図は、最後に該当プロセスを実行し友中央処理装置
!1(OPU)の識別名LAST OPU#ヲ有するプ
ロセス制御ブロック(PCB )のイメージを表わす説
明図で条る。第4図において、「状態表示」は″′実行
中”、″実行可能”、6事象待ち”、あるいは各糧保留
状態、不正状態の別′lt表わし、I”LAST OP
U#Jは斯かるプロセスを最近に実行し九中央処理装置
の番号(OPU#)を弐わす。
Figure 4 shows the friend central processing unit that finally executes the relevant process! This is an explanatory diagram showing an image of a process control block (PCB) having an identification name LAST OPU #1 (OPU). In Fig. 4, the "status display" is "Executing", "Executable", Waiting for 6 events, or other indications such as "Holding status", "Illegal status", and "LAST OP".
U#J has recently executed such a process and has a central processing unit number (OPU#).

第5図および第6図は、第1図において破線で囲まれた
制御記憶部1000上で主として動作するプロセスディ
スパッチング処理、ならびにプロセス交換(5WAP 
)指示通信受信処理について記述し几フローチャートで
ある。
5 and 6 show process dispatching processing and process exchange (5WAP
) is a flowchart describing the instruction communication receiving process.

以下、これらのフローチャートに従って本発明による多
重プロセサシステムにおけるクロセスディスパッチング
処理を説明する。
Cross dispatching processing in a multiprocessor system according to the present invention will be described below with reference to these flowcharts.

システム内にある中央処理装置上で実行中のプロセスが
存在しなくなるか、あるいは実行可能フロセス待ち行列
に新しくプロセスがエンキューされると、プロセスディ
スパッチング処理が起動される。これらの事象は、それ
ぞれVACANT 1810あるいは0ONTES’l
’ tsxxl−介してディスパッチング処理を行う中
央処理装置(例えば、200)へ伝えられる。
Process dispatching is activated when there are no more processes running on a central processing unit in the system, or when a new process is enqueued into a runnable process queue. These events are VACANT 1810 or 0ONTES'l respectively.
' tsxxl- to the central processing unit (for example, 200) that performs the dispatching process.

例えば、他のプロセスと協調して処理を進めている成る
プロセスの処理が先行しすぎ比ために、システムが同期
待ち状態となって自発的にCP”!’ 放棄f る’j
J合1cIdVACANT−″1″となる。ま之、成る
プロセスが入出力処理装置(例えば250)からのメツ
セージの到着を待ってセマフォ上で待ち状匹であったも
のが、実行中の他のプロセスのV−オペレーションでメ
ツセージを受取り、実行可能なプロセス待ち行列にエン
キューされたときにはOONTgST−1″となる。
For example, because the processing of a process that is progressing in cooperation with other processes is too far ahead, the system enters a synchronization wait state and spontaneously abandons the CP.
J combination becomes 1cIdVACANT-"1". However, the process that is waiting for a message to arrive from the input/output processing unit (for example, 250), which is waiting on the semaphore, receives the message with the V-operation of another process that is running, and executes it. When enqueued to a possible process queue, it becomes OONTgST-1''.

第5図のプロセスディスパッチング処理が上記のように
して起動されると、自中央処理装置200のVAOAN
T (′%、行中のプロセスがないとき)が”1″であ
るか否かを判定し、 VAOANT−”1”であるなら
ば実行可能なプロセス待ち行列の先頭(最高優先度を有
するとともにFIFO方式で最も古くエンキューされ之
プロセス)ttテキューして、そのプロセスのflft
(PCB情報)を自中央処理装置200の内部に取込み
、必要なフラグのリセットを行って処理を終える。
When the process dispatching process shown in FIG. 5 is started as described above, the VAOAN of the own central processing unit 200
Determine whether T ('%, when there is no process in progress) is "1" or not, and if VAOANT - "1", the process is placed at the head of the executable process queue (with the highest priority and The oldest enqueued process in the FIFO method)
(PCB information) is taken into the central processing unit 200, necessary flags are reset, and the process is completed.

後述するように他のCPU情報(DPW#。Other CPU information (DPW#.

〜DPW$3)にアクセスした場合にも、まずVACA
NT7.yグ181oがセットさn*OPUの有無?調
べる。しかし、これは「キャッシュヒット率以前にOP
Uがプロセス非実行状態にある時間をできる限り減ゼな
いと、システムのスループットは大きく低下する」と云
う思想にもとすくもので、VACANT−1” と判定
されたならばキャツシュヒツト率(すなわち、本発明で
は該当プロセスを最後に実行したOPU情報)は考慮せ
ずに、できる限り早く、そのOPUに実行可能なプロセ
ス待ち行列の先頭プロセスな取込む構gY採用している
~DPW$3), first VACA
NT7. Is yg181o set? Is there n*OPU? investigate. However, this means that ``OPEN occurs before the cache hit rate''.
The system throughput will be greatly reduced unless the time that U is in the process non-execution state is reduced as much as possible.''If it is judged as ``VACANT-1'', the cash hit rate (i.e. In the present invention, a configuration is adopted in which the first process in the executable process queue is loaded into the OPU as soon as possible, without taking into account information about the OPU that last executed the relevant process.

0ONTE8Tフラグ1811を判定し、0ONTES
T−0”であるならばVAOANTフラグ1810もと
もにO″となり、何も動作せずに処理を終了する。その
後、主記憶装置R220゜221上にある他のOPU情
報DPW−$0−DPW#3を読込む。ここで、VAO
ANT麿″1”OOP U カ存在fしば該当0PUl
c″’5WAP”通信を送る。”5WAP”通信を受け
たOPUでは適当なタイミングで第6図に示すような通
信受信割出し処理を実行し、第1図の通信受信レジスタ
182にセットされ九通信コード”xx”を解読して’
 5WAP”を判定する。VAOANT−1111であ
るならば、実行可能なプロセス待ち行列の先頭プロセス
の自CPU内へ該当プロセスが取込まれ、VACANT
フラグ1810がリセットされ友後に処理が終了する。
Determine 0ONTE8T flag 1811 and set 0ONTES
T-0'', both the VAOANT flags 1810 become O'', and the process ends without any action. Thereafter, other OPU information DPW-$0-DPW#3 on the main storage device R220°221 is read. Here, VAO
ANT Maro"1" OOP U Ka existence f Shiba corresponding 0 PUl
c" Send '5WAP' communication. Upon receiving the "5WAP" communication, the OPU executes the communication reception identification process shown in FIG. 6 at an appropriate timing, decodes the 9 communication code "xx" set in the communication reception register 182 of FIG. '
5WAP". If it is VAOANT-1111, the corresponding process is taken into the own CPU of the first process in the executable process queue, and VACANT
The flag 1810 is reset and the process ends.

再び第5図において、システム中にVACANT−”1
″のCPUが存在しないことが判明した時点で、実行可
能なプロセス待ち行列の先頭プロセスのI、AS’l’
  OPU$に対応するOPUのDPW(DPW#2あ
るいはDPW#3)を読出す。そこで、実行中のプロセ
スの優先度と、上記先頭プロセスの優先度とを比較する
。5!″換可能、すなわち実行中のプロセスの優先度が
先頭プロセスの優先度よりも底い場合には、LAST 
 OPU#調自OPU#ならば自CPUにより交換を行
う。LAST  OPU$)自OPU#でなければLA
ST  OPU#に対応するOPUにより実行プロセス
と待ち行列先頭プロセスとの交換?行う。自CPUの場
合には、第5図の中動下方の記述に従ってプロセスの交
換が行われ、他OPUの場合には第5図の右列の記述の
ように該aOPUへ”5WAP”通信を送出する。“5
WAP”通信ケ受信した該当OPUは、第6図の中動v
c従ってプロセスの交換を行う0 上述し次ように、本発明ではVAOANT−’″1″の
CPUが存在する場合を除くあらゆるケースに優先して
、実行可能なプロセス待ち行列の先頭プロセスのLAS
T  CPU#に対応するOPUへ先頭プロセスを取込
むわけである。
Again in FIG. 5, VACANT-”1 is in the system.
'', the head process in the executable process queue I, AS'l'
Read the DPW (DPW#2 or DPW#3) of the OPU corresponding to OPU$. Therefore, the priority of the process currently being executed is compared with the priority of the first process. 5! ``If the priority of the running process is lower than the priority of the first process, LAST
If the OPU# is the own OPU#, the exchange is performed by the own CPU. LAST OPU$) LA if not own OPU#
ST Exchanging the running process and the process at the head of the queue using the OPU corresponding to OPU#? conduct. In the case of the own CPU, processes are exchanged according to the description in the middle lower part of Figure 5, and in the case of other OPUs, "5WAP" communication is sent to the aOPU as described in the right column of Figure 5. do. “5
The corresponding OPU that received the “WAP” communication is
c Therefore, the process is replaced 0 As mentioned above and as follows, in the present invention, the LAS of the first process in the executable process queue
The leading process is loaded into the OPU corresponding to T CPU#.

LAST  0PU44−1c対応するCPUによって
実行中のプロセスの優先度が待ち行列の先頭プロセスの
優先度より高い場合には、他に待ち行列の先頭プロセス
より低い優先度のプロセスを実行中のOPUがあれば、
そのCPU上でプロセス交換が実現される。この場合、
まず自OPU上での交換の可能性を判定し、可能ならば
他のCPU上での交換の可能性ン調べずにプロセスの又
換ン実行する。このようにすれば、実行効率乞同上でき
る。他のCPU上で交換するケースまでき之場合には、
前述の他の実施例と同様に、”5WAP’通信から第6
図の中動の記述に従ってプロセスの交換を行う。実行可
能なプロセス待ち行列の先頭プロセスの優先度が全実行
中プロセスの優先度よりも低い場合には、何も動作せず
に処理Z終了する。
LAST 0PU44-1c If the priority of the process being executed by the corresponding CPU is higher than the priority of the process at the head of the queue, if there is any other OPU that is executing a process with a lower priority than the process at the head of the queue. Ba,
Process exchange is realized on that CPU. in this case,
First, the possibility of exchange on the own OPU is determined, and if possible, the process is executed again without checking the possibility of exchange on other CPUs. In this way, execution efficiency can be improved. If you are unable to replace it on another CPU,
Similarly to the other embodiments described above, from the "5WAP" communication to the 6th
Replace the process according to the description in the middle of the diagram. If the priority of the first process in the executable process queue is lower than the priorities of all running processes, Process Z ends without any action.

以上の槽底により、実行可能なプロセス待ち行列の先頭
プロセスは最高確率で、そのプロセス乞最後に実行し7
jOPU、すなわち該当プロセスに関連するキャッシュ
メモリのコンパートメントが残っている可能性の最も高
いOPUVc該当プロセスが取込まれることになる。
Based on the above tank bottom, the first process in the executable process queue has the highest probability of being executed last.
jOPU, ie, the OPUVc process that is most likely to have remaining cache memory compartments associated with the process will be captured.

(発明の効果) 本発明は以上説明し次ように、プロセス対応に該当プロ
セスχ最後に実行し几中央処理装置の識別名ンもたせ、
プロセスディスパッチング処理において優先111位に
もとすく制御χ妨げない限り、できるだけ自プロセスを
最後に実行した中央処理装置で実行状態となるように制
御することにより、プロセスディスパッチング処理を実
行した後のキャツシュヒツト率な向上させることができ
ると云う効果がある。
(Effects of the Invention) As described above, the present invention provides process correspondence with the identification name of the central processing unit executed last,
In the process dispatching process, the priority 111 is controlled as quickly as possible. Unless it interferes with this, by controlling the process so that it is executed in the central processing unit that last executed it as much as possible, after the process dispatching process is executed. This has the effect of improving the catch rate.

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

第1図は、本発明による多重プロセサシステムに使用さ
れる中央処理装置の一実施例な示すブロック図である。 第2図は、本発明による多重プロセサシステムの一実施
例を示すブロック図である。 第3図は、プロセスディスパッチングにfle用される
主記憶装置上のシステム共通領域7表わす説明図である
。 第4図は、最後に該当プロセス馨実行し九中央処理装置
の識別名LAST  CPU@”f有する制御ブロック
のイノ−9フ表わす説明図である。 第5図および第6図は、第1図において破線で囲まれた
制御記憶部上で主として動作するプロセスディスパッチ
ング処理、ならびにプロセス交換指示通信受信処理につ
いて記述したフローチャートである。 100・・・命令レジスタ 101.102・・・命令レジスタの部分103.10
4,142・・・デコーダ110.170 l−会アド
レスレジスタ120・・・制御記憶  130・・・デ
ータレジスタ131 、132・・・データレジスタノ
部分140.143・拳・演算器  141・・・比較
器150〜154・・・レジスタ 160・・・命令カクンタ  181・・・状態フラグ
1810〜1812・・・状態フラグの部分182・・
・通信受信レジスタ 1000・・・制御記憶部 200〜203・・・中央処理装置 210.211・・・システム制御装置220.221
・・・主記憶装置 250〜253・・・入出力処理装置 191〜194・・・信号線 特許出願人  日本電気株式会社 代理人 弁理士井 ノ ロ    壽 才1図 才4図 25図 才6図
FIG. 1 is a block diagram illustrating one embodiment of a central processing unit used in a multiprocessor system according to the present invention. FIG. 2 is a block diagram illustrating one embodiment of a multiprocessor system according to the present invention. FIG. 3 is an explanatory diagram showing the system common area 7 on the main storage device used for process dispatching. FIG. 4 is an explanatory diagram showing the flow of the control block that last executed the corresponding process and has the identification name of the central processing unit LAST CPU@"f. FIG. 5 and FIG. 100 is a flowchart describing a process dispatching process that mainly operates on the control storage section surrounded by a broken line, and a process exchange instruction communication reception process. 100...Instruction register 101.102...Instruction register part 103 .10
4,142...Decoder 110.170 l-kai address register 120...Control memory 130...Data register 131, 132...Data register part 140.143・Fist・Arithmetic unit 141...Comparison Devices 150 to 154...Register 160...Instruction unit 181...Status flags 1810 to 1812...Status flag part 182...
-Communication reception register 1000...Control storage units 200-203...Central processing unit 210.211...System control unit 220.221
... Main storage devices 250 to 253 ... Input/output processing devices 191 to 194 ... Signal line patent applicant NEC Corporation representative Patent attorney Noro Ii Jusai 1 Figure 4 Figure 25 Figure 6

Claims (1)

【特許請求の範囲】[Claims] それぞれキヤツシユメモリを有し、プロセスを単位とし
て処理を実行する複数の中央処理装置から成り、前記プ
ロセスに対応してプロセス制御ブロツクを有するととも
に、前記中央処理装置上で実行状態となる順番を待つプ
ロセスの名称、および前記プロセスの実行優先度を個々
のリンク内に有する実行可能なプロセス待ち行列をシス
テムに唯一つ備え、前記複数の中央処理装置のそれぞれ
が実行中のプロセスの優先度と前記待ち行列のリンク内
の優先度とに従つて前記プロセスの実行制御を行うデイ
スパツチング手段を具備して構成した多重プロセサシス
テムにおいて、前記複数の中央処理装置のそれぞれに前
記リンクおよび前記プロセサ制御ブロツクの内部へ前記
プロセスを最後に実行した中央処理装置の識別名を格納
せしめるための第1の実行制御手段と、前記デイスパツ
チング手段により前記プロセスの実行優先度とともに前
記リンク内の前記識別名を判定せしめるための第2の実
行制御手段とを具備して構成したことを特徴とする多重
プロセサシステム。
It consists of a plurality of central processing units each having a cache memory and executing processing in units of processes, has a process control block corresponding to the process, and waits for its turn to be executed on the central processing unit. The system has only one executable process queue having the name of the process and the execution priority of the process in each link, and each of the plurality of central processing units In the multi-processor system, each of the plurality of central processing units is provided with a dispatching means for controlling the execution of the process according to the priority within the link of the matrix. a first execution control means for storing therein an identification name of a central processing unit that last executed the process; and a first execution control means for determining the execution priority of the process and the identification name in the link by the dispatching means. 1. A multiprocessor system comprising a second execution control means for controlling the execution of the multiprocessor system.
JP60256287A 1985-11-15 1985-11-15 Multiplex processor system Pending JPS62115567A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60256287A JPS62115567A (en) 1985-11-15 1985-11-15 Multiplex processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60256287A JPS62115567A (en) 1985-11-15 1985-11-15 Multiplex processor system

Publications (1)

Publication Number Publication Date
JPS62115567A true JPS62115567A (en) 1987-05-27

Family

ID=17290555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60256287A Pending JPS62115567A (en) 1985-11-15 1985-11-15 Multiplex processor system

Country Status (1)

Country Link
JP (1) JPS62115567A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318662A (en) * 1987-06-23 1988-12-27 Hitachi Ltd Load dispersing system for transaction processing
JPH02122365A (en) * 1988-10-31 1990-05-10 Hitachi Ltd Processor assignment system
JPH0344742A (en) * 1989-07-12 1991-02-26 Nippon Telegr & Teleph Corp <Ntt> Task assignment control system for multiprocessor
JPH06214961A (en) * 1992-11-19 1994-08-05 Internatl Business Mach Corp <Ibm> Apparatus and method for dynamic reallocation of operation between asymmetric coupling processors
JPH06231100A (en) * 1992-12-10 1994-08-19 Nec Corp Process dispatch method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5583951A (en) * 1978-12-21 1980-06-24 Toshiba Corp Information processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5583951A (en) * 1978-12-21 1980-06-24 Toshiba Corp Information processing system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318662A (en) * 1987-06-23 1988-12-27 Hitachi Ltd Load dispersing system for transaction processing
JPH02122365A (en) * 1988-10-31 1990-05-10 Hitachi Ltd Processor assignment system
JPH0344742A (en) * 1989-07-12 1991-02-26 Nippon Telegr & Teleph Corp <Ntt> Task assignment control system for multiprocessor
JPH06214961A (en) * 1992-11-19 1994-08-05 Internatl Business Mach Corp <Ibm> Apparatus and method for dynamic reallocation of operation between asymmetric coupling processors
JPH06231100A (en) * 1992-12-10 1994-08-19 Nec Corp Process dispatch method

Similar Documents

Publication Publication Date Title
US6732242B2 (en) External bus transaction scheduling system
US5922057A (en) Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore
US5737750A (en) Partitioned single array cache memory having first and second storage regions for storing non-branch and branch instructions
US7546444B1 (en) Register set used in multithreaded parallel processor architecture
US4123795A (en) Control system for a stored program multiprocessor computer
US5197138A (en) Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
US7350006B2 (en) System and method of interrupt handling
EP1282862B1 (en) Distributed memory control and bandwidth optimization
CA2391833C (en) Parallel processor architecture
EP1214660B1 (en) Sram controller for parallel processor architecture including address and command queue and arbiter
US7533227B2 (en) Method for priority scheduling and priority dispatching of store conditional operations in a store queue
CN100378655C (en) Execution of multiple threads in parallel processor
US6665699B1 (en) Method and data processing system providing processor affinity dispatching
JPS59132049A (en) Data processing system
GB2348306A (en) Batch processing of tasks in data processing systems
US6321328B1 (en) Processor having data buffer for speculative loads
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
JPS62115567A (en) Multiplex processor system
US5943494A (en) Method and system for processing multiple branch instructions that write to count and link registers
US6163793A (en) Method and apparatus for using a driver program executing on a host processor to control the execution of code on an auxiliary processor
US6745296B2 (en) System and method for providing cacheable smram
JPH06202951A (en) Cash memory system
US20050044321A1 (en) Method and system for multiprocess cache management
CA2240634C (en) Cache device
US6823406B2 (en) Microprocessor executing a program to guarantee an access order