JP5057911B2 - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP5057911B2
JP5057911B2 JP2007239006A JP2007239006A JP5057911B2 JP 5057911 B2 JP5057911 B2 JP 5057911B2 JP 2007239006 A JP2007239006 A JP 2007239006A JP 2007239006 A JP2007239006 A JP 2007239006A JP 5057911 B2 JP5057911 B2 JP 5057911B2
Authority
JP
Japan
Prior art keywords
core
processor
memory
predetermined
data
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
Application number
JP2007239006A
Other languages
English (en)
Other versions
JP2009070212A (ja
Inventor
正博 福田
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.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP2007239006A priority Critical patent/JP5057911B2/ja
Publication of JP2009070212A publication Critical patent/JP2009070212A/ja
Application granted granted Critical
Publication of JP5057911B2 publication Critical patent/JP5057911B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、プロセッサまたはプロセッサコアを複数備えたマルチプロセッサシステムにおいて、正常性の診断を行う技術に関するものである。
プロセッサまたはプロセッサコアを複数備えたマルチプロセッサシステムにおいて、正常性の診断を行う技術としては、各プロセッサに自己診断機能を設け、各プロセッサにおいて自己の正常性の診断を行う技術(たとえば特許文献1)や、各プロセッサに定期的に所定の出力を行わせ、プロセッサとは別に設けた異常検出部において各プロセッサの前記所定の出力の有無より、プロセッサの暴走を検出する技術(たとえば、特許文献2)が知られている。
特開平11-065868号公報 特開平05-257747号公報
前記特許文献1記載の技術によれば、各プロセッサが、各々独立的に自己の診断を行うために、必ずしも全プロセッサについての効率的な診断を行うことができない。一方、特許文献2の技術では、プロセッサの暴走等の動作異常を検出するものであって、前記所定の出力に関連しないプロセッサの機能部の故障等の異常を検出することはできない。
そこで、本発明は、マルチプロセッサシステムにおいて、より実効性のある各プロセッサまたはプロセッサコアの正常性の診断を効率的に行うことを課題とする。
前記課題達成のために、本発明は、複数のプロセッサと、当該複数のプロセッサによって共用されるメモリとを備えたマルチプロセッサシステムに、所定の診断処理を、各プロセッサに順次行わせる診断制御手段を備え、前記所定の診断処理において、前記プロセッサが、メモリの特定領域からのデータを読み出し、読み出したデータに対して所定の演算を施し、当該演算の演算結果の正常性を検証すると共に、当該検証の検証結果が正常であった場合に前記メモリの前記特定領域へ所定のデータの書き込みを行い、当該検証の検証結果が異常であった場合に異常の旨を表す出力を行うようにしたものである。なお、ここで言うプロセッサは、マルチコアプロセッサにおけるプロセッサコアを含む。
このようなマルチプロセッサシステムによれば、各プロセッサにおいて、演算機能の検証を行う診断処理を、直前に診断処理を行ったプロセッサのメモリへの書き込み機能及び自プロセッサのメモリからの読み込み機能の検証と共に、直前に診断処理を行ったプロセッサがメモリに書き込んだデータを用いて、順次行うことができるので、効率的に実効性のある各プロセッサの正常性の診断を行うことができるようになる。
ここで、このようなマルチプロセッサシステムは、前記所定の診断処理において、前記プロセッサは、前記検証の検証結果が異常であった場合に、前記出力として、前記メモリの前記特定の領域に異常の旨を表すデータの書き込みを行うと共に、前記メモリの特定領域からデータを読み出した際に当該データの値が所定値であるかどうかを調べ、所定値でない場合には、前記メモリの特定領域から読み出したデータに代えて、前記検証の検証結果が正常であった場合に前記メモリの前記特定領域への書き込みに用いる前記所定のデータを用いて、前記所定の演算を行うように構成してもよい。また、この場合には、前記所定の診断処理において、前記プロセッサは、前記メモリの特定領域から読み出したデータが異常の旨を表すものである場合に、当該プロセッサの直前に前記診断処理を行ったプロセッサが異常である旨の出力を行うように構成してもよい。
以上のように、本発明によれば、マルチプロセッサシステムにおいて、より実効性のある各プロセッサまたはプロセッサコアの正常性の診断を効率的に行うことができる。
以下、本発明の実施形態をマルチコアプロセッサへの適用を例にとり説明する。
図1に本実施形態に係るマルチプロセッサシステムの構成を示す。
図示するようにマルチプロセッサシステムは、マルチコアプロセッサ1と、メインメモリ2、メモリマネージャ3、ブリッジ4等を有する。また、マルチコアプロセッサ1は、複数のコア10と、診断制御部11とを有する。
そして、このような構成において、マルチコアプロセッサ1の各コア10は、メモリマネージャ3を介してメインメモリ2にアクセスしたり、ブリッジ4を介して、各種I/Oデバイスにアクセスすることができる。
ここで、マルチコアプロセッサ1の各コア10は、各々、命令キャッシュ101、データキャッシュ102、命令キャッシュ101やデータキャッシュ102と外部との間のロード/ストアを制御するメモリコントローラ103、プログラムカウンタ104、命令フェッチ/デコーダ105、各種演算を行う演算装置106、各種レジスタ群107、全体の動作を制御するコントローラ108などの、一般的なマイクロプロセッサとしての構成の他、所定の診断処理を行うための診断処理プログラムを予め記憶した診断処理プログラムメモリ109を備えている。
そして、このような構成において、各コア10のコントローラ108は、診断制御部11から診断処理の起動を指示されると、診断処理プログラムメモリ109の診断処理プログラムの先頭アドレスをプログラムカウンタ104にセットすることにより、当該コア10において診断処理プログラムを実行する。
図2に、このような診断処理プログラムに従って各コア10が行う診断処理の手順を示す。
図示するように、この処理において、コア10は、まず、メインメモリ2の所定の領域からデータを読み込み、予め定められた評価基準値と比較する(ステップ202)。そして、両者が一致した場合には、読み込んだデータに対して所定の演算処理を施し演算結果を得て(ステップ206)、ステップ208に進む。
一方、インメモリの所定の領域から読み込んだデータが評価基準値と一致しない場合には(ステップ204)、エラーを診断制御部11に通知した上で(ステップ216)、評価基準値に対して所定の演算処理を施し演算結果を得て(ステップ208)、ステップ208に進む。
なお、ステップ206またはステップ218で行う演算の内容は同じものであり、その演算の内容は、演算装置106の備える各種演算を組みあわせたものとする。または、異なる種類の演算を複数行うようにしてもよい。
そして、ステップ208では、ステップ206またはステップ218で得られた演算結果と、予め定められた自コア判定値を比較する。ここで、自コア判定値は、評価基準値に対してステップ206またはステップ218で行った演算が正常であった場合に得られる演算結果を表すものとする。
そして、両者が一致したならば(ステップ210)、評価基準値をメモリの前述した特定領域に書き込んで(ステップ212)、診断制御部11に診断処理終了を通知し(ステップ214)、診断処理を終える。一方、演算結果と、予め定められた自コア判定値が一致しなかった場合には(ステップ210)、所定のエラー表示値をメモリの前述した特定領域に書き込んで(ステップ220)、診断制御部11に診断処理終了を通知し(ステップ214)、診断処理を終える。
以上、各コア10が行う診断処理について説明した。
次に、図3に、本マルチプロセッサシステムの起動時に診断制御部11が行う診断制御処理を示す。
図示するように、この処理において診断制御部11は、診断する各コア10について、順次(ステップ302、308、310)、当該コア10のコントローラ108に診断処理の起動を指示し(ステップ304)、当該コア10からの診断処理終了の通知を待つ(ステップ306)処理を行う。
そして、診断する全てのコア10について以上の処理を行ったならば、診断する1番目のコア10について、再度、当該コア10のコントローラ108に診断処理の起動を指示し(ステップ312)、当該コア10からの診断処理終了の通知を待つ(ステップ314)処理を行う。
そして、以上の処理によって、k番目のコア10から、エラーが通知されていれば、k番目のコア10とk-1番目のコア10を異常可能性のあるコア10と診断する(ステップ316)。ただし、2度診断処理を起動する1番目のコア10から最初の診断処理で通知されたエラーは無視し、2度目の診断処理でエラーが通知された場合に、1番目のコア10と最後(n番目)のコア10を異常可能性のあるコア10と診断するようにする。
そして、以上の処理で異常可能性のあると判定したコア10が存在したかどうかを調べ(ステップ318)、存在しなければ、そのまま診断制御処理を終了し、存在した場合には、異常可能性のあると判定したコア10のうちから、真に異常のあるコア10を抽出し、抽出したコア10を以降の処理に用いられないように無効化する異常コア無効化処理を起動し(ステップ320)、診断制御処理を終了する。
ここで、ステップ320で起動する異常コア無効化処理は診断制御部が行う処理であり、この異常コア無効化処理における異常可能性のあるコア10のうちからの真に異常のあるコア10の抽出は、たとえば、次のように行う。
すなわち、コア10iからエラー通知が発行された場合、エラーはコア10iとコア10i-1(コアiが最初のコア10のときは最後のコア10)との双方が異常可能性あるコア10として判定されることになるが、実際にはコア10iとコア10i-1のいずれか一方のみが異常である場合がある。コアiの前に診断処理を行ったコアi-1の演算機能、メインメモリ2への書き込み機能、コアiのメインメモリ2からの読み込み機能の異常のいずれによってもコア10iからエラー通知が発行されるからである。
そこで、異常コア無効化処理では、以上に示した診断制御処理を、診断処理を行うコア10の順番や組み合わせを変更して行って、真に異常を有するコア10を検出する。すなわち、たとえば、コアA、コアB、コアCが存在し、コアA、コアB、コアC、コアAの順に診断処理を行ってコアCから前エラー通知が発行され、コアCとコアBとが異常可能性のあるコア10と判定された場合には、コアA、コアB、コアAの順に診断処理を行って、いずれのコア10からも前エラー通知が発行されなかった場合には、コアBに異常はなく、コアCに真に異常があると判定し、コアA、コアC、コアAの順に診断処理を行って、いずれのコア10からも前エラー通知が発行されなかった場合には、コアCに異常はなく、コアBに真に異常があると判定する。
ただし、異常コア無効化処理における異常可能性のあるコア10のうちからの真に異常のあるコア10の抽出は、各コア10に個々に適当な自己診断機能を設け、これによって行うようにするなど、他の手法によって行うようにしてもよい。
以上、診断制御部11が行う診断制御処理について説明した。
以下、このような診断制御処理と各コア10の診断処理によって実現されるマルチプロセッサシステムの診断動作を図4に示す。
図示するように、コア0からコアN-1のN個のコア10の診断を行う場合、この診断動作では、まず、メインメモリ2の特定領域のデータがコア0に読み込まれ#1、評価基準値31と比較32される。ここでは、メインメモリ2の特定領域のデータは、初期状態であるので、この比較32は不一致となり、エラー#2が診断制御部11に通知される。ここでこのエラー#2は、最初のコア10の最初の診断処理によるものであるので診断制御部11において無視される。また、コア0において、この比較32が不一致であることより、評価基準値31が選択33されて、評価基準値31に対して演算34が行われ、演算結果と自コア判定値35が比較36される。そして、比較結果が一致すれば評価基準値31が、比較結果が一致しなければエラー表示値37が選択38され、メインメモリ2の特定領域に書き込まれる#3。
すると、次に、コア1において、メインメモリ2の特定領域にコア0によって書き込まれた#3データが読み込まれ#4、評価基準値31と比較32される。そして、比較結果が一致しなければ、コア0において演算結果と自コア判定値35が一致しなかったこと、または、コア0の書き込み#3に異常があったこと、または、コア1の読み込み#4に異常があったこと、または、比較32に異常があったことを表しているので、エラー通知#5を診断制御部11に通知する。そして、この通知より診断制御部11はコア0とコア1を異常可能性あるコア10と判定する。一方、比較結果が一致すれば、コア0において演算結果と自コア判定値35が一致していることを表しているので、エラー通知#5は診断制御部11に通知せず、診断制御部11においてコア0とコア1の異常可能性のあるコア10としての判定は行われない。
次に、コア1において、比較32における比較結果に応じて、メインメモリ2の特定領域から読み込んだデータもしくは評価基準値31が選択33されて演算34が行われ、演算結果と自コア判定値35が比較36される。そして、比較結果が一致すれば評価基準値31が、比較結果が一致しなければエラー表示値37が選択38され、メインメモリ2の特定領域に書き込まれる#6。
以降、コア3からコアNにおいて、コア1と同様の処理が行われ、各コア10から通知されるエラー通知に基づいて、診断制御部11において、コア1からコアN-1の異常可能性の有無が判定される。
そして、コアN-1の異常診断処理が終了し、コアN-1によってメインメモリ2の特定領域への書き込み#3Nが行われたならば、再度コア0によって上述したコア1と同様の処理が行われ、コア0からエラー通知が通知されたならば、2度目の診断処理によるエラー通知であるので、診断制御部11においてコア0とコアN-1を異常可能性あるコア10として判定する。
以上、本発明の実施形態について説明した。
このように、本実施形態によれば、各コア10において、演算機能の検証を行う診断処理を、直前に診断処理を行ったコア10のメモリへの書き込み機能及び自コアのメモリからの読み込み機能の検証と共に、直前に診断処理を行ったコア10がメモリに書き込んだデータを用いて、順次行うことができるので、効率的に実効性のある各コア10の正常性の診断を行うことができるようになる。
なお、本実施形態で示した診断の技術はマルチコアプロセッサ1を用いずに、複数のマイクロプロセッサを用いて構成したマルチプロセッサシステムにも同様に適用することができる。
本発明の実施形態に係るマルチプロセッサシステムの構成を示すブロック図である。 本発明の実施形態に係る診断処理を示すフローチャートである。 本発明の実施形態に係る診断制御処理を示すフローチャートである。 本発明の実施形態に係る診断動作を示す図である。
符号の説明
1…マルチコアプロセッサ、2…メインメモリ、3…メモリマネージャ、4…ブリッジ、10…コア、11…診断制御部、101…命令キャッシュ、102…データキャッシュ、103…メモリコントローラ、104…プログラムカウンタ、105…デコーダ、106…演算装置、107…レジスタ群、108…コントローラ、109…診断処理プログラムメモリ。

Claims (3)

  1. 複数のプロセッサと、当該複数のプロセッサによって共用されるメモリとを備えたマルチプロセッサシステムであって、
    所定の診断処理を、各プロセッサに順次行わせる診断制御手段を有し、
    前記所定の診断処理において、前記プロセッサは
    メモリの特定領域からデータを読み出し、
    当該読み出したデータの値が所定値であるかどうかを調べ、
    前記読み出したデータの値が前記所定値である場合には、当該読み出したデータに対して所定の演算を施し、当該演算の演算結果の正常性を検証すると共に、当該検証の検証結果が正常であった場合には、前記メモリの前記特定領域へ前記所定値のデータの書き込みを行い、当該検証の検証結果が異常であった場合には、前記メモリの前記特定の領域に異常の旨を表すデータの書き込みを行い、
    前記読み出したデータの値が前記所定値でない場合には、前記所定値に対して所定の演算を施し、当該演算の演算結果の正常性を検証すると共に、当該検証の検証結果が正常であった場合には、前記メモリの前記特定領域へ前記所定値のデータの書き込みを行い、当該検証の検証結果が異常であった場合には、前記メモリの前記特定の領域に前記異常の旨を表すデータの書き込みを行うことを特徴とするマルチプロセッサシステム。
  2. 請求項1記載のマルチプロセッサシステムであって、
    前記所定の診断処理において、前記プロセッサは、前記メモリの特定領域から読み出したデータが異常の旨を表すものである場合に、当該プロセッサの直前に前記診断処理を行ったプロセッサが異常である旨の出力を行うことを特徴とするマルチプロセッサシステム。
  3. 請求項1または2記載のマルチプロセッサシステムであって、
    前記複数のプロセッサの各々は、マルチコアプロセッサのコアであることを特徴とするマルチプロセッサシステム。
JP2007239006A 2007-09-14 2007-09-14 マルチプロセッサシステム Expired - Fee Related JP5057911B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007239006A JP5057911B2 (ja) 2007-09-14 2007-09-14 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007239006A JP5057911B2 (ja) 2007-09-14 2007-09-14 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2009070212A JP2009070212A (ja) 2009-04-02
JP5057911B2 true JP5057911B2 (ja) 2012-10-24

Family

ID=40606377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007239006A Expired - Fee Related JP5057911B2 (ja) 2007-09-14 2007-09-14 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP5057911B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5545087B2 (ja) * 2010-07-09 2014-07-09 三菱電機株式会社 分散制御システム試験実行管理装置
CN113514759B (zh) * 2021-09-07 2021-12-17 南京宏泰半导体科技有限公司 一种多核测试处理器及集成电路测试系统与方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2794041B2 (ja) * 1989-05-29 1998-09-03 富士電機株式会社 マルチプロセッサシステムの自己診断方法
JPH06187265A (ja) * 1992-12-21 1994-07-08 Fujitsu Ltd データ転送テスト方法および装置
JP3293125B2 (ja) * 1998-07-24 2002-06-17 日本電気株式会社 オンチップマルチプロセッサシステムにおける初期設定・診断方式
JP4003420B2 (ja) * 2001-07-30 2007-11-07 株式会社ジェイテクト 演算装置
WO2007091297A1 (ja) * 2006-02-06 2007-08-16 Fujitsu Limited 情報処理装置、cpu、診断プログラムおよび診断方法

Also Published As

Publication number Publication date
JP2009070212A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
EP2175372B1 (en) Computer apparatus and processor diagnostic method
JP4222370B2 (ja) デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム
JP5905911B2 (ja) シングルステップ実行を用いる診断コード
KR970002637A (ko) 멀티프로세서 시스템
JPH0552968B2 (ja)
JP4124514B2 (ja) エラー診断装置およびエラー診断方法
JP5057911B2 (ja) マルチプロセッサシステム
JP4876093B2 (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
US11726853B2 (en) Electronic control device
JP2012059127A (ja) 情報処理装置、ウォッチドッグタイマ、異常検出方法
JP3109573B2 (ja) 障害lsi検出方式
JPH1031620A (ja) キャッシュメモリの診断装置
JP2679575B2 (ja) 入出力チャネルの障害処理システム
JP2548378B2 (ja) Rasチェック機能検査方式
US9342359B2 (en) Information processing system and information processing method
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JP2880658B2 (ja) マルチタスクプログラムの暴走検出装置
CN118245306A (zh) 检测方法、存储介质、电子设备及程序产品
JP2001109645A (ja) 暴走検出機能を備えるコンピュータ装置
JPS6029131B2 (ja) 診断方式
JP2010211391A (ja) Cpuの動作監視方法および装置
JP2008242592A (ja) メモリ監視回路、情報処理装置、及びメモリ監視方法
JPS58186853A (ja) 初期診断方式
JPH0341528A (ja) 計算機における診断装置
JPS58142454A (ja) 故障診断方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120709

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: 20120731

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120731

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5057911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees