JP2002055812A - 信号処理装置 - Google Patents

信号処理装置

Info

Publication number
JP2002055812A
JP2002055812A JP2001125724A JP2001125724A JP2002055812A JP 2002055812 A JP2002055812 A JP 2002055812A JP 2001125724 A JP2001125724 A JP 2001125724A JP 2001125724 A JP2001125724 A JP 2001125724A JP 2002055812 A JP2002055812 A JP 2002055812A
Authority
JP
Japan
Prior art keywords
data
input
output
processing
processing device
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
JP2001125724A
Other languages
English (en)
Inventor
T Crane Landy
ランディ・ティー・クレーン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002055812A publication Critical patent/JP2002055812A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】高速で、柔軟性の高い乗算および累算構造を実
現する。 【解決手段】データ処理装置は、パラレルまたはシリア
ルなフォーマットでデータを受け取り、受信したデータ
を処理装置にパラレルに出力するようプログラミングす
ることができる入力装置を備える。処理装置は、予め規
定された係数に従って、データに対して乗算および累算
処理を実行し、該処理されたデータをスイッチング装置
に出力する。スイッチング装置は、該処理されたデータ
をルーティングするようプログラミングされることがで
きる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、支援型乗算および
累算アルゴリズムのためのスケーラブルな処理装置に関
し、より具体的には、プログラマブルな入力および出力
を有し、データを受け取って、該データを処理のために
処理装置にルーティングする、デジタル信号処理の乗算
および累算構造に関する。
【0002】
【従来の技術】典型的なデジタル信号処理ステムでは、
信号処理アルゴリズムが、予め決められた係数に従い、
パラレルな信号処理装置を介して実行されるのが一般的
である。典型的なデジタル信号処理装置は、データ入力
x[n]〜x[n−n]の処理を実行するために、図
1に示されるのと同様の乗算および累算アーキテクチャ
を利用する。図1では、データ入力x[n]〜x[n−
]は、それぞれの乗算器10、11、12および1
3に供給される。乗算器10〜13は、係数a0、a
1、a2およびanに従って、それぞれの入力データに
対して乗算処理をそれぞれ実行する。その後、乗算器1
0〜13の出力は、累算器14に供給される。さらに、
累算器14は、和y[n]を出力する。
【0003】
【発明が解決しようとする課題】一般に、たたみ込み計
算を実行する際に用いられるようなアルゴリズムを実行
するためのシステムは、ファームウェア、専用ハードウ
ェアおよびデジタル信号処理(DSP)マイクロプロセ
ッサで実現されるシステムを備えている。ファームウェ
アによる実現は柔軟性を提供するが、典型的には、デー
タ処理を実行する際の速度が非常に遅い。専用ハードウ
ェアは高速な処理時間を実現するが、その専用性のため
に、設計された専用の機能以外の機能を実行することに
ついて柔軟性がない。DSPマイクロプロセッサは、特
定のアルゴリズムのために最適化されることができる
が、DSPは、高性能で電力消費が低いことが必要とさ
れる組込み型のアプリケーションの場合のように、適し
ていないアプリケーションがある。
【0004】従って本発明の目的は、上記のような問題
点を解決することができるデジタル信号処理の乗算およ
び累算構造を提供することである。
【0005】
【課題を解決するための手段】本発明は、乗算および累
算アルゴリズムを実行するシステムを提供する。簡単に
説明すると、このアーキテクチャでは、システムは以下
のように実現されることができる。すなわち、入力装置
はデータを受け取り、そのデータを、パラレルに(並列
に)処理装置に供給する。処理装置は、入力装置から受
け取ったデータを処理して出力信号を生成し、該出力信
号は、該出力信号を選択的にルーティング(転送)する
プログラマブルな出力装置にルーティングされる。
【0006】また本発明の1つの側面によると、データ
を処理する方法が提供される。この点に関し、該方法
は、概略的に以下のステップを含む。すなわち、データ
がシリアル(逐次的)なフォーマットで入力されるか、
またはパラレルなフォーマットで入力されるかを判断す
るステップと、該判断したフォーマットでデータを受け
取るよう入力バッファを構成するステップと、該入力バ
ッファを介してデータを受け取るステップと、該データ
を、アルゴリズム処理装置にパラレルに出力するステッ
プとを含む。その後、処理されたデータは、アルゴリズ
ム処理装置から出力スイッチング装置に出力され、予め
決められた経路を介して出力される。
【0007】本発明の他の特徴および利点は、以下の図
面および詳細な説明を検討すれば、当業者には明らかに
なるであろう。すべてのそのような特徴および利点は、
本発明の範囲内に含まれることを意図している。
【0008】
【発明の実施の形態】図面を参照することにより、本発
明の理解をより進めることができる。図面内の構成要素
は、必ずしも寸法通りに記載されているわけではなく、
本発明の原理を明確に例示するために強調されている。
さらに、いくつかの図面を通して、同じ参照番号は、対
応部分を示す。
【0009】図2を参照して、本発明の一実施形態を説
明する。図2には、プログラマブル入力装置400と、
アルゴリズム処理装置50と、プログラマブル出力装置
500とが示されている。
【0010】プログラマブル入力装置400は、入力バ
ッファ400、401および402を備える。入力バッ
ファ401は、アルゴリズム処理装置50の処理装置1
00にデータ入力を提供する。入力バッファ装置402
は、処理装置200にデータ入力を提供する。同様に、
入力バッファ403は、処理装置300にデータ入力を
提供する。入力バッファ401、402および403
は、データを格納するための個別のデータ要素(ビッ
ト)から成り、パラレルまたはシリアルにデータを受け
取るようプログラミングされることができる、プログラ
マブルな入力−出力先入れ先出し(FIFO)レジスタ
であることが好ましい。
【0011】アルゴリズム処理装置50は、処理装置1
00、200および300を備える。処理装置100
は、乗算器103、104および105を備える。乗算
器103、104および105は、入力バッファ401
から入力データを受け取り、予め規定された係数a0、
a1およびa2に従って、受け取ったデータに対して乗
算処理をそれぞれ実行する。より具体的には、乗算器1
03、104および105は、予め規定された係数と、
バッファ401からの入力データとを掛け合わせる。そ
の後、乗算器103、104および105は、その処理
されたデータを累算器102に出力する。累算器102
は、累算されたデータを乗算器101に出力する。乗算
器101は、予め規定された係数b0に従って乗算処理
を実行し、出力データ信号S1を生成する。
【0012】同様に、処理装置200は、乗算器20
3、204および205を備える。乗算器203、20
4および205は、入力バッファ402から入力データ
を受け取り、予め決められた係数a3、a4およびa5
に従って、受け取ったデータに対して乗算処理をそれぞ
れ実行する。より具体的には、乗算器203、204お
よび205は、予め決められた係数と、バッファ402
からの入力データとを掛け合わせる。その後、乗算器2
03、204および205は、その処理されたデータを
累算器202に出力する。累算器202は、累算された
データを乗算器201に出力する。乗算器201は、予
め決められた係数b1に従って乗算処理を実行し、出力
データ信号S2を生成する。処理装置300は、乗算器
303、304および305を備える。乗算器303、
304および305は、入力バッファ403から入力デ
ータを受け取り、予め決められた係数a6、a7および
a8に従って、受け取ったデータに対して乗算動作をそ
れぞれ実行する。より具体的には、乗算器303、30
4および305は、予め決められた係数と、バッファ4
03からの入力データとを掛け合わせる。その後、乗算
器303、304および305は、その処理されたデー
タを累算器302に出力する。累算器302は、累算さ
れたデータを乗算器301に出力する。乗算器301
は、予め決められた係数b3に従って乗算処理を実行
し、出力データ信号S3を生成する。
【0013】予め決められた係数a0〜a8に関し、こ
れらの係数が、予めメモリデバイスに格納され、または
他の演算によって処理中に生成されて、使用時に各乗算
器に提供されることができる、ということは理解されよ
う。より具体的には、これらの係数は、例えば、中央演
算装置(CPU)、コントローラ、論理ゲート、または
ソフトウェアによって実行される計算の結果であること
ができる。
【0014】出力スイッチング装置500は、スイッチ
ング装置531、532および533を備える。スイッ
チング装置531は、処理装置100からデータを受け
取る。スイッチング装置532は、処理装置200の出
力を受け取る。スイッチング装置533は、処理装置3
00の出力を受け取る。スイッチング装置531、53
2および533は、共通に制御され、処理装置100、
200および300の出力をそれぞれ管理するように協
動することが好ましい。好ましい実施形態では、それぞ
れのスイッチング装置531、532および533は、
第1の設定「a」と、第2の設定「b」とを提供するよ
う構成されることが好ましい。設定「a」は第1の信号
経路に対応し、設定「b」は第2の信号経路に対応す
る。スイッチング装置531、532および533の設
定に応じて、処理装置100、200および300のそ
れぞれの出力は、以下のようになる。すなわち、(1)
設定「a」の場合には、それぞれ直接にルーティングさ
れ、個別かつパラレルに出力される。(2)スイッチ設
定が「b」の場合には、乗算器501にルーティングさ
れ、互いに掛け合わされて、共通の出力信号Tを生成す
る。スイッチング装置531、532および533の設
定の選択は、制御信号CSに従って制御される。制御信
号CSは、例えば中央演算装置(CPU)、コントロー
ラ、または他の論理ゲート、またはソフトウェアコード
のような制御源を介して生成されることができる。代替
的に、それぞれのスイッチング装置531、532およ
び533は、例えば、異なる制御源によって生成される
独立した制御信号によって独立して制御されることがで
きる。さらに、それぞれのスイッチング装置531、5
32および533は、例えば同じ制御源によって生成さ
れる独立した制御信号によって独立して制御されること
ができる。
【0015】図3は、例えば図2に示される実施形態に
入力することができるデータ入力の一例を示す。図3に
おいて、ビットストリームX、ビットストリームYおよ
びビットストリームZが示されている。ビットストリー
ムXは、データビットX0〜Xnを含む。一方、ビット
ストリームYは、データビットY0〜Ynを含む。同様
に、ビットストリームZは、データビットZ0〜Znを
含む。
【0016】図4および図5は、入力バッファ401を
示す。本発明は、データを処理装置400に入力する際
における柔軟性を実現する。より具体的には、好ましい
実施形態では、入力バッファ401は、データが、図4
に示されるように入力バッファ401にシリアルにシフ
トされること、または、図5に示されるようにパラレル
に入力されることのいずれをも可能にするプログラマブ
ルな先入れ先出しレジスタ(FIFO)である。
【0017】図4は、データビット0、1、2、3、
4、5、6...(図4)からなるデータストリームS
を示す。データストリームXは、すべての利用可能なデ
ータ要素401A、401Bおよび401Cをデータで
満たすように、入力バッファ401に一度に3ビットが
シフトされる。その後、データ要素401A、401B
および401Cに格納されたデータX1、X2およびX
3は、それぞれ入力バッファ401からパラレルに読み
出され、処理装置100(図2)に供給される。
【0018】図5を参照すると、入力バッファ401の
一例が示されており、データストリームSは、入力バッ
ファ401のデータ要素401A、401Bおよび40
1Cにパラレルにロードされる。その後、入力バッファ
401にロードされたデータは、パラレルに読み出さ
れ、処理装置100に供給される。
【0019】図6は、本発明の一実施形態を示す図であ
り、入力バッファ401、402および403は、それ
ぞれのデータ要素(401a、401b、401c、4
02a、402b、402c、403a、403b、4
03c)への入力データを受け取るよう構成される。そ
の後、入力バッファ401、402および403に格納
された複数のデータビットは、それぞれの入力バッファ
から、それぞれの処理装置100、200または300
にパラレルに出力される。処理されたデータは、それぞ
れの処理装置100、200および300から、個別か
つパラレルに出力される。この例では、データ入力は、
例えばRBGカラーデータ(赤、緑、青)である。それ
ぞれの入力バッファ401、402および403は、R
BGカラーデータをパラレルに受け取り、その後、その
データを、それぞれの処理ブロック100、200およ
び300に出力する。この実施形態は、入力バッファ4
01、402および403が、図5に示されるようにパ
ラレルにデータを受け取るようにプログラミングされ、
スイッチング装置531、532および533が「a」
に設定された場合の、図2に示される実施形態と機能的
に等価である。
【0020】図7は、本発明の一実施形態を示してお
り、入力バッファ401、402および403は、それ
ぞれのデータ要素(401a、401b、401c、4
02a、402b、402c、403a、403b、4
03c)への入力データをシリアルに受け取り、その
後、そのデータを、それぞれの処理装置100、200
および300にパラレルに出力するよう構成される。処
理されたデータは、それぞれの処理装置100、200
および300から乗算器501に出力される。乗算器5
01は、予め決められた係数c0に従って乗算処理を実
行することにより、入力データを処理する。この例で
は、データ入力は、例えば図3に示されるようなデータ
ストリームにおけるXYZデータ値である。それぞれの
入力バッファ401、402および403は、それぞれ
のデータストリーム(X,Y,Z)を受け取り、そのデー
タストリームは、概ね図4に示されるように、それぞれ
の入力バッファ401、402および403にシリアル
にシフトされる。その後、入力バッファ401、402
および403に格納された複数のデータビットは、それ
ぞれの入力バッファから、それぞれの処理装置100、
200および300にパラレルに出力される。この実施
形態は、入力バッファ401、402および403が、
概ね図4に示されるようにシリアルにデータを受け取る
ようプログラミングされ、スイッチング装置531、5
32および533が「b」に設定された場合の、図2に
示される実施形態と機能的に等価である。
【0021】図8は、本発明の方法を示す流れ図であ
る。この方法による、データがシリアルなフォーマット
で入力されるか、またはパラレルなフォーマットで入力
されるかが判断される(801)。その後、入力バッフ
ァが、ステップ801において判断されたフォーマット
でデータを受け取るように構成(プログラミング)され
る(802)。データは入力バッファによって受け取ら
れ(803)、その後、アルゴリズム処理装置にパラレ
ルに出力される(804)。処理されたデータは、アル
ゴリズム処理装置から、予め決められた経路を経由して
処理されたデータを出力するよう構成された出力スイッ
チング装置に出力される(805)。
【0022】本発明は、任意の数の入力データストリー
ムに対処するようスケーリングすることができる、とい
うことは理解されよう。より具体的には、入力データス
トリームに対応するために、入力バッファを追加した
り、または減らしたりすることができる。同様に、さら
に多くの入力データストリームに対応するために、追加
の処理ブロック(100、200、300等)およびス
イッチング装置(531、532、533等)を加える
こともできる。それぞれの処理装置に関しては、それぞ
れの累算器に供給される乗算器および係数の数を増や
し、さらに多くのデータ入力に対応するようにすること
もできる。
【0023】処理装置100、200および300に対
して一定のデータストリームを保証するために、FIF
Oレジスタを用いて、それぞれの入力装置401、40
2および403に、ある一定のデータフローを供給する
ことができる。そのようなFIFO構成は、処理装置1
00、200および300へのデータ入力のオーバーフ
ローに起因するCPU動作の割込みの機会をも低減させ
るであろう。さらに、本発明のアルゴリズム処理装置
は、ハードウェア、ソフトウェア、ファームウェア、ま
たはその組み合わせで実現されることができる。好まし
い実施形態では、アルゴリズム処理装置は、メモリ内に
格納され、適切な命令実行システムによって実行される
ソフトウェアまたはファームウェアで実現される。代替
の実施形態として、ハードウェアで実現される場合に
は、アルゴリズム処理装置は、当分野においてよく知ら
れている技術、たとえばデータ信号に対して論理機能を
実行するための論理ゲートを有するディスクリート論理
回路、適切な論理ゲートを有する特定用途向け集積回
路、プログラマブルゲートアレイ(PGA)、フィール
ドプログラマブルゲートアレイ(FPGA)等のいずれ
か、または組み合わせで実現することができる。
【0024】本発明の上記の実施形態、特に「好まし
い」実施形態は、実現可能な実装形態の単なる例であ
り、本発明の原理をより明確に理解できるようにするた
めの説明に過ぎないことを強調しておきたい。本発明の
精神および原理から逸脱することなく、本発明の上記の
実施形態に、多数の改変および変更を行うことができ
る。そのようなすべての改変および変更は、本発明の範
囲に含まれ、特許請求の範囲によって保護されることを
意図している。
【0025】本発明は、以下の実施態様を含む。 (1)データを受け取るためのプログラマブルな入力装
置(400)と、前記データを処理するための処理装置
(50)と、前記処理装置(50)からの出力信号を選
択的に出力するスイッチング装置(500)と、を備え
る信号処理装置。 (2)前記プログラマブルな入力装置(400)は、入
力バッファ(401、402、403)を備える、上記
(1)に記載の処理装置。 (3)前記入力バッファ(401、402、403)
は、それぞれデータを格納するための複数のデータ要素
を含む、上記(2)に記載の処理装置。 (4)前記入力バッファ(401、402、403)
は、プログラマブルな先入れ先出し(FIFO)レジス
タを含む、上記(3)に記載の処理装置。 (5)前記プログラマブルな先入れ先出し(FIFO)
レジスタ(401、402、403)は、パラレルなフ
ォーマットでデータを前記データ要素にロードするよう
選択的に構成されることができる、上記(4)に記載の
処理装置。
【0026】(6)前記プログラマブルな先入れ先出し
(FIFO)レジスタ(401、402、403)は、
シリアルなフォーマットでデータを前記データ要素にシ
フトするよう選択的に構成されることができる、上記
(4)に記載の処理装置。 (7)データを受け取り、該データをアルゴリズム処理
装置(100、200、300)にパラレルに出力する
入力装置(400)と、複数の出力経路を含み、前記ア
ルゴリズム処理装置(100、200、300)から出
力されたデータを受け取り、制御信号(CS)に従っ
て、利用可能な前記出力経路のうちの選択された経路を
介して、前記出力されたデータを選択的にルーティング
する出力装置(500)と、を備える信号処理装置。 (8)データを受け取る入力手段(400)と、前記デ
ータを処理する処理手段(50)と、前記処理手段から
の出力信号を選択的に出力するスイッチング手段(50
0)と、を備える信号処理装置。 (9)データが、シリアルなフォーマットで入力される
か、パラレルなフォーマットで入力されるかを判断する
ステップ(801)と、前記判断されたフォーマットで
データを受け取るよう入力バッファを構成し、データを
受け取るステップ(802)と、処理装置にパラレルに
データを出力するステップ(804)と、予め決められ
た経路を経由して処理されたデータを出力するよう構成
された出力スイッチング装置を介して、前記処理された
データを出力するステップ(805)と、を含む、デー
タを処理する方法。 (10)前記出力スイッチング装置(531、532、
533)は、制御信号(CS)に従って構成される上記
(9)に記載のデータを処理する方法。
【0027】
【発明の効果】本発明によれば、データ処理を実行する
速度が速く、高い柔軟性を持ち、かつ様々なアプリケー
ションに適用することができる、乗算および累算構造が
実現される。
【図面の簡単な説明】
【図1】従来の典型的なアルゴリズム処理装置の一例を
示す図。
【図2】本発明の一実施形態に従うブロック図。
【図3】本発明の一実施形態に従う、データストリーム
の例を示す図。
【図4】本発明の一実施形態に従う、データを入力バッ
ファにシリアルにシフトする処理を示す図。
【図5】本発明の一実施形態に従う、データを入力バッ
ファにパラレルに入力する処理を示す図。
【図6】本発明の一実施形態を示すブロック図。
【図7】本発明の他の実施形態を示すブロック図。
【図8】本発明の一実施形態に従う、データを処理する
方法を示すフローチャート。
【符号の説明】
50 処理装置 100、200、300 アルゴリズム処理装置 400 プログラマブル入力装置 401、402、403 入力バッファ 500 スイッチング装置 531、532、533 出力スイッチング装置
フロントページの続き Fターム(参考) 5B016 AA01 BA03 BA06 CA01 DA04 JA02 5B056 AA04 BB71 FF01 FF02 FF07

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データを受け取るためのプログラマブルな
    入力装置と、 前記データを処理するための処理装置と、 前記処理装置からの出力信号を選択的に出力するスイッ
    チング装置と、 を備える信号処理装置。
JP2001125724A 2000-05-04 2001-04-24 信号処理装置 Pending JP2002055812A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56501600A 2000-05-04 2000-05-04
US09/565016 2000-05-04

Publications (1)

Publication Number Publication Date
JP2002055812A true JP2002055812A (ja) 2002-02-20

Family

ID=24256856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001125724A Pending JP2002055812A (ja) 2000-05-04 2001-04-24 信号処理装置

Country Status (2)

Country Link
EP (1) EP1152346A2 (ja)
JP (1) JP2002055812A (ja)

Also Published As

Publication number Publication date
EP1152346A2 (en) 2001-11-07

Similar Documents

Publication Publication Date Title
US4789927A (en) Interleaved pipeline parallel processing architecture
US6049882A (en) Apparatus and method for reducing power consumption in a self-timed system
JP2645669B2 (ja) データ処理システム
JPS6131502B2 (ja)
IL169374A (en) Result partitioning within simd data processing systems
JPH06105460B2 (ja) マルチプロセッサのプロセッサ切換え装置
JPH03286332A (ja) デジタルデータ処理装置
US8761188B1 (en) Multi-threaded software-programmable framework for high-performance scalable and modular datapath designs
JP2002055812A (ja) 信号処理装置
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
JPS59114677A (ja) ベクトル処理装置
US7996661B2 (en) Loop processing counter with automatic start time set or trigger modes in context reconfigurable PE array
EP1624380A2 (en) Vector processing apparatus, information processing apparatus, and vector processing method for reducing simultaneous switching noise
US8060729B1 (en) Software based data flows addressing hardware block based processing requirements
US7107478B2 (en) Data processing system having a Cartesian Controller
US7512873B2 (en) Parallel processing apparatus dynamically switching over circuit configuration
US6850536B2 (en) Interconnection device with integrated storage
US8677103B1 (en) Asynchronous pipelined data path with data transition
JP2925842B2 (ja) パイプライン処理装置
JPS60250438A (ja) 情報処理装置
CN116134418A (zh) 在处理器中的指令流水线中插入代理读取指令
JPS63244269A (ja) マスク付きベクトル演算処理装置
JP2004110528A (ja) 信号処理回路
JPH06274526A (ja) ベクトル処理装置
JPH01118926A (ja) パイプライン処理装置