JP5906807B2 - Arithmetic processing device and stall monitoring method - Google Patents
Arithmetic processing device and stall monitoring method Download PDFInfo
- Publication number
- JP5906807B2 JP5906807B2 JP2012041902A JP2012041902A JP5906807B2 JP 5906807 B2 JP5906807 B2 JP 5906807B2 JP 2012041902 A JP2012041902 A JP 2012041902A JP 2012041902 A JP2012041902 A JP 2012041902A JP 5906807 B2 JP5906807 B2 JP 5906807B2
- Authority
- JP
- Japan
- Prior art keywords
- monitoring process
- arithmetic processing
- monitoring
- stall
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012544 monitoring process Methods 0.000 title claims description 168
- 238000000034 method Methods 0.000 title claims description 118
- 238000012545 processing Methods 0.000 title claims description 96
- 230000008569 process Effects 0.000 claims description 105
- 230000004913 activation Effects 0.000 claims description 83
- 230000004044 response Effects 0.000 claims description 24
- 238000012790 confirmation Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 17
- 238000001994 activation Methods 0.000 description 69
- 230000007704 transition Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Description
本発明は演算処理装置及びストール監視方法に関し、特に処理プロセス間の優先度を設定してストール監視を行う演算処理装置及びストール監視方法に関する。 The present invention relates to an arithmetic processing unit and a stall monitoring method, and more particularly to an arithmetic processing unit and a stall monitoring method that perform stall monitoring by setting priorities between processing processes.
一般的に、演算処理を実行する装置においては、プログラムの不具合等何らかの問題によって動作できなくなるストール状態が発生することがある。ストール状態は、演算処理装置が処理不能となっている状態である。そのため、演算処理装置は、ストール状態を検出して、速やかに復旧を図る必要がある。 Generally, in a device that executes arithmetic processing, a stall state may occur in which operation is not possible due to some problem such as a program defect. The stall state is a state in which the arithmetic processing device cannot be processed. For this reason, the arithmetic processing unit needs to detect the stall state and promptly recover it.
そこで、ストール状態を監視する方法として、ウォッチドッグタイマを用いる方法がある。具体的には、ウォッチドッグタイマを用いて、ストール監視プロセスを一定時間毎に起動し、ストール監視プロセスから応答信号が出力された場合、ストール状態は発生していないと判定され、ストール監視プロセスから応答信号が出力されない場合、ストール状態が発生していると判定される。 Therefore, as a method of monitoring the stall state, there is a method using a watch dog timer. Specifically, using a watchdog timer, the stall monitoring process is started at regular intervals, and if a response signal is output from the stall monitoring process, it is determined that no stall condition has occurred, and the stall monitoring process If no response signal is output, it is determined that a stall condition has occurred.
図6を用いて、一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートについて説明する。一般的なウォッチドッグタイマを用いたストール監視においては、一定時間毎にストール監視を行うプロセスが必ず起動されるように設計される。本図においては、例えば、実行優先度が中であるプロセス2が起動されている場合においても、あらかじめ定められた時間に実行優先度が高であるストール監視プロセスが起動される。同様に、実行優先度が中であるプロセス1が起動されている場合においても、あらかじめ定められた時間に実行優先度が高であるストール監視プロセスが起動される。更には、プロセス2にストール状態が発生している場合においても、ストール監視プロセスの実行優先度はプロセス2の実行優先度よりも高いため、あらかじめ定められた時間にストール監視プロセスが起動される。 A time chart of a stall monitoring process using a general watchdog timer will be described with reference to FIG. Stall monitoring using a general watchdog timer is designed so that a process for performing stall monitoring is always started at regular intervals. In this figure, for example, even when the process 2 having a medium execution priority is activated, the stall monitoring process having a high execution priority is activated at a predetermined time. Similarly, even when the process 1 having the medium execution priority is activated, the stall monitoring process having the high execution priority is activated at a predetermined time. Furthermore, even when a stall state occurs in the process 2, the stall monitoring process is activated at a predetermined time because the execution priority of the stall monitoring process is higher than the execution priority of the process 2.
図6のようなストール監視を行った場合、OSのタスク切り替えが出来ないようなストール状態においてはストール監視プロセスを起動することができないため、ストール状態を検出することができる。しかし、あるプロセスが論理不具合などによる無限ループに陥ったとしても、OSのタスク切り替えができる状態である時には、ストール監視プロセスが起動するため、そのプロセスのストール状態を監視プロセスが検出することはできない。 When the stall monitoring as shown in FIG. 6 is performed, the stall monitoring process cannot be started in the stall state where the OS task cannot be switched, so that the stall state can be detected. However, even if a certain process falls into an infinite loop due to a logic failure or the like, the stall monitoring process is activated when the OS task can be switched, so the monitoring process cannot detect the stall state of that process. .
このようなOSのタスク切り替えができるような状態におけるストール状態を検出する方法について、図7を用いて説明する。本図におけるストール監視プロセスは、実行優先度を他のプロセスと同じか、それ以下まで下げて設定されている。これにより、通常の処理プロセスにストール状態が発生している場合、ストール監視プロセスは起動されず、図6のような課題は解消される。 A method for detecting a stall state in such a state that task switching of the OS can be performed will be described with reference to FIG. The stall monitoring process in this figure is set by lowering the execution priority to the same or lower than other processes. Thereby, when a stall state occurs in the normal processing process, the stall monitoring process is not started, and the problem as shown in FIG. 6 is solved.
しかし、上述したストール状態を検出する方法においては、ストール監視プロセスの優先度が、他のプロセスと同じか、それ以下まで下げている。そのため、ストール監視プロセスの起動要求が実行された際に、他のプロセスが起動している場合には、ストール監視プロセスは起動されない。そのため、正常に動作している他の処理プロセスが継続して多数実行されている場合、ストール監視プロセスの応答ができない状態が継続する。そのため、他の処理プロセスが正常に動作しているにもかかわらず、ストール監視プロセスからの応答がないため、ストール状態が発生していると誤った判定がなされる場合がある。 However, in the above-described method for detecting a stall state, the priority of the stall monitoring process is lowered to the same level as or lower than that of other processes. Therefore, if another process is activated when a stall monitoring process activation request is executed, the stall monitoring process is not activated. Therefore, when many other processing processes that are operating normally continue to be executed, a state in which the stall monitoring process cannot respond continues. For this reason, there is no response from the stall monitoring process even though other processing processes are operating normally, so that it may be erroneously determined that a stall condition has occurred.
また、特許文献1には、優先順位が定められたキューについて、優先順位が低いキューに対して優先順位の補正処理を行うことが開示されている。しかし、図7において、ストール監視プロセスの優先順位を上げて、他の処理プロセスよりもストール監視プロセスの優先度を上げた場合、再度図6にて示した問題が発生し得る。 Japanese Patent Application Laid-Open No. 2004-151561 discloses that priority level correction processing is performed on a queue with a low priority level for a queue with a low priority level. However, in FIG. 7, when the priority of the stall monitoring process is increased and the priority of the stall monitoring process is increased over other processing processes, the problem shown in FIG. 6 may occur again.
本発明は、監視プロセスを用いたストール監視において、ストール状態を検出する精度を向上させる演算処理装置及びストール監視方法を提供することを目的とする。 An object of the present invention is to provide an arithmetic processing unit and a stall monitoring method that improve the accuracy of detecting a stall state in stall monitoring using a monitoring process.
本発明の第1の態様にかかる演算処理装置は、演算処理プロセスと、前記演算処理プロセスよりも起動に関する優先度が低く前記演算処理プロセスのストール監視を行う監視プロセスと、を実行する制御部と、前記演算処理プロセスからアクセスされるデータキャッシュの状態変化を監視するキャッシュ確認部と、前記キャッシュ確認部の監視結果に基づいて、前記監視プロセスの起動を制御する監視プロセス起動制御部と、前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する障害判定部と、を備えるものである。 The arithmetic processing device according to the first aspect of the present invention includes: a control unit that executes an arithmetic processing process; and a monitoring process that has a lower priority for activation than the arithmetic processing process and performs stall monitoring of the arithmetic processing process; A cache confirmation unit that monitors a change in state of a data cache accessed from the arithmetic processing process, a monitoring process activation control unit that controls activation of the monitoring process based on a monitoring result of the cache confirmation unit, and the monitoring And a failure determination unit that determines whether or not a stall state has occurred in the arithmetic processing process based on a process startup result.
本発明の第2の態様にかかるストール監視方法は、演算処理プロセスを実行する制御部からアクセスされるデータキャッシュの状態変化を監視し、前記データキャッシュにおける状態変化の監視結果に基づいて前記制御部における監視プロセスの起動を制御し、前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定するものである。 A stall monitoring method according to a second aspect of the present invention monitors a state change of a data cache accessed from a control unit that executes an arithmetic processing process, and controls the control unit based on a monitoring result of the state change in the data cache. Is controlled to determine whether or not a stall state has occurred in the arithmetic processing process based on the start result of the monitoring process.
本発明により、監視プロセスを用いたストール監視において、ストール状態を検出する精度を向上させる演算処理装置及びストール監視方法を提供することができる。 According to the present invention, it is possible to provide an arithmetic processing unit and a stall monitoring method that improve the accuracy of detecting a stall state in stall monitoring using a monitoring process.
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかる演算処理装置の構成例について説明する。演算処理装置は、例えば、CPUであってもよい。演算処理装置10は、プロセッサコア11と、プロセッサコア12と、データキャッシュ13とを備えている。また、演算処理装置は、メモリ14と接続されている。プロセッサコア12は、キャッシュ確認部20と、監視プロセス起動制御部21と、障害判定部22とを有している。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings. A configuration example of the arithmetic processing apparatus according to the first embodiment of the present invention will be described with reference to FIG. The arithmetic processing unit may be a CPU, for example. The
プロセッサコア11は、演算処理装置10における演算処理を実行する。プロセッサコア11は、演算処理装置10内の制御部と呼称されてもよい。プロセッサコア11は、演算処理プロセスと、ストール監視を行う監視プロセスとを実行する。監視プロセスは、演算処理プロセスよりも実行優先度が低く設定される。
The
プロセッサコア12は、キャッシュ確認部20と、監視プロセス起動制御部21と、障害判定部22による制御処理を専用に実行する。キャッシュ確認部20は、データキャッシュ13の状態変化を監視する。例えば、プロセッサコア11において演算処理プロセスが実行され、プロセッサコア11からメモリ14へアクセスされ、メモリ14から出力されたデータがデータキャッシュ13へ格納された場合に、データキャッシュ13の状態が変化する。また、プロセッサコア11において演算処理プロセスが実行されていない場合、プロセッサコア11からデータキャッシュ13及びメモリ14へのアクセスがないため、データキャッシュ13の状態は変化しない。
The
データキャッシュ13は、メモリ14に格納されているデータへのデータアクセス速度向上を目的として、演算処理装置10内部に配置される。データキャッシュ13は、プロセッサコア11及びプロセッサコア12の両方からアクセスされる。メモリ14は、プロセッサコア11及びプロセッサコア12において実行されるプログラム及びプログラムの実行において使用されるデータが格納されている。
The
監視プロセス起動制御部21は、キャッシュ確認部20によるデータキャッシュ13の監視結果に基づいて、プロセッサコア11における監視プロセスの起動を制御する。例えば、監視プロセス起動制御部21は、キャッシュ確認部20によりデータキャッシュ13の状態が変化していることを検出した場合、プロセッサコア11における監視プロセスを起動させない。監視プロセス起動制御部21は、キャッシュ確認部20によりデータキャッシュ13の状態が変化していることを検出しなかった場合、プロセッサコア11における監視プロセスを起動させる。
The monitoring process
障害判定部22は、監視プロセス起動制御部21がプロセッサコア11における監視プロセスを起動させる制御を実行した場合の監視プロセスの起動結果に基づいて、プロセッサコア11の演算処理プロセスにストール状態が発生しているか否かを判定する。例えば、障害判定部22は、監視プロセス起動制御部21によりプロセッサコア11における監視プロセスを起動させる制御が実行された際に、監視プロセスの起動が確認されない場合、プロセッサコア11の演算処理プロセスに障害が発生していると判定する。もしくは、障害判定部22は、監視プロセス起動制御部21によりプロセッサコア11における監視プロセスを起動させる制御が実行された際に、監視プロセスの起動が確認された場合、プロセッサコア11の演算処理プロセスが正常に動作していると判定する。
The
以上説明したように、図1の演算処理装置10を用いることにより、プロセッサコア12は、プロセッサコア12の監視プロセス起動処理を制御することができる。さらに、ストール発生状態が考えられるデータキャッシュ13の状態が変化していない場合に、プロセッサコア12が、プロセッサコア11における監視プロセスの起動状態を監視することにより、プロセッサコア11におけるストール状態の発生を正確に検出することができる。
As described above, by using the
続いて、図2を用いて本発明の実施の形態1にかかるプロセッサコア11とプロセッサコア12との動作について説明する。プロセッサコア12は、図1と同様の構成を有している。プロセッサコア11は、プロセス起動制御部30及びプロセス起動応答部31を備えている。
Next, operations of the
プロセス起動制御部30は、プロセッサコア11が実行する演算処理プロセス及び監視プロセスをそれぞれの優先度に応じて起動させる。プロセス起動応答部31は、監視プロセスが起動された場合、監視プロセスが起動されたことをプロセッサコア12の障害判定部22へ通知する。
The process
キャッシュ確認部20は、データキャッシュ13の状態を確認し、データキャッシュ13が有するデータに変化が発生しているか否かを判定する。キャッシュ確認部20は、データキャッシュ13が有するデータに変化が発生していないと判定した場合、その旨を監視プロセス起動制御部21へ通知する。
The
監視プロセス起動制御部21は、キャッシュ確認部20から、データキャッシュ13が有するデータに変化が発生していないことを通知された場合、プロセッサコア11のプロセス起動制御部30に対して、監視プロセスを起動させるよう、監視プロセス起動指示に関する信号を通知する。また、監視プロセス起動制御部21は、監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知したことを障害判定部22へ通知する。
When the monitoring process
プロセス起動制御部30は、プロセッサコア12の監視プロセス起動制御部21から監視プロセスの起動指示が通知された場合、監視プロセスを実行する。ここで、監視プロセスは、他の演算処理プロセスよりも低い実行優先度もしくは同じ実行優先度が設定されている。そのため、プロセッサコア11において演算処理プロセスが実行されている場合、プロセス起動制御部30は、監視プロセスを実行することができない。プロセス起動制御部30は、演算処理プロセスが実行されていない場合、監視プロセスを実行することができる。
The process
プロセス起動応答部31は、プロセス起動制御部30により監視プロセスが実行された場合、監視プロセスの起動を障害判定部22へ通知する。
When the process
障害判定部22は、監視プロセス起動制御部21から、監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知されている状態において、プロセス起動応答部31から監視プロセスの起動が通知されない場合、プロセッサコア11においてストール状態が発生していると判定する。また、障害判定部22は、監視プロセス起動制御部21から、監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知されている状態において、プロセス起動応答部31から監視プロセスの起動が通知された場合、プロセッサコア11は正常に動作していると判定する。
The
監視プロセス起動制御部21は、データキャッシュ13に変化が生じていない場合に、プロセッサコア11に対して監視プロセスの起動を指示する。データキャッシュ13に変化が生じていない場合には、プロセッサコア11が定常状態に遷移し、演算処理プロセッサが動作していない状態とプロセッサコア11においてストール状態が発生し、プロセッサコア11の演算処理プロセスが処理不能となっている状態とがある。
The monitoring process
プロセッサコア11は、定常状態に遷移している状態においては、監視プロセスを起動することができる。そのため、障害判定部22は、プロセス起動応答部31から監視プロセスの起動通知を受けた場合、プロセッサコア11は、正常に動作していると判定することができる。これに対して、プロセッサコア11は、ストール状態が発生している場合には、演算処理プロセスが起動されている状態であり、監視プロセスを起動することができない。そのため、障害判定部22は、プロセス起動応答部31から監視プロセスの起動通知を受けていない場合、プロセッサコア11にストール状態が発生していると判定することができる。
The
また、障害判定部22は、監視プロセス起動制御部21から監視プロセス起動指示に関する信号をプロセス起動制御部30へ通知されてから、一定時間以内に監視プロセスの起動通知を受け取ることができない場合、プロセッサコア11にストール状態が発生していると判定してもよい。
If the
続いて、図3を用いて正常状態における演算処理装置の処理動作について説明する。プロセッサコア11は、通常の処理プロセス及び監視プロセスを実行し、両プロセスを実行しない場合、データの入力待ちもしくはプロセスの実行待ちを行う定常状態へ遷移する。監視プロセスは、通常の処理プロセスよりも実行優先度が低い。プロセッサコア12は、処理プロセスを実行し、処理プロセスを実行しない場合、データの入力待ちもしくはプロセスの実行待ちを行う定常状態へ遷移する。
Next, the processing operation of the arithmetic processing unit in a normal state will be described using FIG. The
プロセッサコア11においては、処理プロセスP1〜P3が繰り返し実行されている。処理プロセスP1〜P3は、プロセス実行中にデータキャッシュ13へアクセスを行い、必要なデータを取得もしくはプログラムを実行する。プロセッサコア11からデータキャッシュ13へアクセスした際に、必要なデータ等がデータキャッシュ13に存在しない場合、プロセッサコア11は、メモリ14へアクセスし、必要なデータを取得し、取得したデータをデータキャッシュ13へ格納する。このようにして、データキャッシュ13の状態、つまり、格納データが変化する。本図においては、処理プロセスP1〜P3が実行される毎に、データキャッシュ13の状態が変化する様子を示している。
In the
プロセッサコア11は、処理プロセスP1〜P3の実行を完了すると、定常状態へ遷移する。プロセッサコア11が定常状態へ遷移した場合、プロセッサコア11からデータキャッシュ13及びメモリ14へのアクセスは実行されないため、データキャッシュ13の状態は変化しない。
When the
プロセッサコア12は、キャッシュ確認部20を用いて一定時間毎にデータキャッシュ状態を確認する処理プロセスを実行する。プロセッサコア12は、データキャッシュ13の状態が変化していることを検出した場合、定常状態へ遷移し、所定のタイミングに、キャッシュ状態を確認する処理プロセスを実行する。プロセッサコア12は、データキャッシュ13の状態が変化していないことを検出した場合、プロセッサコア11の監視プロセスを起動させるために、監視プロセス起動制御部21を用いてプロセッサコア11に対して、監視プロセス起動制御に関する処理プロセスを実行する。
The
キャッシュ確認部20は、前回のデータキャッシュ13確認時のキャッシュ内容と比較して、キャッシュ内容に差分がある場合に、データキャッシュ13の状態が変化していることを検出してもよい。
The
なお、監視プロセス起動制御部21は、キャッシュ確認部20において、複数回データキャッシュ13の状態が変化していないことを検出した場合、プロセッサコア11の監視プロセスを起動させるように制御してもよい。これにより、プロセッサコア11の処理プロセスが実行された場合に、データキャッシュ13に格納されているデータのみを用いて処理プロセスが完了することにより、プロセッサコア11からメモリ14へアクセスが行われないことがある。このような場合、データキャッシュ13の状態は変化しない。そのため、監視プロセス起動制御部21は、データキャッシュ13の状態が変化していない回数に基づいてプロセッサコア11における監視プロセスの起動を制御することにより、プロセッサコア11において処理プロセスが起動されている状態に、プロセッサコア11に対して監視プロセスの起動を指示することを回避することができる。
The monitoring process
プロセッサコア12は、定常状態においてプロセッサコア11より監視プロセス起動制御が実行された場合、プロセス起動制御部30を用いて監視プロセスを起動する。さらに、プロセッサコア12は、監視プロセスを起動すると、プロセス起動応答部31を用いて、プロセッサコア12に対して監視プロセスの起動応答を通知する。
When monitoring process activation control is executed by the
プロセッサコア12は、プロセッサコア11から監視プロセスの起動応答を受け取った場合、プロセッサコア11においてストール状態が発生していないと判定する。
When the
続いて、図4を用いてストール状態が発生した場合における演算処理装置の処理動作について説明する。本図は、プロセッサコア11において2度目の処理プロセスP3を実行中にストール状態が発生したことを示している。プロセッサコア11にストール状態が発生した場合、プロセッサコア11からデータキャッシュ13及びメモリ14へアクセスすることはなくなる。そのため、データキャッシュ13の状態は変化しなくなる。
Next, a processing operation of the arithmetic processing device when a stall state occurs will be described with reference to FIG. This figure shows that a stall condition has occurred during the execution of the second processing process P3 in the
プロセッサコア12は、データキャッシュ13の状態が変化していないことを検出した場合、プロセッサコア11の監視プロセスを起動させるために、監視プロセス起動制御部21を用いてプロセッサコア11に対して、監視プロセス起動制御に関する処理プロセスを実行する。
When detecting that the state of the
ここで、プロセッサコア11は、処理プロセスP3が起動したままストール状態が発生している。そのため、プロセッサコア12から監視プロセス起動が実行された場合においても、通常の処理プロセスよりも実行優先度が低い監視プロセスは起動されない。そのため、プロセス起動応答部31は、プロセッサコア12に対して、プロセス起動応答を通知しない。プロセッサコア12の障害判定部22は、監視プロセス起動制御に関する処理プロセスが実行されてから、一定時間以内にプロセス起動応答を受け取らない場合、プロセッサコア11においてストール状態が発生していると判定する。
Here, the
続いて、図5を用いてストール状態の判定処理の流れについて説明する。はじめに、プロセッサコア12のキャッシュ確認部20は、データキャッシュ13の状態確認を行う(S11)。次に、キャッシュ確認部20が、データキャッシュ13の状態変化を検出しなかった場合(S12)、監視プロセス起動制御部21は、プロセッサコア11における監視プロセスを起動させる(S13)。
Next, the flow of stall state determination processing will be described with reference to FIG. First, the
次に、プロセッサコア12の障害判定部22は、プロセッサコア11に対して監視プロセスの起動に関する制御を実行してから予め定めた規定時間内に監視プロセス起動応答を受け取ったか否かを判定する。(S14)。障害判定部22は、規定時間内に監視プロセス起動応答を受け取った場合、プロセッサコア11にはストール状態が発生していないと判定する(S15)。
Next, the
ステップS14において、障害判定部22は、規定時間内に監視プロセス起動応答を受け取っていないと判定した場合、プロセッサコア11にストール状態が発生していると判定する(S16)。また、ステップS12において、キャッシュ確認部20がデータキャッシュ13の状態変化を検出した場合、ステップS15以降の処理を実行する。
In step S14, when the
以上説明したように、本発明の実施の形態1にかかる演算処理装置を用いることにより、一方のプロセッサコアで発生しているストール状態を、確実に検出することができる。一般的に行われているウォッチドックタイマ方式のストール監視においては、あるプロセスが論理不具合などにより無限ループに陥るなどしてストール状態が発生しても、優先起動されるストール監視プログラムが動作できる時には、ストール状態を検出することができなかった。しかし、本発明における演算処理装置を用いることにより、このような課題を解決することができる。 As described above, by using the arithmetic processing apparatus according to the first embodiment of the present invention, it is possible to reliably detect a stall state occurring in one processor core. In the watchdog timer type stall monitoring that is generally performed, even if a stall process occurs because a certain process falls into an infinite loop due to a logic failure, etc. The stall condition could not be detected. However, such a problem can be solved by using the arithmetic processing unit according to the present invention.
また、本発明の演算処理装置においては、通常の処理プロセスよりもストール監視プロセスの実行優先度を低く設定している。さらに、ストール監視プロセスは、他のプロセッサコアを用いて制御される。そのため、本発明の演算処理装置を用いることにより、ストール監視プロセスを実行するプロセッサコアの処理を遅延させることもなく、さらに、処理負担が増加することもない。 In the arithmetic processing unit of the present invention, the execution priority of the stall monitoring process is set lower than that of the normal processing process. Further, the stall monitoring process is controlled using other processor cores. Therefore, by using the arithmetic processing unit of the present invention, the processing of the processor core that executes the stall monitoring process is not delayed, and further, the processing load is not increased.
(他の実施の形態)
上述した実施の形態1においては、プロセッサコア11及びプロセッサコア12が共有するデータキャッシュ13を用いる構成について説明したが、プロセッサコア11及びプロセッサコア12毎にデータキャッシュが割り当てられる構成においても、同様に本発明を適用することができる。
(Other embodiments)
In the first embodiment described above, the configuration using the
この場合、プロセッサコア12は、プロセッサコア11からメモリ14へアクセスされたことを検出することにより、プロセッサコア11に割り当てられているデータキャッシュの状態が変化したことを検出してもよい。例えば、プロセッサコア11は、メモリ14へアクセスする際に、プロセッサコア12へ、メモリ14へアクセスすることをあわせて通知するように動作してもよい。これにより、プロセッサコア12は、プロセッサコア11におけるメモリ14へのアクセスを検出することができる。
In this case, the
CPU内にプロセッサコアを2つ配置する構成について説明したが、プロセッサコア毎にデータキャッシュが割り当てられる構成においては、プロセッサコアの数は2つに制限されない。CPUは、3以上のプロセッサコアを備える構成であってもよい。 Although the configuration in which two processor cores are arranged in the CPU has been described, in the configuration in which a data cache is allocated to each processor core, the number of processor cores is not limited to two. The CPU may be configured to include three or more processor cores.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
10 演算処理装置
11 プロセッサコア
12 プロセッサコア
13 データキャッシュ
14 メモリ
20 キャッシュ確認部
21 監視プロセス起動制御部
22 障害判定部
30 プロセス起動制御部
31 プロセス起動応答部
DESCRIPTION OF
Claims (8)
前記演算処理プロセスからアクセスされるデータキャッシュの状態変化を監視するキャッシュ確認部と、
前記キャッシュ確認部の監視結果に基づいて、前記監視プロセスの起動を制御する監視プロセス起動制御部と、
前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する障害判定部と、
前記監視プロセスの起動状態を通知する監視プロセス起動通知部と、を備え、
前記監視プロセス起動通知部は、
前記制御部が前記演算処理プロセス及び前記監視プロセスを実行していない定常状態に前記監視プロセス起動制御部から前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動し、前記起動指示に対する応答を前記障害判定部へ通知し、前記制御部が前記演算処理プロセスを実行している状態に前記監視プロセス起動制御部から前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動せず、前記起動指示に対する応答を前記障害判定部へ通知しない、演算処理装置。 A control unit that executes an arithmetic processing process, and a monitoring process that has a lower priority on activation than the arithmetic processing process and performs stall monitoring of the arithmetic processing process;
A cache confirmation unit that monitors a change in the state of the data cache accessed from the arithmetic processing process;
A monitoring process activation control unit that controls activation of the monitoring process based on a monitoring result of the cache confirmation unit;
A failure determination unit that determines whether or not a stall condition has occurred in the arithmetic processing process, based on a startup result of the monitoring process;
A monitoring process start notification unit for notifying the start state of the monitoring process,
The monitoring process activation notification unit
When the monitoring process activation control unit is notified of the monitoring process activation control unit in a steady state in which the control process and the monitoring process are not executed by the control unit, the monitoring process is activated, and the activation instruction A response is notified to the failure determination unit, and when the monitoring process activation control unit is notified that the control unit is executing the arithmetic processing process, the monitoring process is activated. The arithmetic processing unit does not notify the failure determination unit of a response to the activation instruction .
前記キャッシュ確認部において前記データキャッシュが変化していると判定された場合には、前記監視プロセスの起動を行わず、前記データキャッシュが変化していないと判定された場合に、前記監視プロセスの起動を行う、請求項1に記載の演算処理装置。 The monitoring process activation control unit
If the cache check unit determines that the data cache has changed, the monitoring process is not started. If it is determined that the data cache has not changed, the monitoring process is started. The arithmetic processing device according to claim 1, wherein:
前記監視プロセスの起動が確認できた場合には、前記演算処理プロセスにストール状態が発生していないと判定し、前記監視プロセスの起動が確認できない場合には、前記演算処理プロセスにストール状態が発生していると判定する、請求項1又は2に記載の演算処理装置。 The failure determination unit
If the start of the monitoring process can be confirmed, it is determined that the stall process has not occurred. If the start of the monitoring process cannot be confirmed, the stall process has occurred. The arithmetic processing device according to claim 1, wherein the arithmetic processing device determines that the operation is being performed.
定期的に前記データキャッシュの状態変化を確認し、
前記監視プロセス起動制御部は、
前記キャッシュ確認部において前記データキャッシュが変化していないと判定された回数が予め定められた回数を超えた場合に、前記監視プロセスの起動を行う、請求項1乃至3のいずれか1項に記載の演算処理装置。 The cache confirmation unit
Periodically check the status change of the data cache,
The monitoring process activation control unit
If it exceeds the number of times that the front Kide over data cache in the cache checking unit is determined not to be changed is predetermined, carries out activation of the monitoring process, any of claims 1 to 3 1 The arithmetic processing unit according to item.
前記データキャッシュにおける状態変化の監視結果に基づいて前記制御部における監視プロセスの起動を制御し、
前記制御部が前記演算処理プロセス及び前記監視プロセスを実行していない定常状態に前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動し、前記起動指示に対する応答を通知し、前記制御部が前記演算処理プロセスを実行している状態に前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動せず、前記起動指示に対する応答を通知せず、
前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する、ストール監視方法。 Monitor the status change of the data cache accessed from the control unit that executes the arithmetic processing process,
Control the start of the monitoring process in the control unit based on the monitoring result of the state change in the data cache,
When the control unit is instructed to start the monitoring process in a steady state in which the arithmetic processing process and the monitoring process are not executed, the control unit is started, a response to the start instruction is notified, and the control When the monitoring process activation instruction is notified when the unit is executing the arithmetic processing process, the monitoring process is not activated, the response to the activation instruction is not notified,
A stall monitoring method for determining whether or not a stall state has occurred in the arithmetic processing process based on a start result of the monitoring process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012041902A JP5906807B2 (en) | 2012-02-28 | 2012-02-28 | Arithmetic processing device and stall monitoring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012041902A JP5906807B2 (en) | 2012-02-28 | 2012-02-28 | Arithmetic processing device and stall monitoring method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013178653A JP2013178653A (en) | 2013-09-09 |
JP5906807B2 true JP5906807B2 (en) | 2016-04-20 |
Family
ID=49270229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012041902A Expired - Fee Related JP5906807B2 (en) | 2012-02-28 | 2012-02-28 | Arithmetic processing device and stall monitoring method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5906807B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02259845A (en) * | 1989-03-30 | 1990-10-22 | Nec Corp | Processor |
JPH05241906A (en) * | 1991-10-21 | 1993-09-21 | Mitsubishi Electric Corp | Programmable controller |
JPH08147255A (en) * | 1994-11-18 | 1996-06-07 | Hitachi Ltd | Fault monitoring system |
JPH1011327A (en) * | 1996-06-25 | 1998-01-16 | Nitsuko Corp | System for monitoring abnormality in multitask |
JP2009129301A (en) * | 2007-11-27 | 2009-06-11 | Nec Electronics Corp | Self-diagnostic circuit and self-diagnostic method |
JP5335552B2 (en) * | 2009-05-14 | 2013-11-06 | キヤノン株式会社 | Information processing apparatus, control method therefor, and computer program |
-
2012
- 2012-02-28 JP JP2012041902A patent/JP5906807B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013178653A (en) | 2013-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4060322B2 (en) | Application management apparatus and storage medium storing software thereof | |
JP2007188147A (en) | Debugging support device, and program for making computer execute debug processing method | |
US10379931B2 (en) | Computer system | |
JP4462238B2 (en) | Mobile device | |
JP5579935B2 (en) | Detection of abnormal operation caused by interrupt processing | |
JP4653838B2 (en) | Arithmetic processing device, control method of arithmetic processing device, and control program | |
JP2010186242A (en) | Computer system | |
US8156386B2 (en) | Information processing apparatus, and method and computer program for controlling same, for detecting certain failures | |
JP6148129B2 (en) | Information processing apparatus, firmware update method, and firmware update program | |
JP2008225807A (en) | Control device, and program runaway monitoring method for the same | |
JP2016066139A (en) | Vehicle control unit | |
JP5906807B2 (en) | Arithmetic processing device and stall monitoring method | |
JP6049961B1 (en) | CPU monitoring device | |
JP2006227962A (en) | System and method for monitoring application task | |
JP2009151440A (en) | Program hang-up detection method and computer device adopting the same method | |
JP6256087B2 (en) | Dump system and dump processing method | |
JP2008204011A (en) | Multi-thread system and thread operation failure detecting method | |
JP6765874B2 (en) | Electronic control device | |
JP2009282601A (en) | Operation monitoring program, monitoring system, and monitoring method | |
JP6787658B2 (en) | Processing equipment, traffic signal equipment and information display equipment | |
JP5716396B2 (en) | Information processing apparatus and information processing method | |
JP4983806B2 (en) | System monitoring apparatus and monitoring method using dual timer | |
JP6232877B2 (en) | Information processing apparatus, information processing method, and program | |
JP2007004364A (en) | Debug system, debug method, and program | |
JP2019020869A (en) | Vehicle control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151029 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160223 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5906807 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |