(57)【要約】【課題】アプリケーションプログラムの実行を行う処理部においては、タスク管理といった、アプリケーションプログラム以外の処理を実行する必要がなく、また、設計後の各種処理内容の変更にも柔軟に対応可能な演算装置を提供する。【解決手段】演算装置は、制御手段用のプログラムを読み込んで実行することで、状態通知手段が保持する各処理手段の状態に基づき、アプリケーションプログラムを構成するタスクの各処理手段への割当てを行う制御手段と、制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する複数の処理手段と、処理手段が出力する状態を保持する状態通知手段とを備えている。【選択図】図１
2007122337.tif 000002
【特許請求の範囲】
【請求項１】
制御手段用のプログラムを読み込んで実行することで、状態通知手段が保持する各処理手段の状態に基づき、アプリケーションプログラムを構成するタスクの各処理手段への割当てを行う制御手段と、
制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する、複数の処理手段と、
処理手段が出力する状態を保持する状態通知手段と、
を有することを特徴とする演算装置。
【請求項２】
制御手段のみが使用する第１の記憶手段と、
制御手段及び処理手段が使用する第２の記憶手段と、
を有することを特徴とする請求項１に記載の演算装置。
【請求項３】
制御手段は、処理手段からの要求に基づき第２の記憶手段の領域及び／又は入出力のためのハードウェア資源を、要求した処理手段に割当て、
処理手段は、制御手段から割り当てられた第２の記憶手段の領域及び／又は入出力のためのハードウェア資源のみにアクセスすること、
を特徴とする請求項２に記載の演算装置。
【請求項４】
制御手段と、第１の記憶手段とは第１のバスに接続し、
複数の処理手段と、第２の記憶手段とは第２のバスに接続し、
第１のバスと第２のバスを接続し、処理手段から第１の記憶手段へのアクセスを防ぐバス変換手段を有すること、
を特徴とする請求項１から３のいずれか１項に記載の演算装置。
【請求項５】
制御手段と、第１の記憶手段とは第１のバスに接続し、
複数の処理手段は第２のバスに接続し、
第２の記憶手段は、第１のバスと第２のバスに接続していること、
を特徴とする請求項１から３のいずれか１項に記載の演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの実行を行う処理部を複数備えた演算装置に関する。
【背景技術】
【０００２】
データの、目的に応じた処理を高速に実行するために、各種方式が提案され実現されている。例えば、非特許文献１には複数のプロセッサを搭載するマルチプロセッサシステムついて記載がされている。図８は、非特許文献１に記載のマルチプロセッサシステムの構成図であり、複数のプロセッサとメモリがバスを介して接続している。非特許文献１によると、複数のプロセッサが１つのオペレーティングシステムとメモリの共有を行い、オペレーティングシステムが、処理目的に応じたプログラム（以下、アプリケーションプログラムと呼ぶ。）をタスク（非特許文献１ではスレッド又はプロセス）に分解して、各プロセッサへの割当てを行っている。
【０００３】
即ち、各プロセッサは、オペレーティングシステムと、アプリケーションプログラムの各タスクの両方を実行することとなり、プロセッサの実行時間の総てをアプリケーションプログラムの実行に割り当てることはできず、また、メモリを共有するために、アプリケーションプログラムの実行によりオペレーティングシステムの動作に影響を与える可能性もある。
【０００４】
このため、特許文献１には各プロセッサでのタスク管理やスケジューリングといったオーバーヘッドを少なくする構成が記載されている。図９は特許文献１に記載のマルチプロセッサシステムの構成図であり、図８の構成に加え、状態管理部が複数のプロセッサと接続している。特許文献１によると、状態管理部が各プロセッサの空き状態の管理をして各プロセッサに通知し、新たなタスクが発生したプロセッサは、そのタスクを他の空き状態のプロセッサに実行させることで、新たなタスクを直ちに開始させている。特許文献１によると状態管理部は組合せ回路により実現している。
【０００５】
【特許文献１】特開２００４−８６９２１号公報
【非特許文献１】“Ｉｎｔｅｒｆａｃｅ増刊  マイクロプロセッサ・アーキテクチャ入門”、ＣＱ出版社、２００４年８月号、ｐ．２３１‐ｐ．２３３
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、複数のプロセッサへのタスクの割当て処理等をオペレーティングシステムに行わせる構成では、アプリケーションプログラムの実行時間が減少し、また、アプリケーションプログラムの動作がオペレーティングシステムの動作に影響を与え得るという問題がある。例えば、オペレーティングシステムが破壊された場合にはシステムが完全に停止してしまうことになる。
【０００７】
一方、特許文献１に記載の構成では、状態管理部がハードウェアブロックであり、複数プロセッサの管理機能の総てを実現できるわけではなく、ハードウェアブロックで実現できない部分についてはプロセッサで実行する必要があり、アプリケーションプログラムの実行時間の減少につながる。例えば、特許文献１において、空き状態のプロセッサに新たなタスクを実行させるのは新たなタスクが発生したプロセサ自身である。また、ハードウェアブロック設計後の、状態管理部の処理内容の変更には対応困難である。
【０００８】
従って、本発明は、上述した問題を解決し、アプリケーションプログラムの実行を行う処理部においては、タスク管理といった、アプリケーションプログラム以外の処理を実行する必要がなく、また、設計後の各種処理内容の変更にも柔軟に対応可能な演算装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明における演算装置によれば、
制御手段用のプログラムを読み込んで実行することで、状態通知手段が保持する各処理手段の状態に基づき、アプリケーションプログラムを構成するタスクの各処理手段への割当てを行う制御手段と、制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する、複数の処理手段と、処理手段が出力する状態を保持する状態通知手段とを有することを特徴とする。
【００１０】
本発明の演算装置における他の実施形態によれば、
制御手段のみが使用する第１の記憶手段と、制御手段及び処理手段が使用する第２の記憶手段とを有することも好ましい。
【００１１】
また、本発明の演算装置における他の実施形態によれば、
制御手段は、処理手段からの要求に基づき第２の記憶手段の領域及び／又は入出力のためのハードウェア資源を、要求した処理手段に割当て、処理手段は、制御手段から割り当てられた第２の記憶手段の領域及び／又は入出力のためのハードウェア資源のみにアクセスすることも好ましい。
【００１２】
更に、本発明の演算装置における他の実施形態によれば、
制御手段と、第１の記憶手段とは第１のバスに接続し、複数の処理手段と、第２の記憶手段とは第２のバスに接続し、第１のバスと第２のバスを接続し、処理手段から第１の記憶手段へのアクセスを防ぐバス変換手段を有することも好ましい。
【００１３】
更に、本発明の演算装置における他の実施形態によれば、
制御手段と、第１の記憶手段とは第１のバスに接続し、複数の処理手段は第２のバスに接続し、第２の記憶手段は、第１のバスと第２のバスに接続していることも好ましい。
【発明の効果】
【００１４】
制御手段の動作をプログラムにより実現することで、制御手段の動作を容易に変更することができ、処理内容の変更等に容易に対応可能となる。また、プログラムによりハードウェアブロックでは難しい複雑な制御動作であっても実現することができる。更に、処理手段ではタスク管理といったアプリケーションプログラムの実行以外の処理を行う必要がなくなり、実行速度が向上する。
【００１５】
また、制御手段が、処理手段による記憶手段や入出力ためのハードウェア資源へのアクセスを管理することで、複数の処理手段が同一資源にアクセスすることによる不具合を防ぐことができる。更に、制御手段が使用する第１の記憶手段を、処理手段等がアクセスできる第２の記憶手段と分離することで、処理手段の動作により制御手段の動作に影響を与えることを防止することができる。
【発明を実施するための最良の形態】
【００１６】
本発明を実施するための最良の実施形態について、以下では図面を用いて詳細に説明する。
【００１７】
図１は、本発明による演算装置の第１実施形態のブロック図である。図１によると、演算装置は、制御部１と、不揮発性メモリ２と、メモリ３と、複数の処理部４と、共有メモリ５と、状態通知部６とを備えている。制御部１と、不揮発性メモリ２と、メモリ３と、各処理部４と、共有メモリ５とはバス８により相互に接続している。また、各処理部４と状態通知部６は、ライン７１により接続し、状態通知部６と制御部１はライン７２により接続している。
【００１８】
制御部１は、例えば、ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）コアを有し、不揮発性メモリ２に格納されている制御部用プログラムを実行するプロセッサであり、アプリケーションプログラムのタスクの管理を行い、状態通知部６が保持する各処理部４の状態に基づき各タスクを実行させる処理部４を決定し、決定した処理部４に対して、バス８経由で、タスクを実行させるためのアプリケーションプログラムのロード制御を行う。また、共有メモリの管理及び、図示しない外部との入出力のためのハードウェア資源の管理も行う。
【００１９】
処理部４は、アプリケーションプログラムを実行するプロセッサである。ここで、アプリケーションプログラムとは、上述したように、画像データ処理、通信データ処理等の所望の目的を実行するためのプログラムであり、制御部１で実行され、処理部４でアプリケーションプログラムを実行させるための各種制御処理を実現するプログラムである制御部用プログラムと明確に区別される。処理部４に用いられるプロセッサの種別は、ＲＩＳＣコアや、複数のプロセッサエレメントを行列状に配置して、実行するプログラムに応じてプロセッサエレメントでの処理内容及びプロセッサエレメント間の接続構成を変更するアレイ型等、その種別は任意である。処理部４は、例えば、空き状態、処理状態、中断状態といった処理部４での、タスクの実行状態をライン７１により状態通知部６に通知する。尚、各状態には詳細識別子が必要に応じて付与され、処理部４は、詳細識別子を状態と共に状態通知部６に通知する。詳細識別子については後述する。
【００２０】
不揮発性メモリ２は、制御部用プログラムを格納している不揮発性のメモリであり、処理部４はアクセスしない。不揮発性のメモリとしては、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等があり、フラッシュメモリ等の書換え可能なメモリを使用すれば、制御用プログラムの変更を簡易に行える。
【００２１】
メモリ３は、制御部１が制御部用プログラムを実行するときの、各種データ等を保存する領域として使用する読み書き可能なメモリであり、処理部４はアクセスしない。
【００２２】
共有メモリ５は、処理部４が実行するアプリケーションプログラムを格納すると共に、アプリケーションプログラムを実行するときの、各種データ等を保存する領域としても使用する読み書き可能なメモリであり、制御部１も使用可能である。
【００２３】
状態通知部６は、処理部４がライン７１に出力する処理部４の状態を、詳細識別子と共に保持する。制御部１は、ライン７２により状態通知部６にアクセス可能であり、状態通知部６にアクセスすることで処理部４の状態及び詳細識別子を認識する。また、状態通知部６が処理部４の状態変更時に制御部１に割り込みをかけて通知する構成とすることも可能である。また、状態通知部６もバス８に接続し、制御部１と状態通知部６の信号の送受信をバス８により行う構成とすることも、ライン７２で処理部４に割り込み通知のみ行い、制御部１が割り込み発生時にバス８を通して状態通知部６に処理部４の状態確認を行う構成とすることも可能である。
【００２４】
図４は、処理部４が実行するアプリケーションプログラムとタスクの関係を示す図である。アプリケーションプログラムの処理の一部をタスクと呼び、アプリケーションプログラムは複数のタスクにより構成される。図４では、タスクＡがまず実行され、タスクＡの終了結果により、タスクＢ又はタスクＣが選択的に実行される。タスクＢ又はＣの終了後にタスクＤが実行され、タスクＤの終了後にタスクＥ、Ｆ及びＧが実行される。タスクＥ、Ｆ及びＧは同時に実行することも、１つずつ実行することも可能である。いずれの方法にしろ、タスクＨは、タスクＥ、Ｆ、Ｇの総てが終了した後にその実行が開始される。
【００２５】
上述したように、アプリケーションプログラムを構成するタスクは、１つのみが実行されている場合も、複数が同時に実行される場合もあり、また、各タスクの処理量もそれぞれ異なる。
【００２６】
タスクをどのように設定するかは、コンパイラ又は制御手段による設計事項であるが、１つ以上の基本ブロックを１つのタスクとすることができる。基本ブロックは、制御フローグラフの単位であり、その最初に実行する命令及び最後に実行する命令はただ１つであり、最後に実行する命令を経由することなく他の基本ブロックに分岐したり、停止したりすることがなく、最初に実行する命令から最後に実行する命令まで１直線に実行することができ、コンパイラが通常その処理の中で認識するものである。
【００２７】
制御部１は、アプリケーションプログラムを構成するタスクを認識して、認識したタスクをタスクキュー追加する。制御部１におけるタスクのタスクキューへの追加方法としては、例えば、アプリケーションプログラムにタスクテーブルを設けておき、制御部１がアプリケーションプログラムに含まれるタスクテーブルを読み込み、アプリケーションプログラムを構成する全タスクを事前にタスクキューに追加する方法がある。この場合は、全タスクの認識が事前に可能であるため、後述するタスクのスケジューリングを効果的に行うことができる。また、アプリケーションプログラムのエントリタスク、即ち、最初に実行すべきタスクを読み込んで、エントリタスクの次に実行する可能性のあるタスクを認識してタスクキューに追加し、タスクの終了により次に実行するタスクが確定した段階で、確定したタスクの次に実行する可能性のあるタスクをタスクキューに追加すると共に、実行する必要がなくなったタスクをタスクキューから削除することを繰り返す方法もある。この場合には、アプリケーションプログラムは、各タスクの共有メモリでの位置を示す情報を含むといった様に、各タスクを認識できる構造を有している。
【００２８】
制御部１は、上記タスクキューへのタスクの追加と並行して、アプリケーションプログラムを複数ある処理部４で実行させるため、タスク管理並びに共有メモリ及び外部との入出力管理を行う。尚、タスク管理は、タスク割当及びタスク切替に分類される。これら各制御は、制御部用プログラムにより実現される。
【００２９】
タスク割当は、タスクキュー内のタスクの処理量を把握して、タスクを実行する処理部４を決定し、決定した処理部４に対してタスクを実行させる制御処理を意味する。このとき、１つのタスクを１つの処理部４に割り当てること以外に、タスクの処理量が大きい場合には、１つのタスクを分割して複数の処理部４に割り当てることも可能である。例えば、タスクが複数の基本ブロックで構成されている場合であって、タスク内に基本ブロックを示す情報を含めておくことで制御部１は、タスクを容易に分割して複数の処理部４に実行させることができる。制御部１は、決定した処理部４に対して、割り当てたタスクを実行させるために、バス８により決定した処理部４に対して処理すべきタスクを通知する。
【００３０】
続いて、図４のアプリケーションプログラムを例にして、制御部１でのタスク管理処理を説明する。制御部１は、まず、タスクＡを任意の処理部４に割当て実行させる。制御部１は、処理部４に実行すべきタスクＡを書き込むことにより実行させることも、処理部４に対してアプリケーションプログラムのタスクＡに相当する部分が格納されている共有メモリ５のアドレスを通知し、処理部４に共有メモリ５から必要なアプリケーションプログラムを取得させることにより行うことも可能である。
【００３１】
タスクＡを実行している処理部４は、タスクＡの実行を終了した場合、その状態を処理状態から空き状態に変更すると共に、詳細識別子＃１又は＃２を、処理結果に応じて出力する。制御部１は、状態通知部６を通してタスクＡを実行している処理部４での処理終了を認識し、また、詳細識別子の値により次に実行するタスクがタスクＢであるかタスクＣであるかを認識し、実行すべきタスクを、空き状態である処理部４に割り当てて実行させる。尚、タスクＡの次のタスクであるタスクＢ又はＣは、上述したいずれの方法でも既にタスクキューに追加されているため、タスクＡを実行しているときに、空き状態である処理部４が存在するときは、予めタスクＢ及びＣを空き状態である処理部４に割当て、また割り当てた処理部４に予めアプリケーションプログラムの該当部分をロードさせておくことも可能である。予めロードさせた場合には、制御部１は、タスクＡの実行の終了に伴い、次に実行するタスクをロードしている処理部４に対して実行開始のトリガを与える。
【００３２】
また、タスクＤを実行している処理部４の状態が、処理状態から空き状態に変更となった場合であって、そのときに空き状態である処理部４が３つ以上ある場合は、３つの処理部４それぞれにタスクＥ、Ｆ、Ｇを割当て実行させる。２つ以下である場合には、一部のタスクのみ、例えば、タスクＥのみを割り当てて実行させ、処理中である処理部４が空き状態に変化するたびに残りのタスクを実行させる。最後に、タスクＥ、Ｆ、Ｇ総ての実行が終了したときに、タスクＨを実行させる。
【００３３】
図５は、制御部１におけるタスク管理の処理フロー図である。制御部１は、タスクキューに存在するタスクについて必要なリソースを把握し（Ｓ５１）、状態通知部６が保持する各処理部４の状態を読み取り（Ｓ５２）、スケジューリングルールに従いタスクキューに存在するタスクのうち、処理部４への割当てが可能なタスクと割当先の処理部４、即ち、タスク実行のスケジュールを決定する（Ｓ５３）。続いて、実行先の処理部４が決定されたタスクについて、その実行先の処理部４での実行が可能な状態となった場合には、その処理部１に割り当てたタスクを実行させる（Ｓ５４）。
【００３４】
制御部１の、処理部４に対するタスクの実行制御は、上述したように、制御部１が、処理部４に実行すべきアプリケーションプログラムのそのタスク部分を書き込むことにより行うことも、処理部４に対して、必要なアプリケーションプログラムが格納されている共有メモリ５のアドレスを通知し、処理部４が共有メモリ５から必要なアプリケーションプログラムを取得することにより行うことも可能である。また、制御部１は、タスクを分割して複数の処理部４に実行させることも可能である。
【００３５】
図６は、制御部１によるタスク切替の処理フロー図である。尚、簡単のため処理部４が出力する各種状態を保持する状態通知部６は図６から省略している。制御部１は、高優先タスクを実行する必要が生じた場合であって、空き状態の処理部４がない場合、優先度の低いタスクを実行している処理部４に中断要求を行う（Ｓ６１）。中断要求を受けた処理部４は、実行中のタスクを後に再開するために必要な情報であるコンテクストを共有メモリ５に保存し、処理を中断してライン７１により状態通知部６へ中断状態を出力する（Ｓ６２）。
【００３６】
制御部１は、状態通知部６経由で処理の中断を確認後、中断要求を行った処理部４に、発生した高優先度のタスクの実行を指示する。実行指示された処理部４は、高優先度タスクの処理を開始し、実行終了したときにライン７１により状態通知部６へ空き状態を出力する（Ｓ６３）。制御部１は、状態通知部６経由で処理の終了を確認後、処理部４にタスク再開指示を行い、タスク再開指示を受けた処理部４は、共有メモリ５からコンテクストを読出し、中断したタスクを再開する（Ｓ６４）。
【００３７】
尚、制御部１が行う中断要求に、コンテクストの保存位置を指定する情報を含め、或いは、低優先タスクの処理を中断した処理部４が保存したコンテクストの位置を状態通知部６経由で制御部１に通知し、制御部１が再開指示において保存されているコンテクストの位置を処理部４に通知することで、タスクを中断した処理部４と、中断したタスクを再開する処理部４とを異なるものにすることができる。
【００３８】
制御部１が各タスクの優先度をどのように判断するかには種々の方法があるが、アプリケーションプログラムを読み込んで先に見つかったタスクを、より高い優先度とする方法がある。例えば、図４に示すアプリケーションプログラムにおいて、タスクＥ、Ｆ、Ｇの順に読み込んだ場合には、タスクＥ、Ｆ、Ｇの順で優先度の割当を行なう。この場合は、コンパイラがアプリケーションプログラムをコンパイルする際に、演算データ数やループ回数等を認識してコンパイルの段階で優先度の順序付けを行なうことが可能となる。
【００３９】
また、タスクの処理量が大きい程、優先度を高くする方法もある。例えば、図４に示すアプリケーションプログラムにおいて、タスクＦがタスクＥ、Ｇの２倍の処理量であり、処理部４が２つある場合に、まず、タスクＦとタスクＥを処理部４に割当て実行させ、次にタスクＦとタスクＧを処理部４に割当て実行させるのではなく、まずタスクＦを分割して２つの処理部４に実行させて、その後タスクＥ及びＧを実行させる。
【００４０】
また、本発明による演算装置では、複数の処理部４を使用することで、複数のアプリケーションプログラムを同時に実行することができるが、アプリケーションプログラム単位で優先度を判断することも当然可能である。
【００４１】
図７は、制御部１における共有メモリ管理の処理フロー図である。尚、入出力管理についてもメモリを入出力のためのハードウェア資源と読み替えるだけで同じものである。メモリ及び入出力管理は、共有メモリ５や、図示しない外部装置との入出力のための、図示しないハードウェア資源へのアクセスを管理して、個々の処理部４が独立して共有メモリ５等にアクセスすることによる弊害、例えば、ある処理部４が他の処理部４が書き込んだデータと同じ位置に他のデータを書き込むことによるデータの消失を防ぐために必要となる。
【００４２】
制御部１は、共有メモリ５の各処理部４への割当領域を管理しており、処理部４から、状態通知部６経由でメモリ要求があった場合には、共有メモリ５の割当状況を確認（Ｓ７１）し、未割当の領域から要求された領域を、メモリ要求を行った処理部４に割り当てる（Ｓ７２）。共有メモリ５の領域の割当及び／又は入出力のためのハードウェア資源の割当を受けた処理部４は、その領域又はハードウェア資源のみにアクセスし、その他の領域やハードウェア資源にはアクセスしない。処理部４は、割り当てられたメモリ領域等の使用を終了した場合にはメモリ開放要求を、状態通知部６経由で制御部１に通知する。
【００４３】
図２は、本発明による演算装置の第２実施形態のブロック図である。以後の説明においては、第１実施形態で説明したのと同じ構成要素には同じ符号を付与して説明は省略する。図２によると、処理部４及び共有メモリ５はバス８１に、制御部１、不揮発性メモリ２及びメモリ３はバス８２に接続し、バス８１とバス８２はバス接続部９により接続されている。
【００４４】
バス接続部９は、処理部４がメモリ３及び不揮発性メモリ２にアクセスすることを制限する機能を有し、処理部４が制御用プログラムを破壊したり、制御部１がメモリ３に保存している制御用データに上書きしたりすることを防ぐ。また、バス８１とバス８２の変換機能を設けることで、それぞれ異なるバスプロトコルの使用が可能になる。
【００４５】
図３は、本発明による演算装置の第３実施形態のブロック図である。図３によると、処理部４はバス８１に、制御部１、不揮発性メモリ２及びメモリ３はバス８２に接続し、共有メモリ５はバス８１及びバス８２に接続している。また、制御部１は、ライン７３により各処理部４と接続している。
【００４６】
本実施形態において、制御部１は、処理部４に対する各種制御を、ライン７３を用いて処理部４に通知する。また、共有メモリ５を、例えば２ポートメモリとし、バス８１及びバス８２の両方からアクセス可能とすることで、処理部４が接続するバスを、不揮発性メモリ２及びメモリ３等が接続するバスから完全に分離し、不揮発性メモリ２及びメモリ３に対する、処理部４からのアクセスを完全に防止する。
【図面の簡単な説明】
【００４７】
【図１】本発明による演算装置の第１実施形態のブロック図である。
【図２】本発明による演算装置の第２実施形態のブロック図である。
【図３】本発明による演算装置の第３実施形態のブロック図である。
【図４】処理部が実行するアプリケーションプログラムとタスクの関係を示す図である。
【図５】制御部におけるタスク管理の処理フロー図である。
【図６】制御部によるタスク切替の処理フロー図である。
【図７】制御部におけるメモリ管理の処理フロー図である。
【図８】従来技術によるマルチプロセッサシステムの構成図である。
【図９】従来技術によるマルチプロセッサシステムの他の構成図である。
【符号の説明】
【００４８】
１  制御部
２  不揮発性メモリ
３  メモリ
４  処理部
５  共有メモリ
６  状態通知部
７１、７２、７３  ライン
８、８１、８２  バス
９  バス接続部
【図１】
2007122337.tif 000003
【図２】
2007122337.tif 000004
【図３】
2007122337.tif 000005
【図４】
2007122337.tif 000006
【図５】
2007122337.tif 000007
【図６】
2007122337.tif 000008
【図７】
2007122337.tif 000009
【図８】
2007122337.tif 000010
【図９】
2007122337.tif 000011
【手続補正書】
【提出日】平成19年1月10日(2007.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御手段用のプログラムを読み込んで実行することで、状態通知手段が保持する各処理手段の状態に基づき、アプリケーションプログラムを構成するタスクの各処理手段への割当てを行う制御手段と、
制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する、複数の処理手段と、
処理手段が出力する状態を保持する状態通知手段と、
第１の記憶手段と、
第２の記憶手段と、
バス変換手段と、
を備えており、
制御手段と、第１の記憶手段とは第１のバスに接続し、
複数の処理手段と、第２の記憶手段とは第２のバスに接続し、
バス変換手段は、第１のバスと第２のバスを接続し、処理手段から第１の記憶手段へのアクセスを防ぐこと、
を特徴とする演算装置。
【請求項２】
制御手段は、処理手段からの要求に基づき第２の記憶手段の領域及び／又は入出力のためのハードウェア資源を、要求した処理手段に割当て、
処理手段は、制御手段から割り当てられた第２の記憶手段の領域及び／又は入出力のためのハードウェア資源のみにアクセスすること、
を特徴とする請求項１に記載の演算装置。
【請求項３】
第１のバスと第２のバスのバスプロトコルが異なることを特徴とする請求項１又は２に記載の演算装置。
【請求項４】
バス変換手段は、第１のバスと第２のバスのバスプロトコルの変換を行うこと、
を特徴とする請求項３に記載の演算装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明における演算装置によれば、
制御手段用のプログラムを読み込んで実行することで、状態通知手段が保持する各処理手段の状態に基づき、アプリケーションプログラムを構成するタスクの各処理手段への割当てを行う制御手段と、制御手段に割り当てられたタスクを実行し、タスクの実行に関する状態を出力する、複数の処理手段と、処理手段が出力する状態を保持する状態通知手段と、第１の記憶手段と、第２の記憶手段と、バス変換手段とを備えており、制御手段と、第１の記憶手段とは第１のバスに接続し、複数の処理手段と、第２の記憶手段とは第２のバスに接続し、バス変換手段は、第１のバスと第２のバスを接続し、処理手段から第１の記憶手段へのアクセスを防ぐことを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の演算装置における他の実施形態によれば、
第１のバスと第２のバスのバスプロトコルが異なることも好ましい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
更に、本発明の演算装置における他の実施形態によれば、
バス変換手段は、第１のバスと第２のバスのバスプロトコルの変換を行うことも好ましい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】