(57)【特許請求の範囲】
【請求項１】
処理要求送信回路と、データ処理部と、前記データ処理部へアクセス要求を出力する情報処理部とを備える情報処理装置であって、
前記処理要求送信回路は、
データを処理するデータ処理部に処理を要求する複数の被処理データ列を、並行して受け付ける要求受付部と、
前記要求受付部によって受け付けられた複数の被処理データ列を、順次前記データ処理部へ送信することにより、複数の要求相互間の調停を行う処理要求送信部と、
前記被処理データ列のデータ長を計数するデータ長計数部と、
前記データ長計数部によって計数されたデータ長Ｌｄの被処理データ列を前記データ処理部が処理するのにかかる処理時間Ｔｄを、Ｔｄ＝ａ×Ｌｄ＋ｂ、但し、ａ，ｂは定数の式で近似して算出する処理時間算出部とを備え、
前記処理要求送信部は、
一の被処理データ列を前記データ処理部へ送信した後、次に被処理データ列を前記データ処理部へ送信するまでに、前記一の被処理データ列について前記データ長計数部により計数されたデータ長に基づき前記処理時間算出部によって算出された処理時間以上の間隔を空け、
前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部として、
前記処理要求送信部から出力された被処理データ列を伝送するインターフェース回路と、
メモリと、
前記メモリへのアクセスを行うメモリ制御部と、
前記情報処理部からのアクセス要求、及び前記インターフェース回路によって伝送されてきた被処理データ列を受け付けて、当該受け付けられたアクセス要求と被処理データ列との関係を調停し、当該調停された順で、前記メモリ制御部による前記メモリへのアクセスを実行させる調停部とを含み、
前記複数の処理部のうち、前記インターフェース回路がスループットのボトルネックとなる処理部であり、
前記調停部は、
予め設定された優先順位に従って、前記情報処理部からのアクセス要求と被処理データ列との関係を調停するものであり、
前記情報処理部からのアクセス要求よりも前記インターフェース回路によって伝送されてきた被処理データ列の方が、前記優先順位が高く、
前記定数ａ、ｂは、実験的に最小二乗法により求められたものであることを特徴とする情報処理装置。
【請求項２】
前記処理要求送信回路は、前記被処理データ列を生成して前記要求受付部へ出力するデータ列生成部をさらに備え、
前記ボトルネックとなる処理部が、前記処理要求送信部の直後に接続されており、
前記ボトルネックとなる処理部は、処理対象となる被処理データ列の全部を前記処理要求送信部から受信すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ長計数部は、
前記被処理データ列が前記処理要求送信部から前記データ処理部に至る経路上に、一つ設けられ、当該処理要求送信部から送信された被処理データ列のデータ長を計数すること
を特徴とする請求項１又は２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理部に処理を要求する処理要求送信回路、及び情報処理装置に関する。
【背景技術】
【０００２】
近年、システムが大規模化し、システム内には様々な構成要素が散在し、インターフェース速度が向上することで、データ処理の順序と物理的な配置の関係を重要視する必要がなくなった。むしろ、物理的な配置の制約がないことが望まれている。
【０００３】
その結果、複数の構成要素が高速の通信路を共用する際の輻輳を回避したり、構成要素が他の構成要素を共用する際の輻輳を回避したりするための調停処理が必要となり、システム全体としての制御が難しくなっている。
【０００４】
従来、データ処理ネットワークにおける輻輳の回避方法として、以下のような技術が知られている（例えば、特許文献１参照。）。この技術は、宛先毎に２個以上の優先度キューを持つ複数個の送信元ノードと、全入力に対し宛先毎に均等に出力を行うスイッチと、前記スイッチからデータを受信する複数個の宛先ノードにより構成するスイッチファブリックを用いる。
【０００５】
そして、送信元ノードが管理するスイッチの宛先毎の受信バッファ空き容量が、設定した輻輳閾値以下となったら当該宛先が輻輳しているとみなし、当該宛先に対し前記優先度キューからのデータ出力を優先度に応じて予め設定した帯域まで制限し、また前記宛先毎の受信バッファ空き容量が設定した輻輳解除閾値以上となったら当該宛先の輻輳が解除されたとみなし、前記の優先度に応じた帯域制限を解除することで、輻輳を回避する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１６６８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、システムの拡張性や柔軟性の観点からデファクトなシステムへの接続や、デファクトな接続手段（通信インターフェース）の採用が必須となってきている。そのため、システム設計者といえども、既存、標準の構成要素を使う必要性から、調停方法を自由に変更することができず、調停方法をシステムに最適化することが困難になっている。
【０００８】
例えば、マイクロプロセッサを用いたシステムにおいて、メモリのアクセスを制御するメモリ制御回路は、これまでシステム設計者がシステムに適合するように設計していた。しかしながら、近年、汎用のマイクロプロセッサがメモリ制御回路を内蔵するようになり、このようなマイクロプロセッサが主流となった今日では、メモリ制御回路近辺の仕様をシステム設計者がシステムに適合するように自由に設計することができなくなった。
【０００９】
このように、メモリアクセスを調停する調停器がマイクロプロセッサ内に予め内蔵されると、マイクロプロセッサ内に搭載されている調停器は「汎用」のものであり、システムに特化していない。特に動作率を向上し、各構成要素の性能を限界近く引き出そうとしても、システムに最適化されていない汎用の調停器では、各構成要素の性能を引き出してシステム全体の性能向上を図ることが困難である。
【００１０】
上述のデータ処理ネットワークにおける輻輳の回避方法（特許文献１）においても、受信バッファの空き容量が一定の閾値以上か以下かによってデータ内容の差異すなわちデータの送信先における処理量の差異に関わらず、データ送信の帯域を予め設定した帯域に制限するだけである。
【００１１】
そのため、上述のデータ処理ネットワークにおける輻輳の回避方法では、データ送信先におけるデータ処理量にかかわらず輻輳を回避できるような帯域制限、すなわちデータ処理量が最大になったときでも輻輳を回避できるような帯域制限を行う必要があるため、過剰な帯域制限を行われてしまう結果、充分にシステムの性能を引き出すことができなかった。
【００１２】
本発明の目的は、データ処理部において輻輳が発生するおそれを低減しつつ、システムの性能を引き出すことが容易な処理要求送信回路、及び情報処理装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明にかかる情報処理装置は、処理要求送信回路と、データ処理部と、前記データ処理部へアクセス要求を出力する情報処理部とを備える情報処理装置であって、前記処理要求送信回路は、データを処理するデータ処理部に処理を要求する複数の被処理データ列を、並行して受け付ける要求受付部と、前記要求受付部によって受け付けられた複数の被処理データ列を、順次前記データ処理部へ送信することにより、複数の要求相互間の調停を行う処理要求送信部と、前記被処理データ列のデータ長を計数するデータ長計数部と、前記データ長計数部によって計数されたデータ長Ｌｄの被処理データ列を前記データ処理部が処理するのにかかる処理時間Ｔｄを、Ｔｄ＝ａ×Ｌｄ＋ｂ、但し、ａ，ｂは定数の式で近似して算出する処理時間算出部とを備え、前記処理要求送信部は、一の被処理データ列を前記データ処理部へ送信した後、次に被処理データ列を前記データ処理部へ送信するまでに、前記一の被処理データ列について前記データ長計数部により計数されたデータ長に基づき前記処理時間算出部によって算出された処理時間以上の間隔を空け、前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部として、前記処理要求送信部から出力された被処理データ列を伝送するインターフェース回路と、メモリと、前記メモリへのアクセスを行うメモリ制御部と、前記情報処理部からのアクセス要求、及び前記インターフェース回路によって伝送されてきた被処理データ列を受け付けて、当該受け付けられたアクセス要求と被処理データ列との関係を調停し、当該調停された順で、前記メモリ制御部による前記メモリへのアクセスを実行させる調停部とを含み、前記複数の処理部のうち、前記インターフェース回路がスループットのボトルネックとなる処理部であり、前記調停部は、予め設定された優先順位に従って、前記情報処理部からのアクセス要求と被処理データ列との関係を調停するものであり、前記情報処理部からのアクセス要求よりも前記インターフェース回路によって伝送されてきた被処理データ列の方が、前記優先順位が高く、前記定数ａ、ｂは、実験的に最小二乗法により求められたものである。
【００１４】
この構成によれば、要求受付部によって、データ処理部への処理要求である被処理データ列が受け付けられる。そして、データ長計数部によって被処理データ列のデータ長が計数され、処理時間算出部によって、当該計数されたデータ長のデータをデータ処理部が処理するのにかかる処理時間が算出される。そして、処理要求送信部は、一の被処理データ列をデータ処理部へ送信した後、次に被処理データ列をデータ処理部へ送信するまでに、一の被処理データ列についてデータ長計数部により計数されたデータ長に基づき処理時間算出部によって算出された処理時間以上の間隔を空ける。
【００１５】
これにより、前回送信された被処理データ列のデータ長に応じて算出された処理時間だけ、次に被処理データ列が送信されるまでに時間間隔が空くため、データ処理部において前回送信された被処理データ列と次に送信された被処理データ列とで輻輳が生じるおそれが低減される。そして、被処理データ列が送信される時間間隔は、前回の被処理データ列のデータ長、すなわちデータ処理部におけるデータ処理量に応じて設定されるので、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部において輻輳が発生するおそれを低減しつつ、データ処理部の性能を引き出すことが容易となる。
また、この構成によれば、要求受付部によって並行して受け付けられた複数の被処理データ列のデータ処理部への送信が、処理要求送信部によって調停されるので、データ処理部への処理要求を行いたい構成要素が複数ある場合であっても、非同期で被処理データ列を要求受付部へ出力することができ、設計が容易となる。
また、この構成によれば、処理時間算出部は、上記の式を用いて単純な一次関数の演算処理を行うことによって、処理時間Ｔｄを算出することができるので、処理時間算出部の回路構成を簡素化することが容易である。
また、この構成によれば、処理要求送信回路と、情報処理部と、調停部と、メモリ制御部と、メモリと、処理要求送信部から出力された被処理データ列を調停部へ伝送するインターフェース回路とを備えた情報処理装置の、インターフェース回路、調停部、メモリ制御部、及びメモリを含むデータ処理部において、輻輳が発生するおそれを低減しつつ、性能を引き出すことが容易となる。
また、この構成によれば、調停部において、情報処理部からのアクセス要求と処理要求送信部からの被処理データ列とが競合した場合、処理要求送信部からの被処理データ列が優先される。これにより、処理要求送信部が、データ処理部において輻輳が生じないように被処理データ列の送信間隔として処理時間の間隔を空けているにもかかわらず、情報処理部からのメモリへのアクセス要求に起因して、前記処理時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。
【００１７】
この構成によれば、要求受付部によって並行して受け付けられた複数の被処理データ列のデータ処理部への送信が、処理要求送信部によって調停されるので、データ処理部への処理要求を行いたい構成要素が複数ある場合であっても、非同期で被処理データ列を要求受付部へ出力することができ、設計が容易となる。
【００１８】
また、前記処理要求送信回路は、前記被処理データ列を生成して前記要求受付部へ出力するデータ列生成部をさらに備え、前記ボトルネックとなる処理部が、前記処理要求送信部の直後に接続されており、前記ボトルネックとなる処理部は、処理対象となる被処理データ列の全部を前記処理要求送信部から受信することが好ましい。
【００１９】
この構成によれば、複数の処理部を含むデータ処理経路のうち、スループットのボトルネックとなる処理部が処理要求送信部の直後に接続されており、当該ボトルネックとなる処理部は、処理対象となる被処理データ列を処理要求送信部以外から受信することがないので、処理要求送信部以外の構成要素から当該ボトルネックとなる処理部へ出力された被処理データ列によって、輻輳が生じることがない。
【００２０】
また、前記データ長計数部は、前記被処理データ列が前記処理要求送信部から前記データ処理部に至る経路上に、一つ設けられ、当該処理要求送信部から送信された被処理データ列のデータ長を計数することが好ましい。
【００２１】
この構成によれば、要求受付部に複数の被処理データ列が入力される複数の経路に複数のデータ長計数部を設けて各被処理データ列のデータ長を計数する場合と比べてデータ長計数部の数を減少させることが出来るので、回路を簡素化することが容易である。
【００２４】
この構成によれば、処理時間算出部は、式（１）を用いて単純な一次関数の演算処理を行うことによって、処理時間Ｔｄを算出することができるので、処理時間算出部の回路構成を簡素化することが容易である。
【００２６】
この構成によれば、処理要求送信回路と、情報処理部と、調停部と、メモリ制御部と、メモリと、処理要求送信部から出力された被処理データ列を調停部へ伝送するインターフェース回路とを備えた情報処理装置の、インターフェース回路、調停部、メモリ制御部、及びメモリを含むデータ処理部において、輻輳が発生するおそれを低減しつつ、性能を引き出すことが容易となる。
【００２８】
この構成によれば、調停部において、情報処理部からのアクセス要求と処理要求送信部からの被処理データ列とが競合した場合、処理要求送信部からの被処理データ列が優先される。これにより、処理要求送信部が、データ処理部において輻輳が生じないように被処理データ列の送信間隔として処理時間の間隔を空けているにもかかわらず、情報処理部からのメモリへのアクセス要求に起因して、前記処理時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。
【発明の効果】
【００２９】
このような構成の処理要求送信回路及び情報処理装置によれば、前回送信された被処理データ列のデータ長に応じて算出された処理時間だけ、次に被処理データ列が送信されるまでに時間間隔が空くため、データ処理部において前回送信された被処理データ列と次に送信された被処理データ列とで輻輳が生じるおそれが低減される。そして、被処理データ列が送信される時間間隔は、前回の被処理データ列のデータ長、すなわちデータ処理部におけるデータ処理量に応じて設定されるので、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部において輻輳が発生するおそれを低減しつつ、データ処理部の性能を引き出すことが容易となる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る処理要求送信回路を用いた情報処理装置の一例を示すブロック図である。
【発明を実施するための形態】
【００３１】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図１は、本発明の一実施形態に係る処理要求送信回路を用いた情報処理装置の一例を示すブロック図である。
【００３２】
図１に示す情報処理装置１は、マイクロプロセッサ２、ＡＳＩＣ（Application Specific Integrated Circuit）３、及びメモリ４を備えて構成されている。
【００３３】
マイクロプロセッサ２は、例えばＣＰＵコア２１（ＣＰＵ；Central Processing Unit）（情報処理部）と、調停部２２と、メモリコントローラ２３（メモリ制御部）と、外部バスＩ／Ｆ２４（インターフェース回路）とを備えて構成されている。マイクロプロセッサ２は、例えば汎用品であり、情報処理装置１の設計者はマイクロプロセッサ２の設計を自由に変更することはできない。マイクロプロセッサ２としては、例えばＡＲＭ社製、ＡＲＭ９２６ＥＪ−Ｓを用いることができる。
【００３４】
ＡＳＩＣ３は、処理要求送信回路３０と、外部バスＩ／Ｆ３５（インターフェース回路）とを備えて構成されている。処理要求送信回路３０は、複数の機能モジュールＡ，Ｂ，Ｃ（データ列生成部）と、要求受付部３１と、処理要求送信部３２と、データ長計数部３３と、処理時間算出部３４とを備えて構成されている。ＡＳＩＣ３は、情報処理装置１の設計者が、情報処理装置１に合わせて自由に設計できる専用回路である。
【００３５】
そして、外部バスＩ／Ｆ２４，３５、調停部２２、メモリコントローラ２３、及びメモリ４から、データ処理部５の一例が構成されている。
【００３６】
外部バスＩ／Ｆ２４，３５は、マイクロプロセッサ２とＡＳＩＣ３との間でデータを送受信するバスインターフェース回路である。外部バスＩ／Ｆ２４，３５は、パラレルバスであってもよく、シリアルバスであってもよく、種々のインターフェース回路を用いることができる。
【００３７】
ＣＰＵコア２１は、プログラムの実行に伴い、メモリ４をアクセスする。ＣＰＵコア２１が、メモリ４をアクセスする際には、調停部２２を介してメモリコントローラ２３へアクセス要求を出力し、メモリコントローラ２３によって、メモリ４へのメモリアクセスを実行させる。
【００３８】
調停部２２は、ＣＰＵコア２１からのメモリ４へのアクセス要求と、外部バスＩ／Ｆ２４からのメモリ４へのアクセス要求とが競合した場合に調停を行う調停回路である。調停部２２は、優先度設定レジスタ２２１を備えており、優先度設定レジスタ２２１に予め設定された優先順位に応じて、ＣＰＵコア２１からのメモリ４へのアクセス要求よりも、外部バスＩ／Ｆ２４からのメモリ４へのアクセス要求を優先させるようになっている。
【００３９】
優先度設定レジスタ２２１は、ＣＰＵコア２１と外部バスＩ／Ｆ２４との優先順位の設定を記憶するレジスタで、予め、ＣＰＵコア２１よりも外部バスＩ／Ｆ２４の優先順位が高く設定されている。なお、情報処理装置１においては、ＣＰＵコア２１からのメモリ４へのアクセス要求よりも、外部バスＩ／Ｆ２４からのメモリ４へのアクセス要求が優先された場合であっても、外部バスＩ／Ｆ２４によるメモリ４の占有率は７０％以下程度になるようにされている。
【００４０】
メモリコントローラ２３は、ＣＰＵコア２１からのメモリ４へのアクセス要求と、外部バスＩ／Ｆ２４からのメモリ４へのアクセス要求とを、調停部２２を介して受信し、そのアクセス要求に応じてメモリ４へのアクセスを実行する。
【００４１】
アクセス要求は、リードアクセスであってもライトアクセスであってもいずれでもよいが、以下、説明を判りやすくするためライトアクセスを例に説明する。
【００４２】
機能モジュールＡ，Ｂ，Ｃは、それぞれ、情報処理装置１の機能を実現するために種々の情報処理を行って、その情報処理の実行結果として被処理データ列を生成し、要求受付部３１へ出力する。なお、機能モジュールＡ，Ｂ，Ｃは、処理要求送信回路３０に含まれている必要はなく、要求受付部３１が、ＡＳＩＣ３の外部から被処理データ列を受信する構成であってもよい。
【００４３】
要求受付部３１は、例えば機能モジュールＡ，Ｂ，Ｃから受信した被処理データ列を、一時的に記憶するキューバッファを備えて構成されている。要求受付部３１は、例えば、機能モジュールＡ，Ｂ，Ｃから出力された被処理データ列を、並列的に受け付けて、キューバッファに記憶させるようになっている。キューバッファは、処理要求送信部３２から読出し可能にされている。
【００４４】
処理要求送信部３２は、要求受付部３１によって機能モジュールＡ，Ｂ，Ｃから受信されて例えばキューバッファに記憶されている被処理データ列を、例えば要求受付部３１によって受信された順、あるいは機能モジュールＡ，Ｂ，Ｃについて予め設定された優先順位の順等、所定の順序で読み出して、順次データ処理部５へ送信する。
【００４５】
具体的には、処理要求送信部３２は、例えば要求受付部３１のキューバッファから読み出した一の被処理データ列を、外部バスＩ／Ｆ３５へ出力し、外部バスＩ／Ｆ３５から外部バスＩ／Ｆ２４へ送信させる。これにより、外部バスＩ／Ｆ２４で受信された被処理データ列が、調停部２２によって、ＣＰＵコア２１のメモリアクセスと調停されてメモリコントローラ２３へ出力され、メモリコントローラ２３によってメモリ４に書き込まれるようになっている。
【００４６】
そして、処理要求送信部３２は、一の被処理データ列を外部バスＩ／Ｆ３５へ出力し終えてから、当該一の被処理データ列について処理時間算出部３４によって算出された処理時間ｔｗ以上の間隔を空けた後、次の被処理データ列の外部バスＩ／Ｆ３５への送信を開始する。
【００４７】
データ長計数部３３は、処理要求送信部３２から外部バスＩ／Ｆ３５へ出力された被処理データ列のデータ長Ｌｄを計数し、計数されたデータ長Ｌｄを処理時間算出部３４へ出力する。データ長Ｌｄは、ビット長、バイト長、あるいはワード長であってもよい。
【００４８】
なお、データ長計数部３３を処理要求送信部３２と外部バスＩ／Ｆ３５との間に設ける代わりに、機能モジュールＡ，Ｂ，Ｃと要求受付部３１との間に、機能モジュールＡ，Ｂ，Ｃに対応して３つのデータ長計数部３３を設けて機能モジュールＡ，Ｂ，Ｃから出力された被処理データ列のデータ長Ｌｄそれぞれ計数するようにしてもよい。
【００４９】
しかしながら、図１に示すように、処理要求送信部３２からデータ処理部５に至る経路上に一つ、データ長計数部３３を設ける方が、データ長計数部３３の数が少なくなるので回路を簡素化することが容易である。
【００５０】
処理時間算出部３４は、処理時間Ｔｄを、データ長計数部３３から出力されたデータ長Ｌｄを用いて、下記の式（１）を用いて算出する。
【００５１】
処理時間Ｔｄ＝ａ×Ｌｄ＋ｂ  ・・・（１）
但し、ａ，ｂは定数である。
【００５２】
定数ａ，ｂは、データ長Ｌｄの被処理データ列を、データ処理部５が処理するのにかかる処理時間Ｔｄ、すなわち処理要求送信部３２から出力された被処理データ列がメモリ４に書き込まれるのにかかる処理時間Ｔｄを、式（１）によって近似するように、予め例えば実験的に、あるいは理論計算により求められ、設定された値である。
【００５３】
処理時間Ｔｄは、データ処理部５全体としての処理時間（スループット）である。多くの場合、処理時間Ｔｄは、データ処理部５におけるボトルネックとなる処理部の処理時間と等しくなる。そこで、例えばデータ処理部５におけるボトルネックとなる処理部の処理時間を、処理時間Ｔｄとしてもよい。
【００５４】
処理時間Ｔｄは、厳密に計算しようとすると、下記のようになる。例えば、処理要求送信部３２から外部バスＩ／Ｆ３５へ出力されたデータ長Ｌｄの被処理データ列は、外部バスＩ／Ｆ３５において所定の通信フォーマットに変換され、例えばヘッダやプリアンブル、制御ビット等が付加されて、データ量が増大する。そこで、外部バスＩ／Ｆ３５から外部バスＩ／Ｆ２４へ送信されるデータ量を、関数ｆｘによってｆｘ（Ｌｄ）と表す。
【００５５】
そして、ｆｘ（Ｌｄ）のデータ量となった被処理データ列が外部バスＩ／Ｆ２４で受信されると、外部バスＩ／Ｆ２４において調停部２２で処理可能なデータフォーマットに変換され、そのデータ量は関数ｆｙを用いてｆｙ（ｆｘ（Ｌｄ））と表される。
【００５６】
ここで、外部バスＩ／Ｆ３５，２４による通信処理時間は、Ｔｘ（ｆｘ（Ｌｄ））と表される。そして、外部バスＩ／Ｆ２４から調停部２２を介してメモリコントローラ２３へ被処理データ列を転送する処理時間、すなわち調停部２２の処理時間は、Ｔｙ（ｆｙ（ｆｘ（Ｌｄ）））と表される。
【００５７】
次に、メモリコントローラ２３において、データ量がｆｙ（ｆｘ（Ｌｄ））となった被処理データ列から、元のデータ長Ｌｄの被処理データ列が取り出されてメモリ４に書き込まれる。このとき、メモリコントローラ２３によるメモリ４の書込処理時間は、Ｔｚ（Ｌｄ）と表される。
【００５８】
そうすると、データ処理部５のスループットの観点から、処理要求送信部３２から出力された被処理データ列がメモリ４に書き込まれるのにかかる処理時間Ｔｄは、Ｔｘ（ｆｘ（Ｌｄ））、Ｔｙ（ｆｙ（ｆｘ（Ｌｄ）））、及びＴｚ（Ｌｄ）のうちの最大値として得られる。
【００５９】
しかしながら、Ｔｘ（ｆｘ（Ｌｄ））、Ｔｙ（ｆｙ（ｆｘ（Ｌｄ）））、及びＴｚ（Ｌｄ）を計算し、その最大値を得ようとすると、例えば実際に外部バスＩ／Ｆ３５，２４、調停部２２、及びメモリコントローラ２３を動作させる等して動的にＴｘ（ｆｘ（Ｌｄ））、Ｔｙ（ｆｙ（ｆｘ（Ｌｄ）））、及びＴｚ（Ｌｄ）を検出するなどの処理が必要となるため、処理時間Ｔｄの算出処理が大変複雑となり、その算出回路の回路規模の増大や、算出時間の増大を招く結果となって望ましくない。
【００６０】
そこで、データ処理部５全体の処理時間を、例えば実験的に最小二乗法等の手法により式（１）における定数ａ，ｂを求めたり、理論計算により予め定数ａ，ｂを求めたりしておくことで、式（１）による単純な一次関数の演算処理によって、近似的に、簡素な回路によって短時間で処理時間Ｔｄを求めることが可能とされている。
【００６１】
ここで、一般的には、Ｔｘ（ｆｘ（Ｌｄ））、ｆｙ（ｆｘ（Ｌｄ））、及びＴｚ（Ｌｄ）のうち、外部バスＩ／Ｆ３５，２４による通信処理時間、すなわちＴｘ（ｆｘ（Ｌｄ））が、最大となる。この場合、外部バスＩ／Ｆ３５，２４と、調停部２２と、メモリコントローラ２３とのうち、外部バスＩ／Ｆ３５，２４がデータ処理部５におけるボトルネックとなっている。
【００６２】
次に、上述のように構成された情報処理装置１の動作について説明する。まず、機能モジュールＡ，Ｂ，Ｃから、データ長Ｌｄａの被処理データ列Ｄａ、データ長Ｌｄｂの被処理データ列Ｄｂ、データ長Ｌｄｃの被処理データ列Ｄｃのライトアクセスの要求が、ほぼ同時に要求受付部３１へ出力されたものとする。
【００６３】
そうすると、要求受付部３１のキューバッファに、被処理データ列Ｄａ、被処理データ列Ｄｂ、及び被処理データ列Ｄｃが記憶される。
【００６４】
次に、処理要求送信部３２によって、要求受付部３１のキューバッファから、例えば機能モジュールＡ，Ｂ，Ｃの順に予め設定された優先順位に応じて被処理データ列Ｄａが読み出され、データ長計数部３３を介して外部バスＩ／Ｆ３５へ出力される。
【００６５】
そうすると、処理要求送信部３２から外部バスＩ／Ｆ３５へ被処理データ列Ｄａが転送される過程で、データ長計数部３３によって被処理データ列Ｄａのデータ長Ｌｄａが計数され、データ長Ｌｄａを示す情報が処理時間算出部３４へ出力される。
【００６６】
そして、処理時間算出部３４によって、式（１）を用いて処理時間Ｔｄが算出され、算出された処理時間Ｔｄが処理要求送信部３２へ出力される。
【００６７】
一方、外部バスＩ／Ｆ３５は、被処理データ列Ｄａを受信して外部バスＩ／Ｆ２４へ出力する。そうすると、外部バスＩ／Ｆ２４で受信された被処理データ列Ｄａが、調停部２２による調停を経てメモリコントローラ２３へ出力され、メモリコントローラ２３によってメモリ４へ書き込まれる。
【００６８】
ここで、もし仮に処理要求送信部３２が、被処理データ列Ｄａを外部バスＩ／Ｆ３５へ出力した直後に連続して次の被処理データ列Ｄｂを外部バスＩ／Ｆ３５へ出力すると、データ処理部５において、先に出力された被処理データ列Ｄａの処理中に、被処理データ列Ｄｂの処理が追いついてしまい、データ処理部５で輻輳が生じるおそれがある。
【００６９】
そこで、処理要求送信部３２は、被処理データ列Ｄａを外部バスＩ／Ｆ３５へ出力し終えた後、処理時間算出部３４で算出された処理時間Ｔｄが経過してから、要求受付部３１のキューバッファから次の被処理データ列Ｄｂを読み出して、データ長計数部３３を介して外部バスＩ／Ｆ３５へ出力する。
【００７０】
そうすると、前回送信された被処理データ列Ｄａのデータ長Ｌｄａに応じて算出された処理時間Ｔｄだけ、次に被処理データ列Ｄｂが送信されるまでに時間間隔が空くため、データ処理部５において前回送信された被処理データ列Ｄａと次に送信された被処理データ列Ｄｂとで輻輳が生じるおそれが低減される。
【００７１】
また、データ処理部５において、データ処理量が多ければ次の処理までの時間間隔が長くなり、データ処理量が少なければ次の処理までの時間間隔が短くなるため、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部５において輻輳が発生するおそれを低減しつつ、情報処理装置１の性能を引き出すことが容易となる。
【００７２】
以降、外部バスＩ／Ｆ３５へ出力された被処理データ列Ｄｂに基づいて、データ処理部５において、被処理データ列Ｄａの場合と同様に処理が実行されて、メモリ４への書込が行われる。
【００７３】
さらにその次には、被処理データ列Ｄｂについてデータ長計数部３３で計測されたデータ長Ｌｄｂから、処理時間算出部３４により処理時間Ｔｄが算出される。
【００７４】
そして、処理要求送信部３２は、被処理データ列Ｄｂを外部バスＩ／Ｆ３５へ出力し終えた後、処理時間算出部３４で算出された処理時間Ｔｄが経過してから、要求受付部３１のキューバッファから次の被処理データ列Ｄｃを読み出して、データ長計数部３３を介して外部バスＩ／Ｆ３５へ出力する。以下、被処理データ列Ｄａ，Ｄｂの場合と同様の処理が繰り返されることとなる。
【００７５】
この場合、機能モジュールＡ，Ｂ，Ｃ、外部バスＩ／Ｆ２４，３５、調停部２２、及びメモリコントローラ２３を含むデータ処理経路のうち、スループットのボトルネックとなる外部バスＩ／Ｆ２４，３５が、処理要求送信部３２の直後に接続されており、外部バスＩ／Ｆ３５は、処理対象となる被処理データ列を処理要求送信部３２以外から受信することがないので、処理要求送信部３２以外の構成要素から外部バスＩ／Ｆ３５へ出力された被処理データ列によって、輻輳が生じることがない。
【００７６】
また、優先度設定レジスタ２２１には、ＣＰＵコア２１よりも外部バスＩ／Ｆ２４の優先順位が高く設定されており、調停部２２は、ＣＰＵコア２１からのメモリ４へのアクセス要求と、外部バスＩ／Ｆ２４からのメモリ４へのアクセス要求とが競合した場合に外部バスＩ／Ｆ２４からのメモリ４へのアクセス要求を優先するので、処理要求送信部３２が、外部バスＩ／Ｆ２４，３５、調停部２２、及びメモリコントローラ２３を含むデータ処理経路において輻輳が生じないように被処理データ列間に処理時間Ｔｄの間隔を空けているにもかかわらず、ＣＰＵコア２１からのメモリ４へのアクセス要求に起因して処理時間Ｔｄの時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。
【００７７】
なお、データ処理部が、外部バスＩ／Ｆ２４，３５、調停部２２、及びメモリコントローラ２３の各処理部から構成される例を示したが、各処理部としては外部バスＩ／Ｆ２４，３５、調停部２２、及びメモリコントローラ２３に限定されず、種々の構成要素を用いることができる。
【符号の説明】
【００７８】
１  情報処理装置
２  マイクロプロセッサ
３  ＡＳＩＣ
４  メモリ
５  データ処理部
２１  ＣＰＵコア
２２  調停部
２３  メモリコントローラ
２４，３５  外部バスＩ／Ｆ
３０  処理要求送信回路
３１  要求受付部
３２  処理要求送信部
３３  データ長計数部
３４  処理時間算出部
２２１  優先度設定レジスタ
Ａ，Ｂ，Ｃ  機能モジュール
Ｄａ，Ｄｂ，Ｄｃ  被処理データ列
Ｌｄ，Ｌｄａ，Ｌｄｂ，Ｌｄｃ  データ長
Ｔｄ  処理時間
【図１】
0005478342.tif 000002