JP2000276362A - Process management system - Google Patents

Process management system

Info

Publication number
JP2000276362A
JP2000276362A JP11085563A JP8556399A JP2000276362A JP 2000276362 A JP2000276362 A JP 2000276362A JP 11085563 A JP11085563 A JP 11085563A JP 8556399 A JP8556399 A JP 8556399A JP 2000276362 A JP2000276362 A JP 2000276362A
Authority
JP
Japan
Prior art keywords
priority
ready
queue
executable
execution
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
JP11085563A
Other languages
Japanese (ja)
Inventor
Fuyuki Watanabe
冬樹 渡辺
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP11085563A priority Critical patent/JP2000276362A/en
Publication of JP2000276362A publication Critical patent/JP2000276362A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To realize a process management system capable of speeding up linking to a ready queue and the processing of dispatching operation. SOLUTION: Upon inputting a process switching instruction, an execution process selection circuit 3 inputs priority execution information from a priority display register 7, calculates the highest priority existing as an executable process and compares the highest priority with current priority indicating the priority of a process being executed at present. In detecting an executable process of priority higher than that of the process being executed at present, the circuit 3 extracts corresponding process information from a ready queue 91 and newly stores the current process in the queue 91 as an executable queuing process and a ready process control circuit 4 stores the process allowed to be newly executed on the basis of a ready request and detailed information from an interruption detection circuit 1 in the queue 91.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、プロセスの優先
順位ごとにキュー管理を行い、必要最低限のキュー操作
を行うことにより、ディスパッチ動作の処理を高速に行
うようにしたプロセス管理方式に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a process management system which performs a dispatch operation at a high speed by performing queue management for each process priority and performing a minimum required queue operation. is there.

【0002】[0002]

【従来の技術】従来、複数のプロセスの実行処理を行う
に際して、複数のプロセッサに共有されたメモリを優先
度の高いプロセスに割り当て、実時間の応答性を高める
ために、選択順のサービスを行う待ち行列共有メモリを
アクセスしたいプロセッサごとに設けるとともに、優先
順位順に要求の取り出される待ち行列をメモリ使用調停
回路に設け、各プロセッサの待ち行列に対し、優先順位
が動的に割り当てられ、高いプライオリティをもつプロ
セスが含まれる待ち行列をプロセッサから順に共有メモ
リへのアクセスを許可することが特開平05−1202
39号公報(並列処理回路)に開示されている。
2. Description of the Related Art Conventionally, when executing processes of a plurality of processes, a memory shared by a plurality of processors is allocated to a process having a high priority, and services in an order of selection are provided in order to improve responsiveness in real time. A queue shared memory is provided for each processor to be accessed, and a queue from which requests are taken out in order of priority is provided in the memory use arbitration circuit, and a priority is dynamically assigned to the queue of each processor, and a high priority is assigned. Japanese Patent Application Laid-Open No. 05-12022 discloses a method of permitting access to a shared memory from a processor in a queue including a process in order.
No. 39 (parallel processing circuit).

【0003】また、特開平10−187469号公報
(マルチプロセッサのプロセスディスパッチ方法)に
は、プロセッサ待ち行列に登録時に、プロセッサごとの
プロセッサ割り当て待ち行列上のプロセスの個数と平均
プロセッサ占有時間から、プロセッサごとのプロセス実
行待ち時間を予測し、この待ち時間の差が一定の範囲内
にある場合には、プロセッサ管理情報内のプロセスに割
り当てるプロセッサ情報が示すプロセッサのプロセッサ
割り当て待ち行列に登録し、待ち時間の差が一定の範囲
内にない場合には、予測したプロセッサごとのプロセス
実行待ち時間の中で最も小さいプロセス実行待ち時間の
プロセッサを選択して、このプロセッサのプロセッサ割
り当て待ち行列に登録することが開示されている。
Japanese Patent Laid-Open Publication No. Hei 10-187469 (a process dispatching method for a multiprocessor) discloses a method of registering a processor in a processor queue based on the number of processes in a processor allocation queue for each processor and the average processor occupation time. If the difference between the waiting times is within a certain range, the waiting time is registered in the processor assignment queue of the processor indicated by the processor information assigned to the process in the processor management information. If the difference is not within a certain range, it is possible to select the processor having the shortest process execution wait time among the predicted process execution wait times for each processor and register it in the processor assignment queue of this processor. It has been disclosed.

【0004】さらに、特開平03−102532号公報
(プロセス実行可能性検出方式)には、プロセスコード
にあらかじめプロセス種別とマスクビットを付与してお
き、具現化した引数に対応するビットデータとマスクビ
ットを論理演算してプロセス種別をもとに実行可能性を
判定して、レディーキューの先頭にエンキューし、無駄
なデキュー/実行可能性のチェック/エンキューという
処理を省くことが開示されている。
Further, Japanese Patent Application Laid-Open No. 03-102532 (process feasibility detection method) discloses that a process type and a mask bit are added to a process code in advance, and bit data and a mask bit corresponding to an embodied argument are provided. Is logically operated to determine the feasibility based on the process type, and enqueued at the head of the ready queue, thereby eliminating the useless dequeue / feasibility check / enqueue processing.

【0005】また、特開平03−179532号公報
(コンピュータ装置)には、プロセスの処理要求を受け
ると、複数のプロセッサ中の1つに指示してプロセスの
処理を実行させ、このプロセスの処理中にそれよりも優
先度の高いプロセスの処理要求を受けると、プロセス処
理中のプロセッサにその処理の実行を中断させるととも
に、それとは別のプロセッサに指示して新しく受けたプ
ロセスの処理を実行させることが開示されている。この
ように、従来からコンピュータ装置によるプロセス処理
に関して、種々の開発が成されているが、コンピュータ
装置においてレディープロセスのリンクは、プライオリ
ティに依らず、一つのレディーキューとして一元管理を
行っている。
Japanese Patent Application Laid-Open No. 03-179532 (computer device) discloses that when a processing request of a process is received, one of a plurality of processors is instructed to execute the processing of the process. When a process request for a process with a higher priority is received, the processor that is processing the process suspends the execution of the process and instructs another processor to execute the process of the newly received process. Is disclosed. As described above, various developments have conventionally been made with respect to the process processing by the computer device, but in the computer device, the link of the ready process is managed as one ready queue independently of the priority.

【0006】[0006]

【発明が解決しようとする課題】しかし、従来技術で
は、プライオリティの異なる複数の実行待ちプロセスが
レディーキュー内に蓄積されていくと、プライオリティ
に比例してプロセスのリンク処理時間が増大してしまう
という課題がある。
However, in the prior art, when a plurality of processes waiting for execution having different priorities are accumulated in the ready queue, the link processing time of the processes increases in proportion to the priority. There are issues.

【0007】この発明は、上記従来の課題を解決するた
めになされたもので、すべてのリンクをサーチすること
なく、レディーキューへのリンクを高速に行うことがで
きるとともに、実行プロセス選択時にプライオリティご
とのすべての先頭ポインタおよび後尾ポインタの正当性
をチェックする必要性をなくし、ディスパッチ動作の処
理を高速に行うことができるプロセス管理方式を提供す
ることを目的とする。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned conventional problem, and it is possible to perform a high-speed link to a ready queue without searching for all the links, and to select a priority for each execution process. It is an object of the present invention to provide a process management method which can eliminate the necessity of checking the validity of all the start pointers and the tail pointers, and can perform a dispatch operation at high speed.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するため
に、この発明のプロセス管理方式は、プロセス切り換え
要因の検出時にプロセス切り換え指示を出力し、実行可
能プロセスの検出時にレディー要求と詳細情報を出力す
る割り込み検出回路と、実行可能のプロセスの各優先順
位ごとに先頭および後尾のポインタをそれぞれ格納する
レディープロセスポインタ群と、プロセスの優先順位の
数と同一分のビット幅をもち、ビット単位に各優先順位
ごとに実行をもっているレディープロセスの有無を保持
するプライオリティ表示レジスタと、上記割り込み検出
回路から上記プロセス切り換え指示を受けると、上記プ
ライオリティ表示レジスタにより出力されるプライオリ
ティ表示情報から実行可能プロセスとして存在する最も
高い優先順位を算出して現在実行中のプロセスの優先順
位を示すカレントプライオリティとの判断を行い、現在
実行中のプロセスよりも優先順位の高い実行可能プロセ
スを検出すると、該当するプロセス情報を記憶回路から
取り出してカレントプロセスを実行可能待ちプロセスと
して新規に上記記憶回路に格納する実行プロセス選択回
路と、上記割り込み検出回路から出力される上記レディ
ー要求と上記詳細情報により新規に実行可能となったプ
ロセスを上記記憶回路に格納するレディープロセス制御
回路とを備えることを特徴とする。そのため、割り込み
検出回路がプロセス切り換え要因を検出すると、プロセ
ス切り換え指示を実行プロセス選択回路へ出力し、実行
プロセス選択回路はプライオリティ表示レジスタによる
プライオリティ表示情報から実行可能プロセスとして存
在する最も高い優先順位を算出し、現在実行中のプロセ
スの優先順位を示すカレントプライオリティとの判定を
行い、現在実行中のプロセスよりも優先順位の高い実行
可能プロセスを検出すると、該当するプロセス情報を記
憶回路から取り出し、カレントプロセスを実行可能待ち
プロセスとして新規に記憶回路に格納し、レディープロ
セス制御回路はレディー要求と詳細情報により新規に実
行可能となったプロセスを記憶回路に格納するようにし
たので、レディーキューへのリンクを高速に行うことが
で、実行プロセス選択時にプライオリティごとのすべて
の先頭ポインタおよび後尾ポインタの正当性をチェック
する必要性をなくし、ディスパッチ動作の処理を高速に
行うことができる。
In order to achieve the above object, a process management method according to the present invention outputs a process switching instruction when a process switching factor is detected, and outputs a ready request and detailed information when an executable process is detected. It has an interrupt detection circuit to output, a group of ready process pointers to store the leading and trailing pointers for each priority of the executable process, and a bit width equal to the number of process priorities. A priority display register that holds the presence or absence of a ready process that has an execution for each priority; and when the process switching instruction is received from the interrupt detection circuit, the priority display information is output from the priority display register as an executable process. To calculate the highest priority To determine the current priority indicating the priority of the currently executing process, and if an executable process having a higher priority than the currently executing process is detected, the corresponding process information is extracted from the storage circuit and the current process is extracted. An execution process selection circuit for newly storing in the storage circuit as an executable wait process, and a process newly executable by the ready request and the detailed information output from the interrupt detection circuit are stored in the storage circuit. And a ready process control circuit. Therefore, when the interrupt detection circuit detects a process switching factor, it outputs a process switching instruction to the execution process selection circuit, and the execution process selection circuit calculates the highest priority existing as an executable process from the priority display information in the priority display register. Then, a determination is made as to the current priority indicating the priority of the currently executing process. When an executable process having a higher priority than the currently executing process is detected, the corresponding process information is extracted from the storage circuit, and the current process is extracted. Is newly stored in the storage circuit as an executable waiting process, and the ready process control circuit stores the newly executable process in the storage circuit according to the ready request and the detailed information. Do it fast In, can be performed without the need to check the validity of all the head pointer and tail pointer for each priority when executing the process selected, the process of dispatching operations at high speed.

【0009】[0009]

【発明の実施の形態】以下、この発明によるプロセス管
理方式の実施の形態について図面に基づき説明する。図
1はこの発明によるプロセス管理方式の第1実施の形態
の構成を示すブロック図である。この図1において、割
り込み検出回路1は、プロセス切り替え要因を検出する
とプロセス切り替え指示100を実行プロセス選択回路
3へ出力し、実行可能なプロセスを検出すると、レディ
ー要求101とプロセスのプライオリティなどの詳細情
報102をレディープロセス制御回路4へ出力する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a process management system according to the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a first embodiment of a process management system according to the present invention. In FIG. 1, when an interrupt detection circuit 1 detects a process switching factor, it outputs a process switching instruction 100 to an execution process selection circuit 3, and when an executable process is detected, detailed information such as a ready request 101 and a process priority is provided. 102 is output to the ready process control circuit 4.

【0010】レディーキューポインタ2は、記憶回路9
におけるレディーキュー91の先頭アドレス(最も優先
順位の高いプロセスの先頭ポインタを示す)を保持し、
実行プロセス選択回路3とレディープロセス制御回路4
に出力する。実行プロセス選択回路3は、割り込み検出
回路1からプロセス切り換え指示100を入力すると、
プライオリティ表示レジスタ7により出力されるプライ
オリティ表示情報700から実行可能プロセスとして存
在する最も高い優先順位を算出し、その算出した最も高
い優先順位と実行プロセス表示レジスタ5からの現在実
行中のプロセスの優先順位を示すカレントプライオリテ
ィ500とどちらが優先順位が高いかの判定を行う。実
行プロセス選択回路3は、上記判定により現在実行中の
プロセスよりも優先順位の高い実行可能プロセスを検出
すると、該当するプロセス情報をレディーキュー91か
ら取り出し、カレントプロセスを実行可能待ちプロセス
として新規にレディーキュー91に格納する。
The ready queue pointer 2 is stored in the storage circuit 9
Holds the start address of the ready queue 91 (indicating the start pointer of the process with the highest priority),
Execution process selection circuit 3 and ready process control circuit 4
Output to When the execution process selection circuit 3 receives the process switching instruction 100 from the interrupt detection circuit 1,
The highest priority existing as an executable process is calculated from the priority display information 700 output from the priority display register 7, and the calculated highest priority and the priority of the currently executing process from the execution process display register 5 are calculated. Is determined with the current priority 500 indicating which is the higher priority. When the execution process selection circuit 3 detects an executable process having a higher priority than the currently executing process based on the above determination, the execution process selection circuit 3 fetches the corresponding process information from the ready queue 91 and newly designates the current process as an executable waiting process. It is stored in the queue 91.

【0011】レディープロセス制御回路4は、割り込み
検出回路1から出力されるレディー要求101と、詳細
情報102により、新規に実行可能となったプロセスを
FIFO、またはLIFOによりレディーキュー91へ
格納する。実行プロセス表示レジスタ5は、現在実行中
のカレントプロセスの優先順位を保持して実行プロセス
選択回路3にカレントプライオリティ500を出力す
る。フリーリンクポインタ6は、使用可能な空きリンク
が格納されている記憶回路9におけるフリーリンクキュ
ー90の先頭を保持する。
The ready process control circuit 4 stores the newly executable process in the ready queue 91 by FIFO or LIFO based on the ready request 101 output from the interrupt detection circuit 1 and the detailed information 102. The execution process display register 5 outputs the current priority 500 to the execution process selection circuit 3 while retaining the priority of the current process currently being executed. The free link pointer 6 holds the head of the free link queue 90 in the storage circuit 9 where available free links are stored.

【0012】プライオリティ表示レジスタ7は、優先順
位の数と同一分のビット幅を持ち、ビット単位に各優先
順位ごとに実行を待っているレディープロセスの有無を
保持し、上記実行プロセス選択回路3にプライオリティ
表示情報700を出力する。プライオリティ表示レジス
タ7の各ビットは、該当するレディーキューに最初にリ
ンクされるときに有効となり、以後、レディーキューの
同一プライオリティ内の全リンクが消滅したときに無効
となる。実行プロセス選択回路3では、このデータを使
用し、プライオリティごとのすべての先頭ポインタにア
クセスすることなく、従来と同様の実行プロセスの選択
を行う。実行プロセス選択回路3で選択された実行プロ
セス310は実行制御回路10に出力され、実行制御さ
れる。
The priority display register 7 has the same bit width as the number of priorities, and holds the presence or absence of a ready process waiting to be executed for each priority in bit units. The priority display information 700 is output. Each bit of the priority display register 7 becomes valid when first linked to the corresponding ready queue, and becomes invalid when all the links within the same priority of the ready queue disappear. The execution process selection circuit 3 uses this data to select an execution process similar to the conventional one without accessing all the top pointers for each priority. The execution process 310 selected by the execution process selection circuit 3 is output to the execution control circuit 10 and executed.

