(57)【要約】【課題】  必要な制御情報のみを含んだ任意のビット長の可変長命令を処理可能であり、プログラムメモリを小容量化することが可能なデジタル信号処理装置を提供する。【解決手段】  読み出し制御部５０は、プログラムメモリ１０から可変長命令を含むデータを読み出す。制御情報抽出部６０は、プログラムメモリ１０の読み出しデータから命令を構成する各制御情報を抽出する。その際、命令毎に、先行して抽出した制御情報の内容に基づいて後続の制御情報の有無を判定することにより、命令を構成する全ての制御情報を読み出しデータから抽出し、演算処理部３０に供給する。【選択図】図１
2008083873.tif 000002
【特許請求の範囲】
【請求項１】
命令内に必ず設けられる制御情報である必須制御情報と同一命令内に先行配置された他の制御情報の内容に応じて設けられる制御情報である付加的制御情報とからなる可変長の命令の集合体であるプログラムを記憶するメモリであり、各々所定ビット長のデータを記憶可能な複数のエリアを有し、連続した複数の命令からなるビット列を前記所定ビット長のデータに区切り、連続した複数のエリアに分けて記憶し、読み出しアドレスにより指定されたエリアに記憶したデータを出力するプログラムメモリと、
各種の制御情報により制御され、信号処理のための演算を行う演算処理部と、
前記プログラムメモリに記憶されたプログラムに従って前記演算処理部を制御する制御部とを具備し、
前記制御部は、
前記プログラムメモリに読み出しアドレスを与え、前記プログラムメモリからデータを読み出す読み出し制御部と、
前記プログラムメモリの読み出しデータから命令を構成する各制御情報を抽出する手段であり、命令毎に、先行して抽出した制御情報の内容に基づいて後続の付加的制御情報の有無を判定することにより、命令を構成する全ての制御情報を前記読み出しデータから抽出する制御情報抽出部と
を具備することを特徴とするデジタル信号処理装置。
【請求項２】
前記制御情報抽出部は、前記演算処理部の制御に用いられる全ての種類の制御情報に対応した複数の制御レジスタを具備し、前記プログラムメモリの読み出しデータから１つの制御情報を抽出したとき、前記複数の制御レジスタのうち当該制御情報に対応した制御レジスタに当該制御情報を書き込み、命令実行時、前記複数の制御レジスタに記憶された各制御情報を前記演算処理部に供給することを特徴とする請求項１に記載のデジタル信号処理装置。
【請求項３】
前記制御情報抽出部は、前記プログラムメモリの読み出しデータを先頭のビットから順に処理して制御情報の抽出を行うものであり、一命令分の制御情報の抽出の途中あるいは一命令分の制御情報の抽出の終了時において、現在の読み出しデータを全て処理し終えたとき、前記読み出し制御部にデータ読み出し指令を供給し、
前記読み出し制御部は、前記データ読み出し指令を受け取ったとき、現在の読み出しデータの後続のデータを前記プログラムメモリから読み出すことを特徴とする請求項１または２に記載のデジタル信号処理装置。
【請求項４】
前記制御情報抽出部は、前記プログラムメモリの読み出しデータを順次記憶する第１および第２のレジスタを具備し、前記第２のレジスタに記憶されたデータを先頭のビットから順に処理して制御情報の抽出を行い、次いで、前記第１のレジスタに記憶されたデータを先頭のビットから順に処理して制御情報の抽出を行うものであり、一命令分の制御情報の抽出を終えたとき、最後に処理したビットが前記第１のレジスタに記憶されたデータのビットである場合には、前記読み出し制御部にデータ読み出し指令を供給し、
前記読み出し制御部は、前記データ読み出し指令を受け取ったとき、前記プログラムメモリの読み出しデータの後続のデータを前記プログラムメモリから読み出し、前記第１のレジスタから第２のレジスタへのデータのシフトおよび前記第１のレジスタへの新たな読み出しデータの書き込みを行わせることを特徴とする請求項１または２に記載のデジタル信号処理装置。
【請求項５】
前記命令は、後続の命令が前記プログラムメモリの２つのエリアに跨って配置されているか否かを示す第１の命令状態ビットを含み、
前記制御情報抽出部は、前記プログラムメモリの読み出しデータを記憶するレジスタを具備し、前記レジスタに記憶されたデータを先頭のビットから順に処理して制御情報の抽出を行い、次いで、前記プログラムメモリの読み出しデータを先頭のビットから順に処理して制御情報の抽出を行うものであり、一命令分の制御情報の抽出を終えたとき、最後に処理したビットが前記プログラムメモリの読み出しデータのビットであり、かつ、後続の命令が２つのエリアに跨って配置されていることを制御情報の抽出を終えた命令に含まれる第１の命令状態ビットが示している場合に、前記読み出し制御部にデータ読み出し指令を供給し、
前記読み出し制御部は、前記データ読み出し指令を受け取ったとき、前記プログラムメモリの読み出しデータを前記レジスタに書き込み、前記読み出しデータの後続のデータを前記プログラムメモリから読み出すことを特徴とする請求項１または２に記載のデジタル信号処理装置。
【請求項６】
前記命令は、後続の命令が前記プログラムメモリのエリアの先頭から始まるか否かを示す第２の命令状態ビットを含み、
前記制御情報抽出部は、一命令分の制御情報の抽出を終えたとき、当該命令に後続の命令が前記プログラムメモリのエリアの先頭から始まることを示す前記第２の命令状態ビットが含まれている場合に、前記読み出し制御部にデータ読み出し指令を供給するとともに、後続の命令の制御情報の抽出を新たな読み出しデータの先頭から開始させる制御を行うことを特徴とする請求項３〜５のいずれか１の請求項に記載のデジタル信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、オーディオ機器等に好適なデジタル信号処理装置に関する。
【背景技術】
【０００２】
周知の通り、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ；デジタル信号処理装置）は、所定時間長のサンプリング周期毎に、プログラムメモリに記憶されたプログラムを実行し、入力信号に対する信号処理を実行するプロセッサである。近年、ＤＳＰはその用途が広がり、最近では携帯電話機等の携帯型電子機器にも搭載されるようになってきている。この種のＤＳＰは、低価格であり、かつ、低消費電力であることが求められる。
【特許文献１】特開平３−５３３２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ＤＳＰが実行するプログラムは、一連の命令の集合体であり、個々の命令は、ＤＳＰ内において信号処理のための演算を行う演算処理部に対する各種の制御情報の集合体である。ここで、ＤＳＰに多彩な信号処理を行わせようとすると、信号処理のための制御情報の種類が増える。しかし、制御情報の種類を増やすと、制御情報の集合体である一命令のビット長が長くなるため、プログラムメモリの大容量化を招き、ＤＳＰの低価格化、低消費電力化が困難になる。一方、多彩な信号処理を行わせるために多くの種類の制御情報を設けることが必要であったとしても、それらの全ての種類の制御情報が全ての種類の命令に必要である訳ではない。例えば係数メモリのアクセスを行わない命令の場合、係数メモリに対する読み出しアドレス等の制御情報は不要であるので命令に含める必要はない。そこで、プログラムメモリの大容量化を回避するために、ＤＳＰに実行させる命令を可変長命令とし、ＤＳＰを可変長命令の処理が可能な構成とすることが考えられる。これまでに提案されてきた可変長命令に関する技術として、例えば特許文献１に開示されているように、可変長命令のビット長を所定の単位長の整数倍とするものがある。この種の技術によれば、比較的簡単な制御により可変長命令のプログラムメモリからの読み出しおよび実行を行うことができる。しかし、可変長命令のビット長を例えば８ビット等のビット長の整数倍とした場合、命令の種類によっては、必要な制御情報のビット長の総和が単位長の整数倍より小さく、可変長命令中に制御に用いられない無駄なビットが生じることがある。プログラムを構成する命令数が多い場合には、このような無駄なビットの全体量が大きなものとなり、プログラムメモリが大容量化してしまう。
【０００４】
この発明は、以上説明した事情に鑑みてなされたものであり、必要な制御情報のみを含んだ任意のビット長の可変長命令を処理可能であり、プログラムメモリを小容量化することが可能なデジタル信号処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、命令内に必ず設けられる制御情報である必須制御情報と同一命令内に先行配置された他の制御情報の内容に応じて設けられる制御情報である付加的制御情報とからなる可変長の命令の集合体であるプログラムを記憶するメモリであり、各々所定ビット長のデータを記憶可能な複数のエリアを有し、連続した複数の命令からなるビット列を前記所定ビット長のデータに区切り、連続した複数のエリアに分けて記憶し、読み出しアドレスにより指定されたエリアに記憶したデータを出力するプログラムメモリと、各種の制御情報により制御され、信号処理のための演算を行う演算処理部と、前記プログラムメモリに記憶されたプログラムに従って前記演算処理部を制御する制御部とを具備し、前記制御部は、前記プログラムメモリに読み出しアドレスを与え、前記プログラムメモリからデータを読み出す読み出し制御部と、前記プログラムメモリの読み出しデータから命令を構成する各制御情報を抽出する手段であり、命令毎に、先行して抽出した制御情報の内容に基づいて後続の付加的制御情報の有無を判定することにより、命令を構成する全ての制御情報を前記読み出しデータから抽出する制御情報抽出部とを具備することを特徴とするデジタル信号処理装置を提供する。
かかる発明によれば、読み出し制御部によりプログラムメモリからデータが読み出され、制御情報抽出部によりプログラムメモリの読み出しデータから命令を構成する制御情報が抽出され、演算処理部に供給される。その際、制御情報抽出部は、命令毎に、先行して抽出した制御情報の内容に基づいて後続の付加的制御情報の有無を判定することにより、命令を構成する全ての必須制御情報および付加的制御情報を読み出しデータから抽出する。従って、小容量のプログラムメモリに必要な制御情報のみを含んだ可変長の命令を連続して格納して実行させることができ、デジタル信号処理装置の低コスト化および低消費電力化を図ることができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照し、この発明の実施の形態を説明する。
【０００７】
＜第１実施形態＞
図１は、この発明の第１実施形態であるＤＳＰの構成を示すブロック図である。本実施形態によるＤＳＰは、プログラムメモリ１０と、書き換え制御部２０と、演算処理部３０と、制御部４０とを有している。ここで、プログラムメモリ１０は、各々固有のアドレスを有し、書き換えが可能な複数のエリアを有するメモリであり、例えばＲＡＭにより構成されている。プログラムメモリ１０には、一連の命令の集合体であるプログラムが記憶される。プログラムを構成する個々の命令は、演算処理部３０内の各部を制御するための制御情報の集合体である。書き換え制御部２０は、ＤＳＰ外部から与えられる書き換え用データを用いてプログラムメモリ１０内のプログラムの書き換えを行う回路である。演算処理部３０は、各種の制御情報により制御され、信号処理のための演算を行う回路である。図示のように演算処理部３０は、処理対象であるデジタル信号を一時記憶するためのワークＲＡＭ３１と、フィルタ処理等のための係数を記憶する係数ＲＡＭ３２と、デジタル信号に対する係数の乗加算等の演算処理に用いられる乗算器３３および加算器３４と、演算処理結果を一時記憶するレジスタ３５と、ワークＲＡＭ３１に与える入力データの選択を行うセレクタ３６と、乗算器３３に与える入力データの選択を行うセレクタ３７および３８を有している。制御部４０は、このＤＳＰ全体の制御を行う回路である。本実施形態における制御部４０は、読み出し制御部５０と、制御情報抽出部６０とを有している。読み出し制御部５０は、プログラムメモリ１０の各エリアに記憶された各データを順次読み出す回路である。制御情報抽出部６０は、プログラムメモリ１０の読み出しデータから命令を抽出し、命令を構成する制御情報を演算処理部３０に供給する回路である。
【０００８】
上述したようにプログラムメモリ１０に記憶される個々の命令は、複数種類の制御情報の集合体である。これらの制御情報には必須制御情報と付加的制御情報とがある。必須制御情報は、どの命令にも必ず設けられる制御情報である。付加的制御情報は、同一命令内に先行配置された他の制御情報の内容に応じて設けられる制御情報である。
【０００９】
図２は、演算処理部３０の制御に用いられる全ての種類の制御情報を備えた命令の内容を示している。２ビットの情報ＷＲＳ１−０（ＷＲＳ１およびＷＲＳ０）は、セレクタ３６が選択すべき入力データを指定する情報であり、必須制御情報である。なお、以下では、この情報ＷＲＳ１−０と同様、複数ビットからなる制御情報については、最上位ビットの順位を示す数字と最下位ビットの順位を示す数字とをハイフンで結んだインデックス（情報ＷＲＳ１−０の場合は“１−０”）を最後尾に付した表記を用いる。
【００１０】
制御情報ＸＢＳは、セレクタ３７が選択すべき入力データを指定する情報であり、必須制御情報である。セレクタ３７は、この制御情報ＸＢＳが“０”であるときには固定値０．５を選択し、“１”であるときはワークＲＡＭ３１の読み出しデータを選択する。
【００１１】
制御情報ＷＲＥは、ワークＲＡＭ３１に対するアクセスを許可するイネーブル情報、４ビットの制御情報ＷＲＡＤ３−０はワークＲＡＭ３１に対するアドレス、制御情報ＷＲＷＥは、ワークＲＡＭ３１に対する書き込み許可情報である。制御情報ＸＢＳが“０”であり、ワークＲＡＭ３１の読み出しデータがセレクタ３７によって選択されない場合、制御情報ＷＲＥ、ＷＲＡＤ３−０、ＷＲＷＥは不要であり、省略される。従って、これらの制御情報ＷＲＥ、ＷＲＡＤ３−０、ＷＲＷＥは、制御情報ＸＢＳの内容に応じて要否が定まる付加的制御情報である。また、制御情報ＷＲＥが“０”の場合には、ワークＲＡＭ３１に対するアクセスは行われないので、制御情報ＷＲＡＤ３−０、ＷＲＷＥは不要である。従って、この場合には制御情報ＷＲＡＤ３−０、ＷＲＷＥは省略される。
【００１２】
制御情報ＹＢＳ１−０は、セレクタ３８が選択すべき入力データを指定する情報であり、必須制御情報である。セレクタ３８は、この制御情報ＹＢＳ１−０が“００”であるときには固定値０．５を選択し、“０１”であるときは固定値０を選択し、“１０”であるときには係数ＲＡＭ３２の読み出しデータを選択する。
【００１３】
制御情報ＣＲＥは、係数ＲＡＭ３２の読み出しを許可するイネーブル情報、４ビットの制御情報ＣＲＡＤ３−０は係数ＲＡＭ３２に対するアドレスである。制御情報ＹＢＳ１−０が“１０”以外であり、係数ＲＡＭ３２の読み出しデータがセレクタ３８によって選択されない場合、制御情報ＣＲＥ、ＣＲＡＤ３−０は不要であり、省略される。従って、これらの制御情報ＣＲＥ、ＣＲＡＤ３−０は、制御情報ＹＢＳ１−０の内容に応じて要否が定まる付加的制御情報である。演算処理部３０の制御に用いられ、命令の構成要素となる制御情報は他にもあるが、図面が煩雑になるのを防ぐため、それらの図示は省略されている。
【００１４】
演算処理部３０の制御に用いられる各制御情報は、所定の順序に従って命令内に配置される。各制御情報のうち付加的制御情報は、命令の種類によっては省略される。しかし、命令内に配置される各制御情報の順序が変わることはない。本実施形態では、ある種類の付加的制御命令の要否が他の種類の制御情報（必須制御情報であるか付加的制御情報であるかを問わない）の内容により定まる場合、命令内において後者の制御情報が前、前者の制御情報が後となるように各制御情報の命令内の配置順序が定められている。例えば付加的制御情報ＷＲＥ、ＷＲＡＤ３−０、ＷＲＷＥの要否は必須制御情報ＸＢＳの内容により定まるので、制御情報ＷＲＥ、ＷＲＡＤ３−０、ＷＲＷＥは、制御情報ＸＢＳより後に配置される。また、同じ付加的制御情報同士であっても、制御情報ＷＲＡＤ３−０、ＷＲＷＥの要否は、制御情報ＷＲＥの内容により定まるので、制御情報ＷＲＡＤ３−０、ＷＲＷＥは、制御情報ＷＲＥよりも後に配置される。他の制御情報間の配置順序関係も同様である。
【００１５】
本実施形態において、全ての種類の制御情報を備えた命令のビット長、すなわち、可変長命令の最大ビット長は、図２に示すように、ｍビットである。命令の種類によっては、これらの制御情報の中の幾つかの付加的制御情報が省略される。従って、命令のビット長は、命令の種類により区々となり、プログラムを構成する各命令のビット長も区々となる。本実施形態では、プログラムを構成する一連の命令を連続させたビット列を書き換え用データとして書き換え制御部２０に与えると、書き換え制御部２０は、このビット列をプログラムメモリ１０の１エリアのビット長ｎと同じ長さのデータに区切り、各データをプログラムメモリ１０の各エリアに順次記憶させる。図３には、このようにしてプログラムメモリ１０に格納された一連の命令＃０、＃１、＃２、…が例示されている。
【００１６】
読み出し制御部５０は、このプログラムメモリ１０の各エリアからデータを順次読み出す。そして、制御情報抽出部６０は、このプログラムメモリ１０の読み出しデータから命令を構成する各制御情報を抽出する抽出処理を命令毎に実行する。
【００１７】
図４は、本実施形態における制御部４０の構成を示すブロック図である。この図では、制御部４０における制御情報抽出部６０の詳細な構成が示されている。この図４および前掲図１に示すように、制御情報抽出部６０は、演算処理部３０の制御に用いられる全ての種類の制御情報に対応した制御レジスタ６１−１、６１−２、…を有している。また、図４に示すように、制御情報抽出部６０は、抽出処理部６２を有している。
【００１８】
抽出処理部６２は、プログラムメモリ１０の読み出しデータ（ｎビット）の各ビットの走査を行って命令を構成する制御情報の抽出を行う。さらに詳述すると、抽出処理部６２は、読み出しデータにおいて処理すべきビットの位置（走査位置）を指定するポインタＰを記憶している。抽出処理部６２は、ポインタＰの値を読み出しデータの先頭のビット（ＭＳＢ；第ｎ−１ビット）を示すｎ−１から最後尾のビット（ＬＳＢ；第０ビット）を示す０まで順次更新しつつ、ポインタＰにより指定される走査位置のビットを読み出しデータから抽出し、このようにして順次抽出されるビット列から命令を構成する各制御情報を必須制御情報から順に抽出する。
【００１９】
その際、抽出処理部６２は、命令毎に、先行して抽出した制御情報の内容に基づいて後続の付加的制御情報の有無を判定することにより、命令を構成する全ての必須制御情報および付加的制御情報を読み出しデータから抽出する。
【００２０】
そして、抽出処理部６２は、この抽出の過程において、プログラムメモリ１０の読み出しデータから１つの制御情報を抽出したとき、複数の制御レジスタ６１−１、６１−２、…のうち当該制御情報に対応した制御レジスタに当該制御情報を書き込む。制御情報抽出部６０は、命令の実行時、このようにして複数の制御レジスタ６１−１、６１−２、…に記憶された各制御情報を一括して、あるいは各々に適したタイミング調整を施して演算処理部３０に供給する。
【００２１】
また、抽出処理部６２は、一命令分の制御情報の抽出の途中あるいは一命令分の制御情報の抽出の終了時において、現在の読み出しデータを全て処理し終えたとき、読み出し制御部５０にデータ読み出し指令を供給する。読み出し制御部５０は、このデータ読み出し指令を受け取ったとき、現在の読み出しデータの後続のデータを指定する読み出しアドレスと読み出し指令ＲＥをプログラムメモリ１０に送り、プログラムメモリ１０から後続のデータを読み出す。
【００２２】
図５は本実施形態における各部の動作を示すタイムチャートである。また、図６は本実施形態における抽出処理部６２の動作を示す状態遷移図である。以下、これらを参照し、本実施形態の動作を説明する。
【００２３】
図示は省略したが、サンプリング周期の開始時、読み出し制御部５０は、読み出しアドレス「０」および読み出し指令ＲＥをプログラムメモリ１０に供給し、アドレス「０」に対応したエリアからデータを読み出す。また、抽出処理部６２は、ポインタＰをｎ−１に初期化する。そして、抽出処理部６２には、図５に示すように、１サンプリング周期よりも短い周期で命令実行クロックφｍが与えられる。抽出処理部６２は、この命令実行クロックφｍをトリガとして、プログラムメモリ１０の読み出しデータから命令を構成する各制御情報を抽出する抽出処理を開始する。この抽出処理の内容を図６に従って説明すると次の通りである。
【００２４】
抽出処理が始まると、抽出処理部６２のステートは、ＷＲＳ１−０抽出ステートＳ１となる。このＷＲＳ１−０抽出ステートＳ１において、抽出処理部６２は、ポインタＰの更新を行いつつ２ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＷＲＳ１−０として制御レジスタ６１−１に格納する。そして、ステートをＸＢＳ抽出ステートＳ２に遷移させる。次にＸＢＳ抽出ステートＳ２になると、抽出処理部６２は、ポインタＰの更新を行いつつ１ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＸＢＳとして制御レジスタ６１−５に格納する。そして、制御レジスタ６１−５に格納された制御情報ＸＢＳが“０”であればステートをＹＢＳ１−０抽出ステートＳ６に遷移させる。その際、制御レジスタ６１−２に制御情報ＷＲＥとして“０”を、制御レジスタ６１−３に制御情報ＷＲＡＤ３−０として“００００”を、制御レジスタ６１−４に制御情報ＷＲＷＥとして“０”を格納する。一方、制御レジスタ６１−５に格納された制御情報ＸＢＳが“１”であればステートをＷＲＥ抽出ステートＳ３に遷移させる。
【００２５】
次にＷＲＥ抽出ステートＳ３になると、ポインタＰの更新を行いつつ１ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＷＲＥとして制御レジスタ６１−２に格納する。そして、制御レジスタ６１−２に格納された制御情報ＷＲＥが“０”であればステートをＹＢＳ１−０抽出ステートＳ６に遷移させる。その際、制御レジスタ６１−３に制御情報ＷＲＡＤ３−０として“００００”を、制御レジスタ６１−４に制御情報ＷＲＷＥとして“０”を格納する。一方、制御レジスタ６１−２に格納された制御情報ＷＲＥが“１”であればステートをＷＲＡＤ３−０抽出ステートＳ４に遷移させる。
【００２６】
次にＷＲＡＤ３−０抽出ステートＳ４になると、ポインタＰの更新を行いつつ４ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＷＲＡＤ３−０として制御レジスタ６１−３に格納する。そして、ステートをＷＲＷＥ抽出ステートＳ５に遷移させる。次にＷＲＷＥ抽出ステートＳ５になると、ポインタＰの更新を行いつつ１ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＷＲＷＥとして制御レジスタ６１−４に格納する。そして、ステートをＹＢＳ１−０抽出ステートＳ６に遷移させる。
【００２７】
次にＹＢＳ１−０抽出ステートＳ６になると、ポインタＰの更新を行いつつ２ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＹＢＳ１−０として制御レジスタ６１−８に格納する。そして、制御レジスタ６１−８に格納された制御情報ＹＢＳ１−０が“１０”でなければステートを他の制御情報を抽出するステートに遷移させる。その際、制御レジスタ６１−６に制御情報ＣＲＥとして“０”を、制御レジスタ６１−７に制御情報ＣＲＡＤ３−０として“００００”を格納する。一方、制御レジスタ６１−８に格納された制御情報ＹＢＳ１−０が“１０”であればステートをＣＲＥ抽出ステートＳ７に遷移させる。
【００２８】
次にＣＲＥ抽出ステートＳ７になると、ポインタＰの更新を行いつつ１ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＣＲＥとして制御レジスタ６１−６に格納する。そして、ステートをＣＲＡＤ３−０抽出ステートＳ８に遷移させる。次にＣＲＡＤ３−０抽出ステートＳ８になると、ポインタＰの更新を行いつつ４ビットのデータをプログラムメモリ１０の読み出しデータから抽出し、制御情報ＣＲＡＤ３−０として制御レジスタ６１−７に格納する。そして、ステートを他の制御情報を抽出するステートに遷移させる。以下、同様のことを繰り返すことにより、抽出処理部６２は、プログラムメモリ１０の読み出しデータに含まれる命令を構成する全ての制御情報を抽出し、該当する制御レジスタに格納する。
【００２９】
抽出処理部６２は、以上説明した抽出処理を、図５に示すように、命令実行クロックφｍが与えられる毎に実行する。命令クロックφｍに応じて開始された抽出処理により、一命令分の制御情報がプログラムメモリ１０の読み出しデータから抽出され、制御レジスタに格納されると、それらの制御情報は、図５に示すように、次の命令実行クロックφｍに応じて演算処理部３０に供給され、命令が実行される。
【００３０】
図５にはポインタＰの変化の様子が示されている。上述したように、ポインタＰはプログラムメモリ１０の読み出しデータから制御情報が抽出されるのに応じてデクリメントされるため、図５に示すように、次第に低下してゆく。従って、抽出処理部６２が一命令分の制御情報の抽出をしている途中において、プログラムメモリ１０の読み出しデータの最後のビットの抽出を終え、ポインタＰの値が０を下回る場合が生じる（時刻ｔ１１参照）。例えば図３に示す例では、命令＃１がアドレス「０」のエリアとアドレス「１」のエリアに跨って記憶されているため、この命令＃１の制御情報の抽出処理の途中においてポインタＰが０を下回る。この場合、抽出処理部６２は、抽出処理を中断し、データ読み出し指令を読み出し制御部５０に供給し、ポインタＰをｎ−１に戻す。読み出し制御部５０は、このデータ読み出し指令を受け取ると、プログラムメモリ１０に対する読み出しアドレスを１だけ増加させ、読み出し指令ＲＥをプログラムメモリ１０に送り、後続のデータを読み出す。そして、抽出処理部６２は、抽出処理を再開し、抽出未了の制御情報をプログラムメモリ１０の新たな読み出しデータから抽出するのである。
【００３１】
なお、図５では、図示を省略したが、抽出処理部６２がプログラムメモリ１０の読み出しデータの最後のビットの処理を終えたとき、一命令分の全ての制御情報の抽出が完了する、ということも起こり得る。その場合は、抽出処理部６２は、一命令分の全ての制御情報の抽出が完了したときにデータ読み出し指令を読み出し制御部５０に送り、ポインタＰをｎ−１に設定する。また、これも図示は省略したが、一命令分の全ての制御情報のビット長如何によっては、一命令分の全ての制御情報の抽出処理を完了するまでの間にプログラムメモリ１０からのデータ読み出しが２回以上行われることもあり得る。このような事態の発生が好ましくない場合、プログラムメモリ１０の各エリアに記憶されるデータのビット長ｎは、プログラムメモリ１０に記憶され得る可変長命令の最大ビット長をｍとした場合に、ｎ≧ｍなる条件を満たすように決定すればよい。このようにｎおよびｍの関係を定めると、一命令分の全ての制御情報の抽出処理を完了するまでの間にプログラムメモリ１０からのデータ読み出しが行われる回数が１回以内となることが保障される。
【００３２】
以上のような処理が１サンプリング周期の間に繰り返され、プログラムメモリ１０に記憶された１つのプログラムを構成する全命令が実行される。そして、新たなサンプリング周期が始まると、アドレス「０」に戻って、プログラムメモリ１０からデータを読み出し、読み出しデータから命令を抽出して実行する処理が繰り返される。
【００３３】
以上説明したように、本実施形態によれば、演算処理部３０の制御に必要な制御情報のみからなる任意のビット長の命令をプログラムメモリ１０に記憶させ、その読み出しおよび実行を行わせることが可能であるので、ＤＳＰに多彩な信号処理を行わせる場合でもプログラムメモリ１０を小容量化することが可能となり、ＤＳＰの低コスト化および低消費電力化が可能となる。
【００３４】
＜第２実施形態＞
次に、この発明の第２実施形態によるＤＳＰについて説明する。本実施形態によるＤＳＰは、上記第１実施形態における制御部４０を図７に示す制御部４０Ａに置き換えたものである。この制御部４０Ａは、読み出し制御部５０Ａと、制御情報抽出部６０Ａとを有する。制御情報抽出部６０Ａは、上記第１実施形態と同様な複数の制御レジスタ６１−１、６１−２、…を有するとともに、抽出処理部６２Ａと、第１レジスタ６３−１と、第２レジスタ６３−２とを有している。
【００３５】
上記第１実施形態と同様、プログラムメモリ１０の各エリアには、各々ｎビットのデータが記憶される。本実施形態においてプログラムメモリ１０の各エリアに記憶されるデータのビット長ｎは、プログラムメモリ１０に記憶され得る可変長命令の最大ビット長をｍとした場合に、ｎ≧ｍなる条件を満たすように決定されている。第１レジスタ６３−１および第２レジスタ６３−２は、プログラムメモリ１０の各エリアと同様、ｎビットのデータを記憶するレジスタである。第１レジスタ６３−１および第２レジスタ６３−２には、プログラムメモリ１０からデータの読み出しが行われる都度、書き込みパルスＷＰが与えられる。この書き込みパルスＷＰが与えられることにより、第２レジスタ６３−２は、第１レジスタ６３−１の出力データを取り込んで出力し、第１レジスタ６３−１はプログラムメモリ１０の読み出しデータであるｎビットのデータを取り込んで出力する。すなわち、第１レジスタ６３−１および第２レジスタ６３−２は、プログラムメモリ１０から順次読み出されるｎビットのデータを取り込んでシフトするシフトレジスタとして機能する。
【００３６】
抽出処理部６２Ａは、上記第１実施形態の抽出処理部６２と同様、命令実行クロックφｍが与えられる都度、プログラムメモリ１０の読み出しデータから制御情報を抽出する回路である。しかし、本実施形態における抽出処理部６２Ａは、第２レジスタ６３−２に記憶された古い読み出しデータを先頭のビットから順に処理して制御情報の抽出を行い、次いで、第１レジスタ６３−１に記憶された新しい読み出しデータを先頭のビットから順に処理して制御情報の抽出を行う、という態様で制御情報の抽出を行う。さらに詳述すると、抽出処理部６２Ａは、上記第１実施形態と同様なポインタＰを有しており、このポインタＰの値を第２レジスタ６３−２の出力データの先頭のビット（ＭＳＢ；第ｎ−１ビット）を示す２ｎ−１から最後尾のビット（ＬＳＢ；第０ビット）を示すｎまで順次変化させ、その後は、第１レジスタ６３−１の出力データの先頭のビット（ＭＳＢ；第ｎ−１ビット）を示すｎ−１から最後尾のビット（ＬＳＢ；第０ビット）を示す０に向けて順次変化させる。そして、ポインタＰにより指定される走査位置のビットを第２レジスタ６３−２または第１レジスタ６３−１の出力データから抽出し、このようにして順次抽出されるビット列から命令を構成する各制御情報を抽出する。この制御情報の抽出処理の内容は、上記第１実施形態において図６を参照して説明したものと基本的に同様である。
【００３７】
抽出処理部６２Ａは、一命令分の制御情報の抽出を終えたとき、ポインタＰの値がｎ−１より小さいか否か、すなわち、最後に処理したビットが第１レジスタ６３−１の出力データのビットであるかの判定を行う。この判定結果が肯定的な場合、抽出処理部６２Ａは、データ読み出し指令を読み出し制御部５０Ａに送るとともにポインタＰをｎだけ増加させる（すなわち、走査位置が第１レジスタ６３−１の出力データの第ｋビットにある場合にはこの走査位置を第２レジスタ６３−２の出力データの第ｋビットに移動させ）。一方、上記判定結果が否定的である場合には何も行わない。
【００３８】
読み出し制御部５０Ａは、データ読み出し指令を受け取ったとき、プログラムメモリ１０に与える読み出しアドレスをインクリメントするとともに読み出し指令ＲＥを出力し、現在の読み出しデータの後続のデータをプログラムメモリ１０から読み出す。次に読み出し制御部５０Ａは、書き込みパルスＷＰを出力し、第１レジスタ６３−１から第２レジスタ６３−２へのデータのシフトおよび第１レジスタ６３−１への新たな読み出しデータの書き込みを行わせる。
【００３９】
図８は本実施形態における各部の動作を示すタイムチャートである。図８に示すように、ポインタＰは、制御情報の抽出処理の過程において２ｎ−１から０に向けて変化する。そして、抽出処理部６２Ａは、一命令分の制御情報の抽出が完了した時点において、ポインタＰの値がｎ−１より小さいか否かを判断し、この判断結果が否定的であれば、何も行うことなく、次の命令実行クロックφｍの発生まで待機する（時刻ｔ２１参照）。一方、一命令分の制御情報の抽出が完了した時点において、ポインタＰの値がｎ−１より小さい場合、すなわち、制御情報の抽出処理において最後に処理したビットが第１レジスタ６３−１の出力データのビットであった場合には、データ読み出し指令を読み出し制御部５０Ａに送り、ポインタＰをｎだけ増加させる（時刻ｔ２２参照）。このデータ読み出し指令を受け取った読み出し制御部５０Ａは、プログラムメモリ１０から後続のデータを読み出し、第１レジスタ６３−１および第２レジスタ６３−２にその読み出しデータの取り込み動作およびシフト動作を行わせる。
【００４０】
上述した通り、本実施形態では、プログラムメモリ１０の各エリアに記憶されるデータのビット長ｎと可変長命令の最大ビット長ｍとの間にはｎ≧ｍなる関係があるため、１つの命令がプログラムメモリ１０内の２つのエリアを跨いで配置されることはあっても、３つ以上のエリアを跨いで配置されることはない。また、本実施形態では、制御情報の抽出処理の終了時点において、最後に抽出したビットが第１レジスタ６３−１の出力データのものである場合には、第１レジスタ６３−１から第２レジスタ６３−２へのデータのシフトと後続の読み出しデータの第１レジスタ６３−１へ補充が行われる。このため、制御情報の抽出処理の開始時点において、抽出対象である命令の先頭ビットは必ず第２レジスタ６３−２内に格納されている。従って、本実施形態における制御情報の抽出処理では、その命令の全ビットが第２レジスタ６３−２の出力データの中からまたは第２レジスタ６３−２および第１レジスタ６３−１の両出力データから抽出されることが保障されている。
【００４１】
本実施形態においても、上記第１実施形態と同様な効果が得られる。また、本実施形態では、一命令分の制御情報の抽出処理の途中においてプログラムメモリ１０からのデータ読み出しが行われることはないので、制御情報の抽出処理の中断および再開の制御が不要であり、その制御のための回路を省略することができるという利点がある。また、本実施形態では、抽出対象である命令の全制御情報は第２レジスタ６３−２および第１レジスタ６３−１の両出力データの中に収まっていることが保障されているので、新たな読み出しデータの補充が必要か否かを判定するためのポインタＰの判定は、制御情報の抽出処理の終了時点において行えばよい。従って、ポインタＰの更新は、第２レジスタ６３−２または第１レジスタ６３−１の出力データから１ビット抽出する毎に行う必要はなく、例えば第２レジスタ６３−２または第１レジスタ６３−１の出力データからｋビットの制御情報を抽出した場合にはポインタＰをｋだけ減らす、といった態様でポインタＰの更新を行ってもよい。
【００４２】
＜第３実施形態＞
次に、この発明の第３実施形態によるＤＳＰについて説明する。本実施形態によるＤＳＰは、上記第１実施形態における制御部４０を図９に示す制御部４０Ｂに置き換えたものである。この制御部４０Ｂは、読み出し制御部５０Ｂと、制御情報抽出部６０Ｂとを有する。制御情報抽出部６０Ｂは、上記第１実施形態と同様な複数の制御レジスタ６１−１、６１−２、…を有するとともに、抽出処理部６２Ｂと、レジスタ６３とを有している。
【００４３】
上記第１実施形態と同様、プログラムメモリ１０の各エリアには、各々ｎビットのデータが記憶される。上記第２実施形態と同様、本実施形態においてプログラムメモリ１０の各エリアに記憶されるデータのビット長ｎと、プログラムメモリ１０に記憶され得る可変長命令の最大ビット長ｍとの間には、ｎ≧ｍなる関係がある。レジスタ６３は、プログラムメモリ１０の各エリアと同様、ｎビットのデータを記憶するレジスタである。プログラムメモリ１０からデータの読み出しが行われる場合、それに先立って、レジスタ６３には書き込みパルスＷＰが与えられる。この書き込みパルスＷＰが与えられることにより、レジスタ６３は、その時点におけるプログラムメモリ１０の読み出しデータであるｎビットのデータを取り込んで出力する。すなわち、レジスタ６３は、プログラムメモリ１０の現在の読み出しデータの１つ前の読み出しデータを記憶する役割を果たす。
【００４４】
本実施形態では、プログラムメモリ１０に記憶される命令のフォーマットに変更が加えられている。図１０に示すように、本実施形態においてプログラムメモリ１０に記憶される個々の命令はその最後尾に１ビットの命令状態ビットＮＡ１を含む。この命令状態ビットＮＡ１は、当該命令の後続の命令の全ビットがプログラムメモリ１０内において１つのエリアに収まっているか（ＮＡ１＝“０”）、２つのエリアに跨って配置されているか（ＮＡ１＝“１”）を示すビットである。例えば図３において、命令＃０の後続の命令＃１は、アドレス「０」のエリアとアドレス「１」のエリアに跨って配置されている。従って、命令＃０における命令状態ビットＮＡ１は“１”とされる。一方、命令＃２の後続の命令＃３は、その全ビットがアドレス「２」のエリアに収まっている。従って、命令＃２における命令状態ビットＮＡ１は“０”とされる。
【００４５】
このような命令状態ビットＮＡ１を如何にして命令内に設定するかに関しては幾つかの態様が考えられる。ある好ましい態様では、プログラムの作成時、１エリア当たりのビット長がｎであるプログラムメモリ１０に格納されることを想定し、個々の命令に含める命令状態ビットＮＡ１の“０”／“１”を決定する。他の好ましい態様では、書き換え制御部２０が命令状態ビットＮＡ１を含まない可変長命令を１個ずつ外部から受け取り、各命令の最後尾に命令状態ビットＮＡ１を付加してビット列を構成し、ビット列をｎビットのデータに区切ってプログラムメモリ１０に順次書き込む。その際に、命令毎に後続の命令がその途中で別々のデータに区切られたか否かを判定し、命令状態ビットＮＡ１の“１”／“０”を決定する。
【００４６】
抽出処理部６２Ｂは、命令実行クロックφｍが与えられる都度、プログラムメモリ１０の読み出しデータから制御情報を抽出する回路である。本実施形態における抽出処理部６２Ｂは、レジスタ６３に記憶された古い読み出しデータを先頭のビットから順に処理して制御情報の抽出を行い、次いで、プログラムメモリ１０の現在の読み出しデータを先頭のビットから順に処理して制御情報の抽出を行う、という態様で制御情報の抽出を行う。さらに詳述すると、抽出処理部６２Ｂは、ポインタＰの値をレジスタ６３の出力データの先頭のビット（ＭＳＢ；第ｎ−１ビット）を示す２ｎ−１から最後尾のビット（ＬＳＢ；第０ビット）を示すｎまで順次変化させ、その後は、プログラムメモリ１０の読み出しデータの先頭のビット（ＭＳＢ；第ｎ−１ビット）を示すｎ−１から最後尾のビット（ＬＳＢ；第０ビット）を示す０に向けて順次変化させる。そして、ポインタＰにより指定される走査位置のビットをレジスタ６３の出力データまたはプログラムメモリ１０の読み出しデータから抽出し、このようにして順次抽出されるビット列から命令を構成する各制御情報を抽出する。命令状態ビットＮＡ１は、演算処理部３０の制御に用いられる情報ではないが、本実施形態における制御情報の抽出処理では、これを制御情報に含めて取り扱う。この制御情報の抽出処理の内容は、上記第１実施形態において図６を参照して説明したものと基本的に同様である。
【００４７】
また、抽出処理部６２Ｂは、一命令分の制御情報を抽出し、制御情報の抽出処理を終えたとき、抽出処理において最後に処理したビットがプログラムメモリ１０の現在の読み出しデータのビットであり、かつ、後続の命令が２つのエリアに跨って配置されていることを制御情報の抽出を終えた命令に含まれる命令状態ビットＮＡ１が示しているか否かを判定する。この判定結果が肯定的である場合に、抽出処理部６２Ｂは、読み出し制御部５０Ｂにデータ読み出し指令を送るとともに、ポインタＰをｎだけ増加させる。一方、上記判定結果が否定的である場合には、抽出処理部６２Ｂは、何もせず、次の命令実行クロックφｍの発生まで待機する。読み出し制御部５０Ｂは、データ読み出し指令を受け取ったとき、書き込みパルスＷＰをレジスタ６３に与え、プログラムメモリ１０の現在の読み出しデータをレジスタ６３に書き込み、次いで読み出しアドレスをインクリメントするとともに読み出し指令ＲＥを出力し、現在の読み出しデータの後続のデータをプログラムメモリ１０から読み出す。
【００４８】
図１１は本実施形態における各部の動作を示すタイムチャートである。この動作例において、各々命令実行クロックφｍをトリガとして開始された制御情報の抽出処理が、時刻ｔ３１、ｔ３２、ｔ３３、ｔ３４において各々終了している。ここで、時刻ｔ３１、ｔ３３では、その直前の抽出処理において最後に抽出されたビットがプログラムメモリ１０の読み出しデータのものであるが、抽出された命令に含まれる命令状態ビットＮＡ１が“０”となっている。このため、時刻ｔ３１、ｔ３３においてデータ読み出し指令の発生およびポインタＰの更新は行われない。これに対し、時刻ｔ３２、ｔ３４では、その直前の抽出処理において最後に抽出されたビットがプログラムメモリ１０の読み出しデータのものであり、かつ、抽出された命令に含まれる命令状態ビットＮＡ１が“１”となっている。このため、時刻ｔ３２、ｔ３４においてはデータ読み出し指令が発生され、ポインタＰがｎだけ増加される。
【００４９】
本実施形態においても上記第２実施形態と同様な効果が得られる。また、本実施形態の場合、プログラムメモリ１０の読み出しデータを記憶するレジスタが１段で済むため、第２実施形態に比べ、回路を小規模化し、消費電力を低くすることができるという利点がある。
【００５０】
＜第４実施形態＞
次に、この発明の第４実施形態によるＤＳＰについて説明する。図１２は本実施形態においてプログラムメモリ１０に格納された命令群を例示するものである。プログラムメモリ１０は、エリア単位でしかデータの書き換えを行うことができない。そこで、本実施形態では、プログラムメモリ１０内の部分的な命令書き換えを可能にするため、プログラムを構成する命令群を複数のブロックに分け、各ブロックをプログラムメモリ１０の１または複数の連続したエリアに格納する。図１２に示す例では、命令＃０、＃１が１つのブロックを構成し、命令＃２〜＃４が１つのブロックを構成している。図１２に例示するように、各ブロックをプログラムメモリ１０の１または複数の連続したエリアに格納する際には、各ブロックの先頭の命令をエリアの先頭に位置させ、同一ブロック内では各命令を隙間なく詰めて格納する。書き換え制御部２０は、外部装置からの要求に従い、ブロック単位で命令の書き換えを行う。
【００５１】
このような態様で各命令をプログラムメモリ１０に格納した場合、プログラムメモリ１０内において、あるブロックの最後の命令（例えば命令＃１）と次のブロックの最初の命令（例えば命令＃２）との間に隙間が生じる。そこで、本実施形態では、図１３に示すように、プログラムメモリ１０に格納する個々の命令の最後尾に命令状態ビットＮＡ２を設ける。この命令状態ビットＮＡ２は、プログラムメモリ１０内において後続の命令が当該命令の後に続けて配置されているか（ＮＡ２＝“０”）、次のエリアの先頭から置かれているか（ＮＡ＝“１”）を示すビットである。図１２に示す例では、命令＃０、＃２、＃３等は、命令状態ビットＮＡ２が“０”とされる。一方、命令＃１、＃４は、命令状態ビットＮＡ２が“１”とされる。この命令状態ビットＮＡ２は、演算処理部３０（図１）の制御に用いられる情報ではないが、本実施形態における制御情報の抽出処理では、これを制御情報に含めて取り扱う。
【００５２】
本実施形態において、上記各実施形態における抽出処理部に相当する回路は、制御情報の抽出処理を終えたとき、抽出した命令状態ビットＮＡ２の内容を判定し、後続の命令がプログラムメモリ１０のエリアの先頭から始まることを示す命令状態ビットＮＡ２が示している場合に、現在の読み出しデータの次のデータをプログラムメモリ１０から読み出させ、後続の命令の制御情報の抽出を新たな読み出しデータの先頭から開始させる制御を行う。
【００５３】
本実施形態は、以下説明するように、上記第１〜第３実施形態のいずれにも適用可能である。
【００５４】
＜＜本実施形態を上記第１実施形態に適用した態様＞＞
この態様において、抽出処理部６２（図４）は、制御情報の抽出処理を終えたとき、抽出した命令状態ビットＮＡ２の内容を判定する。そして、ＮＡ２＝“０”である場合には、何も行わない。一方、ＮＡ２＝“１”である場合には、読み出し制御部５０にデータ読み出し指令を送って後続のデータの読み出しを行わせ、ポインタＰをｎ−１に設定する。これにより、次回の命令実行クロックφｍの発生時、新たな読み出しデータの先頭ビットから始まる次の命令（ブロックの最初の命令）の制御情報の抽出が可能になる。
【００５５】
＜＜本実施形態を上記第２実施形態に適用した態様＞＞
この態様において、抽出処理部６２Ａ（図７）は、制御情報の抽出処理を終えたとき、抽出した命令状態ビットＮＡ２の内容を判定する。そして、ＮＡ２＝“０”である場合には、何も行わない。ＮＡ２＝“１”である場合の動作には２通りある。まず、制御情報の抽出処理において最後に抽出したビットが第２レジスタ６３−２の出力データのビットである場合、後続の命令（命令状態ビットＮＡ２＝“１”を含んだ命令の後の命令）は、第１レジスタ６３−１の出力データの先頭部分にある。そこで、抽出処理部６２ＡはポインタＰをｎ−１とする。一方、制御情報の抽出処理において最後に抽出したビットが第１レジスタ６３−１の出力データのビットである場合、後続の命令は、未だプログラムメモリ１０から読み出されていない。そこで、抽出処理部６２Ａは、データ読み出し指令を読み出し制御部５０Ａに送り、後続の命令を先頭に含むデータをプログラムメモリ１０から読み出させて第１レジスタ６３−１に書き込ませ、ポインタＰをｎ−１とする。
【００５６】
＜＜本実施形態を上記第３実施形態に適用した態様＞＞
この態様において、抽出処理部６２Ｂ（図９）は、制御情報の抽出処理を終えたとき、抽出した命令状態ビットＮＡ１およびＮＡ２のうち命令状態ビットＮＡ２の内容を最初に判定する。そして、ＮＡ２＝“０”である場合には、命令状態ビットＮＡ１の内容を判定し、その判定結果に従って各部の制御を行う。この制御の態様は上記第３実施形態と同様である。ＮＡ２＝“１”である場合の動作には２通りある。まず、制御情報の抽出処理において最後に抽出したビットがレジスタ６３の出力データのビットである場合、後続の命令（命令状態ビットＮＡ２＝“１”を含んだ命令の後の命令）は、プログラムメモリ１０の現在の読み出しデータの先頭部分にある。そこで、抽出処理部６２ＢはポインタＰをｎ−１とする。一方、制御情報の抽出処理において最後に抽出したビットがプログラムメモリ１０の現在の読み出しデータのビットである場合、後続の命令は、未だプログラムメモリ１０から読み出されていない。そこで、抽出処理部６２Ｂは、データ読み出し指令を読み出し制御部５０Ｂに送り、後続の命令を先頭に含むデータをプログラムメモリ１０から読み出させ、ポインタＰをｎ−１とする。
【００５７】
以上説明したように、本実施形態においても上記第１〜第３実施形態と同様な効果が得られる。また、本実施形態には、プログラムメモリ１０に格納された命令群をブロック単位で書き換えることができるという利点がある。
【図面の簡単な説明】
【００５８】
【図１】この発明の第１実施形態であるＤＳＰの構成を示すブロック図である。
【図２】同実施形態において命令を構成する各制御情報を示す図である。
【図３】同実施形態においてプログラムメモリ１０に記憶された命令群を示す図である。
【図４】同実施形態における制御部４０の構成を示すブロック図である。
【図５】同実施形態における各部の動作を示すタイムチャートである。
【図６】同実施形態における抽出処理部６２の動作を示す状態遷移図である。
【図７】この発明の第２実施形態であるＤＳＰの制御部４０Ａの構成を示すブロック図である。
【図８】同実施形態における各部の動作を示すタイムチャートである。
【図９】この発明の第３実施形態であるＤＳＰの制御部４０Ｂの構成を示すブロック図である。
【図１０】同実施形態における命令のフォーマットを示す図である。
【図１１】同実施形態における各部の動作を示すタイムチャートである。
【図１２】この発明の第４実施形態においてプログラムメモリ１０に記憶された命令群を示す図である。
【図１３】同実施形態における命令のフォーマットを示す図である。
【符号の説明】
【００５９】
１０……プログラムメモリ、２０……書き換え制御部、３０……演算処理部、３１……ワークＲＡＭ、３２……係数ＲＡＭ、３３……乗算器、３４……加算器、３５……レジスタ、３６〜３８……セレクタ、４０，４０Ａ，４０Ｂ……制御部、５０，５０Ａ，５０Ｂ……読み出し制御部、６０，６０Ａ，６０Ｂ……制御情報抽出部、６１−１〜６１−８……制御レジスタ、６２，６２Ａ，６２Ｂ……抽出処理部、６３−１……第１レジスタ、６３−２……第２レジスタ、６３……レジスタ。
【図１】
2008083873.tif 000003
【図２】
2008083873.tif 000004
【図３】
2008083873.tif 000005
【図４】
2008083873.tif 000006
【図５】
2008083873.tif 000007
【図６】
2008083873.tif 000008
【図７】
2008083873.tif 000009
【図８】
2008083873.tif 000010
【図９】
2008083873.tif 000011
【図１０】
2008083873.tif 000012
【図１１】
2008083873.tif 000013
【図１２】
2008083873.tif 000014
【図１３】
2008083873.tif 000015