説明

処理要求送信回路、及び情報処理装置

【課題】データ処理部において輻輳が発生するおそれを低減しつつ、システムの性能を引き出すことが容易な処理要求送信回路、及び情報処理装置を提供する。
【解決手段】被処理データ列を受け付ける要求受付部31と、受け付けられた被処理データ列をデータ処理部5へ送信する処理要求送信部32と、被処理データ列のデータ長を計数するデータ長計数部33と、計数されたデータ長のデータをデータ処理部5が処理するのにかかる処理時間を算出する処理時間算出部34とを備え、処理要求送信部32は、一の被処理データ列をデータ処理部5へ送信した後、次に被処理データ列をデータ処理部5へ送信するまでに、一の被処理データ列についてデータ長計数部33により計数されたデータ長に基づき処理時間算出部34によって算出された処理時間以上の間隔を空けるようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理部に処理を要求する処理要求送信回路、及び情報処理装置に関する。
【背景技術】
【0002】
近年、システムが大規模化し、システム内には様々な構成要素が散在し、インターフェース速度が向上することで、データ処理の順序と物理的な配置の関係を重要視する必要がなくなった。むしろ、物理的な配置の制約がないことが望まれている。
【0003】
その結果、複数の構成要素が高速の通信路を共用する際の輻輳を回避したり、構成要素が他の構成要素を共用する際の輻輳を回避したりするための調停処理が必要となり、システム全体としての制御が難しくなっている。
【0004】
従来、データ処理ネットワークにおける輻輳の回避方法として、以下のような技術が知られている(例えば、特許文献1参照。)。この技術は、宛先毎に2個以上の優先度キューを持つ複数個の送信元ノードと、全入力に対し宛先毎に均等に出力を行うスイッチと、前記スイッチからデータを受信する複数個の宛先ノードにより構成するスイッチファブリックを用いる。
【0005】
そして、送信元ノードが管理するスイッチの宛先毎の受信バッファ空き容量が、設定した輻輳閾値以下となったら当該宛先が輻輳しているとみなし、当該宛先に対し前記優先度キューからのデータ出力を優先度に応じて予め設定した帯域まで制限し、また前記宛先毎の受信バッファ空き容量が設定した輻輳解除閾値以上となったら当該宛先の輻輳が解除されたとみなし、前記の優先度に応じた帯域制限を解除することで、輻輳を回避する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−166888号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、システムの拡張性や柔軟性の観点からデファクトなシステムへの接続や、デファクトな接続手段(通信インターフェース)の採用が必須となってきている。そのため、システム設計者といえども、既存、標準の構成要素を使う必要性から、調停方法を自由に変更することができず、調停方法をシステムに最適化することが困難になっている。
【0008】
例えば、マイクロプロセッサを用いたシステムにおいて、メモリのアクセスを制御するメモリ制御回路は、これまでシステム設計者がシステムに適合するように設計していた。しかしながら、近年、汎用のマイクロプロセッサがメモリ制御回路を内蔵するようになり、このようなマイクロプロセッサが主流となった今日では、メモリ制御回路近辺の仕様をシステム設計者がシステムに適合するように自由に設計することができなくなった。
【0009】
このように、メモリアクセスを調停する調停器がマイクロプロセッサ内に予め内蔵されると、マイクロプロセッサ内に搭載されている調停器は「汎用」のものであり、システムに特化していない。特に動作率を向上し、各構成要素の性能を限界近く引き出そうとしても、システムに最適化されていない汎用の調停器では、各構成要素の性能を引き出してシステム全体の性能向上を図ることが困難である。
【0010】
上述のデータ処理ネットワークにおける輻輳の回避方法(特許文献1)においても、受信バッファの空き容量が一定の閾値以上か以下かによってデータ内容の差異すなわちデータの送信先における処理量の差異に関わらず、データ送信の帯域を予め設定した帯域に制限するだけである。
【0011】
そのため、上述のデータ処理ネットワークにおける輻輳の回避方法では、データ送信先におけるデータ処理量にかかわらず輻輳を回避できるような帯域制限、すなわちデータ処理量が最大になったときでも輻輳を回避できるような帯域制限を行う必要があるため、過剰な帯域制限を行われてしまう結果、充分にシステムの性能を引き出すことができなかった。
【0012】
本発明の目的は、データ処理部において輻輳が発生するおそれを低減しつつ、システムの性能を引き出すことが容易な処理要求送信回路、及び情報処理装置を提供することである。
【課題を解決するための手段】
【0013】
本発明に係る処理要求送信回路は、データを処理するデータ処理部に処理を要求する被処理データ列を、受け付ける要求受付部と、前記要求受付部によって受け付けられた被処理データ列を、前記データ処理部へ送信する処理要求送信部と、前記被処理データ列のデータ長を計数するデータ長計数部と、前記データ長計数部によって計数されたデータ長のデータを、前記データ処理部が処理するのにかかる処理時間を算出する処理時間算出部とを備え、前記処理要求送信部は、一の被処理データ列を前記データ処理部へ送信した後、次に被処理データ列を前記データ処理部へ送信するまでに、前記一の被処理データ列について前記データ長計数部により計数されたデータ長に基づき前記処理時間算出部によって算出された処理時間以上の間隔を空ける。
【0014】
この構成によれば、要求受付部によって、データ処理部への処理要求である被処理データ列が受け付けられる。そして、データ長計数部によって被処理データ列のデータ長が計数され、処理時間算出部によって、当該計数されたデータ長のデータをデータ処理部が処理するのにかかる処理時間が算出される。そして、処理要求送信部は、一の被処理データ列をデータ処理部へ送信した後、次に被処理データ列をデータ処理部へ送信するまでに、一の被処理データ列についてデータ長計数部により計数されたデータ長に基づき処理時間算出部によって算出された処理時間以上の間隔を空ける。
【0015】
これにより、前回送信された被処理データ列のデータ長に応じて算出された処理時間だけ、次に被処理データ列が送信されるまでに時間間隔が空くため、データ処理部において前回送信された被処理データ列と次に送信された被処理データ列とで輻輳が生じるおそれが低減される。そして、被処理データ列が送信される時間間隔は、前回の被処理データ列のデータ長、すなわちデータ処理部におけるデータ処理量に応じて設定されるので、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部において輻輳が発生するおそれを低減しつつ、データ処理部の性能を引き出すことが容易となる。
【0016】
また、前記要求受付部は、複数の前記被処理データ列を並行して受け付けし、前記処理要求送信部は、前記要求受付部によって受け付けられた複数の被処理データ列を、順次前記データ処理部へ送信することにより、複数の要求相互間の調停を行うことが好ましい。
【0017】
この構成によれば、要求受付部によって並行して受け付けられた複数の被処理データ列のデータ処理部への送信が、処理要求送信部によって調停されるので、データ処理部への処理要求を行いたい構成要素が複数ある場合であっても、非同期で被処理データ列を要求受付部へ出力することができ、設計が容易となる。
【0018】
また、前記被処理データ列を生成して前記要求受付部へ出力するデータ列生成部をさらに備え、前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部を含むデータ処理経路のうち、スループットのボトルネックとなる処理部が、前記処理要求送信部の直後に接続されており、前記ボトルネックとなる処理部は、処理対象となる被処理データ列の全部を前記処理要求送信部から受信することが好ましい。
【0019】
この構成によれば、複数の処理部を含むデータ処理経路のうち、スループットのボトルネックとなる処理部が処理要求送信部の直後に接続されており、当該ボトルネックとなる処理部は、処理対象となる被処理データ列を処理要求送信部以外から受信することがないので、処理要求送信部以外の構成要素から当該ボトルネックとなる処理部へ出力された被処理データ列によって、輻輳が生じることがない。
【0020】
また、前記データ長計数部は、前記被処理データ列が前記処理要求送信部から前記データ処理部に至る経路上に、一つ設けられ、当該処理要求送信部から送信された被処理データ列のデータ長を計数することが好ましい。
【0021】
この構成によれば、要求受付部に複数の被処理データ列が入力される複数の経路に複数のデータ長計数部を設けて各被処理データ列のデータ長を計数する場合と比べてデータ長計数部の数を減少させることが出来るので、回路を簡素化することが容易である。
【0022】
また、前記データ長計数部によって計数されたデータ長Ldの被処理データ列を、前記データ処理部が処理するのにかかる処理時間Tdは、下記の式(1)で近似され、前記処理時間算出部は、前記処理時間Tdを、下記の式(1)を用いて算出することが好ましい。
【0023】
Td=a×Ld+b ・・・(1)
但し、a,bは定数。
【0024】
この構成によれば、処理時間算出部は、式(1)を用いて単純な一次関数の演算処理を行うことによって、処理時間Tdを算出することができるので、処理時間算出部の回路構成を簡素化することが容易である。
【0025】
また、本発明に係る情報処理装置は、上述の処理要求送信回路と、前記データ処理部と、前記データ処理部へアクセス要求を出力する情報処理部とを備え、前記データ処理部は、前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部として、前記処理要求送信部から出力された被処理データ列を伝送するインターフェース回路と、メモリと、前記メモリへのアクセスを行うメモリ制御部と、前記情報処理部からのアクセス要求、及び前記インターフェース回路によって伝送されてきた被処理データ列を受け付けて、当該受け付けられたアクセス要求と被処理データ列との関係を調停し、当該調停された順で、前記メモリ制御部による前記メモリへのアクセスを実行させる調停部とを含み、前記複数の処理部のうち、前記インターフェース回路が前記ボトルネックとなる処理部である。
【0026】
この構成によれば、処理要求送信回路と、情報処理部と、調停部と、メモリ制御部と、メモリと、処理要求送信部から出力された被処理データ列を調停部へ伝送するインターフェース回路とを備えた情報処理装置の、インターフェース回路、調停部、メモリ制御部、及びメモリを含むデータ処理部において、輻輳が発生するおそれを低減しつつ、性能を引き出すことが容易となる。
【0027】
また、前記調停部は、予め設定された優先順位に従って、前記情報処理部からのアクセス要求と被処理データ列との関係を調停するものであり、前記情報処理部からのアクセス要求よりも前記インターフェース回路によって伝送されてきた被処理データ列の方が、前記優先順位が高いことが好ましい。
【0028】
この構成によれば、調停部において、情報処理部からのアクセス要求と処理要求送信部からの被処理データ列とが競合した場合、処理要求送信部からの被処理データ列が優先される。これにより、処理要求送信部が、データ処理部において輻輳が生じないように被処理データ列の送信間隔として処理時間の間隔を空けているにもかかわらず、情報処理部からのメモリへのアクセス要求に起因して、前記処理時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。
【発明の効果】
【0029】
このような構成の処理要求送信回路及び情報処理装置によれば、前回送信された被処理データ列のデータ長に応じて算出された処理時間だけ、次に被処理データ列が送信されるまでに時間間隔が空くため、データ処理部において前回送信された被処理データ列と次に送信された被処理データ列とで輻輳が生じるおそれが低減される。そして、被処理データ列が送信される時間間隔は、前回の被処理データ列のデータ長、すなわちデータ処理部におけるデータ処理量に応じて設定されるので、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部において輻輳が発生するおそれを低減しつつ、データ処理部の性能を引き出すことが容易となる。
【図面の簡単な説明】
【0030】
【図1】本発明の一実施形態に係る処理要求送信回路を用いた情報処理装置の一例を示すブロック図である。
【発明を実施するための形態】
【0031】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図1は、本発明の一実施形態に係る処理要求送信回路を用いた情報処理装置の一例を示すブロック図である。
【0032】
図1に示す情報処理装置1は、マイクロプロセッサ2、ASIC(Application Specific Integrated Circuit)3、及びメモリ4を備えて構成されている。
【0033】
マイクロプロセッサ2は、例えばCPUコア21(CPU;Central Processing Unit)(情報処理部)と、調停部22と、メモリコントローラ23(メモリ制御部)と、外部バスI/F24(インターフェース回路)とを備えて構成されている。マイクロプロセッサ2は、例えば汎用品であり、情報処理装置1の設計者はマイクロプロセッサ2の設計を自由に変更することはできない。マイクロプロセッサ2としては、例えばARM社製、ARM926EJ−Sを用いることができる。
【0034】
ASIC3は、処理要求送信回路30と、外部バスI/F35(インターフェース回路)とを備えて構成されている。処理要求送信回路30は、複数の機能モジュールA,B,C(データ列生成部)と、要求受付部31と、処理要求送信部32と、データ長計数部33と、処理時間算出部34とを備えて構成されている。ASIC3は、情報処理装置1の設計者が、情報処理装置1に合わせて自由に設計できる専用回路である。
【0035】
そして、外部バスI/F24,35、調停部22、メモリコントローラ23、及びメモリ4から、データ処理部5の一例が構成されている。
【0036】
外部バスI/F24,35は、マイクロプロセッサ2とASIC3との間でデータを送受信するバスインターフェース回路である。外部バスI/F24,35は、パラレルバスであってもよく、シリアルバスであってもよく、種々のインターフェース回路を用いることができる。
【0037】
CPUコア21は、プログラムの実行に伴い、メモリ4をアクセスする。CPUコア21が、メモリ4をアクセスする際には、調停部22を介してメモリコントローラ23へアクセス要求を出力し、メモリコントローラ23によって、メモリ4へのメモリアクセスを実行させる。
【0038】
調停部22は、CPUコア21からのメモリ4へのアクセス要求と、外部バスI/F24からのメモリ4へのアクセス要求とが競合した場合に調停を行う調停回路である。調停部22は、優先度設定レジスタ221を備えており、優先度設定レジスタ221に予め設定された優先順位に応じて、CPUコア21からのメモリ4へのアクセス要求よりも、外部バスI/F24からのメモリ4へのアクセス要求を優先させるようになっている。
【0039】
優先度設定レジスタ221は、CPUコア21と外部バスI/F24との優先順位の設定を記憶するレジスタで、予め、CPUコア21よりも外部バスI/F24の優先順位が高く設定されている。なお、情報処理装置1においては、CPUコア21からのメモリ4へのアクセス要求よりも、外部バスI/F24からのメモリ4へのアクセス要求が優先された場合であっても、外部バスI/F24によるメモリ4の占有率は70%以下程度になるようにされている。
【0040】
メモリコントローラ23は、CPUコア21からのメモリ4へのアクセス要求と、外部バスI/F24からのメモリ4へのアクセス要求とを、調停部22を介して受信し、そのアクセス要求に応じてメモリ4へのアクセスを実行する。
【0041】
アクセス要求は、リードアクセスであってもライトアクセスであってもいずれでもよいが、以下、説明を判りやすくするためライトアクセスを例に説明する。
【0042】
機能モジュールA,B,Cは、それぞれ、情報処理装置1の機能を実現するために種々の情報処理を行って、その情報処理の実行結果として被処理データ列を生成し、要求受付部31へ出力する。なお、機能モジュールA,B,Cは、処理要求送信回路30に含まれている必要はなく、要求受付部31が、ASIC3の外部から被処理データ列を受信する構成であってもよい。
【0043】
要求受付部31は、例えば機能モジュールA,B,Cから受信した被処理データ列を、一時的に記憶するキューバッファを備えて構成されている。要求受付部31は、例えば、機能モジュールA,B,Cから出力された被処理データ列を、並列的に受け付けて、キューバッファに記憶させるようになっている。キューバッファは、処理要求送信部32から読出し可能にされている。
【0044】
処理要求送信部32は、要求受付部31によって機能モジュールA,B,Cから受信されて例えばキューバッファに記憶されている被処理データ列を、例えば要求受付部31によって受信された順、あるいは機能モジュールA,B,Cについて予め設定された優先順位の順等、所定の順序で読み出して、順次データ処理部5へ送信する。
【0045】
具体的には、処理要求送信部32は、例えば要求受付部31のキューバッファから読み出した一の被処理データ列を、外部バスI/F35へ出力し、外部バスI/F35から外部バスI/F24へ送信させる。これにより、外部バスI/F24で受信された被処理データ列が、調停部22によって、CPUコア21のメモリアクセスと調停されてメモリコントローラ23へ出力され、メモリコントローラ23によってメモリ4に書き込まれるようになっている。
【0046】
そして、処理要求送信部32は、一の被処理データ列を外部バスI/F35へ出力し終えてから、当該一の被処理データ列について処理時間算出部34によって算出された処理時間tw以上の間隔を空けた後、次の被処理データ列の外部バスI/F35への送信を開始する。
【0047】
データ長計数部33は、処理要求送信部32から外部バスI/F35へ出力された被処理データ列のデータ長Ldを計数し、計数されたデータ長Ldを処理時間算出部34へ出力する。データ長Ldは、ビット長、バイト長、あるいはワード長であってもよい。
【0048】
なお、データ長計数部33を処理要求送信部32と外部バスI/F35との間に設ける代わりに、機能モジュールA,B,Cと要求受付部31との間に、機能モジュールA,B,Cに対応して3つのデータ長計数部33を設けて機能モジュールA,B,Cから出力された被処理データ列のデータ長Ldそれぞれ計数するようにしてもよい。
【0049】
しかしながら、図1に示すように、処理要求送信部32からデータ処理部5に至る経路上に一つ、データ長計数部33を設ける方が、データ長計数部33の数が少なくなるので回路を簡素化することが容易である。
【0050】
処理時間算出部34は、処理時間Tdを、データ長計数部33から出力されたデータ長Ldを用いて、下記の式(1)を用いて算出する。
【0051】
処理時間Td=a×Ld+b ・・・(1)
但し、a,bは定数である。
【0052】
定数a,bは、データ長Ldの被処理データ列を、データ処理部5が処理するのにかかる処理時間Td、すなわち処理要求送信部32から出力された被処理データ列がメモリ4に書き込まれるのにかかる処理時間Tdを、式(1)によって近似するように、予め例えば実験的に、あるいは理論計算により求められ、設定された値である。
【0053】
処理時間Tdは、データ処理部5全体としての処理時間(スループット)である。多くの場合、処理時間Tdは、データ処理部5におけるボトルネックとなる処理部の処理時間と等しくなる。そこで、例えばデータ処理部5におけるボトルネックとなる処理部の処理時間を、処理時間Tdとしてもよい。
【0054】
処理時間Tdは、厳密に計算しようとすると、下記のようになる。例えば、処理要求送信部32から外部バスI/F35へ出力されたデータ長Ldの被処理データ列は、外部バスI/F35において所定の通信フォーマットに変換され、例えばヘッダやプリアンブル、制御ビット等が付加されて、データ量が増大する。そこで、外部バスI/F35から外部バスI/F24へ送信されるデータ量を、関数fxによってfx(Ld)と表す。
【0055】
そして、fx(Ld)のデータ量となった被処理データ列が外部バスI/F24で受信されると、外部バスI/F24において調停部22で処理可能なデータフォーマットに変換され、そのデータ量は関数fyを用いてfy(fx(Ld))と表される。
【0056】
ここで、外部バスI/F35,24による通信処理時間は、Tx(fx(Ld))と表される。そして、外部バスI/F24から調停部22を介してメモリコントローラ23へ被処理データ列を転送する処理時間、すなわち調停部22の処理時間は、Ty(fy(fx(Ld)))と表される。
【0057】
次に、メモリコントローラ23において、データ量がfy(fx(Ld))となった被処理データ列から、元のデータ長Ldの被処理データ列が取り出されてメモリ4に書き込まれる。このとき、メモリコントローラ23によるメモリ4の書込処理時間は、Tz(Ld)と表される。
【0058】
そうすると、データ処理部5のスループットの観点から、処理要求送信部32から出力された被処理データ列がメモリ4に書き込まれるのにかかる処理時間Tdは、Tx(fx(Ld))、Ty(fy(fx(Ld)))、及びTz(Ld)のうちの最大値として得られる。
【0059】
しかしながら、Tx(fx(Ld))、Ty(fy(fx(Ld)))、及びTz(Ld)を計算し、その最大値を得ようとすると、例えば実際に外部バスI/F35,24、調停部22、及びメモリコントローラ23を動作させる等して動的にTx(fx(Ld))、Ty(fy(fx(Ld)))、及びTz(Ld)を検出するなどの処理が必要となるため、処理時間Tdの算出処理が大変複雑となり、その算出回路の回路規模の増大や、算出時間の増大を招く結果となって望ましくない。
【0060】
そこで、データ処理部5全体の処理時間を、例えば実験的に最小二乗法等の手法により式(1)における定数a,bを求めたり、理論計算により予め定数a,bを求めたりしておくことで、式(1)による単純な一次関数の演算処理によって、近似的に、簡素な回路によって短時間で処理時間Tdを求めることが可能とされている。
【0061】
ここで、一般的には、Tx(fx(Ld))、fy(fx(Ld))、及びTz(Ld)のうち、外部バスI/F35,24による通信処理時間、すなわちTx(fx(Ld))が、最大となる。この場合、外部バスI/F35,24と、調停部22と、メモリコントローラ23とのうち、外部バスI/F35,24がデータ処理部5におけるボトルネックとなっている。
【0062】
次に、上述のように構成された情報処理装置1の動作について説明する。まず、機能モジュールA,B,Cから、データ長Ldaの被処理データ列Da、データ長Ldbの被処理データ列Db、データ長Ldcの被処理データ列Dcのライトアクセスの要求が、ほぼ同時に要求受付部31へ出力されたものとする。
【0063】
そうすると、要求受付部31のキューバッファに、被処理データ列Da、被処理データ列Db、及び被処理データ列Dcが記憶される。
【0064】
次に、処理要求送信部32によって、要求受付部31のキューバッファから、例えば機能モジュールA,B,Cの順に予め設定された優先順位に応じて被処理データ列Daが読み出され、データ長計数部33を介して外部バスI/F35へ出力される。
【0065】
そうすると、処理要求送信部32から外部バスI/F35へ被処理データ列Daが転送される過程で、データ長計数部33によって被処理データ列Daのデータ長Ldaが計数され、データ長Ldaを示す情報が処理時間算出部34へ出力される。
【0066】
そして、処理時間算出部34によって、式(1)を用いて処理時間Tdが算出され、算出された処理時間Tdが処理要求送信部32へ出力される。
【0067】
一方、外部バスI/F35は、被処理データ列Daを受信して外部バスI/F24へ出力する。そうすると、外部バスI/F24で受信された被処理データ列Daが、調停部22による調停を経てメモリコントローラ23へ出力され、メモリコントローラ23によってメモリ4へ書き込まれる。
【0068】
ここで、もし仮に処理要求送信部32が、被処理データ列Daを外部バスI/F35へ出力した直後に連続して次の被処理データ列Dbを外部バスI/F35へ出力すると、データ処理部5において、先に出力された被処理データ列Daの処理中に、被処理データ列Dbの処理が追いついてしまい、データ処理部5で輻輳が生じるおそれがある。
【0069】
そこで、処理要求送信部32は、被処理データ列Daを外部バスI/F35へ出力し終えた後、処理時間算出部34で算出された処理時間Tdが経過してから、要求受付部31のキューバッファから次の被処理データ列Dbを読み出して、データ長計数部33を介して外部バスI/F35へ出力する。
【0070】
そうすると、前回送信された被処理データ列Daのデータ長Ldaに応じて算出された処理時間Tdだけ、次に被処理データ列Dbが送信されるまでに時間間隔が空くため、データ処理部5において前回送信された被処理データ列Daと次に送信された被処理データ列Dbとで輻輳が生じるおそれが低減される。
【0071】
また、データ処理部5において、データ処理量が多ければ次の処理までの時間間隔が長くなり、データ処理量が少なければ次の処理までの時間間隔が短くなるため、背景技術に記載の輻輳の回避方法のように過剰な帯域制限を行って性能を低下させてしまうおそれを低減できる。そのため、データ処理部5において輻輳が発生するおそれを低減しつつ、情報処理装置1の性能を引き出すことが容易となる。
【0072】
以降、外部バスI/F35へ出力された被処理データ列Dbに基づいて、データ処理部5において、被処理データ列Daの場合と同様に処理が実行されて、メモリ4への書込が行われる。
【0073】
さらにその次には、被処理データ列Dbについてデータ長計数部33で計測されたデータ長Ldbから、処理時間算出部34により処理時間Tdが算出される。
【0074】
そして、処理要求送信部32は、被処理データ列Dbを外部バスI/F35へ出力し終えた後、処理時間算出部34で算出された処理時間Tdが経過してから、要求受付部31のキューバッファから次の被処理データ列Dcを読み出して、データ長計数部33を介して外部バスI/F35へ出力する。以下、被処理データ列Da,Dbの場合と同様の処理が繰り返されることとなる。
【0075】
この場合、機能モジュールA,B,C、外部バスI/F24,35、調停部22、及びメモリコントローラ23を含むデータ処理経路のうち、スループットのボトルネックとなる外部バスI/F24,35が、処理要求送信部32の直後に接続されており、外部バスI/F35は、処理対象となる被処理データ列を処理要求送信部32以外から受信することがないので、処理要求送信部32以外の構成要素から外部バスI/F35へ出力された被処理データ列によって、輻輳が生じることがない。
【0076】
また、優先度設定レジスタ221には、CPUコア21よりも外部バスI/F24の優先順位が高く設定されており、調停部22は、CPUコア21からのメモリ4へのアクセス要求と、外部バスI/F24からのメモリ4へのアクセス要求とが競合した場合に外部バスI/F24からのメモリ4へのアクセス要求を優先するので、処理要求送信部32が、外部バスI/F24,35、調停部22、及びメモリコントローラ23を含むデータ処理経路において輻輳が生じないように被処理データ列間に処理時間Tdの間隔を空けているにもかかわらず、CPUコア21からのメモリ4へのアクセス要求に起因して処理時間Tdの時間内に被処理データ列が処理できなくなることが原因となって、輻輳が生じてしまうおそれが低減される。
【0077】
なお、データ処理部が、外部バスI/F24,35、調停部22、及びメモリコントローラ23の各処理部から構成される例を示したが、各処理部としては外部バスI/F24,35、調停部22、及びメモリコントローラ23に限定されず、種々の構成要素を用いることができる。
【符号の説明】
【0078】
1 情報処理装置
2 マイクロプロセッサ
3 ASIC
4 メモリ
5 データ処理部
21 CPUコア
22 調停部
23 メモリコントローラ
24,35 外部バスI/F
30 処理要求送信回路
31 要求受付部
32 処理要求送信部
33 データ長計数部
34 処理時間算出部
221 優先度設定レジスタ
A,B,C 機能モジュール
Da,Db,Dc 被処理データ列
Ld,Lda,Ldb,Ldc データ長
Td 処理時間

【特許請求の範囲】
【請求項1】
データを処理するデータ処理部に処理を要求する被処理データ列を、受け付ける要求受付部と、
前記要求受付部によって受け付けられた被処理データ列を、前記データ処理部へ送信する処理要求送信部と、
前記被処理データ列のデータ長を計数するデータ長計数部と、
前記データ長計数部によって計数されたデータ長のデータを、前記データ処理部が処理するのにかかる処理時間を算出する処理時間算出部とを備え、
前記処理要求送信部は、
一の被処理データ列を前記データ処理部へ送信した後、次に被処理データ列を前記データ処理部へ送信するまでに、前記一の被処理データ列について前記データ長計数部により計数されたデータ長に基づき前記処理時間算出部によって算出された処理時間以上の間隔を空けること
を特徴とする処理要求送信回路。
【請求項2】
前記要求受付部は、
複数の前記被処理データ列を並行して受け付けし、
前記処理要求送信部は、
前記要求受付部によって受け付けられた複数の被処理データ列を、順次前記データ処理部へ送信することにより、複数の要求相互間の調停を行うこと
を特徴とする請求項1記載の処理要求送信回路。
【請求項3】
前記被処理データ列を生成して前記要求受付部へ出力するデータ列生成部をさらに備え、
前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、
前記複数の処理部を含むデータ処理経路のうち、スループットのボトルネックとなる処理部が、前記処理要求送信部の直後に接続されており、
前記ボトルネックとなる処理部は、処理対象となる被処理データ列の全部を前記処理要求送信部から受信すること
を特徴とする請求項2に記載の処理要求送信回路。
【請求項4】
前記データ長計数部は、
前記被処理データ列が前記処理要求送信部から前記データ処理部に至る経路上に、一つ設けられ、当該処理要求送信部から送信された被処理データ列のデータ長を計数すること
を特徴とする請求項2又は3記載の処理要求送信回路。
【請求項5】
前記データ長計数部によって計数されたデータ長Ldの被処理データ列を、前記データ処理部が処理するのにかかる処理時間Tdは、下記の式(1)で近似され、
前記処理時間算出部は、
前記処理時間Tdを、下記の式(1)を用いて算出すること
を特徴とする請求項2〜4のいずれか1項に記載の処理要求送信回路。
Td=a×Ld+b ・・・(1)
但し、a,bは定数
【請求項6】
請求項1〜5のいずれか1項に記載の処理要求送信回路と、
前記データ処理部と、
前記データ処理部へアクセス要求を出力する情報処理部とを備え、
前記データ処理部は、
前記データ処理部は、直列接続された複数の処理部を用いて前記要求された処理を実行するものであり、前記複数の処理部として、
前記処理要求送信部から出力された被処理データ列を伝送するインターフェース回路と、
メモリと、
前記メモリへのアクセスを行うメモリ制御部と、
前記情報処理部からのアクセス要求、及び前記インターフェース回路によって伝送されてきた被処理データ列を受け付けて、当該受け付けられたアクセス要求と被処理データ列との関係を調停し、当該調停された順で、前記メモリ制御部による前記メモリへのアクセスを実行させる調停部とを含み、
前記複数の処理部のうち、前記インターフェース回路が前記ボトルネックとなる処理部であること
を特徴とする情報処理装置。
【請求項7】
前記調停部は、
予め設定された優先順位に従って、前記情報処理部からのアクセス要求と被処理データ列との関係を調停するものであり、
前記情報処理部からのアクセス要求よりも前記インターフェース回路によって伝送されてきた被処理データ列の方が、前記優先順位が高いこと
を特徴とする請求項6記載の情報処理装置。

【図1】
image rotate


【公開番号】特開2011−223445(P2011−223445A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−92266(P2010−92266)
【出願日】平成22年4月13日(2010.4.13)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】