(57)【要約】  【課題】  複数の処理部が共用メモリにアクセスするデータ処理装置において、パイプライン処理効率を損なうことなく、各処理部間のアクセス調停を実現できるデータ処理装置を提供する。  【解決手段】  前記各処理部より、該データ受け渡し準備状態を示す状態フラグを出力するようにし、調停部１２０では、共用メモリ１３０へのアクセスを要求した複数の処理部について、その前段または後段の処理部の前記状態フラグを参照して、待ち状態になる可能性が低い処理部を選択し、その処理部に対して優先的にアクセスを許可する。【選択図】  図１
2006065453.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータに対して所定の処理を行う複数の処理部が直列に接続され、該各処理部のデータの受け渡し準備状態を示す状態フラグに基づいて、前記各処理部でパイプライン処理が行われるパイプライン処理部と、
前記各処理部からアクセスが可能な共用メモリと、
前記各処理部から出力される前記共用メモリへのアクセスを要求するリクエスト信号と、前記状態フラグとに基づいて、前記リクエスト信号の調停を行う調停部と、を備える、
ことを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記調停部は、
前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力された場合、該リクエスト信号が出力された各処理部の、該パイプライン処理部中における前または後ろの処理部の前記状態フラグを参照し、前記各処理部のうち、待ち状態になる可能性が低い処理部から優先的に前記共用メモリへのアクセスを許可する、
ことを特徴とするデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記状態フラグは、前記各処理部の後段の処理部にデータを出力可能な状態にあることを示すスタート信号と、該処理部の前段の処理部からデータを受信可能な状態にあることを示すレディー信号と、該処理部の前段の処理部から出力されるスタート信号をリセットするリセット信号とからなり、
前記待ち状態になる可能性が低い処理部は、前記各処理部の前段の処理部から出力される前記スタート信号の状態と、該各処理部の後段の処理部から出力される前記レディー信号の状態に基づいて判定される、
ことを特徴とするデータ処理装置。
【請求項４】
請求項１に記載のデータ処理装置において、
前記パイプライン処理部に入力されるデータの入力レートを測定する入力レート測定部を備え、
前記調停部は、前記各処理部から出力される前記リクエスト信号と、前記状態フラグと、前記入力レート測定部で測定される前記入力レートの値とに基づいて、前記共用メモリへのアクセス要求の調停を行う、
ことを特徴とするデータ処理装置。
【請求項５】
請求項４に記載のデータ処理装置において、
前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力され、且つ、該複数の処理部の前記状態フラグが互いに同じ状態である時、前記調停部は前記入力レートの値を参照し、
該入力レートの値が予め設定された値より低い場合は、前記パイプライン処理部の最後段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可し、
前記入力レートの値が前記予め設定された値以上の場合は、前記パイプライン処理部の最前段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可する、
ことを特徴とするデータ処理装置。
【請求項６】
請求項１に記載のデータ処理装置において、
前記パイプライン処理部に入力されるデータを格納する入力バッファと、
前記入力バッファ内のデータ残量を測定する入力データ残量測定部とを備え、
前記調停部は、前記各処理部から出力される前記リクエスト信号と、前記状態フラグと、前記入力データ残量測定部で測定された前記入力バッファ内のデータ残量とに基づいて、前記共用メモリへのアクセス要求の調停を行う、
ことを特徴とするデータ処理装置。
【請求項７】
請求項６に記載のデータ処理装置において、
前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力され、且つ、該複数の処理部の前記状態フラグが互いに同じ状態である時、前記調停部は前記入力バッファ内のデータ残量を参照し、
該データ残量が、前記パイプライン処理部の最前段の処理部が所定の処理を行うのに必要なデータ数に満たない場合は、該パイプライン処理部の最後段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可し、
前記データ残量が、前記最前段の処理部が所定の処理を行うのに必要なデータ数以上である場合は、前記パイプライン処理部の最前段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可する、
ことを特徴とするデータ処理装置。
【請求項８】
請求項１に記載のデータ処理装置において、
前記パイプライン処理部から出力される、前記パイプライン処理後のデータを格納する出力バッファと、
前記出力バッファ内のデータ残量を測定する出力データ残量測定部とを備え、
前記調停部は、前記各処理部から出力される前記リクエスト信号と、前記状態フラグと、前記出力データ残量測定部で測定された前記出力バッファ内のデータ残量とに基づいて、前記共用メモリへのアクセス要求の調停を行う、
ことを特徴とするデータ処理装置。
【請求項９】
請求項８に記載のデータ処理装置において、
前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力され、且つ、該複数の処理部の前記状態フラグが互いに同じ状態である時、前記調停部は前記出力バッファ内のデータ残量を参照し、
該データ残量が、予め設定されたデータ数に満たない場合は、前記パイプライン処理部の最後段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可し、
前記データ残量が前記予め設定されたデータ数以上である場合は、前記パイプライン処理部の最前段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可する、
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特に、パイプライン処理を行う複数の処理部がその処理の過程で共用メモリへアクセスすることが必要なデータ処理装置に関する。
【背景技術】
【０００２】
複数の処理部が共用のメモリにアクセスするようなデータ処理装置に於いては、アクセスが重複した際に、何らかのアクセス調停を行う必要がある。そして、このアクセス調停を行うに際しては、共用メモリにアクセスし得る処理部に対し、何らかの優先権を割り当てるのが一般的であり、その調停方式としては、例えば、優先度を固定的に決定する固定優先判定方式や、優先度をあるルールに基づき巡回させる変動優先度判定方式、さらにこれらを組み合わせた優先度決定方式などがある（例えば、特許文献１参照）。
【０００３】
以下、特許文献１に示される従来のデータ処理装置について説明する。
図８は従来のデータ処理装置の構成を示す図である。
【０００４】
従来のデータ処理装置５００は、主記憶装置５２０と、該主記憶装置５２０に対してプログラムのフェッチやデータのリード／ライト転送を行い、またモジュール０（５４０）を介して、システムバス５９０のモジュール１（５５０）〜モジュールｎ（５７０）にアクセス可能なＣＰＵ５１０と、前記システムバス５９０のアービトレーションを集中制御するバスアービタ５３０とを有している。
【０００５】
そして、前記バスアービタ５３０は、図９に示すように、各モジュールに対して予め固定的に割り当てられた固定優先度を格納する固定優先度レジスタ５３１と、各モジュール間の固定優先度を互いに比較する固定優先度比較部５３２と、バスアービトレーション毎に変動する変動優先度を、各モジュール間で比較する変動優先度比較部５３３と、前記固定優先度比較部５３２からの比較結果、前記変動優先度比較部５３３からの比較結果に基づいて、バス許可信号を生成する優先度判定制御部５３４とを備える。
【０００６】
以上のような構成を有するデータ処理装置５００において、２以上のモジュールからバス要求信号がアサートされると、まず固定優先度比較部５３２で固定優先度の優先判定が行なわれる。前記固定優先度比較部５３２は、その優先判定にて固定優先度が最も高いモジュールを選択し、該選択されたモジュールが１つならば、そのモジュールに対してバス許可信号をアサートし、一方、前記固定優先度比較部５３２における優先判定で選択されたモジュールが２以上ならば、変動優先度比較部５３３において変動優先度の優先判定を行い、そのとき変動優先度がもっとも高いモジュールに対してバス許可信号をアサートする。なお、変動優先度は、バスアービトレーション毎に変化する優先度であり、ここでは、バスマスタになったモジュールは変動優先度が最低となり、それ以下の変動優先度であったモジュールはそれぞれ変動優先度が一つ上がるようになっている。
【０００７】
このようにして、従来のデータ処理装置５００では、バスアービタ５３０にて、各モジュールの固定優先度や変動優先度に基づいて、システムバス５９０のアービトレーションを制御することで、各モジュールに固有のバスアクセスの最大待ち時間を越えることなく、効率的なバス転送を実現していた。
【特許文献１】特開平５−２５７８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、このような従来のデータ処理装置５００において、各モジュールが、お互いに影響を与える処理（例えば、パイプライン処理）を行なう場合には、該各モジュールに入力されるデータ量や処理量により、各モジュールのデータ処理状況が、その他のモジュールとお互いに影響を与えあい、該パイプライン処理内部の状態が刻々と変化する。
【０００９】
このような場合、従来のデータ処理装置５００では、その時々によりパイプライン処理全体のボトルネックになっているモジュールに対して、適切に共用メモリへのアクセスを許可することが難しく、この結果、システム全体の処理能力を向上させることは難しいという課題があった。
【００１０】
本発明は、前記課題を解決するためになされたものであり、複数の処理部が共用メモリにアクセスするデータ処理装置において、パイプライン処理効率を損なうことなく、各処理部間のアクセス調停を実現できるデータ処理装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
本発明の請求項１に記載のデータ処理装置は、入力されたデータに対して所定の処理を行う複数の処理部が直列に接続され、該各処理部のデータの受け渡し準備状態を示す状態フラグに基づいて、前記各処理部でパイプライン処理が行われるパイプライン処理部と、前記各処理部からアクセスが可能な共用メモリと、前記各処理部から出力される前記共用メモリへのアクセスを要求するリクエスト信号と、前記状態フラグとに基づいて、前記リクエスト信号の調停を行う調停部と、を備えるものである。
【００１２】
これにより、前記調停部に対して、複数の処理部から共用メモリへのアクセスを要求するリクエスト信号が出力された場合に、該パイプライン中の各処理部からのリクエスト信号だけでなく、該各処理部のデータ処理状態も考慮して、パイプライン全体の処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停することができる。
【００１３】
さらに、本発明の請求項２に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記調停部は、前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力された場合、該リクエスト信号が出力された各処理部の、該パイプライン処理部中における前または後ろの処理部の前記状態フラグを参照し、前記各処理部のうち、待ち状態になる可能性が低い処理部から優先的に前記共用メモリへのアクセスを許可するものである。
【００１４】
これにより、前記調停部が複数の処理部から共用メモリへのアクセスを要求するリクエスト信号を同時に受信した場合に、調停部は、該リクエスト信号を出力した各処理部に対して、該処理部のパイプライン処理部における前段、もしくは後段の処理部のデータ処理状態から該処理部が受ける影響を反映したアクセス調停を行うことができる。
【００１５】
さらに、本発明の請求項３に記載のデータ処理装置は、請求項２に記載のデータ処理装置において、前記状態フラグは、前記各処理部の後段の処理部にデータを出力可能な状態にあることを示すスタート信号と、該処理部の前段の処理部からデータを受信可能な状態にあることを示すレディー信号と、該処理部の前段の処理部から出力されるスタート信号をリセットするリセット信号とからなり、前記待ち状態になる可能性が低い処理部は、前記各処理部の前段の処理部から出力される前記スタート信号の状態と、該各処理部の後段の処理部から出力される前記レディー信号の状態に基づいて判定されるものである。
【００１６】
これにより、前記リクエスト信号を出力した各処理部が、将来的に前後段の処理部のデータ処理状態に影響されて待ち状態になる可能性を考慮して、該リクエスト信号の調停を行うことが可能となり、パイプライン全体の処理効率を損ねることなく、複数の処理部からのリクエスト信号を調停できる。
【００１７】
また、本発明の請求項４に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記パイプライン処理部に入力されるデータの入力レートを測定する入力レート測定部を備え、前記調停部は、前記各処理部から出力される前記リクエスト信号と、前記状態フラグと、前記入力レート測定部で測定される前記入力レートの値とに基づいて、前記共用メモリへのアクセス要求の調停を行うものである。
【００１８】
これにより、前記パイプライン処理部に入力される入力データの入力レートが変動したとしても、パイプライン処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停することができる。
【００１９】
さらに、本発明の請求項５に記載のデータ処理装置は、請求項４に記載のデータ処理装置において、前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力され、且つ、該複数の処理部の前記状態フラグが互いに同じ状態である時、前記調停部は前記入力レートの値を参照し、該入力レートの値が予め設定された値より低い場合は、前記パイプライン処理部の最後段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可し、前記入力レートの値が前記予め設定された値以上の場合は、前記パイプライン処理部の最前段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可するものである。
【００２０】
これにより、前記調停部において、前段または後段の処理部の状態フラグが同じ状態にある処理部が複数存在した場合も、パイプライン処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停することができる。
【００２１】
また、本発明の請求項６に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記パイプライン処理部に入力されるデータを格納する入力バッファと、前記入力バッファ内のデータ残量を測定する入力データ残量測定部とを備え、前記調停部は、前記各処理部から出力される前記リクエスト信号と、前記状態フラグと、前記入力データ残量測定部で測定された前記入力バッファ内のデータ残量とに基づいて、前記共用メモリへのアクセス要求の調停を行うものである。
【００２２】
これにより、入力バッファ内のデータ残量が、必要なデータ数に満たない場合に対しても、パイプライン処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停することができる。
【００２３】
さらに、本発明の請求項７に記載のデータ処理装置は、請求項６に記載のデータ処理装置において、前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力され、且つ、該複数の処理部の前記状態フラグが互いに同じ状態である時、前記調停部は前記入力バッファ内のデータ残量を参照し、該データ残量が、前記パイプライン処理部の最前段の処理部が所定の処理を行うのに必要なデータ数に満たない場合は、該パイプライン処理部の最後段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可し、前記データ残量が、前記最前段の処理部が所定の処理を行うのに必要なデータ数以上である場合は、前記パイプライン処理部の最前段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可するものである。
【００２４】
これにより、前記調停部において、前段または後段の処理部の状態フラグが同じ状態にある処理部が複数存在した場合も、パイプライン処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停することができる。
【００２５】
また、本発明の請求項８に記載のデータ処理装置は、請求項１に記載のデータ処理装置において、前記パイプライン処理部から出力される、前記パイプライン処理後のデータを格納する出力バッファと、前記出力バッファ内のデータ残量を測定する出力データ残量測定部とを備え、前記調停部は、前記各処理部から出力される前記リクエスト信号と、前記状態フラグと、前記出力データ残量測定部で測定された前記出力バッファ内のデータ残量とに基づいて、前記共用メモリへのアクセス要求の調停を行うものである。
【００２６】
これにより、パイプライン処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停し、一定のデータ出力レートを保つことができる。
【００２７】
さらに、本発明の請求項９に記載のデータ処理装置は、請求項８に記載のデータ処理装置において、前記パイプライン処理部を構成する複数の処理部から同時に前記リクエスト信号が出力され、且つ、該複数の処理部の前記状態フラグが互いに同じ状態である時、前記調停部は前記出力バッファ内のデータ残量を参照し、該データ残量が、予め設定されたデータ数に満たない場合は、前記パイプライン処理部の最後段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可し、前記データ残量が前記予め設定されたデータ数以上である場合は、前記パイプライン処理部の最前段側に位置する処理部から優先的に前記共用メモリへのアクセスを許可するものである。
【００２８】
これにより、前記調停部において、前段または後段の処理部の状態フラグが同じ状態にある処理部が複数存在した場合も、パイプライン処理効率を損ねることなく、共用メモリに対する各処理部からのアクセス要求を調停することができる。
【発明の効果】
【００２９】
以上のように、本発明のデータ処理装置によれば、複数ある処理部それぞれの処理状態がお互いに影響を与え合うようなシステムの場合でも、各処理部の処理状態を参照することにより、将来的にシステム全体のボトルネックとなる処理部に対して、優先的に共用メモリへのアクセスを促すことができ、この結果、データ処理装置の処理性能の向上を図ることができる。
【００３０】
また、本発明のデータ処理装置によれば、各処理部の処理状態からでは、将来的にシステム全体のボトルネックとなる処理部が判断できない場合も、アクセス調停時に、データの入力レートや、入力バッファ及び出力バッファ内のデータ残量に基づいて、そのパイプライン処理部における各処理部の位置を考慮することにより、該ボトルネックとなる処理部に対して優先的に共用メモリへのアクセスを促すことができ、データ処理装置の処理性能をさらに向上させることができる。
【発明を実施するための最良の形態】
【００３１】
（実施の形態１）
以下、本発明の実施の形態１を、図１〜図４を用いて説明する。
本実施の形態１のデータ処理装置は、パイプライン処理を行う複数の処理部の各々から、該処理部のデータ受け渡し準備状態を示す状態フラグを出力するようにし、調停部にて共用メモリに対する各処理部からのアクセスを調停する際、各処理部から出力される共用メモリへのアクセスを要求するリクエスト信号だけでなく、該各処理部から出力される状態フラグより各処理部のデータ処理状態を考慮して、アクセス調停を行なうようにしたものである。
【００３２】
図１は、本発明の実施の形態１におけるデータ処理装置構成の概略図である。
本実施の形態１のデータ処理装置１００は、それぞれ所定の処理を行う複数の処理部、ここでは５つの処理部Ａ１０１，Ｂ１０２，Ｃ１０３，Ｄ１０４，Ｅ１０５、が直列に接続されてなるパイプライン処理部１１０と、該各処理部Ａ１０１〜Ｅ１０５からアクセスが可能な共用メモリ１３０と、前記各処理部Ａ１０１〜Ｅ１０５の共用メモリ１３０へのアクセスを調停する調停部１２０とを有している。
【００３３】
前記各処理部Ａ１０１〜Ｅ１０５は、データを受信すると該データに対して所定の処理を行った後、該処理後のデータを後段の処理部に出力すると共に、各処理部Ａ１０１〜Ｅ１０５のデータ受け渡し準備状態を示す状態フラグＡ〜Ｅを、隣り合う前後段の処理部、及び調停部１２０に出力する。
【００３４】
ここで、前記状態フラグは、データの受け渡し準備ができている状態であるレディー状態と、データ受け渡し準備ができていない状態であるビジー状態との２つの状態をもつ。より詳細に述べると、前記レディー状態は、その処理部が入力されたデータに対して処理を完了し、後段の処理部にデータを出力することが可能な状態であり、また、ビジー状態は、その処理部が入力されたデータに対してまだ処理を完了しておらず、後段の処理部にデータを出力することも、前段の処理部からデータを受信することも不可能な状態である。
【００３５】
前記各処理部は、それぞれの前段の処理部から出力される前記状態フラグＡ〜Ｅに基づいてパイプライン処理を行う。例えば、処理部Ｂ１０２は、自身の処理が完了した場合、処理部Ａ１０１から出力される状態フラグＡを確認する。このとき、状態フラグＡがレディー状態であれば、処理部Ｂ１０２は、処理部Ａ１０１から次のデータを受け取り、自身の処理を続行する。一方、状態フラグＡがビジー状態であれば、処理部Ｂ１０２は、処理部Ａ１０１の処理が完了して、状態フラグＡがレディー状態になるまで待つ。
【００３６】
以下、図２を用いて、前記各処理部について詳述する。
図２は、本実施の形態１におけるデータ処理装置の処理部の構成を示す図である。ここでは処理部Ｂ１０２を一例として示すが、他の処理部についても同様である。
【００３７】
前記処理部Ｂ１０２は、前段の処理部Ａ１０１からのデータを演算処理する演算部Ｂ１０２１と、該演算部Ｂ１０２１にて演算処理されたデータを保持するバッファＢ１０２２とを備える。そして、前記調停部１２０及び、前後段の処理部Ａ１０１，Ｃ１０３に対して、データ受け渡し準備状態を示す状態フラグＢを出力する。
【００３８】
前記状態フラグＢは、図２に示すように、調停部１２０へ出力されるｒｅａｄｙ信号Ｂと、前記調停部１２０及び後段の処理部Ｃ１０３へ出力されるｓｔａｒｔ信号Ｂと、前段の処理部Ａ１０１へ出力されるｒｅｓｅｔ信号Ｂとからなる。
【００３９】
前記ｒｅａｄｙ信号Ｂは、その処理部Ｂ１０２のバッファＢ１０２２が空であり、いつでも前段の処理部Ａ１０１よりデータを受信して演算処理をスタートできる状態を示す信号であり、また、ｓｔａｒｔ信号Ｂは、この処理部Ｂ１０２のバッファＢ１０２２に、演算部Ｂ１０２１での処理後のデータが準備できており、後段の処理部Ｃに対してデータをいつでも出力できる状態を示す信号であり、前記ｒｅｓｅｔ信号は、前段の処理部Ａ１０１から処理部Ｂに出力される前記ｓｔａｒｔ信号Ａをリセットする信号である。よって、パイプライン処理において状態フラグＢがレディー状態であるとは、ｓｔａｒｔ信号Ｂが“有効”である場合を意味する。
【００４０】
そして前記各処理部Ａ１０１〜Ｅ１０５は、その自身の処理の過程で前記共用メモリ１３０にアクセスする必要がある場合に、調停部１２０に対してそれぞれリクエスト信号Ａ〜Ｅを出力する。具体的には、各処理部は、データの演算前、あるいは演算後、または演算の過程で、共用メモリ１３０への読み出しまたは書き込みを行なう。
【００４１】
ここで、状態フラグについて詳述する。図３は、本実施の形態１の各処理部に出入力される状態フラグの信号波形図である。なお、ここでは処理部Ｂ１０２を一例として示すが、他の処理部についても同様である。
【００４２】
図３に示すように、まず、時刻ｔ１において、バッファＢ１０２２が空の場合、処理部Ｂ１０２にてすぐに処理が開始できるため、ｒｅａｄｙ信号Ｂを“有効”にする（以下の説明において、各信号の極性を、“１”を“有効”、“０”を“無効”とする。）。
【００４３】
この状態で前段の処理部Ａ１０１から入力されるｓｔａｒｔ信号Ａが“有効”になると（時刻ｔ２）、該処理部Ａ１０１内のバッファＡ（図示せず）内にデータが準備されていることを意味するため、処理部Ｂ１０２は該バッファＡよりデータを受信して演算部Ｂ１０２１にて演算を開始する（時刻ｔ３）。
【００４４】
この演算部Ｂ１０２１における演算過程において、共用メモリ１３０にアクセスが必要な場合は、調停部１２０に対するリクエスト信号Ｂを“有効”にし（図示せず）、該リクエスト信号Ｂを受信した調停部１２０より有効なアクノレッジ信号Ｂを受信すると、前記処理部Ｂ１０２は共用メモリ１３０にアクセスを行い、処理後のデータはバッファＢ１０２２に格納する。なお、ここでは、処理部Ｂ１０２の演算部Ｂ１０２１による演算の過程で共用メモリ１３０にアクセスするものとしたが、前述したように、前記処理部Ｂ１０２の処理内容によっては、演算前あるいは演算後に、共用メモリ１３０にアクセスする場合もある。
【００４５】
以上のようにして、時刻ｔ３において処理部Ｂ１０２の演算部Ｂ１０２１にて演算が開始されると、バッファＢ１０２２は空ではなくなるため、ｒｅａｄｙ信号Ｂが“無効”になる。
【００４６】
そして、時刻ｔ４にて前記処理部Ｂ１０２の演算部Ｂ１０２１での演算が終了すると、時刻ｔ５に、処理部Ｂ１０２から前段の処理部Ａ１０１に出力されるｒｅｓｅｔ信号Ｂが“有効”になると共に、該処理部Ｂ１０２から後段の処理部Ｃ１０３に出力されるｓｔａｒｔ信号Ｂが“有効”になる。そして、前記処理部Ｂ１０２から処理部Ａ１０１に出力されるｒｅｓｅｔ信号Ｂが“有効”となると、それにより該処理部Ａ１０１から処理部Ｂ１０２に出力されるｓｔａｒｔ信号Ａがリセットされて“無効”となる（時刻ｔ６）。
【００４７】
さらに、処理部Ｂ１０２から処理部Ｃ１０３に出力されるｓｔａｒｔ信号Ｂが“有効”になると、該処理部Ｂ１０２内のバッファＢ１０２２内にデータが準備されていることを意味するため、この後、後段の処理部Ｃ１０３のバッファＣ（図示せず）が空になって、該処理部Ｃ１０３のｒｅａｄｙ信号Ｃが“有効”になった時点で（図示せず）、前記処理部Ｂ１０２のバッファＢ１０２２内のデータが、後段の処理部Ｃ１０３へ出力され、該処理部Ｃ１０３の演算部Ｃ（図示せず）にて演算が開始される。
【００４８】
そして、時刻ｔ７にて、処理部Ｃ１０３の演算部Ｃにて演算処理が終了すると、該処理部Ｃ１０３から処理部Ｂ１０２に出力されるｒｅｓｅｔ信号Ｃが“有効”になり（時刻ｔ８）、該ｒｅｓｅｔ信号Ｃを受信した処理部Ｂ１０２は、それにより、前記処理部Ｂから処理部Ｃ１０３に出力するｓｔａｒｔ信号Ｂをリセットして“無効”にする。さらに、バッファＣでの演算が終了したことにより、バッファＢ１０２２内のデータが不要であると判断してバッファＢ１０２２を空とみなして、再び処理部Ｂ１０２のｒｅａｄｙ信号Ｂを“有効”にする（時刻ｔ９）。
【００４９】
このように本実施の形態１の各処理部では、処理状態を示す状態フラグを、前後の処理部と調停部１２０とに出力する。
【００５０】
前記調停部１２０は、各処理部Ａ１０１〜Ｅ１０５から、共用メモリ１３０へのアクセスリクエスト信号Ａ〜Ｅと、前述したような状態フラグＡ〜Ｅとを受信し、共用メモリ１３０へのアクセス調停を行なう。
【００５１】
前述したように、前記パイプライン処理部１１０中の１つの処理部Ｂから共用メモリ１３０へのアクセスを要求するリクエスト信号Ｂを受信した場合は、その処理部Ｂに共用メモリへのアクセスを許可するアクノレッジ信号Ｂを出力する。
【００５２】
一方、前記パイプライン処理部１１０中の複数の処理部から同時に前記共用メモリ１３０へのアクセスを要求するリクエスト信号を受信した場合は、最も優先度の高い処理部を選択する優先度判定を行い、該判定により選択された処理部に対して、共用メモリ１３０へのアクセス要求を許可するアクノレッジ信号を出力する。
【００５３】
調停部１２０による優先度判定は、各処理部から出力される状態フラグに基づいて行なわれ、将来的に待ち状態になる可能性の最も低い処理部を、最も優先度が高いと判定する。
【００５４】
以下、本実施の形態１における調停部１２０での優先度判定について詳述する。
図４は、本実施の形態１のデータ処理装置における調停を説明する図である。ここでは処理部Ｂ１０２を一例として示すが、他の処理部についても同様である。
【００５５】
本実施の形態１の調停部１２０では、各処理部からリクエスト信号が同時に発行された場合、図４（ａ）に示すように、そのリクエスト信号が出力された処理部Ｂの、前段の処理部Ａのｓｔａｒｔ信号Ａの状態と、その後段の処理部Ｃのｒｅａｄｙ信号Ｃの状態とをチェックして、該２つの信号に基づいて、図４（ｂ）に示すような優先度判定を行なう。
【００５６】
具体的に述べると、まず前段の処理部Ａ１０１からのｓｔａｒｔ信号Ａ及び後段の処理部Ｃ１０３のｒｅａｄｙ信号Ｃが共に“有効”の場合は、前段の処理部Ａ１０１において、処理部Ｂ１０２へ送信するデータの準備ができており、且つ後段の処理部Ｃ１０３においても、すでに処理部Ｂ１０２からのデータを受け取る準備ができている状態を示す。このような状態において共用メモリ１３０へのアクセスを許可した場合は、滞りなく処理が進むため、調停部１２０では、将来待ち状態になる可能性が最も低いと判定する。
【００５７】
次に、前段の処理部Ａ１０１からのｓｔａｒｔ信号Ａが“有効”で、後段の処理部Ｃ１０３のｒｅａｄｙ信号Ｃが“無効”である場合は、前段の処理部Ａ１０１のデータは準備できているが、後段の処理部Ｃ１０３はデータ処理中のためデータの受け取り準備ができていない状態を示す。このような状態において、共用メモリ１３０へのアクセスを許可した場合、処理部Ｂ１０２は前段の処理部Ａ１０１からデータを受信して演算部Ｂ１０２１にて演算処理を進めることはできるが、後段の処理部Ｃ１０３がデータ処理中のため、該処理されたデータを処理部Ｃ１０３に送信できない可能性があり、調停部１２０では、将来待ち状態になる可能性があると判定する。
【００５８】
また、前段の処理部Ａ１０１からのｓｔａｒｔ信号Ａが“無効”で、後段の処理部Ｃ１０３のｒｅａｄｙ信号Ｃが“有効”である場合は、後段の処理部Ｃ１０３は、処理部Ｂ１０２からデータを受け取る準備ができているが、前段の処理部Ａ１０１が、処理部Ｂ１０２へ送信するデータを準備できていない状態を示す。このような状態において、共用メモリ１３０へのアクセスを許可した場合、処理部Ｂ１０２は前段の処理部Ａ１０１からデータが送信されないと、演算部Ｂ１０２１にて演算処理ができないため、調停部１２０では、将来待ち状態になる可能性が高いと判定する。ただし、処理部Ａ１０１よりデータが送信されれば、処理部Ｂ１０２にて演算処理されたデータをすぐに後段の処理部Ｃ１０３にて処理ができる。
【００５９】
そして、前段の処理部Ａ１０１からのｓｔａｒｔ信号Ａ及び後段の処理部Ｃ１０３のｒｅａｄｙ信号Ｃが共に“無効”の場合は、前段の処理部Ａ１０１が処理部Ｂ１０２へ送信するデータを準備できておらず、且つ後段の処理部Ｃ１０３もデータ処理中のためデータの受け取り準備ができていない状態を示す。このような状態において、共用メモリ１３０へのアクセスを許可した場合、処理部Ｂ１０２は前段の処理部Ａ１０１からデータが送信されないと、演算部Ｂ１０２１にて演算処理ができないし、また、該演算部Ｂ１０２１にて演算処理が終わっても、後段の処理部Ｃ１０３がデータ処理中のため、該処理されたデータを後段の処理部Ｃ１０３に送信できない可能性がある。よって、調停部１２０では、将来待ち状態になる可能性が極めて高いと判定する。
【００６０】
調停部１２０は、以上に示すような優先度判定に基づいてアクセス調停を行い、リクエスト信号を出力した処理部のうち、最も高い優先度をもつ処理部に対して、共用メモリ１３０へのアクセスを許可するアクノレッジ信号を出力する。
【００６１】
例えば、図１に示す処理部Ｂ１０２と処理部Ｄ１０４とから調停部１２０に対して同時にリクエスト信号が出力された時、処理部Ｂ１０２に入力される、処理部Ａ１０１からのｓｔａｒｔ信号Ａが“有効”で、処理部Ｃ１０３のｒｅａｄｙ信号Ｃが“無効”の状態にあり、一方、処理部Ｄに入力される処理部Ｃ１０３からのｓｔａｒｔ信号Ｃと処理部Ｅのｒｅａｄｙ信号Ｅが共に“有効”であったとする。この場合、調停部１２０は、前述した優先判断に基づき、処理部Ｄ１０４にアクノレッジ信号Ｄを出力する。
【００６２】
ここで、調停部１２０にリクエスト信号が同時に出力された時に、前述したように該リクエスト信号を出力した複数の処理部の処理状態が異なる場合は、以上に示した調停方法によって各処理部の状態フラグの状態に基づいて優先度判定を行なえばよいが、調停部１２０にリクエスト信号が同時に出力された時に前記複数の処理部の処理状態が同じ可能性もある。
【００６３】
このような場合、本実施の形態１では、リクエスト信号を出力した処理部のパイプライン処理部１１０における該処理部の位置に基づいて、優先度判定を行なうようにする。
【００６４】
例えば、リクエスト信号を出力した際、処理部Ｂ１０２に入力される処理部Ａ１０１からのｓｔａｒｔ信号Ａ及び処理部Ｃ１０３のｒｅａｄｙ信号Ｃが共に“有効”であり、一方処理部Ｄに入力される処理部Ｃ１０３からのｓｔａｒｔ信号Ｃ及び処理部Ｅ１０５のｒｅａｄｙ信号Ｅが共に“有効”である際に、調停部１２０において、前記処理部Ｂ１０２と処理部Ｄ１０４とから同時に共用メモリ１３０へのアクセスリクエスト信号を受信した場合、調停部１２０は、前段優先の場合は処理部Ｂ１０２が優先され、後段優先の場合は処理部Ｄ１０４が優先される。なお、前段優先にするか後段優先にするかは調停部に予め設定しておけばよい。
【００６５】
以上のように、本実施の形態１によれば、調停部１２０が、パイプライン処理部１１０中の各処理部からのアクセス要求の優先度判定を、該アクセス要求した各処理部の前後段の処理部の処理状態を考慮して行い、該優先度判定に基づいて共用メモリ１３０へのアクセスを調停するようにしたので、前記調停部１２０に複数の処理部から同時に共用メモリ１３０へのアクセスのリクエストが発行された場合に、該リクエストした処理部が、その前後段の処理部での処理状態に影響されて、将来待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ１３０へのアクセス要求の調停を行うことができ、この結果、パイプライン全体の処理効率を損ねることなく、共用メモリ１３０に対してアクセス調停を行うことが容易になる。
【００６６】
また、アクセス要求した各処理部の処理状態が同じ場合には、該アクセス要求した各処理部のパイプライン処理部１１０における位置で、優先度判定を行なうようにしたので、アクセス要求をした複数の処理部の処理状態が同じ場合も、パイプライン処理部全体の処理効率を損ねることなく、共用メモリ１３０に対してより適切にアクセス調停を行うことができる。
【００６７】
（実施の形態２）
以下、本発明の実施の形態２を、図５を用いて説明する。
本実施の形態２では、入力データの入力レートを測定するようにし、リクエスト信号を同時に出力した複数の処理部の処理状態が互いに同じ場合、該入力データの入力レート値に基づいて、優先度判定を行なうようにしたものである。
【００６８】
図５は、本発明の実施の形態２におけるデータ処理装置の構成を示すものである。
本実施の形態２のデータ処理装置２００は、それぞれ所定の処理を行う複数の処理部、ここでは５つの処理部Ａ１０１，Ｂ１０２，Ｃ１０３，Ｄ１０４，Ｅ１０５、が直列に接続されてなるパイプライン処理部２１０と、調停部２２０と、入力レート測定部２４０とを有している。
【００６９】
前記入力レート測定部２４０は、当該装置２００に入力される入力データの入力レートを測定し、その測定値を調停部２２０に出力するものである。
【００７０】
そして、前記調停部２２０は、各処理部Ａ１０１〜Ｅ１０５から、共用メモリ２３０へのアクセスを要求するリクエスト信号と、前記状態フラグに加え、前記入力レート測定部２４０より入力レート値を受信し、前記状態フラグと前記入力レート値に基づいて優先度判定を行い、最も優先度の高い処理部に対して、共用メモリ２３０へのアクセスを許可するアクノレッジ信号を出力する。なお、このほかの構成は、前記実施の形態１と同様であるため、ここでは詳細な説明を省略する。
【００７１】
以下、本実施の形態２における調停部２２０での優先度判定について説明する。
本実施の形態２の調停部２２０では、各処理部Ａ１０１〜Ｅ１０５から共用メモリ２３０へのアクセスを要求するリクエスト信号が同時に発行された場合、前述した実施の形態１と同様、そのリクエスト信号が出力された各処理部の、前段の処理部から出力されるｓｔａｒｔ信号の状態と、後段の処理部のｒｅａｄｙ信号の状態とをチェックして、各処理部からのリクエスト信号の優先度を判定する。
【００７２】
優先度判定において、前記複数の処理部の処理状態が互いに異なる場合は、前記実施の形態１で説明したように、各処理部の処理状態に応じて優先度判定を行なう。
【００７３】
一方、前記複数の処理部の処理状態が互いに同じである場合は、該リクエスト信号を出力した各処理部が位置するパイプライン処理部２１０の位置に応じて、優先度判定を行なうようにする。
【００７４】
以下、リクエスト信号を出力した複数の処理部の処理状態が互いに同じである場合の、優先度判定について説明する。
【００７５】
例えば、図５に示す、処理部Ｂ１０２の前段の処理部Ａ１０１からのｓｔａｒｔ信号Ａと後段の処理部Ｃ１０３のｒｅａｄｙ信号Ｃが共に“有効”であり、また処理部Ｄ１０４の前段の処理部Ｃ１０３からのｓｔａｒｔ信号Ｃと後段の処理部Ｅ１０５のｒｅａｄｙ信号Ｅが共に“有効”である際に、前記調停部２２０において、処理部Ｂ１０２と処理部Ｄ１０４とから同時にリクエスト信号を受信した場合、該調停部２２０は、処理部Ｂ１０２，Ｄ１０４のいずれが将来的に待ち状態になる可能性がより低いかを、入力レート測定部２４０にて測定された入力データの入力レート値により判定し、処理部Ｂ１０２と処理部Ｄ１０４とのどちらのリクエストを優先するかを決定する。
【００７６】
本実施の形態２では、予め調停部２２０に所定のレート値を設定しておき、前記入力データの入力レート値が、該所定のレート値よりも低いか高いかを確認し、それに応じて、パイプライン処理部２１０の最前段側に位置する処理部を優先するか、最後段側に位置する処理部を優先するかを決定する。
【００７７】
具体的に述べると、前記入力データの入力レート値が、該所定のレート値よりも低い場合は、パイプライン処理部２１０の前のほうに位置する処理部を優先したとしても、入力データがなかなか入力されない、または入力されるデータ量が少ないため、パイプライン処理部２１０の後のほうに位置する処理部を優先したほうが効率的と判定し、パイプライン処理部２１０の最後段側に位置する処理部、すなわち処理部Ｄ１０４の共用メモリ２３０へのアクセスを優先する。
【００７８】
一方、前記入力データの入力レート値が、前記所定のレート値以上の場合は、データが効率よく入力される、または入力されるデータが多いため、パイプライン処理部２１０の前のほうに位置する処理部を優先したほうが効率的と判定し、パイプライン処理部２１０の最前段側に位置する処理部、すなわち処理部Ｂ１０２の共用メモリ２３０へのアクセスを優先する。
【００７９】
このように、本実施の形態２の調停部２２０では、パイプライン処理部２１０中の各処理部から出力される共用メモリ２３０へのリクエスト信号と、各処理部から出力される状態フラグに加えて、当該装置２００に入力されるデータの入力レート値を用いてアクセス調停するようにし、リクエスト信号を出力した複数の処理部に、前段または後段の処理部の状態フラグが同じ状態にある処理部が複数存在した場合には、入力データの入力レートに基づいて、共用メモリ２３０へのアクセス調停をすることができ、入力レートが刻々と変動する場合においても、パイプライン全体の処理効率を損ねることなく、共用メモリ２３０へのアクセス調停をすることができる。
【００８０】
以上のように、本実施の形態２によれば、調停部２２０が、パイプライン処理部２１０中の各処理部から出力される、共用メモリ２３０へのアクセスを要求するリクエスト信号の優先度判定を、該アクセス要求した各処理部の前後段の処理部の処理状態を考慮して行い、該優先度判定に基づいて共用メモリ２３０へのアクセスを調停するようにしたので、前記調停部２２０に複数の処理部から同時に共用メモリ２３０へのアクセスのリクエストがあった場合に、該リクエストした処理部が、その前後段の処理部での処理状態に影響されて、将来待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ２３０へのアクセス要求の調停を行うことができる。
【００８１】
また本実施の形態２によれば、前記リクエスト信号を出力した複数の処理部の処理状態が同じ場合には、前記パイプライン処理部２１０に入力される入力データの入力レート値に応じて、該処理部のパイプライン処理部２１０における位置により優先度判定を行なうようにしたので、入力データの入力レートが変動して処理部が待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ２３０へのアクセスを要求するリクエスト信号の調停を行うことができ、この結果、入力データの入力レートが変動したとしても、パイプライン処理効率を損ねることなく、共用メモリ２３０に対してアクセス調停を行うことが容易になる。
【００８２】
（実施の形態３）
以下、本発明の実施の形態３を、図６を用いて説明する。
本実施の形態３では、入力データを保持する入力バッファと、該入力バッファ内のデータ残量を測定する入力データ残量測定部とを備えるようにし、リクエスト信号を同時に出力した複数の処理部の処理状態が互いに同じ場合、該入力データ残量測定部にて測定したデータ残量に基づいて、優先度判定を行うようにしたものである。
【００８３】
図６は、本発明の実施の形態３におけるデータ処理装置の構成を示すものである。
本実施の形態３のデータ処理装置３００は、それぞれ所定の処理を行う複数の処理部、ここでは５つの処理部Ａ１０１，Ｂ１０２，Ｃ１０３，Ｄ１０４，Ｅ１０５、が直列に接続されてなるパイプライン処理部３１０と、調停部３２０と、共用メモリ３３０と、当該装置に入力されたデータを格納する入力バッファ３５０と、該入力バッファ３５０のデータ残量を測定する入力データ残量測定部３４０とを有している。
【００８４】
そして、前記調停部３２０は、各処理部Ａ１０１〜Ｅ１０５から、共用メモリ３３０へのアクセスを要求するリクエスト信号と、前記状態フラグに加え、前記入力データ残量測定部３４０より、前記入力バッファ３５０のデータ残量を受信し、前記状態フラグと前記データ残量に基づいて優先度判定を行い、最も優先度の高い処理部に対して、共用メモリ３３０へのアクセスを許可するアクノレッジ信号を出力する。なお、このほかの構成は、前記実施の形態１と同様であるため、ここでは詳細な説明を省略する。
【００８５】
以下、本実施の形態３における調停部３２０での優先度判定について説明する。
まず、本実施の形態３では、入力データは入力バッファ３５０に格納される。そして、入力データ残量測定部３４０にて、該入力バッファ３５０に格納されているデータ残量を測定し、その値は調停部３２０に出力される。
【００８６】
本実施の形態３の調停部３２０では、各処理部Ａ１０１〜Ｅ１０５から共用メモリ３３０へのアクセスを要求するリクエスト信号が同時に発行された場合、前述した実施の形態１と同様、そのリクエスト信号が出力された各処理部の、前段の処理部から入力されるｓｔａｒｔ信号の状態と、後段の処理部のｒｅａｄｙ信号の状態とをチェックして、各処理部からのリクエスト信号の優先度を判定する。
【００８７】
優先度判定において、前記複数の処理部の処理状態が互いに異なる場合は、前記実施の形態１で説明したように、各処理部の処理状態に応じて優先度判定を行なう。
【００８８】
一方、前記複数の処理部の処理状態が互いに同じである場合は、該リクエスト信号を出力した各処理部が位置するパイプライン処理部３１０上の位置に応じて、優先度判定を行なうようにする。
【００８９】
以下、リクエスト信号を出力した複数の処理部の処理状態が同じである場合の、優先度判定について説明する。
例えば、図６に示す、処理部Ｂ１０２の前段の処理部Ａ１０１からのｓｔａｒｔ信号と後段の処理部Ｃ１０３のｒｅｄａｙ信号Ｃが共に“有効”であり、また処理部Ｄ１０４の前段の処理部Ｃ１０３からのｓｔａｒｔ信号Ｃと後段の処理部Ｅ１０５のｒｅａｄｙ信号Ｅとが共に“有効”である際に、調停部３２０において、処理部Ｂ１０２と処理部Ｄ１０４とから同時にリクエスト信号を受信した場合、該調停部３２０は、処理部Ｂ１０２，Ｄ１０４のいずれが将来的に待ち状態になる可能性が低いかを、入力データ残量測定部３４０にて測定された入力バッファ３５０のデータ残量値により判定し、処理部Ｂ１０２と処理部Ｄ１０４とのどちらのリクエストを優先するかを決定する。
【００９０】
本実施の形態３では、予め調停部３２０に所定のデータ値を設定しておき、前記入力データ残量測定部３４０で測定した入力バッファ３５０内のデータ残量値が、該所定のデータ量よりも多いか少ないかを確認し、それに応じて、パイプライン処理部３１０の最前段側に位置する処理部を優先するか、最後段側に位置する処理部を優先するかを決定する。なお、前記所定のデータ量とは、パイプライン処理部３１０の最前段である処理部Ａ１０１の処理に必要なデータ数を意味する。
【００９１】
具体的に述べると、前記データ残量値が、前記所定のデータ量に満たない場合は、処理部Ａ１０１にて処理を行うのにデータが足りていないので、パイプライン処理部３１０の前のほうに位置する処理部を優先したとしても、待ち状態になる可能性があり、パイプラインの後ろのほうに位置する処理部を優先したほうが効率的と判定し、パイプライン処理部３１０の最後段側に位置する処理部、すなわち処理部Ｄ１０４の共用メモリ３３０へのアクセスを優先する。
【００９２】
一方、前記データ残量値が、前記所定のデータ量を超えている場合は、処理部Ａ１０１にて処理を行うのに必要なデータが足りているので、パイプライン処理部３１０の前のほうに位置する処理部を優先したほうが効率的と判定し、パイプライン処理部３１０の最前段側に位置する処理部、すなわち処理部Ｂ１０２の共用メモリ３３０へのアクセスを優先する。
【００９３】
このように、本実施の形態３の調停部３２０では、パイプライン処理部３１０中の各処理部から出力される共用メモリ３３０へのリクエスト信号と、各処理部から出力される状態フラグに加えて、入力バッファ３５０内のデータ残量値を用いて、共用メモリ３３０へのアクセス調停するようにしたので、リクエスト信号を出力した複数の処理部に、前段または後段の処理部の状態フラグが同じ状態にある処理部が複数存在した場合には、入力バッファ３５０のデータ残量に基づいて、共用メモリ３３０へのアクセス調停をすることができ、入力データ残量がパイプライン処理部３１０の最前段の処理部Ａに必要なデータ数に満たない場合においても、パイプライン処理効率を損ねることなく、共用メモリ３３０に対してアクセス調停を行うことができる。
【００９４】
以上のように、本実施の形態３によれば、調停部３２０が、パイプライン処理部３１０中の各処理部から出力される、共用メモリ３３０へのアクセスを要求するリクエスト信号の優先度判定を、該アクセス要求した各処理部の前後段の処理部の処理状態を考慮して行い、該優先度判定に基づいて共用メモリ３３０へのアクセスを調停するようにしたので、前記調停部３２０に複数の処理部から同時に共用メモリ３３０へのアクセスのリクエストがあった場合に、該リクエストした処理部が、その前後段の処理部での処理状態に影響されて、将来待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ３３０へのアクセス要求の調停を行うことができる。
【００９５】
また、本実施の形態３によれば、前記パイプライン処理部３１０に入力される入力データを入力バッファ３５０に格納し、該入力バッファ３５０内のデータ残量を入力データ残量測定部３４０で測定して、該データ残量に応じて、該処理部のパイプライン処理部３１０における位置により優先度判定を行なうようにしたので、前記リクエスト信号を出力した複数の処理部の処理状態が同じ場合も、より効率のよいアクセス調停を行うことができる。さらに、前記入力バッファ３５０内のデータ残量が、パイプライン処理部３１０の最前段の処理部Ａ１０１にて必要なデータを満たさず、処理部Ａ１０１が待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ３３０へのアクセスを要求するリクエスト信号の調停を行うことができ、この結果、データ残量が必要なデータ数に満たない場合にも、パイプライン処理効率を損ねることなく、共用メモリ３３０に対してアクセス調停を行うことが容易になる。
【００９６】
（実施の形態４）
以下、本発明の実施の形態４を、図７を用いて説明する。
本実施の形態４では、出力データを保持する出力バッファと、該出力バッファ内のデータ残量を測定する出力データ残量測定部とを備えるようにし、リクエスト信号を同時に出力した複数の処理部の処理状態が互いに同じ場合、該出力データ残量測定部で測定したデータ残量に基づいて、優先度判定を行うようにしたものである。
【００９７】
図７は、本発明の実施の形態４におけるデータ処理装置の構成を示すものである。
本実施の形態４のデータ処理装置４００は、それぞれ所定の処理を行う複数の処理部、ここでは５つの処理部Ａ１０１，Ｂ１０２，Ｃ１０３，Ｄ１０４，Ｅ１０５、が直列に接続されてなるパイプライン処理部４１０と、調停部４２０と、共用メモリ４３０と、出力データを格納する出力バッファ４５０と、該出力バッファ４５０のデータ残量を測定する出力データ残量測定部４４０とを有している。
【００９８】
そして、前記調停部４２０は、各処理部Ａ１０１〜Ｅ１０５から、共用メモリ４３０へのアクセスを要求するリクエスト信号と、前記状態フラグに加え、前記出力データ残量測定部４４０より、前記出力バッファ４５０のデータ残量を受信し、前記状態フラグと前記データ残量に基づいて優先度判定を行い、最も優先度の高い処理部に対して、共用メモリ４３０へのアクセスを許可するアクノレッジ信号を出力する。なお、このほかの構成は、前記実施の形態１と同様であるため、ここでは詳細な説明を省略する。
【００９９】
以下、本実施の形態４における調停部４２０での優先度判定について説明する。
まず、本実施の形態４では、処理部Ｄから出力された出力データは出力バッファ４５０に格納される。そして、出力データ残量測定部４４０にて、該出力バッファ４５０に格納されているデータ残量を測定し、その値は調停部４２０に出力される。
【０１００】
本実施の形態４の調停部４２０では、各処理部Ａ１０１〜Ｅ１０５から共用メモリ４３０へのアクセスを要求するリクエスト信号が同時に発行された場合、前述した実施の形態１と同様、そのリクエスト信号が出力された各処理部の前段の処理部から入力されるｓｔａｒｔ信号の状態と、後段の処理部のｒｅａｄｙ信号の状態とをチェックして、各処理部からのリクエスト信号の優先度を判定する。
【０１０１】
そして、優先度判定において、前記複数の処理部の処理状態が互いに異なる場合は、前記実施の形態１で説明したように、各処理部の処理状態に応じて優先度判定を行なう。
一方、前記複数の処理部の処理状態が互いに同じである場合は、該リクエスト信号を出力した各処理部が位置するパイプライン処理部４１０上の位置に応じて、優先度判定を行なうようにする。
【０１０２】
以下、リクエスト信号を出力した複数の処理部の処理状態が同じである場合の、優先度判定について説明する。
例えば、図７に示す、処理部Ｂ１０２の前段の処理部Ａ１０１からのｓｔａｒｔ信号Ａと後段の処理部Ｃ１０３のｒｅａｄｙ信号Ｃが共に“有効”であり、また処理部Ｄ１０４の前段の処理部Ｃ１０３からのｓｔａｒｔ信号Ｃと後段の処理部Ｅのｒｅａｄｙ信号Ｅが共に“有効”である際に、調停部４２０において、処理部Ｂ１０２と処理部Ｄ１０４とから同時にリクエスト信号を受信した場合、該調停部４２０は、処理部Ｂ１０２，Ｄ１０４のいずれが将来的に待ち状態になる可能性が低いかを、出力データ残量測定部４４０にて測定された出力バッファ４５０のデータ残量値により判定し、処理部Ｂ１０２と処理部Ｄ１０４とのどちらのリクエストを優先するかを決定する。
【０１０３】
本実施の形態４では、予め調停部４２０に所定のデータ値を設定しておき、前記入力データ残量測定部４４０で測定した出力バッファ４５０内のデータ残量値が、該所定のデータ量よりも少ないか多いかを確認し、それに応じて、パイプライン処理部４１０の最前段側に位置する処理部を優先するか、最後段側に位置する処理部を優先するかを決定する。なお、前記所定のデータ量とは、パイプライン処理部４１０の最後段である処理部Ｅ１０５から出力するデータを保持するのに必要なデータ数を意味する。
【０１０４】
具体的に述べると、前記データ残量値が、前記所定のデータ量に満たない場合は、パイプライン処理部４１０の最後段の処理部Ｅ１０５から、出力バッファ４５０にデータを出力することができるため、パイプライン処理部４１０の後ろのほうに位置する処理部を優先したほうが効率的と判定し、パイプライン処理部４１０の最後段側に位置する処理部、すなわち処理部Ｄ１０４の共用メモリ４３０へのアクセスを優先する。
【０１０５】
一方、前記データ残量値が、前記所定のデータ量を超える場合は、パイプライン処理部４１０の最後段の処理部Ｅ１０５から、出力バッファ４５０にデータを出力することができないため、パイプライン処理部４１０の後のほうに位置する処理部を優先したとしても、待ち状態なる可能性があり、パイプラインの前のほうに位置する処理部を優先したほうが効率的と判定し、パイプライン処理部４１０の最前段側に位置する処理部、すなわち処理部Ｂ１０２の共用メモリ４３０へのアクセス要求を優先する。
【０１０６】
このように、本実施の形態４の調停部４２０では、パイプライン処理部４１０中の各処理部から出力される共用メモリ４３０へのリクエスト信号と、各処理部から出力される状態フラグに加えて、出力バッファ４５０内のデータ残量値を用いて、共用メモリ４３０へのアクセス調停をするようにしたので、リクエスト信号を出力した複数の処理部に、前段または後段の処理部の状態フラグが同じ状態にある処理部が複数存在した場合には、出力データのデータ残量に基づいて、共用メモリ４３０へのアクセス調停をすることができ、パイプライン処理効率を損ねることなく、共用メモリ４３０に対してアクセス調停を行い、一定のデータ出力レートを保つことが容易となる。
【０１０７】
以上のように、本実施の形態４によれば、調停部４２０が、パイプライン処理部４１０中の各処理部から出力される、共用メモリ４３０へのアクセスを要求するリクエスト信号の優先度判定を、該アクセス要求した各処理部の前後段の処理部の処理状態を考慮して行い、該優先度判定に基づいて共用メモリ４３０へのアクセスを調停するようにしたので、前記調停部４２０に複数の処理部から同時に共用メモリ４３０へのアクセスのリクエストがあった場合に、該リクエストした処理部が、その前後段の処理部での処理状態に影響されて、将来待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ４３０へのアクセス要求の調停を行うことができる。
【０１０８】
また、本実施の形態４によれば、前記パイプライン処理部４１０から出力される出力データを出力バッファ４５０に格納し、該出力バッファ４５０内のデータ残量を出力データ残量測定部４４０で測定して、該データ残量に応じて、該処理部のパイプライン処理部４１０における位置により優先度判定を行なうようにしたので、前記リクエスト信号を出力した複数の処理部の処理状態が同じ場合も、より効率のよいアクセス調停を行うことができる。さらに、前記出力バッファ４５０内のデータ残量が、パイプライン処理部４１０の最後段の処理部Ｅ１０５から出力されるデータ量を満たさず、処理部Ｅ１０５が待ち状態になる可能性も考慮に入れて、各処理部からの共用メモリ４３０へのアクセスを要求するリクエスト信号の調停を行うことができ、この結果、当該データ処理装置から出力されるデータの出力レートを一定に保つことを考慮に入れて、各処理部からの共用メモリ４３０へのアクセス要求の調停を行うことができ、この結果、パイプライン処理部４１０が一定のデータ出力レートを保つ必要がある場合にも、パイプライン処理効率を損ねることなく、共用メモリ４３０に対してアクセス調停を行うことが容易になる。
【０１０９】
なお、前記本実施の形態１〜４における、パイプライン処理部の最前段の処理部Ａ１０１及び最後段の処理部Ｅ１０５からの共用メモリへのアクセス要求の調停は、該処理部Ａ１０１の前段、あるいは処理部Ｅ１０５の後段に位置する外部装置から出力される状態フラグ、もしくは同等の情報を用いることで実現される。
【産業上の利用可能性】
【０１１０】
本発明のデータ処理装置は、一般的なデータを扱うデジタル計算機への利用が可能であるとともに、映像や音声データの符号／復号装置への利用も有用である。
【図面の簡単な説明】
【０１１１】
【図１】本発明の実施の形態１にかかるデータ処理装置の構成を示す図である。
【図２】本発明の実施の形態１におけるデータ処理装置の処理部の構成を示す図である。
【図３】本発明の実施の形態１のデータ処理装置における、パイプライン処理部中の各処理部に出入力される状態フラグの信号波形図である。
【図４】本発明の実施の形態１のデータ処理装置における調停方法を説明する図である。
【図５】本発明の実施の形態２にかかるデータ処理装置の構成を示す図である。
【図６】本発明の実施の形態３にかかるデータ処理装置の構成を示す図である。
【図７】本発明の実施の形態４にかかるデータ処理装置の構成を示す図である。
【図８】従来のデータ処理装置の構成を示す図である。
【図９】従来のデータ処理装置のバスアービタの詳細な構成を示す図である。
【符号の説明】
【０１１２】
１００，２００，３００，４００，５００  データ処理装置
１０１  処理部Ａ
１０２  処理部Ｂ
１０３  処理部Ｃ
１０４  処理部Ｄ
１０５  処理部Ｅ
１１０，２１０，３１０，４１０  パイプライン処理部
１２０，２２０，３２０，４２０  調停部
１３０，２３０，３３０，４３０  共用メモリ
２４０  入力レート測定部
３４０  入力データ残量測定部
３５０  入力バッファ
４４０  出力レート測定部
４５０  出力バッファ
５１０  ＣＰＵ
５２０  主記憶装置
５３０  バスアービタ
５３１  固定優先度レジスタ
５３２  固定優先度比較部
５３３  変動優先度比較部
５３４  優先判定制御部
５４０，５５０，５６０，５７０  モジュール
１０２１  演算部Ｂ
１０２２  バッファＢ
【図１】
2006065453.tif 000003
【図２】
2006065453.tif 000004
【図３】
2006065453.tif 000005
【図４】
2006065453.tif 000006
【図５】
2006065453.tif 000007
【図６】
2006065453.tif 000008
【図７】
2006065453.tif 000009
【図８】
2006065453.tif 000010
【図９】
2006065453.tif 000011