JP5495707B2 - 並列信号処理装置 - Google Patents

並列信号処理装置 Download PDF

Info

Publication number
JP5495707B2
JP5495707B2 JP2009239287A JP2009239287A JP5495707B2 JP 5495707 B2 JP5495707 B2 JP 5495707B2 JP 2009239287 A JP2009239287 A JP 2009239287A JP 2009239287 A JP2009239287 A JP 2009239287A JP 5495707 B2 JP5495707 B2 JP 5495707B2
Authority
JP
Japan
Prior art keywords
unit
control unit
data
data transfer
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009239287A
Other languages
English (en)
Other versions
JP2011086158A (ja
Inventor
大佑 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009239287A priority Critical patent/JP5495707B2/ja
Publication of JP2011086158A publication Critical patent/JP2011086158A/ja
Application granted granted Critical
Publication of JP5495707B2 publication Critical patent/JP5495707B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Description

この発明は、データ処理装置を複数個並列に接続し、同一命令に基づいて並列に処理を実行する並列信号処理装置に関するものである。
近年、画像データ等の信号処理を行う信号処理装置として、プロセッサによる並列処理と、専用ハードウェアによる処理とを組み合わせた構成が用いられてきた。例えば特許文献1に開示された画像処理装置は、従来のSIMD(Single Instruction Multiple Data)型並列データ処理装置と専用ハードウェアとを組み合わせた構成であり、プロセッサにより、SIMD型並列データ処理装置に動き予測、DCT(Discrete Cosine Transform)、及びIDCT(Inverse DCT)処理を実行させ、かつ、VLC(Variable Length Decode)処理を行う専用ハードウェアにVLC処理を実行させ、さらに、これらSIMD型並列データ処理装置と専用ハードウェアを並列で動作させる。
このような構成にすれば、高い処理性能を必要とするVLC処理を専用ハードウェアで実行することにより、高い処理能力を達成することができる。また、SIMD型並列データ処理装置を備えることにより、多様な処理に対応することができる。さらに、プロセッサがこれらを並列に動作させることにより、処理速度を向上させることができる。
特開2001−309386号公報
従来の画像処理装置は以上のように構成されているので、単一のプロセッサが、SIMD型並列データ処理装置及び専用ハードウェアの処理制御、演算器による単一演算(加算、減算、乗算等)の制御、並びにデータ転送の制御を行うこととなる。従って、画像処理装置全体の処理時間がプロセッサの処理速度に律速されるという課題があった。
また、製造ばらつき等の影響により、プロセッサ、SIMD型並列データ処理装置、専用ハードウェア間に性能差が生じた場合、画像処理装置全体の性能が劣化する、又は画像処理装置全体が動作せず歩留まりが劣化するという課題もあった。
さらに、画像処理装置全体が一斉に動作するため、消費電力が大きいという課題もあった。
この発明は、上記のような課題を解決するためになされたもので、データパス部への演算命令、データ転送部へのデータ転送命令、比較演算等の単一演算を一斉並列動作で実行することにより、処理を高速化した並列信号処理装置を提供することを目的とする。
この発明に係る並列信号処理装置は、処理対象データ及び処理結果データを格納するデータメモリと、処理命令に従って単一演算を実行して、処理対象データに対する演算制御命令及びデータ転送制御命令を生成するメイン制御部、単一演算に用いるデータ及び演算結果データを格納する演算メモリ、演算制御命令に基づいて処理対象データに対する演算命令を生成するデータパス制御部、及びデータ転送制御命令に基づいてデータ転送命令を生成するデータ転送制御部を有する部分制御部と、演算命令に基づき、処理対象データに対する演算を実行するデータパス部と、データ転送制御命令に基づき、データメモリ、部分制御部及びデータパス部間のデータ転送を行うデータ転送部と、データメモリ、部分制御部、データパス部及びデータ転送部を互いに接続するバスと、部分制御部、データパス部及びデータ転送部からなる並列ユニットを複数並列に接続して、各並列ユニットに互いに異なる処理命令を発行するか、又は複数の並列ユニット単位に同一の処理命令を発行するかして、各並列ユニットに並列に処理を実行させる全体制御部とを備え、部分制御部は、自メイン制御部が生成した演算制御命令及びデータ転送制御命令を、他の部分制御部内のデータパス制御部及びデータ転送制御部へ転送するメイン命令伝達部を有し、全体制御部は、各並列ユニット内の各部分制御部の処理性能情報に基づいて、同一の処理命令を実行させる複数の並列ユニットのうちから1つの並列ユニット内の部分制御部を選択し、各並列ユニット内のメイン命令伝達部を制御して、当該部分制御部のメイン制御部が生成した演算制御命令及びデータ転送制御命令を、他の各並列ユニット内の各部分制御部内のデータパス制御部及びデータ転送制御部へ転送させる選択部を有することを特徴とするものである。
この発明によれば、データパス部への演算命令、データ転送部へのデータ転送命令、比較演算等の単一演算を一斉並列動作で実行することにより、処理を高速化した並列信号処理装置を提供することができる。
この発明の実施の形態1に係る並列信号処理装置の構成を示すブロック図である。 図1に示す全体制御部1の内部構成を示すブロック図である。 図1に示す並列信号処理装置の部分制御部10の内部構成を説明するブロック図である。 図3に示すメイン命令伝達部15bの内部構成を示すブロック図である。 この発明の実施の形態2に係る並列信号処理装置の全体制御部1の内部構成を示すブロック図である。 この発明の実施の形態3に係る並列信号処理装置の構成を示すブロック図である。 図6に示す転送命令調停部18aの内部構成を示すブロック図である。 実施の形態3に係る並列信号処理装置において、転送命令調停部18a〜18dの接続例を図8(a)に示し、転送例を図8(b)に示す。
実施の形態1.
図1は、この発明の実施の形態1に係る並列信号処理装置の構成を示すブロック図である。図1に示す並列信号処理装置は、1つの全体制御部1と、複数個(#1〜#n)の部分制御部10、データパス部20、データ転送部30及びデータメモリ40と、1つのバス50とから構成されている。なお、部分制御部10、データパス部20及びデータ転送部30が並列ユニットを構成し、図1では#1〜#nの並列ユニットが並列に全体制御部1に接続されている。
全体制御部1は、例えば画像符号化・復号処理の制御を行い、各部分制御部10に対して例えば画像符号化処理の動きベクトル算出のような単位処理を実行させる命令を発行する。部分制御部10は、全体制御部1が発行する単位処理の命令に従って、パラメータ算出及び比較演算の単一演算(加算、減算、乗算、除算等)を実行し、データパス部20に単位処理を実行させるための演算命令を発行すると共に、データ転送部30に単位処理に必要なデータを転送させるためのデータ転送命令を発行する。データパス部20は、部分制御部10が発行した演算命令に従って、転送されたデータを用いた演算を実行する。データ転送部30は、部分制御部10が発行したデータ転送命令に従って、部分制御部10、データパス部20、データ転送部30及びデータメモリ40間でデータを転送する。データメモリ40は、単位処理の対象となるデータと単位処理の結果データとを格納する。バス50は、部分制御部10、データパス部20、データ転送部30及びデータメモリ40の間を相互に接続して、データ転送部30がデータを転送させるために用いる。例えばデータメモリ40が画像データを格納し、部分制御部10がその画像データに対して単位処理を実行して動きベクトルを算出し、動きベクトルを結果データとして再びデータメモリ40に格納する。
図2は、図1に示す全体制御部1の構成を示すブロック図である。全体制御部1は、接続されている部分制御部10へ単位処理命令(信号)S1を発行すると共に各部分制御部10の並列処理を制御するための伝達制御命令(信号)S2を発行する命令発行部101と、全体処理の処理順序、処理内容及び単位処理を行う部分制御部10を指定した全体制御プログラムを格納しているプログラムメモリ102とから構成される。
なお、全体制御プログラムは、外部から設定してもよいし、全体制御部1自らがロードしてもよい。また、全体制御プログラムは、全体制御部1に接続された部分制御部10それぞれに異なる単位処理を実行させるようにしてもよいし、全ての又は複数の部分制御部10に同じ単位処理を実行させるようにしてもよい。
命令発行部101は、プログラムメモリ102から全体制御プログラムを読み出し、その処理順序に従って、単位処理実行対象に指定されている部分制御部10のうちから任意の1つの部分制御部10を選択して単位処理命令S1を発行する。また、命令発行部101は、単位処理命令S1が発行された部分制御部10が生成する演算命令とデータ転送命令とを他の単位処理実行対象の部分制御部10に伝達指示するための伝達制御命令S2を、単位処理実行対象の全ての部分制御部10に対して発行する。
図3は、図1に示す部分制御部10の構成を示すブロック図である。部分制御部10aは、データパス制御命令S20aとデータ転送制御命令S30aを発行するメイン制御部11a、データパス部20aを制御するデータパス制御部12a、データ転送部30aを制御するデータ転送制御部13a、メイン制御部11aの演算に必要なデータを格納する演算メモリ14a、及び自他のメイン制御部11a〜11cが発行したデータパス制御命令S20a〜S20cとデータ転送制御命令S30a〜S30cから所定の命令を選択するメイン命令伝達部15aから構成される。部分制御部10b,10cの各構成も部分制御部10aと同一である。
図3では、3つの部分制御部10a〜10cが並列に接続されている構成を例に説明する。例えば、部分制御部10a〜10cに同一の単位処理を実行させる場合、そのうちの1つの部分制御部10bに対して単位処理命令S1が発行される。また、この部分制御部10bが発行する命令に従って他の部分制御部10a,10cに接続されたデータパス部20a,20c及びデータ転送部30a,30cが同一の単位処理を実行できるように、部分制御部10bの発行する命令を部分制御部10a,10cへ伝達するための伝達制御命令S2が、部分制御部10a〜10cにそれぞれ発行される。
単位処理命令S1が発行されたメイン制御部11bは、その単位処理命令S1に従って、演算メモリ14bのデータを用いて単位処理に必要な比較演算及びパラメータ算出等の単一演算を実行し、単位処理で実行する演算とその実行順序をデータパス制御部12bに指示するデータパス制御命令(信号)S20bを発行すると共に、単位処理で必要なデータと演算結果の転送順序、データサイズ、及び転送先/転送元をデータ転送制御部13bに指示するデータ転送制御命令S30bを発行する。
メイン命令伝達部15bは、自メイン制御部11bが発行したデータパス制御命令S20b及びデータ転送制御命令S30bか、他メイン制御部11a又は11cが発行したデータパス制御命令S20a及びデータ転送制御命令S30aか、又はデータパス制御命令S20c及びデータ転送制御命令S30cかを選択して、共通データパス制御命令S21及び共通データ転送制御命令S31として出力する。メイン命令伝達部15bにおいて自他どちらのメイン制御部が発行した命令を選択するかは、全体制御部1から入力される伝達制御命令S2に従う。よって、図3に示す各メイン命令伝達部15a〜15cは、部分制御部10bが発行したデータパス制御命令S20b及びデータ転送制御命令S30bを選択する。
図4は、図3に示すメイン命令伝達部15a〜15cに共通の構成を示すブロック図であり、部分制御部10b内部のメイン命令伝達部15bを例にして説明する。メイン命令伝達部15bは、4つの伝達セレクタ151〜154と、2つの発行命令セレクタ155,156とから構成される。各伝達セレクタ151〜154は2to1セレクタであり、各発行命令セレクタ155,156は3to1セレクタである。また、各セレクタ151〜156には、部分制御部10bのメイン制御部11bから発行されたデータパス制御命令S20bとデータ転送制御命令S30bを選択して伝達するよう指示した伝達制御命令S2が入力される。従って、メイン命令伝達部15bは、自メイン制御部11bから入力されるデータパス制御命令S20bとデータ転送制御命令S30bを他メイン制御部11a,11cに伝達すると共に、これらデータパス制御命令S20bとデータ転送制御命令S30bを共通データパス制御命令S21と共通データ転送制御命令S31として自データパス制御部12bと自データ転送制御部13bへ発行する。
単位処理命令S1が発行された部分制御部10b内部のデータパス制御部12bは、メイン命令伝達部15bによって選択された共通データパス制御命令(信号)S21(即ちデータパス制御命令S20b)に含まれる単位処理で実行する演算とその実行順序の情報に従って、演算命令(信号)S22bを生成してデータパス部20bへ発行する。
また、データ転送制御部13bも、メイン命令伝達部15bによって選択された共通データ転送制御命令(信号)S31(即ちデータ転送制御命令S30b)に含まれる単位処理で必要なデータと演算結果の転送順序、データサイズ、及び転送先/転送元の情報に従って、データ転送命令(信号)S32bを生成してデータ転送部30bへ発行する。
単位処理実行対象であって単位処理命令S1が発行されていない部分制御部10aにおいて、自メイン命令伝達部15aは、他メイン命令伝達部15bから伝達されたデータパス制御命令S20bとデータ転送制御命令S30bを選択して、共通データパス制御命令S21と共通データ転送制御命令S31としてデータパス制御部12aとデータ転送制御部13aへ発行する。同様に、単位処理実行対象であって単位処理命令S1が発行されていない部分制御部10cのメイン命令伝達部15cも、他メイン命令伝達部15bから伝達されたデータパス制御命令S20bとデータ転送制御命令S30bを選択して、共通データパス制御命令S21と共通データ転送制御命令S31としてデータパス制御部12cとデータ転送制御部13cへ発行する。
単位処理実行対象であって単位処理命令S1が発行された部分制御部10bに接続されているデータパス部20b及びデータ転送部30bと、単位処理実行対象であって単位処理命令S1が発行されていない部分制御部10a,10cに接続されているデータパス部20a,20c及びデータ転送部30a,30cとが、共通データパス制御命令S21に基づく演算命令S22a〜22cと共通データ転送制御命令S31に基づくデータ転送命令S32a〜S32cに従って、同一の単位処理をそれぞれ実行する。
そのため、単位処理実行対象の全ての部分制御部10a〜10cが、単位処理命令S1が発行された部分制御部10b内部のメイン制御部11bを共有することができる。また、単位処理命令S1が発行されなかった部分制御部10a,10cのメイン制御部11a,11cは不要となるのでクロック供給を停止するように構成してもよく、その分の消費電力を削減することができる。
なお、クロック供給部は、並列信号処理装置全体で1つ備える構成であってもよいし、あるいは並列ユニットで1つ備える構成であってもよい。
並列信号処理装置全体で1つのクロック供給部を備える構成の場合、例えば、並列信号処理装置内部にクロック供給部を設置して、全体制御部1がこのクロック供給部を制御してクロック供給部から各並列ユニットへクロック供給/停止を行うか、あるいは全体制御部1の内部にクロック供給部を設置して、全体制御部1から各並列ユニットへクロック供給/停止を行う。
並列ユニットで1つのクロック供給部を備え、並列信号処理装置全体では複数のクロック供給部を備える構成の場合、例えば、全体制御部1が各クロック供給部を制御して各クロック供給部から各並列ユニットへクロック供給/停止を行う。
以上より、実施の形態1によれば、処理対象データ及び処理結果データを格納するデータメモリ40と、単位処理命令S1に従って単一演算を実行して、処理対象データに対するデータパス制御命令S20及びデータ転送制御命令S30を生成するメイン制御部11と、単一演算に用いるデータ及び演算結果データを格納する演算メモリ14と、データパス制御命令S20に基づいて処理対象データに対する演算命令S22を生成するデータパス制御部12と、データ転送制御命令S30に基づいてデータ転送命令S32を生成するデータ転送制御部13とを有する部分制御部10と、演算命令S22に基づき処理対象データに対する演算を実行するデータパス部20と、データ転送命令S32に基づきデータメモリ40、部分制御部10及びデータパス部20間のデータ転送を行うデータ転送部30と、データメモリ40、部分制御部10、データパス部20及びデータ転送部30を互いに接続するバス50と、部分制御部10、データパス部20及びデータ転送部30からなる並列ユニットを複数並列に接続して、各並列ユニットに互いに異なる単位処理命令S1を発行するか、又は複数ユニット単位に同一の単位処理命令S1を発行するかして、各並列ユニットに並列に処理を実行させる全体制御部1とを備えるように構成した。このため、データパス部20への演算命令、データ転送部30へのデータ転送命令及び比較演算等の単一演算をデータパス制御部12、データ転送制御部13及びメイン制御部11において一斉並列動作で実行することにより、処理を高速化した並列信号処理装置を提供することができる。
また、部分制御部10は、自メイン制御部11が生成したデータパス制御命令S20及びデータ転送制御命令S30を、他の部分制御部10内のデータパス制御部12及びデータ転送制御部13へ転送するメイン命令伝達部15を有し、全体制御部1の命令発行部101が伝達制御命令S2によって各並列ユニット内のメイン命令伝達部15を制御して、同一の単位処理命令S1を実行させる複数の並列ユニットのうちの任意の並列ユニット内の部分制御部10のメイン制御部11が生成したデータパス制御命令S20及びデータ転送制御命令S30を、他の各並列ユニット内の各部分制御部10内のデータパス制御部12及びデータ転送制御部13へ転送させるように構成した。このため、メイン制御部11を、自他含めた複数のデータパス制御部12及びデータ転送制御部13で共有できる。さらに、共有している間、使用していないメイン制御部11へのクロック供給を停止すれば、消費電力を削減できる。
実施の形態2.
図5は、この発明の実施の形態2に係る全体制御部1の構成を示すブロック図である。全体制御部1は、図5に示すように命令発行部101、選択部103及び処理性能メモリ104から構成される。全体制御部1に接続されている#1〜#nの部分制御部10の処理性能は、互いに全く同一とは限らず、製造ばらつき又は低電圧ばらつきに起因して処理時間がばらついたり、動作しないものがあったりする。そこで、全体制御部1に接続された全ての部分制御部10について、動作有無を含めた、単位命令当たりの処理時間を示す処理性能情報を、処理性能メモリ104に格納する。この処理性能情報は、全体制御部1が並列信号処理装置の初期動作時に命令を一度実行して、各部分制御部10の処理性能を計測することで作成される。
選択部103は、処理性能メモリ104から各部分制御部10の処理性能情報を読み出し、処理性能と単位処理の処理負荷とを比較して、単位処理命令S1を発行する1つの部分制御部10を決定して単位処理命令S1を発行すると共に、単位処理実行対象の部分制御部10を選択して命令発行部101に通知する。このとき、選択部103は、動作しないメイン制御部11を有する部分制御部10を、単位処理実行対象には選択しても、単位処理命令S1発行対象からは除外する。これによって、メイン制御部11が動作しない部分制御部10も、単位処理命令S1が発行された部分制御部10のメイン制御部11を共有して単位処理を実行できることになる。
命令発行部101は、選択部103が選択した単位処理実行対象の全ての部分制御部10に対して伝達制御命令S2を発行する。
本実施の形態2に係る並列信号処理装置の構成は、図5に示す全体制御部1以外、上記実施の形態1で説明した並列信号処理装置の構成と同一であるので説明を省略する。
以上より、実施の形態2によれば、各並列ユニット内の各部分制御部10の処理性能情報を格納する処理性能メモリ104と、処理性能メモリ104が格納する処理性能情報に基づいて、同一の単位処理命令S1を実行させる複数の並列ユニットのうちから1つの並列ユニット内の部分制御部10を選択し、当該部分制御部10のメイン制御部11が生成したデータパス制御命令S20及びデータ転送制御命令S30を、他の各並列ユニット内の各部分制御部10内のデータパス制御部12及びデータ転送制御部13へ転送させる選択部103とを有するように構成した。このため、上記実施の形態1の効果に加えて、部分制御部10の製造ばらつき又は低電圧ばらつきで処理性能に差が生じる場合であっても、部分制御部10の処理性能に見合った単位処理命令S1を発行できるため、ばらつきの影響を低減できる。また、動作しないメイン制御部11が存在する場合でも、他の部分制御部10のメイン制御部11を共有することで、動作しないメイン制御部11のデータパス制御部12及びデータ転送制御部13も処理を実行できるため、チップの歩留まりが向上する。
実施の形態3.
図6は、この発明の実施の形態3に係る並列信号処理装置の構成を示すブロック図であり、図1又は図3と同一又は相当の部分については同一の符号を付し説明を省略する。
本実施の形態3の並列信号処理装置は、部分制御部10、データパス部20及びデータ転送部30を1組とする並列ユニット60が、複数、バス50に並列に接続される構成である。図6の例では、並列ユニット60aの内部に部分制御部10a、データパス部20a及びデータ転送部30aが配置され、並列ユニット60bの内部に部分制御部10b、データパス部20b及びデータ転送部30bが配置されている。データメモリ40は、各並列ユニット60a,60bに1つずつ配置してもよいし、全並列ユニット60a,60bに1つ配置して共有してもよい。なお、全体制御部1は用いない。
以下では、並列ユニット60aの構成を例に説明する。
部分制御部10aは、図3に示したメイン制御部11a、データパス制御部12a、データ転送制御部13a及び演算メモリ14aに加え、新たに、図6に示す命令メモリ16a、状態管理部17a及び転送命令調停部18aを備える。命令メモリ16aには、同一並列ユニット60a内の部分制御部10a、データパス部20a及びデータ転送部30aで実行する処理命令が格納されている。そして、メイン制御部11aは、この命令メモリ16aに格納されている処理命令に従って、単一演算を実行して、データパス制御命令S20a及びデータ転送制御命令S30aを発行する。
また、メイン制御部11aは、データ転送制御命令S30aと共に発行先指定命令(信号)S40aも発行する。この詳細は後述する。
データパス制御部12aは、メイン制御部11aから発行されたデータパス制御命令S20aに従って、データパス部20aへ演算命令S22aを発行する。
データ転送制御部13aは、転送命令調停部18aから入力される調停済データ転送制御命令(信号)S42aに従って、データ転送部30aへデータ転送命令S32aを発行する。
状態管理部17aは、各並列ユニット60a,60bの各データ転送制御部13a,13bが動作中か待機中かを示す状態情報と、各データ転送制御部13a,13bのアドレス情報とを格納し、さらに、自他の状態情報とアドレス情報を自他の並列ユニット60a,60bのメイン制御部11a,11bへそれぞれ通知する。
自並列ユニット60aの状態管理部17aが格納している、データ転送制御部13aについての状態情報の更新は、自データ転送制御部13aがデータ転送制御命令S30aから動作状態となるか待機状態となるかを判定して行えばよい。他方、状態管理部17aが格納している、他の並列ユニット60bの他データ転送制御部13bについての状態情報の更新は、他状態管理部17bから通知を受けた自メイン制御部11aが行う。
なお、図6の例では、部分制御部10aが内部に状態管理部17aを備える構成としたが、部分制御部10aの外に設置する構成にしてもよい。
ここで、発行先指定命令S40aを説明する。メイン制御部11aは、先ず、命令メモリ16aの処理命令より部分制御部10aの実行する処理がデータ転送を必要とするか否かを判定して、データ転送制御部13aの状態が「動作中」か「待機中」か判断する。また、他状態管理部17bから通知される他データ転送制御部13bの状態情報及びアドレス情報を取得する。メイン制御部11aは続いて、自他の状態管理部17a,17bに基づいて「待機中」のデータ転送制御部13a又は13bを選択して、そのアドレス情報を発行先指定命令S40aとして発行する。
なお、自状態管理部17aが格納している、自データ転送制御部13aについての状態情報の更新をデータ転送制御部13a自身が行わず、自メイン制御部11aが処理命令から判定して更新してもよい。
転送命令調停部18aは、メイン制御部11aが発行するデータ転送制御命令S30aを、発行先指定命令S40aに従って自転送命令調停部18a又は他転送命令調停部18bへ転送すると共に、他転送命令調停部18bから自転送命令調停部18a宛に転送されてきた調停用データ転送制御命令(信号)S41を取得する。
図7は、図6に示す転送命令調停部18aの構成を示すブロック図である。転送命令調停部18aは、振り分け部181と調停部182とから構成される。振り分け部181は、メイン制御部11aから発行されたデータ転送制御命令S30aを調停用データ転送制御命令S41として、同時に発行された発行先指定命令S40aが指定する転送命令調停部18a又は18bへ転送する。ただし、転送先が同一並列ユニット60内の場合には、メイン制御部11aは発行先指定命令S40aを発行しなくてもよい。
調停部182は、自他の振り分け部181から転送されてきた調停用データ転送制御命令S41を調停済データ転送制御命令S42aとしてデータ転送制御部13aへ発行する。
図8に、実施の形態3に係る並列信号処理装置について、転送命令調停部18a〜18dの接続例を図8(a)に示し、転送例を図8(b)に示す。図8に示す並列信号処理装置は並列ユニット数4とし、不図示の並列ユニット60a〜60dから転送命令調停部18a〜18dを抜粋して図示する。なお、転送命令調停部18a〜18dを除き、各並列ユニット60a〜60dの各部の図示は省略する。また、図8(b)では、並列ユニット60aのデータ転送制御部13a,13b,13dが動作中で、並列ユニット60cのデータ転送制御部13cが待機中の場合の転送例を示し、不使用の信号線を点線で表す。
図8(b)において、メイン制御部11aから転送命令調停部18aへ、データ転送制御命令S30aと、発行先として「転送命令調停部18c」を指定した発行先指定命令S40aとが発行される。発行先の指定方法は、ここでは説明のために「転送命令調停部18c」としたが、実際は状態管理部17a〜17dから取得したアドレス情報により指定する。また、発行先には、状態情報が「待機中」となっているデータ転送制御部を指定する。
転送命令調停部18aの振り分け部181は、発行先指定命令S40aに従って、転送命令調停部18cの調停部182へ発行先指定命令S40aを転送する。転送命令調停部18cの調停部182は、転送されてきた発行先指定命令S40aを調停済データ転送制御命令S42cとしてデータ転送制御部13cへ発行する。これにより、メイン制御部11aが他の部分制御部10cのデータ転送制御部13cへデータ転送制御命令S30aを発行できるため、データ転送制御部13cをメイン制御部11a,11cで共有することができ、この結果、データ転送部30cをメイン制御部11a,11cで共有することができる。
他方、転送命令調停部18b,18dは、発行先指定命令S40b,S40dの指示に従って、データ転送制御命令S30b,S30dを調停済データ転送制御命令S42b,S42dとしてそのまま自データ転送制御部13b,13d(不図示)へ発行する。
このように、単位処理実行中の部分制御部10aにおいて、データ転送部30aがデータ転送の動作中に部分制御部10a又はデータパス部20aに待機状態が発生する場合に、他の部分制御部10c内部の待機中のデータ転送制御部13cへデータ転送制御命令S30aを発行することにより、その部分制御部10cに接続されている待機中のデータ転送部30cを使用できるため、処理の高速化を図ることができる。
また、製造ばらつき、低電圧ばらつき等が原因で、部分制御部10aとデータパス部20aは動作するがデータ転送部30aが動作しない場合、部分制御部10aは動作しないデータ転送部30aを使用せず、他の並列ユニット60b〜60dのデータ転送部30b〜30dを利用できるため、歩留まり向上につながる。
さらに、各部分制御部10a〜10dの実行する単位処理がデータ転送を頻繁に必要としない場合には、データ転送部30a〜30dは待機状態にあることが多くなる。このため、任意の1つのデータ転送部30aを各部分制御部10a〜10dが共有して利用すれば、他のデータ転送部30b〜30dへのクロック供給を停止して未動作状態にすることができ、その分の消費電力を削減することができる。
なお、クロック供給部は、上記実施の形態1と同様に、並列信号処理装置全体で1つ備える構成であってもよいし、あるいは並列ユニット60で1つ備える構成であってもよい。
ただし、本実施の形態3では、各並列ユニット60において、部分制御部10にクロック供給がされると、部分制御部10内のメイン制御部11が自データ転送部30へクロック供給/停止を行う。メイン制御部11によるクロック供給/停止の決定は、データ転送部30の状態情報に応じて、動作状態のときに供給する、待機状態のときに停止することとする。
以上より、実施の形態3によれば、処理対象データ及び処理結果データを格納するデータメモリ40と、単位処理命令S1に従って単一演算を実行して、処理対象データに対するデータパス制御命令S20及びデータ転送制御命令S30を生成するメイン制御部11と、単一演算に用いるデータ及び演算結果データを格納する演算メモリ14と、データパス制御命令S20に基づいて処理対象データに対する演算命令S22を生成するデータパス制御部12と、データ転送制御命令S30に基づいてデータ転送命令S32を生成するデータ転送制御部13とを有する部分制御部10と、演算命令S22に基づき処理対象データに対する演算を実行するデータパス部20と、データ転送命令S32に基づきデータメモリ40、部分制御部10及びデータパス部20間のデータ転送を行うデータ転送部30と、データメモリ40、部分制御部10、データパス部20及びデータ転送部30を互いに接続するバス50と、部分制御部10、データパス部20及びデータ転送部30からなる並列ユニット60それぞれについて、各並列ユニット60に対して互いに異なる処理命令を格納しておくか、又は複数ユニット単位に同一の処理命令を格納しておくかして、各並列ユニット60に並列に処理を実行させる命令メモリ16とを備えるように構成した。このため、このため、データパス部20への演算命令、データ転送部30へのデータ転送命令及び比較演算等の単一演算をデータパス制御部12、データ転送制御部13及びメイン制御部11において一斉並列動作で実行することにより、処理を高速化した並列信号処理装置を提供することができる。
また、部分制御部10は、データ転送制御部13の状態情報を他の部分制御部10へ通知する状態管理部17を有し、さらに、当該他の部分制御部10内の状態管理部17から通知される状態情報を取得するように構成した。さらに、部分制御部10は、自データ転送制御部13の状態情報と他の部分制御部10内の状態管理部17から通知される状態情報とに基づいて、自メイン制御部11が生成したデータ転送制御命令S30を他の部分制御部10内のデータ転送制御部13へ転送する転送命令調停部18を有するように構成した。このため、データ転送部30を、自他含めた複数のメイン制御部11で共有できるようになり、部分制御部10が他の部分制御部10に接続した待機中のデータ転送部30を使用して処理の高速化を図ることができる。さらに、共有している間、使用していないデータ転送部30へのクロック供給を停止すれば、消費電力を削減できる。
なお、上記実施の形態3の命令メモリ16、状態管理部17及び転送命令調停部18を、上記実施の形態1又は実施の形態2に組み込んだ構成にして、プログラムメモリ102の全体制御プログラムに従って各並列ユニット60を動作させる方式と、命令メモリ16の処理命令に従って各並列ユニット60が動作する方式の両方式で動作させることも可能である。
1 全体制御部、10 部分制御部、11 メイン制御部、12 データパス制御部、13 データ転送制御部、14 演算メモリ、15 メイン命令伝達部、16 命令メモリ、17 状態管理部、18 転送命令調停部、20 データパス部、30 データ転送部、40 データメモリ、50 バス、60 並列ユニット、101 命令発行部、102 プログラムメモリ、103 選択部、104 処理性能メモリ、151〜154 伝達セレクタ、155,156 発行命令セレクタ、181 振り分け部、182 調停部、S1 単位処理命令、S2 伝達制御命令、S20a〜S20c データパス制御命令(演算制御命令)、S21 共通データパス制御命令、S22a〜S22c 演算命令、S30a〜S30c データ転送制御命令、S31 共通データ転送制御命令、S32a〜S32c データ転送命令、S40a〜S40d 発行先指定命令、S41 調停用データ転送制御命令、S42a〜S42d 調停済データ転送制御命令。

Claims (6)

  1. 処理対象データ及び処理結果データを格納するデータメモリと、
    処理命令に従って単一演算を実行して、前記処理対象データに対する演算制御命令及びデータ転送制御命令を生成するメイン制御部、前記単一演算に用いるデータ及び演算結果データを格納する演算メモリ、前記演算制御命令に基づいて前記処理対象データに対する演算命令を生成するデータパス制御部、及び前記データ転送制御命令に基づいてデータ転送命令を生成するデータ転送制御部を有する部分制御部と、
    前記演算命令に基づき、前記処理対象データに対する演算を実行するデータパス部と、 前記データ転送制御命令に基づき、前記データメモリ、前記部分制御部及び前記データパス部間のデータ転送を行うデータ転送部と、
    前記データメモリ、前記部分制御部、前記データパス部及び前記データ転送部を互いに接続するバスと、
    前記部分制御部、前記データパス部及び前記データ転送部からなる並列ユニットを複数並列に接続して、各並列ユニットに互いに異なる処理命令を発行するか、又は複数の並列ユニット単位に同一の処理命令を発行するかして、各並列ユニットに並列に処理を実行させる全体制御部とを備え、
    前記部分制御部は、自メイン制御部が生成した演算制御命令及びデータ転送制御命令を、他の部分制御部内のデータパス制御部及びデータ転送制御部へ転送するメイン命令伝達部を有し、
    前記全体制御部は、各並列ユニット内の各部分制御部の処理性能情報に基づいて、同一の処理命令を実行させる複数の並列ユニットのうちから1つの並列ユニット内の部分制御部を選択し、各並列ユニット内のメイン命令伝達部を制御して、当該部分制御部のメイン制御部が生成した演算制御命令及びデータ転送制御命令を、他の各並列ユニット内の各部分制御部内のデータパス制御部及びデータ転送制御部へ転送させる選択部を有することを特徴とする並列信号処理装置。
  2. 前記部分制御部、前記データパス部及び前記データ転送部からなる並列ユニットそれぞれについて、各並列ユニットに対して互いに異なる処理命令を格納しておくか、又は複数ユニット単位に同一の処理命令を格納しておくかして、各並列ユニットに並列に処理を実行させる命令メモリを備えることを特徴とする請求項記載の並列信号処理装置。
  3. 前記部分制御部は、データ転送制御部の状態情報を他の部分制御部へ通知する状態管理部を有し、さらに、当該他の部分制御部内の状態管理部から通知される状態情報を取得することを特徴とする請求項記載の並列信号処理装置。
  4. 処理対象データ及び処理結果データを格納するデータメモリと、
    処理命令に従って単一演算を実行して、前記処理対象データに対する演算制御命令及びデータ転送制御命令を生成するメイン制御部、前記単一演算に用いるデータ及び演算結果データを格納する演算メモリ、前記演算制御命令に基づいて前記処理対象データに対する演算命令を生成するデータパス制御部、及び前記データ転送制御命令に基づいてデータ転送命令を生成するデータ転送制御部を有する部分制御部と、
    前記演算命令に基づき、前記処理対象データに対する演算を実行するデータパス部と、 前記データ転送制御命令に基づき、前記データメモリ、前記部分制御部及び前記データパス部間のデータ転送を行うデータ転送部と、
    前記データメモリ、前記部分制御部、前記データパス部及び前記データ転送部を互いに接続するバスと、
    前記部分制御部、前記データパス部及び前記データ転送部からなる並列ユニットを複数並列に接続して、各並列ユニットに互いに異なる処理命令を発行するか、又は複数の並列ユニット単位に同一の処理命令を発行するかして、各並列ユニットに並列に処理を実行させる全体制御部とを備え
    前記部分制御部、前記データパス部及び前記データ転送部からなる並列ユニットそれぞれについて、各並列ユニットに対して互いに異なる処理命令を格納しておくか、又は複数の並列ユニット単位に同一の処理命令を格納しておくかして、各並列ユニットに並列に処理を実行させる命令メモリを備え、
    前記部分制御部は、自データ転送制御部の状態情報を他の部分制御部へ通知する状態管理部を有し、さらに、当該他の部分制御部内の状態管理部から通知される状態情報を取得することを特徴とする並列信号処理装置。
  5. 処理対象データ及び処理結果データを格納するデータメモリと、
    処理命令に従って単一演算を実行して、前記処理対象データに対する演算制御命令及びデータ転送制御命令を生成するメイン制御部、前記単一演算に用いるデータ及び演算結果データを格納する演算メモリ、前記演算制御命令に基づいて前記処理対象データに対する演算命令を生成するデータパス制御部、及び前記データ転送制御命令に基づいてデータ転送命令を生成するデータ転送制御部を有する部分制御部と、
    前記演算命令に基づき、前記処理対象データに対する演算を実行するデータパス部と、 前記データ転送制御命令に基づき、前記データメモリ、前記部分制御部及び前記データパス部間のデータ転送を行うデータ転送部と、
    前記データメモリ、前記部分制御部、前記データパス部及び前記データ転送部を互いに接続するバスと、
    前記部分制御部、前記データパス部及び前記データ転送部からなる並列ユニットそれぞれについて、各並列ユニットに対して互いに異なる処理命令を格納しておくか、又は複数の並列ユニット単位に同一の処理命令を格納しておくかして、各並列ユニットに並列に処理を実行させる命令メモリとを備え、
    前記部分制御部は、自データ転送制御部の状態情報を他の部分制御部へ通知する状態管理部を有し、さらに、当該他の部分制御部内の状態管理部から通知される状態情報を取得することを特徴とする並列信号処理装置。
  6. 前記部分制御部は、自データ転送制御部の状態情報と他の部分制御部内の状態管理部から通知される状態情報とに基づいて、自メイン制御部が生成したデータ転送制御命令を他の部分制御部内のデータ転送制御部へ転送する転送命令調停部を有することを特徴とする請求項3乃至5のいずれか1項に記載の並列信号処理装置。
JP2009239287A 2009-10-16 2009-10-16 並列信号処理装置 Expired - Fee Related JP5495707B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009239287A JP5495707B2 (ja) 2009-10-16 2009-10-16 並列信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009239287A JP5495707B2 (ja) 2009-10-16 2009-10-16 並列信号処理装置

Publications (2)

Publication Number Publication Date
JP2011086158A JP2011086158A (ja) 2011-04-28
JP5495707B2 true JP5495707B2 (ja) 2014-05-21

Family

ID=44079049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009239287A Expired - Fee Related JP5495707B2 (ja) 2009-10-16 2009-10-16 並列信号処理装置

Country Status (1)

Country Link
JP (1) JP5495707B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024140684A (ja) * 2023-03-28 2024-10-10 株式会社日立製作所 データ処理システムおよびデータ処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61110256A (ja) * 1984-11-02 1986-05-28 Hitachi Ltd 複数の演算部を有するプロセツサ
JPH0520283A (ja) * 1991-07-11 1993-01-29 Mitsubishi Electric Corp 並列データ処理装置
CA2073516A1 (en) * 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
JPH0668053A (ja) * 1992-08-20 1994-03-11 Toshiba Corp 並列計算機
JP3547139B2 (ja) * 1995-03-17 2004-07-28 株式会社 日立製作所 プロセッサ
US6366999B1 (en) * 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution
JP4184224B2 (ja) * 2002-10-16 2008-11-19 松下電器産業株式会社 並列実行プロセッサ、命令割当方法
US20070250688A1 (en) * 2004-11-05 2007-10-25 Nec Corporation Simd Type Parallel Arithmetic Device, Processing Element and Control System of Simd Type Parallel Arithmetic Device
EP2056212B1 (en) * 2006-08-23 2013-04-10 NEC Corporation Mixed mode parallel processor system and method

Also Published As

Publication number Publication date
JP2011086158A (ja) 2011-04-28

Similar Documents

Publication Publication Date Title
KR102277439B1 (ko) 재구성 가능 프로세서 및 그 동작 방법
JP3708853B2 (ja) マルチプロセッサシステムおよびプログラム制御方法
JPS61110256A (ja) 複数の演算部を有するプロセツサ
JP2006018514A (ja) 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2014067191A (ja) 演算処理回路及び電源制御方法
JP6673202B2 (ja) 演算装置、演算装置の制御方法、及び、演算装置の制御プログラム
WO2007074905A1 (ja) ネットワーク機器システム
JP2010003081A (ja) 演算処理装置多重化制御システム
US8495345B2 (en) Computing apparatus and method of handling interrupt
US20090276613A1 (en) Method of sharing basic input output system, and blade server and computer using the same
US9774671B2 (en) Parallel processing system and operation method of parallel processing system
WO2015104790A1 (ja) 制御装置、開発装置、および開発プログラム
JP5495707B2 (ja) 並列信号処理装置
JP5673167B2 (ja) 電気機器の電力管理方法
JP2008090455A (ja) マルチプロセッサ信号処理装置
US9323475B2 (en) Control method and information processing system
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP2016031658A (ja) プラント制御装置、及びプラント制御方法
US20120204001A1 (en) Reconfigurable processor and driving control method
JP2008186426A (ja) ユニット増設システム
JP6458582B2 (ja) 情報処理装置及び情報処理プログラム
JP2009049649A (ja) 集積回路装置
WO2022124153A1 (ja) ロボット制御装置、ロボット制御システム及びロボット制御方法
JP2018041340A (ja) 情報処理システム
WO2010055706A1 (ja) データ処理装置、データ処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140304

R150 Certificate of patent or registration of utility model

Ref document number: 5495707

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees