(57)【要約】      （修正有）【課題】１つの処理ユニットに複数のプロセッサが実装される場合であっても、動作エラーの原因を容易に特定できるようにする。【解決手段】処理ユニット１３０（ＤＳＰ基板）は、タスクの実行に使用される内部データバスＤ２に接続された複数のプロセッサ（ＤＳＰ）１３４−１〜１３４−ｎと、複数のプロセッサそれぞれと異なる信号線Ｌ１〜Ｌｎで接続され、内部データバスには接続されておらず、複数のプロセッサそれぞれから信号線を介して情報を取得する監視部１３５と、を備える。監視部から取得した情報に基づいて、複数のプロセッサの中から動作エラーを起こしたプロセッサを特定する。【選択図】図２
2017004329.tif 000002
【特許請求の範囲】
【請求項１】
協働して１つのタスクを実行する複数の処理ユニットを備える処理装置であって、
前記複数の処理ユニットは、それぞれ、
前記複数の処理ユニットがそれぞれ内部に有する内部データバスに接続された複数のプロセッサと、
前記複数のプロセッサそれぞれと異なる信号線で接続され、前記複数のプロセッサが接続された前記内部データバスには接続されておらず、前記複数のプロセッサそれぞれから前記信号線を介して情報を取得する監視部と、を備える、
処理装置。
【請求項２】
外部データバスで制御部と接続され、前記制御部の制御に基づいて処理を実行する複数のＤＳＰ基板を備える処理装置であって、
前記複数のＤＳＰ基板は、それぞれ、
前記複数のＤＳＰ基板がそれぞれ内部に有する内部データバスに接続された複数のＤＳＰ（Digital Signal Processor）と、
前記外部データバス及び前記内部データバスと直接的或いは間接的に接続され、前記制御部と前記ＤＳＰとの通信を中継する中継部と、
前記複数のＤＳＰそれぞれと異なる信号線で接続され、前記中継部と前記複数のＤＳＰとを接続する前記内部データバスには接続されておらず、前記複数のＤＳＰそれぞれから前記信号線を介して情報を取得する監視部と、を備える、
処理装置。
【請求項３】
前記監視部は、前記ＤＳＰ基板の起動時に前記複数のＤＳＰそれぞれから、前記信号線を介して、起動が成功したか否かを示す起動情報を取得する、
請求項２に記載の処理装置。
【請求項４】
前記中継部は、前記複数のＤＳＰが接続された前記内部データバスをバスリセットすることが可能であり、
前記監視部は、
前記起動情報に基づいて、前記信号線で接続された前記複数のＤＳＰの中に起動が失敗した前記ＤＳＰがあるか否か判別し、
起動が失敗した前記ＤＳＰがある場合に、前記中継部に対して、前記複数のＤＳＰが接続された前記内部データバスのバスリセットを命令し、
前記複数のＤＳＰは、前記内部データバスがバスリセットされた場合には、起動を最初から実行し直す、
請求項３に記載の処理装置。
【請求項５】
前記複数のＤＳＰ基板は、それぞれ、
前記複数のＤＳＰと直接的或いは間接的に接続された記憶部を備え、
前記複数のＤＳＰは、それぞれ、前記記憶部に正常にアクセスできるか否か判別し、その判別結果を前記信号線に出力し、
前記監視部は、前記複数のＤＳＰから前記判別結果を取得する、
請求項２乃至４のいずれか１項に記載の処理装置。
【請求項６】
前記複数のＤＳＰ基板は、それぞれ、
前記監視部に温度情報を出力する温度計測部、を備え、
前記監視部は、前記温度計測部から前記温度情報を取得する、
請求項２乃至５のいずれか１項に記載の処理装置。
【請求項７】
前記複数のＤＳＰ基板は、それぞれ、
前記監視部と接続され、前記監視部から受信した情報を前記ＤＳＰ基板の外部に出力する通信部、を備え、
前記監視部は、前記複数のＤＳＰそれぞれから前記信号線を介して取得した情報を、前記通信部を介して、前記ＤＳＰ基板の外部に出力する、
請求項２乃至６のいずれか１項に記載の処理装置。
【請求項８】
前記複数のＤＳＰ基板は、それぞれ、
前記監視部と接続され、前記監視部から受信した情報を記憶する不揮発性メモリ、を備え、
前記監視部は、前記複数のＤＳＰそれぞれから前記信号線を介して取得した情報を、前記不揮発性メモリに出力する、
請求項２乃至７のいずれか１項に記載の処理装置。
【請求項９】
外部データバスで制御部と接続され、前記制御部の制御に基づいて処理を実行する複数のＤＳＰ基板を備える処理装置に搭載されるＤＳＰ基板であって、
前記ＤＳＰ基板の内部にある内部データバスに接続された複数のＤＳＰ（Digital Signal Processor）と、
前記外部データバス及び前記内部データバスと直接的或いは間接的に接続され、前記制御部と前記ＤＳＰとの通信を中継する中継部と、
前記複数のＤＳＰそれぞれと異なる信号線で接続され、前記中継部と前記複数のＤＳＰとを接続する前記内部データバスには接続されておらず、前記複数のＤＳＰそれぞれから前記信号線を介して情報を取得する監視部と、を備える、
ＤＳＰ基板。
【請求項１０】
外部データバスで制御部と接続され、前記制御部の制御に基づいて処理を実行する複数のＤＳＰ基板を備える処理装置であって、前記複数のＤＳＰ基板は、それぞれ、前記複数のＤＳＰ基板がそれぞれ内部に有する内部データバスに接続された複数のＤＳＰ（Digital Signal Processor）と、前記外部データバス及び前記内部データバスと直接的或いは間接的に接続され、前記制御部と前記ＤＳＰとの通信を中継する中継部と、前記複数のＤＳＰそれぞれと異なる信号線で接続され、前記中継部と前記複数のＤＳＰとを接続する前記内部データバスには接続されておらず、前記複数のＤＳＰそれぞれから前記信号線を介して情報を取得する監視部と、を備える処理装置の動作エラーの原因を特定する方法であって、
前記監視部から前記複数のＤＳＰそれぞれの情報を取得し、
前記監視部から取得した情報に基づいて、前記複数のＤＳＰの中から前記動作エラーを起こした前記ＤＳＰを特定する、
動作エラー原因特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、処理装置、ＤＳＰ基板、及び動作エラー原因特定方法に関する。
【背景技術】
【０００２】
複数の処理ユニット（例えば、プロセッサがそれぞれ実装された複数の基板）が協働して１つのタスクを実行する処理装置が知られている。このような処理装置は、メモリアクセスエラーやフリーズ等の動作エラーが発生したとしても、どの処理ユニットが動作エラーの原因か容易に特定できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１３９９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの処理ユニットに複数のプロセッサが実装されることがある。多くの場合、動作エラーの原因となった処理ユニットは、エラー発生時、ユニット内の全てのプロセッサが動作を停止する。また、人が立ち入ることができない極めてシビアな環境に処理装置を置くことがある。この場合、そもそもエラー発生時に人がユニット内部を確認することは困難である。１つの処理ユニットに複数のプロセッサが実装された場合、どのプロセッサが動作エラーの原因か特定するのは困難である。
【０００５】
処理ユニット単独で動作させたときは問題なく動作しても、複数の処理ユニットを同時に動作させたときは問題が発生することがある。この場合、処理ユニット内のどの部分が動作エラーの原因か特定することが重要になるが、上述したように、１つの処理ユニットに複数のプロセッサが実装された場合、どのプロセッサが動作エラーの原因か特定するのは困難である。動作エラーの原因が特定できない場合、処理装置の改善は困難になる。
【０００６】
本発明が解決しようとする課題は、１つの処理ユニットに複数のプロセッサが実装される場合であっても、動作エラーの原因を容易に特定できるようにすることである。
【課題を解決するための手段】
【０００７】
実施形態の処理装置は、協働して１つのタスクを実行する複数の処理ユニットを備える処理装置であって、前記複数の処理ユニットは、それぞれ、前記複数の処理ユニットがそれぞれ内部に有する内部データバスに接続された複数のプロセッサと、前記複数のプロセッサそれぞれと異なる信号線で接続され、前記複数のプロセッサが接続された前記内部データバスには接続されておらず、前記複数のプロセッサそれぞれから前記信号線を介して情報を取得する監視部と、を備える。
【０００８】
実施形態のＤＳＰ基板は、外部データバスで制御部と接続され、前記制御部の制御に基づいて処理を実行する複数のＤＳＰ基板を備える処理装置に搭載されるＤＳＰ基板であって、前記ＤＳＰ基板の内部にある内部データバスに接続された複数のＤＳＰ（Digital Signal Processor）と、前記外部データバス及び前記内部データバスと直接的或いは間接的に接続され、前記制御部と前記ＤＳＰとの通信を中継する中継部と、前記複数のＤＳＰそれぞれと異なる信号線で接続され、前記中継部と前記複数のＤＳＰとを接続する前記内部データバスには接続されておらず、前記複数のＤＳＰそれぞれから前記信号線を介して情報を取得する監視部と、を備える。
【０００９】
また、実施形態の動作エラー原因特定方法は、外部データバスで制御部と接続され、前記制御部の制御に基づいて処理を実行する複数のＤＳＰ基板を備える処理装置であって、前記複数のＤＳＰ基板は、それぞれ、前記複数のＤＳＰ基板がそれぞれ内部に有する内部データバスに接続された複数のＤＳＰ（Digital Signal Processor）と、前記外部データバス及び前記内部データバスと直接的或いは間接的に接続され、前記制御部と前記ＤＳＰとの通信を中継する中継部と、前記複数のＤＳＰそれぞれと異なる信号線で接続され、前記中継部と前記複数のＤＳＰとを接続する前記内部データバスには接続されておらず、前記複数のＤＳＰそれぞれから前記信号線を介して情報を取得する監視部と、を備える処理装置の動作エラーの原因を特定する方法であって、前記監視部から前記複数のＤＳＰそれぞれの情報を取得し、前記監視部から取得した情報に基づいて、前記複数のプロセッサの中から前記動作エラーを起こした前記プロセッサを特定する。
【図面の簡単な説明】
【００１０】
【図１】実施形態の処理装置のブロック図である。
【図２】図１に示す処理装置が備えるＤＳＰ基板のブロック図である。
【図３】演算実行処理のフローチャートである。
【図４】監視処理のフローチャートである。
【図５】ＤＳＰリセット処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本実施形態について図面を参照しながら説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【００１２】
本実施形態の処理装置は、協働して１つのタスクを実行する複数の処理ユニットを備えた装置である。タスクとは、ユーザから見たひとまとまりの仕事のことである。例えば、タスクとは、気象レーダーや気象衛星で収集したデータの解析処理、アンテナで受信した電波の周波数解析処理、移動体が撮像した画像の解析処理等のことである。処理装置１００は、１つのタスクを複数の処理ユニットに分散して処理する。
【００１３】
本実施形態では、処理ユニットはＤＳＰ基板であるものとする。ＤＳＰ基板とは、複数のＤＳＰ（Digital Signal Processor）が実装された基板のことである。ＤＳＰ基板はＤＳＰカードあるいはＤＳＰボードと言い換えることもできる。
【００１４】
ＤＳＰは、信号処理に特化したプロセッサである。ＤＳＰは、デジタルフィルタ処理やＦＦＴ（Fast Fourier Transform）等の信号処理を高速に行うことができる。複数のＤＳＰにそれぞれ固定の信号処理を割り当て、各ＤＳＰに分散して１つの信号処理を実行させることで、処理装置は、高速かつ低消費電力で処理結果を得ることができる。低消費電力で処理結果を得ることができるので、処理装置は、シビアな温度条件下で使用される処理装置（例えば、航空機に設置される処理装置や山頂に設置される処理装置）にも適用可能である。
【００１５】
以下、本実施形態の処理装置１００の機器構成について説明する。図１は処理装置１００のブロック図である。処理装置１００は、通信インタフェース１１０と、制御部１２０と、複数のＤＳＰ基板（ＤＳＰ基板１３０−１、１３０−２、・・・・、１３０−Ｍ）と、を備える。以下の説明では、複数のＤＳＰ基板（ＤＳＰ基板１３０−１〜１３０−Ｍ）の１つ１つを単にＤＳＰ基板１３０と呼ぶ。処理装置１００は、内部にデータバスＤ１を有する。データバスＤ１には、通信インタフェース１１０、制御部１２０、及び複数のＤＳＰ基板１３０が接続されている。
【００１６】
データバスＤ１は、ＤＳＰ基板１３０の外部に配置されたデータバス（以下、外部データバスという。）である。データバスＤ１は、例えば、１６ＭＨｚのシステムクロックで動作するＶＭＥ（Versa Module Eurocard）バスである。通信インタフェース１１０、制御部１２０、及び複数のＤＳＰ基板１３０は、データバスＤ１を介して通信を行う。
【００１７】
通信インタフェース１１０は、外部の装置と通信を行うための通信インタフェースである。通信インタフェース１１０は、外部の装置からユーザの命令等を受信し、制御部１２０に送信する。また、通信インタフェース１１０は、処理装置１００の処理結果等を制御部１２０から受信し、外部の装置に送信する。
【００１８】
制御部１２０は、プロセッサ等から構成される。制御部１２０は、１つのマイクロプロセッサから構成されていてもよいし、複数のマイクロプロセッサから構成されていてもよい。また、制御部１２０は汎用プロセッサが実装されたＣＰＵ（Central Processing Unit）基板であってもよい。ＣＰＵ基板はＣＰＵカードあるいはＣＰＵボードと言い換えることができる。
【００１９】
制御部１２０は、不図示のＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）に格納されているプログラムに従って動作することで、処理装置１００の各部を制御する。また、制御部１２０は、通信インタフェース１１０を介して受信したユーザの命令に従って、デジタルフィルタ処理やＦＦＴ等の処理を行う。この処理は、制御部１２０がＤＳＰ基板１３０を制御することにより実現する。
【００２０】
ＤＳＰ基板１３０は、複数のＤＳＰが実装された基板である。上述したように、処理装置１００は複数のＤＳＰ基板１３０を備える。本実施形態では、ＤＳＰ基板１３０は全て同じ構成である。図２は、ＤＳＰ基板１３０のブロック図である。ＤＳＰ基板１３０は、中継部１３１と、記憶部１３２と、記憶部１３３と、複数のＤＳＰ（ＤＳＰ１３４−１〜ＤＳＰ１３４−ｎ）と、監視部１３５と、通信部１３６と、温度計測部１３７と、を備える。以下の説明では、ＤＳＰ基板１３０に実装された複数のＤＳＰ（ＤＳＰ１３４−１〜ＤＳＰ１３４−ｎ）１つ１つを単にＤＳＰ１３４と呼ぶ。
【００２１】
ＤＳＰ基板１３０には、基板内データバス（以下、内部データバスという。）として、データバスＤ２と、データバスＤ３と、データバスＤ４と、が配置されている。データバスＤ２〜Ｄ４は、例えば、ＤＳＰ基板１３０にプリントされた信号線である。データバスＤ２〜Ｄ４は、いずれも中継部１３１に接続されている。データバスＤ２には複数のＤＳＰ１３４が接続されており、データバスＤ３には記憶部１３３が接続されている。また、データバスＤ４には監視部１３５、通信部１３６、及び温度計測部１３７が接続されている。
【００２２】
データバスＤ２は、ＤＳＰ１３４が計算データの送受信に使用する計算データ送受信用のデータバスである。データバスＤ２は高速データバス、例えば、システムクロックが１００ＭＨｚ以上のデータバスとすることが望ましい。一例として、データバスＤ２は、システムクロックが１２５ＭＨｚのデータバスである。これにより、ＤＳＰ１３４は、他のＤＳＰ１３４若しくは記憶部１３３と高速にデータのやり取りができる。
【００２３】
中継部１３１は、バスプロトコルの変換機能と、データバス間の通信の中継機能と、を備えた集積回路である。中継部１３１は、例えば、ＦＰＧＡ（Field Programmable Gate Array）にハードウェアロジックをプログラミングすることによって制作される。中継部１３１には、データバスＤ２〜Ｄ４に加えてデータバスＤ１が接続されている。また、中継部１３１には記憶部１３２が接続されている。
【００２４】
データバスＤ２〜Ｄ４には、それぞれ、バスリセット用の信号線が含まれている。中継部１３１は、バスリセット用の信号線をアサートすることで、データバスＤ２〜Ｄ４に接続された各デバイスをリセットすることができる。例えば、中継部１３１は、データバスＤ２のバスリセット用信号線をアサートすることで、データバスＤ２に接続された全てのＤＳＰ１３４を初期状態に戻すことができる。
【００２５】
なお、通信部１３６及び温度計測部１３７は、バスリセット用信号線がアサートされた後、ネゲートされるのを待つことなく動作を開始するよう構成されている。そのため、中継部１３１がバスリセット用信号線のアサートしている間は、中継部１３１以外のデバイス（例えば、監視部１３５）が、通信部１３６及び温度計測部１３７を、中継部１３１と競合することなく、排他的に使用することができる。以下の説明では、バスリセット用信号線のアサート、ネゲート、或いはその双方をバスリセットと呼ぶ。なお、バスリセットの方式はバスリセット用信号線のアサート、ネゲートに限定されない。既知の様々な方式を使用可能である。
【００２６】
記憶部１３２は、ＤＳＰ１３４のワークメモリである。記憶部１３２は、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）等のデータ読み書き可能な記憶装置から構成される。なお、中継部１３１と記憶部１３３との間は、データバスＤ２以上の通信速度のデータバスで接続されている。
【００２７】
記憶部１３３は、フラッシュメモリ等の不揮発性メモリから構成される。記憶部１３３には、複数のＤＳＰ１３４それぞれのプログラムが格納されている。
【００２８】
ＤＳＰ１３４は、信号処理に特化したプロセッサである。ＤＳＰ１３４は、いずれもデータバスＤ２に接続されている。ＤＳＰ１３４はＤＭＡ（Direct Memory Access）コントローラを内蔵している。そのため、ＤＳＰ１３４はＣＰＵを介さずに、直接、メモリ（記憶部１３２、及び記憶部１３３）にアクセス可能である。ＤＳＰ１３４は、記憶部１３３に格納されているプログラムに従って動作することで、後述の演算実行処理を含む種々の動作を実現する。
【００２９】
ＤＳＰ１３４は、ＤＳＰ起動ステータス及びメモリ診断ステータスを出力可能に構成されている。ＤＳＰ起動ステータスとは、ＤＳＰ１３４自身の起動が成功したか否かを示す起動情報が含まれる情報のことである。また、メモリ診断ステータスとは、ＤＳＰ１３４の演算実行に使用するメモリ（例えば、記憶部１３２）に、ＤＳＰ１３４が正常にアクセスできるか否かを示す判別結果が含まれる情報のことである。ＤＳＰ１３４は、ＤＳＰ起動ステータスおよびメモリ診断ステータスを後述の信号線Ｌ１〜Ｌｎを介して監視部１３５に送信する。
【００３０】
監視部１３５は、ＤＳＰ基板１３０が動作エラーを起こした場合に、その原因特定を容易にするために設けられたプロセッサである。動作エラーとは、装置あるいはデバイスがユーザの想定外の動作することである。例えば、動作エラーとは、フリーズ、起動失敗、メモリアクセスエラー、デッドロック、想定範囲外のデータの出力、エラーコードの出力、１つのプロセッサによるデータバスの長時間の占有等のことである。
【００３１】
監視部１３５は、ＤＳＰ１３４が接続された内部データバス（すなわちデータバスＤ２）には接続されていない。そのため、動作エラーを起こしたＤＳＰ１３４にデータバスＤ２が占有されたり、ウォッチドッグタイマ等の監視機能によりデータバスＤ２が中継部１３１によりバスリセットされたりしたとしても、監視部１３５はその影響を受けることなく動作し続けることができる。
【００３２】
監視部１３５は、使用可能温度範囲を広くするため、１チップＩＣとなっている。なお、監視部１３５は、使用可能温度範囲をさらに広くするため、大きなプロセスルールで設計されたマイクロプロセッサであることが望ましい。例えば、監視部１３５は、プロセスルールが１００ｎｍ以上のマイクロプロセッサであることが望ましい。一例として、監視部１３５は、プロセスルールが１μｍ以上の８ビットの汎用マイクロプロセッサである。これにより監視部１３５は、シビアな使用環境でＤＳＰ１３４が停止したとしても、動作し続けることができる。
【００３３】
監視部１３５は、複数のＤＳＰ１３４のそれぞれと異なる信号線で接続されている。監視部１３５とＤＳＰ１３４−１は信号線Ｌ１で接続されており、監視部１３５とＤＳＰ１３４−２は信号線Ｌ２で接続されており、・・・・・・、監視部１３５とＤＳＰ１３４−ｎは信号線Ｌｎで接続されている。これにより、監視部１３５は、複数のＤＳＰ１３４の１つが動作エラーで停止したとしても、他のＤＳＰ１３４と通信し続けることができる。
【００３４】
なお、信号線Ｌ１〜Ｌｎは、それぞれ、１本の信号線で構成されていてもよいし、複数の信号線で構成されていてもよい。信号線Ｌ１〜Ｌｎは、例えば、監視部１３５のＧＰＩＯ（General Purpose Input/output）ポートに接続されている。以下の説明では複数の信号線（信号線Ｌ１〜Ｌｎ）１つ１つを単に信号線Ｌと呼ぶ。複数のＤＳＰ１３４は、それぞれ、信号線Ｌを介して、監視部１３５に起動ステータスおよびメモリ診断ステータスを送信する。
【００３５】
また、監視部１３５は、中継部１３１と信号線で接続されている。監視部１３５は、信号線を介して中継部１３１にバスリセットを命令する。中継部１３１は、監視部１３５からバスリセットの命令を受け取ると、内部データバス（データバスＤ２〜Ｄ４）をバスリセットする。
【００３６】
監視部１３５は、内部にメモリ１３５ａを備えている。メモリ１３５ａは、フラッシュメモリ等のデータ読み書き可能な不揮発性メモリである。メモリ１３５ａには、ＤＳＰ１３４から送信された情報等、ユーザが動作エラーの解析に使用する情報が格納される。また、メモリ１３５ａには、監視部１３５を動作させるためのプログラムも格納される。監視部１３５は、メモリ１３５ａに格納されているプログラムに従って動作することで、後述の監視処理を含む種々の動作を実現する。
【００３７】
通信部１３６は、ＤＳＰ基板１３０上の各部品（例えば、中継部１３１及び監視部１３５）が外部の装置に情報を出力するために使用される通信インタフェースである。通信部１３６は、例えば、ＵＡＲＴ（Universal Asynchronous Receiver-Transmitter）から構成される。通信部１３６は、中継部１３１及び監視部１３５の制御に従って、ユーザが操作する外部の装置に情報を出力する。
【００３８】
温度計測部１３７は、ＤＳＰ基板１３０の温度を計測する温度センサである。温度計測部１３７は、例えば、サーミスタから構成される。温度計測部１３７は、計測結果取得した温度情報を監視部１３５に送信する。また、温度計測部１３７は、温度情報を、中継部１３１を介して、制御部１２０に送信することも可能である。
【００３９】
次にこのような構成を有する処理装置１００の動作について説明する。処理装置１００の動作は、ＤＳＰ１３４それぞれが実行する「演算実行処理」と、監視部１３５が実行する「監視処理」と、に分けられる。最初に演算実行処理を説明する。
【００４０】
ＤＳＰ基板１３０への電源の投入やデータバスＤ２のバスリセット等により、ＤＳＰ１３４が初期状態となると、ＤＳＰ１３４は演算実行処理を開始する。以下、図３のフローチャートを参照して演算実行処理を説明する。
【００４１】
ＤＳＰ１３４は、ブートローダ等を実行させることにより、記憶部１３３からプログラムをロードする（ステップＳ１１）。そして、ＤＳＰ１３４はロードしたプログラムに従って起動する。起動の際、ＤＳＰ１３４は、起動処理が開始したことを、信号線Ｌを介して、監視部１３５に通知するよう構成されていてもよい。監視部１３５は、ＤＳＰ１３４から起動開始の通知を受け取ったら、通知を受け取った時刻を起動時間情報としてメモリ１３５ａに保存してもよい。なお、起動時間情報は現在時刻の情報であってもよいし、監視部１３５が起動してからの経過時間の情報であってもよい。
【００４２】
次に、ＤＳＰ１３４は起動が成功したか否か判別する。例えば、ＤＳＰ１３４は、起動が成功したか否を、プログラムに組み込まれた起動処理が最終ステップまで実行されたか否かにより判別してもよい。そして、ＤＳＰ１３４は、その判別結果に基づいて、起動が成功したか否かを示す起動情報を生成する。
【００４３】
起動情報の形式は任意である。一例として、起動情報は、起動成功の場合が“１”、起動失敗の場合が“０”のテキスト情報である。ＤＳＰ１３４は、生成した起動情報をＤＳＰ起動ステータスとして監視部１３５に送信する（ステップＳ１２）。このとき、ＤＳＰ１３４は、監視部１３５がＤＳＰ起動ステータスを確実に受け取れるように、ＤＳＰ起動ステータスを繰り返し信号線Ｌに出力するよう構成されていてもよい。
【００４４】
続いて、ＤＳＰ１３４は、記憶部１３２に正常にアクセスできるか否か判別する。例えば、ＤＳＰ１３４は、記憶部１３２に正常にアクセスできるか否かを、記憶部１３２にデータをリードライトすることにより判別する。具体的には、ＤＳＰ１３４は、以下の手順により記憶部１３２に正常にアクセスできるか否かを判別する。
【００４５】
まず、ＤＳＰ１３４は、ランダムデータ等の予め定められたデータを記憶部１３２にライトする。その後、ＤＳＰ１３４は、ライトしたデータを記憶部１３２からリードする。そして、ＤＳＰ１３４はライトデータとリードデータとを比較する。比較の結果、両データが一致している場合には、ＤＳＰ１３４は記憶部１３２に正常にアクセスできると判別し、両データが一致していない場合には、ＤＳＰ１３４は記憶部１３２に正常にアクセスできないと判別する。
【００４６】
判別結果の形式は任意である。一例として、判別結果は、正常の場合が“１”、正常でない場合が“０”のテキスト情報である。ＤＳＰ１３４は、判別結果をメモリ診断ステータスとして監視部１３５に送信する（ステップＳ１３）。このとき、ＤＳＰ１３４は、監視部１３５がメモリ診断ステータスを確実に受け取れるように、メモリ診断ステータスを繰り返し信号線Ｌに出力するよう構成されていてもよい。ＤＳＰ起動ステータスも繰り返し出力するのであれば、ＤＳＰ１３４は、メモリ診断ステータスとＤＳＰ起動ステータスを交互に出力してもよい。
【００４７】
続いて、ＤＳＰ１３４は、制御部１２０の制御に従って演算を実行する（ステップＳ１４）。演算結果は、逐次、記憶部１３２或いは制御部１２０に送信される。なお、ＤＳＰ１３４は、動作エラーを起こしたら、動作エラーの原因を示すエラー情報を監視部１３５に送信する。エラー情報は、例えば、ＤＳＰ１３４を動作させるプログラムに組み込まれたエラーコード（例えば、例外処理実行時に出力するようプログラムされたエラーコード）であってもよい。エラー情報は信号線Ｌを介して監視部１３５に送信される。
【００４８】
続いて、ＤＳＰ１３４は、制御部１２０から演算の終了命令を受信したか判別する（ステップＳ１５）。終了命令を受信していない場合（ステップＳ１４：Ｎｏ）、ＤＳＰ１３４はステップＳ１４に戻る。終了命令を受信している場合（ステップＳ１４：Ｙｅｓ）、ＤＳＰ１３４は終了処理を実行する（ステップＳ１６）。
【００４９】
次に、監視処理を説明する。ＤＳＰ基板１３０に電源が投入されると、監視部１３５は監視処理を開始する。以下、図４のフローチャートを参照して監視処理を説明する。
【００５０】
監視部１３５はメモリ１３５ａからプログラムをロードする（ステップＳ２１）。監視部１３５はロードしたプログラムに従って起動する。
【００５１】
次に、監視部１３５はＤＳＰリセット処理を開始する（ステップＳ２２）。以下、図５のフローチャートを参照してＤＳＰリセット処理を説明する。
【００５２】
まず、監視部１３５は、中継部１３１に対してバスリセットを命令する（ステップＳ２２１）。中継部１３１は、監視部１３５からバスリセットの命令を受け取ると、内部データバス（データバスＤ２〜Ｄ４）のバスリセット用信号線をアサートする。アサートに伴い、内部データバスに接続された各デバイスは初期状態に戻る。
【００５３】
監視部１３５は、温度計測部１３７から温度情報を取得する（ステップＳ２２２）。監視部１３５は、温度情報にタイムスタンプを関連付け、メモリ１３５ａに保存する。タイムスタンプは現在時刻であってもよいし、監視部１３５が起動してからの経過時間であってもよい。
【００５４】
続いて、監視部１３５は、メモリ１３５ａに格納されている情報を、通信部１３６を介して、外部の装置に出力する（ステップＳ２２３）。メモリ１３５ａに温度情報が格納されているのであれば、監視部１３５は温度情報を外部の装置に出力する。また、メモリ１３５ａにＤＳＰ１３４の起動時間情報が保存されているのであれば、監視部１３５は起動時間情報を外部の装置に出力する。
【００５５】
続いて、監視部１３５は、中継部１３１に対してバスリセットの解除を命令する（ステップＳ２２４）。中継部１３１は、監視部１３５からバスリセットの解除命令を受け取ると、内部データバスのバスリセット用信号線をネゲートする。ネゲートに伴い、ＤＳＰ１３４は上述の演算実行処理を開始する。
【００５６】
図４に戻り、監視部１３５は、ＤＳＰ起動ステータスを複数のＤＳＰ１３４のそれぞれから受け取る（ステップＳ２３）。この際、監視部１３５は、複数のＤＳＰ１３４それぞれから送信された各ＤＳＰ起動ステータスがどのＤＳＰ１３４のものか判別できるようにするため、ＤＳＰ起動ステータスにＤＳＰ１３４の識別情報を付す。識別情報は、１３４−１、１３４−２、・・・・、１３４−ｎ等の数値であってもよいし、Ａ、Ｂ、Ｃ、・・・・等の記号であってもよい。監視部１３５は、識別情報を付したＤＳＰ起動ステータスをメモリ１３５ａに保存する。
【００５７】
監視部１３５は、ステップＳ２３で取得したＤＳＰ起動ステータスに基づいて、全てのＤＳＰ１３４の起動が成功しているか判別する（ステップＳ２４）。起動が成功していないＤＳＰ１３４が１つでもある場合（ステップＤ２４：Ｎｏ）、ステップＳ２２（ＤＳＰリセット処理）に戻る。
【００５８】
ステップＳ２３で収集されたＤＳＰ起動ステータスは、ＤＳＰリセット処理のステップＳ２２３で、ユーザが操作する外部の装置に出力される。ユーザはＤＳＰ起動ステータスに基づいて動作エラーの原因を判別する。例えば、ユーザはＤＳＰ起動ステータスとそのＤＳＰ起動ステータスに付されている識別情報とを確認することで、どのＤＳＰ１３４が起動を失敗しているか判別する。あるいは、ユーザは、監視部１３５から取得したＤＳＰ起動ステータスに基づいて、ＤＳＰ起動ステータスを取得できていないＤＳＰ１３４を特定する。そして、ユーザはＤＳＰ起動ステータスを取得できていないＤＳＰ１３４を起動が失敗したＤＳＰ１３４として特定する。なお、どのＤＳＰ１３４が起動を失敗しているかは、ユーザではなく外部の装置がＤＳＰ起動ステータスに基づき判別してもよい。
【００５９】
全てのＤＳＰ１３４の起動が成功している場合（ステップＳ２４：Ｙｅｓ）、監視部１３５は、メモリ診断ステータスを複数のＤＳＰ１３４のそれぞれから受け取る（ステップＳ２５）。この際、監視部１３５は、複数のＤＳＰ１３４それぞれから送信された各メモリ診断ステータスがどのＤＳＰ１３４のものか判別できるようにするため、メモリ診断ステータスにＤＳＰ１３４の識別情報を付す。監視部１３５は、識別情報を付したメモリ診断ステータスをメモリ１３５ａに保存する。
【００６０】
監視部１３５は、ステップＳ２５で取得したメモリ診断ステータスに基づいて、全てのＤＳＰ１３４が記憶部１３２に正常にアクセスできているか判別する（ステップＳ２６）。正常にアクセスできていないＤＳＰ１３４が１つでもある場合（ステップＤ２６：Ｎｏ）、ステップＳ２２に戻る。
【００６１】
ステップＳ２４で収集されたメモリ診断ステータスは、ＤＳＰリセット処理のステップＳ２２３で、ユーザが操作する外部の装置に出力される。ユーザはメモリ診断ステータスに基づいて動作エラーの原因を判別する。より具体的には、ユーザはメモリ診断ステータスとそのメモリ診断ステータスに付されている識別情報とを確認することで、どのＤＳＰ１３４がメモリアクセスを失敗しているか判別する。なお、どのＤＳＰ１３４がメモリアクセスを失敗しているかは、ユーザではなく外部の装置がメモリ診断ステータスに基づき判別してもよい。
【００６２】
全てのＤＳＰ１３４が記憶部１３２に正常にアクセスできている場合（ステップＳ２６：Ｙｅｓ）、監視部１３５はＤＳＰ１３４が演算実行処理を終了するまで、ＤＳＰ１３４の監視を継続する（ステップＳ２７）。具体的には、監視部１３５は、ＤＳＰ１３４からエラー情報が送信されるのを待機する。そして、監視部１３５は、エラー情報を受信した場合には、エラー情報に動作エラーを起こしたＤＳＰ１３４の識別情報を関連付け、メモリ１３５ａに格納する。このとき、監視部１３５は、温度計測部１３７から温度情報を取得し、取得した温度情報をエラー情報に関連付け、メモリ１３５ａに格納してもよい。
【００６３】
また、監視部１３５は、エラー情報に識別情報を関連付け、通信部１３６を介して外部の装置に出力してもよい。ユーザはそのエラー情報に付された識別情報に基づいて、動作エラーを起こしたＤＳＰ１３４を特定してもよい。そして、ユーザはエラー情報に基づいて動作エラーの内容を特定してもよい。
【００６４】
本実施形態によれば、ＤＳＰ基板１３０にはそれぞれＤＳＰ１３４を監視する監視部１３５が実装されている。監視部１３５は、複数のＤＳＰ１３４それぞれと異なる信号線Ｌ１〜Ｌｎと接続されており、しかも、ＤＳＰ１３４が接続されたデータバスＤ２には接続されていない。そのため、監視部１３５はＤＳＰ１３４の１つが動作エラーで停止したとしても、その停止の影響を受けることなく動作を継続できる。したがって、ユーザはＤＳＰ基板１３０が動作エラーを起こして停止したとしても、ＤＳＰ１３４の状態を知ることができるので、動作エラーを起こしたＤＳＰ１３４等、動作エラーの原因を容易に知ることができる。
【００６５】
また、監視部１３５は、ＤＳＰ起動ステータスおよびメモリ診断ステータスを取得するよう構成されているので、ユーザは動作エラーの内容が起動の失敗かメモリアクセスの失敗かを容易に知ることができる。
【００６６】
また、中継部１３１は、ＤＳＰ１３４が接続された内部データバスＤ２をバスリセット可能に構成されている。そして、監視部１３５は、複数のＤＳＰ１３４の中に起動が失敗したＤＳＰ１３４がある場合には、中継部１３１に対して内部データバスＤ２をバスリセットするよう命令している。これにより、起動失敗のＤＳＰ１３４を含めＤＳＰ１３４は起動を再チャレンジするので、ＤＳＰ基板１３０は起動失敗により停止状態に陥る確率が少なくなる。その結果、処理装置１００をよりシビアな環境で操作させることができる。
【００６７】
また、監視部１３５は、複数のＤＳＰ１３４の中に起動が失敗したＤＳＰ１３４がある場合には、中継部１３１に対して内部データバスＤ２のバスリセットを命令している。これにより、メモリアクセス失敗のＤＳＰ１３４を含めＤＳＰ１３４は起動からやり直すので、ＤＳＰ基板１３０はメモリアクセス失敗により停止状態に陥る確率が少なくなる。その結果、処理装置１００をよりシビアな環境で操作させることができる。
【００６８】
ＤＳＰ基板１３０にはそれぞれ温度計測部１３７が実装されている。そして、監視部１３５は、複数のＤＳＰ１３４の中に、起動失敗若しくはメモリアクセス失敗のＤＳＰ１３４がある場合には、中継部１３１にバスリセットを命令するとともに、温度計測部１３７が計測した温度情報を取得する。これにより、ユーザは動作エラー発生時のＤＳＰ基板１３０の温度を知ることができるので、動作エラーの解析を容易にすることができる。
【００６９】
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
【００７０】
例えば、上述の実施形態では、処理装置１００が備える処理ユニットはＤＳＰ基板１３０であるものとして説明したが、処理ユニットはＤＳＰ基板に限定されない。例えば、処理ユニットは、ＤＳＰ以外のプロセッサ（例えば、汎用のマイクロプロセッサ）が実装された基板（ボード或いはカード）であってもよい。
【００７１】
また、上述の実施形態では、処理装置１００が複数のＤＳＰ基板１３０は全て同じ構成であるものとして説明したが、ＤＳＰ基板１３０の構成は異なっていてもよい。例えば、ＤＳＰ基板１３０が備えるＤＳＰ１３４の数は基板毎に異なっていてもよい。
【００７２】
また、上述の実施形態では、監視部１３５は、メモリ１３５ａに格納された情報（例えば、起動時間情報、ＤＳＰ起動ステータス（起動情報）、メモリ診断ステータス（判別結果）、エラー情報、温度情報等。以下、エラー解析情報という。）を自発的に外部の装置に出力するよう構成されていたが、監視部１３５は、外部の装置からの要求に応じてエラー解析情報を出力するよう構成されていてもよい。
【００７３】
また、監視部１３５はエラー解析情報を外部に出力せず、メモリ１３５ａに格納するだけであってもよい。この場合、ユーザは、メモリ１３５ａから、直接、エラー解析情報を抽出してもよい。また、監視部１３５はメモリ１３５ａにエラー解析情報を格納せずに外部の装置に出力するよう構成されていてもよい。
【００７４】
また、上述の実施形態では、ＤＳＰ１３４はワークメモリとなる記憶部１３２にデータバスＤ２及び中継部１３１を介して間接的に接続されていた。しかし、記憶部１３２はデータバスＤ２に接続されていてもよいし、ＤＳＰ１３４それぞれに１つずつ直接接続されていてもよい。
【００７５】
また、上述の実施形態では、中継部１３１はデータバスＤ１およびデータバスＤ２と直接接続されるものとして説明した。しかし、中継部１３１はデータバスＤ１およびデータバスＤ２と間接的に接続されていてもよい。例えば、ＤＳＰ基板１３０は、ＤＳＰ基板１３０を処理装置１００のデータバスＤ１から着脱可能にする不図示の接続インタフェースを備え、中継部１３１はその接続インタフェースを介してデータバスＤ１と接続されていてもよい。また、ＤＳＰ基板１３０は、データバスの中継機能を備えた不図示のデバイス（例えば、ブリッジ）を備え、中継部１３１はそのデバイスを介してデータバスＤ２と接続されていてもよい。
【００７６】
また、上述の実施形態では中継部１３１は、ＦＰＧＡにハードウェアロジックをプログラミングすることによって構成されるものとして説明したが、中継部１３１は汎用プロセッサにソフトウェアを動作させることにより構成してもよい。
【００７７】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７８】
１００…処理装置
１１０…通信インタフェース
１２０…制御部
１３０、１３０−１〜１３０−Ｍ…ＤＳＰ基板
１３１…中継部
１３２、１３３…記憶部
１３４、１３４−１〜１３４−ｎ…ＤＳＰ
１３５…監視部
１３５ａ…メモリ
１３６…通信部
１３７…温度計測部
Ｄ１〜Ｄ４…データバス
Ｌ、Ｌ１〜Ｌｎ…信号線
【図１】
2017004329.tif 000003
【図２】
2017004329.tif 000004
【図３】
2017004329.tif 000005
【図４】
2017004329.tif 000006
【図５】
2017004329.tif 000007