(57)【要約】【課題】  命令コード数を低減すると共に命令デコーダの回路規模を低減する。【解決手段】  モード情報保持部が第１又は第２モード情報を保持する。ビット長変換部は、入力データのビット長を長く又は短くして出力する。長くする場合において、前記モード情報保持部に前記第１モード情報が保持されている場合は、入力データを出力ビット長の下位側へ詰め、余った前記出力ビット長の上位側に最上位ビット値またはゼロを入力し、一方、前記第２モード情報が保持されている場合は、入力データを出力ビット長の上位側へ詰め、余った前記出力ビット長の下位側にゼロを入力する。短くする場合において、前記モード情報保持部に前記第１モード情報が保持されている場合は、入力データの最下位ビットから出力ビット長分のビットを抽出し、一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、入力データの最上位ビットから出力ビット長分のビットを抽出する。【選択図】  図１
2005310051.tif 000002
【特許請求の範囲】
【請求項１】
第１モード情報又は第２モード情報を保持したモード情報保持部と、
第１ビット長の第１データが入力され、入力された前記第１データを、前記第１ビット長よりも長い第２ビット長の第２データに変換して出力するビット長変換部であって、
前記モード情報保持部に前記第１モード情報が保持されている場合は、入力された前記第１データを前記第２ビット長の下位側へ詰め、余った前記第２ビット長の上位側に前記第１データの最上位ビット値を拡張したものを前記第２データとして出力する第１モード処理を行ない、
一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、前記第１データを前記第２ビット長の上位側へ詰め、余った前記第２ビット長の下位側にゼロを入力したものを前記第２データとして出力する第２モード処理を行なうビット長変換部と、
を備えたデジタル信号処理装置。
【請求項２】
第１モード情報又は第２モード情報を保持したモード情報保持部と、
第１ビット長の第１データが入力され、入力された前記第１データを、前記第１ビット長よりも長い第２ビット長の第２データに変換して出力するビット長変換部であって、
前記モード情報保持部に前記第１モード情報が保持されている場合は、入力された前記第１データを前記第２ビット長の下位側へ詰め、余った前記第２ビット長の上位側にゼロを入力したものを前記第２データとして出力する第１モード処理を行ない、
一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、前記第１データを前記第２ビット長の上位側へ詰め、余った前記第２ビット長の下位側にゼロを入力したものを前記第２データとして出力する第２モード処理を行なうビット長変換部と、
を備えたデジタル信号処理装置。
【請求項３】
第１モード情報又は第２モード情報を保持したモード情報保持部と、
第１ビット長の第１データが入力され、入力された前記第１データを、前記第１ビット長よりも短い第２ビット長の第２データに変換して出力するビット長変換部であって、
前記モード情報保持部に前記第１モード情報が保持されている場合は、入力された前記第１データの最下位ビットから前記第２ビット長分のビットを抽出して前記第２データとして出力する第１モード処理を行ない、
一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、前記第１データの最上位ビットから前記第２ビット長分のビットを抽出して前記第２データとして出力する第２モード処理を行なうビット長変換部と、
を備えたデジタル信号処理装置。
【請求項４】
複数の前記ビット長変換部を備え、
さらに、各前記ビット長変換部により出力された前記第２データを用いて演算処理を行なう演算部を備えたことを特徴とする請求項１乃至３のいずれかに記載のデジタル信号処理装置。
【請求項５】
前記ビット長変換部は、前記第１データの送出元が、第１モード専用レジスタ又は第２モード専用レジスタであることを示す信号を受け取った場合は、前記モード情報保持部に保持された情報の内容に拘わらず、前記第１モード処理又は前記第２モード処理を実行することを特徴とする請求項１乃至４のいずれかに記載のデジタル信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、固定小数点方式による整数データ及び実数データの両方のデータを処理可能なデジタル信号処理装置に関する。
【背景技術】
【０００２】
固定小数点方式による整数データ（-2(n-1)≦x＜2(n-1)）（先頭ビットが符号ビットの場合）の演算と、固定小数点方式による実数データ（-1≦x＜1）（先頭ビットが符号ビットの場合）の演算との両方の演算を実行可能なタイプの信号処理装置がある。このタイプの信号処理装置では、演算回路（例えば乗算器）へのデータの入力の際、または演算回路からのデータの出力の際に、演算対象となるデータの種類（整数データあるいは実数データ）に応じた処理が必要となる。以下これについて詳しく説明する。
【０００３】
図３１は、固定小数点方式による整数データと実数データの表記例を示す。
【０００４】
図３１に示すように、２進数にて整数データ（-2(n-1)≦x＜2(n-1)）を表現する場合、整数データは、ビット長に対して下位ビット詰めで表現される。これに対し、実数データ（-1≦x＜1）を表現する場合、実数データは、ビット長に対し上位ビット詰めで表現される。
【０００５】
したがって、整数データ（-2(n-1)≦x＜2(n-1)）及び実数データ（-1≦x＜1）に対する演算を同一のデジタル信号処理装置内で実現する場合には、演算回路の入出力部にて、データの種類（整数または実数）に応じて、入力データまたは出力データを上位ビット詰めにするか下位ビット詰めにするかの制御が必要となる。さらに詳しくは以下の通りである。
【０００６】
図３２は、従来のデジタル信号処理装置における乗算器及びその周辺回路を示す。
【０００７】
図３２に示すように、例えば乗算器１０２の構成が１０ビット＊１０ビット＝２０ビットの場合において、８ビットレジスタ（ａレジスタ、ｂレジスタ）からそれぞれ入力データが入力される場合を考える。整数データ（-2(n-1)≦x＜2(n-1)）の演算では上詰め／下詰め回路１０１においてａレジスタからの入力データを下位ビット側へ詰め、空いた上位ビットの２ビットには入力データの符号ビットを拡張してから乗算器１０２へ入力する。一方、実数データ（-1≦x＜1）の演算では、上詰め／下詰め回路１０１において入力データを上位ビット側へ詰め、下位２ビットに“０”データを詰めてから乗算器１０２へ入力する。命令デコーダ１０３が、入力データの種類に応じて上述のように上詰め／下詰め回路１０１を制御する。ｂレジスタから乗算器１０２へのデータ入力の際も上詰め／下詰め回路１０４に対して同じ制御が必要である。
【０００８】
乗算器１０２の出力側においては整数データ（-2(n-1)≦x＜2(n-1)）の演算では、乗算器１０２の出力がそのまま結果となるけれども、実数データ（-1≦x＜1）の演算では、乗算器１０２からのそのままの出力では固定小数点表記とはならない（図３１の下段参照）。このため、乗算器１０２の出力側に配置した上詰め／下詰め回路１０５において、乗算器１０２の出力を１ビット上位側へシフトし下位ビットに“０”を付加する処理が必要となる。この様子を図３３に示す。この様な処理の制御も、命令デコーダ１０３によって行われる。
【０００９】
以上のように、固定小数点方式による整数データ（-2(n-1)≦x＜2(n-1)）及び実数データ（-1≦x＜1）の演算を同一のデジタル信号処理装置内で行なう場合、演算回路（上の例では乗算器）の入出力部においてデータの種類に応じた制御が必要となる。このため、各種演算命令に対して、整数データ（-2(n-1)≦x＜2(n-1)）演算と実数データ（-1≦x＜1）演算とのそれぞれのための命令コードを設ける必要があった。
【００１０】
一方、専用バスや汎用バスを介したレジスタ間のデータ転送においても、整数データ（-2(n-1)≦x＜2(n-1)）の転送と実数データ（-1≦x＜1）の転送とで取り扱いに差が生じる。つまり、転送データの種類に応じて、転送先のビット長に対して転送元のビットを上位ビット詰めにするか下位ビット詰めにするかの制御が必要となる。これについて図３４を用いて詳しく説明する。
【００１１】
図３４は、Half WordレジスタからWordレジスタへデータを転送する手法を説明する図である。
【００１２】
図３４に示すように、転送元のレジスタ内のデータが整数データ（-2(n-1)≦x＜2(n-1)）の場合は、転送先のレジスタの下位ビットに転送元データを詰め、上位ビットへはデータの符号ビットを拡張（転送元のデータが符号なし整数データの場合は符号ビットの変わりに“０”データを付加）する。一方、転送元のレジスタ内のデータが実数データ（-1≦x＜1）である場合は、転送先のレジスタの上位ビットに転送元データを詰め、下位ビットへは“０”データを付加する。このように、レジスタ間転送の際には、転送データが、整数データ（-2(n-1)≦x＜2(n-1)）か実数データ（-1≦x＜1）かにより上位ビット詰めにするか下位ビット詰めにするかの制御が必要となる。このため、レジスタ間でデータ転送を行なう場合、整数データ（-2(n-1)≦x＜2(n-1)）及び実数データ（-1≦x＜1）の各々に対応した命令コードを用意する必要がある。
【００１３】
以上から分かるように、従来においては、整数データ及び実数データの各々用の命令コードを用意する必要があったため、命令コード数が増加し、併せて命令ビット数も増加し、これにより、命令デコーダの回路規模が増大し、ひいては回路の複雑化を招いていた。
【特許文献１】特開平第０９−１７１４５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、命令コード数を低減できると共に命令デコーダの回路規模を低減できるデジタル信号処理装置を提供することにある。
【課題を解決するための手段】
【００１５】
本発明の第１のデジタル信号処理装置は、第１モード情報又は第２モード情報を保持したモード情報保持部と、第１ビット長の第１データが入力され、入力された前記第１データを、前記第１ビット長よりも長い第２ビット長の第２データに変換して出力するビット長変換部であって、前記モード情報保持部に前記第１モード情報が保持されている場合は、入力された前記第１データを前記第２ビット長の下位側へ詰め、余った前記第２ビット長の上位側に前記第１データの最上位ビット値を拡張したものを前記第２データとして出力する第１モード処理を行ない、一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、前記第１データを前記第２ビット長の上位側へ詰め、余った前記第２ビット長の下位側にゼロを入力したものを前記第２データとして出力する第２モード処理を行なうビット長変換部と、を備える。
【００１６】
本発明の第２のデジタル信号処理装置は、第１モード情報又は第２モード情報を保持したモード情報保持部と、第１ビット長の第１データが入力され、入力された前記第１データを、前記第１ビット長よりも長い第２ビット長の第２データに変換して出力するビット長変換部であって、前記モード情報保持部に前記第１モード情報が保持されている場合は、入力された前記第１データを前記第２ビット長の下位側へ詰め、余った前記第２ビット長の上位側にゼロを入力したものを前記第２データとして出力する第１モード処理を行ない、一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、前記第１データを前記第２ビット長の上位側へ詰め、余った前記第２ビット長の下位側にゼロを入力したものを前記第２データとして出力する第２モード処理を行なうビット長変換部と、を備える。
【００１７】
本発明の第３のデジタル信号処理装置は、第１モード情報又は第２モード情報を保持したモード情報保持部と、第１ビット長の第１データが入力され、入力された前記第１データを、前記第１ビット長よりも短い第２ビット長の第２データに変換して出力するビット長変換部であって、前記モード情報保持部に前記第１モード情報が保持されている場合は、入力された前記第１データの最下位ビットから前記第２ビット長分のビットを抽出して前記第２データとして出力する第１モード処理を行ない、一方、前記モード情報保持部に前記第２モード情報が保持されている場合は、前記第１データの最上位ビットから前記第２ビット長分のビットを抽出して前記第２データとして出力する第２モード処理を行なうビット長変換部と、を備える。
【発明の効果】
【００１８】
本発明により、命令コード数を低減できると共に命令デコーダの回路規模を低減できる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【００２０】
（１）第１の実施の形態
図１は、本発明の第１の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００２１】
本デジタル処理装置は、専用レジスタ１０内に格納したデータの種類に応じて、固定小数点方式による整数データ（-2(n-1)≦x＜2(n-1)）用の演算処理を行なうか、あるいは固定小数点方式による実数データ（-1≦x＜1）用の演算処理を行なうかを決定することを特徴とする。以下本デジタル処理装置について詳しく説明する。
【００２２】
図１に示すように、専用レジスタ１０は、整数データ用あるいは実数データ用の処理を行なうための整数情報あるいは実数情報を有する。
【００２３】
組み合わせ回路１１は、専用レジスタ１０内のデータ内容に応じた制御信号（A）を出力する。例えば、組み合わせ回路１１は、専用レジスタ１０内に整数情報が格納されている場合は、制御信号（Ａ）としてハイレベルを出力し、一方実数情報が格納されている場合は制御信号（Ａ）としてローレベルを出力する。組み合わせ回路１１は、命令デコーダ（図１１参照）からのクロックに同期して制御信号（Ａ）を出力する。
【００２４】
乗算器（演算器）１５の入力側に配置された上詰め／下詰め回路１２には入力データａが入力される。入力データａは、例えばレジスタ、メモリ、デコーダ等から入力される。上詰め／下詰め回路１２は、入力データaのビット長が乗算器１５の入力のビット長よりも短い場合は、制御信号（Ａ）の内容に応じて上詰め／下詰め処理（ビット長変換処理）を行なう。
【００２５】
即ち、上詰め／下詰め回路１２は、整数データ用の処理を指示する制御信号（Ａ）が入力された場合は（専用レジスタ１０内に整数情報が格納されている場合は）、乗算器１５の入力ビット長の下位ビット側へ入力データａを詰め、空いた上位ビット側へは入力データの符号ビットを拡張する。但し、整数データが符号無し整数データの場合は、空いた上位ビット側へゼロを入力する。
【００２６】
一方、上詰め／下詰め回路１２は、実数データ用の処理を指示する制御信号（Ａ）が入力された場合は（専用レジスタ１０内に実数情報が格納されている場合は）、乗算器１５の入力ビット長の上位ビット側へ入力データａを詰め、空いた下位ビット側へは“０”データを付加する。
【００２７】
以上では、入力データａに対する上詰め／下詰処理を説明したが、入力データｂに対しても同様に上詰め／下詰め回路１３で上詰め／下詰処理を行なう。図２に、上詰め／下詰め回路１２、１３への入力データのフォーマット、及び上詰め／下詰め回路１２、１３からの出力データ（乗算器１５の入力データ）のフォーマットを示す。
【００２８】
なお、上詰め／下詰め回路１２、１３は、入力データａ、ｂのビット長と乗算器１５の入力のビット長とが同じ場合は、入力データａ、ｂをそのまま出力する。
【００２９】
図１に戻って、乗算器１５は、上詰め／下詰め回路１２、１３の出力データを用いて乗算処理を行ない、乗算結果を出力する。
【００３０】
乗算器１５の出力側に配置された上詰め／下詰め回路１４は、組み合わせ回路１１からの制御信号（Ａ）の内容に応じて、整数データ用の処理あるいは実数データ用の処理を行なう。
【００３１】
より詳しくは、上詰め／下詰め回路１４は、整数データ用の処理を行なう場合は、乗算器１５の出力をそのまま出力し、一方、実数データ用の処理を行なう場合は乗算器１５の出力を１ビット上位へシフトし下位ビットへ“０”データを付加したものを出力する。この様子を図３に示す。図中、ＭＳＢは先頭（１番目）のビット、２ＭＳＢは先頭から２番目のビットを示す。出力されたデータは例えばレジスタやメモリに格納される。
【００３２】
以上までに述べたことを、具体例を用いてさらに詳しく説明する。
【００３３】
図１において、例えば入力データａ及び入力データｂがそれぞれ８ビットデータであり、乗算器１５は１６ビット×１６ビット＝３２ビットの計算を行なうとする。
【００３４】
以上において、
整数データ（-2(n-1)≦x＜2(n-1)）の演算：  １００  ×  −５０  ＝―５０００  を行なう場合、入力データａ：0110_0100b、入力データｂ：1100_1110bとなる。あらかじめ、専用レジスタ１０には整数情報を格納しておく。このとき、乗算器１５の入出力は、
0000_0000_0110_0100 × 1111_1111_1100_1110 = 1111_1111_1111_1111_1110_1100_0111_1000
となる。演算結果は整数データであるため、上詰め／下詰め回路１４の出力は、乗算器１５の出力そのまま、すなわち、
1111_1111_1111_1111_1110_1100_0111_1000bとなる。
【００３５】
一方、実数データ（-1≦x＜1）の演算：  ０．５  ×  −０．２５  ＝―０．１２５  を行なう場合、入力データａ：0100_0000b、入力データｂ：1110_0000bとなる。あらかじめ、専用レジスタ１０には実数情報を格納しておく。このとき、乗算器１５の入出力は、
0100_0000_0000_0000 × 1110_0000_0000_0000 = 1111_1000_0000_0000_0000_0000_0000_0000
となる。演算結果は実数データであるため、上詰め／下詰め回路１４の出力は、乗算器１５の出力を上位側へ１ビットシフトし下位ビットへ“０”データを付加した、
1111_0000_0000_0000_0000_0000_0000_0000bとなる。
【００３６】
以上までの説明においては主として整数データ及び実数データのビット列の先頭ビットはそれぞれ符号ビットして扱ったが、本発明は、当然ながら、先頭ビットが符号ビットでない場合も含む。このことは以降に説明する第２〜第１８の実施の形態においても同様である。
【００３７】
以上のように、本実施の形態によれば、専用レジスタ内のデータ（整数情報あるいは実数情報）に基づいて整数データ用の乗算処理及び実数データ用の乗算処理のいずれを行なうかを決定するようにしたので、乗算命令に関する命令コードに整数データ及び実数データに関する情報を含める必要はない。即ち、整数データ及び実数データの乗算命令として同一のものを用いることができる。これにより命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。
【００３８】
また、このように整数データと実数データとで同一の乗算命令を使用できるので、整数データ処理と実数データ処理とが混在するソフトウエアを作成する場合、各処理で同一のコード（サブルーチン等）を使用し得る。つまり、コードを統一化（共有化）し得る。これについて図３０を用いてもう少し詳しく説明する。
【００３９】
図３０は、整数データの処理と実数データの処理とが混在したソフトウエアの処理ステップを示すフローチャートの一例である。
【００４０】
まず、処理するデータの種類が整数データか実数データであるかを判断し（ステップＳ１）、整数データである場合は、専用レジスタ１０に整数情報を設定する（ステップＳ２）、即ち、制御信号（Ａ）を整数データ処理用に設定する。一方、実数データである場合は、専用レジスタ１０に実数情報を設定する（ステップＳ３）、即ち、制御信号（Ａ）を実数データ処理用に設定する。この後、例えば乗算命令を含むルーチンを実行する（ステップＳ４）。このルーチンは、整数データの処理と実数データの処理とで同一である。即ち、従来であれば、整数データ処理用のルーチン及び実数データ処理用のルーチンをそれぞれ作成する必要があった。これに対し、本実施の形態では、専用レジスタ内のデータ操作により整数データ用の処理及び実数データ用の処理を切替えできるので、各処理用のルーチンを共用できる。よって、従来よりもコード数を少なくでき、また、両処理が混在するソフトウエアを簡易に作成できる。
【００４１】
（２）第２の実施の形態
図４は、本発明の第２の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００４２】
第１の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図４に示すように、チップの外部端子１６の設定により制御する。即ち、組み合わせ回路１１は、外部端子１６の設定電位に応じた制御信号（Ａ）を出力する。例えば、組み合わせ回路１１は、外部端子１６が第１の基準電位に設定されている場合は、制御信号（Ａ）として整数データ処理用の信号を出力し、第２の基準電位に設定されている場合は、制御信号（Ａ）として実数データ処理用の信号を出力する。
【００４３】
これによっても、第１の実施の形態と同様、整数データの乗算命令と実数データの乗算命令とで同一の命令コードを使用でき、従って、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。
【００４４】
（３）第３の実施の形態
図５は、本発明の第３の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００４５】
上述した第１及び第２の実施の形態では演算器として乗算器を用いたが、本実施の形態では、加減算器・論理演算器（以降、ALUと記述）１７を用いる。以下本実施の形態について詳しく説明する。
【００４６】
図５に示すように、組み合わせ回路１１は、専用レジスタ１０の設定内容に応じた制御信号（Ｂ）を出力する。
【００４７】
ALU１７の入力側に配置された上詰め／下詰め回路１２は、入力データaのビット長が加減算器・論理演算器（以降、ALUと記述）１７の入力のビット長よりも短い場合は、制御信号（Ｂ）の内容に従って上詰め／下詰処理を行なう。
【００４８】
即ち、上詰め／下詰め回路１２は、整数データ用の処理を指示する制御信号（Ｂ）が入力された場合は、つまり、入力データａが整数データ（-2(n-1)≦x＜2(n-1)）である場合は、下位ビット側へ入力データを詰め、上位ビット側へは入力データａの符号ビットを拡張する。一方、実数データ用の処理を指示する制御信号（Ｂ）が入力された場合は、つまり、入力データａが実数データ（-1≦x＜1）である場合は、上位ビット側へ入力データａを詰め下位ビット側へは“０”データを付加する。以上では入力データａについて説明したが入力データｂの場合も同様である。入力データ（入力データａあるいは入力データｂ）と、ALU１７の入力との関係を図６に示す。
【００４９】
以上に述べたことを、具体例を用いて説明する。
【００５０】
図５において、例えば入力データａと入力データｂとがそれぞれ８ビットデータで、ALU１７の各入出力が１６ビットであるとする。
【００５１】
以上において、
整数データ（-2(n-1)≦x＜2(n-1)）の演算：  １０  +  ３０  ＝４０  を行なう場合、入力データａ：0000_1010b、入力データｂ：0001_1110bとなる。あらかじめ専用レジスタ１０には整数情報を格納しておく。このとき、ALU１７の入出力は、
0000_0000_0000_1010 ＋ 0000_0000_0001_1110 = 000_000_0010_1000
となる。よって、演算結果は、000_000_0010_1000bとなる。
【００５２】
一方、実数データ（-1≦x＜1）の演算：  ０．５  +  ０．２５  ＝０．７５  を行なう場合、入力データａ：0100_0000b、入力データｂ：0010_0000bとなる。あらかじめ専用レジスタ１０には実数情報を格納しておく。このとき、ALU１７の入出力は、
0100_0000_0000_0000 ＋ 0010_0000_0000_0000 = 0110_000_0000_0000
となる。よって、演算結果は、0110_0000_0000_0000bとなる。
【００５３】
以上のように、本実施の形態によれば、専用レジスタ内のデータに基づいて整数データ用の加減算・論理演算処理及び実数データ用の加減算・論理演算処理のいずれを行なうかを決定するようにしたので、整数データまたは実数データに関する情報を絡めることなく加減算・論理演算命令に関する命令コードを設定できる。即ち、整数データの加減算・論理演算命令と、実数データの加減算・論理演算命令とで同一のコードを使用できる。よって命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。また、ソフトウエア中に整数データの処理と実数データの処理を混在させる場合、各処理で、加減算・論理演算命令を含むコード部分（ルーチン等）を共有化し得る。これにより、コード数を少なくでき、また、両処理が混在するソフトウエアも簡易に作成できる。
【００５４】
（４）第４の実施の形態
図７は、本発明の第４の実施の形態に従ったデジタル信号処理装置の構成を示すブロック図である。
【００５５】
第３の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタの設定により制御したが、本実施の形態では、図７に示すように、外部端子１６の設定により制御する。
【００５６】
これによっても、第３の実施の形態と同様、整数データの加減算・論理演算と、実数データの加減算・論理演算とで同一の命令コードを使用でき、よって、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。
【００５７】
（５）第５の実施の形態
図８は、本発明の第５の実施の形態に従ったデジタル信号処理装置の構成を示すブロック図である。
【００５８】
本実施の形態では、専用バスまたは汎用バスを介したレジスタ間のデータ転送を説明する。但し、転送元と転送先のビット長が異なる、より詳しくは転送元のビット長が転送先のビット長より短く、また、転送先レジスタのビット長とこのレジスタに接続されたバスのビット長とが同じであるとする。
【００５９】
図８に示すように、組み合わせ回路１１は、専用レジスタ１０の設定内容に応じた制御信号（Ｃ）を出力する。
【００６０】
上詰め／下詰め回路２１は、整数データ用の処理を指示する制御信号（Ｃ）が入力された場合は、転送元レジスタ（レジスタa０あるいはa１あるいはa２）内の転送元データを転送先のビット長に対して下位側に詰め、上位側には符号ビットを拡張して、バスへ出力する。
【００６１】
一方、上詰め／下詰め回路２１は、実数データ用の処理を指示する制御信号（Ｃ）が入力された場合は、転送元データを転送先のビット長に対して上位側に詰め、下位側へ“０”データを付加して、バスへ出力する。
【００６２】
転送先のレジスタ（レジスタＸ０あるいはレジスタＹ０）は、バスからのデータをそのまま入力する。これによりレジスタ間の転送が行われる。
【００６３】
以上に説明した転送元レジスタ内のデータと、バス上のデータと、転送先レジスタデータとをそれぞれ図９に示す。
【００６４】
上述した本実施の形態では、データの転送元及び転送先をそれぞれレジスタとしたが、これらの一方あるいは両方をメモリ領域としても良い。以降に説明する他の実施の形態においても、データを格納する部分として、レジスタの代わりにメモリ領域を用いても良い。
【００６５】
以上のように、本実施の形態によれば、専用レジスタの設定内容に基づいて整数データ用の転送処理及び実数データ用の転送処理のいずれを行なうかを決定するようにしたので、データ転送関連の命令コードに実数データ及び整数データに関する情報を含める必要はない。即ち、実数データの転送命令と整数データの転送命令とで同一の命令コードを使用できる。これにより、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。また、ソフトウエア中に整数データの処理と実数データの処理を混在させる場合、転送命令を含むコード（ルーチン等）を各処理で共有化し得る。。これにより、コード数を少なくでき、両処理が混在するソフトウエアも簡易に作成できる。
【００６６】
（６）第６の実施の形態
図１０は、本発明の第６の実施の形態に従ったデジタル信号処理装置の構成を示すブロック図である。
【００６７】
第５の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図１０に示すように、外部端子１６の設定により制御する。
【００６８】
これによっても、第５の実施の形態と同様、データ転送関連の命令コードとして実数データと整数データとで同一のものを使用でき、これにより、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。
【００６９】
（７）第７の実施の形態
図１１は、本発明の第７の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００７０】
第５の実施の形態では、レジスタ間のデータ転送において転送元のビット長が転送先のビット長よりも短い場合を説明したが、本実施の形態では、転送元のビット長が転送先のビット長よりも長い場合を説明する。
【００７１】
図１１に示すように、組み合わせ回路１１は、専用レジスタ１０の設定に応じた制御信号（Ｄ）を出力する。
【００７２】
上位／下位選択回路２２は、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を指示する制御信号（Ｄ）が入力された場合は、転送元データの最下位ビットから転送先ビット長分のビットデータを抽出して転送先レジスタＸ０へ入力する。転送先レジスタＸ０へのデータ入力は、図中に示す命令デコーダ２３からの指示（クロック）に同期して行われる。一方、上位／下位選択回路２２は、整数データ（-1≦x＜1）用の処理を指示する制御信号（Ｄ）が入力された場合は、転送元データの最上位ビットから転送先ビット長分のビットを抽出して転送先レジスタへ入力する。転送元レジスタ内のデータと、転送先レジスタ内のデータとの関係を図１２に示す。
【００７３】
さらに詳しくは、図１１の例では、バスのビット長と転送元レジスタａ０のビット長がそれぞれ３２ビット、転送先レジスタＸ０のビット長が１６ビットの場合におけるレジスタ間のデータ転送が示される。転送元レジスタａ０内の３２ビットデータをバスへ出力するときは３２ビットデータをそのまま出力する。一方、転送先の１６ビットレジスタＸ０にバスからデータを入力する際は、上位／下位選択回路２２による選択処理を行なう。即ち、上位／下位選択回路２２は、転送データが整数データ（-2(n-1)≦x＜2(n-1)）の場合は、バス上のデータの下位１６ビットを抽出して転送先レジスタＸ０へ入力する。一方、上位／下位選択回路２２は、転送データが実数データ（-1≦x＜1）の場合は、バス上のデータの上位１６ビットを抽出して転送先レジスタＸ０へ入力する。
【００７４】
以上のように、本実施の形態によれば、専用レジスタの設定内容（整数情報あるいは実数情報）に基づき、整数データ用の転送処理あるいは実数データ用の転送処理を行なうかを決定するようにしたので、データの種類に関する情報を命令コードに含める必要はない。また、従来のように、ソフトウエア側で、転送元レジスタのデータを転送先レジスタのビット長ごとに分割し、各分割データにアドレスを割り当てるといった処理も行なう必要はない。これにより、命令コードの削減、命令セットのビット数削減かつ命令デコーダ回路の簡略化を図ることが出来る。また、ソフトウエア中に整数データの処理と実数データの処理を混在させる場合においても、データ転送処理を含む各処理用のコードを統一化できるので、コード数を少なくでき、これにより両処理が混在するソフトウエアを簡易に作成できる。
【００７５】
（８）第８の実施の形態
図１３は、本発明の第８の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００７６】
第７の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図１３に示すように、外部端子１６の設定により制御する。
【００７７】
これによっても、第７の実施の形態と同様、命令コードの削減、命令セットのビット数削減かつ命令デコーダ回路の簡略化を図ることが出来る。
【００７８】
（９）第９の実施の形態
図１４は、本発明の第９の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００７９】
本実施の形態では、整数データを専用に格納するレジスタと、整数データ及び実数データの両方を取扱い可能なレジスタとが混在するデジタル信号処理装置におけるレジスタ間のデータ転送について説明する。
【００８０】
図１４に示すように、命令デコーダ２４は、レジスタ間転送の命令実行時に、転送元レジスタを特定するレジスタ選択信号（Regster_sel）を出力する。レジスタ選択信号に示される転送元レジスタ（例えばレジスタ２８あるいは２９）は、その内部のデータを上詰め／下詰め回路２５に出力する。レジスタ２８は、整数データを専用に格納するレジスタ、レジスタ２９は、整数データ及び実数データの両方を取扱い可能なレジスタである。
【００８１】
検出回路２７は、命令デコーダ２４からレジスタ選択信号が入力され、レジスタ選択信号が整数データ専用のレジスタ２８を示す場合は、整数信号（Int_signal）を組み合わせ回路２６に出力する。組み合わせ回路２６は、整数信号が入力された場合は、専用レジスタ１０の設定内容に拘わらず、整数データ用の処理を指示する制御信号(E)を上詰め／下詰め回路２５に出力する。即ち、組み合わせ回路２６は、整数信号を受け取った場合は、たとえ専用レジスタ１０内に実数情報が格納されていても、整数データ用の処理を指示する制御信号（E）を上詰め／下詰め回路２５に出力する。上詰め／下詰め回路２５は、レジスタ２８あるいはレジスタ２９から入力された転送元データを上詰め／下詰処理して転送先レジスタＸ０あるいはレジスタＹ０に入力する。なお、転送先レジスタＸ０、Ｙ０へのデータの取り込みは、図１４に示すように、命令デコーダ２４からのクロックClock_x0、Clock_y0に同期して行われる。
【００８２】
以上のように、本実施の形態によれば、転送元レジスタが整数データ専用のレジスタである場合は、専用レジスタの設定内容に拘わらず、整数データ用の転送処理を行なうようにしたので、レジスタ間転送の命令コードとして整数レジスタ専用のコードを設ける必要がない。これにより、命令セットのビット数削減かつ命令デコーダ回路の簡略化を図ることが出来る。
【００８３】
また、ソフトウエアにおいて、実数データの処理フローの途中で整数データ専用のレジスタを扱う必要がある場合、整数データ専用のレジスタを扱う前及び扱った後における処理フローの切り替え（実数データの処理→整数データの処理、整数データの処理→実数データの処理）を省略でき、これによりソフトウエアの作成による負担とステップ数の削減を図ることが出来る。
【００８４】
（１０）第１０の実施の形態
図１５は、本発明の第１０の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００８５】
第９の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図１５のように外部端子１６の設定により制御する。
【００８６】
これによっても、第９の実施の形態と同様、命令セットのビット数削減かつ命令デコーダ回路の簡略化を図ることが出来る。また、ソフトウエアにおいて、実数データの処理フローの途中で整数データ専用のレジスタを扱う必要がある場合でも、処理フローの切り替えを省略でき、ソフトウエアの作成による負担とステップ数の削減を図ることが出来る。
【００８７】
（１１）第１１の実施の形態
図１６は、本発明の第１１の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００８８】
本実施の形態では、実数データを専用に格納するレジスタ３１と、整数データ及び実数データの両方を取扱い可能なレジスタ３２とが混在するデジタル信号処理装置におけるレジスタ間のデータ転送について説明する。
【００８９】
図１６に示すように、命令デコーダ２４は、レジスタ間転送の命令実行時に、転送元のレジスタを特定するレジスタ選択信号（Regster_sel）を出力する。検出部３０は、レジスタ選択信号が実数データ専用のレジスタ３１を示す場合は、実数信号（Fixed__signal）を組み合わせ回路３３に出力する。組み合わせ回路３３は、実数信号が入力された場合は、専用レジスタ１０の設定内容に拘わらず、実数データ用の処理を指示する制御信号(Ｆ)を上詰め／下詰め回路２５に出力する。即ち、組み合わせ回路３３は、実数信号を受け取った場合は、たとえ専用レジスタ１０内に整数情報が格納されていても、実数データ用の処理を指示する制御信号（Ｆ）を上詰め／下詰め回路２５に出力する。
【００９０】
以上のように、本実施の形態によれば、転送元レジスタが実数データ専用のレジスタである場合は、専用レジスタの設定内容に拘わらず、実数データ用の転送処理を行なうようにしたので、レジスタ間転送の命令コードとして実数レジスタ専用のコードを設ける必要がない。これにより、命令セットのビット数削減かつ命令デコーダ回路の簡略化を図ることが出来る。
【００９１】
また、ソフトウエアにおいて、整数データの処理フローの途中で実数データ専用のレジスタを扱う必要がある場合、実数データ専用のレジスタを扱う前及び扱った後における処理フローの切り替え（整数データの処理→実数データの処理、実数データの処理→整数データの処理）を省略でき、これによりソフトウエアの作成による負担とステップ数の削減を図ることが出来る。
【００９２】
（１２）第１２の実施の形態
図１７は、本発明の第１２の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００９３】
第１１の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図１７のように外部端子１６の設定により制御する。
【００９４】
これによっても、第１０の実施の形態と同様、令セットのビット数削減かつ命令デコーダ回路の簡略化を図ることが出来る。また、ソフトウエアにおいて、整数データの処理フローの途中で実数データ専用のレジスタを扱う必要がある場合でも処理フローの切り替えを省略でき、ソフトウエアの作成による負担とステップ数の削減を図ることが出来る。
【００９５】
（１３）第１３の実施の形態
図１８は、本発明の第１３の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【００９６】
本実施の形態では、ALUによる演算と同時に演算結果をレジスタに転送する場合について説明する。以下、本実施の形態について詳しく説明する。
【００９７】
図１８に示すように、組み合わせ回路１１は、専用レジスタ１０の設定内容に応じた制御信号（Ｇ）を、上詰め／下詰め回路１２、１３及び上位／下位選択回路２２に出力する。
【００９８】
上詰め／下詰め回路１２は、整数データ用の処理を指示する制御信号（Ｇ）が入力された場合は、つまり入力データａが整数データ（-2(n-1)≦x＜2(n-1)）である場合は、下位ビット側へ入力データを詰め、上位ビット側へは入力データの符号ビットを拡張する。一方、実数データ用の処理を指示する制御信号（Ｇ）が入力された場合は、つまり、入力データａが実数データ（-1≦x＜1）である場合は、上位ビット側へ入力データを詰め下位ビット側へは“０”データを付加する。この様子を図１９に示す。以上は上詰め／下詰め回路１２について説明したが、上詰め／下詰め回路１３についても同様である。
【００９９】
ALU３５は、上詰め／下詰め回路１２、１３の出力データを用いて演算処理を行なう。
【０１００】
上位／下位選択回路２２は、ALU３５の出力結果をバス経由でレジスタ（レジスタＸあるいはＹ）へ転送する。より詳しくは、上位／下位選択回路２２は、整数データ用の処理を指示する制御信号（Ｇ）が入力された場合は、出力結果の最下位ビットから転送先レジスタのビット長分のデータを抽出して転送する。一方、上位／下位選択回路２２は、実数データ用の処理を指示する制御信号（Ｇ）が入力された場合は、出力結果の最上位ビットから転送先レジスタのビット長分のデータを抽出して転送する。入力データ（入力データａあるいは入力データｂ）と、転送先レジスタ（レジスタＸあるいはＹ）内のデータとの関係を図２０に示す。
【０１０１】
以上に述べたことを、具体例を用いて説明する。
【０１０２】
図１８において、例えば、入力データａと入力データｂとがそれぞれ１６ビットデータで、ALU３５の各入出力が３２ビットであり、転送先のレジスタＸ、Ｙがそれぞれ１６ビットであるとする。
【０１０３】
以上において、
整数データ（-2(n-1)≦x＜2(n-1)）の演算：  １０  +  ３０  ＝４０  を行なう場合、
入力データａ： 000Ah、入力データｂ：001Ehとなる。あらかじめ専用レジスタ１０内には整数情報を格納しておく。このとき、ALU３５の入出力は、
0000_000Ah + 0000_001Eh = 0000_0028h
となる。即ち、ALU３５の出力結果は、0000_0028hとなる。この演算と同時に、上位／下位選択回路２２により演算結果の転送が実行される。即ち、レジスタＸもしくはレジスタYへのデータ転送が行なわれる。上位／下位選択回路２２は、整数データ用の処理を行なうので、転送結果は0028hとなる。
【０１０４】
一方、実数データ（-1≦x＜1）の演算：  ０．５  +  ０．１２５  ＝０．６２５  を行なう場合、入力データａ：4000h、入力データｂ：1000hとなる。あらかじめ専用レジスタ１０内には実数情報を格納しておく。このとき、ALU３５の入出力は、
4000_0000h ＋ 1000_0000h= 5000_0000h
となる。即ち、ALU３５の出力結果は、5000_0000hとなる。この演算と同時に、上位／下位選択回路２２により演算結果の転送が実行される。即ち、レジスタＸもしくはレジスタYへのデータ転送が行なわれる。上位／下位選択回路２２は、実数データ用の処理を行なうので、転送結果は5000hとなる。
【０１０５】
以上のように、本実施の形態によれば、専用レジスタの設定内容に基づいて、整数データ用の演算処理及び演算結果の転送処理、実数データ用の演算処理及び演算結果の転送処理のいずれを実行するかを決定するようにしたので、データの種類に関する情報を含めずに、ALUの命令コードを設定できる。これにより、命令コードの設定の削減、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。また、整数データの処理と実数データの処理とが混在するソフトウエアを作成する場合、演算処理及び演算結果の転送処理を含む各処理用のコードを統一化でき、従って、コード数を少くでき、整数データの処理と実数データの処理とが混在するソフトウエアも容易に作成できる。
【０１０６】
（１４）第１４の実施の形態
図２１は、本発明の第１４の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【０１０７】
第１３の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか、実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図２１に示すように、外部端子１６の設定により制御する。
【０１０８】
これによっても、第１３の実施の形態と同様、命令コードの設定の削減、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来、また、コード数を少なくでき、整数データの処理と実数データの処理とが混在するソフトウエアも容易に作成できる。
【０１０９】
（１５）第１５の実施の形態
図２２は、本発明の第１５の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【０１１０】
本実施の形態では、ALUによる演算処理と、レジスタ間の転送処理とを同時に実行する場合について説明する。以下、本実施の形態について詳しく説明する。
【０１１１】
図２２に示すように、組み合わせ回路１１は、専用レジスタ１０の設定内容に応じた制御信号（Ｈ）を、上詰め／下詰め回路１２、１３及び上位／下位選択回路２２に出力する。
【０１１２】
上詰め／下詰め回路１２は、整数データ用の処理を指示する制御信号（Ｈ）が入力された場合は、つまり入力データａが整数データ（-2(n-1)≦x＜2(n-1)）である場合は、下位ビット側へ入力データを詰め、上位ビット側へは入力データの符号ビットを拡張する。一方、上詰め／下詰め回路１２は、実数データ用の処理を指示する制御信号（Ｈ）が入力された場合は、つまり入力データａが実数データ（-1≦x＜1）である場合は、上位ビット側へ入力データを詰め下位ビット側へは“０”データを付加する。以上では上詰め／下詰め回路１２について説明したが上詰め／下詰め回路１３についても同様である。入力データ（入力データａあるいは入力データｂ）と、ALU３５の入力との関係を図２３に示す。
【０１１３】
ALU３５は、上詰め／下詰め回路１２、１３による出力データを用いて演算処理を行なう。ALU３５の演算結果は、レジスタAccへ書き込まれる。このレジスタAccへの書き込みと同時に、レジスタAcc内のデータがバス経由でレジスタＸあるいはレジスタＹへ転送される。この様子を図２４に示す。この転送において、上位／下位選択回路２２は、整数データ用の処理を指示する制御信号（Ｈ）が入力された場合は、転送元データの最下位ビットから転送先レジスタのビット長分のデータを抽出して転送先へ出力する。一方、上位／下位選択回路２２は、実数データ用の処理を指示する制御信号（Ｈ）が入力された場合は、転送元データの最上位ビットから転送先レジスタのビット長分のデータを抽出して転送先へ出力する。この様子を図２５に示す。
【０１１４】
以上に述べたことを、具体例を用いて説明する。
【０１１５】
図２２において、例えば、入力データａと入力データｂとがそれぞれ１６ビットデータで、ALU３５の各入出力は３２ビットであるとする。また、レジスタAccには1234_5678hが入力済みで、レジスタＸ、Ｙはそれぞれ１６ビットであるとする。
【０１１６】
以上において、
整数データ（-2(n-1)≦x＜2(n-1)）の演算：  ２００  +  ６０  ＝２６０  を行なう場合、
入力データａ： 00C8h、入力データｂ：003Chとなる。あらかじめ専用レジスタ１０には整数情報を設定しておく。このとき、ALU３５の入出力は、
0000_00C8h + 0000_003Ch = 0000_0104h
となる。即ち、ALU３５の出力結果は、0000_0104hとなり、これがレジスタAccへ書き込まれる。これと同時にレジスタAccから例えばレジスタXへの転送も実行される。上位／下位選択回路２２は、整数データ用の処理を行なうので、レジスタAcc内の下位１６ビット5678hがレジスタＸに転送される。
【０１１７】
一方、実数データ（-1≦x＜1）の演算：  ０．２５  +  ０．１２５  ＝０．３７５  を行なう場合、入力データａ：2000h、入力データｂ：1000hとなる。あらかじめ専用レジスタ１０内には実数情報を格納しておく。このとき、ALU３５の入出力は、
2000_0000h ＋ 1000_0000h= 3000_0000h
となる。即ち、ALU３５の出力結果は、3000_0000hとなり、これがレジスタAccへ書き込まれる。これと同時にレジスタAccから例えばレジスタYへの転送も実行される。上位／下位選択回路２２は、実数データ用の処理を行なうので、レジスタAcc内の上位１６ビット1234hがレジスタYに転送される。
【０１１８】
以上のように、本実施の形態によれば、専用レジスタの設定内容に基づいて、整数データ用の演算処理及びレジスタ間転送処理、実数データ用の演算処理及びレジスタ間転送処理のいずれを実行するかを決定するようにしたので、データの種類に関する情報を含めることなく、ALU命令及び転送命令に対する命令コードを設定できる。これにより、命令コードの設定の削減、命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。また、整数データ処理と実数データ処理とが混在するソフトウエアを作成する場合、演算処理及びレジスタ間転送処理を含む各処理用のコードを統一化でき、従って、コード数を少なくでき、整数データの処理と実数データの処理とが混在するソフトウエアも容易に作成できる。
【０１１９】
（１６）第１６の実施の形態
図２６は、本発明の第１６の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【０１２０】
第１５の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか、実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタ１０の設定により制御したが、本実施の形態では、図２６に示すように、外部端子１６の設定により制御する。
【０１２１】
これによっても、第１５の実施の形態と同様に、命令コードの設定の削減、ひいては命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来、また、全体コード数を少なくでき整数データの処理と実数データの処理とが混在するソフトウエアも容易に作成できる。
【０１２２】
（１７）第１７の実施の形態
図２７は、本発明の第１７の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【０１２３】
本実施の形態では、いわゆる即値命令（命令コードにより直接データを入力する）によってレジスタにデータを入力する場合について説明する。以下、本実施の形態について詳しく説明する。
【０１２４】
図２７に示すように、命令デコーダ２３は、即値命令を実行する際、レジスタ４３への入力データを、バスを介して上詰め／下詰め回路４２に出力する。例えば、命令デコーダ２３が、下位１０ビットを入力データ、上位１０ビットを１６ビットレジスタへのデータ入力命令とする命令コード（即値命令）を実行する場合、入力データである１０ビットを上詰め／下詰め回路４２に出力する。
【０１２５】
組み合わせ回路１１は、専用レジスタ１０の設定内容に応じた制御信号（I）を上詰め／下詰め回路４２に出力する。
【０１２６】
上詰め／下詰め回路４２は、制御信号（I）の内容に応じた上詰め／下詰処理を入力データに対して行なう。
【０１２７】
即ち、上詰め／下詰め回路４２は、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を指示する制御信号（Ｉ）が入力された場合は、命令デコーダ２３からの入力データを下位ビット側へ詰め、上位ビット側へは入力データの符号ビットを拡張したものをレジスタ４３に入力する。一方、上詰め／下詰め回路４２は、実数データ（-1≦x＜1）用の処理を指示する制御信号（Ｉ）が入力された場合は、命令デコーダ２３からの入力データを上位ビット側へ詰め、下位ビット側へは“０”データを付加したものをレジスタ４３に入力する。命令デコーダ２３からの入力データと、実際にレジスタ４３に格納された入力データとを図２８に示す。
【０１２８】
以上のように、本実施の形態によれば、専用レジスタ１０内の設定内容に基づき整数データ用の即値処理あるいは実数データ用の即値処理を行なうかを決定するようにしたので、実数データ及び整数データに対する即値命令として同一のものを使用できる。即ち、実数データと整数データとでそれぞれ異なる即値命令を設ける必要がない。これにより命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来る。また、整数データの処理と実数データの処理とが混在するソフトウエアを作成する場合、即値処理を含む各処理用のコードを統一化でき、従って、全体コードを少なくでき、整数データの処理と実数データの処理とが混在するソフトウエアも容易に作成できる。
【０１２９】
（１８）第１８の実施の形態
図２９は、本発明の第１８の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【０１３０】
第１７の実施の形態では、整数データ（-2(n-1)≦x＜2(n-1)）用の処理を行なうか実数データ（-1≦x＜1）用の処理を行なうかを専用レジスタの設定により制御したが、本実施の形態では、図２９に示すように、外部端子１６の設定により制御する。
【０１３１】
これによっても、第１７の実施の形態と同様、命令コードの設定の削減、ひいては命令セットのビット数削減かつ命令デコーダ回路の削減を図ることが出来、また、全体コードを少なくでき、整数データの処理と実数データの処理とが混在するソフトウエアも容易に作成できる。
【図面の簡単な説明】
【０１３２】
【図１】本発明の第１の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図２】上記第１の実施の形態において、上詰め／下詰め回路への入力データと、上詰め／下詰め回路からの出力データのフォーマットをそれぞれ示す。
【図３】上記第１の実施の形態において、乗算器の出力側で行なう処理を説明する図である。
【図４】本発明の第２の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図５】本発明の第３の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図６】上記第３の実施の形態において、入力データに対する上詰め／下詰処理を説明する図である。
【図７】本発明の第４の実施の形態に従ったデジタル信号処理装置の構成を示すブロック図である。
【図８】本発明の第５の実施の形態に従ったデジタル信号処理装置の構成を示すブロック図である。
【図９】上記第５の実施の形態において、転送元レジスタ内のデータと、バス上のデータと、転送先レジスタデータとをそれぞれ示す。
【図１０】本発明の第６の実施の形態に従ったデジタル信号処理装置の構成を示すブロック図である。
【図１１】本発明の第７の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１２】上記第７の実施の形態において、転送元データに対する選択処理を説明する図である。
【図１３】本発明の第８の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１４】本発明の第９の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１５】本発明の第１０の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１６】本発明の第１１の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１７】本発明の第１２の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１８】本発明の第１３の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図１９】上記第１３の実施の形態において、入力データに対する上詰め／下詰処理を説明する図である。
【図２０】上記第１３の実施の形態において、ALUの出力データに対する選択処理を説明する図である。
【図２１】本発明の第１４の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図２２】本発明の第１５の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図２３】上記第１５の実施の形態において、入力データに対する上詰め／下詰処理を説明する図である。
【図２４】上記第１５の実施の形態において、ALUによる演算結果の書き込みと、レジスタ間転送とが同時に行われる様子を示す。
【図２５】上記第１５の実施の形態において、ALUの出力データに対する選択処理を説明する図である。
【図２６】本発明の第１６の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図２７】本発明の第１７の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図２８】上記第１７の実施の形態において、命令デコーダからの入力データがどのようにレジスタに格納されるかを説明する図である。
【図２９】本発明の第１８の実施の形態に従ったデジタル信号処理装置の構成を示す図である。
【図３０】整数データの処理と実数データの処理とが混在したソフトウエアの処理ステップを示すフローチャートの一例である。
【図３１】固定小数点方式による整数データと実数データの表記例を示す。
【図３２】従来のデジタル信号処理装置における乗算器及びその周辺回路を示す。
【図３３】乗算器の出力側における処理を説明する図である。
【図３４】Half WordレジスタからWordレジスタへデータを転送する手法を説明する図である。
【符号の説明】
【０１３３】
１０  専用レジスタ
１１、２６、３３  組み合わせ回路
１２、１３、１４、２１、２５、４２  上詰め／下詰め回路
１５  乗算器
１６  外部端子
１７、３５  ＡＬＵ
２２  上位／下位選択回路
２３、２４  命令デコーダ
２７、３０  検出回路
２８  整数データ専用レジスタ
３１  実数データ専用レジスタ
【図１】
2005310051.tif 000003
【図２】
2005310051.tif 000004
【図３】
2005310051.tif 000005
【図４】
2005310051.tif 000006
【図５】
2005310051.tif 000007
【図６】
2005310051.tif 000008
【図７】
2005310051.tif 000009
【図８】
2005310051.tif 000010
【図９】
2005310051.tif 000011
【図１０】
2005310051.tif 000012
【図１１】
2005310051.tif 000013
【図１２】
2005310051.tif 000014
【図１３】
2005310051.tif 000015
【図１４】
2005310051.tif 000016
【図１５】
2005310051.tif 000017
【図１６】
2005310051.tif 000018
【図１７】
2005310051.tif 000019
【図１８】
2005310051.tif 000020
【図１９】
2005310051.tif 000021
【図２０】
2005310051.tif 000022
【図２１】
2005310051.tif 000023
【図２２】
2005310051.tif 000024
【図２３】
2005310051.tif 000025
【図２４】
2005310051.tif 000026
【図２５】
2005310051.tif 000027
【図２６】
2005310051.tif 000028
【図２７】
2005310051.tif 000029
【図２８】
2005310051.tif 000030
【図２９】
2005310051.tif 000031
【図３０】
2005310051.tif 000032
【図３１】
2005310051.tif 000033
【図３２】
2005310051.tif 000034
【図３３】
2005310051.tif 000035
【図３４】
2005310051.tif 000036