JP2001184336A - マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置 - Google Patents
マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置Info
- Publication number
- JP2001184336A JP2001184336A JP2000260459A JP2000260459A JP2001184336A JP 2001184336 A JP2001184336 A JP 2001184336A JP 2000260459 A JP2000260459 A JP 2000260459A JP 2000260459 A JP2000260459 A JP 2000260459A JP 2001184336 A JP2001184336 A JP 2001184336A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- matrix
- value
- register
- 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.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 133
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000013500 data storage Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 32
- 238000000034 method Methods 0.000 description 11
- 102100022644 26S proteasome regulatory subunit 4 Human genes 0.000 description 4
- 101000619137 Homo sapiens 26S proteasome regulatory subunit 4 Proteins 0.000 description 4
- SVYBEBLNQGDRHF-UHFFFAOYSA-N 4-amino-N-(5-ethyl-1,3,4-thiadiazol-2-yl)benzenesulfonamide Chemical compound S1C(CC)=NN=C1NS(=O)(=O)C1=CC=C(N)C=C1 SVYBEBLNQGDRHF-UHFFFAOYSA-N 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241001455593 Iris severe mosaic virus Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 101150083341 LOG2 gene Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
リックス表現方式をデジタル信号処理装置の命令語水準
に利用可能にしたハードウェア及びマトリックス演算機
能を有するデジタル信号処理装置を提供する。 【解決手段】 デジタル信号処理装置に備えられたマト
リックス演算装置は、循環リンクリスト形態のマトリッ
クスデータを含むオペランドデータ及び演算結果データ
を貯蔵するデータ貯蔵手段と、命令語の内容に応じて一
連の第1オペランドデータのアドレス、一連の第2オペ
ランドデータのアドレス及び一連の演算結果データの貯
蔵アドレスを順次に生成するアドレス発生手段と、アド
レス発生手段により生成されたアドレスに位置したデー
タをデータ貯蔵手段から引出して前記命令語の内容に応
じて演算を行う演算手段とを含む。
Description
置のように多くのデータを演算する装置や電子システム
のための演算装置に係り、特に多くのデータを処理する
ためにマトリックス形態に表現された命令語を処理する
デジタル信号処理装置の演算装置及びマトリックス演算
機能を有するデジタル信号処理装置に関する。
量の電池でも長時間使用しうるシステムが登場した。特
に、補聴器のような付着型医療機器や個人用無線通信シ
ステムのような技術分野では消費電力とシステムのサイ
ズが重要な関心の対象となっている。
処理するデジタル信号処理装置は電子産業分野で大きな
発展を成してきた。しかし、このような発展は性能の改
善という観点から接近してこれらシステムの消費電力が
急増しつつある。
データ単位に処理する。例えば、数学式1のような2×
2マトリックスを乗算すれば、一般のマイクロプロセッ
サーはこれを一々処理することになる。
グラムとして表現すれば次の通りである。
信号処理器では乗算と加算を1つのクロック周期に行
う"MAC"機能をさらに使用している。"MAC"機能が追加さ
れたデジタル信号処理器で行われるプログラムは概略的
に次のように示しうる。"MAC"機能が追加されることに
よって、そうでない場合よりプログラム実行時間とプロ
グラムのサイズが縮められる。
増加して"MAC"機能が周期的に反復されることが見られ
る。これを効率よく処理するために既存のデジタル信号
処理装置で反復文(RPT)と自動アドレス増加機能(例え
ば、R5++)を採用している。これら機能はマトリックス
演算のような多数の反複文が要されるプログラムに効率
よく用いられる。反復文と自動アドレス増加機能が提供
されるプログラムは次のように作成されうる。
理装置で行われるプログラムのサイズは相変らず大き
い。
する場合には数学式1の計算を次のようなコードのみで
行える。 SETD 222 MULT X1 X2 X3 何れのアルゴリズムや機能であっても多くの命令語で表
現すれば、これによって大容量のメモリが必要となり、
結局デジタル信号処理装置のようなプロセッサーでは多
くの電力を消費することになる。これはプロセッサーで
消費される電力の大部分がメモリにおける命令語の読出
に消費されるからである。
り、多くの命令語で表現される機能を実行する内蔵型プ
ロセッサーを使用するシステムは、1つのチップ内に必
要な命令語を全て内蔵できない場合も発生する。このよ
うな場合、システムは外部のメモリを拡張して使用すべ
きであり、これによってさらに多くの電力が消費され
る。従って、何れかの機能を多くの命令語で表現する場
合、携帯型のような電子システムでは、再充電するまで
の製品の使用時間を短縮させ、多数のチップを用いる必
要があることから製品のサイズを大きくし、製品の値段
も上昇させる。
Array Operation)のようなベクトル演算を行うシステム
では多数の演算を一度に処理しうる。このようなシステ
ムはチップ内に乗算器と加算器のような演算装置を複数
個備えて一度にデータを処理する。このような方式は、
システムの性能は向上させるが、電力面とチップのサイ
ズを考慮すれば良い解決策にはならない。また、デジタ
ル信号処理アルゴリズムのうちこのようなベクトル演算
が効率よく用いられる場合は一部に過ぎない。
品の携帯化に必須的な要素である低消費電力で長時間の
動作を保障しうる技術に関する。デジタル信号処理装置
のようなプロセッサーにおける多くの電力(50-80%)
はプログラムメモリで命令語を読出す時用いられる。メ
モリの消費電力はメモリのサイズと読出/書込数に比例
するために、省力するためには、メモリにおいてデータ
の読出数とメモリのサイズを縮小することが必要であ
る。
ス表現方式を用いて簡単に表現できるので、本発明では
データの表現方式にマトリックス表現方式を採択してプ
ログラムメモリのサイズを縮めると同時にメモリから命
令語を読出す回数を減らしうるデジタル信号処理装置に
おけるマトリックス演算装置及びマトリックス演算機能
を有するデジタル信号処理装置を提供することをその目
的とする。
に本発明に係るデジタル信号処理装置に備えられ、マト
リックス演算を行う装置は、循環リンクリスト形態のマ
トリックスデータを含むオペランドデータ及び演算結果
データを貯蔵するデータ貯蔵手段と、前記デジタル信号
処理装置で行われる命令語の内容に応じてマトリックス
演算に必要な一連の第1オペランドデータのアドレス、
一連の第2オペランドデータのアドレス及び一連の演算
結果データの貯蔵アドレスを順次に生成するアドレス発
生手段と、前記アドレス発生手段により生成されたアド
レスに位置したデータを前記データ貯蔵手段から引出し
て前記命令語の内容に応じて演算を行う演算手段とを含
む。
ックス演算装置で前記アドレス発生手段は、前記循環リ
ンクリスト形態のマトリックスデータのアドレスを貯蔵
し、前記命令語の内容に応じて第1マトリックスデータ
アドレス、第2マトリックスデータアドレス及び演算結
果マトリックスデータアドレスを出力するマトリックス
アドレス貯蔵手段と、前記マトリックスアドレス貯蔵手
段から第1マトリックスデータアドレスが入力され、前
記命令語に応じる一連の第1オペランドデータのアドレ
スを順次に生成するAアドレス生成器と、前記マトリッ
クスアドレス貯蔵手段から第2マトリックスデータアド
レスが入力され、前記命令語に応じる一連の第2オペラ
ンドデータのアドレスを順次に生成するBアドレス生成
器と、前記マトリックスアドレス貯蔵手段から演算結果
マトリックスデータアドレスが入力され、前記命令語に
応じる一連の演算結果データの貯蔵アドレスを順次に生
成するCアドレス生成器とを具備する。
るマトリックス演算機能を有するデジタル信号処理装置
は、信号処理プログラムを貯蔵するプログラムメモリ
と、前記プログラムメモリでフェッチした命令語を一時
貯蔵する命令語レジスタと、前記命令語レジスタに貯蔵
された命令語を解釈して制御信号を生成する命令語デコ
ーダと、循環リンクリスト形態のマトリックスデータを
含むオペランドデータ及び演算結果データを貯蔵するデ
ータ貯蔵手段と、前記制御信号に応じてマトリックス演
算に必要な一連の第1オペランドデータのアドレス、一
連の第2オペランドデータのアドレス及び一連の演算結
果データの貯蔵アドレスを順次に生成するアドレス発生
手段と、前記アドレス発生手段により生成されたアドレ
スに位置したデータを前記データ貯蔵手段から引出して
前記制御信号に応じて演算を行う演算手段とを含む。
命令語デコーダは、前記プログラムメモリに貯蔵された
命令語をフェッチして前記命令語レジスタに一時貯蔵す
る段階と、前記アドレス発生手段で第1オペランドデー
タのアドレス及び第2オペランドデータのアドレスを生
成する段階と、第1オペランドデータ及び第2オペラン
ドデータを前記データ貯蔵手段から引出して前記演算手
段に移す段階と、前記演算手段で演算を行い、前記アド
レス発生手段で演算結果データの貯蔵アドレスを生成す
る段階と、前記演算手段から出力された演算結果データ
を前記データ貯蔵手段に貯蔵する段階のパイプライン構
造に対応する制御信号を生成することを特徴とする。
明を詳しく説明する。図1は本発明が適用されたデジタ
ル信号処理装置のブロック図である。
10に貯蔵されており、プログラムメモリ10から読出
された命令語は命令語レジスタ(IR)11に貯蔵される。
命令語レジスタ11に貯蔵された命令語は命令語デコー
ダ12により解釈されて各機能ブロックに必要な制御信
号が生成される。データメモリ13は2つの出力と1つ
の入力を有するレジスタファイル形態よりなることが望
ましい。データメモリ13から出力される2つのデータ
を指定するためのAアドレス生成器14a及びBアドレス
生成器14bとLOG2 15a、SHIFT15b、ALU15c、MU
LT15dのような演算ブロックで計算された結果を貯蔵
する所を指定するCアドレス生成器14cが備えられる。
外部との通信のためには直列インタフェース17、並列
インタフェース18、メモリインタフェース19が備え
られている。内部プロセッサーにクロックを供給するク
ロック発生器20があり、インタラプトとプロセッサー
状態を示すレジスタ21a、21b、一定の時間周期でイ
ンタラプトを発生するためのタイマー21cなどが備え
られる。
2は多様なマトリックスのアドレスを管理、貯蔵する部
分である。デジタル信号処理アルゴリズムはマトリック
ス形式を用いるとそのアルゴリズムをさらに効率よく表
現できる場合が多い。従って、マトリックスの表現と演
算を命令語レベルに表現及び演算可能にすることによっ
て、デジタル信号処理アルゴリズムをデジタル信号処理
装置で小量のメモリで表現できる。
方式によれば、複数個のデータに1つのベクトル変数が
設定でき、ベクトル変数を有する1つの命令語でスカラ
ー変数を有する複数個の命令語に代えることができる。
図2に示された3×3マトリックス乗算を既存のデジタ
ル信号装置の命令語で表現すれば、多数の命令語が必要
となる。
List)の基本構成要素を示したものであって、"PREV"は
前のデータを指定し、"NEXT"は次のデータを指定する。
そして、中間の"DATA"に実際のデータ値が貯蔵される。
図3の構成要素を必要なデータ数だけ連結すれば、図4
に示されたように1つのリストとなる。
を有する循環リンクリストを示したものである。ここ
で、POSは現在用いられているデータを示すものであっ
て、実際にはそのデータが貯蔵されているメモリのアド
レスとなる。
環リンクリストを実際のハードウェアメモリ上に図5の
ように具現する。Cのような上位プログラム言語ではポ
インタなどを用いて循環リンクリストを具現できるが、
上位プログラム言語で具現された循環リンクリストは、
ハードウェア依存的な命令語でコンパイルされる場合
に、ハードウェア資源に好適に表現されずハードウェア
負担を加重させる。これはハードウェアの設計側面で望
ましくないため、本発明では連続されたメモリの構造を
用いてこれを具現する。
モリのアドレスを示し、"POS"は"X"からの相対的な距離
によって現在処理されているデータの位置を示す。従っ
て、図4の"POS"アドレス(現在のデータのアドレス)を
得るためには、図5の"X"に"POS"を足せばよい。"POS"
に現在のデータの絶対的なアドレスを記録することでな
く、"X"からの相対的な距離を記録することによって"PO
S"レジスタのサイズを縮小することができる。"MAX_PO
S"はリストに貯蔵されているデータの数を表現してい
る。従って、リストの最後のデータのアドレスは"X"に"
MAX_POS"を足せばよい。
個貯蔵してマトリックス演算に用いる。このような値を
貯蔵している所は図1のマトリックスアドレス貯蔵手段
22であり、これに対する詳細な構成は図7に示され
る。
レジスタファイルのアドレス生成部の関係をさらに明確
に示す図面である。図6において演算部は乗算器15d
及びALU15cを含んで構成され、アドレス生成部はマト
リックスアドレス貯蔵手段22、Aアドレス生成器14
a、Bアドレス生成器14b、Cアドレス生成器14cを含
んで構成される。
器14bは演算部に入力されるデータのアドレスを生成
する。このように生成されたアドレスに対応するデータ
がレジスタファイル13から出力されてBUSA、BUSBを通
して演算部に伝送される。演算部は命令語に対応した命
令を行った後にBUSCを通して演算された結果を送る。す
ると、レジスタファイル13でCアドレス生成器14cが
生成したアドレスに対応する位置に演算された結果が貯
蔵される。このような一連の作業がマトリックス演算時
にはマトリックスの大きさに対応する必要な数だけ繰返
して行われる。
をさらに具体的に表現した図面である。BUSCを通して伝
えられた値はCアドレス生成器14cにより生成されたア
ドレスのレジスタに入力される。デコーダ73はCアド
レス生成器14cにより生成されたアドレスを解釈してB
USCを通して伝えられた値が貯蔵されるレジスタを決定
する。本発明の望ましい一実施例でマトリックスアドレ
ス貯蔵手段22は16個のマトリックスアドレスを支援
するので、Xレジスタ70、POSレジスタ71、MAX_POS
レジスタ72等3つのレジスタを各々16個ずつ具備す
る。Xレジスタ(70)は16ビットで構成されており、
最大16ビットのアドレスを支援し、POSレジスタ71
及びMAX_POSレジスタ72は各々8ビットで構成され、
最大256個のデータを有するリストを具現可能にす
る。また、各レジスタの値はそれぞれ選択的に読出また
は書込が実行される。
力される値は命令語レジスタIRの値によって決定され
る。各マルチプレクサ74a、74b、74cは命令語レ
ジスタIRに貯蔵された値により16個のマトリックスア
ドレスのうち1つを選択し、各アドレス生成器14a、
14b、14cは選択されたマトリックスアドレスにより
最終のアドレスを生成する。
である。Aアドレス生成器14aはBUSAに出力するデータ
をレジスタファイル(データメモリ)13から選択するた
めのアドレスを生成するブロックである。命令語レジス
タ11に貯蔵された命令語がマトリックス演算のための
命令語でない場合、Aアドレス生成器14aはデータの上
位アドレスを貯蔵するBANK_Aレジスタに貯蔵された値
とIRレジスタの上位8ビット値を連結した16ビットの
アドレスを生成して出力する。これに対して、命令語レ
ジスタ11に貯蔵された命令語がマトリックス演算のた
めの命令語の場合、Aアドレス生成器14aは最初には"
X"+"POS"のアドレスを生成し、続く演算動作時には前記
アドレスに1を足した("ADDRESS"+1)アドレスを生成す
るが、その値が"X"+"MAX_POS"より大きくなると"X"ア
ドレスを選択して出力する。そして、マトリックス乗算
の場合、1本の行が反復的に選択される必要があるの
で、Aアドレス生成器14aはROWアドレスを記憶するレ
ジスタ80を具備する。そして、マトリックス演算時に
必要な入力のI、J、K値(ここで、Iは結果値の行、Jは結
果値の列、Kは乗算演算のインデックスを示す)を1つず
つ減らしながら行うことになるが、Aアドレス生成器1
4aは"J"、"K"入力のみが用いられる。
であって、Bアドレス生成器14bはBUSBに出力するデー
タをレジスタファイル(データメモリ)13で選択するた
めのアドレスを生成するブロックである。Bアドレス生
成器14bはAアドレス生成器14aとほぼ同一である
が、"ROW"アドレスの生成が不要なので、このためのレ
ジスタが要らない点のみが違う。
図であって、Cアドレス生成器14cはBUSCに貯蔵される
データの貯蔵位置をレジスタファイル(データメモリ)1
3で選択するためのアドレスを生成するブロックであ
る。Cアドレス生成器14cではI、J、Kの全ての値が用
いられ、マトリックスの大きさを設定する"NUM_ROW
S"、"NUM_COLS"レジスタの値が用いられる。このレジ
スタの値はマトリックスの行と列とを相互変えて貯蔵す
る命令語(TRANSA)を行う時必要である。これは、アドレ
ス値の増加が行の個数(NUM_COLS)だけ増加する必要が
あるからである。このように増加する時、増加されたア
ドレス値が最大アドレス値("X"+"MAX_POS")より大きく
なると"ADDRESS"+"NUM_ROWS"-"POS"を出力することに
なる。そして、Cアドレス生成器14cは図27に示され
たパイプライン状態のうちEX状態でアドレスを発生する
ため、最終出力はAアドレス生成器14a及びBアドレス
生成器14bにより発生されるアドレスに比べて2クロ
ック周期後に発生させる(図示せず)。
タル信号処理装置の一実施例におけるマトリックス演算
のために提供する命令語を例示したものである。この命
令語は全ての形態のマトリックス演算と、マトリックス
と普通のデータ値との間のデータ伝達を支援する。
22に例示されている。この中から"EXT"が命令語が最
先にあれば、この命令語は次の命令語と連結して1つの
命令語となるという意味を有する。即ち、LOADA、STORE
A命令語は2単語命令語となる。しかし、ISMVとSETDの
ような命令語は場合に応じて2単語命令語または1単語
命令語として処理される。
定のレジスタに貯蔵する作業を行うが、必要な実際値が
8ビットで表現できれば1単語命令語を使用し、その以
上のビット空間が必要ならば2単語命令語を使用するこ
とになる。
きさを設定することになる。マトリックス乗算の場合に
はI、J、Kの3つの値が必要なので2単語命令語で表現
する。しかし、加算にはI、J値のみが必要なので1単語
命令語で表現する。
ULTA)の動作を詳しく説明する。2×2マトリックス乗
算で用いられるオペランドがが図1のデータメモリ13
に貯蔵された状態は図24に示されたようである。ま
た、図1のマトリックスアドレス貯蔵手段22に貯蔵さ
れたマトリックスデータX1、X2及びX3のアドレスは
図25に示されたようである。
動作状態を経時的に説明すると、図26のように表現し
うる。本発明に係るデジタル信号処理装置の一実施例は
パイプライン形式で具現され、図26に示されたマトリ
ックス間乗算の動作は9回のクロック周期の間に行われ
る。図26においてIは以前の命令語を示し、I'はMULTA
命令語の次の命令語を表示する。WEは演算結果をデータ
メモリ13に貯蔵させる制御信号を表現したものであ
る。各アドレス生成器はマトリックス演算に合わせて順
次にアドレスを生成することになる。
置の一実施例のパイプライン構造を示す順序図である。
まず、プログラムメモリ10のIMEMに貯蔵された命令語
を命令語レジスタ11IRに貯蔵する(IF)(1500段
階)。そして、前記方法によってデータメモリ13の出
力アドレスを計算する(AG)(1501段階)。f(IR)及びg
(IR)は各々Aアドレス生成器14a及びBアドレス生成器
14bにより生成されたアドレスを示す。この値は、各
々"X"+"POS"により生成されたアドレス値となる。そし
て、データメモリ13で必要な演算ブロック、即ち乗算
器15dで生成されたアドレスに位置したデータを移す
(OR)(1502段階)。図27においてREGFはデータメモ
リ13を示す。以後、2つのデータを乗算し、同時にデ
ータメモリ13に貯蔵されるアドレスが計算される(EX)
(1503段階)。h(IR)はCアドレス生成器14cにより
生成されたアドレスを示す。しかし、最初の乗算演算結
果データは貯蔵されない(1504段階)。
して乗算演算のためのデータを乗算器15dに移し(15
11、1512段階)、乗算器15dに移されたデータを
乗算し、1503段階でなされた乗算の結果MULT_Cを
累積値ACCに足すことになる(1513段階)。そして、
1本の行の演算が完全に終わると、データメモリ13の
入力アドレスに累積値ACCを貯蔵することになる(WB)(1
514段階)。このような演算はマトリックス演算が完
全に行われるまで反復される。
に計算された乗算の結果MULT_Cを累積値ACCに足してデ
ータメモリ13に貯蔵することになる(1523、15
24段階)。このような一連の演算はパイプライン形式
で行われる。
発明に係るデジタル信号処理装置に適用された例示的な
プログラムの大きさを比較したものである。一般のデジ
タル信号処理装置(G-DSP)より本発明に係るデジタル信
号処理装置(LP-DSP)で行われるプログラムがさらに小型
であることが分かる。そして、マトリックス表現が効果
的に用いられるアルゴリズムを行う場合に本発明はさら
に効率よく使われる。
ジタル補聴器に適用して以前の信号処理装置より命令語
をさらに効率よくプログラムできた。本発明の性能を検
証するためにテスト用PCBボードを製作してFPGA(Field
Programmable Gate Array)を用いた設計を完了した。図
29はこのような方法で設計したテスト用ボードを示し
た図面である。図29に示されたボードを多様な応用プ
ログラムで実験することによって、本発明に係るデジタ
ル信号処理装置が小容量のプログラムメモリを具備して
も与えられた機能を完壁に行えるということが確認でき
た。
ゴリズムを効率よく表現できる手段を提供することによ
って、デジタル信号処理装置におけるプログラムメモリ
のサイズが縮められる。これによって、プログラムメモ
リの読出時の消費電力を少なくでき、低電力で長時間電
子製品を動作させうる。
ック図である。
である。
である。
る。
を例示した図面である。
図である。
ある。
用いられるマトリックス演算のための命令語を例示した
図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ーマットを例示した図面である。
ング図である。
である。
デジタル信号処理装置に適用された例示的なプログラム
のサイズを比較した図面である。
用ボードを示した図面である。
Claims (15)
- 【請求項1】 デジタル信号処理装置に備えられ、マト
リックス演算を行う装置において、 循環リンクリスト形態のマトリックスデータを含むオペ
ランドデータ及び演算結果データを貯蔵するデータ貯蔵
手段と、 前記デジタル信号処理装置で行われる命令語の内容に応
じてマトリックス演算に必要な一連の第1オペランドデ
ータのアドレス、一連の第2オペランドデータのアドレ
ス及び一連の演算結果データの貯蔵アドレスを順次に生
成するアドレス発生手段と、 前記アドレス発生手段により生成されたアドレスに位置
したデータを前記データ貯蔵手段から引出して前記命令
語の内容に応じて演算を行う演算手段と、を含むことを
特徴とするデジタル信号処理装置におけるマトリックス
演算装置。 - 【請求項2】 前記アドレス発生手段は、 前記循環リンクリスト形態のマトリックスデータのアド
レスを貯蔵し、前記命令語の内容に応じて第1マトリッ
クスデータアドレス、第2マトリックスデータアドレス
及び演算結果マトリックスデータアドレスを出力するマ
トリックスアドレス貯蔵手段と、 前記マトリックスアドレス貯蔵手段から第1マトリック
スデータアドレスが入力され、前記命令語に応じる一連
の第1オペランドデータのアドレスを順次生成するAア
ドレス生成器と、 前記マトリックスアドレス貯蔵手段から第2マトリック
スデータアドレスが入力され、前記命令語に応じる一連
の第2オペランドデータのアドレスを順次生成するBア
ドレス生成器と、 前記マトリックスアドレス貯蔵手段から演算結果マトリ
ックスデータアドレスを入力され、前記命令語に応じる
一連の演算結果データの貯蔵アドレスを順次に生成する
Cアドレス生成器と、を具備することを特徴とする請求
項1に記載のデジタル信号処理装置におけるマトリック
ス演算装置。 - 【請求項3】 前記マトリックスアドレス貯蔵手段は、 前記循環リンクリストの開始を示すメモリアドレスを貯
蔵するXレジスタ、前記Xレジスタに貯蔵された値からの
相対的な値で表した現在処理されるデータの位置値を貯
蔵するPOSレジスタ、前記循環リンクリストに貯蔵され
たデータの数を貯蔵するMAX_POSレジスタよりなる多数
のマトリックスアドレスレジスタ群を具備することを特
徴とする請求項2に記載のデジタル信号処理装置におけ
るマトリックス演算装置。 - 【請求項4】 前記マトリックスアドレス貯蔵手段は、 多数のマトリックスアドレスレジスタ群において前記演
算手段により演算された結果値の貯蔵位置を決定するた
めに前記Cアドレス生成器により生成されたアドレスを
解釈するデコーダをさらに具備することを特徴とする請
求項3に記載のデジタル信号処理装置におけるマトリッ
クス演算装置。 - 【請求項5】 前記マトリックスアドレス貯蔵手段は、 多数のマトリックスアドレスレジスタ群に貯蔵されたマ
トリックスデータのアドレスのうち、前記命令語の内容
に応じて第1マトリックスデータアドレスを選択する第
1マルチプレクサ、第2マトリックスデータアドレスを
選択する第2マルチプレクサ及び演算結果マトリックス
データアドレスを選択する第3マルチプレクサをさらに
具備することを特徴とする請求項3に記載のデジタル信
号処理装置におけるマトリックス演算装置。 - 【請求項6】 前記Aアドレス生成器は、 第1マトリックスデータアドレスが入力され、命令語に
応じてXレジスタ値とPOSレジスタ値とを合わせて出力
し、次いで直前に生成されたアドレス値に1を足したア
ドレス値を出力するが、そのアドレス値がXレジスタ値
とMAX_POSレジスタ値とを合わせた値より大きい場合に
Xレジスタ値を最終的に出力することを特徴とする請求
項2に記載のデジタル信号処理装置におけるマトリック
ス演算装置。 - 【請求項7】 前記Aアドレス生成器は、 多数のクロックの間に同一なアドレス値を出力するROW
レジスタをさらに具備することを特徴とする請求項2に
記載のデジタル信号処理装置におけるマトリックス演算
装置。 - 【請求項8】 前記Aアドレス生成器は、 前記命令語に含まれたオフセットアドレスとセグメント
アドレスレジスタのセグメントアドレスが入力され、セ
グメントアドレスとオフセットアドレスとを結合して出
力するスカラーデータ生成部をさらに具備することを特
徴とする請求項2に記載のデジタル信号処理装置におけ
るマトリックス演算装置。 - 【請求項9】 前記Bアドレス生成器は、 第2マトリックスデータアドレスが入力され、命令語に
応じてXレジスタ値とPOSレジスタ値とを合わせて出力
し、次いで直前に生成されたアドレス値に1を足したア
ドレス値を出力するが、そのアドレス値がXレジスタ値
とMAX_POSレジスタ値とを合わせた値より大きい場合に
Xレジスタ値を最終的に出力することを特徴とする請求
項2に記載のデジタル信号処理装置におけるマトリック
ス演算装置。 - 【請求項10】 前記Bアドレス生成器は、 前記命令語に含まれたオフセットアドレスとセグメント
アドレスレジスタのセグメントアドレスが入力され、セ
グメントアドレスとオフセットアドレスとを結合して出
力するスカラーデータ生成部をさらに具備することを特
徴とする請求項2に記載のデジタル信号処理装置におけ
るマトリックス演算装置。 - 【請求項11】 前記Cアドレス生成器は、 演算結果マトリックスデータアドレスが入力され、命令
語に応じてXレジスタ値とPOSレジスタ値とを合わせて出
力し、次いで直前に生成されたアドレス値に1を足した
アドレス値を出力するが、そのアドレス値がXレジスタ
値とMAX_POSレジスタ値とを足した値より大きい場合に
Xレジスタ値を最終的に出力することを特徴とする請求
項2に記載のデジタル信号処理装置におけるマトリック
ス演算装置。 - 【請求項12】 前記Cアドレス生成器は、 前記演算結果マトリックスの大きさを示すNUM_ROWSレ
ジスタの値及びNUM_COLSレジスタの値が入力され、命
令語に応じて直前に生成されたアドレス値にNUM_COLS
レジスタの値を足したアドレス値を出力するが、そのア
ドレス値がXレジスタ値とMAX_POSレジスタ値とを合わ
せた値より大きい場合に直前に生成されたアドレス値に
NUM_ROWSレジスタの値を足してPOSレジスタの値を引い
たアドレス値を出力することを特徴とする請求項2に記
載のデジタル信号処理装置におけるマトリックス演算装
置。 - 【請求項13】 前記Cアドレス生成器は、 前記命令語に含まれたオフセットアドレスとセグメント
アドレスレジスタのセグメントアドレスを入力され、セ
グメントアドレスとオフセットアドレスとを結合して出
力するスカラーデータ生成部をさらに具備することを特
徴とする請求項2に記載のデジタル信号処理装置におけ
るマトリックス演算装置。 - 【請求項14】 マトリックス演算機能を有するデジタ
ル信号処理装置において、 信号処理プログラムを貯蔵するプログラムメモリと、 前記プログラムメモリでフェッチした命令語を一時貯蔵
する命令語レジスタと、 前記命令語レジスタに貯蔵された命令語を解釈して制御
信号を生成する命令語デコーダと、 循環リンクリスト形態のマトリックスデータを含むオペ
ランドデータ及び演算結果データを貯蔵するデータ貯蔵
手段と、 前記制御信号に応じてマトリックス演算に必要な一連の
第1オペランドデータのアドレス、一連の第2オペラン
ドデータのアドレス及び一連の演算結果データの貯蔵ア
ドレスを順次に生成するアドレス発生手段と、 前記アドレス発生手段により生成されたアドレスに位置
したデータを前記データ貯蔵手段から引出して前記制御
信号に応じて演算を行う演算手段と、を含むことを特徴
とするデジタル信号処理装置。 - 【請求項15】 前記命令語デコーダは、 前記プログラムメモリに貯蔵された命令語をフェッチし
て前記命令語レジスタに一時貯蔵する段階と、 前記アドレス発生手段で第1オペランドデータのアドレ
ス及び第2オペランドデータのアドレスを生成する段階
と、 第1オペランドデータ及び第2オペランドデータを前記
データ貯蔵手段から引出して前記演算手段に移す段階
と、 前記演算手段で演算を行い、前記アドレス発生手段で演
算結果データの貯蔵アドレスを生成する段階と、 前記演算手段から出力された演算結果データを前記デー
タ貯蔵手段に貯蔵する段階と、のパイプライン構造に対
応する制御信号を生成することを特徴とする請求項14
に記載のデジタル信号処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1999-58763 | 1999-12-17 | ||
KR1019990058763A KR100331565B1 (ko) | 1999-12-17 | 1999-12-17 | 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001184336A true JP2001184336A (ja) | 2001-07-06 |
JP3819686B2 JP3819686B2 (ja) | 2006-09-13 |
Family
ID=19626741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000260459A Expired - Fee Related JP3819686B2 (ja) | 1999-12-17 | 2000-08-30 | マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6505288B1 (ja) |
JP (1) | JP3819686B2 (ja) |
KR (1) | KR100331565B1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003708A (ja) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | 映像処理エンジンおよびそれを含む映像処理システム |
JP2018005369A (ja) * | 2016-06-29 | 2018-01-11 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
CN112328960A (zh) * | 2020-11-02 | 2021-02-05 | 中国平安财产保险股份有限公司 | 数据运算的优化方法、装置、电子设备及存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7627722B2 (en) * | 2005-08-23 | 2009-12-01 | Advanced Micro Devices, Inc. | Method for denying probes during proactive synchronization within a computer system |
US7797362B2 (en) * | 2007-02-23 | 2010-09-14 | Texas Instruments Incorporated | Parallel architecture for matrix transposition |
KR101513954B1 (ko) | 2007-12-25 | 2015-04-21 | 히타치 긴조쿠 가부시키가이샤 | 적층 인덕터 및 이것을 사용한 전력 변환 장치 |
US8281106B2 (en) * | 2008-12-16 | 2012-10-02 | International Business Machines Corporation | Specifying an addressing relationship in an operand data structure |
US8327345B2 (en) * | 2008-12-16 | 2012-12-04 | International Business Machines Corporation | Computation table for block computation |
US8407680B2 (en) * | 2008-12-16 | 2013-03-26 | International Business Machines Corporation | Operand data structure for block computation |
US8458439B2 (en) * | 2008-12-16 | 2013-06-04 | International Business Machines Corporation | Block driven computation using a caching policy specified in an operand data structure |
US8285971B2 (en) * | 2008-12-16 | 2012-10-09 | International Business Machines Corporation | Block driven computation with an address generation accelerator |
US20100180100A1 (en) * | 2009-01-13 | 2010-07-15 | Mavrix Technology, Inc. | Matrix microprocessor and method of operation |
CN102629191B (zh) * | 2011-04-25 | 2014-07-30 | 中国电子科技集团公司第三十八研究所 | 数字信号处理器寻址方法 |
CN102999476B (zh) * | 2011-09-09 | 2016-06-01 | 中国航天科工集团第三研究院第八三五七研究所 | 一种二维矩阵匹配方法及电路 |
CN111857820B (zh) * | 2016-04-26 | 2024-05-07 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵加/减运算的装置和方法 |
WO2018174930A1 (en) | 2017-03-20 | 2018-09-27 | Intel Corporation | Systems, methods, and apparatuses for matrix add, subtract, and multiply |
WO2019009870A1 (en) | 2017-07-01 | 2019-01-10 | Intel Corporation | SAVE BACKGROUND TO VARIABLE BACKUP STATUS SIZE |
CN113836481A (zh) * | 2020-06-24 | 2021-12-24 | 北京希姆计算科技有限公司 | 矩阵计算电路、方法、电子设备及计算机可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3794984A (en) * | 1971-10-14 | 1974-02-26 | Raytheon Co | Array processor for digital computers |
US4150434A (en) * | 1976-05-08 | 1979-04-17 | Tokyo Shibaura Electric Co., Ltd. | Matrix arithmetic apparatus |
JPS58146969A (ja) * | 1982-02-26 | 1983-09-01 | Toshiba Corp | インデツクス限定連続演算ベクトルプロセツサ |
JPH077385B2 (ja) * | 1983-12-23 | 1995-01-30 | 株式会社日立製作所 | データ処理装置 |
US5276819A (en) * | 1987-05-01 | 1994-01-04 | Hewlett-Packard Company | Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code |
US5732251A (en) * | 1996-05-06 | 1998-03-24 | Advanced Micro Devices | DSP with register file and multi-function instruction sequencer for vector processing by MACU |
US6212618B1 (en) * | 1998-03-31 | 2001-04-03 | Intel Corporation | Apparatus and method for performing multi-dimensional computations based on intra-add operation |
US6115812A (en) * | 1998-04-01 | 2000-09-05 | Intel Corporation | Method and apparatus for efficient vertical SIMD computations |
JP2000122919A (ja) * | 1998-10-13 | 2000-04-28 | Mitsubishi Electric Corp | プロセッサ及びメモリ制御方法 |
US6332188B1 (en) * | 1998-11-06 | 2001-12-18 | Analog Devices, Inc. | Digital signal processor with bit FIFO |
-
1999
- 1999-12-17 KR KR1019990058763A patent/KR100331565B1/ko not_active IP Right Cessation
-
2000
- 2000-08-16 US US09/638,951 patent/US6505288B1/en not_active Expired - Fee Related
- 2000-08-30 JP JP2000260459A patent/JP3819686B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003708A (ja) * | 2006-06-20 | 2008-01-10 | Hitachi Ltd | 映像処理エンジンおよびそれを含む映像処理システム |
JP2018005369A (ja) * | 2016-06-29 | 2018-01-11 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
CN112328960A (zh) * | 2020-11-02 | 2021-02-05 | 中国平安财产保险股份有限公司 | 数据运算的优化方法、装置、电子设备及存储介质 |
CN112328960B (zh) * | 2020-11-02 | 2023-09-19 | 中国平安财产保险股份有限公司 | 数据运算的优化方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP3819686B2 (ja) | 2006-09-13 |
KR20010078508A (ko) | 2001-08-21 |
KR100331565B1 (ko) | 2002-04-06 |
US6505288B1 (en) | 2003-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001184336A (ja) | マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置 | |
CN110990060B (zh) | 一种存算一体芯片的嵌入式处理器、指令集及数据处理方法 | |
JP3853851B2 (ja) | データ処理システム | |
WO2017185389A1 (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
US5880981A (en) | Method and apparatus for reducing the power consumption in a programmable digital signal processor | |
JP3711422B2 (ja) | 情報処理回路 | |
TWI476597B (zh) | 資料處理裝置及半導體積體電路裝置 | |
JP4386467B2 (ja) | Riscアーキテクチャを有する8ビットマイクロコントローラ | |
US20120144160A1 (en) | Multiple-cycle programmable processor | |
CN113743599B (zh) | 一种卷积神经网络的运算装置及服务器 | |
EP3340037B1 (en) | A data processing apparatus and method for controlling vector memory accesses | |
CN111782270B (zh) | 一种数据处理方法及装置、存储介质 | |
JP2004005603A (ja) | 繰返しブロック命令を入れ子ループに沿ってゼロ・サイクル・オーバヘッドで実行する方法及び装置 | |
JP2004038327A (ja) | データ処理装置 | |
JP3570287B2 (ja) | マイクロコンピュータ | |
JP2006293741A (ja) | プロセッサ | |
JP4284559B2 (ja) | マイクロプロセッサ、マイクロコンピュータ、電子機器 | |
JP2000039995A (ja) | 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル | |
JPH04104350A (ja) | マイクロプロセッサ | |
GB2390179A (en) | Improved stack architecture | |
JP2003216411A5 (ja) | ||
JP5025521B2 (ja) | 半導体装置 | |
JP5292831B2 (ja) | プログラマブルコントローラ | |
JP2002182905A (ja) | ディジタル信号処理プロセッサ | |
JPH10187659A (ja) | 積和演算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050920 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051019 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051220 |
|
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: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060615 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100623 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100623 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110623 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110623 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120623 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130623 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |