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
Application number
JP10172976A
Other languages
English (en)
Other versions
JP3738134B2 (ja
Inventor
Fumiaki Nagao
文昭 長尾
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP17297698A priority Critical patent/JP3738134B2/ja
Priority to EP99304711A priority patent/EP0965912A3/en
Priority to US09/336,075 priority patent/US6430681B1/en
Publication of JP2000010779A publication Critical patent/JP2000010779A/ja
Application granted granted Critical
Publication of JP3738134B2 publication Critical patent/JP3738134B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address 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

(57)【要約】 【課題】 演算処理の効率を向上する。 【解決手段】 分岐命令を記憶する第1ROM25と演
算命令を記憶する第2ROM26とを並列に設け、各R
OM25、26に対して分岐命令デコーダ27及び演算
命令デコーダ28が接続される。分岐命令デコーダ27
からの指示に応答して第1メモリ制御回路23及び第2
メモリ制御回路24の動作が制御され、演算命令デコー
ダ28からの指示に応答して演算回路21の動作が制御
される。分岐命令と演算命令とを並列に処理すること
で、演算回路21の動作効率を高くする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、演算処理能力を向
上させたデジタル信号処理装置に関する。
【0002】
【従来の技術】デジタルオーディオ機器等においては、
取り扱う信号に対して各種のフィルタリング処理を施す
デジタルフィルタが用いられる。このようなデジタルフ
ィルタは、一般的に、複数のレジスタに加算器及び乗算
器を組み合わせたデジタル信号処理装置( DSP:Digital
Signal Processor)により構成される。
【0003】図8は、一般的なデジタルフィルタの構成
を示す回路図である。
【0004】デジタルフィルタは、加算器1、第1〜第
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)が生成され
る。
【0005】図9は、一般的なデジタル信号処理装置の
構成を示すブロック図である。
【0006】デジタル信号処理装置は、演算回路11、
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へ供給する。
【0007】ROM14は、演算回路11の演算手順を
指示するプログラムを記憶し、各命令を一定周期のクロ
ックに従って所定の順序で読み出して命令デコーダ15
に供給する。命令デコーダ15は、ROM14から入力
される命令を解読し、演算回路11の演算動作を制御す
ると共に、メモリ制御回路13の読み出し及び書き込み
動作を制御する。
【0008】ここで、図8に示すデジタルフィルタを実
現する場合、ROM14には、例えば、以下の演算手順
を実行させるようなプログラムが格納される。ここで、
RAM12には、1つ前のデータX(n-1)、Y(n-1)及び
フィルタ係数ha、hb、hcが格納されているものとす
る。
【0009】:RAM12からフィルタ係数haを読
み出し、入力されるデータX(n)に乗算して、その積を
RAM12に記憶する。同時に、データX(n)をRAM
12に記憶する。
【0010】:RAM12から1つ前のデータX(n-
1)及びフィルタ係数hbを読み出し、互いに乗算して、
その積をRAM12に記憶する。
【0011】:RAM12からの処理で記憶された
積及び第2ステップで記憶された積を読み出し、互いに
加算して、その和をRAM12に記憶する。
【0012】:RAM12から1つ前のデータY(n-
1)及びフィルタ係数hcを読み出し、互いに乗算して、
その積をRAM12に記憶する。
【0013】:RAM12からの処理で記憶された
和及びの処理で記憶された積を読み出し、互いに加算
して、その和をデータY(n)として出力する。同時に、
データY(n)をRAM12に記憶する。
【0014】以上の演算動作においては、乗算処理及び
加算処理が各ステップで1回ずつとなるため、演算回路
11で乗算器及び加算器を複数設ける必要がなく、回路
構成が簡略化される。
【0015】
【発明が解決しようとする課題】ROM14に記憶され
る制御プログラムは、一般的に、演算の順序や各データ
(係数)の読み出し順序を指示する分岐命令と、乗算や
加算などの具体的な演算を実行させる演算命令とによっ
て構成される。この分岐命令及び演算命令については、
それぞれが混在して所定の順序でROM14に記憶され
ており、ROM14から所定の順序で読み出されて命令
デコーダ15へ供給されることになる。このため、信号
処理が複雑化して演算手順が多くなると、制御プログラ
ムも大きくなり、信号処理に要する時間は長くなる。
【0016】そこで本発明は、演算手順が多くなった場
合でも、信号処理に要する時間が長くなるのを防止する
ことを目的とする。
【0017】
【課題を解決するための手段】本発明は、上述の課題を
解決するために成されたもので、その特徴とするところ
は、第1のデジタルデータに対して多段階の演算処理を
施すことにより第2のデジタルデータを生成するデジタ
ル信号処理装置において、上記多段階の演算処理の流れ
を制御する分岐命令を記憶する第1のメモリと、上記多
段階の演算処理の各段の動作を制御する演算命令を記憶
する第2のメモリと、上記第1及び第2のメモリに対し
てそれぞれ一定の順序でアドレスを指定し、上記分岐命
令及び上記演算命令を読み出す第1のメモリ制御回路
と、上記第1のデジタルデータに対して、上記第1及び
第2のメモリから読み出される上記分岐命令及び上記演
算命令に従う演算処理を施す演算回路と、を備え、上記
第1のメモリ制御回路は、上記分岐命令に応答して上記
第2のメモリに対するアドレスを所定のアドレスへジャ
ンプさせることにある。
【0018】本発明によれば、分岐命令と演算命令とが
並列に処理されるようになり、短時間で多くのステップ
を実行することができる。
【0019】
【発明の実施の形態】図1は、本発明のデジタル信号処
理装置の構成を示すブロック図であり、図2は、その動
作例のプログラムアドレスの変化を示すタイミング図で
ある。
【0020】デジタル信号処理装置は、演算回路21、
RAM22、第1及び第2のメモリ制御回路23、2
4、第1及び第2の第1ROM25、26、分岐命令デ
コーダ27及び演算命令デコーダ28により構成され
る。
【0021】演算回路21は、加算器及び乗算器を含
み、演算命令デコーダ28からの指示に応答して、入力
されるデジタルデータX(n)及びRAM22に記憶され
た中間データに対して各種の演算処理を施す。この演算
回路21は、図9に示す演算回路11と同等のものであ
り、最終的に得られる演算結果をデジタルデータY(n)
として出力する。
【0022】RAM22は、演算回路21に入力される
デジタルデータX(n)及び出力されるデジタルデータY
(n)や、演算回路21の演算過程で生成される中間デー
タ、さらには、各種の係数データを記憶する。第2メモ
リ制御回路24は、後述する分岐命令デコーダ27から
の指示に応答し、演算回路21の演算動作において必要
となるデータを指定するデータアドレスDAをRAM2
2に供給する。これにより、演算回路21の各演算処理
においては、所望のデータがRAM22から読み出され
て取り込まれる。
【0023】第1ROM25は、演算手順を指示するプ
ログラムの内、主に分岐命令を記憶し、第2ROM26
は、演算手順を指示するプログラムの内、主に演算命令
を記憶する。第1メモリ制御回路23は、一定周期のク
ロック及び後述する分岐命令デコーダ27からの指示に
応答して、分岐命令プログラムを指定するプログラムア
ドレスPA1を発生する。同時に、第1メモリ制御回路
23は、プログラムアドレスPA1に同期して、演算命
令プログラムを指定するプログラムアドレスPA2を発
生する。これらのプログラムアドレスPA1、PA2に
ついては、それぞれ一定のクロックに応答して順次イン
クリメントされるものであり、その初期値が分岐命令デ
コーダ27の指示に応答して設定される。
【0024】例えば、図2に示すように、プログラムア
ドレスPA1を順次インクリメントする過程において、
「5」に達した時点でJUMP指示を発生し、プログラ
ムアドレスPA2のインクリメント動作を開始させる。
また、プログラムアドレスPA1は、プログラムアドレ
スPA2とのタイミングの整合を得るため、「7」に達
した時点で一旦インクリメントを停止し、プログラムア
ドレスPA2が「4」に達してSTART指示が与えら
れるまで待機する。これにより、プログラムアドレスP
A1が「10」に到達し、プログラムアドレスPA2に
対してJUMP指示が与えられるとき、プログラムアド
レスPA2が「6」まで達しているように構成される。
【0025】分岐命令デコーダ27は、第1ROM25
から読み出される分岐命令OC1を解読し、第1メモリ
制御回路23に対して演算順序等を決定するための指示
を与えると共に、第2メモリ制御回路23、24に対し
て各演算処理に応じたデータを指定するための指示を与
える。演算命令デコーダ28は、第2ROM26から読
み出される演算命令OC2を解読し、演算回路21に対
して、各種の演算を実行させるための指示を与える。
【0026】以上のデジタル信号処理装置においては、
第1ROM25及び第2ROM26が分岐命令デコーダ
27及び演算命令デコーダ28と共に並列に配置され、
分岐命令と演算命令とが互いにタイミングの整合をとり
ながら並列に実行される。従って、単一のROMに分岐
命令と演算命令とが混在して記憶された場合と比較し
て、単位時間あたりに処理できるステップ数をほぼ2倍
にすることができる。
【0027】図3は、演算回路21及びRAM22の構
成例を示すブロック図であり、図4は、第1メモリ制御
回路23及び第2メモリ制御回路24の構成例を示すブ
ロック図である。
【0028】演算回路21は、第1〜第4のレジスタ3
1〜34、第1〜第3のセレクタ35〜37、乗算器3
8及び加算器39により構成される。また、RAM22
は、第1RAM41及び第2RAM42を含む。
【0029】第1RAM41は、入力データX(n)及び
出力データY(n)を記憶すると共に、演算回路21の演
算処理の過程で生じる中間データを記憶する。第2RA
M42は、各種の係数データを記憶する。これらのRA
M41、42は、第2メモリ制御回路24から供給され
るデータアドレスDA1、DA2に応答して各データの
読み出し及び書き込みを行う。
【0030】第1セレクタ35は、第1RAM41及び
外部入力に接続され、第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によって指定されるアド
レスに書き込まれる。
【0031】以上の演算回路21において、各セレクタ
35〜37の選択動作は、後述する演算命令デコーダ2
8からの指示に従い、各レジスタ31〜34の取り込み
動作は、一定周期の基準クロックに従うように制御され
る。
【0032】第1メモリ制御回路23は、プログラムス
タック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の指示に従うタイミングで行われ
る。
【0033】第2メモリ制御回路24は、第1データポ
インタ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の指示に従
うタイミングで行われる。
【0034】以上の構成によれば、第1ROM25から
読み出される分岐命令が、第1メモリ制御回路23及び
第2メモリ制御回路24に供給されると同時に、第2R
OM26から読み出される演算命令が、演算回路21に
供給される。このため、分岐処理と演算処理とが並列し
て進み、演算効率が向上する。
【0035】図5は、本発明のデジタル信号処理装置を
図8に示すようなデジタルフィルタとして動作させる場
合の制御プログラムのリストであり、図6は、その制御
プログラムに対応する中間データ及び係数データを記憶
するRAM22の内容を示すリストである。
【0036】第1ROM25は、プログラムアドレスP
A1として0番地〜17番地を有し、各番地には、図5
(a)に示すような分岐命令が記憶されている。これら
の分岐命令は、それぞれ以下のような動作を指示するも
のである。
【0037】PS<=n:プログラムスタック51にアドレ
ス「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)に示す
ような演算命令が記憶されている。これらの演算命令
は、それぞれ以下のような動作を指示するものである。
【0038】R1=M1[DA1]:第1RAM41のDA1番地
からデータを読み出して第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ステッ
プで全て実行される。
【0039】第1の第1RAM41は、データアドレス
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が格納される。これらのフィルタ係数
については、演算命令によって書き換えられることはな
いが、デジタルフィルタの特性を変更するために書き換
えが可能になっている。
【0040】以上の制御プログラムに従う本発明のデジ
タル信号処理装置の動作を、図7に従って説明する。こ
の動作では、第1の特性のフィルタリング処理を施した
後、異なる第2の特性のフィルタリング処理を施し、さ
らに、第1の特性のフィルタリング処理を再度施す場合
を示している。
【0041】ステップ1では、プログラムアドレスPA
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)へ移される。
【0042】ステップ4〜ステップ6でプログラムアド
レスPA1が「3」〜「5」まで順に変化すると、第1
ROM25の3番地〜5番地に記憶された分岐命令が順
次実行される。これにより、第1データポインタ53、
54及びプログラムポインタ52にデータアドレスDA
1、DA2及びプログラムアドレスPA2として
「0」、「0」及び「1」が設定される。
【0043】ステップ7では、プログラムアドレスPA
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)である。
【0044】ステップ8でプログラムアドレスPA1が
「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として新たに書き込まれる。
【0045】ステップ9では、プログラムアドレスPA
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)である。
【0046】ステップ10では、プログラムアドレスP
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」が設定され
る。
【0047】ステップ11では、プログラムアドレスP
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に新たに格納される。
【0048】ステップ12では、プログラムアドレスP
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」がそのまま用いられる。
【0049】ステップ13では、プログラムアドレスP
A1が「11」となり、第1ROM25の11番地に記
憶された分岐命令が実行される。これにより、プログラ
ムスタック51にプログラムアドレスPA1として「1
3」が設定される。このとき、プログラムアドレスPA
2は、ステップ12で設定された「1」となり、第2R
OM26の1番地に記憶された演算命令が実行される。
この演算命令は、ステップ7の演算命令と同一であり、
第1RAM41から読み出される中間データA2が第1
レジスタ31に格納され、第2RAM42から読み出さ
れるフィルタ係数hb2が第2レジスタ32に格納され
る。
【0050】以上のように、ステップ4〜ステップ8で
与えられる分岐命令により設定した条件に基づいて、ス
テップ7〜ステップ12で与えられる演算命令に従う演
算処理が施される。この結果、 Y(n)=ha1・X(n)+hb1・X(n-1)+hc1・Y(n-1) なる式に従うフィルタリング処理が完了する。この式
は、図8に示すデジタルフィルタによって達成される演
算処理に一致する。
【0051】以後同様にして、ステップ10〜ステップ
14で与えられる分岐処理により設定した条件に基づい
て、ステップ13〜ステップ18で与えられる演算処理
に従う演算処理が施される。この結果、 Y(n)=ha2・X(n)+hb2・X(n-1)+hc2・Y(n-1) なる式に従うフィルタリング処理が完了する。
【0052】さらに、ステップ16〜ステップ20で与
えられる分岐命令により設定した条件に基づいて、ステ
ップ19〜ステップ24における演算命令に従う演算処
理が施される。この演算処理では、ステップ12おいて
完了する演算処理と同一条件のフィルタリング処理が達
成される。
【0053】ステップ22において、プログラムアドレ
ス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」が設定される。
【0054】ステップ25において、プログラムアドレ
スPA1が「16」となり、第1ROM25の16番地
に記憶された分岐命令が実行されると、プログラムスタ
ック51にプログラムアドレスPA1として「8」が設
定される。このとき、プログラムアドレスPA2は、ス
テップ24で設定された「8」となるため、演算動作は
行われない。
【0055】ステップ26において、プログラムアドレ
スPA1が「17」となると、第1ROM25の17番
地の分岐命令が実行され、プログラムアドレスPA2が
「11」となるまで動作が停止される。このとき、プロ
グラムアドレスPA2は、「9」となるが、演算動作は
行われない。次にプログラムアドレスPA2が「11」
となった時点(ステップ28)で、プログラムスタック
51からプログラムアドレスPA1として「3」が取り
出され、第1ROM25の3番地に記憶された分岐命令
が実行される。このステップ28以降の動作は、ステッ
プ4からの動作に一致する。従って、3段階のフィルタ
リング処理が繰り返されることになる。以上の実施形態
においては、2種類のフィルタリング処理を3段階で施
す場合を例示したが、分岐命令及び演算命令の制御プロ
グラムを変更することにより、回路構成を変更すること
なく、さらに複雑なフィルタリング処理を施すことがで
きる。この場合でも、分岐命令と演算命令とが並列に処
理されるため、複雑なフィルタリング処理であっても効
率よく処理を完了することができる。
【0056】
【発明の効果】本発明によれば、分岐命令と演算命令と
をそれぞれ独立にメモりに記憶するようにしたことで、
デジタル信号処理の分岐処理と演算処理とを並列に実行
させることが可能になる。従って、演算回路を効率よく
動作させて演算処理に要する時間を短縮することができ
る。
【図面の簡単な説明】
【図1】本発明のデジタル信号処理装置の構成を示すブ
ロック図である。
【図2】本発明のデジタル信号処理装置の動作の一例を
示すタイミング図である。
【図3】演算回路及びRAMの構成の一例を示すブロッ
ク図である。
【図4】メモリ制御回路の構成の一例を示すブロック図
である。
【図5】分岐命令及び演算命令のプログラムリストであ
る。
【図6】RAMの内容を示す図である。
【図7】図5のプログラムリストに従う演算処理を説明
する図である。
【図8】デジタルフィルタの構成を示す回路図である。
【図9】従来のデジタル信号処理装置の構成を示すブロ
ック図である。
【符号の説明】
1 加算器 2a、2b、2c 乗算器 3a、3b ラッチ 11、21 演算回路 12、22 RAM 13、23、24 メモリ制御回路 14、25、26 ROM 15 命令デコーダ 27 分岐命令デコーダ 28 演算命令デコーダ 31〜34 レジスタ 35〜37 セレクタ 38 乗算器 39 加算器 41、42 RAM 51 プログラムスタック 52 プログラムポインタ 53、54 アドレスポインタ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 第1のデジタルデータに対して多段階の
    演算処理を施すことにより第2のデジタルデータを生成
    するデジタル信号処理装置において、上記多段階の演算
    処理の流れを制御する分岐命令を記憶する第1のメモリ
    と、上記多段階の演算処理の各段の動作を制御する演算
    命令を記憶する第2のメモリと、上記第1及び第2のメ
    モリに対してそれぞれ一定の順序でアドレスを指定し、
    上記分岐命令及び上記演算命令を読み出す第1のメモリ
    制御回路と、上記第1のデジタルデータに対して、上記
    第1及び第2のメモリから読み出される上記分岐命令及
    び上記演算命令に従う演算処理を施す演算回路と、を備
    え、上記第1のメモリ制御回路は、上記分岐命令に応答
    して上記第2のメモリに対するアドレスを所定のアドレ
    スへジャンプさせることを特徴とするデジタル信号処理
    装置。
  2. 【請求項2】 上記第1のメモリ制御回路は、上記第1
    のメモリから上記分岐命令を先読みして適数ステップ分
    を一時的に保持し、保持した順に上記分岐命令を出力す
    るFIFO方式のプログラムスタックを含むことを特徴
    とする請求項1に記載のデジタル信号処理装置。
  3. 【請求項3】 上記第1のメモリ制御回路は、上記演算
    命令の上記第2のメモリからの読み出しアドレスに応答
    して、上記分岐命令の上記第1のメモリからの読み出し
    を待機させることを特徴とする請求項1に記載のデジタ
    ル信号処理装置。
  4. 【請求項4】 上記演算回路に接続され、上記第1及び
    第2のデジタルデータと共に上記演算回路の処理過程の
    中間データを記憶する第3のメモリと、上記分岐命令及
    び上記演算命令に従って上記第3のメモリのアドレスを
    指定する第2のメモリ制御回路と、をさらに備えたこと
    を特徴とする請求項1に記載のデジタル信号処理回路。
  5. 【請求項5】 上記第2のメモリ制御回路は、上記分岐
    命令に基づいて初期アドレスを指定すると共に、上記演
    算命令に基づいて初期アドレスを順次更新することを特
    徴とする請求項4に記載のデジタル信号処理装置。
JP17297698A 1998-06-19 1998-06-19 デジタル信号処理装置 Expired - Fee Related JP3738134B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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