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

並列信号処理装置 Download PDF

Info

Publication number
JP2011141791A
JP2011141791A JP2010002706A JP2010002706A JP2011141791A JP 2011141791 A JP2011141791 A JP 2011141791A JP 2010002706 A JP2010002706 A JP 2010002706A JP 2010002706 A JP2010002706 A JP 2010002706A JP 2011141791 A JP2011141791 A JP 2011141791A
Authority
JP
Japan
Prior art keywords
shared
bus
shared memory
local
signal processing
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.)
Pending
Application number
JP2010002706A
Other languages
English (en)
Inventor
Shinichi Hattori
伸一 服部
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 JP2010002706A priority Critical patent/JP2011141791A/ja
Publication of JP2011141791A publication Critical patent/JP2011141791A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】データ転送におけるレイテンシーの遅れや、データ転送機構以外の回路の増大を伴うことなく、演算器の並列度を高めても、急激な回路規模の増大を抑えることができるようにする。
【解決手段】演算器1−1〜1−nが、自己が接続されているローカル共有バス2に接続されている共有メモリ3から隣接している他の演算器1の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し、その演算処理の演算結果を上記ローカル共有バス2に接続されている上記共有メモリ3以外の共有メモリ3に書き込むように構成する。
【選択図】図1

Description

この発明は、プログラム可能な複数の演算器を実装して、デジタル信号処理を並列に行う並列信号処理装置に関するものである。
例えば、デジタルスチルカメラ、デジタルビデオカメラ、デジタルテレビやPC(パーソナルコンピュータ)グラフィックスなどの分野では、高速かつ大量のデジタル画像信号を処理する必要があるため、大規模な専用ハードウェア(例えば、LSI)の開発が行われている。
一方、デジタル画像信号に対する信号処理アルゴリズムが短期間で高度化・複雑化していく傾向にあるため、専用ハードウェアを開発する上で、短期間で高度化・複雑化する信号処理アルゴリズムへの追従が困難である。
そこで、プログラマビリティが高い高速プロセッサやDSP(Digital Signal Processor)から構成されている画像処理装置の開発も行われている。
しかしながら、画像の高解像度化や高画質化に伴って、画像処理装置に対する要求性能が増大しているため、単独のプロセッサやDSPでは、演算処理量や演算精度の不足、あるいは、高速クロック化の限界が問題とされている。
そのため、複数の演算器を用いて、データを並列処理する構成で演算処理能力を高める方法が考えられている。
複数のプログラマブルな演算器を用いて、並列信号処理装置を構成する場合、複数の演算器の間で中間データを交換するために、複数の共有メモリを実装する必要がある。
このとき、複数の演算器と共有メモリを接続する方法を決定するに際して、データ転送性能と回路規模がトレードオフの関係となり、適正な接続方法を選択することが重要となる。
例えば、図6に示すように、全ての演算器と共有メモリが1対1で、任意に接続することが可能なクロスバー型のマトリクスバス構成の場合、データ転送性能は高いが、演算器の個数Nに対して、N本相当のバスが必要となるため、演算器の並列度が増加すると、急激に回路規模が増大する課題がある。
このような課題を踏まえて、以下の特許文献1では、複数の演算器と複数の共有メモリをリング形状バスで結び、マスタースレーブ(各演算器=マスタノード、各共有メモリ=スレーブノード)間で、パケット通信によるデータ転送を実現している並列信号処理装置を開示している。
しかしながら、リング形状バスでデータ転送を行う場合、マスタースレーブ間でパケット通信を行うため、データ転送のレイテンシーが一定でなくなり遅くなる。
また、あるマスタノードとスレーブノード間でデータ転送を行っているとき、別のマスタノードとスレーブノード間でデータ転送を行うと、転送帯域が分割されて低下する問題が生じる。
さらに、マスタースレーブのパケット通信のために、本来のデータ転送機構以外の回路が増大する問題も生じる。
特開平9−91262号公報(図1)
従来の並列信号処理装置は以上のように構成されているので、複数の演算器と複数の共有メモリをリング形状バスで結び、マスタースレーブ(各演算器=マスタノード、各共有メモリ=スレーブノード)間で、パケット通信によるデータ転送を実現すれば、演算器の並列度が増加しても、急激な回路規模の増大を抑えることができる。しかし、マスタースレーブ間でパケット通信を行うため、データ転送のレイテンシーが一定でなくなり遅くなる課題があった。
また、あるマスタノードとスレーブノード間でデータ転送を行っているとき、別のマスタノードとスレーブノード間でデータ転送を行うと、転送帯域が分割されて低下する課題があり、また、マスタースレーブのパケット通信のために、本来のデータ転送機構以外の回路が増大してしまう課題があった。
この発明は上記のような課題を解決するためになされたもので、データ転送におけるレイテンシーの遅れや、データ転送機構以外の回路の増大を伴うことなく、演算器の並列度を高めても、急激な回路規模の増大を抑えることができる並列信号処理装置を得ることを目的とする。
この発明に係る並列信号処理装置は、複数の演算器の中のいずれかの演算器を接続している複数のローカル共有バスと、複数のローカル共有バスのうち、隣接している2つのローカル共有バスに接続されている複数の共有メモリとを設け、複数の演算器が、自己が接続されているローカル共有バスに接続されている共有メモリから隣接している他の演算器の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し、その演算処理の演算結果を自己が接続されているローカル共有バスに接続されている上記共有メモリ以外の共有メモリに書き込むようにしたものである。
この発明によれば、複数の演算器の中のいずれかの演算器を接続している複数のローカル共有バスと、複数のローカル共有バスのうち、隣接している2つのローカル共有バスに接続されている複数の共有メモリとを設け、複数の演算器が、自己が接続されているローカル共有バスに接続されている共有メモリから隣接している他の演算器の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し、その演算処理の演算結果を自己が接続されているローカル共有バスに接続されている上記共有メモリ以外の共有メモリに書き込むように構成したので、データ転送におけるレイテンシーの遅れや、データ転送機構以外の回路の増大を伴うことなく、演算器の並列度を高めても、急激な回路規模の増大を抑えることができる効果がある。
この発明の実施の形態1による並列信号処理装置を示す構成図である。 演算器1−1〜1−nの内部を示す構成図である。 この発明の実施の形態1による並列信号処理装置がJPEGの画像符号化信号処理を実施する場合の処理内容を示すフローチャートである。 図3の画像符号化信号処理を実施する際、演算器1−1〜1−3がパイプライン構成で並列信号処理を実現している様子を示す説明図である。 この発明の実施の形態2による並列信号処理装置を示す構成図である。 クロスバー型のマトリクスバス構成の並列信号処理装置を示す構成図である。
実施の形態1.
図1はこの発明の実施の形態1による並列信号処理装置を示す構成図である。
図1では、演算対象のデータを入力して、そのデータに対する所定の演算処理を実施する演算器がn個実装されて、n個の演算器1−1〜1−nが並列に動作する例を示している。
図1において、演算器1−1〜1−nはそれぞれローカル共有バス2−1〜2−nに接続されており、信号処理用の処理プログラムを格納するRAM・ROMなどの記録媒体や、プログラムカウンタなどを実装し、その処理プログラムを実行することで、信号データの演算や共有メモリ3に対するアクセス動作を実現している。
即ち、演算器1−1〜1−nは自己が接続されているローカル共有バス2に接続されている共有メモリ3(例えば、演算器1−2の場合、共有メモリ3−2)から隣接している他の演算器1の演算結果(例えば、演算器1−2の場合、演算器1−1の演算結果)を読み出して、その演算結果に対する所定の演算処理を実施し、その演算処理の演算結果を自己が接続されているローカル共有バス2に接続されている上記共有メモリ3以外の共有メモリ3(例えば、演算器1−2の場合、共有メモリ3−3)に書き込む処理を実施する。
ローカル共有バス2−1〜2−nは1つの演算器1と2つの共有メモリ3を接続しているバスである。
ただし、図1では、1つのローカル共有バス2に対して、2つの共有メモリ3が接続されている例を示しているが、共有メモリ3が接続されている個数は2個に限定されるものではなく、1つのローカル共有バス2に対して、3つ以上の共有メモリ3が接続されていてもよい。
共有メモリ3−1〜3−n+1は隣接している2つのローカル共有バス2に接続されており(例えば、共有メモリ3−3は、ローカル共有バス2−2とローカル共有バス2−3に接続されている)、演算器1−1〜1−nの演算結果等を格納する記録媒体である。
ただし、共有メモリ3−1はローカル共有バス2−1とデータ入力バス4に接続されており、データ入力バス4から演算対象のデータを入力して、そのデータを格納する。
また、共有メモリ3−n+1はローカル共有バス2−nとデータ出力バス5に接続されており、演算器1−nの演算結果をデータ出力バス5に出力する。
図2は演算器1−1〜1−nの内部を示す構成図である。
図2において、命令メモリ11は例えばRAMなどの記録媒体であり、機能分割されている信号処理用の処理プログラムを格納している。
制御部12は例えばプログラムカウンタ、ROMや制御回路などを備えており、命令メモリ11により格納されている処理プログラム内の命令を順次読み出して、その命令に対応する動作をALU(Arithmetic and Logic Unit)13、レジスタファイル14及びバスI/F15に指示する処理を実施する。
ALU13は制御部12の指示の下、レジスタファイル14から出力された演算対象のデータに対して、例えば、算術演算や論理演算などの算術論理演算や、データシフトなどを行うマイクロプロセッサである。
レジスタファイル14はレジスタ群又はRAM等で構成されており、他の演算器の演算結果(あるいは、データ入力バス4から入力された演算対象のデータ)や、ALU13の演算結果などを格納する。
バスI/F15は例えばアドレス生成回路やバス制御回路を備えており、制御部12の指示の下、ローカル共有バス2(あるいは、データ入力バス4、データ出力バス5)にアクセスする。
次に動作について説明する。
共有メモリ3−1は、データ入力バス4から演算対象のデータを入力して、そのデータを格納する。
演算器1−1は、ローカル共有バス2−1に接続されている共有メモリ3−1から演算対象のデータを読み出して、そのデータに対する所定の演算処理を実施し(例えば、ALU13が、演算対象のデータに対する算術演算を実施する)、その演算処理の演算結果をローカル共有バス2−1に接続されている共有メモリ3−2に書き込む処理を実施する。
演算器1−2は、ローカル共有バス2−2に接続されている共有メモリ3−2から演算器1−1の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し(例えば、ALU13が、演算器1−1の演算結果に対する算術演算を実施する)、その演算処理の演算結果をローカル共有バス2−2に接続されている共有メモリ3−3に書き込む処理を実施する。
演算器1−3〜1−n−1は、演算器1−2と同様に、ローカル共有バス2−3〜2−n−1に接続されている共有メモリ3−3〜3−n−1から演算器1−2〜1−n−2の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し(例えば、ALU13が、演算器1−2〜1−n−2の演算結果に対する算術演算を実施する)、その演算処理の演算結果をローカル共有バス2−3〜2−n−1に接続されている共有メモリ3−4〜3−nに書き込む処理を実施する。
演算器1−nは、ローカル共有バス2−nに接続されている共有メモリ3−nから演算器1−n−1の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し(例えば、ALU13が、演算器1−n−1の演算結果に対する算術演算を実施する)、その演算処理の演算結果をローカル共有バス2−nに接続されている共有メモリ3−n+1に書き込む処理を実施する。
共有メモリ3−n+1は、演算器1−nの演算結果をデータ出力バス5に出力する。
これにより、n個の演算器1によりパイプラインが構成されて、並列信号処理を実現することが可能になる。
ここで、図3はこの発明の実施の形態1による並列信号処理装置がJPEGの画像符号化信号処理を実施する場合の処理内容を示すフローチャートである。
図4は図3の画像符号化信号処理を実施する際、演算器1−1〜1−3がパイプライン構成で並列信号処理を実現している様子を示す説明図である。
図3に示すJPEGの画像符号化信号処理では、「DCT変換処理」と「量子化処理」と「可変長符号化処理」が行われるが、図4に示すように、「DCT変換処理」が演算器1−1、「量子化処理」が演算器1−2、「可変長符号化処理」が演算器1−3に割り当てられ、演算器1−1〜1−3がパイプライン構成で、画像符号化信号処理を並列に実行する。
具体的には、以下のようにして、画像符号化信号処理を並列に実行する。
共有メモリ3−1は、データ入力バス4から演算対象のデータである画像データを入力して、その画像データを格納する。
演算器1−1は、画像データが共有メモリ3−1に格納されると、その共有メモリ3−1から画像データを読み出して、その画像データをDCT変換し、DCT変換後の画像データであるDCT変換データを共有メモリ3−2に格納する(ステップST1)。
演算器1−2は、演算器1−1がDCT変換データを共有メモリ3−2に格納すると、その共有メモリ3−2からDCT変換データを読み出して、そのDCT変換データを量子化し、量子化後のDCT変換データである量子化データを共有メモリ3−3に格納する(ステップST2)。
演算器1−3は、演算器1−2が量子化データを共有メモリ3−3に格納すると、その共有メモリ3−3から量子化データを読み出して、その量子化データを可変長符号化し、可変長符号化後の量子化データである可変長符号化データを共有メモリ3−4に格納する(ステップST3)。
共有メモリ3−4は、可変長符号化データをデータ出力バス5に出力する。
以上で明らかなように、この実施の形態1によれば、演算器1−1〜1−nの中のいずれかの演算器1を接続しているローカル共有バス2−1〜2−nと、ローカル共有バス2−1〜2−nのうち、隣接している2つのローカル共有バス2に接続されている共有メモリ3−1〜3−n+1とを設け、演算器1−1〜1−nが、自己が接続されているローカル共有バス2に接続されている共有メモリ3から隣接している他の演算器1の演算結果を読み出して、その演算結果に対する所定の演算処理を実施し、その演算処理の演算結果を自己が接続されているローカル共有バス2に接続されている上記共有メモリ以外の共有メモリ3に書き込むように構成したので、データ転送におけるレイテンシーの遅れや、データ転送機構以外の回路の増大を伴うことなく、演算器1の並列度を高めても、急激な回路規模の増大を抑えることができる効果を奏する。
即ち、ローカル共有バス2−1〜2−nには、限定された共有メモリ3が接続されるのみであるため、バス制御回路(図示せず)の構成が複雑にならず、小型化することができる。また、バス配線領域を削減することができるとともに、バス転送クロックの高速化も容易に図ることができる。
また、バス制御回路と配線領域を削減することで、低消費電力化を図ることができる。
さらに、並列度を高めるために演算器1と共有メモリ3の個数を増加させても、1つのローカル共有バス2に接続される演算器1と共有メモリ3の個数が増加しないため、バス性能の低下を招くことなく、効率的に演算性能を高めることができる。したがって、柔軟な拡張性を効率的に実現することができる。
実施の形態2.
図5はこの発明の実施の形態2による並列信号処理装置を示す構成図であり、図において、図1と同一符号は同一又は相当部分を示すので説明を省略する。
グローバル共有バス6は全ての共有メモリ3−1〜3−n+1と接続されているバスである。
ダイレクトメモリアクセスコントローラであるDMA7は任意の共有メモリ3に格納されているデータをグローバル共有バス6経由で他の共有メモリ3に転送する処理を実施する。
ただし、図5の例では、データ入力バス4が共有メモリ3−1に接続されておらず、データ出力バス5が共有メモリ3−n+1に接続されていない。
上記実施の形態1では、隣接している演算器1間でデータ転送を行っているものについて示したが、稀に少量のデータを隣接外の演算器1間で交換する場合がある。
少量のデータを隣接外の演算器1間で交換するためだけに、従来のマトリクスバス構成を実装することは多くの無駄が発生する。
そこで、この実施の形態2では、隣接している演算器1間のデータ転送だけでなく、隣接外の演算器1間でデータ転送を行えるようにするために、全ての共有メモリ3−1〜3−n+1と接続されているグローバル共有バス6を設け、DMA7が、任意の共有メモリ3に格納されているデータをグローバル共有バス6経由で他の共有メモリ3に転送するようにしている。
これにより、大きな回路の増加を招くことなく、処理性能とプログラマの柔軟性が高い並列信号処理装置を実現することができる。
1−1〜1−n 演算器、2−1〜2−n ローカル共有バス、3−1〜3−n+1 共有メモリ、4 データ入力バス、5 データ出力バス、6 グローバル共有バス、7 DMA(ダイレクトメモリアクセスコントローラ)、11 命令メモリ、12 制御部、13 ALU、14 レジスタファイル、15 バスI/F。

Claims (3)

  1. 演算対象のデータを入力して、上記データに対する所定の演算処理を実施する複数の演算器が並列に動作する並列信号処理装置において、
    上記複数の演算器の中のいずれかの演算器を接続している複数のローカル共有バスと、上記複数のローカル共有バスのうち、隣接している2つのローカル共有バスに接続されている複数の共有メモリとを設け、
    上記複数の演算器が、自己が接続されているローカル共有バスに接続されている共有メモリから隣接している他の演算器の演算結果を読み出して、上記演算結果に対する所定の演算処理を実施し、上記演算処理の演算結果を上記ローカル共有バスに接続されている上記共有メモリ以外の共有メモリに書き込むことを特徴とする並列信号処理装置。
  2. 1つの演算器と2つの共有メモリが1つのローカル共有バスに接続されて、隣接している演算器が1つの共有メモリを共有することで、複数の演算器がパイプライン構成の並列信号処理を実現することを特徴とする請求項1記載の並列信号処理装置。
  3. 複数の共有メモリと接続されているグローバル共有バスと、任意の共有メモリに格納されているデータを上記グローバル共有バス経由で他の共有メモリに転送するダイレクトメモリアクセスコントローラとを設けたことを特徴とする請求項1または請求項2記載の並列信号処理装置。
