(57)【要約】【課題】複数のアプリケーションが混在したコンフィグレーションデータを効率的に管理することができない。【解決手段】ホストCPU５からアプリケーションを選択するIDを有するディスクリプタを通知し、そのディスクリプタの管理テーブルを記憶手段１０に作成する。動的再構成ユニット１４にIDを管理するコントローラ１８を搭載したコンフィグレーションデータをロードすることにより、管理テーブルのIDを処理する機能を有し、コンフィグレーションデータに搭載された複数のアプリケーションをコントローラ１８にIDを管理させることにより、アプリケーションを時分割に実行する。これにより、各アプリケーションの一時中間データの退避および再ロードのオーバーヘッド時間を削減し性能を向上させる。【選択図】図１
2012103875.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のアプリケーション・プログラムと該アプリケーション・プログラムの組み合わせに応じて構成されるディスクリプタ・コマンドコントローラとから成るコンフィグレーションデータを動的再構成ユニットにロードし、
前記アプリケーション・プログラムをＯＳが識別するための識別子であって前記アプリケーション・プログラムと紐付けされたディスクリプタが連ねられたディスクリプタ・チェインをメモリに転送し、
前記ディスクリプタ・コマンドコントローラは、前記ディスクリプタ・チェインから前記ディスクリプタを順次に取り込んで当該アプリケーション・プログラムを実行することを特徴とする時分割アプリケーション制御装置。
【請求項２】
１つ以上のアプリケーション・プログラムと該アプリケーション・プログラムの組み合わせに応じて構成されるディスクリプタ・コマンドコントローラとから成るコンフィグレーションデータが上位装置であるホストCPU側からロードされる動的再構成ユニットと、
前記ホストCPUが起動させる可能性のある全ての前記コンフィグレーションデータが前記ホストCPU側から予め転送され記憶するコンフィグレーション・メモリと、
前記ホストCPUにおいてセッションが確立すると、当該セッション対応の前記コンフィグレーションデータを前記コンフィグレーション・メモリから前記動的再構成ユニットにロードするコンフィグレーション・メモリコントローラと、
前記ホストCPUにおいてセッションが確立すると、前記アプリケーション・プログラムをＯＳが識別するための識別子であって前記アプリケーション・プログラムと紐付けされたディスクリプタが連ねられた当該セッション対応のディスクリプタ・チェインが前記ホストCPU側から転送され記憶するディスクリプタ・キャッシュメモリと、
前記ディスクリプタ・キャッシュメモリに記憶されたディスクリプタ・チェインを構成する各ディスクリプタを記憶して前記動的再構成ユニットへ順次に通知するディスクリプタ・キャッシュコントローラと、
ネットワーク媒体と接続されてデータの送信/受信をスケジューリング管理する送信/受信スケジューラユニットとを有し、
前記動的再構成ユニットにおいて前記ディスクリプタ・コマンドコントローラは前記通知されるディスクリプタを取り込んで当該アプリケーション・プログラムを選択・実行し、該アプリケーション・プログラムは実施するデータ処理に対しての命令を送信/受信スケジューラユニットへ通知することによりパケットの送受信を制御することを特徴とする通信制御装置。
【請求項３】
前記ディスクリプタ・キャッシュメモリにおける前記ディスクリプタ・チェインの各ディスクリプタは、一連番号が付されたディスクリプタ識別子と、該ディスクリプタ識別子に対応するアプリケーション識別子番号と、該ディスクリプタの有効／無効の別を示すValidビットで構成されることを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記ディスクリプタ・キャッシュコントローラは、前記通知された各ディスクリプタをFIFO(First In First Out)に記憶することを特徴とする請求項２または請求項３に記載の通信制御装置。
【請求項５】
前記ディスクリプタ・コマンドコントローラは、前記選択したアプリケーション・プログラムに当該ディスクリプタ識別子を通知し、当該アプリケーション・プログラムは新たなコンフィグレーションデータに書き換えられるまで動作中の中間データを常にレジスタや内部メモリ等で記憶し、動的再構成ユニットにて処理が完了した場合は、ディスクリプタ・コマンドコントローラからディスクリプタ識別子がディスクリプタ・キャッシュメモリ返され、前記Validビットが無効に変更されることを特徴とする請求項３または請求項４に記載の通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時分割アプリケーション制御装置、特に、１つ以上のアプリケーションが混在したコンフィグレーションデータを管理する動的再構成ユニットを備えて、パケットの送受信を制御する通信制御装置等に好適な時分割アプリケーション制御装置に関する。
【背景技術】
【０００２】
情報処理システムにおけるソフトウェア処理は年々高機能化や性能改善が求められており、複雑化と高度化の様相を強めているが、更に、既存システムのアップデートなどによりソフトウェア処理の負荷は増加する傾向がある。また、ハードウェア処理で新たな機能を追加するためにFPGAやLSIのチップを追加し、基盤装置自体のレイアウトを変更せざる得ない状況になることがある。
【０００３】
これらの問題に関連して、情報処理システムの性能向上及び追加機能の実現手段として構成情報（コンフィグレーションデータ）をロードすることにより、ハードウェアの構成を変更する動的再構成ユニットが注目されている。
【０００４】
しかし、負荷の重い機能を動的再構成ユニットで実現する場合に、複雑な処理に対応するために、動的再構成ユニットの制御も複雑な処理に対応しなければならない問題がある。例えば、情報処理システムの複数処理において、動的再構成ユニットを使用する場合に、コンフィグレーションデータを各処理に応じてロードすると、動的再構成ユニットへのコンフィグレーションデータの書換え及び中間情報の退避や再読込みの頻度が増すため、オーバーヘッド時間が増加する傾向があり、これが情報処理システム全体の性能向上の妨げになることがある。
【０００５】
こうした問題に関連して、各セッションのディスクリプタをホスト装置から通信制御装置の記憶手段にチェイン展開することにより、通信制御装置のネットワーク・プロセッサ・ユニットに実装するファームウェアから容易に、かつ高速にリード処理を実行することができ、ネットワーク・プロセッサ・ユニットによるディスクリプタ制御の膨大なネットワーク処理に伴うオーバーヘッドを低減した通信制御装置が知られている。ここに、ディスクリプタとは、ＣＰＵにより記述されたホスト装置側の送受信バッファアドレスや、バッファサイズ等であって、ネットワーク・プロセッサ・ユニットがパケットの送受信を行なう際に必要とされる。
【０００６】
また、動的再構成プロセッサの利用においてマルチタスクを容易に実現するために、複数のスレッドを時分割で実行する動的再構成プロセッサが、対応するスレッドが実行可能な状態か否かを示すフラグレジスタをスレッド毎に複数有するスレッド管理テーブルと、スレッド管理テーブルの情報に基づいてスレッドの切り替えを制御するシーケンサとを有し、シーケンサはフラグレジスタの内容を参照してスレッドの切り替えを行うことにより、マルチタスク処理を行う場合のオーバーヘッドを削減した半導体装置も公知である。
【０００７】
ところで、半導体集積回路の技術的進歩により、より大規模な動的再構成ユニットの作成が検討され、より多くのアプリケーション・プログラム（以下、「アプリケーション」と記す）を効率よく動的再構成ユニット上で実現することが求められてきている。例えば、JPEG（Joint Photographic coding Experts Group）などの画像データに対して複数の異なるフィルタ処理のいずれかを実行する場合に、フィルタの種類に応じてコンフィグレーションデータを入れ替える必要があり、そのための時間はオーバーヘッドとして処理時間短縮の妨げとなる。
【０００８】
しかしながら、上記の先行技術では、複数のアプリケーションが混在したコンフィグレーションデータを管理することはできないため、コンフィグレーションデータの再ロードによる書き替え及び、処理の途中でコンフィグレーションデータを切り替える場合の一時中間データのメモリ等への退避が必要となり、それらの処理に必要なオーバーヘッド時間を削減することは困難である。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１８４０５１公報
【特許文献２】特開２００７−１３３４５６公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
解決しようとする問題点は、複数のアプリケーションが混在したコンフィグレーションデータを効率的に管理することができない点である。
【課題を解決するための手段】
【００１１】
本発明は、複数のアプリケーションが混在したコンフィグレーションデータを記憶し、動的再構成ユニットで実施するアプリケーションをディスクリプタで選択することを最も主要な特徴とする。
【発明の効果】
【００１２】
本発明の時分割アプリケーション制御装置は、ディスクリプタでアプリケーション識別子を指定できる機能と、動的再構成ユニットでそのアプリケーション識別子を解析するコントローラの機能を有することよって、コンフィグレーションデータに搭載された複数のアプリケーションを管理することができるため、コンフィグレーションデータの再ロード回数および中間データ退避時間を削減しオーバーヘッド時間を削減することができるという利点がある。
【００１３】
また、動的再構成ユニットにコントローラを有するため、例えば通信制御装置であれば各セッションのアプリケーションの組み合わせに応じたコントローラを作成することができるので、自由度の高いアプリケーションの組み合わせを実現することができるという利点がある。
【図面の簡単な説明】
【００１４】
【図１】本発明の時分割アプリケーション制御装置に係る一実施例を示すブロック図である。
【図２】コンフィグメモリ１６に登録されたコンフィグデータの内容を例示する図である。
【図３】ホストメモリ４に展開されディスクリプタ・キャッシュメモリ１０に転送されるディスクリプタ・チェインを例示する図である。
【図４】ディスクリプタ・キャッシュメモリ１０を構成するディスクリプタ・キャッシュテーブル１００の内容を例示する図である。
【図５】ディスクリプタ・キャッシュメモリ１０とディスクリプタ・キャッシュコントローラ１１の関係を示す図である。
【図６】ディスクリプタFIFO１０１、ディスクリプタ・コマンドコントローラ１８およびアプリケーション群１９の関係を示す図である。
【図７】図１に示した時分割アプリケーション制御装置の動作を示すフローチャートである。
【図８】本発明の時分割アプリケーション制御装置に係る他の実施例を示すブロック図である
【図９】図８に示した時分割アプリケーション制御装置対応のディスクリプタ・キャッシュメモリの構成を示す図である。
【発明を実施するための形態】
【００１５】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【実施例】
【００１６】
図１は、本発明の時分割アプリケーション制御装置に係る一実施例（通信制御装置）を示すブロック図である。この通信制御装置において、時分割アプリケーション制御装置１は、I/Oバス２およびホストメモリ４を経由して上位装置であるホストCPU５に接続され、ホストCPU５から通知されるディスクリプタにより、複数のアプリケーションが混在したコンフィグレーション（以下、「コンフィグ」と記す）データを管理しながら、アプリケーションを実行し、ネットワーク媒体３を介してパケットの送受信を制御する。
【００１７】
ホストCPU５は、先ず、起動させる可能性のあるディスクリプタ・コマンドコントローラ１８を含むコンフィグデータを全てホストメモリ１４に展開し、I/Oバス２、I/Oバスコントローラ１３およびDMA（ Direct  Memory Access）コントローラ１２を介してコンフィグメモリ１６へ転送する。コンフィグデータは、ディスクリプタ・コマンドコントローラ１８と１つ以上のアプリケーションから成るアプリケーション群１９を有している。ディスクリプタ・コマンドコントローラ１８は、アプリケーション群１９におけるアプリケーションの組み合わせに応じて構成される。
【００１８】
ホストCPU５においてセッションが確立されると、時分割アプリケーション制御装置１の動的再構成ユニット１４には、コンフィグメモリコントローラ１７による制御の下にコンフィグデータがコンフィグメモリ１６からロードされる。また、ホストCPU５は、当該セッションで使用されるディスクリプタ・チェインをホストメモリ４に展開して、I/Oバス２、I/Oバスコントローラ１３およびDMAコントローラ１２を介してディスクリプタ・キャッシュメモリ１０へ転送する。そして、ディスクリプタ・チェインはディスクリプタ・キャッシュメモリ１０からディスクリプタ・キャッシュコントローラ１１へ読み出される。
【００１９】
ディスクリプタ・キャッシュ・コントローラ１１は、ディスクリプタ・チェインを構成する各ディスクリプタを記憶して、順次に動的再構成ユニット１４に通知する。ディスクリプタとアプリケーションは紐付けされているので、これによってアプリケーション群１９の内の実行されるアプリケーションが定まる。ディスクリプタ・コマンドコントローラ１８は、アプリケーションを実行してパケットデータ処理を実施する。
【００２０】
アプリケーション群１９の各アプリケーションは実施するデータ処理に対しての命令を送信/受信スケジューラユニット１５へ通知する。送信/受信スケジューラユニット１５は、パケット・データ等が送受信されるメモリ等のネットワーク媒体３と接続され、通知された命令に対してのデータの送信/受信をスケジューリング管理し、命令実行後、各アプリケーションに対して完了を通知する。
【００２１】
図２はコンフィグメモリ１６に登録されたコンフィグデータの内容を例示する。コンフィグデータはディスクリプタ・コマンドコントローラ１８とアプリケーション群１９が結合された形式を有し、コンフィグメモリ１６は、この形式のコンフィグデータを複数登録できる。図２においては、アプリケーション＃０，＃１，＃２を有するコンフィグデータ＃０と、アプリケーション＃３，＃４を有するコンフィグデータ＃１と、アプリケーション＃０，＃４を有するコンフィグデータ＃２とがそれぞれディスクリプタ・コマンドコントローラと共に示されているが、コンフィグデータに含まれるアプリケーションは１つであってもよい。
【００２２】
コンフィグデータは同時動作するアプリケーションを全て含んでいる。コンフィグデータ内のディスクリプタ・コマンドコントローラ１８とアプリケーション群１９は、それぞれのコンフィグメモリ１６におけるアドレス境界で分かれている必要は無く、１つのコンフィグデータ内に収まっている。
【００２３】
ホストCPU５は、ホストメモリ４に展開されるコンフィグデータをセッションが開始される前にI/Oバスコントローラ１３およびDMAコントローラ１２を介してコンフィグメモリ１６に予め転送する。これにより、セッションの切替え時のホストCPU５の負荷を軽減できる。ホストCPU５は、新たなセッションが確立される度に、動的再構成ユニット１４に必要なコンフィグデータを選択し、I/Oバスコントローラ１３を介してコンフィグメモリコントローラ１７へ通知する。
【００２４】
この通知を受けると、コンフィグメモリコントローラ１７は、選択されたコンフィグデータを動的再構成ユニット１４へロードする。ロード後、ホストCPU５にロード完了を通知する。セッションが切り替わり、コンフィグデータの再ロードを実施する場合は、セッション開始前に同様の処理を実施する。
【００２５】
図３は、ホストメモリ４に展開されディスクリプタ・キャッシュメモリ１０に転送されるディスクリプタ・チェインを例示する。ホストCPU５は、ホストメモリ４に展開される各セッションのディスクリプタ・チェインの内から、当該セッションで使用されるディスクリプタ＃０〜＃Ｍから成るディスクリプタ・チェインを時分割アプリケーション制御装置１のI/Oバスコントローラ１３およびDMAコントローラ１２を介してディスクリプタ・キャッシュメモリ１０転送する。転送完了後、ホストCPU５は、新たなセッションが確立されたことをI/Oバスコントローラ１３を介してディスクリプタ・キャッシュコントローラ１１に通知する。
【００２６】
図４は、ディスクリプタ・キャッシュモリ１０を構成するディスクリプタ・キャッシュテーブル１００の内容を例示する図であって図３に対応している。各ディスクリプタは、ディスクリプタID、アプリケーションIDおよびValidビットで構成されている。ディスクリプタIDはディスクリプタ毎に印加された識別子であって、他のディスクリプタと異なる数値で定義され、ディスクリプタの実行を管理する。アプリケーションIDはコンフィグデータに実装されたアプリケーションを示す識別子である。Validビットはディスクリプタ・キャッシュテーブル１００が有効であることを表し、無効を表す場合はディスクリプタが未作成であることを表す。
【００２７】
図４を参照すると、図３に示したディスクリプタ＃０〜＃Ｍに対応して、ディスクリプタID＃０〜＃Ｍが振り当てられ、例えば、ディスクリプタID＃０はアプリケーションID＃０、ディスクリプタID＃１はアプリケーションID＃１、ディスクリプタID＃２はアプリケーションID＃０とそれぞれリンクする。
【００２８】
図５は、ディスクリプタ・キャッシュメモリ１０とディスクリプタ・キャッシュコントローラ１１の関係を示している。ディスクリプタ・キャッシュコントローラ１１はディスクリプタ・キャッシュメモリ１０からディスクリプタ・キャッシュテーブル１００を読み出し、ディスクリプタIDおよびアプリケーションIDを内蔵するディスクリプタFIFO(First In First Out)１０１に記憶する。Validビットが無効を指している場合は記憶しない。図５では、ディスクリプタ・キャッシュメモリ１０に展開されているディスクリプタの内のディスクリプタID＃０〜ID＃４対応のディスクリプタ・キャッシュテーブル１００の内容がディスクリプタFIFO１０１に読み出されている様子が示されている。
【００２９】
ディスクリプタ・キャッシュコントローラ１１がディスクリプタ・コマンドコントローラ１８より呼び出し通知を受けると、ディスクリプタFIFO１０１からディスクリプタIDとアプリケーションIDをディスクリプタ・コマンドコントローラ１８へ通知する。記憶しているディスクリプタ・キャッシュテーブル１００が無い場合はNOP(no operation)を通知する。動的再構成ユニット１４にて処理が完了した場合は、ディスクリプタ・コマンドコントローラ１８からディスクリプタIDが返される。返されたディスクリプタIDは破棄され、ディスクリプタ・キャッシュメモリ１０の該当するディスクリプタ・キャッシュテーブル１００のValidビットを無効に変更し、I/Oバスコントローラ１３を経由してホストCPU５へ完了したことを通知する。
【００３０】
図６は、ディスクリプタFIFO１０１、ディスクリプタ・コマンドコントローラ１８およびアプリケーション群１９の関係を示している。ディスクリプタ・コマンドコントローラ１８は、ディスクリプタFIFO１０１から通知されたアプリケーションIDにより、アプリケーション群１９から実行する特定のアプリケーションを選択し、選択したアプリケーションにディスクリプタIDを通知する。アプリケーション群１９の各アプリケーションはそれぞれ独立して動作しており、新たなコンフィグデータに書き換えられるまで、中間情報などのデータを常にレジスタや内部メモリ等で記憶する。
【００３１】
前回と異なるアプリケーションIDが選択されても、各アプリケーションは独立で動作しているため、記憶した中間データはそのまま保持し続け、排他的にアプリケーションを動作し、該当するアプリケーションIDが選択された場合は、前回の状態の再ロードや、中間データを再読み込みするなどのインターバル時間を削減し、直前の状態から処理を開始する。アプリケーションの処理が完了後に、ディスクリプタIDをディスクリプタ・キャッシュコントローラ１１に返し、次のディスクリプタIDの要求を通知する。尚、NOPが通知された場合は再度要求を繰り返す。
【００３２】
図６を参照すると、ディスクリプタFIFO１０１に、アプリケーションID＃０〜アプリケーションID＃２と紐付けされたディスクリプタID＃Ｍ〜ディスクリプタID＃（Ｍ＋２）から成るディスクリプタ・チェインが記憶されており、動的再構成ユニット１４にはアプリケーション＃０〜アプリケーション＃２から成るアプリケーション群１９がロードされている。ディスクリプタ・コマンドコントローラ１８には、ディスクリプタID＃Ｍが通知されているところである。ディスクリプタ・コマンドコントローラ１８は、当該アプリケーションID＃０によりアプリケーション群１９の内からアプリケーション＃０を選択し、またディスクリプタID＃Ｍをアプリケーション＃０に通知する。
【００３３】
次に、以上のように構成された本通信制御装置の動作について図７に示すフローチャートに沿って説明する。
【００３４】
(1) 先ず、ホストCPU５は、起動させる可能性のあるディスクリプタ・コマンドコントローラ１８を含むコンフィグデータを全てホストメモリ４に展開し、I/Oバス２、I/Oバスコントローラ１３およびＤＭＡコントローラ１２を介してコンフィグメモリ１６に転送する（図７のＳ１）。
【００３５】
(2) ホストCPU５は、セッション確定（図７のＳ２）後、そのセッションで動的再構成ユニット１４に実行させるアプリケーションを含んだコンフィグデータを選別し、I/Oバス２を介してコンフィグメモリコントローラ１７に通知する。また、ディスクリプタ・キャッシュメモリ１０に転送するディスクリプタ・チェインをホストメモリ４に展開する（図７のＳ３）。
【００３６】
(3) コンフィグメモリコントローラ１７は、ホストCPU５が選択したコンフィグデータを動的再構成ユニット１４にロードし（図７のＳ４）、ロード完了後にホストCPU５へ完了を通知する。
【００３７】
(4) ホストCPU５は、ホストメモリ４に展開しているディスクリプタ・チェインをI/Oバス２、I/Oバスコントローラ１３およびＤＭＡコントローラ１２を介してディスクリプタ・キャッシュメモリ１０に転送して、ディスクリプタ・キャッシュコントローラ１１にその旨を通知し、また動的再構成ユニット１４に実行開始を通知する（図７のＳ５）。前回と同じセッションを開始する場合は、コンフィグデータのロード（図７のＳ４）を行わずディスクリプタ・チェインの転送・通知（図７のＳ５）からであってもよい。
【００３８】
(5) 動的再構成ユニット１４にロードされたディスクリプタ・コマンドコントローラ１８は、ディスクリプタ・キャッシュコントローラ１１のディスクリプタFIFO１０１を読み込み、ディスクリプタIDを取得する（図７のＳ６）。この取得はディスクリプタFIFO１０１の先頭から行なう。取得したディスクリプタID対応のアプリケーションIDにより、動的再構成ユニット１４にロードされたアプリケーション群１９の中から特定のアプリケーションを選択する（図７のＳ７）。このとき、ディスクリプタIDは処理が完了するまで保持する。
【００３９】
図５に即して説明すれば、ディスクリプタID＃０対応のアプリケーションID＃０→ディスクリプタID＃１対応のアプリケーションID＃１→ディスクリプタID＃２対応のアプリケーションID＃０→ディスクリプタID＃３対応のアプリケーションID＃２→ディスクリプタID＃４対応のアプリケーションID＃０の順番でアプリケーションが選択される。
【００４０】
(6) 選択されたアプリケーション（上例ではアプリケーション＃０、＃１、＃０、＃２、＃０）が送信/受信スケジューラユニット１５を介して実行される（図７のＳ８）。
【００４１】
(7) 各アプリケーションの処理が完了後、各アプリケーションはディスクリプタ・コマンドコントローラ１８へ処理が完了したことを通知し（図７のＳ９）、ディスクリプタ・コマンドコントローラ１８はディスクリプタ・キャッシュコントローラ１１にディスクリプタIDを返却し、ディスクリプタ・チェインにおける次のディスクリプタIDを取得する（図７のＳ６）。ディスクリプタ・キャッシュコントローラ１１はディスクリプタ・キャッシュテーブル１００の処理が完了したディスクリプタのValidビットを無効に変更し、ホスト・CPU５へ処理が完了したことを通知する。
【００４２】
(8) セッションが完了するまでディスクリプタIDの取得（図７のＳ６）からアプリケーション完了（図７のＳ９）までを繰り返す。セッションが完了するとセッション確定（図７のＳ２）に戻る。
【００４３】
［他の実施例］
図８は本発明に係る時分割アプリケーション制御装置の他の実施例を示している。この通信制御装置における時分割アプリケーション制御装置１’の基本的な機能は、時分割アプリケーション制御装置１と異なることがなく、複数(N個)の動的再構成ユニット１４を設けてマルチプロセッサ構成としたものである。N個の動的再構成ユニット１４によりN個のセッションを並列に開始できる。図８は、N=4の場合を例示している。セッションは各自で独立しており、各セッションの開始時刻に時間的な差があってもよい。ディスクリプタ・キャッシュコントローラ１１も動的再構成ユニット１４と１対１対応にN個有する。
【００４４】
また、ディスクリプタ・キャッシュメモリ１０’にはディスクリプタ・キャッシュテーブル１００をセッション数と同数のN個有する（図９参照）。各ディスクリプタ・キャッシュコントローラ１１は、対応するディスクリプタ・キャッシュメモリ１０からディスクリプタ・キャッシュテーブル１００を読み出して、ディスクリプタFIFO１０１に記憶する。
【００４５】
動的再構成ユニット１４それぞれの動作は前述のとおりであるが、動的再構成ユニット１４は各々が異なったパケットデータ転送/処理を行うため、送信/受信スケジューラユニット１５’はN個の命令系統を調停する機能も有する。即ち、複数の動的再構成ユニット１４が同時に要求を発行した場合、もしくは、パケット送受信が未完了の状態で別の要求が発行された場合は、送信/受信スケジューラユニット１５’は要求を調停し、ネットワーク媒体３を介してパケットデータの送受信を実施する。
【００４６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４７】
（付記１）１つ以上のアプリケーションと該アプリケーションの組み合わせに応じて構成されるディスクリプタ・コマンドコントローラとから成るコンフィグデータを動的再構成ユニットにロードし、前記アプリケーションをＯＳが識別するための識別子であって前記アプリケーションと紐付けされたディスクリプタが連ねられたディスクリプタ・チェインをメモリに転送し、前記ディスクリプタ・コマンドコントローラは、前記ディスクリプタ・チェインから前記ディスクリプタを順次に取り込んで当該アプリケーションを実行することを特徴とする時分割アプリケーション制御装置。
【００４８】
（付記２）１つ以上のアプリケーションと該アプリケーションの組み合わせに応じて構成されるディスクリプタ・コマンドコントローラとから成るコンフィグデータが上位装置であるホストCPU側からロードされる動的再構成ユニットと、前記ホストCPUが起動させる可能性のある全ての前記コンフィグデータが前記ホストCPU側から予め転送され記憶するコンフィグメモリと、前記ホストCPUにおいてセッションが確立すると、当該セッション対応の前記コンフィグデータを前記コンフィグメモリから前記動的再構成ユニットにロードするコンフィグメモリコントローラと、前記ホストCPUにおいてセッションが確立すると、前記アプリケーションをＯＳが識別するための識別子であって前記アプリケーションと紐付けされたディスクリプタが連ねられた当該セッション対応のディスクリプタ・チェインが前記ホストCPU側から転送され記憶するディスクリプタ・キャッシュメモリと、前記ディスクリプタ・キャッシュメモリに記憶されたディスクリプタ・チェインを構成する各ディスクリプタを記憶して前記動的再構成ユニットへ順次に通知するディスクリプタ・キャッシュコントローラと、ネットワーク媒体と接続されてデータの送信/受信をスケジューリング管理する送信/受信スケジューラユニットとを有し、前記動的再構成ユニットにおいて前記ディスクリプタ・コマンドコントローラは前記通知されるディスクリプタを取り込んで当該アプリケーションを選択・実行し、該アプリケーションは実施するデータ処理に対しての命令を送信/受信スケジューラユニットへ通知することによりパケットの送受信を制御することを特徴とする通信制御装置。
【００４９】
（付記３）前記ディスクリプタ・キャッシュメモリにおける前記ディスクリプタ・チェインの各ディスクリプタは、一連番号が付されたディスクリプタ識別子と、該ディスクリプタ識別子に対応するアプリケーション識別子番号と、該ディスクリプタの有効／無効の別を示すValidビットで構成されることを特徴とする付記２に記載の通信制御装置。
【００５０】
（付記４）前記ディスクリプタ・キャッシュコントローラは、前記通知された各ディスクリプタをFIFO(First In First Out)に記憶することを特徴とする付記２または付記３に記載の通信制御装置。
【００５１】
（付記５）前記ディスクリプタ・コマンドコントローラは、前記選択したアプリケーションに当該ディスクリプタ識別子を通知し、当該アプリケーションは新たなコンフィグレーションデータに書き換えられるまで動作中の中間データを常にレジスタや内部メモリ等で記憶し、動的再構成ユニットにて処理が完了した場合は、ディスクリプタ・コマンドコントローラからディスクリプタ識別子がディスクリプタ・キャッシュメモリ返され、前記Validビットが無効に変更されることを特徴とする付記３または付記４に記載の通信制御装置。
【符号の説明】
【００５２】
１、１’      時分割アプリケーション制御装置
２            I/Oバス
３            ネットワーク媒体
４            ホストメモリ
５            ホストCPU
１０、１０’  ディスクリプタ・キャッシュメモリ
１１          ディスクリプタ・キャッシュコントローラ
１２          ＤＭＡコントローラ
１３          I/Oバスコントローラ
１４          動的再構成ユニット
１５、１５’  送信/受信スケジューラユニット
１６          コンフィグモリ
１７          コンフィグメモリコントローラ
１８          ディスクリプタ・コマンドコントローラ
１９          アプリケーション群
１００        ディスクリプタ・キャッシュテーブル
１０１        ディスクリプタFIFO
【図１】
2012103875.tif 000003
【図２】
2012103875.tif 000004
【図３】
2012103875.tif 000005
【図４】
2012103875.tif 000006
【図５】
2012103875.tif 000007
【図６】
2012103875.tif 000008
【図７】
2012103875.tif 000009
【図８】
2012103875.tif 000010
【図９】
2012103875.tif 000011