JP2000330972A - デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体 - Google Patents

デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体

Info

Publication number
JP2000330972A
JP2000330972A JP11135348A JP13534899A JP2000330972A JP 2000330972 A JP2000330972 A JP 2000330972A JP 11135348 A JP11135348 A JP 11135348A JP 13534899 A JP13534899 A JP 13534899A JP 2000330972 A JP2000330972 A JP 2000330972A
Authority
JP
Japan
Prior art keywords
data
memories
memory
stored
filter 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
JP11135348A
Other languages
English (en)
Inventor
Katsuya Misu
勝哉 三栖
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP11135348A priority Critical patent/JP2000330972A/ja
Priority to EP20000110443 priority patent/EP1054328A2/en
Priority to CN 00107537 priority patent/CN1274128A/zh
Publication of JP2000330972A publication Critical patent/JP2000330972A/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)【要約】 【課題】 デジタルシグナルプロセッサ(DSP)での
フィルタ処理を高速に行うと共に、フィルタ処理の対象
となるデータテーブルを柔軟に配置する。 【解決手段】 Xメモリ3とYメモリ4とは、それぞれ
独立したデータバス5、6に接続されており、並列に、
しかもレジスタユニット10及び積和器11による積和
演算と同時にアクセスすることができる。制御部18
は、例えば、フィルタ処理の対象となるデータテーブル
A、Bが2つともXメモリ3に記憶されていると判断す
ると、Yメモリ4に領域4aを確保し、例えば、データ
テーブルBをこの領域4aにコピーする。そして、Xメ
モリ3のデータテーブルAとYメモリ4のデータテーブ
ルBとを用いて、レジスタユニット10及び積和器11
による積和演算(フィルタ処理)が行われる。処理の過
程でデータテーブルBへの書き込みがあった場合には、
領域4aのデータテーブルBを元のXメモリ3にコピー
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタルシグナル
プロセッサ(以下、DSPという)における2つのデー
タテーブル間の積和処理(以下、フィルタ処理という)
のための技術に関する。
【0002】
【従来の技術】DSPは、2つのデータテーブル間のフ
ィルタ処理を高速に行うため、互いに独立したデータバ
スに接続された異なる空間に配置された2つのメモリ
(Xメモリ及びYメモリ)を有し、且つ2つのメモリの
両方に演算処理と同時にアクセスすることができるもの
が主流となっている。
【0003】このようなフィルタ処理は、積和演算の繰
り返しによって構成するため、DSPは、一般に、繰り
返しの実行やデータアクセス後のアドレス加算をするた
めの機構がハードウェア的に用意されている。なお、従
来のDSPも、本発明の実施の形態で示すDSP(図
1:後述)と基本構成は同じものとすることができる。
【0004】図7は、従来のDSPにおけるフィルタ処
理を示すフローチャートである。処理が開始すると、X
メモリおよび/またはYメモリに記憶されているフィル
タ処理の対象となる2つのデータテーブルのそれぞれの
先頭アドレスを設定する(ステップD1)。次に、デー
タテーブルにアクセスした後、次のデータの読み出しの
ためにアドレスに加算すべき値を設定する(ステップD
2)。
【0005】次に、Xメモリおよび/またはYメモリに
記憶されている2つのデータテーブルのそれぞれから、
先頭のデータを読み出す(ステップD3)。そして、フ
ィルタ処理において積和演算を繰り返す回数を設定し
(ステップD4)、積和演算器(ハードウェア)によっ
て2つのデータテーブルを用いたフィルタ処理を行う
(ステップD5)。
【0006】ステップD5のフィルタ処理では、設定し
た繰り返し回数に達するまで(ステップD5a)、積和
演算の処理と、Xメモリおよび/またはYメモリに記憶
されている2つのデータテーブルからのデータの読み出
しと、アドレスの加算とを行っていく。また、必要な場
合には、データテーブルへのデータの書き込みも行う
(ステップD5b)。そして、設定した繰り返し回数に
達すると(ステップD5a)、このフィルタ処理が終了
する。
【0007】
【発明が解決しようとする課題】上記のようにしてDS
Pでフィルタ処理を行った場合、2つのデータテーブル
がXメモリとYメモリとに分かれて記憶されていれば、
ステップD3、D5bにおいて2つのデータテーブルへ
のデータの読み書きを並列して、1クロック期間で行う
ことができる。しかし、2つのデータテーブルが、Xメ
モリだけ或いはYメモリだけに記憶されていれば、図8
に示すように、2つのデータテーブルへのデータの読み
書きに2クロックを要してしまい、フィルタ処理の規模
が大きくなればなるほど、処理を終了するまでにに時間
がかかることになってしまう。
【0008】そこで、従来のDSPでは、フィルタ処理
の高速化を考慮して、フィルタ処理の対象となるデータ
テーブルを、XメモリまたはYメモリのいずれかに予め
配置することとしていた。こうした場合、フィルタ処理
のアルゴリズム自体がXメモリ及びYメモリの区別に依
存してしまうため、アルゴリズムを変更することなくデ
ータテーブルをメモリ間で入れ替えることができず、デ
ータテーブルをXメモリとYメモリとに柔軟に配置する
ことができなかった。
【0009】ところで、近年のマルチメディア処理で
は、フィルタ処理自体の規模が大きくなってきており、
且つフィルタ処理が汎用的に複数の機能で使用されるケ
ースが多くなってきている。例えば、CELP(Code E
xcited Linear Prediction)と呼ばれる音声圧縮処理で
は、予測処理を行うために符号下記が複合器のアルゴリ
ズムをサブセットとして含むため、多くのフィルタが共
通で使用されている。
【0010】このため、複数のデータテーブルが、専用
のフィルタ処理ルーチンで参照されることが多くなって
いる。また、近年では、複数のマルチメディア処理がリ
アルタイムOS(Operating System)上で動作するよう
になってきているため、Xメモリ及びYメモリへ動的な
データ配置を行って、限られたメモリリソースを有効利
用するという要請が高まってきている。
【0011】本発明は、フィルタ処理を高速に行うと共
に、フィルタ処理の対象となるデータテーブルを柔軟に
配置することができるデジタルシグナルプロセッサ、並
びにフィルタ処理方法及びその方法を記録したコンピュ
ータ読み取り可能な記録媒体を提供することを目的とす
る。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかるデジタルシグナルプロ
セッサは、互いに並列してアクセスすることが可能な2
つのメモリを有し、フィルタ処理の対象となる2つのデ
ータテーブルが前記2つのメモリのいずれかにそれぞれ
記憶されるデジタルシグナルプロセッサであって、前記
2つのデータテーブルが、前記2つのメモリのうちの一
方にのみ記憶されているかどうかを判断するテーブル判
断手段と、前記テーブル判断手段が前記2つのメモリの
一方にのみ前記2つのデータテーブルが記憶されている
と判断したときに、前記2つのメモリのうちの他方に、
前記2つのデータテーブルのうちの一方をコピーするた
めのコピー領域を確保するコピー領域確保手段と、前記
2つのデータテーブルの一方を、前記コピー領域確保手
段によって確保されたコピー領域にコピーする第1のテ
ーブルコピー手段と、前記第1のテーブルコピー手段に
よってコピーされたデータテーブルの一方と、前記2つ
のメモリの一方に記憶されている前記2つのデータテー
ブルの他方とを用いて、フィルタ処理を行うフィルタ処
理手段とを備えることを特徴とする。
【0013】上記のデジタルシグナルプロセッサでは、
フィルタ処理の対象となる2つのデータテーブルが一方
のメモリに片寄って記憶されている場合には、一方のデ
ータテーブルを他方のメモリに確保したコピー領域にコ
ピーさせる。これにより、2つのメモリのそれぞれにフ
ィルタ処理の対象となる2つのデータテーブルを記憶さ
せることができる。そして、フィルタ処理手段が異なる
メモリに記憶された2つのデータテーブルに並列してア
クセスしながら、フィルタ処理を行うことができるの
で、フィルタ処理に要する時間を短くすることができ
る。
【0014】また、フィルタ処理の対象となる2つのデ
ータテーブルを予め別々のメモリに記憶させておくよう
なことをしなくても、フィルタ処理に要する時間を十分
に短くすることができるので、フィルタ処理の対象とな
るデータテーブルを2つのメモリに柔軟に配置すること
ができる。
【0015】上記デジタルシグナルプロセッサは、前記
メモリ確保手段によって、データテーブルのコピー領域
が前記2つのメモリの他方に確保された場合に、前記フ
ィルタ処理手段によるフィルタ処理の終了後、前記確保
されたコピー領域を開放するメモリ解放手段をさらに備
えるものとしてもよい。
【0016】上記デジタルシグナルプロセッサは、ま
た、前記フィルタ処理手段によるフィルタ処理で、前記
コピー領域にコピーされたデータテーブルへのデータの
書き込み処理があるかどうかを判断する書き込み判断手
段と、前記書き込み判断手段が書き込み処理があると判
断した場合に、データの書き込まれた前記コピー領域中
のデータテーブルを、前記2つのメモリのうちの一方の
元の領域にコピーする第2のテーブルコピー手段とをさ
らに備えるものとしてもよい。
【0017】なお、上記デジタルシグナルプロセッサに
おいて、前記フィルタ処理手段は、前記テーブル判断手
段が前記2つのメモリのそれぞれに分かれて前記2つの
データテーブルが記憶されていると判断したときに、そ
れぞれのメモリに記憶されている各データテーブルを用
いて、フィルタ処理を行うものとすることができる。
【0018】上記目的を達成するため、本発明の第2の
観点にかかるフィルタ処理方法は、互いに並列してアク
セスすることが可能な2つのメモリのいずれかに記憶さ
れたフィルタ処理の対象となる2つのデータテーブルを
使用してフィルタ処理を行うフィルタ処理方法であっ
て、前記2つのデータテーブルが、前記2つのメモリの
うちの一方にのみ記憶されているかどうかを判断するテ
ーブル判断ステップと、前記テーブル判断ステップで前
記2つのメモリの一方にのみ前記2つのデータテーブル
が記憶されていると判断したときに、前記2つのメモリ
のうちの他方に、前記2つのデータテーブルのうちの一
方をコピーするためのコピー領域を確保するコピー領域
確保ステップと、前記2つのデータテーブルの一方を、
前記コピー領域確保ステップで確保されたコピー領域に
コピーする第1のテーブルコピーステップと、前記第1
のテーブルコピーステップでコピーされたデータテーブ
ルの一方と、前記2つのメモリの一方に記憶されている
前記2つのデータテーブルの他方とを用いて、フィルタ
処理を行うフィルタ処理ステップとを含むことを特徴と
する。
【0019】上記フィルタ処理方法は、前記メモリ確保
ステップでデータテーブルのコピー領域が前記2つのメ
モリの他方に確保された場合に、前記フィルタ処理ステ
ップによるフィルタ処理の終了後、前記確保されたコピ
ー領域を開放するメモリ解放ステップをさらに含むもの
としてもよい。
【0020】上記フィルタ処理方法は、また、前記フィ
ルタ処理ステップによるフィルタ処理で、前記コピー領
域にコピーされたデータテーブルへのデータの書き込み
処理があるかどうかを判断する書き込み判断ステップ
と、前記書き込み判断ステップで書き込み処理があると
判断した場合に、データの書き込まれた前記コピー領域
中のデータテーブルを、前記2つのメモリのうちの一方
の元の領域にコピーする第2のテーブルコピーステップ
とをさらに含むものとしてもよい。
【0021】上記目的を達成するため、本発明の第3の
観点にかかる記録媒体は、互いに並列してアクセスする
ことが可能な2つのメモリのいずれかに記憶されたフィ
ルタ処理の対象となる2つのデータテーブルを使用して
フィルタ処理を行うためのプログラムを記録したコンピ
ュータ読み取り可能な記録媒体であって、前記2つのデ
ータテーブルが、前記2つのメモリのうちの一方にのみ
記憶されているかどうかを判断するテーブル判断ステッ
プと、前記テーブル判断ステップで前記2つのメモリの
一方にのみ前記2つのデータテーブルが記憶されている
と判断したときに、前記2つのメモリのうちの他方に、
前記2つのデータテーブルのうちの一方をコピーするた
めのコピー領域を確保するコピー領域確保ステップと、
前記2つのデータテーブルの一方を、前記コピー領域確
保ステップで確保されたコピー領域にコピーする第1の
テーブルコピーステップと、前記第1のテーブルコピー
ステップでコピーされたデータテーブルの一方と、前記
2つのメモリの一方に記憶されている前記2つのデータ
テーブルの他方とを用いて、フィルタ処理を行うフィル
タ処理ステップとをコンピュータに実行させるためのプ
ログラムを記録することを特徴とする。
【0022】上記コンピュータ読み取り可能な記録媒体
は、前記メモリ確保ステップでデータテーブルのコピー
領域が前記2つのメモリの他方に確保された場合に、前
記フィルタ処理ステップによるフィルタ処理の終了後、
前記確保されたコピー領域を開放するメモリ解放ステッ
プをコンピュータに実行させるためのプログラムをさら
に記録するものとしてもよい。
【0023】上記コンピュータ読み取り可能な記録媒体
は、また、前記フィルタ処理ステップによるフィルタ処
理で、前記コピー領域にコピーされたデータテーブルへ
のデータの書き込み処理があるかどうかを判断する書き
込み判断ステップと、前記書き込み判断ステップで書き
込み処理があると判断した場合に、データの書き込まれ
た前記コピー領域中のデータテーブルを、前記2つのメ
モリのうちの一方の元の領域にコピーする第2のテーブ
ルコピーステップとをコンピュータに実行させるための
プログラムをさらに記録するものとしてもよい。
【0024】
【発明の実施の形態】以下、添付図面を参照して、本発
明の実施の形態について説明する。
【0025】図1は、この実施の形態にかかるDSPの
構成を示すブロック図である。図示するように、このD
SPは、互いに異なる空間に配置されたXメモリ3とY
メモリ4とを有する。Xメモリ3とYメモリ4とは、そ
れぞれ独立したデータバス(Xデータバス5及びYデー
タバス6)に接続されている。Xメモリ3及びYメモリ
4へのアクセスは、後述する演算器による演算と同時
に、且つ並列に行うことができる。
【0026】Xメモリ3は、2つのデータテーブルA、
Bをそれぞれ所定の領域に記憶している。データテーブ
ルA、Bは、それぞれフィルタ処理の対象となるテーブ
ルの要素をN個ずつ有している。ここで、Nの値は、後
述するフィルタ処理の繰り返し回数となる。一方、Yメ
モリ4には、後述するように一方のデータテーブルをコ
ピーするために確保され、フィルタ処理が終了した後に
解放される領域4aが設けられている。
【0027】また、このDSPは、積和演算器として、
データテーブルA、Bからそれぞれ読み出したデータを
保持するレジスタ7、8、前回の積和算結果のデータを
保持するレジスタ9、及び積和演算の繰り返し回数を設
定するレジスタ19を含むレジスタユニット10と、レ
ジスタ7とレジスタ8に保持されたデータを積算し、さ
らにレジスタ9に保持されたデータを加算する積和器1
1とを有する。
【0028】また、このDSPは、それぞれXメモリ
3、Yメモリ4をアクセスするためのデータポインタレ
ジスタ12、13を含むアドレスユニット16を有す
る。さらに、このDSPは、データアクセス後に自動ア
ドレス加算を行うためのアドレス加算値レジスタ14と
アドレス加算器15とを有する。このDSPにおいて、
レジスタユニット10とアドレスユニット16とは、メ
インバス17を介して互いに接続されている。
【0029】なお、このDSPは、例えば、ROMチッ
プに記憶されたプログラムを順次実行することにより動
作する制御部18を備えている。制御部18は、後述す
るプログラムを実行し、このDSP内の各部を制御す
る。
【0030】以下、この実施の形態にかかるDSPにお
けるフィルタ処理について、図2のフローチャートを参
照して説明する。ここでは、Xメモリ3に記憶されてい
る2つのデータテーブルA、Bのうち、データテーブル
BをYメモリ4の所定の領域4aにコピーしてフィルタ
処理を行う場合を例として説明する。
【0031】まず、制御部18は、フィルタ処理の対象
となるデータテーブルの記憶されているメモリの種類
が、このDSPに設定されているアルゴリズムと同じで
あるかどうか、すなわち2つのデータテーブルがXメモ
リ3とYメモリ4とに分かれて記憶されているかどうか
を判定する(ステップA1)。この例の場合、データテ
ーブルA、Bは、いずれもXメモリ3に記憶されている
ので、ステップA2に進むこととなる。
【0032】ステップA2では、制御部18は、フィル
タ処理の対象となるデータテーブルが記憶されていない
メモリ、ここではYメモリ4に所定の領域4aを確保す
る。この“メモリ確保”の処理については、後に詳しく
述べる。Yメモリ4に領域4aが確保されると、制御部
18は、Xメモリ3に記憶されている2つのデータテー
ブルのうちの一方であるデータテーブルBをYメモリ4
上の領域4aにコピーする(ステップA3)。
【0033】次に、制御部18は、Xメモリ3に記憶さ
れているデータテーブルAの先頭のアドレスと、Yメモ
リ4の領域4aに記憶されているデータテーブルBの先
頭のアドレスとを、それぞれデータポインタレジスタ1
2、13に設定する(ステップA4)。さらに、制御部
18は、データテーブル内のデータにアクセスしたとの
値に、次のデータへアクセスするためのアドレスの変化
値を、アドレス加算値レジスタ14に設定する(ステッ
プA5)。
【0034】次に、制御部18は、データポインタレジ
スタ12、13にそれぞれ設定されているアドレスに従
って、データテーブルAの先頭のデータをXメモリ3か
らXデータバス5を介して読み出し、データテーブルB
の先頭のデータをYメモリ4からYデータバスを介して
それぞれ読み出す。これらのデータの読み出しは、デー
タバスが独立しているために並列して行うことが可能で
あり、また、読み出したデータは、それぞれレジスタ
7、8に記憶される。この後、データポインタレジスタ
12、13の値に、アドレス加算値レジスタ14に記憶
されている値がアドレス加算器15によって行われる
(ステップA6)。
【0035】さらに、制御部18は、フィルタ処理にお
ける積和演算の繰り返し回数をレジスタ19に設定する
(ステップA7)。繰り返し回数の設定が終了すると、
制御部18は、レジスタユニット10、積和器11、ア
ドレスユニット16及びアドレス加算器15を制御し、
ハードウェアによるループ処理によってデータテーブル
A、Bを用いたフィルタ処理を行う(ステップA8)。
【0036】ステップA8のフィルタ処理では、フィル
タ処理の過程においてYメモリ4の領域4aにコピーさ
れたデータテーブルBへの書き込みがあるかどうかが判
断される(ステップA8a)。書き込み処理がある場合
には、所定の書き込みフラグを立ててからステップA8
cに進み、書き込み処理がない場合には、そのままステ
ップA8cに進む。
【0037】次に、レジスタ19に設定した繰り返し回
数に達するまで(ステップA8c)、レジスタユニット
10及び積和器11からなる積和演算器は、積和演算の
処理と、Xメモリ3、Yメモリ4からのデータの読み出
しと、データポインタレジスタ12、13に記憶される
アドレスの加算と、必要な場合には、データテーブル
A、Bへのデータの書き込みを行う(ステップA8
d)。
【0038】ここで、積和演算は、レジスタ7に記憶さ
れているデータとレジスタ8に記憶されているデータと
を積算し、この結果にレジスタ9に記憶されているデー
タを加算して、再びレジスタ9に書き込むことによって
行う。Xメモリ3、Yメモリ4からのデータの読み出
し、及びデータポインタレジスタ12、13のアドレス
の加算は、ステップA6の場合と同様に行う。
【0039】レジスタ19に設定した繰り返し回数に積
和演算の回数が達すると(ステップA8c)、次に、制
御部18は、ステップA2でメモリへの領域の確保を行
ったかどうかを判定する(ステップA9)。ここでは、
データテーブルBをコピーするために、Yメモリ4に領
域4aを確保しているので、ステップA10に進む。
【0040】ステップA10では、制御部18は、ステ
ップA8dにおいて領域4aにコピーしたテーブルBに
データの書き込みを行っているかどうかを、前述の書き
込みフラグが建っているかどうかによって調べ、書き込
みを行っている場合には、Yメモリ4上の領域4aにコ
ピーしたデータテーブルBを、元々データテーブルBが
記憶されていたXメモリ3上の領域にコピーする。
【0041】そして、制御部18は、ステップA2で確
保したYメモリ4上の領域4aを解放する(ステップA
11)。この“メモリ解放”の処理については、後に詳
しく述べる。そして、このフローチャートの処理を終了
し、データテーブルA、Bを用いたフィルタ処理を終了
する。
【0042】なお、この例の場合と異なり、フィルタ処
理の対象となる2つのデータテーブルがXメモリ3とY
メモリ4とに分かれて記憶されている場合には、ステッ
プA1からそのままステップA4に進み、データテーブ
ルが元々のメモリに記憶されたままの状態で、ステップ
A4〜A8までのフィルタ処理が行われる。また、この
ような場合には、ステップA2でメモリの確保を行わな
いので、ステップA9の判定を終了すると、そのままこ
のフローチャートの処理を終了する。
【0043】次に、ステップA2における“メモリ確
保”の処理について、図3のフローチャート及び図4の
説明図を参照して詳しく説明する。まず、制御部18
は、Yメモリ4上の連続した空き領域のサイズが、領域
4aとして確保すべきサイズ、すなわちデータテーブル
Bのサイズ以上であるかどうかを判定する(ステップB
1)。空き領域のサイズが確保すべきサイズ以上である
場合には、そのままステップB3に進む。
【0044】空き領域のサイズが確保すべきサイズより
も小さい場合には、制御部18は、メモリを調整してY
メモリ4上に十分なサイズの空き領域を作るための処理
を行う。この処理としては、例えば、Yメモリ4上の不
連続な空き領域をコンパクションよってまとめたり、フ
ィルタ処理に必要のないYメモリ4上のデータをXメモ
リ3にコピーするなどして行う(ステップB2)。そし
て、ステップB3に進む。
【0045】ステップB3では、制御部18は、Yメモ
リ4上の空き領域の先頭アドレス(確保前の先頭アドレ
ス)をこのフローからの返り値として設定する。すなわ
ち、空き領域の先頭アドレスを、Yメモリ4上に確保す
べき領域4aの先頭アドレスとして設定する。
【0046】制御部18は、さらに領域確保前の空き領
域のサイズから確保した領域4aのサイズを減算し、新
たなYメモリ4上の空き領域のサイズとする(ステップ
B4)。そして、Yメモリ4上の空き領域の先頭アドレ
スを更新して(ステップB5)、このフローチャートの
処理を終了し、メインルーチン(図2)に復帰する。
【0047】次に、ステップA11における“メモリ解
放”の処理について、図5のフローチャートを参照して
詳しく説明する。制御部18は、現在のYメモリ4上の
空き領域のサイズにステップA2で確保した領域4aの
サイズを加算し、新たなYメモリ上の空き領域のサイズ
とする(ステップD1)。そして、Yメモリ4上の空き
領域の先頭アドレスを更新して(ステップD2)、この
フローチャートの処理を終了し、メインルーチン(図
2)に復帰する。
【0048】以上説明したように、この実施の形態にか
かるDSPでは、フィルタ処理の対象となるデータテー
ブルA、Bが両方ともXメモリ3に記憶されていた場合
であっても、データテーブルBをYメモリ4上の領域4
aにコピーしてからフィルタ処理を行っている。このた
め、ステップA6またはステップA8dにおけるデータ
テーブルA、Bからのデータの読み出しは、Xメモリ3
からとYメモリ4〜とで並列して行うことができる。す
なわち、データの読み出しに要する期間が、図6に示す
ように1クロックサイクルだけで済むようになる。
【0049】一方、データテーブルをコピーすることに
よってフィルタ処理を終了するまでの全体の時間はかか
ることとなってしまうが、例えば、データテーブルの要
素数を80、フィルタ演算回数を240とした場合に、
この実施の形態にかかるDSPでは、2つのデータテー
ブルを同じ側のメモリに配置してフィルタ処理を行った
場合に比べて、次のような速度性能の向上が得られる。
【0050】(1)データテーブルからのデータの読み
込みだけの場合 {(240×2)−(80+240)}/(240×
2)≒33% (2)データテーブルへデータの書き込みも行う場合 {(240×2)−(80×2+240)}/(240
×2)≒17%
【0051】従って、この実施の形態にかかるDSPに
よれば、2つのデータテーブルを用いたフィルタ処理を
高速に実行することができる。しかも、データテーブル
の要素数が大きくなればなるほど、その効果は顕著にな
る。なお、フィルタ処理の対象となる2つのデータテー
ブルが、元々Xメモリ3とYメモリ4とに分かれて配置
されていた場合には、従来の場合と同様の高速なフィル
タ処理を行うことができる。
【0052】また、この実施の形態にかかるDSPで
は、フィルタ処理の対象となる2つのデータテーブル
を、Xメモリ3とYメモリ4とに予め分けて記憶させて
おくようなことをしなくても、フィルタ処理に要する時
間を十分に短くすることができるので、フィルタ処理の
対象となるデータテーブルのメモリへの配置を意識する
ことなく、柔軟な配置を行うことができる。
【0053】本発明は、上記の実施の形態に限られず、
種々の変形、応用が可能である。以下、本発明に適用可
能な上記の実施の形態の変形態様について、説明する。
【0054】上記の実施の形態では、Xメモリ3に記憶
された2つのデータテーブルA、Bのうち、データテー
ブルBをYメモリ4に確保した領域4aにコピーして、
フィルタ処理を行うものとしていた。これと同様にして
Yメモリ4に記憶された2つのデータテーブルのうち、
一方をXメモリ3に確保した領域にコピーして、フィル
タ処理を行うということも可能である。
【0055】上記の実施の形態では、ハードウェアによ
るループ処理(ステップA8)の最初に、コピーしたデ
ータテーブルBへの書き込み処理があるかどうかを判断
し(ステップA8a)、書き込み処理があると判断した
場合に書き込みフラグを立てていた(ステップA8
b)。これに対し、このようなステップを設けることな
く、ステップA8dで書き込み処理を行った場合に、書
き込みフラグを立ててもよい。さらには、書き込み処理
があるかどうかの判断は、ステップA10以前の他のい
ずれの段階で行ってもよい。
【0056】上記の実施の形態では、ROMチップに記
憶されたプログラムを実行する制御部18によってDS
Pの各部を制御し、フィルタ処理を行うものとしてい
た。このようなプログラムを記憶したROMチップは、
DSPとは別個に配布、販売してもよい。また、制御部
18の動作プログラムは、磁気ディスクや光ディスクな
どの他のタイプのコンピュータ読み取り可能な記録媒体
に格納して配布、販売し、制御部18のメモリに読み込
ませるものとしてもよい。つまり、ROMチップの交換
やプログラムのリロードなどを行うことで、従来より使
用してきたDSPを本発明のDSPにカスタマイズする
ことが可能となる。
【0057】
【発明の効果】以上説明したように、本発明によれば、
2つのメモリへの並列アクセスによってフィルタ処理を
高速に行うことができるようになる。また、2つのデー
タテーブルを予め別々のデータテーブルに記憶させてお
かなくても、十分なフィルタ処理の高速化が可能となる
ため、データテーブルの配置を柔軟に行うことができる
ようになる。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるDSPの構成を示
すブロック図である。
【図2】本発明の実施の形態におけるフィルタ処理を示
すフローチャートである。
【図3】図2のメモリ確保の処理を詳細に示すフローチ
ャートである。
【図4】メモリ確保の説明図である。
【図5】図2のメモリ解放の処理を詳細に示すフローチ
ャートである。
【図6】本発明の実施の形態の並列ロードストアによる
積和演算のクロック数を示す図である。
【図7】従来例におけるフィルタ処理を示すフローチャ
ートである。
【図8】従来例の一方のメモリだけのロードストアによ
る積和演算のクロック数を示す図である。
【符号の説明】
3 Xメモリ 4 Yメモリ 5 Xデータバス 6 Yデータバス 7〜9 レジスタ 10 レジスタユニット 11 積和器 12、13 データポインタレジスタ 14 アドレス加算値レジスタ 15 アドレス加算器 16 アドレスユニット 17 メインバス 18 制御部

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】互いに並列してアクセスすることが可能な
    2つのメモリを有し、フィルタ処理の対象となる2つの
    データテーブルが前記2つのメモリのいずれかにそれぞ
    れ記憶されるデジタルシグナルプロセッサであって、 前記2つのデータテーブルが、前記2つのメモリのうち
    の一方にのみ記憶されているかどうかを判断するテーブ
    ル判断手段と、 前記テーブル判断手段が前記2つのメモリの一方にのみ
    前記2つのデータテーブルが記憶されていると判断した
    ときに、前記2つのメモリのうちの他方に、前記2つの
    データテーブルのうちの一方をコピーするためのコピー
    領域を確保するコピー領域確保手段と、 前記2つのデータテーブルの一方を、前記コピー領域確
    保手段によって確保されたコピー領域にコピーする第1
    のテーブルコピー手段と、 前記第1のテーブルコピー手段によってコピーされたデ
    ータテーブルの一方と、前記2つのメモリの一方に記憶
    されている前記2つのデータテーブルの他方とを用い
    て、フィルタ処理を行うフィルタ処理手段とを備えるこ
    とを特徴とするデジタルシグナルプロセッサ。
  2. 【請求項2】前記メモリ確保手段によって、データテー
    ブルのコピー領域が前記2つのメモリの他方に確保され
    た場合に、前記フィルタ処理手段によるフィルタ処理の
    終了後、前記確保されたコピー領域を開放するメモリ解
    放手段をさらに備えることを特徴とする請求項1に記載
    のデジタルシグナルプロセッサ。
  3. 【請求項3】前記フィルタ処理手段によるフィルタ処理
    で、前記コピー領域にコピーされたデータテーブルへの
    データの書き込み処理があるかどうかを判断する書き込
    み判断手段と、 前記書き込み判断手段が書き込み処理があると判断した
    場合に、データの書き込まれた前記コピー領域中のデー
    タテーブルを、前記2つのメモリのうちの一方の元の領
    域にコピーする第2のテーブルコピー手段とをさらに備
    えることを特徴とする請求項1または2に記載のデジタ
    ルシグナルプロセッサ。
  4. 【請求項4】前記フィルタ処理手段は、前記テーブル判
    断手段が前記2つのメモリのそれぞれに分かれて前記2
    つのデータテーブルが記憶されていると判断したとき
    に、それぞれのメモリに記憶されている各データテーブ
    ルを用いて、フィルタ処理を行うことを特徴とする請求
    項1乃至3のいずれか1項に記載のデジタルシグナルプ
    ロセッサ。
  5. 【請求項5】互いに並列してアクセスすることが可能な
    2つのメモリのいずれかに記憶されたフィルタ処理の対
    象となる2つのデータテーブルを使用してフィルタ処理
    を行うフィルタ処理方法であって、 前記2つのデータテーブルが、前記2つのメモリのうち
    の一方にのみ記憶されているかどうかを判断するテーブ
    ル判断ステップと、 前記テーブル判断ステップで前記2つのメモリの一方に
    のみ前記2つのデータテーブルが記憶されていると判断
    したときに、前記2つのメモリのうちの他方に、前記2
    つのデータテーブルのうちの一方をコピーするためのコ
    ピー領域を確保するコピー領域確保ステップと、 前記2つのデータテーブルの一方を、前記コピー領域確
    保ステップで確保されたコピー領域にコピーする第1の
    テーブルコピーステップと、 前記第1のテーブルコピーステップでコピーされたデー
    タテーブルの一方と、前記2つのメモリの一方に記憶さ
    れている前記2つのデータテーブルの他方とを用いて、
    フィルタ処理を行うフィルタ処理ステップとを含むこと
    を特徴とするフィルタ処理方法。
  6. 【請求項6】前記メモリ確保ステップでデータテーブル
    のコピー領域が前記2つのメモリの他方に確保された場
    合に、前記フィルタ処理ステップによるフィルタ処理の
    終了後、前記確保されたコピー領域を開放するメモリ解
    放ステップをさらに含むことを特徴とする請求項5に記
    載のフィルタ処理方法。
  7. 【請求項7】前記フィルタ処理ステップによるフィルタ
    処理で、前記コピー領域にコピーされたデータテーブル
    へのデータの書き込み処理があるかどうかを判断する書
    き込み判断ステップと、 前記書き込み判断ステップで書き込み処理があると判断
    した場合に、データの書き込まれた前記コピー領域中の
    データテーブルを、前記2つのメモリのうちの一方の元
    の領域にコピーする第2のテーブルコピーステップとを
    さらに含むことを特徴とする請求項5または6に記載の
    フィルタ処理方法。
  8. 【請求項8】互いに並列してアクセスすることが可能な
    2つのメモリのいずれかに記憶されたフィルタ処理の対
    象となる2つのデータテーブルを使用してフィルタ処理
    を行うためのプログラムを記録したコンピュータ読み取
    り可能な記録媒体であって、 前記2つのデータテーブルが、前記2つのメモリのうち
    の一方にのみ記憶されているかどうかを判断するテーブ
    ル判断ステップと、 前記テーブル判断ステップで前記2つのメモリの一方に
    のみ前記2つのデータテーブルが記憶されていると判断
    したときに、前記2つのメモリのうちの他方に、前記2
    つのデータテーブルのうちの一方をコピーするためのコ
    ピー領域を確保するコピー領域確保ステップと、 前記2つのデータテーブルの一方を、前記コピー領域確
    保ステップで確保されたコピー領域にコピーする第1の
    テーブルコピーステップと、 前記第1のテーブルコピーステップでコピーされたデー
    タテーブルの一方と、前記2つのメモリの一方に記憶さ
    れている前記2つのデータテーブルの他方とを用いて、
    フィルタ処理を行うフィルタ処理ステップとをコンピュ
    ータに実行させるためのプログラムを記録することを特
    徴とするコンピュータ読み取り可能な記録媒体。
  9. 【請求項9】前記メモリ確保ステップでデータテーブル
    のコピー領域が前記2つのメモリの他方に確保された場
    合に、前記フィルタ処理ステップによるフィルタ処理の
    終了後、前記確保されたコピー領域を開放するメモリ解
    放ステップをコンピュータに実行させるためのプログラ
    ムをさらに記録することを特徴とする請求項8に記載の
    コンピュータ読み取り可能な記録媒体。
  10. 【請求項10】前記フィルタ処理ステップによるフィル
    タ処理で、前記コピー領域にコピーされたデータテーブ
    ルへのデータの書き込み処理があるかどうかを判断する
    書き込み判断ステップと、 前記書き込み判断ステップで書き込み処理があると判断
    した場合に、データの書き込まれた前記コピー領域中の
    データテーブルを、前記2つのメモリのうちの一方の元
    の領域にコピーする第2のテーブルコピーステップとを
    コンピュータに実行させるためのプログラムをさらに記
    録することを特徴とする請求項8または9に記載のコン
    ピュータ読み取り可能な記録媒体。
JP11135348A 1999-05-17 1999-05-17 デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体 Pending JP2000330972A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP11135348A JP2000330972A (ja) 1999-05-17 1999-05-17 デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体
EP20000110443 EP1054328A2 (en) 1999-05-17 2000-05-16 Digital signal processor
CN 00107537 CN1274128A (zh) 1999-05-17 2000-05-17 数字信号处理器,滤波处理方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11135348A JP2000330972A (ja) 1999-05-17 1999-05-17 デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体

Publications (1)

Publication Number Publication Date
JP2000330972A true JP2000330972A (ja) 2000-11-30

Family

ID=15149672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11135348A Pending JP2000330972A (ja) 1999-05-17 1999-05-17 デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体

Country Status (3)

Country Link
EP (1) EP1054328A2 (ja)
JP (1) JP2000330972A (ja)
CN (1) CN1274128A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375802A (zh) * 2010-08-23 2012-03-14 深圳市鹏海运电子数据交换有限公司 自动创建计算式的***及方法

Also Published As

Publication number Publication date
CN1274128A (zh) 2000-11-22
EP1054328A2 (en) 2000-11-22

Similar Documents

Publication Publication Date Title
JPWO2004079583A1 (ja) データ転送制御装置およびdmaデータ転送制御方法
KR101032563B1 (ko) 데이터 프로세싱 장치, 머신 구현형 방법 및 컴퓨터 판독가능 매체
CN114490856A (zh) 基于iouring技术的数据库wal落盘方法及***
JPS62226234A (ja) スタツクポインタ制御回路
JP2000330972A (ja) デジタルシグナルプロセッサ、フィルタ処理方法及び記録媒体
JP2595992B2 (ja) 電子楽器
JPS63311450A (ja) ファイルアクセス排他制御方式
JP2001005721A (ja) Dspによるリング・バッファ用メモリ確保によるフィルタ処理方法及びそのフィルタ処理システム
JP7078380B2 (ja) 命令制御装置、命令制御方法およびプログラム
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP3434713B2 (ja) レジスタ制御装置およびレジスタ制御方法
CN117827114A (zh) 一种任务的处理方法、装置、设备和计算机可读存储介质
CN115981729A (zh) 一种Can指令并发处理方法及装置
CN115525214A (zh) 减小ssd***数据读写占用内存的方法、装置、计算机设备及存储介质
JP3479196B2 (ja) Dspのメモリアドレス制御装置
CN115840532A (zh) 非连续变长的Flash缓存方法、电子设备及存储介质
KR0181487B1 (ko) 버퍼 램을 이용한 프로그램 구동 장치 및 방법
JP2000194554A (ja) 演算処理装置
JPH0876940A (ja) ディスクアレイ制御方法
JPH10240627A (ja) セクタ管理方法及び装置
JPH0546641A (ja) オンラインデータ引継ぎ方式
JPH04260139A (ja) ファイルアクセス処理装置
JPS61217833A (ja) 演算処理装置
JPH0567058A (ja) カウンタ
JPH05224947A (ja) 言語処理プログラム実行装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040727