JP2010002706A 2010-01-08 2010-01-08 並列信号処理装置 Pending JP2011141791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010002706A JP2011141791A (ja) 2010-01-08 2010-01-08 並列信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010002706A JP2011141791A (ja) 2010-01-08 2010-01-08 並列信号処理装置

Publications (1)

Publication Number Publication Date
JP2011141791A true JP2011141791A (ja) 2011-07-21

Family

ID=44457576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010002706A Pending JP2011141791A (ja) 2010-01-08 2010-01-08 並列信号処理装置

Country Status (1)

Country Link
JP (1) JP2011141791A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110859B2 (en) 2011-11-28 2015-08-18 Fujitsu Limited Signal processing device and signal processing method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347835A (ja) * 1986-08-18 1988-02-29 Agency Of Ind Science & Technol パイプライン計算機
JPH04120652A (ja) * 1990-09-11 1992-04-21 Matsushita Graphic Commun Syst Inc 並列処理装置
JPH04262423A (ja) * 1991-02-15 1992-09-17 Fujitsu Ltd パイプライン処理装置
JPH05108586A (ja) * 1991-10-18 1993-04-30 Hitachi Ltd 並列演算機構及び並列演算方法
JPH10269137A (ja) * 1997-03-25 1998-10-09 Sony Tektronix Corp メモリ・システム及びデータ処理システム
JP2002190193A (ja) * 2000-12-20 2002-07-05 Sony Corp メモリ装置およびデータ記憶方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6347835A (ja) * 1986-08-18 1988-02-29 Agency Of Ind Science & Technol パイプライン計算機
JPH04120652A (ja) * 1990-09-11 1992-04-21 Matsushita Graphic Commun Syst Inc 並列処理装置
JPH04262423A (ja) * 1991-02-15 1992-09-17 Fujitsu Ltd パイプライン処理装置
JPH05108586A (ja) * 1991-10-18 1993-04-30 Hitachi Ltd 並列演算機構及び並列演算方法
JPH10269137A (ja) * 1997-03-25 1998-10-09 Sony Tektronix Corp メモリ・システム及びデータ処理システム
JP2002190193A (ja) * 2000-12-20 2002-07-05 Sony Corp メモリ装置およびデータ記憶方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110859B2 (en) 2011-11-28 2015-08-18 Fujitsu Limited Signal processing device and signal processing method

Similar Documents

Publication Publication Date Title
EP3400688B1 (en) Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications
EP1639495B1 (en) Memory command handler for use in an image signal processor having a data driven architecture
JP6846534B2 (ja) 計算装置と計算方法
JP2022106737A (ja) ハードウェアにおける行列乗算の実行
EP3286724B1 (en) Two dimensional shift array for image processor
KR100305947B1 (ko) 신호프로세싱응용에사용하는재구성가능한컴퓨터구조
KR101572204B1 (ko) Dma 벡터 버퍼
US20160344629A1 (en) Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
JP5301381B2 (ja) データドリブン型アーキテクチャメッシュアレイ中のメモリアクセスデバイス制御
US10282805B2 (en) Image signal processor and devices including the same
US6757019B1 (en) Low-power parallel processor and imager having peripheral control circuitry
JP7053713B2 (ja) 低電力コンピュータイメージング
JP2009538486A (ja) 算術および初等関数ユニットを有する図形プロセッサ
TW201633171A (zh) 用於or鍊接匯流排之增強型資料匯流排反轉編碼技術
CN106443422B (zh) 嵌入式逻辑分析仪和包括该嵌入式逻辑分析仪的集成电路
US20230161591A1 (en) Method and tensor traversal engine for strided memory access during execution of neural networks
CN106657763B (zh) 图像处理设备和方法
JP4838009B2 (ja) リコンフィグラブル回路
JP2011141791A (ja) 並列信号処理装置
JP2009282744A (ja) 演算器及び半導体集積回路装置
EP4198717A1 (en) Register file virtualization: applications and methods
CN111078286B (zh) 数据通信方法、计算系统和存储介质
KR102284078B1 (ko) 고 처리율의 내부 통신 프로토콜을 구비한 이미지 프로세서
JP2011081695A (ja) データ演算装置の制御回路及びデータ演算装置
US10437743B1 (en) Interface circuitry for parallel computing architecture circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20120824

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Effective date: 20131022

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20131218

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Effective date: 20140107

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140507