JP2000010779A - デジタル信号処理装置 - Google Patents
デジタル信号処理装置Info
- Publication number
- JP2000010779A JP2000010779A JP10172976A JP17297698A JP2000010779A JP 2000010779 A JP2000010779 A JP 2000010779A JP 10172976 A JP10172976 A JP 10172976A JP 17297698 A JP17297698 A JP 17297698A JP 2000010779 A JP2000010779 A JP 2000010779A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- instruction
- branch instruction
- program
- 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
- 230000015654 memory Effects 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 26
- 238000010586 diagram Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
Classifications
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
算命令を記憶する第2ROM26とを並列に設け、各R
OM25、26に対して分岐命令デコーダ27及び演算
命令デコーダ28が接続される。分岐命令デコーダ27
からの指示に応答して第1メモリ制御回路23及び第2
メモリ制御回路24の動作が制御され、演算命令デコー
ダ28からの指示に応答して演算回路21の動作が制御
される。分岐命令と演算命令とを並列に処理すること
で、演算回路21の動作効率を高くする。
Description
上させたデジタル信号処理装置に関する。
取り扱う信号に対して各種のフィルタリング処理を施す
デジタルフィルタが用いられる。このようなデジタルフ
ィルタは、一般的に、複数のレジスタに加算器及び乗算
器を組み合わせたデジタル信号処理装置( DSP:Digital
Signal Processor)により構成される。
を示す回路図である。
3の乗算器2a〜2c、第1及び第2のラッチ3a、3
bにより構成される。第1の乗算器2aは、入力される
デジタルデータX(n)に対して第1のフィルタ係数h(a)
を乗算する。第1のラッチ3aは、入力されるデジタル
データX(n)をラッチし、1データ期間保持する。第2
の乗算器2bは、第1のラッチ3aに保持された1つ前
のデジタルデータX(n- 1)に対して第2のフィルタ係数
hbを乗算する。第2のラッチ3bは、加算器1から出
力されるデジタルデータY(n)を保持し、1データ期間
保持する。第3の乗算器2cは、第2のラッチ3bに保
持された1つ前のデジタルデータY(n-1)に対して第3
のフィルタ係数hcを乗算する。そして、加算器1は、
第1〜第3の乗算器2a〜2cから出力される乗算結果
をそれぞれ加算し、新たなデジタルデータY(n)として
出力する。従って、入力デジタルデータX(n)に対し、 Y(n)=X(n)・ha+X(n-1)・hb+Y(n-1)・hc なる式によって出力デジタルデータY(n)が生成され
る。
構成を示すブロック図である。
RAM12、メモリ制御回路13、ROM14、命令デ
コーダ15により構成される。演算回路11は、加算器
及び乗算器を含み、命令デコーダ15からの指示に応答
して、入力されるデジタルデータX(n)及びRAM12
に記憶された中間データまたは各種係数データに対して
各種の演算処理を施し、最終的に得られる演算結果をデ
ジタルデータY(n)として出力する。RAM12は、演
算回路11に入力されるデジタルデータX(n)及び出力
されるデジタルデータY(n)や、演算回路11の演算過
程で生成される中間データを一時的に記憶する。さらに
RAM12は、各種の係数データも記憶する。メモリ制
御回路13は、命令デコーダ15からの指示に応答し、
演算回路11の演算動作に応じて、必要なデータをRA
M12から読み出し、演算回路11へ供給する。
指示するプログラムを記憶し、各命令を一定周期のクロ
ックに従って所定の順序で読み出して命令デコーダ15
に供給する。命令デコーダ15は、ROM14から入力
される命令を解読し、演算回路11の演算動作を制御す
ると共に、メモリ制御回路13の読み出し及び書き込み
動作を制御する。
現する場合、ROM14には、例えば、以下の演算手順
を実行させるようなプログラムが格納される。ここで、
RAM12には、1つ前のデータX(n-1)、Y(n-1)及び
フィルタ係数ha、hb、hcが格納されているものとす
る。
み出し、入力されるデータX(n)に乗算して、その積を
RAM12に記憶する。同時に、データX(n)をRAM
12に記憶する。
1)及びフィルタ係数hbを読み出し、互いに乗算して、
その積をRAM12に記憶する。
積及び第2ステップで記憶された積を読み出し、互いに
加算して、その和をRAM12に記憶する。
1)及びフィルタ係数hcを読み出し、互いに乗算して、
その積をRAM12に記憶する。
和及びの処理で記憶された積を読み出し、互いに加算
して、その和をデータY(n)として出力する。同時に、
データY(n)をRAM12に記憶する。
加算処理が各ステップで1回ずつとなるため、演算回路
11で乗算器及び加算器を複数設ける必要がなく、回路
構成が簡略化される。
る制御プログラムは、一般的に、演算の順序や各データ
(係数)の読み出し順序を指示する分岐命令と、乗算や
加算などの具体的な演算を実行させる演算命令とによっ
て構成される。この分岐命令及び演算命令については、
それぞれが混在して所定の順序でROM14に記憶され
ており、ROM14から所定の順序で読み出されて命令
デコーダ15へ供給されることになる。このため、信号
処理が複雑化して演算手順が多くなると、制御プログラ
ムも大きくなり、信号処理に要する時間は長くなる。
合でも、信号処理に要する時間が長くなるのを防止する
ことを目的とする。
解決するために成されたもので、その特徴とするところ
は、第1のデジタルデータに対して多段階の演算処理を
施すことにより第2のデジタルデータを生成するデジタ
ル信号処理装置において、上記多段階の演算処理の流れ
を制御する分岐命令を記憶する第1のメモリと、上記多
段階の演算処理の各段の動作を制御する演算命令を記憶
する第2のメモリと、上記第1及び第2のメモリに対し
てそれぞれ一定の順序でアドレスを指定し、上記分岐命
令及び上記演算命令を読み出す第1のメモリ制御回路
と、上記第1のデジタルデータに対して、上記第1及び
第2のメモリから読み出される上記分岐命令及び上記演
算命令に従う演算処理を施す演算回路と、を備え、上記
第1のメモリ制御回路は、上記分岐命令に応答して上記
第2のメモリに対するアドレスを所定のアドレスへジャ
ンプさせることにある。
並列に処理されるようになり、短時間で多くのステップ
を実行することができる。
理装置の構成を示すブロック図であり、図2は、その動
作例のプログラムアドレスの変化を示すタイミング図で
ある。
RAM22、第1及び第2のメモリ制御回路23、2
4、第1及び第2の第1ROM25、26、分岐命令デ
コーダ27及び演算命令デコーダ28により構成され
る。
み、演算命令デコーダ28からの指示に応答して、入力
されるデジタルデータX(n)及びRAM22に記憶され
た中間データに対して各種の演算処理を施す。この演算
回路21は、図9に示す演算回路11と同等のものであ
り、最終的に得られる演算結果をデジタルデータY(n)
として出力する。
デジタルデータX(n)及び出力されるデジタルデータY
(n)や、演算回路21の演算過程で生成される中間デー
タ、さらには、各種の係数データを記憶する。第2メモ
リ制御回路24は、後述する分岐命令デコーダ27から
の指示に応答し、演算回路21の演算動作において必要
となるデータを指定するデータアドレスDAをRAM2
2に供給する。これにより、演算回路21の各演算処理
においては、所望のデータがRAM22から読み出され
て取り込まれる。
ログラムの内、主に分岐命令を記憶し、第2ROM26
は、演算手順を指示するプログラムの内、主に演算命令
を記憶する。第1メモリ制御回路23は、一定周期のク
ロック及び後述する分岐命令デコーダ27からの指示に
応答して、分岐命令プログラムを指定するプログラムア
ドレスPA1を発生する。同時に、第1メモリ制御回路
23は、プログラムアドレスPA1に同期して、演算命
令プログラムを指定するプログラムアドレスPA2を発
生する。これらのプログラムアドレスPA1、PA2に
ついては、それぞれ一定のクロックに応答して順次イン
クリメントされるものであり、その初期値が分岐命令デ
コーダ27の指示に応答して設定される。
ドレスPA1を順次インクリメントする過程において、
「5」に達した時点でJUMP指示を発生し、プログラ
ムアドレスPA2のインクリメント動作を開始させる。
また、プログラムアドレスPA1は、プログラムアドレ
スPA2とのタイミングの整合を得るため、「7」に達
した時点で一旦インクリメントを停止し、プログラムア
ドレスPA2が「4」に達してSTART指示が与えら
れるまで待機する。これにより、プログラムアドレスP
A1が「10」に到達し、プログラムアドレスPA2に
対してJUMP指示が与えられるとき、プログラムアド
レスPA2が「6」まで達しているように構成される。
から読み出される分岐命令OC1を解読し、第1メモリ
制御回路23に対して演算順序等を決定するための指示
を与えると共に、第2メモリ制御回路23、24に対し
て各演算処理に応じたデータを指定するための指示を与
える。演算命令デコーダ28は、第2ROM26から読
み出される演算命令OC2を解読し、演算回路21に対
して、各種の演算を実行させるための指示を与える。
第1ROM25及び第2ROM26が分岐命令デコーダ
27及び演算命令デコーダ28と共に並列に配置され、
分岐命令と演算命令とが互いにタイミングの整合をとり
ながら並列に実行される。従って、単一のROMに分岐
命令と演算命令とが混在して記憶された場合と比較し
て、単位時間あたりに処理できるステップ数をほぼ2倍
にすることができる。
成例を示すブロック図であり、図4は、第1メモリ制御
回路23及び第2メモリ制御回路24の構成例を示すブ
ロック図である。
1〜34、第1〜第3のセレクタ35〜37、乗算器3
8及び加算器39により構成される。また、RAM22
は、第1RAM41及び第2RAM42を含む。
出力データY(n)を記憶すると共に、演算回路21の演
算処理の過程で生じる中間データを記憶する。第2RA
M42は、各種の係数データを記憶する。これらのRA
M41、42は、第2メモリ制御回路24から供給され
るデータアドレスDA1、DA2に応答して各データの
読み出し及び書き込みを行う。
外部入力に接続され、第1RAM41から読み出される
データまたは外部からの入力データX(n)の何れか一方
を選択して出力する。第1レジスタ31は、第1セレク
タ35に接続され、第1セレクタ35により選択された
データを取り込んで保持する。第2レジスタ32は、第
2RAM42に接続され、第2RAM42から読み出さ
れたデータを取り込んで保持する。乗算器38は、第1
レジスタ31及び第2レジスタ32に接続され、各レジ
スタ31、32に保持されたデータを互いに乗算し、乗
算結果を出力する。第3レジスタ33は、乗算器38に
接続され、乗算器33から入力される乗算結果を取り込
んで保持する。第2セレクタ36は、第4レジスタ34
及びデータ「0」に接続され、第4レジスタ34に保持
されたデータまたは「0」の何れか一方を選択して出力
する。加算器39は、第3レジスタ33及び第2セレク
タ36に接続され、第3レジスタ33に保持されたデー
タと第2セレクタ36で選択されたデータとを加算し、
加算結果を出力する。第4レジスタ34は、加算器39
に接続され、加算器39から入力される加算結果を取り
込んで保持する。第3セレクタ37は、曾'5c'e61セレ
クタ35及び第4レジスタ34に接続され、第1セレク
タ35で選択されたデータまたは第4レジスタ34に保
持されたデータの何れか一方を選択して出力する。この
第3セレクタ37で選択されたデータは、RAM1に供
給され、データアドレスDA1によって指定されるアド
レスに書き込まれる。
35〜37の選択動作は、後述する演算命令デコーダ2
8からの指示に従い、各レジスタ31〜34の取り込み
動作は、一定周期の基準クロックに従うように制御され
る。
タック51及びプログラムポインタ52を含む。プログ
ラムスタック51は、FIFO(First In First Out)方
式のレジスタであり、分岐命令デコーダ27から供給さ
れるプログラムアドレスPA1を2つ分記憶する2つの
領域(1)、(2)を有する。ここで、第1領域(1)は、分岐
命令デコーダ27から供給されるプログラムアドレスP
A1を順次取り込み、所定のタイミングで第2領域(2)
へ転送する。そして、第2領域(2)は、インクリメント
機能を備えており、第1領域(1)から取り込んだプログ
ラムアドレスPA1を先頭アドレスとし、演算回路21
の各レジスタ31〜34の動作に同期するように、基準
クロックに従う周期で「1」ずつ増加させて繰り返し出
力する。プログラムポインタ52は、インクリメント機
能を有するレジスタによって構成される。プログラムポ
インタ52は、分岐命令デコーダ27から供給されるプ
ログラムアドレスPA2を記憶し、そのプログラムアド
レスPA2を先頭アドレスとし、プログラムスタック5
1と同様に、基準クロックに従う周期で「1」ずつ増加
させて繰り返し出力する。これにより、各ROM25、
26では、分岐命令デコーダ27の指示に従い、分岐命
令デコーダ27か臚482迢沂汲ウれるプログラムアドレス
PA1、PA2を先頭に、それぞれのアドレスに記憶さ
れたプログラムが順次読み出されることになる。この第
1メモリ制御回路23において、プログラムスタック5
1の第1領域(1)から第2領域(2)へのプログラムアドレ
スPA1の転送、プログラムアドレスPA1の更新は、
分岐命令デコーダ27の指示に従うタイミングで行われ
る。
インタ53及び第2データポインタ54を含む。第1デ
ータポインタ53は、分岐命令デコーダ27から供給さ
れるデータアドレスDA1を記憶し、第2データポイン
タ54は、同じく分岐命令デコーダ27から供給される
データアドレスDA2を記憶する。これらのデータポイ
ンタ53、54は、データアドレスDA1、DA2をR
AM22へ供給した後、新たに分岐命令デコーダ27か
ら供給されるデータアドレスDA1、DA2によって内
容が更新される。この第2のメモリ制御回路24におい
て、プログラムアドレスPA2の更新は、第1メモリ制
御回路23と同様に、分岐命令デコーダ27の指示に従
うタイミングで行われる。
読み出される分岐命令が、第1メモリ制御回路23及び
第2メモリ制御回路24に供給されると同時に、第2R
OM26から読み出される演算命令が、演算回路21に
供給される。このため、分岐処理と演算処理とが並列し
て進み、演算効率が向上する。
図8に示すようなデジタルフィルタとして動作させる場
合の制御プログラムのリストであり、図6は、その制御
プログラムに対応する中間データ及び係数データを記憶
するRAM22の内容を示すリストである。
A1として0番地〜17番地を有し、各番地には、図5
(a)に示すような分岐命令が記憶されている。これら
の分岐命令は、それぞれ以下のような動作を指示するも
のである。
ス「n」を設定 Start PA2=n:プログラムアドレスPA2が「n」にな
ったときにプログラムスタック51からプログラムアド
レスPA1を取り込んで動作を開始 DA1=n:第1データポインタ53にアドレス「n」を設
定 DA2=n:第2データポインタ54にアドレス「n」を設
定 PA2=n:プログラムポインタ52にアドレス「n」を設
定 第2ROM26は、プログラムアドレスPA2として0
番地〜14番地を有し、各番地には、図5(b)に示す
ような演算命令が記憶されている。これらの演算命令
は、それぞれ以下のような動作を指示するものである。
からデータを読み出して第1レジスタ31へ格納 R2=M2[DA2]:第2RAM42のDA2番地からデータを
読み出して第2レジスタ32へ格納 R3=R1*R2:第1レジスタ31のデータと第2レジスタ3
2のデータとを乗算した積を第3レジスタ33に格納 R1=X(n):第1レジスタ31に入力データX(n)を格納 R2=M2[++DA2]:DA2に「1」を加算して更新し、第2
RAM42のDA2番地からデータを読み出して第2レ
ジスタ32に格納 M1[DA1]=X(n):第1RAM41のDA1番地に入力デー
タX(n)を書き込む R4+=R3:第4レジスタ34のデータに第3レジスタ33
のデータを加算して第4レジスタ34に格納 R1=M1[++DA1]:DA1に「1」を加算して更新し、第1
RAM41のDA1番地からデータを読み出して第1レ
ジスタ31に格納 M1[DA1]=R4:第1RAM41のDA1番地に第4レジス
タ34のデータを書き込む ここで、演算回路21において同時に実行可能な動作に
ついては、同一のアドレスに記憶されており、1ステッ
プで全て実行される。
DA1として0番地〜3番地を有し、各番地には、図6
(a)に示すように、第1の中間データA1、B1及び
第2の中間データA2、B2がそれぞれ記憶される。こ
れらの中間データA1、B1、A2、B2については、
演算命令に従って順次書き換えられる。第2の第2RA
M42は、データアドレスDA2として0番地〜5番地
を有し、各番地には、フィルタ係数hb1、ha1、hc1、
hb2、ha2、hc2が格納される。これらのフィルタ係数
については、演算命令によって書き換えられることはな
いが、デジタルフィルタの特性を変更するために書き換
えが可能になっている。
タル信号処理装置の動作を、図7に従って説明する。こ
の動作では、第1の特性のフィルタリング処理を施した
後、異なる第2の特性のフィルタリング処理を施し、さ
らに、第1の特性のフィルタリング処理を再度施す場合
を示している。
1及びプログラムアドレスPA2がそれぞれ「0」とな
り、第1ROM25及び第2ROM26の0番地に記憶
された分岐命令及び演算命令がそれぞれ実行される。こ
れにより、プログラムスタック51には、プログラムア
ドレスPA1として「3」が設定される。このとき、プ
ログラムアドレスPA2は、「0」のまま維持される。
ステップ2でプログラムアドレスPA1が「1」となる
と、第1ROM25の1番地に記憶された分岐命令が実
行され、プログラムスタック51にプログラムアドレス
PA1として「3」が設定される。ステップ3でプログ
ラムアドレスPA1が「2」になると、第1ROM25
の2番地に記憶された分岐命令が実行される。ここで
は、プログラムアドレスPA2が「0」のまま待機して
いるため、待つことなくプログラムスタック51からプ
ログラムアドレスPA1として「3」が取り出され、プ
ログラムアドレスPA1を「3」として動作が開始され
る。このとき、プログラムスタック51から「3」が読
み出されると、第2領域(2)に格納されている「8」が
第1領域(1)へ移される。
レスPA1が「3」〜「5」まで順に変化すると、第1
ROM25の3番地〜5番地に記憶された分岐命令が順
次実行される。これにより、第1データポインタ53、
54及びプログラムポインタ52にデータアドレスDA
1、DA2及びプログラムアドレスPA2として
「0」、「0」及び「1」が設定される。
1が「7」となり、第1ROM25の7番地に記憶され
た分岐命令が実行されてプログラムスタック51にプロ
グラムアドレスPA1として「3」が設定される。この
とき、ステップ6でプログラムポインタ52に「1」が
設定されているため、第2ROM26の1番地に記憶さ
れた演算命令が実行される。これにより、第1RAM4
1の0番地から読み出される中間データA1が第1レジ
スタ31に格納され、第2RAM26の0番地から読み
出されるフィルタ係数hb1が第2レジスタ32に格納さ
れる。ここで、中間データA1は、1つ前に入力されて
いる入力データX(n-1)である。
「7」となると、第1ROM25の7番地に記憶された
分岐命令が実行され、プログラムアドレスPA2が
「4」になるまで動作を停止する。このとき、プログラ
ムアドレスPA2は「2」となり、第1ROM25の2
番地に記憶された演算命令が実行される。これにより、
第1レジスタ31に格納された中間データA1、即ち、
1つ前の入力データX(n-1)と第2レジスタ32に格納
されたフィルタ係数hb1との積〔hb1・X(n-1)〕が第
3レジスタ33に格納される。そして、第1レジスタ3
1には、入力データX(n)が格納され、第2レジスタ3
2には、第2RAM42の1番地から読み出されるフィ
ルタ係数ha1が格納される。さらに、第1RAM41の
0番地には、次の演算処理に備えて、入力データX(n)
が中間データA1として新たに書き込まれる。
1は停止したままであり、プログラムアドレスPA2の
みが更新されて「3」となり、第2ROM26の3番地
に記憶された演算命令が実行される。これにより、第1
レジスタ31に格納されたデータX(n)と第2レジスタ
32に格納されたフィルタ係数ha1との積〔ha1・X
(n)〕が第3レジスタ33に格納される。また、それま
で第3レジスタ33に格納されていた積〔hb1・X(n-
1)〕は、第4レジスタ34に格納されていたデータと加
算されて第4レジスタ34に格納される。第4レジスタ
34には、最初「0」が格納されているため、ここで
は、第3レジスタ33に格納されていた積〔hb1・X(n
-1)〕がそのまま第4レジスタ34に格納される。そし
て、第1レジスタ31に、第1RAM41の1番地から
読み出される中間データB1が格納され、第2レジスタ
32に、第2RAM42の2番地から読み出されるフィ
ルタ係数hc1が格納される。ここで、中間データB1
は、1つ前に出力された出力データY(n-1)である。
A2が「4」となり、第2ROM26の4番地に格納さ
れた演算プログラムが実行される。これにより、第1レ
ジスタ31に格納された中間データB1、即ち、1つ前
の出力データY(n-1)と第2レジスタ32に格納された
フィルタ係数hc1との積〔hc1・Y(n-1)〕が第3レジ
スタ33に格納される。また、それまで第3レジスタ3
3に格納されていた積〔ha1・X(n)〕は、第4レジス
タ34に格納されていた積〔hb1・X(n-1)〕と加算さ
れ、その和〔ha1・X(n)+hb1・X(n-1)〕が第4レジ
スタ34に新たに格納される。また、プログラムアドレ
スPA2が「4」となっているため、プログラムスタッ
ク51からプログラムアドレスPA1として「8」が取
り出され、プログラムアドレスPA1を「8」として動
作が開始される。これにより、第1ROM25の8番地
に記憶された分岐命令が実行され、第1データポインタ
53にデータアドレスDA1として「2」が設定され
る。
A1が「9」となり、第1ROM25の9番地に記憶さ
れた分岐命令が実行されると共に、プログラムアドレス
PA2が「5」となり、第2ROM26の5番地に記憶
された演算命令が実行される。これにより、第2データ
ポインタ54にデータアドレスDA2として「3」が設
定されると共に、第3レジスタ33に格納されていた積
〔hc1・Y(n-1)〕が、第4レジスタ34に格納されて
いた和〔ha1・X(n)+hb1・X(n-1)〕と加算され、そ
の和〔ha1・X(n)+hb1・X(n-1)+hc1・Y(n-1)〕
が第4レジスタ34に新たに格納される。
A1が「10」となり、第1ROM25の10番地に記
憶された分岐命令が実行されると共に、プログラムアド
レスPA2が「6」となり、第2ROM26の6番地に
記憶された演算命令が実行される。これにより、プログ
ラムポインタ52にプログラムアドレスPA2として
「1」が設定されると共に、第4レジスタ34に格納さ
れていた和〔ha1・X(n)+hb1・X(n-1)+hc1・Y(n
-1)〕が、次の演算処理に備えて第1RAM41の1番
地に中間データB1として書き込まれる。尚、このステ
ップ12では、第1のデータポインタ53に設定された
データアドレスDA1は用いず、ステップ9において中
間データB1を読み出したときのデータアドレスDA1
となる「1」がそのまま用いられる。
A1が「11」となり、第1ROM25の11番地に記
憶された分岐命令が実行される。これにより、プログラ
ムスタック51にプログラムアドレスPA1として「1
3」が設定される。このとき、プログラムアドレスPA
2は、ステップ12で設定された「1」となり、第2R
OM26の1番地に記憶された演算命令が実行される。
この演算命令は、ステップ7の演算命令と同一であり、
第1RAM41から読み出される中間データA2が第1
レジスタ31に格納され、第2RAM42から読み出さ
れるフィルタ係数hb2が第2レジスタ32に格納され
る。
与えられる分岐命令により設定した条件に基づいて、ス
テップ7〜ステップ12で与えられる演算命令に従う演
算処理が施される。この結果、 Y(n)=ha1・X(n)+hb1・X(n-1)+hc1・Y(n-1) なる式に従うフィルタリング処理が完了する。この式
は、図8に示すデジタルフィルタによって達成される演
算処理に一致する。
14で与えられる分岐処理により設定した条件に基づい
て、ステップ13〜ステップ18で与えられる演算処理
に従う演算処理が施される。この結果、 Y(n)=ha2・X(n)+hb2・X(n-1)+hc2・Y(n-1) なる式に従うフィルタリング処理が完了する。
えられる分岐命令により設定した条件に基づいて、ステ
ップ19〜ステップ24における演算命令に従う演算処
理が施される。この演算処理では、ステップ12おいて
完了する演算処理と同一条件のフィルタリング処理が達
成される。
スPA2が「4」となると、往路グラムスタック51か
らプログラムアドレスPA1として「13」が取り込ま
れ、第1ROM25の13番地に記憶された分岐命令が
実行される。これにより、第1データポインタ53にデ
ータアドレスDA1として「0」が設定される。ステッ
プ23において、プログラムアドレスPA1が「14」
となり、第1ROM25の14番地に記憶された分岐命
令が実行されると、第2データポインタ54にデータア
ドレスDA2として「0」が設定される。ステップ24
において、プログラムアドレスPA1が「15」とな
り、第1ROM25の15番地に記憶された分岐命令が
実行されると、プログラムポインタ52にプログラムア
ドレスPA2として「8」が設定される。
スPA1が「16」となり、第1ROM25の16番地
に記憶された分岐命令が実行されると、プログラムスタ
ック51にプログラムアドレスPA1として「8」が設
定される。このとき、プログラムアドレスPA2は、ス
テップ24で設定された「8」となるため、演算動作は
行われない。
スPA1が「17」となると、第1ROM25の17番
地の分岐命令が実行され、プログラムアドレスPA2が
「11」となるまで動作が停止される。このとき、プロ
グラムアドレスPA2は、「9」となるが、演算動作は
行われない。次にプログラムアドレスPA2が「11」
となった時点(ステップ28)で、プログラムスタック
51からプログラムアドレスPA1として「3」が取り
出され、第1ROM25の3番地に記憶された分岐命令
が実行される。このステップ28以降の動作は、ステッ
プ4からの動作に一致する。従って、3段階のフィルタ
リング処理が繰り返されることになる。以上の実施形態
においては、2種類のフィルタリング処理を3段階で施
す場合を例示したが、分岐命令及び演算命令の制御プロ
グラムを変更することにより、回路構成を変更すること
なく、さらに複雑なフィルタリング処理を施すことがで
きる。この場合でも、分岐命令と演算命令とが並列に処
理されるため、複雑なフィルタリング処理であっても効
率よく処理を完了することができる。
をそれぞれ独立にメモりに記憶するようにしたことで、
デジタル信号処理の分岐処理と演算処理とを並列に実行
させることが可能になる。従って、演算回路を効率よく
動作させて演算処理に要する時間を短縮することができ
る。
ロック図である。
示すタイミング図である。
ク図である。
である。
る。
する図である。
ック図である。
Claims (5)
- 【請求項1】 第1のデジタルデータに対して多段階の
演算処理を施すことにより第2のデジタルデータを生成
するデジタル信号処理装置において、上記多段階の演算
処理の流れを制御する分岐命令を記憶する第1のメモリ
と、上記多段階の演算処理の各段の動作を制御する演算
命令を記憶する第2のメモリと、上記第1及び第2のメ
モリに対してそれぞれ一定の順序でアドレスを指定し、
上記分岐命令及び上記演算命令を読み出す第1のメモリ
制御回路と、上記第1のデジタルデータに対して、上記
第1及び第2のメモリから読み出される上記分岐命令及
び上記演算命令に従う演算処理を施す演算回路と、を備
え、上記第1のメモリ制御回路は、上記分岐命令に応答
して上記第2のメモリに対するアドレスを所定のアドレ
スへジャンプさせることを特徴とするデジタル信号処理
装置。 - 【請求項2】 上記第1のメモリ制御回路は、上記第1
のメモリから上記分岐命令を先読みして適数ステップ分
を一時的に保持し、保持した順に上記分岐命令を出力す
るFIFO方式のプログラムスタックを含むことを特徴
とする請求項1に記載のデジタル信号処理装置。 - 【請求項3】 上記第1のメモリ制御回路は、上記演算
命令の上記第2のメモリからの読み出しアドレスに応答
して、上記分岐命令の上記第1のメモリからの読み出し
を待機させることを特徴とする請求項1に記載のデジタ
ル信号処理装置。 - 【請求項4】 上記演算回路に接続され、上記第1及び
第2のデジタルデータと共に上記演算回路の処理過程の
中間データを記憶する第3のメモリと、上記分岐命令及
び上記演算命令に従って上記第3のメモリのアドレスを
指定する第2のメモリ制御回路と、をさらに備えたこと
を特徴とする請求項1に記載のデジタル信号処理回路。 - 【請求項5】 上記第2のメモリ制御回路は、上記分岐
命令に基づいて初期アドレスを指定すると共に、上記演
算命令に基づいて初期アドレスを順次更新することを特
徴とする請求項4に記載のデジタル信号処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17297698A JP3738134B2 (ja) | 1998-06-19 | 1998-06-19 | デジタル信号処理装置 |
EP99304711A EP0965912A3 (en) | 1998-06-19 | 1999-06-16 | Digital signal processor |
US09/336,075 US6430681B1 (en) | 1998-06-19 | 1999-06-18 | Digital signal processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17297698A JP3738134B2 (ja) | 1998-06-19 | 1998-06-19 | デジタル信号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000010779A true JP2000010779A (ja) | 2000-01-14 |
JP3738134B2 JP3738134B2 (ja) | 2006-01-25 |
Family
ID=15951863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17297698A Expired - Fee Related JP3738134B2 (ja) | 1998-06-19 | 1998-06-19 | デジタル信号処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6430681B1 (ja) |
EP (1) | EP0965912A3 (ja) |
JP (1) | JP3738134B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6833926B1 (en) * | 1999-09-28 | 2004-12-21 | Kabushiki Kaisha Toshiba | Image processing apparatus |
US20050036357A1 (en) * | 2003-08-15 | 2005-02-17 | Broadcom Corporation | Digital signal processor having a programmable address generator, and applications thereof |
US7489362B2 (en) | 2003-03-04 | 2009-02-10 | Broadcom Corporation | Television functionality on a chip |
GB2497154B (en) * | 2012-08-30 | 2013-10-16 | Imagination Tech Ltd | Tile based interleaving and de-interleaving for digital signal processing |
US10237782B2 (en) * | 2015-12-30 | 2019-03-19 | The Chinese University Of Hong Kong | Hardware acceleration for batched sparse codes |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54117646A (en) * | 1978-03-06 | 1979-09-12 | Toshiba Corp | Computer |
JPH0830971B2 (ja) * | 1984-03-26 | 1996-03-27 | 株式会社日立製作所 | プログラマブルコントローラ |
US5450553A (en) * | 1990-06-15 | 1995-09-12 | Kabushiki Kaisha Toshiba | Digital signal processor including address generation by execute/stop instruction designated |
JPH07200289A (ja) * | 1993-12-28 | 1995-08-04 | Fujitsu Ltd | 情報処理装置 |
GB2292822A (en) * | 1994-08-31 | 1996-03-06 | Hewlett Packard Co | Partitioned cache memory |
-
1998
- 1998-06-19 JP JP17297698A patent/JP3738134B2/ja not_active Expired - Fee Related
-
1999
- 1999-06-16 EP EP99304711A patent/EP0965912A3/en not_active Withdrawn
- 1999-06-18 US US09/336,075 patent/US6430681B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3738134B2 (ja) | 2006-01-25 |
EP0965912A2 (en) | 1999-12-22 |
EP0965912A3 (en) | 2004-04-28 |
US6430681B1 (en) | 2002-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08106375A (ja) | 信号処理演算器 | |
US5948053A (en) | Digital signal processor architecture using signal paths to carry out arithmetic operations | |
JPH0444970B2 (ja) | ||
JP2000010779A (ja) | デジタル信号処理装置 | |
US4878191A (en) | Multiplication circuit capable of operating at a high speed with a small amount of hardware | |
JPH0418635A (ja) | ディジタル信号プロセッサ | |
US5442125A (en) | Signal processing apparatus for repeatedly performing a same processing on respective output channels in time sharing manner | |
JP2773601B2 (ja) | 信号処理装置 | |
JP2592979B2 (ja) | 信号処理用集積回路装置 | |
JPH04227540A (ja) | 演算処理装置及びディジタル信号処理プロセッサ | |
JP2523767B2 (ja) | 先行制御装置 | |
JP2001092658A (ja) | データ処理回路及びデータ処理装置 | |
JPS58147223A (ja) | デイジタルフイルタ | |
JPH05143447A (ja) | デイジタルプロセツサ及びその制御方法 | |
JP2001034603A (ja) | 積和演算処理装置 | |
JPH01179515A (ja) | デジタル信号処理装置 | |
JPS63298633A (ja) | パイプライン処理装置における命令フェッチ制御方式 | |
JP2000293357A (ja) | マイクロプロセッサ | |
JPH01224837A (ja) | プロセッサ制御装置 | |
JP3453321B2 (ja) | 演算処理方法及び演算処理回路 | |
JPH09185491A (ja) | 累積加算器 | |
JPH01224836A (ja) | プロセッサ制御装置 | |
JP2003330914A (ja) | ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム | |
JP2000286679A (ja) | デジタル信号処理装置 | |
US20030079110A1 (en) | Data processor having a function calculating the sum of the results of a plurality of arithmetic operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050621 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050913 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050930 |
|
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: 20051025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051031 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091104 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |