JP3980901B2 - デジタル信号処理装置 - Google Patents
デジタル信号処理装置 Download PDFInfo
- Publication number
- JP3980901B2 JP3980901B2 JP2002033857A JP2002033857A JP3980901B2 JP 3980901 B2 JP3980901 B2 JP 3980901B2 JP 2002033857 A JP2002033857 A JP 2002033857A JP 2002033857 A JP2002033857 A JP 2002033857A JP 3980901 B2 JP3980901 B2 JP 3980901B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- program
- dsp
- access
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000007704 transition Effects 0.000 claims description 31
- 238000000034 method Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は,プログラムデータの格納用プログラムRAM(以下PRAM)を搭載したデジタル信号処理(DSP)装置及びその制御方法に関するものである。
【0002】
【従来の技術】
DSP(Digital Signal Processor)は,デジタル信号処理を行うための演算処理装置(以下,DSP)を表す。内部の構造は,マイクロプロセッサの一種であるが,信号処理で非常に多く用いられる積和演算が高速に処理できるように,ハードウェア乗算器,乗算と加算が同時に行えるなど信号処理に特化した機能が実装されている。
【0003】
DSPは,携帯電話などに形成されるユーザーインターフェース(キー操作や表示部)の処理をはじめ,PRAMやROM(Read Only Memory)などから多様なプログラムを処理することにより,JAVAバーチャルマシン(JAVA:登録商標),MP3再生装置などの処理機能を有することができる。
【0004】
【発明が解決しようとする課題】
しかしながら,上記構成のDSPでは,全てのプログラムのダウンロードが完了するまで,DSPは待機状態でなければならず,プログラムの実行開始までに時間がかかるという問題があった。
【0005】
本発明は,上記問題点に鑑みてなされたものであり,本発明の目的は,DSPの処理をプログラムのダウンロード中にも実行することの可能な,新規かつ改良されたデジタル信号処理装置を提供することである。
【0006】
【課題を解決するための手段】
上記課題を解決するため,本発明の第1の観点によれば,プログラムの各命令を読み/書き可能な複数ブロックを有するプログラム記憶装置と,プログラム記憶装置の前記複数ブロックに,ブロックの存在個所を示すアドレスを求めて,プログラムの各命令を順次格納するとともに,DSPが,ブロックへアクセスすることを制御するアクセス制御装置と,格納された命令を順次実行するDSPとから構成されることを特徴とするデジタル信号処理装置が提供される。
【0007】
本発明によれば,アクセス制御装置が,プログラム記憶装置へ全てのプログラムのダウンロードが完了する前でも,DSPは処理を開始させることが可能となる。
【0008】
アクセス制御装置は,DSPが,命令が未格納であるブロックへアクセスする場合,DSPをアクセス停止状態へ遷移させることができる。かかる構成によれば,DSPがアクセス停止状態時に,DSPにアクセスされる未格納のプログラムデータをプログラム記憶装置のブロックへ格納させることで処理効率の向上を果たすことができる。
【0009】
アクセス制御装置は,クロック制御装置へ停止信号を送信することにより,DSPをアクセス停止状態へ遷移させることができる。かかる構成によれば,DSPからプログラム記憶装置へアクセスを停止状態時に,DSPがアクセスしようとした未格納のプログラムデータをプログラム記憶装置のブロックへ格納させることにより,処理効率を向上させることができる。
【0010】
アクセス制御装置は,停止解除信号により,DSPをアクセス停止状態から解除されることができる。かかる構成によれば,DSPのプログラム記憶装置へのアクセスが停止していたことにより中断した処理を再び,アクセス制御装置のプログラム記憶装置へのダウンロードと並行して,DSPの処理を開始することができる。
【0011】
DSPのアクセス停止状態遷移後,アクセス制御装置は,未格納であるブロックに,該当する命令が格納されるまで,DSPのアクセス停止状態遷移を保持することができる。かかる構成によれば,DSPがアクセスする未格納のプログラムデータをプログラム記憶装置のブロックへ格納されることで,中断したDSPの処理を開始させることができる。
【0012】
DSPのアクセス停止状態遷移後,アクセス制御装置は,停止状態を解除する開始信号に設定されるブロックのアドレスまで順次,各命令の格納を行うことができる。かかる構成により,設定されるブロックのアドレスまでプログラムデータをプログラム記憶装置のブロックに格納されることにより,DSPがアクセスするアドレスのブロックにはプログラムデータが格納された状態にすることができる。
【0013】
アクセス制御装置は,命令のアドレスを切替える格納選択信号を格納選択記憶装置から受信することにより,DSPをアクセス停止状態へ遷移させることができる。かかる構成により,予めプログラム記憶装置のブロックへプログラムデータを格納することが可能となり,DSPの処理効率を向上させることができる。
【0014】
格納選択信号を格納選択記憶装置から受信してDSPのアクセス停止状態遷移後,アクセス制御装置は,格納開始信号に設定されたアドレスから格納終了信号にされたアドレス間のブロック領域に,各命令の格納を行うことができる。かかる構成により,予め所定のプログラムデータをプログラム記憶装置のブロックへ格納することが可能となり,DSPの処理効率を向上させることができる。
【0015】
格納開始信号から格納終了信号間における各命令が格納されたアドレス間のブロック領域には,アドレス制御装置により,再度命令が格納されない。かかる構成により,すでにプログラム記憶装置のブロックへ格納された上記命令を2重に格納されることを防ぐことができる。
【0016】
DSPのアクセス停止状態遷移後,アクセス制御装置は,各命令を順次,格納させるとともに,未格納である命令をブロックに順次格納させることができる。かかる構成により,未格納なプログラムデータのプログラム記憶装置へのブロック格納と,処理開始時からダウンロードされるプログラム記憶装置のブロックへのプログラムデータの格納と,同時に並行して処理可能となり,プログラムデータのダウンロード時間の大幅な短縮ができる。
【0017】
アクセス制御装置は,命令を格納させるブロックのアドレスの順番が記されたデータ信号を受信するとともに,DSPがアクセスしたブロックに該当するアドレスとを,アクセスごとに比較し,相違した場合,DSPアクセスを停止状態に遷移させることができる。かかる構成により,上記データ信号のアドレスの順番と実際のDSPのプログラム記憶装置へアクセスするアドレスの順番とが一致している限り,プログラムのダウンロードか全て完了するまで動作することができなかったDSPの処理が中断することなく,プログラム記憶装置へのプログラムデータのダウンロード開始とほぼ同時に動作可能となる。
【0018】
アクセス制御装置は,DSPのアクセス停止状態遷移後,相違したアドレスに該当するブロックからプログラムの各命令の最終アドレスに該当するブロックまで,各命令を順次各ブロックへ格納することができる。かかる構成により,中断していたDSPの処理開始後では,プログラム記憶装置にはプログラムデータがダウンロードされてブロックへ格納済みであることから,DSPは処理が中断することなくプログラムを処理することができる。
【0019】
【発明の実施の形態】
(第1の実施の形態)
以下,本発明の好適な実施の形態について,添付図面を参照しながら詳細に説明する。なお,以下の説明及び添付図面において,略同一の機能及び構成を有する構成要素については,同一符号を付することにより,重複説明を省略する。
【0020】
まず,図1を参照しながら,第1の実施の形態にかかるデジタル信号処理装置の構成について説明する。図1は,第1の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【0021】
図1に示すように,デジタル信号処理装置1は,デュアルポートRAMで構成されるPRAM108,演算処理等するDSP111の他,アクセス制御装置105,クロック制御装置107から構成される。
【0022】
アクセス制御装置105は,ダウンロードしたプログラムの命令などのデータを格納先であるPRAM108のブロックのアドレスを決定するアドレスカウンタ106を備える。
【0023】
アドレスカウンタ106によって決められたアドレスは,プログラムアドレスバスA104を経由してPRAM108に接続されて,PRAM108へアドレスの情報が伝送される。
【0024】
また,ダウンロードしたプログラムの命令などのデータは,アクセス制御装置105からプログラムデータバスA114を経由して,PRAM108へ接続され,PRAM108に,プログラムの命令などのデータが書込まれることで,ブロックに格納される。
【0025】
またR/WコントロールB117は,アクセス制御装置105が,PRAM108に対して,プログラムの命令などのデータを読込み/書込み(Read/Write)処理を行うタイミングなどの制御信号として用いられる。
【0026】
またアクセス制御装置105からは,DSP111からPRAM108に対するアクセスを許可するDSPリセット116信号が出力され,DSP111に入力される。
【0027】
DSP111は,PRAM108からプログラムの命令などのデータを演算処理等で使用するために,プログラムカウンタ112を有する。上記プログラムカウンタ112から出力されるプログラムアドレスは,プログラムアドレスバスB110を経由して,アクセス制御装置105に入力されている。
【0028】
またDSP111は,PRAM108との間を双方向のプログラムデータバスB115により接続され,このプログラムデータバスB115によりプログラムの命令などのデータの読込み/書込みなどの処理が行われる。さらに,R/Wコントロール信号A116が接続されているが,R/WコントロールA120信号については,通常のデジタル信号処理装置に構成される機能とほぼ同一である。
【0029】
アクセス制御装置105からは,アクセス制御装置105によりアクセス制御されたDSP111から,プログラムアドレスバスC113を経由してプログラムアドレスが出力されて,PRAM108へ入力される。
【0030】
クロック制御装置107は,外部からシステムクロック101,ダウンロード完了信号102または停止信号であるウェイト信号103が入力されて,DSP111に対してクロック信号の制御などを行う。また,クロック制御装置107は,DSPクロック109をDSP111へ出力しており,DSP111は上記DSPクロック109をもとに演算処理等の処理を行う。
【0031】
つぎに図1,2を参照しながら,第1の実施の形態にかかるデジタル信号処理装置の動作について説明する。図2は,第1の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【0032】
図1に示すように,アクセス制御装置105は,プログラムの命令などのデータをダウンロードしてPRAM108に構成される所定のアドレスのブロックへ格納及びDSP111からのアクセスの制御(コントロール)を行う。
【0033】
DSP111からPRAM108に対しては,プログラムの読込み,アクセス制御装置105からPRAM108に対しては,プログラムの書込みを行うので,R/Wコントロール信号A116は読込み(Read)モード,R/Wコントロール信号B117は書込み(Write)モードである。
【0034】
まず,図1および図2を参照しながら,図2に示す期間207におけるデジタル信号処理装置1の動作について説明する。
【0035】
図2に示すように,アクセス制御装置105がプログラムの命令などのデータをダウンロードして,PRAM108のブロックへ格納する,格納先のアドレスは,アドレスカウンタ106によって決められる。本実施の形態では,プログラムアドレスバスAの波形である,波形201が示すとおり,ブロックへ格納するアドレスは0番地よりシーケンシャルに増加していくのがわかる。
【0036】
アクセス制御装置105がデータをダウンロードしてブロックへ格納するアドレスの番地が0番地の場合,DSP111がアクセスできる領域は存在しない。したがって,DSPリセット116信号の波形である波形202が示すように,アクセス制御装置105より出力されるDSPリセット信号116はON(ハイレベル)のままであり,DSP111からPRAM108に対してアクセスを行うことはできない。
【0037】
プログラムアドレスバスA104を経由して出力されるアドレスデータのアドレスの番地が,1番地になったらDSPリセット116信号(波形202)はOFF(ローレベル)となり,DSP111からPRAM108に対してアクセスできる。
【0038】
DSP111は,プログラムカウンタ112によって,DSP111が処理実行を行うための,決められたプログラムの命令などのデータアドレスを,プログラムアドレスバスB110に出力する。
【0039】
図2に示すとおり,プログラムアドレスバスB110を示す波形である波形203は,第1の実施の形態では,0番地から実行されているのがわかる。
【0040】
上記プログラムアドレスは,アクセス制御装置105に入力されており,アクセス制御装置105は,プログラムアドレスバスB110(波形203)より入力されるアドレスの値と,アドレスカウンタ106から出力されるプログラムアドレスバスA104(波形201)より出力されるアドレスの値を比較して,DSP111がアクセスしようとしているアドレスは,既にアクセス制御装置105によりダウンロードされてブロックに格納されたアドレスであるかを判定する。
【0041】
上記判定結果により,ダウンロードおよび格納済みであるアドレスの場合,プログラムアドレスバスB110より入力されるアドレスの値を,次のサイクルにてプログラムアドレスバスC113(波形204)にそのアドレス値を出力する。
【0042】
図2に示す通り,プログラムアドレスバスC113を示す波形である波形204は,プログラムアドレスバスB110より入力されるダウンロードおよび格納済みのアドレス値が,次サイクルにてプログラムアドレスバスC113のアドレス値として出力される。
【0043】
次に,プログラムアドレスバスB110(波形203)より入力されるアドレスの値が,アクセス禁止領域,即ちまだダウンロードされていない領域であり,それによりDSP111がアクセス停止状態である場合の,期間208におけるデジタル信号処理装置1の動作について説明する。
【0044】
DSP111は,プログラムカウンタ112によって,DSP111が処理実行を行うための,決められたプログラムの命令などのデータアドレスを,プログラムアドレスバスB110(波形203)に出力する。
【0045】
上記プログラムアドレスバスB110(波形203)を経由して出力されるアドレスの値と,アドレスカウンタ106(波形201)に出力されるアドレスの値とを比較して,その結果がアクセス禁止領域であるか否かを判定する。アクセス禁止領域である場合のアドレスの条件は,以下(1)に示す関係となる。
【0046】
アドレスカウンタ106≦プログラムアドレスバスB110・・(1)
【0047】
図2に示す,アクセス禁止領域となった期間208の直前である期間207において,アクセス制御装置105では,プログラムの命令などのデータをダウンロードして,格納しているアドレス値(プログラムアドレスバスA201)は,4番地(波形201)であるのに対して,DSP111では,PRAM108に対してアドレス値(プログラムアドレスバスB203)a番地(波形203)にアクセスしようとしているので,上記(1)の条件を満たしている。
【0048】
上記アクセス禁止領域となる条件を検出した場合,アクセス制御装置105は,まずDSP111のアクセスを停止する停止信号である,ウェイト信号103(波形205)をON(ローレベル)にする(波形205)。
【0049】
上記停止信号であるウェイト信号103(波形205)を受信した,クロック制御装置107は,DSPクロック109を出力するのを停止して,DSP111はアクセスすることができないアクセス停止状態へ遷移する(波形206)。以下,アクセスすることができないアクセス停止状態へ遷移することを,DSPアクセス停止状態遷移処理とする。
【0050】
また,アクセス制御装置105より出力されるプログラムアドレスバスC113のアドレス値は,次のサイクルでの更新は行わず,アクセス可能領域である前アドレス値である1番地のまま保持される(波形204)。
【0051】
また,アクセス制御装置105がウェイト信号103(波形205)を“ON”(ローレベル)にしている間,DSPクロックが停止しているDSP111は,プログラムカウンタ112が停止状態であるので,プログラムアドレスバスBの更新は行われず,a番地を出力したまま保持される(波形203)。
【0052】
以上,期間208の直前の期間207におけるアクセス禁止領域にアクセスしようとした場合からDSP111がアクセス停止状態に遷移してその状態が保持される期間208の一連の動作により,DSP111からPRAM108に対してのアクセスは停止状態となるが,アドレス制御装置に構成されるアドレスカウンタ106は,このDSP111のアクセス停止状態に依存することなく動作して,プログラムの命令などのデータをダウンロードしてPRAM108へ格納処理を続行する(波形201)。
【0053】
次に,図2を参照しながら,DSP111のアクセス停止状態が解除された(以下,DSPアクセス停止状態解除処理)場合の,期間209におけるデジタル信号処理装置1の動作について説明する。
【0054】
図2に示すように,期間207において,DSP111がアクセスしようとしたアドレス“a”が,アドレスカウンタ106が出力するプログラムアドレスバスA114のアドレス値のカウント(波形201)により,DSP111のアクセス禁止が解除された場合,つまりDSP111がアクセス停止状態の期間208において,以下(2)に示す関係となった場合,ON(ローレベル)の状態であったウェイト信号103を,OFF(ハイレベル)にする(波形205)。
【0055】
アドレスカウンタ106>プログラムアドレスバスB110・・(2)
【0056】
また,期間207にて保持していたプログラムアドレスバスC113のアドレス値“1”は,期間209である次のサイクルでDSP111が要求していたアドレス値“a”に更新される(波形204)。
【0057】
また,クロック制御装置107は,アクセス制御装置105から出力されるウェイト信号103(波形205)がON(ローレベル)からOFF(ハイレベル)になったのを受けて,DSPクロック109の出力を再開する(波形206)。
【0058】
クロック制御装置107からDSPクロック116の入力が再開されたDSP111は,プログラムカウンタ112が再び動作し始め,PRAM108へのアクセスの開始を始め,更新されたプログラムアドレスを,プログラムアドレスバスB110に出力する(波形203)。
【0059】
なおダウンロードが全て完了した場合,アクセス制御装置105は,ダウンロード完了信号102がON(図示せず)となり,クロック制御装置107に伝えられる。ダウンロード完了信号102がONの場合,クロック制御装置107はクロックの制御を行わず,システムクロック101をそのままDSPクロック109へ出力する。
【0060】
以上のように,従来プログラムのダウンロードが全て完了するまで待機しなければならなかったDSPの処理動作を,アクセス制御装置105,クロック制御装置107などの装置を設けることによって,全てのプログラムのダウンロードが完了する前でも,例えばダウンロードが完了していない領域への分岐(DSP111のプログラム実行処理において,分岐命令などで発生)が発生した場合にはダウンロードが完了するまでDSP111をアクセス停止状態に遷移させて,その状態を保持させることによって,プログラムの各命令などの実行を,プログラムの命令をダウンロードして格納するとともに,スタートおよび処理させることが可能となり,プログラムの初期化に要する時間の短縮が図れる。
【0061】
特に,DSPの処理動作に対して停止状態(ウェイト)が発生しても,特に影響の無いレジスタ等の初期化ルーチン等の場合は特に有効である。
【0062】
(第2の実施の形態)
次に,図3を参照しながら,第2の実施の形態にかかるデジタル信号処理装置の構成について説明する。図3は,第2の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【0063】
図3に示すように,第2の実施の形態にかかるデジタル信号処理装置は,図1に示す第1の実施の形態にかかるデジタル処理装置に構成される装置に,データバス314,スタート・アドレスレジスタ317,スタートアドレス318が加えられている。
【0064】
データバス314は,DSP311およびスタート・アドレスレジスタ317と接続されており,DSPのアクセス停止状態開始を知らせるスタート・アドレスレジスタ317は,スタートアドレス318信号を経由してアクセス制御装置305と接続されている。
【0065】
なお,第2の実施の形態にかかるデジタル信号処理装置1に構成されるその他の装置などは,第1の実施の形態にかかるデジタル信号処理装置1とほぼ同様の構成を有するので,詳細説明は省略する。
【0066】
次に,図3,図4を参照しながら,第2の実施の形態にかかるデジタル信号処理装置の動作について説明する。図4は,第2の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【0067】
DSP311が実行するプログラムの各命令などのデータは,アクセス制御装置305によって出力されて,プログラムデータバスA314を経由して,PRAM308に格納される。したがって,DSP311は,PRAM308に格納されたデータを読み込み,その読み込んだ命令を実行する。
【0068】
ここで,第2の実施の形態にかかるDSP311が実行する最初の命令については,PRAM308から読込み処理するのではなく,予めDSP311に,スタート・アドレスレジスタ317を初期化する命令をセットしておく。
【0069】
アクセス制御装置305は,スタート・アドレスレジスタ317に格納される値と,昇順にカウントアップされるアドレスカウンタ306のPRAM308のブロックへ格納するアドレスの値とを比較して,アドレスカウンタ306の値が,スタート・アドレスレジスタ317の値を超えない間は,停止信号であるウェイト信号303(波形406)を“ON”(ローレベル)の状態を保持させる。スタート・アドレスレジスタ317の初期値は0とする。
【0070】
まず図4に示すように,DSP311がアクセス停止状態になるまでの期間408について説明すると,アクセス制御装置305からDSPリセット316信号(波形402)をDSP311に出力することによって,DSP311がアクセス可能な状態に遷移した直後は,停止信号であるウェイト信号303(波形406)は,OFF(ハイレベル)のままである。
【0071】
図4に示すように,上記DSP311のアクセス可能な状態遷移直後のアドレスカウンタ306(波形401)のアドレスの値は,“0”番地である。そのためアドレス値が0番地からのDSP311による命令は実行可能であるので,すでにダウンロードされているスタート・アドレスレジスタ317を初期化する命令を実行する(期間408)。
【0072】
スタート・アドレスレジスタ317が初期化されて,値が格納される。図4が示すとおり,ここで格納された値は16進数で表されると“0FFF”(波形405)である。アクセス制御装置305は,スタート・アドレスレジスタ317に格納された値(波形405)を,スタートアドレス信号318を経由して読込み,上記格納された値とアドレスカウンタ306(波形401)との値を比較する。
【0073】
アクセス制御装置305は,比較した結果,スタート・アドレスレジスタに格納された値の方が大きいと判定すると,DSP311のアクセスを停止状態に遷移させる処理を行う。
【0074】
図4に示す期間409は,上記DSP311のDSPアクセス停止状態遷移処理およびDSP311のDSPアクセス停止状態であるが,第1の実施の形態にかかるデジタル信号処理装置1の処理動作で説明した内容とほぼ同様であるので,詳細説明は省略する。
【0075】
また図4に示すように,スタート・アドレスレジスタ317に値を格納処理に必要となるサイクル数は,DSP311の種類や構成によって異なるため,ここでは変数“X”を用いて表記する(波形401,403,404)。
【0076】
図4の波形401に示すように,アドレスカウンタ306で出力されるアドレス値が,スタート・アドレスレジスタ317に格納された値に達した場合,例えば,第2の実施の形態においては,“00FF”に達した場合,アクセス制御装置305は,波形406に示すように,停止信号であるウェイト信号303(“OFF”(ハイレベル))をクロック制御装置307へ出力することにより,DSP311のアクセスのウェイト状態を解除する(DSPアクセス停止状態解除処理)。
【0077】
次に,DSP311のアクセス停止状態が解除された期間410について説明するが,DSPアクセス停止状態解除処理の内容については,第1の実施の形態で説明した内容とほぼ同様であるので,詳細説明は省略する。
【0078】
また期間410以降の処理について,例えばアクセス禁止領域への分岐の場合の処理等についても,第1の実施の形態で説明した内容とほぼ同様である。
【0079】
以上から,第2の実施の形態にかかるデジタル信号処理装置1によれば,第1の実施の形態に示した効果に加え,スタート・アドレスレジスタ317を設けることにより,スタート・アドレスレジスタ317に設定されたアドレス値までのプログラムの命令などのデータはダウンロードおよび格納が完了されていると保証されるため,分岐命令等をこのアドレス値の範囲内で行うプログラムの記述をすることによって,実行時の一時ウェイト状態が無くなるので,処理効率が向上するという効果が得られる。
【0080】
(第3の実施の形態)
次に,図5を参照しながら,第3の実施の形態にかかるデジタル信号処理装置の構成について説明する。図5は,第3の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【0081】
図5に示すように,第3の実施の形態にかかるデジタル信号処理装置は,図1に示す第1の実施の形態にかかるデジタル処理装置に構成される装置に,格納開始アドレス値を格納するダウンロードアドレスレジスタA517,格納開始アドレス値を格納するダウンロードアドレスレジスタB519,データバス514,格納選択記憶装置であるダウンロードセレクトレジスタ521,アドレスカウンタB524,アドレスカウンタA523が加えられている。
【0082】
データバス514は,ダウンロードアドレスレジスタA517,ダウンロードアドレスレジスタB519と接続されて,さらにDSP511と接続されてデータの授受等をする。
【0083】
ダウンロードアドレスレジスタA517は,格納開始信号をダウンロードアドレスA518を経由してアクセス制御装置505に出力して,またダウンロードアドレスレジスタB520は,格納終了信号をダウンロードアドレスB520を経由してアクセス制御装置505に出力する。
【0084】
ダウンロードセレクトレジスタ521は,ダウンロードセレクト522またはセレクタリセット525を経由してアクセス制御装置505に接続されている。ダウンロードセレクトレジスタ521の値は,レジスタを選択するための格納選択信号としてダウンロードセレクト522を介してアクセス制御装置505へ入力される。また,アクセス制御装置505は,セレクタリセット525を介してダウンロードレジスタ521を初期化(リセット)する。
【0085】
また,アクセス制御装置505は,通常のPRAM508へダウンロードしてブロックへ格納するためのアドレス値をカウントするアドレスカウンタA523と,DSP511のアクセス停止状態時に,指定されたアドレス値をカウントするアドレスカウンタB524を有する。
【0086】
上記アドレスカウンタA523およびアドレスカウンタB524は,ダウンロードセレクトレジスタ521からダウンロードセレクト信号522を介して出力される信号によって,どちらかに選択されて,選択されたアドレスカウンタのアドレス値がプログラムアドレスバスA504に出力される。選択されていないアドレスカウンタは,選択時のアドレス値を保持したまま停止状態となる。
【0087】
なお,第3の実施の形態にかかるデジタル信号処理装置1に構成されるその他の装置などは,第1の実施の形態にかかるデジタル信号処理装置1とほぼ同様の構成を有するので,詳細説明は省略する。
【0088】
次に,図5,図6を参照しながら,第3の実施の形態にかかるデジタル信号処理装置の動作について説明する。図6は,第3の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【0089】
DSP511が実行するプログラムは,アクセス制御装置505からプログラムの命令などのデータがプログラムデータバスA527を通して,ダウンロードされてPRAM508へ格納されるが,DSP511が実行する最初の命令は,ダウンロードアドレスレジスタA517(波形605)及びダウンロードアドレスレジスタB519(波形606)を初期化し,初期化完了後ダウンロードセレクトレジスタ521を設定する初期化プログラムを予めセットしておく。
【0090】
まず図6に示されるように,DSP511のアクセス停止状態遷移までの期間610について説明すると,ダウンロードセレクト信号522(波形607)の初期値は,アドレスカウンタA523を選択するようにセットされている。つまり図6に示される波形607(ダウンロードセレクト信号)は,“0”で示されており,これはアドレスカウンタA523を選択している。
【0091】
次に,アドレスカウンタA523においてアドレス値のカウントを始めて(初期値“0000”),アクセス制御装置505から出力されるDSPリセット516信号(波形602)が,DSP511へ入力されると,DSP511からPRAM508へのアクセスが可能となる。この時点では,DSP511のアクセス停止状態にする停止信号であるウェイト信号503(波形608)は,“OFF”(ローレベル)のままである。
【0092】
したがって,アクセス可能となったDSP511は,プログラムカウンタ512からカウントを始めたアドレス値0番地より,命令を実行することは可能であり,予めセットされている初期化プログラムを実行する。
【0093】
初期化プログラムは,図6に示すように,波形605(ダウンロードアドレスレジスタA517)には,最初にプログラムの命令などのデータをダウンロード始める,格納を開始する先頭番地(“0100”)を格納して,波形606(ダウンロードアドレスレジスタB519)には,ダウンロード終了する,格納を終了する最終番地(“0200”)を格納する。
【0094】
格納終了と同時に,アドレスカウントBが選択される値がダウンロードセレクトレジスタ521から出力される。図6に示すように,波形607においてアドレスカウントBを選択する“1”(ハイレベル)が出力されているのがわかる。ダウンロードセレクトレジスタ521から出力された値は,アクセス制御装置505へ入力される。
【0095】
次に,DSP停止状態遷移処理またはDSP停止状態である期間611について,説明すると,波形607のダウンロードセレクトレジスタ521に“1”がセットされると,アクセス制御装置505は,波形605のダウンロードアドレスA518のアドレス値をアドレスカウンタB524にセットする(波形601)。
【0096】
上記アドレスカウンタB524にセットされた上で,アクセス制御装置505は,図6の波形601に示されるように,プログラムアドレスバスA504へ出力されるブロックへ格納するアドレス値を,アドレスカウンタA523からカウントされたアドレス値から,アドレスカウンタB524からカウントされるアドレス値に切替える。
【0097】
切替え後,アドレス制御装置505からプログラムデータバスA527を介して,順次アドレスカウンタB524がカウントして示すアドレス値に対応したプログラムの命令などのデータが,PRAM508へダウンロードされ,PRAM508に格納されていく(波形601)。
【0098】
さらに上記切替え処理後,ダウンロードセレクト信号522(波形607)が“1”(ハイレベル)に切替わると,アクセス制御装置505は,DSP511のアクセス停止状態遷移処理を行う。
【0099】
上記DSP511のDSPアクセス停止状態遷移処理は,第1の実施の形態にて説明したDSPアクセス停止状態遷移処理とほぼ同様であるので,詳細説明は省略する。
【0100】
また期間611のDSP511のアクセス停止状態において,プログラムアドレスバスA601のアドレス値は,ダウンロードアドレスレジスタA517に格納されていたアドレス値(“0100”)に設定されて,上記アドレス値からプログラムの命令などのデータがダウンロードされる(波形601)。
【0101】
プログラムアドレスバスA504のアドレス値が,ダウンロードアドレスレジスタB519に格納されているアドレス値(“0200)に達した場合,アクセス制御装置505は,プログラムアドレスバスA504のアドレス値を,切替え後,停止していたアドレスカウンタA523のアドレス値に切替える。
【0102】
上記プログラムアドレスバスA504のアドレス値が,アドレスカウンタA523のアドレス値に切替え後,アドレスカウンタA523はカウント処理を再開する。また同時に,アクセス制御装置505は,セレクタリセット525を介してダウンロードセレクトレジスタ521の値を“0”に初期化(リセット)した上で,DSPアクセス停止状態解除処理を行う。
【0103】
期間612における,上記DPSコア511のDSPアクセス停止状態解除処理については,第1の実施の形態で説明したDSPアクセス停止状態解除処理の内容とほぼ同様であるので,詳細説明は省略する。
【0104】
以上第3の実施の形態にかかる処理は,ダウンロードアドレスレジスタA517及びダウンロードアドレスレジスタB519にアドレス値が格納後,ダウンロードアドレスレジスタA517からダウンロードアドレスレジスタB519までに示されたアドレス値間の領域におけるプログラムの命令などのデータをPRAM508へダウンロードして格納した後に,第1の実施の形態に示したDSP511からPRAM508へのアクセス処理,命令実行処理などの処理を行う。
【0105】
また図6の期間613に示すように,アクセス制御装置505から通常選択されるアドレスカウンタA523(波形601)は,アドレスのカウントを0番地より昇順(シーケンシャル)にアドレス値をカウント指定し,ブロックへ格納していくが,その指定アドレス値が,ダウンロードアドレスA518から入力されるアドレス値の1番地前に達した場合,ダウンロードアドレスB520に格納されたアドレス値からアドレスカウンタA523に入力されるアドレス値の1番地後に飛ぶ機能を持つ。
【0106】
図6の波形601(期間613)に示すように,ダウンロードアドレスA518から入力されるアドレス値の1番地前は,“0100−1”であり,ダウンロードアドレスB520に格納されたアドレス値からアドレスカウンタA523に入力されるアドレス値の1番地後は,“0200+1”である。
【0107】
したがって,上記“0100−1”の次のアドレス“0100”から,上記“0200+1”の1番地前のアドレス“0200”までのアドレス値が飛ばされているのが分かる。
【0108】
つまり,これによりアドレスカウンタB524を用いてアドレスのカウントをして,既にPRAM508へダウンロードして格納済みであるアドレス値の領域へ2重に書き込むことを防ぐ。
【0109】
また,第3の実施の形態にかかるアドレスカウンタA523からアドレスカウンタB524へのアドレスカウントの切替え処理など,一連の処理完了後,アクセス制御装置505が,セレクタリセット525を介して,ダウンロードセレクトレジスタ521の値を“0”に戻すことによって,アドレス制御装置505がプログラムの命令などのデータをダウンロードして格納している間,上記処理を繰り返し行うことができる。
【0110】
以上から,第3の実施の形態によれば,第1の実施の形態に示した効果に加え,予めダウンロードアドレスレジスタA517およびダウンロードアドレスレジスタA519に格納された両アドレス値間のブロック領域に,プログラムの命令などのデータをダウンロードしてブロックへ格納する処理を行ってから,DSP511の処理が始まる。
【0111】
プログラム内での分岐先を全てこの上記両アドレス値間のブロック領域に含まれるようにプログラム作成を行うことにより,DSP511からPRAM508へアクセスする際に,アクセス禁止領域への分岐が無くなり,実行時のDSP511がアクセス停止状態になることが無くなるので,処理効率を向上させることができる。
【0112】
さらに,ダウンロードセレクトレジスタ521の値を“0”に戻すことによって,アドレス制御装置505がプログラムの命令などのデータをダウンロードしてブロックへ格納している間,DSP511のDSPアクセス停止状態を保持し,ある所定のアドレス間のブロック領域におけるプログラムの命令などのデータをダウンロードしてブロックへ格納する上記処理を繰り返しできる。
【0113】
これは,例えばプログラム内における分岐先の命令で,DSP511のアクセス停止状態が発生すると不都合であるなどの場合,分岐の前に上記所定のアドレス間のブロック領域におけるデータをダウンロードしてブロックへ格納する処理を行うプログラム記述を加えることによって,処理能力のより大きな向上が期待できる。
【0114】
(第4の実施の形態)
次に,図7を参照しながら,第4の実施の形態にかかるデジタル信号処理装置の構成について説明する。図7は,第4の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【0115】
図7に示すように,第4の実施の形態にかかるデジタル信号処理装置は,図1に示す第1の実施の形態にかかるデジタル処理装置に構成される装置に,アクセス制御装置B720が加えられている。
【0116】
アクセス制御装置Aは,2つのアドレスカウンタ706およびアドレスカウンタ717を有する。アドレスカウンタ706より出力されるアドレス値は,プログラムアドレスバスA714を介してPRAM708に接続されて,アドレスカウンタ717より出力されるアドレス値は,プログラムアドレスバスD719を介してアクセス制御装置B720に入力されている。
【0117】
また,アクセス制御装置A705から出力される,プログラムアドレスバスD719が示すアドレス値に対応したデータを出力するプログラムデータバスC718についても,アクセス制御装置B720に入力されている。
【0118】
アクセス制御装置B720は,DSP711が出力するプログラムアドレスをアクセス制御装置A705が制御して出力するプログラムアドレスバスC713,DSP711のアクセスを停止させる停止信号であるウェイト信号703が入力される。
【0119】
またアクセス制御装置B720は,ウェイト信号703の値に応じて,入力されてくる信号が切替わるプログラムアドレスバスE722,プログラムデータバスD721および読込み/書込み制御するR/Wコントロール信号C725をPRAM708に出力している。
【0120】
またアクセス制御装置B720は,DSP711からの読込み/書込みを制御するR/Wコントロール信号A723及び,アクセス制御装置A705からのR/Wコントロール信号B724が入力される。
【0121】
なお,第4の実施の形態にかかるデジタル信号処理装置1に構成されるその他の装置などは,第1の実施の形態にかかるデジタル信号処理装置1とほぼ同様の構成を有するので,詳細説明は省略する。
【0122】
次に,図7,図8を参照しながら,第4の実施の形態にかかるデジタル信号処理装置の動作について説明する。図8は,第4の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【0123】
まず図8に示すように,デジタル信号処理装置のDSP711の処理開始期間である期間810及び,DSP711のDSPアクセス停止状態からDSPアクセス停止状態解除処理後の期間である期間812の動作は,第1の実施の形態で説明した内容とほぼ同様であるため,詳細説明は省略する。
【0124】
まず期間811について説明する前に,期間810においては,アクセス制御装置B720は,DSP711から出力されて,アクセス制御装置A705で制御されたプログラムアドレスバスC713(波形804)及びDSP711から出力されるR/WコントロールA723を,プログラムアドレスバスE722及びR/WコントロールC725(波形807)を介してPRAM708へ出力する。
【0125】
またアクセス制御装置B720は,PRAM708からのプログラムの命令などのデータを,プログラムデータバスD721を介して取得して,プログラムデータバスB715を経由してDSP711へ出力している。
【0126】
次に,DSPアクセス停止状態遷移処理からDSPアクセス停止状態の期間である期間811について説明する。
【0127】
第1の実施の形態にかかるDSPアクセス停止状態遷移処理と同様に,アクセス制御装置A705は,アドレスカウンタ706から出力されるプログラムアドレスバスA704(波形801)のアドレス値と,プログラムカウンタ907から出力されるプログラムアドレスバスB(波形803)のアドレス値とを比較した結果,DSP711のアクセス禁止であると検出された場合,DSP711に対してDSPアクセス停止状態遷移処理を行う。
【0128】
さらに上記DSP711のアクセス禁止であると検出後,アクセス制御装置B720に入力される“0”(ローレベル)のウェイト信号703(波形808)により,DSP711がPRAM708に対してアクセスするために使用する,アクセス制御装置B720とPRAM708とのインタフェースは,DSPアクセス停止状態では,アクセス制御装置AがPRAM708に対してアクセスするためのインタフェースとして使用可能なように切替えられる。
【0129】
つまり,プログラムアドレスバスB710の値(波形803)がアクセス禁止であることが検出された場合,アクセス制御装置705はウェイト信号703を“0”(ON)にする(波形808)。
【0130】
DSP711は,ウェイト信号703(波形808)が“0”(ローレベル)に変化後,DSPアクセス停止状態遷移処理が行われて,DSPアクセス停止状態となる。
【0131】
アクセス制御装置B720は,ウェイト信号703が“0”(ローレベル)に変化後,入力インタフェースを,プログラムアドレスバスC713及びR/WコントロールB724から,プログラムアドレスバスD719及びR/WコントロールB724に切替えて,プログラムアドレスバスE722及びR/WコントロールC725を介してPRAM708へ出力する。
【0132】
またアクセス制御装置B720は,PRAM708に対して,アクセス制御装置A705からプログラムデータバスC718を介して出力されるプログラムアドレスバスD719のアドレス値に対応するプログラムの命令などのデータを,プログラムデータバスD721を介して出力する。
【0133】
これにより,期間810では,プログラムデータバスD721を介してDSP711がプログラムデータを読込んでいたが,DSP711がアクセス停止状態である期間811では,プログラムデータバスD721を介してアクセス制御装置A705からPRAM708に対してプログラムデータをダウンロードして格納することができる。
【0134】
図8に示すように,アドレスカウンタ717(波形805)の初期値は,プログラムの命令などのデータをダウンロードするプログラムデータの最終番地が“n”となっており,DSP711がアクセス停止状態の期間に,初期値n番地からn−1,n−2,…の順に,DSP711がDSPアクセス停止状態解除になるまでプログラムデータをダウンロードして格納する処理を行う。第4の実施の形態では,期間811において,アクセス制御装置BのプログラムデータバスD721を介してダウンロードおよび格納されたワード数をmで示す(波形805,806)。
【0135】
また,812期間において,DSP711がアクセスしようとしたアドレス値“a”(波形803)に対して,DSP711のアクセス禁止が解除された場合,DSP711のDSPアクセス停止状態解除処理は第1の実施の形態で説明したDSPアクセス停止状態解除処理とほぼ同様の内容である。
【0136】
DSPアクセス停止状態解除処理後に,アクセス制御装置A705から出力される,停止信号であるウェイト信号703(波形808)が“1”(ハイレベル)に変化後,アクセス制御装置B720は,DSP711がPRAM708に格納されたプログラムデータを読込み可能な状態,すなわちプログラムアドレスバスE722及びプログラムデータバスD721の入力インタフェースを期間810の状態に戻すために,プログラムアドレスバスD719及びR/WコントロールB724から,プログラムアドレスバスC713及びR/WコントロールB724に切替える。
【0137】
一方,アクセス制御装置A705におけるアドレスカウンタ717は,DSPアクセス停止状態解除処理までの値を保持する(波形805)。
【0138】
したがって,アドレスカウンタ706(波形801)が初期値であるアドレス0番地から,0,1,2,・・・番地の順にプログラムアドレスバスA704およびプログラムデータバスA714を介して,PRAM708へプログラムのデータをダウンロードしてブロックへ格納する。
【0139】
またDSP711がDSPアクセス停止状態では,アドレスカウンタ717(波形805)が,プログラムデータのダウンロードする最終アドレスであるn番地より,n,n−1,n−2,・・・番地の順にプログラムアドレスバスE722,プログラムデータバスD721を介してプログラムをダウンロードする。
【0140】
アドレスカウンタ706及びアドレスカウンタ717のアドレス値が一致した場合,アクセス制御装置A705は,ダウンロード完了信号702(図示せず)をONにし,PRAM708に対する,全てのプログラムがダウンロードされたことをクロック制御装置707へ送信する。
【0141】
以上から,第4の実施の形態によれば,第1の実施の形態に示した効果に加え,DSP711がDSPアクセス停止状態の場合に,DSP711がプログラムの命令などのデータをアクセスするために使用するプログラムアドレスバスD719,プログラムデータバスC718を介して,プログラムのダウンロードする。
【0142】
したがって,アクセス制御装置705は,プログラムデータバスA704およびプログラムデータバスC718の両データバスを介してPRAM708にプログラムデータのダウンロードができることから,プログラムデータのダウンロード時間のより大きな短縮ができる。
【0143】
また,第4の実施の形態にかかるデジタル信号処理装置1は第1の実施の形態にかかるデジタル信号処理装置1に構成される装置などを適用した場合を例にあげて説明したが,本実施の形態はかかる例に限定されず,第2および第3の実施の形態に対しても同様に適用できる。
【0144】
(第5の実施の形態)
次に,図9を参照しながら,第5の実施の形態にかかるデジタル信号処理装置の構成について説明する。図9は,第5の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【0145】
図9に示すように,第4の実施の形態にかかるデジタル信号処理装置は,図1に示す第1の実施の形態にかかるデジタル処理装置に構成される装置に,データバス922,アドレスプログラムRAM918,バス選択制御装置919が加えられている。
【0146】
また,アクセス制御装置901は,アドレスカウンタ106に代わり,アドレスレジスタA902,アドレスレジスタB903,を備えており,さらにアドレス演算,デコードなどいくつかの命令を実行できる機能を有する。
【0147】
なお,第5の実施の形態にかかるデジタル信号処理装置1に構成されるその他の装置などは,第1の実施の形態にかかるデジタル信号処理装置1とほぼ同様の構成を有するので,詳細説明は省略する。
【0148】
次に,図9,図10を参照しながら,第5の実施の形態にかかるデジタル信号処理装置の動作について説明する。図10は,第5の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【0149】
PRAM905へプログラムの命令などのデータを,ダウンロード及びブロックへの格納はアクセス制御装置901が執り行う。また,ダウンロードするプログラムは,予めヘッダ部分にアドレスプログラムRAM918の初期化を行う情報を持つプログラムである。
【0150】
はじめに初期化ルーチン(初期化期間1014)として,アクセス制御装置901は,PRAM905の先頭アドレスへ書込みを行い,先頭アドレスの書込みが行われたらDSPリセット914を解除する。図10が示すように,波形1005にて“0”(ローレベル)になると,アクセス制御装置901は,DSP906からPRAM905へのアクセスを許可する(波形1006)。
【0151】
次に,DSP906は,プログラムの実行を開始する。DSP906が最初に実行するプログラムの内容は,予めプログラムのヘッダにセットされていたアドレスプログラムRAM918の初期化処理である。DSP906はデータバス922を経由してアドレスプログラムRAM918へデータの初期化を行う。また上記初期化処理中は,初期化完了信号924(波形1012)が初期化中の状態を示す。図10に示すように,波形1012にて“1”(ハイレベル)のときである。上記初期化中の状態を受けてバス選択制御装置919は,a経路921を選択する。
【0152】
アクセス制御装置901は,図10の波形1004に示すように,ダウンロードするプログラムの初期化情報のデータのアドレスをインクリメントしながらPRAM905にダウンロードして格納処理を行う。DSP906は,波形1006に示すように,上記波形1004に示すPRAM905への格納処理を追うように,PRAM905へアクセスしてプログラムを実行する。上記プログラム実行結果により,アドレスプログラムRAM918へデータの書込み処理が行われる。
【0153】
アクセス制御装置901が全ての初期化情報をPRAM905へダウンロードおよびブロック格納するとともに,DSP906が上記初期化情報が格納されたブロックへアクセスしてプログラム実行終了すると,初期化完了信号924(波形1012)は初期化終了を示す。図10に示すように,波形1012にて“0”のときである。この初期化完了信号924の“0”を受けてバス選択制御装置919は,b経路920を選択する。
【0154】
アドレスプログラムRAM918の初期化が完了すると,この時点でアドレスプログラムRAM918には,初期化後の課程においてアクセス制御装置901が,PRAM905へプログラムのデータのダウンロードしてブロックへ格納を行うアドレスの順序を示したコードが格納されている状態になる(波形1001)。
【0155】
アクセス制御装置901は,初期化後,アドレスプログラムRAM918から格納されたコードであるアドレスデータ信号923を読み込み,それをデコードしてプログラムアドレスバスA913のアドレス値を決定する。その結果,ダウンロードを行うアドレス順序は,図10に示すとおり,波形1001になる。
【0156】
次に初期化後のルーチンでは,プログラムアドレスバスA913が指すアドレス値をアドレスレジスタA902に書込み,プログラムアドレスB916が指すアドレス値をアドレスレジスタB903に書込む。ここで,アドレスレジスタA902とアドレスレジスタB903への最初の書込みは同一タイミングとする(波形1007,1008)。
【0157】
すなわち図10が示すように,波形1007のアドレス値“A0”及び波形1008のアドレス値“A0”が,書込まれるタイミングは同一となる。
【0158】
そして,アドレスレジスタA902とアドレスレジスタB903のアドレス値を常に比較を行う。PRAM905への書込み順番は,アドレスプログラムRAM918のアドレスデータ信号923からアクセス制御装置901へ入力されるデータ信号がデコードされた情報に従うが,上記情報が,DSP906が実行するプログラムの順番と同じならば両者の値は一致する。
【0159】
比較した結果,一致しない場合,それはアドレスプログラムRAM918のデコード情報の順序と異なるプログラム順をDSP906が実行しようとした場合である。
【0160】
そこでアドレス値が不一致の場合,アクセス制御装置901は,停止信号であるウェイト信号910を“0”(ON)にする。図10に示すように,ウェイト信号である波形1009は,“0”(ON)となる。
【0161】
図10の波形1007および波形1008に示すアドレス値のとおり,最初の“A0”,“A1”については,波形1007,波形1008ともに一致しているが,次の波形については,波形1007のアドレス値が“A2”であり,波形1008は,“C1”となり不一致が発生しているのがわかる。
【0162】
ウェイト信号910(波形1009)が“ON”(ローレベル)になると,クロック制御装置904は,図10に示す,波形1013が“0”(ローレベル)のまま保持されるように,DSPクロック911のアクセスを停止させる。したがって,プログラムアドレスバスB915によるアクセス制御装置901へのアクセスは停止状態となる。ここで,DSPクロック911のアクセスを停止させることは,第1の実施の形態にかかるDSPアクセス停止状態遷移処理の内容とほぼ同様である。
【0163】
DSPクロック911(波形1013)が停止状態の場合,アクセス制御装置901は,プログラムアドレスバスA913を介して,アドレスプログラムRAM918が示す最終番地までのプログラムの命令などのデータをPRAM905へダウンロードおよび格納を行う。図10に示すように,波形1004(プログラムアドレスバスA913)が最終番地であるアドレス“FF”を示したら,波形1011(ダウンロード完了信号909)を“0”(ON)にする。
【0164】
ダウンロード完了信号909(波形1011)が“ON”(ローレベル)になるのを受けて,アクセス制御装置901は,DSP906のDSPアクセス停止状態解除処理を行うため,ウェイト信号910を“1”(ハイレベル)にしてウェイト解除する(波形1009)。また,ダウンロード完了信号909(波形1011)の“ON”以降,アドレスレジスタA902(波形1007)とアドレスレジスタB903(波形1008)とのアドレス値の比較は行わない。
【0165】
DSP906のDSPアクセス停止状態解除処理後,DSPクロック911は動作再開することからDSP906はPRAM905に対してアクセスを開始する。この開始時点では,PRAM905は全てのプログラムの命令などのデータがダウンロードされてブロックへ格納済みになっており,DSP906は,自由にプログラムを実行することができる。
【0166】
また,アドレスレジスタA902(波形1007)とアドレスレジスタB903(波形1008)のアドレス値を常に比較して,両者の値が異なること無くプログラムデータをダウンロード完了した場合は,ウェイト信号910が「ON」になることなく,全てのプログラムデータをPRAM905へダウンロードおよびブロックへ格納することができる。
【0167】
以上から,第5の実施の形態によれば,第1の実施の形態に示した効果に加え,アクセス制御装置901やクロック制御装置904を備え,アドレスプログラムRAM918に予めダウンロードを行うアドレスの順番を記したデータを格納することにより,上記格納されたアドレスの順番および実際にDSP906がPRAM905へアクセスするアドレスの順番とが一致している限り,プログラムのダウンロードか全て完了するまで動作することができなかったDSP906の実行を,PRAM905へのプログラムのダウンロードとほぼ同時に動作可能となる。
【0168】
予想されるプログラム内における分岐があまり無い場合,DSP906に常に同じ動作を求めるような場合などが挙げられるが,実際の動作順序に従ったアドレス順序をアドレスプログラムRAM918にデータとして格納させることにより,プログラムのダウンロードとほぼ同時に動作し,DSP906のアクセス停止状態が存在しない処理が大いに期待される。
【0169】
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明はかかる例に限定されない。当業者であれば,特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例を想定し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0170】
上記実施形態においては,PRAMにデュアルポートRAMを適用した場合を例にあげて説明したが,本発明はかかる例に限定されない。例えば,プログラム領域を幾つかにバンク分けし,それぞれのバンクに対してシングルポートRAMを使用し,プログラムダウンロード側のインタフェースと,DSPアクセス側のインタフェースを制御するセレクタ装置を用いることで,複数のシングルポートRAMを適用した場合であっても実施することができる。
【0171】
また上記実施形態においては,アクセス制御装置とスタート・アドレスレジスタを別の装置として構成された場合を例にあげて説明したが,本発明はかかる例に限定されず,アクセス制御装置およびスタート・アドレスレジスタとを1つの装置として実施することが可能である。
【0172】
また上記実施形態においては,アクセス制御装置,ダウンロードアドレスレジスタA,ダウンロードアドレスレジスタBまたはダウンロードセレクトレジスタを別の装置として構成された場合を例にあげて説明したが,本発明はかかる例に限定されず,上記各々の装置の組み合わせによる構成であっても実施することができる。例えば,アクセス制御装置,ダウンロードアドレスレジスタA,ダウンロードアドレスレジスタBおよびダウンロードセレクトレジスタを1つの装置として実施することもできる。
【0173】
また上記実施形態においては,アクセス制御装置,アドレスプログラムRAMまたはバス選択制御装置を別の装置として構成された場合を例にあげて説明したが,本発明はかかる例に限定されず,上記各々の装置の組み合わせによる構成であっても実施することができる。例えば,アクセス制御装置,アドレスプログラムRAMおよびバス選択制御装置を1つの装置として実施することもできる。
【0174】
また上記実施形態においては,スタート・アドレスレジスタ,ダウンロードアドレスレジスタ,ダウンロードセレクトレジスタまたはアドレスレジスタは,レジスタ装置として構成された場合を例にあげて説明したが,読込み/書込み可能な記憶装置であれば,本発明はかかる例に限定されない。例えば,RAM(Random Access Memory)などのメモリ装置であっても実施することが可能である。
【0175】
また上記実施形態においては,DSPを適用した場合を例にあげて説明したが,本発明はかかる例に限定されない。例えば,マイクロプロセッサ等にも適用可能である。
【0176】
【発明の効果】
以上説明したように,本発明によれば,プログラムのダウンロードが全て完了するまで待機しなければならなかったDSPの処理動作を,全てのプログラムのダウンロードが完了する前でも,開始および処理させることが可能となり,プログラムの初期化に要する時間およびプログラムを処理するのにかかる時間などの短縮が図れる。
【図面の簡単な説明】
【図1】第1の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【図2】第1の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【図3】第2の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【図4】第2の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【図5】第3の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【図6】第3の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【図7】第4の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【図8】第4の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【図9】第5の実施の形態にかかるデジタル信号処理装置の構成を示すブロック図である。
【図10】第5の実施の形態にかかるデジタル信号処理装置の動作を示すタイミング図である。
【符号の説明】
1 :デジタル信号処理装置
101 :システムクロック
102 :ダウンロード完了信号
103 :ウェイト信号
104 :プログラムアドレスバスA
105 :アクセス制御装置
106 :アドレスカウンタ
107 :クロック制御装置
108 :PRAM
109 :DSPクロック
110 :プログラムアドレスバスB
111 :DSP
112 :プログラムカウンタ
113 :プログラムアドレスバスC
114 :プログラムデータバスA
115 :プログラムデータバスB
116 :DSPリセット
117 :R/WコントロールB
120 :R/WコントロールA
200 :システムクロック
201 :プログラムアドレスバスA
202 :DSPリセット(1のときリセット)
203 :プログラムアドレスバスB
204 :プログラムアドレスバスC
205 :ウェイト信号(0のときwait)
206 :DSPクロック
317 :スタート・アドレスレジスタ
318 :スタートアドレス
319 :R/WコントロールA
320 :R/WコントロールB
400 :システムクロック
401 :プログラムアドレスバスA
402 :DSPリセット(1のときリセット)
403 :プログラムアドレスバスB
404 :プログラムアドレスバスC
405 :スタート・アドレスレジスタ
406 :ウェイト信号(0のときwait)
407 :DSPクロック
514 :データバス
517 :ダウンロードアドレスレジスタA
518 :ダウンロードアドレスA
519 :ダウンロードアドレスレジスタB
520 :ダウンロードアドレスB
521 :ダウンロードセレクトレジスタ
522 :ダウンロードセレクト
523 :アドレスカウンタA
524 :アドレスカウンタB
525 :セレクタリセット
600 :システムクロック
601 :プログラムアドレスバスA
602 :DSPリセット(1のときリセット)
603 :プログラムアドレスバスB
604 :プログラムアドレスバスC
605 :ダウンロードアドレスレジスタ(先頭)
606 :ダウンロードアドレスレジスタ(最終)
607 :ダウンロードセレクト信号(1のとき指定アドレスダウンロード)
608 :ウェイト信号(0のときwait)
609 :DSPクロック
705 :アクセス制御装置A
720 :アクセス制御装置B
800 :システムクロック
801 :プログラムアドレスバスA
802 :DSPリセット(1のときリセット)
803 :プログラムアドレスバスB
804 :プログラムアドレスバスC
805 :プログラムアドレスバスD
806 :プログラムアドレスバスE
807 :R/WコントロールC
808 :ウェイト信号(0のときwait)
809 :DSPクロック
902 :アドレスレジスタ_A
903 :アドレスレジスタ_B
918 :アドレスプログラムRAM
922 :データバス
1001 :予想された読込み順序
1002 :DSPの実際の動作順序
1003 :システムクロック
1004 :プログラムアドレスバスA
1005 :DSPリセット(1のときリセット)
1006 :プログラムアドレスバスB
1007 :アドレスレジスタA
1008 :アドレスレジスタB
1009 :ウェイト信号(0のときwait)
1010 :プログラムアドレスバスC
1011 :ダウンロード完了信号(0で完了)
1012 :初期化完了信号
1013 :DSPクロック
Claims (11)
- プログラムの各命令の読み/書きが可能な複数ブロックを有するプログラム記憶装置と;
前記プログラム記憶装置に格納された前記命令を順次実行する演算処理装置と;
前記プログラム記憶装置の前記複数ブロックに,前記命令が格納される前記ブロックの存在個所を示すアドレスをもとに,前記プログラムの各命令を順次前記ブロックへ格納するとともに,前記演算処理装置が,前記ブロックへアクセスすることを制御するアクセス制御装置と;
を備え,
前記アクセス制御装置は,格納選択記憶装置から,前記格納選択記憶装置に格納される,前記命令を切替える格納選択信号を受信することにより,前記演算処理装置をアクセス停止状態へ遷移させることを特徴とする,デジタル信号処理装置。 - 前記アクセス制御装置は,前記演算処理装置が,前記命令が未格納である前記ブロックへアクセスする場合,前記演算処理装置をアクセス停止状態へ遷移させることを特徴とする,請求項1に記載のデジタル信号処理装置。
- 前記アクセス制御装置は,クロック制御装置へ停止信号を送信することにより,前記演算処理装置をアクセス停止状態へ遷移させることを特徴とする,請求項1または2に記載のデジタル信号処理装置。
- 前記アクセス制御装置は,停止解除信号により,前記演算処理装置をアクセス停止状態から解除されることを特徴とする,請求項1,2または3項のうちいずれか1項に記載のデジタル信号処理装置。
- 前記演算処理装置のアクセス停止状態遷移後,前記アクセス制御装置は,前記命令が未格納である前記ブロックに,該当する前記命令が格納されるまで,前記演算処理装置のアクセス停止状態遷移を保持することを特徴とする,請求項1,2,3または4項のうちいずれか1項に記載のデジタル信号処理装置。
- 前記演算処理装置のアクセス停止状態遷移後,前記アクセス制御装置は,停止状態を解除する開始信号に設定されるブロックのアドレスまで順次,前記各命令の格納を行うことを特徴とする,請求項1,2,3,4または5項のうちいずれか1項に記載のデジタル信号処理装置。
- 前記格納選択信号を前記格納選択記憶装置から受信して前記演算処理装置のアクセス停止状態に遷移した後,前記アクセス制御装置は,格納開始信号に設定された前記アドレスから格納終了信号に設定された前記アドレス間のブロック領域に,前記各命令の格納を行うことを特徴とする,請求項1,2,3,4または5のうちいずれか1項に記載のデジタル信号処理装置。
- 前記格納開始信号から前記格納終了信号間における前記各命令が格納された前記アドレス間のブロック領域には,アドレス制御装置により,再度前記命令が格納されないことを特徴とする,請求項7に記載のデジタル信号処理装置。
- 前記演算処理装置のアクセス停止状態遷移後,前記アクセス制御装置は,前記各命令を順次,格納させるとともに,未格納である前記命令を前記ブロックに順次格納させることを特徴とする,請求項1,2,3,4,5,6,7または8項のうちいずれか1項に記載のデジタル信号処理装置。
- 前記アクセス制御装置は,前記命令を格納させる前記ブロックのアドレスの順番が記されたデータ信号を受信するとともに,前記演算処理装置がアクセスした前記ブロックに該当するアドレスとを,アクセスごとに比較し,相違した場合,前記演算処理装置アクセスを停止状態に遷移させることを特徴とする,請求項1,2,3,4,5,6,7,8または9項のうちいずれか1項に記載のデジタル信号処理装置。
- 前記アクセス制御装置は,前記演算処理装置のアクセス停止状態遷移後,前記相違したアドレスに該当するブロックから前記プログラムの各命令の最終アドレスに該当するブロックまで,前記各命令を順次前記各ブロックへ格納することを特徴とする,請求項10に記載のデジタル信号処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002033857A JP3980901B2 (ja) | 2002-02-12 | 2002-02-12 | デジタル信号処理装置 |
US10/252,402 US6981109B2 (en) | 2002-02-12 | 2002-09-24 | Digital signal processor system having programmable random access memory that executes processing during downloading of a program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002033857A JP3980901B2 (ja) | 2002-02-12 | 2002-02-12 | デジタル信号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003233509A JP2003233509A (ja) | 2003-08-22 |
JP3980901B2 true JP3980901B2 (ja) | 2007-09-26 |
Family
ID=27654898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002033857A Expired - Fee Related JP3980901B2 (ja) | 2002-02-12 | 2002-02-12 | デジタル信号処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6981109B2 (ja) |
JP (1) | JP3980901B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3694005B2 (ja) | 2003-05-21 | 2005-09-14 | 沖電気工業株式会社 | デジタル信号処理装置及びデジタル信号処理方法 |
JP4856090B2 (ja) | 2004-11-16 | 2012-01-18 | エヌエックスピー ビー ヴィ | バス通信システム |
US7386708B2 (en) * | 2005-01-13 | 2008-06-10 | Lenovo (Singapore) Pte Ltd. | Secure hardware personalization service |
JP4302078B2 (ja) * | 2005-04-28 | 2009-07-22 | 株式会社東芝 | 電子機器 |
US7613913B2 (en) * | 2006-03-21 | 2009-11-03 | Silicon Laboratories Inc. | Digital architecture using one-time programmable (OTP) memory |
JP4986288B2 (ja) * | 2007-05-01 | 2012-07-25 | 日本システムウエア株式会社 | 組込み装置、その開発システム、開発プログラム、データの転送方法およびデータ構造 |
GB2497154B (en) * | 2012-08-30 | 2013-10-16 | Imagination Tech Ltd | Tile based interleaving and de-interleaving for digital signal processing |
TWI553642B (zh) * | 2013-12-12 | 2016-10-11 | 慧榮科技股份有限公司 | 資料存取命令執行方法以及使用該方法的快閃記憶體裝置 |
CN110659056B (zh) * | 2019-09-28 | 2022-12-13 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Dsp程序在线更新电路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0496163A (ja) * | 1990-08-08 | 1992-03-27 | Nec Corp | Dmaコントローラ |
JPH04257932A (ja) * | 1991-02-13 | 1992-09-14 | Oki Electric Ind Co Ltd | ディジタルシグナルプロセッサのエミュレート用チップ |
US5452434A (en) * | 1992-07-14 | 1995-09-19 | Advanced Micro Devices, Inc. | Clock control for power savings in high performance central processing units |
US5991849A (en) * | 1996-04-10 | 1999-11-23 | Sanyo Electric Co., Ltd | Rewriting protection of a size varying first region of a reprogrammable non-volatile memory |
US6449476B1 (en) * | 1999-03-12 | 2002-09-10 | Qualcomm Incorporated | System and method for independently downloading features into a set of storage locations in a wireless communication device |
JP2003058272A (ja) * | 2001-08-21 | 2003-02-28 | Mitsubishi Electric Corp | 半導体装置およびそれに用いられる半導体チップ |
JP3641448B2 (ja) * | 2001-09-06 | 2005-04-20 | 松下電器産業株式会社 | 演算処理装置 |
JP4136359B2 (ja) * | 2001-11-15 | 2008-08-20 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
-
2002
- 2002-02-12 JP JP2002033857A patent/JP3980901B2/ja not_active Expired - Fee Related
- 2002-09-24 US US10/252,402 patent/US6981109B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003233509A (ja) | 2003-08-22 |
US20030154354A1 (en) | 2003-08-14 |
US6981109B2 (en) | 2005-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2000038060A2 (en) | Interrupt/software-controlled thread processing | |
JPH0795277B2 (ja) | データ処理装置 | |
JP2001265609A (ja) | 演算処理装置 | |
JP3980901B2 (ja) | デジタル信号処理装置 | |
JP5287301B2 (ja) | ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法 | |
JP2875842B2 (ja) | プログラマブルコントローラ | |
JP4388005B2 (ja) | コンテキスト切替え装置 | |
JP3970609B2 (ja) | プロセッサシステム | |
JP3817436B2 (ja) | プロセッサおよびリネーミング装置 | |
KR100321745B1 (ko) | 외부메모리액세스를위한마이크로컨트롤러유닛 | |
JP2004192021A (ja) | マイクロプロセッサ | |
WO2018138975A1 (ja) | 演算処理装置および情報処理システム | |
JPH0447851B2 (ja) | ||
JP3077807B2 (ja) | マイクロコンピュータシステム | |
US20040103267A1 (en) | Data processor having cache memory | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JP4116211B2 (ja) | 集積回路装置 | |
JP3400097B2 (ja) | リクエスト選択装置 | |
JPH10222460A (ja) | データ転送制御装置 | |
JPH10111798A (ja) | 情報処理装置 | |
JP2002268876A (ja) | パイプライン処理方法、及び情報処理装置 | |
JP3828040B2 (ja) | マイクロコンピュータの制御方法 | |
JPH0821027B2 (ja) | A/d変換装置内蔵マイクロコンピュータ | |
JPS6346856B2 (ja) | ||
JPH04199327A (ja) | ディジタル信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070604 |
|
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: 20070626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070628 |
|
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: 20100706 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100706 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100706 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110706 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120706 Year of fee payment: 5 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120706 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120706 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130706 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |