(57)【要約】【課題】ＣＰＵを備えていないＤＳＰカードに実装されたＤＳＰを起動するシステム、装置および方法を提供する。【解決手段】ＤＳＰを起動するシステムは、ＤＳＰカードと、伝送路を介して、ＤＳＰカードに処理プログラムを含む起動用データを提供するプログラム提供装置とを備える。プログラム提供装置は、ＣＰＵと、起動用データを保存する記憶装置と、起動用データをシリアル送信する送信装置とを備える。ＤＳＰカードは、１または複数のＤＳＰと、ＤＳＰの内部メモリに転送されるブート制御プログラムを保存する不揮発性メモリと、シリアルの起動用データを受信する受信装置と、受信装置によって受信された起動用データを保存する外部記憶装置とを備える。ＤＳＰは、起動用データに含まれるＤＳＰが実行する処理プログラムをロードする。【選択図】図１
2012108853.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル信号処理を行うＤＳＰ（ディジタルシグナルプロセッサ）カードと、
このＤＳＰカードに、伝送路を介して、処理プログラムを含む起動用データを提供するプログラム提供装置とを備え、
このプログラム提供装置は、
ＣＰＵと、
前記起動用データを保存する記憶装置と、
前記起動用データを、前記伝送路を介して、シリアルデータの形式で送信する送信装置とを備え、
前記ＤＳＰカードは、
内部メモリおよびこの内部メモリに記憶されるデータをＤＭＡ転送するＤＭＡコントローラを有する１または複数のＤＳＰと、
前記ＤＳＰの内部メモリに転送されるブート制御プログラムを保存する不揮発性メモリと、
前記ＤＳＰが実行する処理プログラムを含む起動用データをシリアルデータの形式で受信する受信装置と、
この受信装置によって受信された起動用データを保存する外部記憶装置とを備え、
前記ＤＳＰは、前記外部記憶装置に保存された前記起動用データに含まれる前記ＤＳＰが実行する処理プログラムをロードすることを特徴とするディジタルシグナルプロセッサを起動するシステム。
【請求項２】
前記ＤＳＰカードが備える１または複数のＤＳＰの中の１のＤＳＰは予め定められた第１のＤＳＰであり、
この第１のＤＳＰは、前記起動用データを受信する処理を行い、受信した前記起動用データを前記外部記憶装置に保存し、受信した前記起動用データを検証し、前記起動用データに含まれ前記第１のＤＳＰが実行する処理プログラムを前記第１のＤＳＰにロードし、再ブート対象のＤＳＰであって前記第１のＤＳＰ以外のＤＳＰに対して起動指令を発行し、
前記起動指令を受けた前記第１のＤＳＰ以外のＤＳＰは、そのＤＳＰが実行する処理プログラムをロードすることを特徴とする請求項１に記載のディジタルシグナルプロセッサを起動するシステム。
【請求項３】
前記システムは、
前記伝送路に挿入され、前記送信装置から送信される前記起動データを受信し、受信した前記起動データを複製し、複製した起動データを前記受信装置に送信する中継機能を有する回線データ複製装置を、さらに、備えることを特徴とする請求項１または請求項２に記載のディジタルシグナルプロセッサを起動するシステム。
【請求項４】
内部メモリおよびこの内部メモリに記憶されるデータをＤＭＡ転送するＤＭＡコントローラを有し、ディジタル信号処理を行う１または複数のＤＳＰと、
前記ＤＳＰの内部メモリに転送されるブート制御プログラムを保存する不揮発性メモリと、
前記ＤＳＰが実行する処理プログラムを含む起動用データを、伝送路を介して、シリアルデータの形式で受信する受信装置と、
この受信装置によって受信された起動用データを保存する外部記憶装置とを備え、
前記ＤＳＰは、前記外部記憶装置に保存された前記起動用データに含まれる前記ＤＳＰが実行する処理プログラムをロードすることを特徴とするディジタルシグナルプロセッサを起動する装置。
【請求項５】
前記ＤＳＰカードが備える１または複数のＤＳＰの中の１のＤＳＰは予め定められた第１のＤＳＰであり、
この第１のＤＳＰは、前記起動用データを受信する処理を行い、受信した前記起動用データを前記外部記憶装置に保存し、受信した前記起動用データを検証し、前記起動用データに含まれ前記第１のＤＳＰが実行する処理プログラムを前記第１のＤＳＰにロードし、再ブート対象のＤＳＰであって前記第１のＤＳＰ以外のＤＳＰに対して起動指令を発行し、
前記起動指令を受けた前記第１のＤＳＰ以外のＤＳＰは、そのＤＳＰが実行する処理プログラムをロードすることを特徴とする請求項４に記載のディジタルシグナルプロセッサを起動する装置。
【請求項６】
前記受信装置は、
前記伝送路に挿入され、前記起動データを受信し、受信した前記起動データを複製し、複製した起動データを複数の出力先に送信する中継機能を有する回線データ複製装置を介して、前記起動データを受信することを特徴とする請求項４または請求項５に記載のディジタルシグナルプロセッサを起動する装置。
【請求項７】
請求項４に記載のディジタルシグナルプロセッサを起動する装置において、前記ＤＳＰカードが備える１または複数のＤＳＰの中の１のＤＳＰは予め定められた第１のＤＳＰによって、
前記起動用データの受信処理を行うステップと、
受信した前記起動用データを前記外部記憶装置に保存するステップと、
受信した前記起動用データを検証するステップと、
前記起動用データに含まれ前記第１のＤＳＰが実行する処理プログラムを前記第１のＤＳＰにロードするステップと、
再ブート対象のＤＳＰであって前記第１のＤＳＰ以外のＤＳＰに対して起動指令を発行するステップと
を実行することを特徴とするディジタルシグナルプロセッサを起動する方法。
【請求項８】
前記方法は、
前記起動指令を前記第１のＤＳＰから受けた前記第１のＤＳＰ以外のＤＳＰによって、そのＤＳＰが実行する処理プログラムをロードするステップを、さらに、含むことを特徴とする請求項７に記載のディジタルシグナルプロセッサを起動する方法。
【請求項９】
前記起動データは、
前記伝送路に挿入され、前記起動データを受信し、受信した前記起動データを複製し、複製した起動データを複数の出力先に送信する中継機能を有する回線データ複製装置を介して、前記ディジタルシグナルプロセッサを起動する装置に受信されることを特徴とする請求項７または請求項８に記載のディジタルシグナルプロセッサを起動する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ディジタルシグナルプロセッサを起動するシステム、装置および方法に関する。
【背景技術】
【０００２】
ディジタルシグナルプロセッサ（以下、ＤＳＰと呼ぶ）は、積和演算を高速に実行可能な高速乗算器を持つ等、ディジタル信号処理に特化した様々な機能・性能を有している。このため、ディジタルフィルタ処理、ＦＦＴ（高速フーリエ変換）、ＤＣＴ（離散コサイン変換）等の特定の演算処理を、ＣＰＵに比べて高速かつ低消費電力で実行することができる。このような特長から、従来ハードウェアを構成することにより実現していた多くのディジタル信号処理機能を、ソフトウェアによって実行可能としてきた。例えば、携帯電話、デジタルカメラ等における音声処理、画像処理からレーダ等における信号処理に至るまで広く活用されている。
【０００３】
しかし、通常、ＤＳＰはＣＰＵに比べて使用可能なメモリ資源が乏しいため、ＣＰＵのように基本ソフトウェア（以下、ＯＳと呼ぶ）を利用したり、１つのＤＳＰで複数のプログラムを実行する等の複雑な処理を実行することができない。このため、ＤＳＰを用いて複数のプログラムを実行する場合には、ディジタルフィルタ処理あるいはＦＦＴ等の固定したディジタル信号処理をそれぞれのＤＳＰに割り付け、ＤＳＰ間は専用の高速通信を用いて接続する分散方式の構成を採っていた。
【０００４】
ＤＳＰを用いたディジタル処理装置は、１または複数のＤＳＰ、外部メモリおよびプログラム格納用のフラッシュＲＯＭを持つ、ＤＳＰカードにより構成する。従来、ＤＳＰのプログラムは各ＤＳＰカードのフラッシュＲＯＭに格納されており、各ＤＳＰは起動時に自身が実行するプログラムをフラッシュＲＯＭから読み込み、処理を開始する。
【０００５】
このため、ＤＳＰが実行するプログラムを変更するためには、フラッシュＲＯＭの更新が必須であった。しかし、前述したようにＤＳＰが使用可能なメモリ資源は乏しいため、ディジタル信号処理プログラムと同時に、フラッシュＲＯＭを更新する制御プログラムを内蔵することができない。ＤＳＰが実行するプログラムを更新するためには専用のフラッシュＲＯＭ書込み用装置を用いる等の必要があった。専用のフラッシュＲＯＭ書込み用装置を用いずにプロセッサが実行するプログラムを更新する以下の発明が開示されている。
【０００６】
特許文献１には、メインプロセッサの起動後にサブプロセッサに任意のプログラムを実行させることが可能な情報処理装置の発明が開示されている。この情報処理装置においては、サブプロセッサとして機能する第２のプロセッサは、電源投入に応答して起動され、ＲＯＭに格納されたブートプログラムを実行するとともに、メインプロセッサとして機能する第１のプロセッサを起動するための処理を実行する。第１のプロセッサは、その起動後に、第２のプロセッサに実行させるべき新たなブートプログラムをＤＲＡＭにロードし、そして第２のプロセッサを再起動してＤＲＡＭにロードされた新たなブートプログラムを第２のプロセッサに実行させる。すなわち、ＣＰＵを有するメインプロセッサによって第２のプロセッサを再起動させている。
【０００７】
特許文献２には、複数のＤＳＰを利用した装置の起動時間を短縮することができるＤＳＰ制御装置が開示されている。この発明においては、信号処理を行う複数個のＤＳＰと、ＤＳＰ用プログラムを記憶したＲＯＭと、ＤＳＰとＲＯＭとの間のＤＳＰ用プログラムの読み出し書き込みを制御するシステムコントローラとを備えたＤＳＰ制御装置において、システムコントローラの制御に基づいて複数個のＤＳＰに対して一斉アクセスを行うＤＳＰコントローラを備え、システムコントローラは、ＲＯＭからＤＳＰ用プログラムを読み出すと共に読み出したＤＳＰ用プログラムをＤＳＰコントローラにより複数個のＤＳＰに一斉書き込みを行いＤＳＰ用プログラムのロード終了後に複数個のＤＳＰを一斉に起動する制御を行うＤＳＰ制御装置が開示されている。このシステムコントローラにおいては、ＣＰＵがＲＯＭからＤＳＰ用プログラムを読み出すとともに、読み出したＤＳＰ用プログラムをＤＳＰコントローラにより複数個のＤＳＰに一斉書き込みを行っている。
【０００８】
しかし上記の発明においては、装置に含まれ、ＣＰＵを用いることによりＯＳや複雑な処理を可能なホスト起動後にＤＳＰ用のプログラムを用意し、各ＤＳＰの起動を実現している。すなわち、従来の装置においては、ＤＳＰを起動するためには、ＣＰＵを装置に実装する必要があった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−９９７０４号公報
【特許文献２】特開２００４−８６４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、ＣＰＵを備えていないＤＳＰカードに実装されたＤＳＰを起動するシステム、装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の実施形態によるＤＳＰ（ディジタルシグナルプロセッサ）を起動するシステムは、ディジタル信号処理を行うＤＳＰカードと、伝送路を介して、ＤＳＰカードに処理プログラムを含む起動用データを提供するプログラム提供装置とを備える。プログラム提供装置は、ＣＰＵと、起動用データを保存する記憶装置と、伝送路を介して起動用データをシリアルデータの形式で送信する送信装置とを備える。ＤＳＰカードは、内部メモリおよび内部メモリに記憶されるデータをＤＭＡ転送するＤＭＡコントローラを有する１または複数のＤＳＰと、ＤＳＰの内部メモリに転送されるブート制御プログラムを保存する不揮発性メモリと、ＤＳＰが実行する処理プログラムを含む起動用データをシリアルデータの形式で受信する受信装置と、シリアル通信装置によって受信された起動用データを保存する外部記憶装置とを備える。ＤＳＰは、外部記憶装置に保存された起動用データに含まれるＤＳＰが実行する処理プログラムをロードする。
【図面の簡単な説明】
【００１２】
【図１】ＤＳＰを起動するシステムの構成の一例である。
【図２】ＤＳＰを起動するシステムの構成の他の例である。
【図３】第１のＤＳＰのブート動作の一例を表すフローチャートである。
【図４】ＤＳＰ（２）のブート動作の一例を表すフローチャートである。
【図５】ＤＳＰを再起動するための起動用データを送信するプログラム提供装置における動作の一例を表すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、適宜、図面を参照しながら本発明の一例としての実施形態の説明を行う。尚、それぞれの図において、同一の部分または対応する部分には同一の参照符号を付すとともに、重複した説明は省略する。
【００１４】
図１にＤＳＰ（ディジタルシグナルプロセッサ）を起動するシステムの構成の一例を示す。ＤＳＰカード１０２には、ディジタル信号処理を行う１または複数のＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎ（Ｎは正整数）が実装されている。ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎは、それぞれ内部メモリとＤＭＡコントローラ（ＤＭＡＣ）を備える。ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎのそれぞれの内部メモリは、小容量の記憶領域を有する。ＤＳＰ１０４−１、１０４−２、・・・１０４−ＮのそれぞれのＤＭＡコントローラは、対応する内部メモリに記憶される、処理プログラム等のデータをＤＭＡ転送する。ＤＳＰカード１０２には、Ｎ個のＤＳＰ１０４が実装されており、ブート対象のＤＳＰが１または複数存在する。尚、それぞれのＤＳＰ１０４は複数本の外部制御入力ピンを備え、例えば８個のＤＳＰ１０４がＤＳＰカード１０２に実装されている場合、各ＤＳＰ１０４の３本の外部制御入力ピンをプルアップまたはプルダウンすることによって、８個のＤＳＰ１０４に“０”ないし“７”の８種類のそれぞれ固有のＩＤコードを予め付与する。本明細書においては、付与されたＩＤコードの値が“ｉ”であるＤＳＰ１０４をＤＳＰ（ｉ＋１）と呼び、ｉ＝０であるＤＳＰ（１）を第１のＤＳＰと呼び、ＤＳＰ（１）以外のｉ≧０であるＤＳＰをその他のＤＳＰと呼ぶことがある。ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎの中の、どのＤＳＰを第１のＤＳＰとするのかは任意であるが、ＤＳＰ１０４−１をＤＳＰ１０４−１（ＤＳＰ（１））としてもよい。
【００１５】
ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎは、それぞれのＤＭＡＣを介して、プロセッサバス１０６に接続されている。このプロセッサバス１０６には、ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎの内部メモリに転送されるブート制御プログラム等を保存するフラッシュＲＯＭ１０８等の、電気的に消去・書込可能な不揮発性プログラマブルＲＯＭが接続されている。プロセッサバス１０６には、さらに、バスプロトコル変換機能部１１０が接続されている。バスプロトコル変換機能部１１０は、異なるデータバスを接続するために、バスのＭＡＣ層のプロトコル変換と、バス幅の整合、転送単位の整合等の処理を行うブリッジである。バスプロトコル変換機能部１１０には、メモリバス１１２を介して、ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎが実行する処理プログラムを含む起動用データ等を記憶する外部記憶装置１１４が接続されている。外部記憶装置１１４は、例えば、ＤＲＡＭ等の揮発性記憶素子を含む。
【００１６】
バスプロトコル変換機能部１１０には、さらに、例えば、ＰＣＩ、ＶＭＥ等の拡張バス１１６を介して、ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎが実行する処理プログラムを含む起動用データ等をシリアルデータの形式で受信する機能を有する高速シリアル通信装置１１８が接続されている。高速シリアル通信装置１１８には、ＲＳ−２３２Ｃインターフェイスのような低速なものではなく、例えば、IEEE802.3規格に準拠したデータ伝送速度１０Ｇｂｐｓのイーサネット（登録商標）用インターフェイスであるＸＡＵＩ（10Gigabit Attachment Unit Interface）を用いることによって、伝送速度１．０〜３．１２５Ｇｂｐｓの高速シリアル通信を行うことができる。また、ＸＡＵＩの４レーンを時分割多重した１０Ｇｂｐｓイーサネット（登録商標）の物理層を利用することによりデータ伝送速度１０Ｇｂｐｓまでの高速シリアル通信を行うこともできる。尚、高速シリアル通信装置１１８の伝送速度は、現時点で容易に実装可能なＸＡＵＩあるいは１０Ｇｂｐｓイーサネット（登録商標）の物理層によって限定されるわけではなく、例えば、広く用いられている１００Ｍｂｐｓ程度から現時点において開発中の１００Ｇｂｐｓの間であってもよい。
【００１７】
シリアル通信方式は、伝送に必要な線路の本数を１本と少なくすることができる点と、通信速度の高速化に伴って顕在化するパラレル通信におけるスキューの問題がないため、画像処理装置やレーダなどの基板間通信に用いられている。
【００１８】
最近では、ゲートアレイ（ＧＡ）またはＦＰＧＡ等のプログラマブルロジックデバイスのＡＳＩＣを作る時に使われる、機能単位でまとめられている部分的な回路情報データであるＩＰコア（Intellectual Property Core）が、ＧＡまたはＦＰＧＡ等のＡＳＩＣベンダから市販されており、ＩＰコアを併用することによってＡＳＩＣの開発期間を短縮することができる。高速シリアル通信装置１１８は、例えば、このようなＡＳＩＣを用いて構成することができる。
【００１９】
高速シリアル通信装置１１８は、ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎが実行する処理プログラムを含む起動用データ等の高速シリアルデータを受信し、受信したシリアルデータをデマルティプレックス（demultiplex）し、拡張バス１１６に出力する。
【００２０】
ＤＳＰカード１０２に実装された高速シリアル通信装置１１８は、シリアル伝送路１２０を介して、プログラム提供装置１２２に実装された高速シリアル通信装置１２４に接続されている。高速シリアル通信装置１１８と、高速シリアル通信装置１２４とを結ぶシリアル伝送路１２０には、短距離の場合には同軸ケーブルを用いることができ、長距離の場合には光ファイバケーブルを用いることができる。
【００２１】
プログラム提供装置１２２としては、例えば、パーソナルコンピュータ（ＰＣ）を用いることができる。以下、本明細書においてはプログラム提供装置１２２としてＰＣ１２２を用いる場合について説明を行うが、プログラム提供装置１２２として他の形態のコンピューティング装置を用いることができることは明らかであろう。
【００２２】
ＰＣ１２２はＣＰＵ１２６および図示しないＲＯＭ、ＲＡＭ、およびＨＤＤあるいはＳＳＤ（ソリッドステートドライブ）等の記憶装置を含む。ＰＣ１２２には基本ソフトウェア（ＯＳ）、各種のデバイスドライバ、高速シリアル通信装置１２４を介してシリアルデータを送信するためのソフトウェア等がインストールされ、ＤＳＰカード１０２に実装されたＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎが実行する処理プログラムのデータが上記のいずれかの記憶装置に保存されている。高速シリアル通信装置１２４は、ＤＳＰカード１０２に実装されたＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎが用いる処理プログラムのデータを、シリアル伝送路１２０を介して、ＤＳＰカード１０２の高速シリアル通信装置１１８にシリアルデータの形式で送信する。
【００２３】
前述したように、従来の技術によれば各ＤＳＰが実行する処理プログラムを容易には更新することができないため固定的な処理しかできなかったが、図１に示した実施形態によれば、ＤＳＰカードにＣＰＵを実装せずに、極めて短時間に各ＤＳＰが実行する処理プログラムを更新することができる。また、ＤＳＰカードとプログラム提供装置は伝送路を介して接続されるため、プログラム提供装置をＤＳＰカードから遠く離れた場所に設置することも可能であり、これらの装置相互の設置位置の制限が実質的にない。さらに、高速シリアル通信装置１１８は、ＤＳＰカード１０２の処理対象であるデータの入力装置としても用いることができる。
【００２４】
図２にＤＳＰを起動するシステム構成の他の例を示す。図２に示した構成例が、図１に示した構成例と大きく異なる点は、ＤＳＰカードがＭ個と複数であることである。それぞれのＤＳＰカード１０２−１〜１０２−Ｍの構成は、図１に示したＤＳＰカード１０２と同一にすることができる。また、図中のＰＣ１２２は、図１に示したＰＣ１２２と同一にすることができる。それぞれのＤＳＰカード１０２−１〜１０２−Ｍには、高速シリアルデータを受信し、受信したシリアルデータをデマルティプレックスし、拡張バス１１６に出力する、高速シリアル通信装置１１８が設けられている。
【００２５】
ＤＳＰカード１０２−１ないし１０２−Ｍ（Ｍは正整数）に設けられたそれぞれの高速シリアル通信装置１１８は、ＰＣ１２２に実装された高速シリアル通信装置１２４から送信される処理プログラムのシリアルデータを受信するが、高速シリアル通信装置１２４から各高速シリアル通信装置１１８へのデータ伝送を効率的に行うために、シリアル伝送路１２０には回線データ複製装置３０２が挿入されている。回線データ複製装置３０２は、入力されたシリアルデータと同一のシリアルデータを複数出力する装置である。換言すると、回線データ複製装置３０２は、入力されたシリアルデータを複製し、複製したシリアルデータを複数の出力先に送信する中継機能を有する。高速シリアル通信装置１２４から送信される処理プログラムのシリアルデータは、シリアル伝送路１２０−０を介して、回線データ複製装置３０２によって一旦受信される。回線データ複製装置３０２は、受信した処理プログラムのシリアルデータと同一のシリアルデータを、シリアル伝送路１２０−１ないし１２０−Ｍを介して、それぞれＤＳＰカード１０２−１ないし１０２−Ｍに設けられたそれぞれの高速シリアル通信装置１１８に送信する。回線データ複製装置３０２は、例えば、米国Motorola社と米国Mercury Computer Systems社が開発した技術をベースとしたSerial Rapid IO等のマルチキャスト機能を有する。
【００２６】
この実施形態によれば、図１に示した実施形態の効果に加え、プログラム提供装置１２２（ＰＣ１２２）からＤＳＰカード１０２−１ないしＤＳＰカード１０２−Ｍに処理プログラムのデータをＤＳＰカードごとに伝送する必要がなく複数のＤＳＰカードに同時に伝送することができるため、複数のＤＳＰカードへの処理プログラムの転送を短時間に実行することが可能となる。このことによって、複数のＤＳＰカードの各ＤＳＰが実行する処理プログラムを極めて短時間に更新することができる。例えば、各ＤＳＰカードに５個のＤＳＰが実装され、ＤＳＰカードが７００枚である場合、各ＤＳＰが実行する処理プログラムを更新するために、従来は２〜３分かかっていたが、本実施形態によれば１〜２秒に短縮することができる。
【００２７】
（動作例）
（１）第１のＤＳＰのブート動作例
図３に第１のＤＳＰのブート動作の一例を表すフローチャートを示す。前述したように、第１のＤＳＰは、ＤＳＰ１０４−１、１０４−２、・・・１０４−Ｎの中のＤＳＰであって、例えば、ＩＤコードが“０”に設定されたＤＳＰ１０４である。尚、第１のＤＳＰのブート動作は、図１に示した構成においても、図２に示した構成においても共通であるため、以下の記載においては図１に示した構成要素を参照しながら説明を行う。ＤＳＰカード１０２の電源が投入されると、Ｓ４０２で、第１のＤＳＰ、例えば、ＤＳＰ１０４−１は、フラッシュＲＯＭ１０８からブート制御プログラムをロードする。次いで、Ｓ４０４ないしＳ４１６で、第１のＤＳＰは、ＰＣ１２２から送信される起動用データの受信処理を行う。先ず、Ｓ４０４で、第１のＤＳＰは、高速シリアル通信装置１１８の受信設定を行う。次いでＳ４０６で、第１のＤＳＰは、高速シリアル通信装置１１８を介して、プログラム提供装置（ＰＣ）１２２から起動用データ受信指令を受けたか否かを判断する。起動用データには、ＤＳＰ１０４が実行する処理プログラムのデータが含まれる。Ｓ４０６で、起動用データ受信指令を受けていないと判断された場合には、Ｓ４０６に留まり、ＰＣ１２２が送信する起動用データ受信指令の受信待ちの状態に入る。高速シリアル通信装置１１８によってＰＣ１２２からの起動用データ受信指令が受信され、Ｓ４０６で、起動用データ受信指令を受けたと判断された場合には、処理はＳ４０８に進む。
【００２８】
Ｓ４０８で、第１のＤＳＰは、ＰＣ１２２から送信されるデータサイズとチェックサムの２種類のデータを受信する。次にＳ４１０で、第１のＤＳＰは、ＰＣ１２２から送信され、高速シリアル通信装置１１８によって受信されるデータサイズ分の起動データファイルを外部記憶装置１１４に保存する。次いでＳ４１２で、データサイズとチェックサムを比較し、Ｓ４１４で、受信した起動データファイルのデータサイズまたはチェックサムに異常があるか否かを判断する。すなわち、受信した起動データファイルの検証を行う。Ｓ４１４で、データサイズまたはチェックサムに異常があると判断された場合には、Ｓ４１６で、受信データを破棄し、Ｓ４０６に戻り、ＰＣ１２２が送信する起動用データ受信指令の受信待ちの状態になる。Ｓ４１４で、データサイズまたはチェックサムに異常があるか否かを判断することによって、高速シリアル通信装置１１８で受信された起動データファイルのデータの信頼性を確保し、確実な通信の検証を行うため、誤りを含む起動データによるＤＳＰの起動を防止することができる。Ｓ４１４で、データサイズおよびチェックサムに異常がなく正常であると判断された場合には、Ｓ４１０で、外部記憶装置１１４に保存した起動データファイルを用いて、以下のＤＳＰ再起動処理に進む。
【００２９】
Ｓ４１８で、第１のＤＳＰは、読み出しアドレスとデータサイズからなる再ブートパラメータを外部記憶装置１１４に設定する。次にＳ４２０ないしＳ４２６のＤＯループの中で、第１のＤＳＰ以外のＤＳＰ、すなわちＤＳＰ（２）ないしＤＳＰ（Ｎ）の中の再ブート対象のＤＳＰ（ｋ）に対して起動指令を発行する。すなわち、先ずＳ４２０でｋ＝２と設定し、Ｓ４２２でＤＳＰ（ｋ）が再ブート対象のＤＳＰであるか否かを判断する。ＤＳＰ（ｋ）が再ブート対象のＤＳＰではないとＳ４２２で判断されると、処理はＳ４２６に進みｋの値を１だけインクリメントした後、Ｓ４２２に戻る。Ｓ４２２で、ＤＳＰ（ｋ）が再ブート対象のＤＳＰであると判断された場合には、第１のＤＳＰは、ＤＳＰ（ｋ）に対し起動指令を発行する。次いで処理はＳ４２６に進みｋの値を１だけインクリメントした後、Ｓ４２２に戻り、前述した処理をｋ＝Ｎに関して終了するまで繰り返す。
【００３０】
再ブート対象のＤＳＰ（ｋ）に対する起動指令の発行を終えると、Ｓ４２８に進み、第１のＤＳＰのブート処理を行う。すなわち、先ずＳ４２８で、ＤＭＡ転送完了ベクタに、第１のＤＳＰの内部メモリの先頭アドレスを指定する。次にＳ４３０で、第１のＤＳＰの内蔵ＤＭＡＣを用いて、外部記憶装置１１４から第１のＤＳＰの処理プログラムをロードする。次いでＳ４３２で、第１のＤＳＰは、ＤＭＡ転送完了割込を受けて、Ｓ４３０でロードした新しい処理プログラムの先頭から実行を開始し、第１のＤＳＰの再ブートを終了する。
【００３１】
以上、図１に示した構成要素を参照しながら第１のＤＳＰのブート動作を説明したが、図２に示した構成においては、それぞれのＤＳＰカード１０２−１、１０２−２、・・・１０２−Ｍに実装されたフラッシュＲＯＭ１０８、外部記憶装置１１４および高速シリアル通信装置１１８等と、回線データ複製装置３０２を介して、それぞれの高速シリアル通信装置１１８にＰＣ１２２から伝送されるデータを用いて、前述した動作によって各ＤＳＰカードの第１のＤＳＰをブートすることができる。
【００３２】
本実施形態によれば、ＣＰＵを備えていないＤＳＰカードに実装された第１のＤＳＰをブートすることができる。また、本実施形態におけるＳ４０８およびＳ４１０におけるデータの受信は、プログラム提供装置１２２からの伝送速度が、例えば、１Ｇｂｐｓという高速であるため、極めて短時間で行うことができる。したがって第１のＤＳＰを極めて短時間でブートすることができる。また、本実施形態によれば、受信した起動データに異常があるか否かを検証するため、誤った起動データに基づいて第１のＤＳＰを起動することを避けることができる。
【００３３】
（２）ＤＳＰ（２）〜ＤＳＰ（Ｎ）のブート動作例
図４にＤＳＰ（２）のブート動作の一例を表すフローチャートを示す。前述したように、ＤＳＰ（２）〜ＤＳＰ（Ｎ）は、ＤＳＰカード１０２に実装されたＤＳＰであって、第１のＤＳＰすなわちＤＳＰ（１）以外のＤＳＰである。尚、ＤＳＰ（２）のブート動作は、図１に示した構成においても、図２に示した構成においても共通であるため、以下の記載においては図１に示した構成要素を参照しながら説明を行う。ＤＳＰ（２）のリセットが解除されると、Ｓ５０２で、ＤＳＰ（２）は、フラッシュＲＯＭ１０８からブート制御プログラムをロードする。次に、ＤＳＰ（２）は、図３におけるＳ４２４でＤＳＰ（１）が発行し、送信する再起動指令を待つ。Ｓ５０４で、ＤＳＰ（２）は、ＤＳＰ（１）が送信した再起動指令を受信したか否かを判断する。ＤＳＰ（１）が送信した再起動指令を受信していないとＳ５０４で判断された場合には、ＤＳＰ（２）は、ＤＳＰ（１）が送信する再起動指令を待つ。
【００３４】
ＤＳＰ（１）が送信した再起動指令を受信したとＳ５０４で判断された場合には処理はＳ５０６に進み、ＤＳＰ（２）は、ＤＭＡ転送完了ベクタに内部メモリの先頭アドレスを指定する。次にＳ５０８で、ＤＳＰ（２）は、その内蔵ＤＭＡコントローラを用いて、外部記憶装置１１４からＤＳＰ（２）の処理プログラムをロードする。続いてＳ５１０で、ＤＳＰ（２）は、ＤＭＡ転送完了割込を受けて、Ｓ５０８でロードした新しい処理プログラムの先頭から実行を開始し、ＤＳＰ（２）の再ブートを終了する。
【００３５】
以上、図１に示した構成要素を参照しながらＤＳＰ（２）のブート動作を説明したが、ＤＳＰ（３）〜ＤＳＰ（Ｎ）のブート動作もＤＳＰ（２）のブート動作と同じである。
【００３６】
以上、図１に示した構成要素を参照しながらＤＳＰ（２）〜ＤＳＰ（Ｎ）のブート動作を説明したが、図２に示した構成においては、それぞれのＤＳＰカード１０２−１、１０２−２、・・・１０２−Ｍに実装された第１のＤＳＰ、フラッシュＲＯＭ１０８、および外部記憶装置１１４等を用い、第１のＤＳＰの指令にしたがって、図１に示した構成要素を参照しながら説明した方法によって各ＤＳＰカードのＤＳＰ（２）〜ＤＳＰ（Ｎ）をブートすることができる。
【００３７】
本実施形態によれば、第１のＤＳＰのブートと同様に、ＣＰＵを備えていないＤＳＰカードに実装されたＤＳＰ（２）〜ＤＳＰ（Ｎ）を第１のＤＳＰと協調してブートすることができる。また、第１のＤＳＰのブートと同様に、ＤＳＰ（２）〜ＤＳＰ（Ｎ）のブートを極めて短時間で実行可能とし、かつ、誤った起動データに基づいて起動することを避けることができる。
【００３８】
（３）プログラム提供装置におけるＤＳＰカード再起動用の起動用データ送信動作例
図５に、ＤＳＰカード１０２に実装されたＤＳＰ１０４を再起動するための起動用データを送信するプログラム提供装置１２２、例えばＰＣ１２２における、動作の一例を表すフローチャートを示す。先ずＳ６０２で、ＰＣ１２２は、ＰＣ１２２の高速シリアル通信装置１２４、シリアル伝送路１２０を介して、ＤＳＰカード１０２に実装された高速シリアル通信装置１１８に、ＤＳＰ１０４を再起動するための起動用データを受信する指令を送信する。高速シリアル通信装置１１８によって受信されたＤＳＰ１０４を再起動するための起動用データを受信する指令は、高速シリアル通信装置１１８からＤＳＰカード１０２の第１のＤＳＰに伝達される。次にＳ６０４で、ＰＣ１２２は、送信する起動データファイルからデータサイズおよびチェックサムを計算する。次にＳ６０６で、ＰＣ１２２は、Ｓ６０４で計算したデータサイズとチェックサムを、高速シリアル通信装置１２４、シリアル伝送路１２０を介して、ＤＳＰカード１０２に実装された高速シリアル通信装置１１８に送信する。高速シリアル通信装置１１８によって受信されたデータサイズとチェックサムは、高速シリアル通信装置１１８からＤＳＰカード１０２の第１のＤＳＰに伝達される。次にＳ６０８で、ＰＣ１２２は、データサイズとチェックサムの送信を完了したか否かを判断し、未だ送信を完了していないと判断したときにはＳ６０６に戻り、データサイズとチェックサムの送信を継続する。Ｓ６０８で、データサイズとチェックサムの送信を完了したと判断すると、処理はＳ６１０に進む。
【００３９】
Ｓ６１０において、ＰＣ１２２は、起動データファイルを、ＰＣ１２２に実装された高速シリアル通信装置１２４、シリアル伝送路１２０を介して、ＤＳＰカード１０２に実装された高速シリアル通信装置１１８に送信する。前述したように、第１のＤＳＰは、高速シリアル通信装置１１８によって受信された起動データファイルを、ＤＳＰカード１０２に実装された外部記憶装置１１４に保存する。
【００４０】
以上述べた実施形態によれば、ＣＰＵを備えていないＤＳＰカードに実装されたＤＳＰを起動するシステム、装置および方法が提供される。また、プログラム提供装置からＤＳＰカードへのデータ伝送に高速シリアル通信を用いることによって、極めて短時間で協調的にＤＳＰをブートすることができる。
【００４１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４２】
１０２、１０２−１〜１０２−Ｍ・・・ＤＳＰカード、
１０４、１０４−１〜１０４−Ｎ・・・ＤＳＰ、
１０６・・・プロセッサバス、  １０８・・・フラッシュＲＯＭ、
１１０・・・バスプロトコル変換機能部、  １１２・・・メモリバス、
１１４・・・外部記憶装置、  １１６・・・拡張バス、
１１８・・・高速シリアル通信装置、  １２０・・・シリアル伝送路、
１２２・・・プログラム提供装置、ＰＣ、  １２４・・・高速シリアル通信装置、
１２６・・・ＣＰＵ、  ３０２・・・回線データ複製装置
【図１】
2012108853.tif 000003
【図２】
2012108853.tif 000004
【図３】
2012108853.tif 000005
【図４】
2012108853.tif 000006
【図５】
2012108853.tif 000007