【0013】レディープロセスポインタ群8は、各優先
順位ごとに先頭および後尾のポインタをそれぞれ格納す
る。フリーリンクキュー90は、レディーキューとして
使用可能な空きリンクを保持する。レディーキュー91
は、各優先順位ごとに実行を待っているプロセスを保持
するキューを示す。フリーリンクキュー90とレディー
キュー91は記憶回路9の構成要素である。
The ready process pointer group 8 stores the first and last pointers for each priority. The free link queue 90 holds a free link that can be used as a ready queue. Ready queue 91
Indicates a queue that holds processes waiting to be executed for each priority. The free link queue 90 and the ready queue 91 are components of the storage circuit 9.

【0014】次に、以上のように構成されたこの発明の
第1実施の形態の動作について、図2、図3を参照して
説明する。図2、図3はレディーキュー91へのリンク
の動作のイメージを示す説明図である。この図2、図3
の両図において、リンク直前のデータとポインタの値を
破線<←>で示している。最初に、レディーキュー91
において、プライオリティ:「0」のキューには、プロ
セス:「02」のプロセスがリンクされており、プライ
オリティ:「3」のキューには、プロセス:「05」/
「01」の2つのプロセスがリンクされていると仮定す
る。
Next, the operation of the first embodiment of the present invention configured as described above will be described with reference to FIGS. FIG. 2 and FIG. 3 are explanatory diagrams showing an image of the operation of linking to the ready queue 91. This FIG. 2, FIG.
In both figures, the data immediately before the link and the value of the pointer are indicated by broken lines <←>. First, Lady Cue 91
, The process with the process “02” is linked to the queue with the priority “0”, and the process with the process “05” /
Assume that two processes “01” are linked.

【0015】まず、初めに、図2を参照して説明する
と、プライオリティ:「3」のプロセス「03」をレデ
ィーキュー91にFIFOでリンクするケースを説明す
る。このとき、プライオリティ:「1」および「2」の
レディーキューは「0」である。また、各レディーキュ
ーのリンク内に保持しているポインタおよび情報などの
容量は4バイトとする。さらに、レディーキューの各リ
ンクの0〜3バイトには、次のリンクを示すアドレスが
格納され、4〜7バイトには、プロセス名などの情報が
格納されているものとする。
First, referring to FIG. 2, a case will be described in which the process "03" of priority "3" is linked to the ready queue 91 by FIFO. At this time, the ready queues with the priorities “1” and “2” are “0”. The capacity of pointers and information held in the link of each ready queue is 4 bytes. Further, it is assumed that an address indicating the next link is stored in 0 to 3 bytes of each link of the ready queue, and information such as a process name is stored in 4 to 7 bytes.

【0016】プライオリティ表示レジスタ7は、プライ
オリティ「0」〜「3」の4つのプライオリティを示す
ために、4ビットで構成され、プライオリティ:「0」
/「3」のレディープロセスが存在することを示すため
に、1001Zを格納している。プライオリティは、値
が小さいものほど優先度が高いことを示す。フリーリン
クポインタ6には、アドレス=220Hが格納され、次
のリンクは260Hを示していることとする。
The priority display register 7 is composed of 4 bits to indicate the four priorities "0" to "3", and the priority is "0".
1001Z is stored to indicate that a ready process of / "3" exists. The priority indicates that the smaller the value, the higher the priority. The address = 220H is stored in the free link pointer 6, and the next link indicates 260H.

【0017】割り込み検出回路1において、レディー要
求101により、プロセス「03」のレディー要求が発
生してレディープロセス制御回路4に出力する。詳細情
報102では、プロセス「03」のプライオリティ=
「3」およびFIFO指示が出力され、レディープロセ
ス制御回路4に送出する。レディープロセス制御回路4
では、レディーキューポインタ「2+3」(プライオリ
ティ)×8{1エントリ(プライオリティごとの)先頭
/後尾ポインタの容量}により、プライオリティ:
「3」の先頭ポインタ30のアドレスが算出される。
In the interrupt detection circuit 1, a ready request of the process “03” is generated by the ready request 101 and is output to the ready process control circuit 4. In the detailed information 102, the priority of the process “03” =
"3" and the FIFO instruction are output and sent to the ready process control circuit 4. Ready process control circuit 4
Then, the ready queue pointer “2 + 3” (priority) × 8 {1 entry (for each priority) head / tail pointer capacity} gives the priority:
The address of the head pointer 30 of “3” is calculated.

【0018】後尾ポインタ「31」は、算出したアドレ
スに「4」を加算した値で示される。まず、レディーキ
ューの最後尾にリンクするために、フリーリンクポイン
タ6で示されるフリーリンクの先頭リンクをフリーリン
クキュー90から取り出し、アドレス=220Hを得
る。プライオリティ:「3」のレディーキュー内最後尾
の格納位置を示す後尾ポインタ「31」で示されたアド
レス=240Hの領域および後尾ポインタ「31」に対
して、アドレス=220Hをそれぞれ格納する。
The tail pointer "31" is indicated by a value obtained by adding "4" to the calculated address. First, in order to link to the end of the ready queue, the head link of the free link indicated by the free link pointer 6 is taken out from the free link queue 90, and the address = 220H is obtained. Priority: The address = 220H is stored in the area of address = 240H indicated by the tail pointer “31” indicating the last storage position in the ready queue of “3” and the tail pointer “31”, respectively.

