(57)【特許請求の範囲】
【請求項１】
演算処理プロセスと、前記演算処理プロセスよりも起動に関する優先度が低く前記演算処理プロセスのストール監視を行う監視プロセスと、を実行する制御部と、
前記演算処理プロセスからアクセスされるデータキャッシュの状態変化を監視するキャッシュ確認部と、
前記キャッシュ確認部の監視結果に基づいて、前記監視プロセスの起動を制御する監視プロセス起動制御部と、
前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する障害判定部と、
前記監視プロセスの起動状態を通知する監視プロセス起動通知部と、を備え、
前記監視プロセス起動通知部は、
前記制御部が前記演算処理プロセス及び前記監視プロセスを実行していない定常状態に前記監視プロセス起動制御部から前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動し、前記起動指示に対する応答を前記障害判定部へ通知し、前記制御部が前記演算処理プロセスを実行している状態に前記監視プロセス起動制御部から前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動せず、前記起動指示に対する応答を前記障害判定部へ通知しない、演算処理装置。
【請求項２】
前記監視プロセス起動制御部は、
前記キャッシュ確認部において前記データキャッシュが変化していると判定された場合には、前記監視プロセスの起動を行わず、前記データキャッシュが変化していないと判定された場合に、前記監視プロセスの起動を行う、請求項１に記載の演算処理装置。
【請求項３】
前記障害判定部は、
前記監視プロセスの起動が確認できた場合には、前記演算処理プロセスにストール状態が発生していないと判定し、前記監視プロセスの起動が確認できない場合には、前記演算処理プロセスにストール状態が発生していると判定する、請求項１又は２に記載の演算処理装置。
【請求項４】
前記キャッシュ確認部は、
定期的に前記データキャッシュの状態変化を確認し、
前記監視プロセス起動制御部は、
前記キャッシュ確認部において前記データキャッシュが変化していないと判定された回数が予め定められた回数を超えた場合に、前記監視プロセスの起動を行う、請求項１乃至３のいずれか１項に記載の演算処理装置。
【請求項５】
前記キャッシュ確認部、前記監視プロセス起動制御部及び前記障害判定部は、前記制御部とは異なる第１の制御部に備えられる、請求項１乃至４のいずれか１項に記載の演算処理装置。
【請求項６】
演算処理プロセスを実行する制御部からアクセスされるデータキャッシュの状態変化を監視し、
前記データキャッシュにおける状態変化の監視結果に基づいて前記制御部における監視プロセスの起動を制御し、
前記制御部が前記演算処理プロセス及び前記監視プロセスを実行していない定常状態に前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動し、前記起動指示に対する応答を通知し、前記制御部が前記演算処理プロセスを実行している状態に前記監視プロセスの起動指示が通知された場合、前記監視プロセスを起動せず、前記起動指示に対する応答を通知せず、
前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する、ストール監視方法。
【請求項７】
前記データキャッシュの状態が変化していると判定された場合には、前記監視プロセスの起動を行わず、前記データキャッシュが変化していないと判定された場合に、前記監視プロセスの起動を行う、請求項６に記載のストール監視方法。
【請求項８】
前記監視プロセスの起動が確認できた場合には、前記演算処理プロセスにストール状態が発生していないと判定し、前記監視プロセスの起動が確認できない場合には、前記演算処理プロセスにストール状態が発生していると判定する、請求項６又は７に記載のストール監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は演算処理装置及びストール監視方法に関し、特に処理プロセス間の優先度を設定してストール監視を行う演算処理装置及びストール監視方法に関する。
【背景技術】
【０００２】
一般的に、演算処理を実行する装置においては、プログラムの不具合等何らかの問題によって動作できなくなるストール状態が発生することがある。ストール状態は、演算処理装置が処理不能となっている状態である。そのため、演算処理装置は、ストール状態を検出して、速やかに復旧を図る必要がある。
【０００３】
そこで、ストール状態を監視する方法として、ウォッチドッグタイマを用いる方法がある。具体的には、ウォッチドッグタイマを用いて、ストール監視プロセスを一定時間毎に起動し、ストール監視プロセスから応答信号が出力された場合、ストール状態は発生していないと判定され、ストール監視プロセスから応答信号が出力されない場合、ストール状態が発生していると判定される。
【０００４】
図６を用いて、一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートについて説明する。一般的なウォッチドッグタイマを用いたストール監視においては、一定時間毎にストール監視を行うプロセスが必ず起動されるように設計される。本図においては、例えば、実行優先度が中であるプロセス２が起動されている場合においても、あらかじめ定められた時間に実行優先度が高であるストール監視プロセスが起動される。同様に、実行優先度が中であるプロセス１が起動されている場合においても、あらかじめ定められた時間に実行優先度が高であるストール監視プロセスが起動される。更には、プロセス２にストール状態が発生している場合においても、ストール監視プロセスの実行優先度はプロセス２の実行優先度よりも高いため、あらかじめ定められた時間にストール監視プロセスが起動される。
【０００５】
図６のようなストール監視を行った場合、ＯＳのタスク切り替えが出来ないようなストール状態においてはストール監視プロセスを起動することができないため、ストール状態を検出することができる。しかし、あるプロセスが論理不具合などによる無限ループに陥ったとしても、ＯＳのタスク切り替えができる状態である時には、ストール監視プロセスが起動するため、そのプロセスのストール状態を監視プロセスが検出することはできない。
【０００６】
このようなＯＳのタスク切り替えができるような状態におけるストール状態を検出する方法について、図７を用いて説明する。本図におけるストール監視プロセスは、実行優先度を他のプロセスと同じか、それ以下まで下げて設定されている。これにより、通常の処理プロセスにストール状態が発生している場合、ストール監視プロセスは起動されず、図６のような課題は解消される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１６０５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上述したストール状態を検出する方法においては、ストール監視プロセスの優先度が、他のプロセスと同じか、それ以下まで下げている。そのため、ストール監視プロセスの起動要求が実行された際に、他のプロセスが起動している場合には、ストール監視プロセスは起動されない。そのため、正常に動作している他の処理プロセスが継続して多数実行されている場合、ストール監視プロセスの応答ができない状態が継続する。そのため、他の処理プロセスが正常に動作しているにもかかわらず、ストール監視プロセスからの応答がないため、ストール状態が発生していると誤った判定がなされる場合がある。
【０００９】
また、特許文献１には、優先順位が定められたキューについて、優先順位が低いキューに対して優先順位の補正処理を行うことが開示されている。しかし、図７において、ストール監視プロセスの優先順位を上げて、他の処理プロセスよりもストール監視プロセスの優先度を上げた場合、再度図６にて示した問題が発生し得る。
【００１０】
本発明は、監視プロセスを用いたストール監視において、ストール状態を検出する精度を向上させる演算処理装置及びストール監視方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の態様にかかる演算処理装置は、演算処理プロセスと、前記演算処理プロセスよりも起動に関する優先度が低く前記演算処理プロセスのストール監視を行う監視プロセスと、を実行する制御部と、前記演算処理プロセスからアクセスされるデータキャッシュの状態変化を監視するキャッシュ確認部と、前記キャッシュ確認部の監視結果に基づいて、前記監視プロセスの起動を制御する監視プロセス起動制御部と、前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定する障害判定部と、を備えるものである。
【００１２】
本発明の第２の態様にかかるストール監視方法は、演算処理プロセスを実行する制御部からアクセスされるデータキャッシュの状態変化を監視し、前記データキャッシュにおける状態変化の監視結果に基づいて前記制御部における監視プロセスの起動を制御し、前記監視プロセスの起動結果に基づいて、前記演算処理プロセスにストール状態が発生しているか否かを判定するものである。
【発明の効果】
【００１３】
本発明により、監視プロセスを用いたストール監視において、ストール状態を検出する精度を向上させる演算処理装置及びストール監視方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかる演算処理装置の構成図である。
【図２】実施の形態１にかかる演算処理装置の構成図である。
【図３】実施の形態１にかかる正常状態における演算処理装置の処理動作を示す図である。
【図４】実施の形態１にかかるストール状態が発生した場合における演算処理装置の処理動作を示す図である。
【図５】実施の形態１にかかるストール状態の判定処理を示めすフローチャートである。
【図６】一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートである。
【図７】一般的なウォッチドッグタイマを用いたストール監視プロセスのタイムチャートの図である。
【発明を実施するための形態】
【００１５】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１を用いて本発明の実施の形態１にかかる演算処理装置の構成例について説明する。演算処理装置は、例えば、ＣＰＵであってもよい。演算処理装置１０は、プロセッサコア１１と、プロセッサコア１２と、データキャッシュ１３とを備えている。また、演算処理装置は、メモリ１４と接続されている。プロセッサコア１２は、キャッシュ確認部２０と、監視プロセス起動制御部２１と、障害判定部２２とを有している。
【００１６】
プロセッサコア１１は、演算処理装置１０における演算処理を実行する。プロセッサコア１１は、演算処理装置１０内の制御部と呼称されてもよい。プロセッサコア１１は、演算処理プロセスと、ストール監視を行う監視プロセスとを実行する。監視プロセスは、演算処理プロセスよりも実行優先度が低く設定される。
【００１７】
プロセッサコア１２は、キャッシュ確認部２０と、監視プロセス起動制御部２１と、障害判定部２２による制御処理を専用に実行する。キャッシュ確認部２０は、データキャッシュ１３の状態変化を監視する。例えば、プロセッサコア１１において演算処理プロセスが実行され、プロセッサコア１１からメモリ１４へアクセスされ、メモリ１４から出力されたデータがデータキャッシュ１３へ格納された場合に、データキャッシュ１３の状態が変化する。また、プロセッサコア１１において演算処理プロセスが実行されていない場合、プロセッサコア１１からデータキャッシュ１３及びメモリ１４へのアクセスがないため、データキャッシュ１３の状態は変化しない。
【００１８】
データキャッシュ１３は、メモリ１４に格納されているデータへのデータアクセス速度向上を目的として、演算処理装置１０内部に配置される。データキャッシュ１３は、プロセッサコア１１及びプロセッサコア１２の両方からアクセスされる。メモリ１４は、プロセッサコア１１及びプロセッサコア１２において実行されるプログラム及びプログラムの実行において使用されるデータが格納されている。
【００１９】
監視プロセス起動制御部２１は、キャッシュ確認部２０によるデータキャッシュ１３の監視結果に基づいて、プロセッサコア１１における監視プロセスの起動を制御する。例えば、監視プロセス起動制御部２１は、キャッシュ確認部２０によりデータキャッシュ１３の状態が変化していることを検出した場合、プロセッサコア１１における監視プロセスを起動させない。監視プロセス起動制御部２１は、キャッシュ確認部２０によりデータキャッシュ１３の状態が変化していることを検出しなかった場合、プロセッサコア１１における監視プロセスを起動させる。
【００２０】
障害判定部２２は、監視プロセス起動制御部２１がプロセッサコア１１における監視プロセスを起動させる制御を実行した場合の監視プロセスの起動結果に基づいて、プロセッサコア１１の演算処理プロセスにストール状態が発生しているか否かを判定する。例えば、障害判定部２２は、監視プロセス起動制御部２１によりプロセッサコア１１における監視プロセスを起動させる制御が実行された際に、監視プロセスの起動が確認されない場合、プロセッサコア１１の演算処理プロセスに障害が発生していると判定する。もしくは、障害判定部２２は、監視プロセス起動制御部２１によりプロセッサコア１１における監視プロセスを起動させる制御が実行された際に、監視プロセスの起動が確認された場合、プロセッサコア１１の演算処理プロセスが正常に動作していると判定する。
【００２１】
以上説明したように、図１の演算処理装置１０を用いることにより、プロセッサコア１２は、プロセッサコア１２の監視プロセス起動処理を制御することができる。さらに、ストール発生状態が考えられるデータキャッシュ１３の状態が変化していない場合に、プロセッサコア１２が、プロセッサコア１１における監視プロセスの起動状態を監視することにより、プロセッサコア１１におけるストール状態の発生を正確に検出することができる。
【００２２】
続いて、図２を用いて本発明の実施の形態１にかかるプロセッサコア１１とプロセッサコア１２との動作について説明する。プロセッサコア１２は、図１と同様の構成を有している。プロセッサコア１１は、プロセス起動制御部３０及びプロセス起動応答部３１を備えている。
【００２３】
プロセス起動制御部３０は、プロセッサコア１１が実行する演算処理プロセス及び監視プロセスをそれぞれの優先度に応じて起動させる。プロセス起動応答部３１は、監視プロセスが起動された場合、監視プロセスが起動されたことをプロセッサコア１２の障害判定部２２へ通知する。
【００２４】
キャッシュ確認部２０は、データキャッシュ１３の状態を確認し、データキャッシュ１３が有するデータに変化が発生しているか否かを判定する。キャッシュ確認部２０は、データキャッシュ１３が有するデータに変化が発生していないと判定した場合、その旨を監視プロセス起動制御部２１へ通知する。
【００２５】
監視プロセス起動制御部２１は、キャッシュ確認部２０から、データキャッシュ１３が有するデータに変化が発生していないことを通知された場合、プロセッサコア１１のプロセス起動制御部３０に対して、監視プロセスを起動させるよう、監視プロセス起動指示に関する信号を通知する。また、監視プロセス起動制御部２１は、監視プロセス起動指示に関する信号をプロセス起動制御部３０へ通知したことを障害判定部２２へ通知する。
【００２６】
プロセス起動制御部３０は、プロセッサコア１２の監視プロセス起動制御部２１から監視プロセスの起動指示が通知された場合、監視プロセスを実行する。ここで、監視プロセスは、他の演算処理プロセスよりも低い実行優先度もしくは同じ実行優先度が設定されている。そのため、プロセッサコア１１において演算処理プロセスが実行されている場合、プロセス起動制御部３０は、監視プロセスを実行することができない。プロセス起動制御部３０は、演算処理プロセスが実行されていない場合、監視プロセスを実行することができる。
【００２７】
プロセス起動応答部３１は、プロセス起動制御部３０により監視プロセスが実行された場合、監視プロセスの起動を障害判定部２２へ通知する。
【００２８】
障害判定部２２は、監視プロセス起動制御部２１から、監視プロセス起動指示に関する信号をプロセス起動制御部３０へ通知されている状態において、プロセス起動応答部３１から監視プロセスの起動が通知されない場合、プロセッサコア１１においてストール状態が発生していると判定する。また、障害判定部２２は、監視プロセス起動制御部２１から、監視プロセス起動指示に関する信号をプロセス起動制御部３０へ通知されている状態において、プロセス起動応答部３１から監視プロセスの起動が通知された場合、プロセッサコア１１は正常に動作していると判定する。
【００２９】
監視プロセス起動制御部２１は、データキャッシュ１３に変化が生じていない場合に、プロセッサコア１１に対して監視プロセスの起動を指示する。データキャッシュ１３に変化が生じていない場合には、プロセッサコア１１が定常状態に遷移し、演算処理プロセッサが動作していない状態とプロセッサコア１１においてストール状態が発生し、プロセッサコア１１の演算処理プロセスが処理不能となっている状態とがある。
【００３０】
プロセッサコア１１は、定常状態に遷移している状態においては、監視プロセスを起動することができる。そのため、障害判定部２２は、プロセス起動応答部３１から監視プロセスの起動通知を受けた場合、プロセッサコア１１は、正常に動作していると判定することができる。これに対して、プロセッサコア１１は、ストール状態が発生している場合には、演算処理プロセスが起動されている状態であり、監視プロセスを起動することができない。そのため、障害判定部２２は、プロセス起動応答部３１から監視プロセスの起動通知を受けていない場合、プロセッサコア１１にストール状態が発生していると判定することができる。
【００３１】
また、障害判定部２２は、監視プロセス起動制御部２１から監視プロセス起動指示に関する信号をプロセス起動制御部３０へ通知されてから、一定時間以内に監視プロセスの起動通知を受け取ることができない場合、プロセッサコア１１にストール状態が発生していると判定してもよい。
【００３２】
続いて、図３を用いて正常状態における演算処理装置の処理動作について説明する。プロセッサコア１１は、通常の処理プロセス及び監視プロセスを実行し、両プロセスを実行しない場合、データの入力待ちもしくはプロセスの実行待ちを行う定常状態へ遷移する。監視プロセスは、通常の処理プロセスよりも実行優先度が低い。プロセッサコア１２は、処理プロセスを実行し、処理プロセスを実行しない場合、データの入力待ちもしくはプロセスの実行待ちを行う定常状態へ遷移する。
【００３３】
プロセッサコア１１においては、処理プロセスＰ１〜Ｐ３が繰り返し実行されている。処理プロセスＰ１〜Ｐ３は、プロセス実行中にデータキャッシュ１３へアクセスを行い、必要なデータを取得もしくはプログラムを実行する。プロセッサコア１１からデータキャッシュ１３へアクセスした際に、必要なデータ等がデータキャッシュ１３に存在しない場合、プロセッサコア１１は、メモリ１４へアクセスし、必要なデータを取得し、取得したデータをデータキャッシュ１３へ格納する。このようにして、データキャッシュ１３の状態、つまり、格納データが変化する。本図においては、処理プロセスＰ１〜Ｐ３が実行される毎に、データキャッシュ１３の状態が変化する様子を示している。
【００３４】
プロセッサコア１１は、処理プロセスＰ１〜Ｐ３の実行を完了すると、定常状態へ遷移する。プロセッサコア１１が定常状態へ遷移した場合、プロセッサコア１１からデータキャッシュ１３及びメモリ１４へのアクセスは実行されないため、データキャッシュ１３の状態は変化しない。
【００３５】
プロセッサコア１２は、キャッシュ確認部２０を用いて一定時間毎にデータキャッシュ状態を確認する処理プロセスを実行する。プロセッサコア１２は、データキャッシュ１３の状態が変化していることを検出した場合、定常状態へ遷移し、所定のタイミングに、キャッシュ状態を確認する処理プロセスを実行する。プロセッサコア１２は、データキャッシュ１３の状態が変化していないことを検出した場合、プロセッサコア１１の監視プロセスを起動させるために、監視プロセス起動制御部２１を用いてプロセッサコア１１に対して、監視プロセス起動制御に関する処理プロセスを実行する。
【００３６】
キャッシュ確認部２０は、前回のデータキャッシュ１３確認時のキャッシュ内容と比較して、キャッシュ内容に差分がある場合に、データキャッシュ１３の状態が変化していることを検出してもよい。
【００３７】
なお、監視プロセス起動制御部２１は、キャッシュ確認部２０において、複数回データキャッシュ１３の状態が変化していないことを検出した場合、プロセッサコア１１の監視プロセスを起動させるように制御してもよい。これにより、プロセッサコア１１の処理プロセスが実行された場合に、データキャッシュ１３に格納されているデータのみを用いて処理プロセスが完了することにより、プロセッサコア１１からメモリ１４へアクセスが行われないことがある。このような場合、データキャッシュ１３の状態は変化しない。そのため、監視プロセス起動制御部２１は、データキャッシュ１３の状態が変化していない回数に基づいてプロセッサコア１１における監視プロセスの起動を制御することにより、プロセッサコア１１において処理プロセスが起動されている状態に、プロセッサコア１１に対して監視プロセスの起動を指示することを回避することができる。
【００３８】
プロセッサコア１２は、定常状態においてプロセッサコア１１より監視プロセス起動制御が実行された場合、プロセス起動制御部３０を用いて監視プロセスを起動する。さらに、プロセッサコア１２は、監視プロセスを起動すると、プロセス起動応答部３１を用いて、プロセッサコア１２に対して監視プロセスの起動応答を通知する。
【００３９】
プロセッサコア１２は、プロセッサコア１１から監視プロセスの起動応答を受け取った場合、プロセッサコア１１においてストール状態が発生していないと判定する。
【００４０】
続いて、図４を用いてストール状態が発生した場合における演算処理装置の処理動作について説明する。本図は、プロセッサコア１１において２度目の処理プロセスＰ３を実行中にストール状態が発生したことを示している。プロセッサコア１１にストール状態が発生した場合、プロセッサコア１１からデータキャッシュ１３及びメモリ１４へアクセスすることはなくなる。そのため、データキャッシュ１３の状態は変化しなくなる。
【００４１】
プロセッサコア１２は、データキャッシュ１３の状態が変化していないことを検出した場合、プロセッサコア１１の監視プロセスを起動させるために、監視プロセス起動制御部２１を用いてプロセッサコア１１に対して、監視プロセス起動制御に関する処理プロセスを実行する。
【００４２】
ここで、プロセッサコア１１は、処理プロセスＰ３が起動したままストール状態が発生している。そのため、プロセッサコア１２から監視プロセス起動が実行された場合においても、通常の処理プロセスよりも実行優先度が低い監視プロセスは起動されない。そのため、プロセス起動応答部３１は、プロセッサコア１２に対して、プロセス起動応答を通知しない。プロセッサコア１２の障害判定部２２は、監視プロセス起動制御に関する処理プロセスが実行されてから、一定時間以内にプロセス起動応答を受け取らない場合、プロセッサコア１１においてストール状態が発生していると判定する。
【００４３】
続いて、図５を用いてストール状態の判定処理の流れについて説明する。はじめに、プロセッサコア１２のキャッシュ確認部２０は、データキャッシュ１３の状態確認を行う（Ｓ１１）。次に、キャッシュ確認部２０が、データキャッシュ１３の状態変化を検出しなかった場合（Ｓ１２）、監視プロセス起動制御部２１は、プロセッサコア１１における監視プロセスを起動させる（Ｓ１３）。
【００４４】
次に、プロセッサコア１２の障害判定部２２は、プロセッサコア１１に対して監視プロセスの起動に関する制御を実行してから予め定めた規定時間内に監視プロセス起動応答を受け取ったか否かを判定する。（Ｓ１４）。障害判定部２２は、規定時間内に監視プロセス起動応答を受け取った場合、プロセッサコア１１にはストール状態が発生していないと判定する（Ｓ１５）。
【００４５】
ステップＳ１４において、障害判定部２２は、規定時間内に監視プロセス起動応答を受け取っていないと判定した場合、プロセッサコア１１にストール状態が発生していると判定する（Ｓ１６）。また、ステップＳ１２において、キャッシュ確認部２０がデータキャッシュ１３の状態変化を検出した場合、ステップＳ１５以降の処理を実行する。
【００４６】
以上説明したように、本発明の実施の形態１にかかる演算処理装置を用いることにより、一方のプロセッサコアで発生しているストール状態を、確実に検出することができる。一般的に行われているウォッチドックタイマ方式のストール監視においては、あるプロセスが論理不具合などにより無限ループに陥るなどしてストール状態が発生しても、優先起動されるストール監視プログラムが動作できる時には、ストール状態を検出することができなかった。しかし、本発明における演算処理装置を用いることにより、このような課題を解決することができる。
【００４７】
また、本発明の演算処理装置においては、通常の処理プロセスよりもストール監視プロセスの実行優先度を低く設定している。さらに、ストール監視プロセスは、他のプロセッサコアを用いて制御される。そのため、本発明の演算処理装置を用いることにより、ストール監視プロセスを実行するプロセッサコアの処理を遅延させることもなく、さらに、処理負担が増加することもない。
【００４８】
（他の実施の形態）
上述した実施の形態１においては、プロセッサコア１１及びプロセッサコア１２が共有するデータキャッシュ１３を用いる構成について説明したが、プロセッサコア１１及びプロセッサコア１２毎にデータキャッシュが割り当てられる構成においても、同様に本発明を適用することができる。
【００４９】
この場合、プロセッサコア１２は、プロセッサコア１１からメモリ１４へアクセスされたことを検出することにより、プロセッサコア１１に割り当てられているデータキャッシュの状態が変化したことを検出してもよい。例えば、プロセッサコア１１は、メモリ１４へアクセスする際に、プロセッサコア１２へ、メモリ１４へアクセスすることをあわせて通知するように動作してもよい。これにより、プロセッサコア１２は、プロセッサコア１１におけるメモリ１４へのアクセスを検出することができる。
【００５０】
ＣＰＵ内にプロセッサコアを２つ配置する構成について説明したが、プロセッサコア毎にデータキャッシュが割り当てられる構成においては、プロセッサコアの数は２つに制限されない。ＣＰＵは、３以上のプロセッサコアを備える構成であってもよい。
【００５１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００５２】
１０  演算処理装置
１１  プロセッサコア
１２  プロセッサコア
１３  データキャッシュ
１４  メモリ
２０  キャッシュ確認部
２１  監視プロセス起動制御部
２２  障害判定部
３０  プロセス起動制御部
３１  プロセス起動応答部
【図１】
0005906807.tif 000002
【図２】
0005906807.tif 000003
【図３】
0005906807.tif 000004
【図４】
0005906807.tif 000005
【図５】
0005906807.tif 000006
【図６】
0005906807.tif 000007
【図７】
0005906807.tif 000008