【0019】このようにして、プライオリティ:「3」
のプロセス:「03」が、プライオリティ:「3」のレ
ディーキューの最後尾に追加される。また、フリーリン
クポインタ6には、次の空いているリンクを示すために
フリーリンクの先頭に格納されていたアドレス=260
Hを格納する。
In this way, the priority: "3"
Process: “03” is added to the end of the ready queue with the priority: “3”. Also, the free link pointer 6 has the address stored at the head of the free link = 260 to indicate the next vacant link.
H is stored.

【0020】次に、図3を使用し、レディーキュー91
にLIFOでリンクするケースを説明する。上記と同様
にプライオリティ:「3」のプロセス要求時、詳細情報
102としてLIFO操作が要求されると、プライオリ
ティ:「3」のレディーキューの先頭ポインタ「30」
に格納されているリンク動作を行う前の先頭アドレスを
示すアドレス=200Hをフリーリンクポインタ6に保
持されているアドレス=220Hに対し格納する。
Next, referring to FIG.
Will be described with reference to LIFO. Similarly to the above, at the time of requesting the process of the priority: “3”, if the LIFO operation is requested as the detailed information 102, the head pointer “30” of the ready queue of the priority: “3”
The address = 200H indicating the head address before the link operation stored in the free link pointer 6 is stored in the address = 220H held in the free link pointer 6.

【0021】次に、今までフリーリンクの先頭を示して
いたアドレス=220Hを先頭ポインタ30に格納す
る。このようにして、プライオリティ:「3」のプロセ
ス:「03」が、プライオリティ:「3」のレディーキ
ューの先頭に追加される。かくして、レディーキュー内
の全てのリンクをアクセスすることなく実行可能なプロ
セスをリンクすることが可能となる。
Next, the address = 220H indicating the head of the free link is stored in the head pointer 30. In this way, the process with the priority: “3”: “03” is added to the head of the ready queue with the priority: “3”. Thus, it is possible to link executable processes without accessing all the links in the ready queue.

【0022】[0022]

【発明の効果】以上のように、この発明によれば、実行
可能プロセスのプライオリティごとに先頭ポインタおよ
び後尾ポインタを使用して管理するようにしたので、す
べてのリンクをサーチすることなくレディーキューへの
リンクを高速に行うことができる。また、レディープロ
セスとして存在するすべてのプライオリティを表示する
プライオリティレジスタを設けたので、実行プロセス選
択時に、プライオリティごとのすべての先頭ポインタお
よび後尾ポインタの正当性をチェックする必要性をなく
し、ディスパッチ動作の処理を高速に行うことができ
る。
As described above, according to the present invention, the management is performed by using the head pointer and the tail pointer for each priority of the executable process, so that all the links can be transferred to the ready queue without searching. Link can be performed at high speed. In addition, a priority register that indicates all priorities that exist as a ready process is provided, eliminating the need to check the validity of all leading and trailing pointers for each priority when selecting an execution process, and processing dispatch operations. Can be performed at high speed.

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

【図1】この発明によるプロセス管理方式の第1実施の
形態の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a first embodiment of a process management system according to the present invention.

【図2】この発明によるプロセス管理方式の第1実施の
形態を説明するためのレディーキューへのリンク動作の
イメージを示す説明図である。
FIG. 2 is an explanatory diagram showing an image of a link operation to a ready queue for explaining a first embodiment of a process management system according to the present invention.

【図3】この発明によるプロセス管理方式の第1実施の
形態を説明するためのレディーキューへのLIFOでリ
ンクする場合の動作のイメージを示す説明図である。
FIG. 3 is an explanatory diagram showing an image of an operation when linking to a ready queue by LIFO for explaining the first embodiment of the process management system according to the present invention;

【符号の説明】[Explanation of symbols]

1……割り込み検出回路、2……レディーキューポイン
タ、3……実行プロセス表示レジスタ、4……レディー
プロセス制御回路、6……フリーリンクポイント、7…
…プライオリティ表示レジスタ、8……レディープロセ
スポインタ、9……記憶回路、10……実行制御回路、
90……フリーリンクキュー、91……レディーキュ
ー。
1 ... interrupt detection circuit, 2 ... ready queue pointer, 3 ... execution process display register, 4 ... ready process control circuit, 6 ... free link point, 7 ...
... Priority display register, 8 ... Ready process pointer, 9 ... Storage circuit, 10 ... Execution control circuit,
90: Free link queue, 91: Lady queue.

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成12年2月7日(2000.2.7)[Submission date] February 7, 2000 (2000.2.7)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】特許請求の範囲[Correction target item name] Claims

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【特許請求の範囲】[Claims]

【請求項】 上記レディーキューは、プロセスをFI
FOで格納することを特徴とする請求項記載のプロセ
ス管理方式。
2. The ready queue according to claim 1, further comprising:
Process management method according to claim 1, wherein the storing in FO.

【請求項】 上記レディーキューは、プロセスをLI
FOで格納することを特徴とする請求項記載のプロセ
ス管理方式。
3. The method according to claim 1, wherein the ready queue is used to execute a process on an LI.
Process management method according to claim 1, wherein the storing in FO.

【請求項】 上記プライオリティ表示レジスタは、各
ビットを該当するレディーキューに最初にリンクされる
ときに有効となり、以後レディーキューの同一プライオ
リティー内のすべてのリンクが消滅したときに無効とす
ることを特徴とする請求項1記載のプロセス管理方式。
4. The priority indication register is enabled when each bit is first linked to a corresponding ready queue, and thereafter disabled when all links within the same priority of the ready queue disappear. 2. The process management method according to claim 1, wherein:

【請求項】 上記実行プロセス選択回路は、上記プラ
イオリティ表示レジスタの各ビットのデータを利用して
プライオリティごとのすべての先頭ポインタにアクセス
することなく実行プロセスの選択を行うことを特徴とす
る請求項1記載のプロセス管理方式。
5. An execution process selection circuit according to claim 1, wherein the execution process selection circuit selects an execution process by using data of each bit of the priority indication register without accessing all the head pointers for each priority. 1. The process management method according to 1.

【手続補正2】[Procedure amendment 2]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0008[Correction target item name] 0008

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0008】[0008]

【課題を解決するための手段】上記目的を達成するため
に、この発明のプロセス管理方式は、プロセス切り換え
要因の検出時にプロセス切り換え指示を出力し、実行可
能プロセスの検出時にレディー要求とプロセスのプライ
オリティなどの詳細情報を出力する割り込み検出回路
と、実行可能のプロセスの各優先順位ごとに先頭および
後尾のポインタをそれぞれ格納するレディープロセスポ
インタ群と、プロセスの優先順位の数と同一分のビット
幅をもち、ビット単位に各優先順位ごとに実行を待って
いるレディープロセスの有無を保持するプライオリティ
表示レジスタと、現在実行中のプロセスの優先順位を示
すカレントプライオリティを保持する実行プロセス表示
レジスタと、プロセスの各優先順位ごとに実行を待って
いるプロセス順位を保持するレディーキューおよびレデ
ィーキューの使用可能空きリンクを保持するフリーリン
クキューとを含む記憶回路と、使用可能な空きリンクが
格納されている上記記憶回路における上記フリーリンク
キューの先頭を保持するフリーリンクポインタと、上記
割り込み検出回路から上記プロセス切り換え指示を受け
ると、上記プライオリティ表示レジスタにより出力され
るプライオリティ表示情報から実行可能プロセスとして
存在する最も高い優先順位を算出して上記実行プロセス
表示レジスタに表示されている現在実行中のプロセスの
優先順位を示す上記カレントプライオリティとの判断を
行い、現在実行中のプロセスよりも優先順位の高い実行
可能プロセスを検出すると、該当するプロセス情報を上
記記憶回路の上記レディーキューから取り出してカレン
トプロセスを実行可能待ちプロセスとして新規に上記記
憶回路の上記レディーキューに格納する実行プロセス選
択回路と、上記割り込み検出回路から出力される上記レ
ディー要求と上記詳細情報により新規に実行可能となっ
たプロセスを上記記憶回路の上記レディーキューに格納
するレディープロセス制御回路とを備えることを特徴と
する。そのため、割り込み検出回路がプロセス切り換え
要因を検出すると、プロセス切り換え指示を実行プロセ
ス選択回路へ出力し、実行プロセス選択回路はプライオ
リティ表示レジスタによリ出力されるプライオリティ表
示情報から実行可能プロセスとして存在する最も高い優
先順位を算出して、実行プロセス表示レジスタに表示さ
れている現在実行中のプロセスの優先順位を示すカレン
トプライオリティとの判定を行い、現在実行中のプロセ
スよりも優先順位の高い実行可能プロセスを検出する
と、該当するプロセス情報を記憶回路のレディーキュー
から取り出し、カレントプロセスを実行可能待ちプロセ
スとして新規に記憶回路のレディーキューに格納し、レ
ディープロセス制御回路はレディー要求とプロセスのプ
ライオリティアンドの詳細情報により新規に実行可能と
なったプロセスを記憶回路のレディーキューに格納する
ようにしたので、レディーキューへのリンクを高速に行
うことができ、実行プロセス選択時にプライオリティご
とのすべての先頭ポインタおよび後尾ポインタの正当性
をチェックする必要性をなくし、ディスパッチ動作の処
理を高速に行うことができる。
In order to achieve the above object, a process management system according to the present invention outputs a process switching instruction when a process switching factor is detected, and a ready request and a process priority when an executable process is detected. An interrupt detection circuit that outputs detailed information, such as an executable process, a ready process pointer group that stores the leading and trailing pointers for each executable process priority, and a bit width equal to the number of process priorities A priority display register that holds the presence or absence of a ready process waiting to be executed for each priority in bit units; an execution process display register that holds a current priority indicating the priority of the currently executing process; The order of processes waiting to be executed for each priority A storage circuit including a ready queue to be held and a free link queue for holding available free links of the ready queue, and a free link for holding a head of the free link queue in the storage circuit storing available free links. When the process switching instruction is received from the pointer and the interrupt detection circuit, the highest priority existing as an executable process is calculated from the priority display information output from the priority display register and displayed in the execution process display register. The current priority indicating the priority of the currently executing process is determined, and when an executable process having a higher priority than the currently executing process is detected, the corresponding process information is stored in the ready of the storage circuit. From the queue An execution process selection circuit for newly storing the current process as an executable waiting process in the ready queue of the storage circuit, and newly executable according to the ready request and the detailed information output from the interrupt detection circuit. A ready process control circuit for storing the changed process in the ready queue of the storage circuit. For this reason, when the interrupt detection circuit detects a process switching factor, it outputs a process switching instruction to the execution process selection circuit, and the execution process selection circuit determines from the priority display information output by the priority display register that most of the processes exist as executable processes. Calculate the high priority, determine the current priority, which is the priority of the currently running process displayed in the running process display register, and select the executable process with a higher priority than the currently running process. Upon detection, the corresponding process information is taken out of the ready queue of the storage circuit, and the current process is newly stored in the ready queue of the storage circuit as a process that can be executed, and the ready process control circuit details the ready request and the priority and process of the process. The newly executable process is stored in the ready queue of the storage circuit, so that the link to the ready queue can be performed at high speed. When the execution process is selected, all the head pointers and tails for each priority are selected. The necessity of checking the validity of the pointer is eliminated, and the processing of the dispatch operation can be performed at high speed.

【手続補正3】[Procedure amendment 3]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0022[Correction target item name] 0022

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0022】[0022]

【発明の効果】以上のように、この発明によれば、実行
可能プロセスのプライオリティごとに先頭ポインタおよ
び後尾ポインタを使用して管理するようにしたので、す
べてのリンクをサーチすることなくレディーキューへの
リンクを高速に行うことができる。また、レディープロ
セスとして存在するすべてのプライオリティを表示する
プライオリティ表示レジスタを設けたので、実行プロセ
ス選択時に、プライオリティごとのすべての先頭ポイン
タおよび後尾ポインタの正当性をチェックする必要性を
なくし、ディスパッチ動作の処理を高速に行うことがで
きる。
As described above, according to the present invention, the management is performed by using the head pointer and the tail pointer for each priority of the executable process, so that all the links can be transferred to the ready queue without searching. Link can be performed at high speed. In addition, a priority display register that displays all priorities that exist as a ready process is provided, eliminating the need to check the validity of all the leading and trailing pointers for each priority at the time of selecting an execution process. Processing can be performed at high speed.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 プロセス切り換え要因の検出時にプロセ
ス切り換え指示を出力し、実行可能プロセスの検出時に
レディー要求と詳細情報を出力する割り込み検出回路
と、 実行可能のプロセスの各優先順位ごとに先頭および後尾
のポインタをそれぞれ格納するレディープロセスポイン
タ群と、 プロセスの優先順位の数と同一分のビット幅をもち、ビ
ット単位に各優先順位ごとに実行をもっているレディー
プロセスの有無を保持するプライオリティ表示レジスタ
と、 上記割り込み検出回路から上記プロセス切り換え指示を
受けると、上記プライオリティ表示レジスタにより出力
されるプライオリティ表示情報から実行可能プロセスと
して存在する最も高い優先順位を算出して現在実行中の
プロセスの優先順位を示すカレントプライオリティとの
判断を行い、現在実行中のプロセスよりも優先順位の高
い実行可能プロセスを検出すると、該当するプロセス情
報を記憶回路から取り出してカレントプロセスを実行可
能待ちプロセスとして新規に上記記憶回路に格納する実
行プロセス選択回路と、 上記割り込み検出回路から出力される上記レディー要求
と上記詳細情報により新規に実行可能となったプロセス
を上記記憶回路に格納するレディープロセス制御回路
と、 を備えることを特徴とするプロセス管理方式。
An interrupt detection circuit that outputs a process switching instruction when a process switching factor is detected and outputs a ready request and detailed information when an executable process is detected, and a head and a tail for each priority of the executable process. A ready process pointer group for storing pointers of each type, a priority display register having the same bit width as the number of process priorities, and holding the presence or absence of a ready process having execution for each priority in bit units; When the process switching instruction is received from the interrupt detection circuit, the highest priority existing as an executable process is calculated from the priority display information output from the priority display register, and the current priority indicating the priority of the currently executing process is calculated. Judgment with priority When an executable process having a higher priority than the currently executing process is detected, the corresponding process information is extracted from the storage circuit, and the current process is newly stored in the storage circuit as an executable waiting process. A process management comprising: a selection circuit; and a ready process control circuit that stores, in the storage circuit, a process newly executable according to the ready request output from the interrupt detection circuit and the detailed information. method.
【請求項2】 上記詳細情報は、プロセスのプライオリ
ティであることを特徴とする請求項1記載のプロセス管
理方式。
2. The process management method according to claim 1, wherein said detailed information is a priority of a process.
【請求項3】 上記記憶回路は、プロセス情報を後納す
るレディーキューと、上記レディーキューの使用可能の
空きリンクを保持するフリーリンクキューとを含むこと
を特徴とする請求項1記載のプロセス管理方式。
3. The process management system according to claim 1, wherein the storage circuit includes a ready queue for storing the process information later, and a free link queue for holding available free links of the ready queue. .
【請求項4】 上記レディーキューは、プロセスをFI
FOで格納することを特徴とする請求項3記載のプロセ
ス管理方式。
4. The ready queue according to claim 1, further comprising:
4. The process management method according to claim 3, wherein the information is stored as an FO.
【請求項5】 上記レディーキューは、プロセスをLI
FOで格納することを特徴とする請求項3記載のプロセ
ス管理方式。
5. The ready queue according to claim 1, further comprising:
4. The process management method according to claim 3, wherein the information is stored as an FO.
【請求項6】 上記フリーリンクキューは、先頭がフリ
ーリンクポインタにより保持されることを特徴とする請
求項3記載のプロセス管理方式。
6. The process management method according to claim 3, wherein a head of the free link queue is held by a free link pointer.
【請求項7】 上記カレントプライオリティは、実行プ
ロセス表示レジスタに保持されることを特徴とする請求
項1記載のプロセス管理方式。
7. The process management method according to claim 1, wherein said current priority is held in an execution process display register.
【請求項8】 上記プライオリティ表示レジスタは、各
ビットを該当するレディーキューに最初にリンクされる
ときに有効となり、以後レディーキューの同一プライオ
リティー内のすべてのリンクが消滅したときに無効とす
ることを特徴とする請求項1記載のプロセス管理方式。
8. The priority indication register is enabled when each bit is first linked to a corresponding ready queue, and thereafter disabled when all links within the same priority of the ready queue disappear. 2. The process management method according to claim 1, wherein:
【請求項9】 上記実行プロセス選択回路は、上記プラ
イオリティレジスタの各ビットのデータを利用してプラ
イオリティごとのすべての先頭ポインタにアクセスする
ことなく実行プロセスの選択を行うことを特徴とする請
求項1記載のプロセス管理方式。
9. The execution process selection circuit according to claim 1, wherein the execution process selection circuit uses the data of each bit of the priority register to select an execution process without accessing all the head pointers for each priority. The described process management method.
JP11085563A 1999-03-29 1999-03-29 Process management system Pending JP2000276362A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11085563A JP2000276362A (en) 1999-03-29 1999-03-29 Process management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11085563A JP2000276362A (en) 1999-03-29 1999-03-29 Process management system

Publications (1)

Publication Number Publication Date
JP2000276362A true JP2000276362A (en) 2000-10-06

Family

ID=13862291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11085563A Pending JP2000276362A (en) 1999-03-29 1999-03-29 Process management system

Country Status (1)

Country Link
JP (1) JP2000276362A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005235228A (en) * 2004-02-20 2005-09-02 Sony Computer Entertainment Inc Method and apparatus for task management in multiprocessor system
CN100355227C (en) * 2002-06-03 2007-12-12 上海贝尔有限公司 Baseband multi-user coding and priority scheduling method and equipment for WCDMA system
WO2009022369A1 (en) * 2007-08-10 2009-02-19 Netcleus Systems Corporation Virtual queue processing circuit and task processor

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100355227C (en) * 2002-06-03 2007-12-12 上海贝尔有限公司 Baseband multi-user coding and priority scheduling method and equipment for WCDMA system
JP2005235228A (en) * 2004-02-20 2005-09-02 Sony Computer Entertainment Inc Method and apparatus for task management in multiprocessor system
JP4526412B2 (en) * 2004-02-20 2010-08-18 株式会社ソニー・コンピュータエンタテインメント Task management method and apparatus in multiprocessor system
WO2009022369A1 (en) * 2007-08-10 2009-02-19 Netcleus Systems Corporation Virtual queue processing circuit and task processor
CN101796487B (en) * 2007-08-10 2013-10-09 科尼龙硅公司 Virtual queue processing circuit and task processor
US8996761B2 (en) 2007-08-10 2015-03-31 Kernelon Silicon Inc. Virtual queue processing circuit and task processor
US9047120B2 (en) 2007-08-10 2015-06-02 Kernelon Silicon Inc. Virtual queue processing circuit and task processor

Similar Documents

Publication Publication Date Title
EP0644487B1 (en) Scalable system interrupt structure for a multiprocessing system
US8001283B2 (en) Efficient, scalable and high performance mechanism for handling IO requests
KR100981168B1 (en) Scheduler for use in a microprocessor that supports data-speculative-execution
US6904595B2 (en) Priority in a portable thread environment
US5625846A (en) Transfer request queue control system using flags to indicate transfer request queue validity and whether to use round-robin system for dequeuing the corresponding queues
JPS61107434A (en) Data processor
JPS63113648A (en) Cash memory queue
JP2008512785A (en) Ordering stored instructions for multi-core processors
US5638535A (en) Method and apparatus for providing flow control with lying for input/output operations in a computer system
EP0644489A2 (en) Method and apparatus for signalling interrupt information in a data processing system
US6961934B2 (en) Portable thread environment
US6567901B1 (en) Read around speculative load
KR20160082685A (en) Efficient hardware dispatching of concurrent functions in multicore processors, and related processor systems, methods, and computer-readable media
US6438650B1 (en) Method and apparatus for processing cache misses
JP7097371B2 (en) Methods and equipment for providing accelerated access to memory systems
US7043626B1 (en) Retaining flag value associated with dead result data in freed rename physical register with an indicator to select set-aside register instead for renaming
JP2000276362A (en) Process management system
EP1936514B1 (en) Apparatus and method for controlling issue of requests to another operation processing device
US20030079068A1 (en) Method and apparatus for sharing resources between different queue types
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
JPS5991551A (en) Instruction prefetching device forecasting address to be branched
JPS6115260A (en) Data processor
JP3123946B2 (en) Microcomputer
US11507372B2 (en) Processing of instructions fetched from memory
US11853236B2 (en) Enriched auto command feature for I3C host controller