(57)【特許請求の範囲】
【請求項１】
１６ビット幅のメモリと、
演算論理ユニットと、
前記演算論理ユニットが扱う論理アドレス空間上の論理アドレスと前記メモリが扱う物理アドレス空間上の物理アドレスとの変換を行なうアドレス変換回路と、
データを所定ビットシフトさせるためのセレクト信号を生成するセレクト信号生成回路と、
前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記メモリから出力されるデータを、データの先頭が０ビット目になるように、所定ビットシフトして位相を調整し、前記演算論理ユニットに出力するシフターと、
前記メモリから出力されたデータを格納するとともに、前記演算論理ユニットに出力するレジスタと、
前記メモリから参照したデータの一部を保持するとともに、前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記演算論理ユニットによる演算結果とマージし、データが前記メモリから読み出された際のビット位置になるように、所定ビットシフトして位相を調整して、前記メモリへの置き換え用データとして前記メモリに出力する混合回路と、
を有し、
前記混合回路は、１０ビット幅の虚数部と１０ビット幅の実数部と１２ビット幅の未使用部からなる３２ビット幅のデータを１６ビット幅の前記メモリに格納する際に、未使用部を削除し、未使用部が存在していた領域に虚数部と実数部を格納するとともに、
前記演算論理ユニットは、前記シフターを介して、データを前記メモリから読み出す際に、式１に基づくアドレスＡの、式２に基づくビット位置Ｂから読み出すことを特徴とするデータ処理装置。
Ａ＝（ａ／２）＋［（ａ／２）／４］  …（１）
Ｂ＝（（ａ／２）−４［（ａ／２）／４］）×４  …（２）
ただし、ａは、１０ビット幅の虚数部と１０ビット幅の実数部と１２ビット幅の未使用部からなる３２ビット幅のデータを１６ビット幅のメモリに格納する際の論理上のメモリアドレスである。
【請求項２】
請求項１に記載のデータ処理装置において、
前記混合回路は、データが前記メモリから出力された際のメモリアドレスの下位側の２ビットに基づいて、前記レジスタ側からの出力と前記演算論理ユニット側からの出力との混合する組み合せを変えて混合し、混合した出力を前記メモリへの書き換え用データに置き換えることを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、１ワードのビット幅が標準的な２のｎ乗ビットでないデータの演算処理を行なうデータ処理装置に関する。
【０００２】
【従来の技術】
画像や音声等を出力するまたは加工する装置の中には、画像や音声の品位を向上させるために、あるいは画像や音声に付加的な情報を添付するために、１ワードのビット幅が標準的な２のｎ乗ビットでないデータを用いるものがある。このような装置として、例えば、いわゆる第３世代携帯電話や複数階調の画像データを発生する情報処理装置等がある。このような装置は、デジタルシグナルプロセッサ（以下、ＤＳＰという）やその他のデータ処理装置を搭載しており、これにより１ワードのビット幅を標準的な２のｎ乗ビットに変換して様々な演算処理を行なう。
【０００３】
以下に、第３世代携帯電話に搭載されるＤＳＰを例にして、従来のデータ処理装置を説明する。
【０００４】
第３世代携帯電話は、常に良好な通信が行なえるように、ＤＳＰを用いて広い周波数帯域の中からいくつかの特定帯域の信号を抽出する。そして、その中から特に受信感度の高い周波数帯域を選択して通信を行なう。なお、このとき、ＤＳＰは、通常、デジタルマッチドフィルタ（以下、ＤＭＦという）アルゴリズムと称される手法を用いて特定帯域の信号を抽出するが、この手法自体は本発明の主題に関連しないので、ここでは詳細な説明を省略する。
【０００５】
図１０は従来のデータ処理装置の構成を示す図、図１１は２つのメモリブロックに格納されるデータの配置を示す図である。なお、ここでは、各構成要素間におけるデータの出力処理や演算手段における演算処理を３２ビット単位で行なうものとし、また、１６ビット幅のメモリを２つ用いて３２ビット幅のデータを格納している。
【０００６】
図１０中、アドレス生成回路９は、後述のメモリ１７からデータを読み出すまたはメモリ１７にデータを書き込むアドレスを生成する。そして、アドレスを、メモリ１７や後述のシフター１１に出力する。
【０００７】
シフター１１は、演算処理を容易化させるために、後述のアキュムレータ１５やメモリ１７から出力されるデータを所定ビットシフトして位相の調整を行なう。
【０００８】
演算論理ユニット（以下、ＡＬＵという）１３は、シフター１１から出力されるデータや後述のアキュムレータ１５から出力されるデータに基づいて、ＤＭＦアルゴリズムによる演算を実行する。
【０００９】
アキュムレータ１５は、ＡＬＵ１３による演算結果を格納するレジスタであり、Ａｃｃ０とＡｃｃ１の２つのブロックからなる。なお、アキュムレータ１５に格納された演算結果は、第１のルート２３に沿ってメモリ１７に出力されるとともに、図示しない制御部の制御に基づいて、所定の演算処理時に第２のルート２５に沿ってＡＬＵ１３に出力され、そこで後続の演算処理に供される。
【００１０】
メモリ１７は、所定ビット（図１１に示す従来例では１６ビット）幅の第１のメモリブロック１９と第２のメモリブロック２１を備え、外部から入力されるデータを格納する。またＡＬＵ１３側にデータを出力してＡＬＵ１３に演算処理を実行させ、これによる演算結果をＡＬＵ１３側から受け取って格納する。図１１に示す従来例では、メモリ１７は、１０ビット幅の虚数部（以下、Ｉパートデータという）と実数部（以下、Ｒパートデータという）の、２つのデータからなる演算結果を格納している。
【００１１】
ところで、メモリ１７は、Ｉパートデータを第１のメモリブロック１９に、Ｒパートデータを第２のメモリブロック２１に格納している。第１のメモリブロック１９と第２のメモリブロック２１のビット幅は、それぞれ１６ビットである。これに対し、ＩパートデータとＲパートデータのビット幅は、それぞれ１０ビットである。そのため、第１のメモリブロック１９と第２のメモリブロック２１の各段には６ビット幅の空き領域が生じる。そこで、メモリ１７は、各段のデータの構成が同じになるように、演算処理に不必要な６ビット幅のデータを第１のメモリブロック１９と第２のメモリブロック２１の空き領域（以下、空き領域を未使用部という）に格納する。
【００１２】
なお、従来のＤＳＰは１６ビット幅の第１のメモリブロック１９と第２のメモリブロック２１を３２ビット幅のＡＬＵ１３に接続しているが、これは乗算演算により演算幅が増大した場合に対応するためである。また、第１のメモリブロック１９と第２のメモリブロック２１は、１６ビット幅に限らず、４や３２等、２のｎ乗ビット幅にすることも可能である。ただし、現時点では、１６ビット幅のメモリが広く普及している上、コストも安いので、ＤＳＰのコストを低減させるには１６ビット幅のものが望ましい。
【００１３】
【発明が解決しようとする課題】
従来のデータ処理装置は、一度に１６ビットのデータをメモリ１７からＡＬＵ１３に出力する。しかしながら、演算処理に用いるデータは、そのうちの１０ビット分だけである。そのため、従来のデータ処理装置は、一度に６ビットのデータを無駄にＡＬＵ１３に出力していた。
【００１４】
またＡＬＵ１３は３２ビット幅の演算器（図示せず）を内蔵するが、ＡＬＵ１３は、そのうちの１０ビット幅分しか使用していない。そのため、従来のデータ処理装置は、２２ビット幅分の演算器を無駄にしていた。
【００１５】
これを解決するために、バスの幅を２倍（３２ビット）にして、３２ビットのデータをメモリ１７からＡＬＵ１３に出力するとともに、演算器を上位１６ビットと下位１６ビットに分割して並列的に演算する手法がある。しかしながら、この手法においても、メモリの使用量は、１６ビット幅のメモリに対して１０ビット分だけである。そのため、従来のデータ処理装置は、６ビット分のメモリを無駄にしていた。
【００１６】
このように、従来のデータ処理装置は、１ワードが標準的なビット幅でないデータを用いて演算処理する場合に、ＩパートデータとＲパートデータの間に未使用部を配置しているためＡＬＵ１３に内蔵される演算器やメモリ１７の使用に無駄が発生し、演算能力やメモリを有効に活用できないという問題点があった。
【００１７】
【課題を解決するための手段】
上記課題を解決するために本発明に係るデータ処理装置は、１６ビット幅のメモリと、演算論理ユニットと、前記演算論理ユニットが扱う論理アドレス空間上の論理アドレスと前記メモリが扱う物理アドレス空間上の物理アドレスとの変換を行なうアドレス変換回路と、データを所定ビットシフトさせるためのセレクト信号を生成するセレクト信号生成回路と、前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記メモリから出力されるデータを、データの先頭が０ビット目になるように、所定ビットシフトして位相を調整し、前記演算論理ユニットに出力するシフターと、前記メモリから出力されたデータを格納するとともに、前記演算論理ユニットに出力するレジスタと、前記メモリから参照したデータの一部を保持するとともに、前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記演算論理ユニットによる演算結果とマージし、データが前記メモリから読み出された際のビット位置になるように、所定ビットシフトして位相を調整して、前記メモリへの置き換え用データとして前記メモリに出力する混合回路と、を有し、前記混合回路は、１０ビット幅の虚数部と１０ビット幅の実数部と１２ビット幅の未使用部からなる３２ビット幅のデータを１６ビット幅の前記メモリに格納する際に、未使用部を削除し、未使用部が存在していた領域に虚数部と実数部を格納するとともに、前記演算論理ユニットは、前記シフターを介して、データを前記メモリから読み出す際に、式１に基づくアドレスＡの、式２に基づくビット位置Ｂから読み出すことを特徴とする。
【００１８】
Ａ＝（ａ／２）＋［（ａ／２）／４］  …（１）
Ｂ＝（（ａ／２）−４［（ａ／２）／４］）×４  …（２）
ただし、ａは、１０ビット幅の虚数部と１０ビット幅の実数部と１２ビット幅の未使用部からなる３２ビット幅のデータを１６ビット幅のメモリに格納する際の論理上のメモリアドレスである。
【００１９】
なお、混合回路は、データが前記メモリから出力された際のメモリアドレスの下位側の２ビットに基づいて、前記レジスタ側からの出力と前記演算論理ユニット側からの出力との混合する組み合せを変えて混合し、混合した出力を前記メモリへの書き換え用データに置き換えることが好ましい。
【００２０】
【発明の実施の形態】
以下に、第３世代携帯電話に搭載されるＤＳＰを例にして、図面を参照して本発明の実施の形態を説明する。なお、各図はこの発明を理解できる程度に概略的に示してあるにすぎない。また、各図において、共通する要素については、同一の符号を付し、説明を省略する。
【００２１】
図１は本発明に係るデータ処理装置の構成を示す図、図２は論理アドレス空間を示す図、図３は物理アドレス空間を示す図、図４は論理アドレス対物理アドレスの関係を示す図表、図５はシフト量を示す図表、図６は混合回路の構成を示す図、図７〜９は混合回路のシフト動作を示す図である。
【００２２】
なお、本実施の形態に係るデータ処理装置（すなわち、ＤＳＰ）は、偶数のアドレスを第１のメモリブロック１９に格納し、奇数のアドレスを第２のメモリブロック２１に格納している。そのため、ＤＳＰは第１のメモリブロック１９と第２のメモリブロック２１に同時にアクセスすることができ、メモリ１７は一度に３２ビットのデータを出力することができる。
【００２３】
図１に示すＤＳＰは、従来の構成に対し、アドレス変換回路３１、セレクト信号生成回路３３、混合回路３５が付加されている。
【００２４】
本実施の形態では、ＡＬＵ１３が扱うデータ空間（以下、論理アドレス空間という）とメモリ１７上のデータ空間（以下、物理アドレス空間という）と区別して処理するようにした。また、論理アドレス空間上のアドレス（以下、論理アドレスという）から物理アドレス空間上のアドレス（以下、物理アドレスという）の変換が簡易に行なえるようにアドレス変換回路３１を設けている。
【００２５】
また、ＡＬＵ１３が読み出したデータは、参照されたデータの一部のみ書き替えされなくてはならない。例えば、ＡＬＵ１３が１行目のデータを読み出した場合に、ＡＬＵ１３による演算結果を１行目に格納することになるが、このときＩパートデータＩ（１）とＲパートデータＲ（１）は次の演算処理で必要となるので、一時保存しておく必要がある。そこで、本実施の形態では、参照したデータの一部を保存するとともに、ＡＬＵ１３による演算結果とマージしてメモリ１７に書き戻す混合回路３５を設けている。
【００２６】
更に、演算処理はＡＬＵ１３が簡易に行なえることが望ましい。そこで、本実施の形態では、演算処理に用いるデータの位置が一定になるように、シフト量を論理アドレスから簡易に算出できるようにした。
【００２７】
アドレス変換回路３１は、メモリアドレス生成回路９から出力されるアドレスにそれを２ビットシフトした値を加算して、メモリ１７からデータを読み出すまたはメモリ１７にデータを書き込む際に実際に用いるアドレスを生成する。なお、アドレス生成回路９から出力されるアドレスを本実施の形態では論理アドレスと呼び、生成したアドレスを物理アドレスと呼ぶ。
【００２８】
セレクト信号生成回路３３は、データを所定ビットシフトして位相の調整を指示するあるいは内部回路の切り替えを指示するセレクト信号を生成し、それをシフター１１や混合回路３５に供給する。シフター１１は、セレクト信号を受け取ることにより、データの先頭が０ビット目になるように、データを所定ビットシフトして位相を調整する。また混合回路３５は、セレクト信号を受け取ることにより、データが元のビット位置（データがメモリ１７から読み出された際のビット位置）になるように、位相を調整する。なお、本実施の形態では、セレクト信号としてデータのＬＳＢ側の２ビットを用いる。
【００２９】
論理アドレスは、図２に示すように、１０ビット幅のＩパートデータとＲパートデータとが連続し、その後に１２ビット幅の未使用部が続くように構成されている。これに対して、物理アドレスは、図３に示すように、１０ビット幅のＩパートデータとＲパートデータとが連続し、その後にＩパートデータとＲパートデータとが続くように構成されている。
【００３０】
物理アドレスでは、１２ビット幅の未使用部が削除され、その代わりに未使用部が存在していた領域に１０ビット幅のＩパートデータとＲパートデータとが挿入される。そのため、論理アドレスと物理アドレスは、以下のような関係にある。
【００３１】
すなわち、物理アドレスは、論理アドレスにそれを２ビットシフトした値を加算した値となる。
【００３２】
図４は、論理アドレスと物理アドレスのオフセット量を示している。すなわち、例えば、論理アドレス空間におけるＩパートデータの先頭が存在するアドレスと、これに対応する物理アドレス空間におけるＩパートデータの先頭が存在するアドレスとの関係を示している。物理アドレス空間におけるＩパートデータの先頭が存在するアドレスは、論理アドレス空間におけるＩパートデータの先頭が存在するアドレスに応じて変化する。例えば、図４に示すように、論理アドレス空間におけるＩパートデータＩ０〜Ｉ９の先頭が存在しているアドレス０，２，４，６，８，１０，１２，１４，１６，１８…は、物理アドレス空間においてはアドレス０，１，２，３，５，６，７，８，１０，１１…となる。この関係を計算式で表現すると、以下の式１のようになる。
【００３３】
Ａ＝（ａ／２）＋［（ａ／２）／４］  …（１）
ただし、Ａは物理アドレス、ａは１０ビット幅の虚数部と１０ビット幅の実数部と１２ビット幅の未使用部からなる３２ビット幅のデータを１６ビット幅のメモリに格納する際の論理上のメモリアドレス、［ｘ］はｘを越えない最大整数を意味するガウス記号である。
【００３４】
また、図５は、論理アドレスと、参照したデータの基準位置（図５に示す例の場合、論理アドレスにおけるＩパートデータＩｎの先頭は０ビット目になる）からのシフト量の関係を示している。すなわち、例えば、論理アドレス空間におけるＩパートデータの先頭のビット位置と物理アドレス空間におけるＩパートデータの先頭のビット位置のシフト量の関係を示している。シフト量は、論理アドレス空間におけるＩパートデータの先頭が存在するアドレスによって変化する。例えば、図５に示すように、論理アドレス空間におけるＩパートデータＩ０〜Ｉ９の先頭のビット位置０，２，４，６，８，１０，１２，１４，１６，１８…は、物理アドレス空間においてはアドレス０，４，８，１２，０，４，８，１２，０，４…となる。この関係を計算式で表現すると、以下の式２のようになる。
【００３５】
Ｂ＝（（ａ／２）−４［（ａ／２）／４］）×４  …（２）
ただし、Ｂは物理アドレス空間におけるビット位置、ａは１０ビット幅の虚数部と１０ビット幅の実数部と１２ビット幅の未使用部からなる３２ビット幅のデータを１６ビット幅のメモリに格納する際の論理上のメモリアドレス、［ｘ］はｘを越えない最大整数を意味するガウス記号である。
【００３６】
なお、この関係は、論理アドレスの最下位ビット（以下、ＬＳＢという）側の２ビットの４倍に相当する。
【００３７】
この関係を、例えば、ＤＳＰがＩパートデータＩ６とＲパートデータＲ６からなるデータを読み出す場合を例にして以下に説明する。
【００３８】
すなわち、ＩパートデータＩ６とＲパートデータＲ６からなるデータの先頭は、論理アドレス空間上では論理アドレス１２に存在するが、物理アドレス空間上では物理アドレス７に存在する。そこで、ＤＳＰは、図４に示す論理アドレス対物理アドレスの関係に基づいて、ＩパートデータＩ６とＲパートデータＲ６からなるデータの先頭が物理アドレス空間上では物理アドレス７に存在することを割り出し、メモリ１７の物理アドレス７からＩパートデータＩ６とＲパートデータＲ６からなるデータを読み出す。
【００３９】
このとき、ＤＳＰは、ＡＬＵ１３における演算処理を容易化させるために、図５に示す論理アドレス対シフト量の関係に基づいて、メモリ１７から読み出すデータを所定ビットシフトして位相の調整を行なう。例えば、ＩパートデータＩ６の先頭は物理アドレス７の０ビット目から数えて８ビット目の位置に存在するので、ＤＳＰは、シフター１１によりＩパートデータＩ６を右方向に８ビットシフトする。
【００４０】
アドレス変換回路３１は、このような関係に従って、メモリ１７から読み出すまたはメモリ１７に格納するデータのアドレスを変換する。また、セレクト信号生成回路３３は、このような関係に従って、メモリ１７から読み出したデータの中から演算処理に用いる部分を切り出す位置を決定する。
【００４１】
混合回路３５は、第１のルート２３に沿ってＡＬＵ１３側から出力される演算結果と第３のルート２３’に沿ってメモリ１７側から出力されるデータとを混合する。
【００４２】
以下に、混合回路３５の動作を説明する。
【００４３】
混合回路３５は、図６に示すように、いわばレジスタとセレクタの集合体のような構成になっている。
【００４４】
すなわち、混合回路３５は、第１のメモリブロック１９から読み出されたリードデータ［１１：０］（すなわち、ビット位置０〜１１までの１２ビットのデータ）が入力される４ビット幅の３つのレジスタからなる第１のレジスト群４１と、ＡＬＵ１３（またはＡｃｃ１５）側から出力される３２ビット幅のデータが入力される４ビット幅の８つのレジスタからなる第２のレジスト群４３と、第２のメモリブロック２１から読み出されたリードデータ［１５：４］（すなわち、ビット位置４〜１５までの１２ビットのデータ）が入力される４ビット幅の３つのレジスタからなる第３のレジスト群４５とを備えている。
【００４５】
また、混合回路３５は、第１のレジスト群４１の３つのレジスタと第２のレジスト群４３の中の最上位ビット（以下、ＭＳＢという）側の３つのレジスタとが、セレクタを介して接続されている。また、第２のレジスト群４３の中の各レジスタは、ＬＳＢ側からＭＳＢ側にかけて４つづつ、セレクタを介して接続されている。また、第２のレジスト群４３の中のＬＳＢ側の３つのレジスタと第３のレジスタ群４５の３つのレジスタとが、セレクタを介して接続されている。そして、各セレクタは、セレクト信号生成回路３３と接続されており、そこからセレクト信号を受け取ることになる。本実施の形態では、セレクト信号として、論理アドレスのＬＳＢ２ビットを用いている。各セレクタは、セレクト信号生成回路３３から論理アドレスのＬＳＢ２ビットが供給されると、その内容に応じて回路の切り替えを行なう。
【００４６】
混合回路３５は、例えば図７〜９に示すように動作する。
【００４７】
（動作例１：ＤＳＰが論理アドレス０（Ｉ０，Ｒ０）をアクセスした場合）
ＤＳＰが論理アドレス０（Ｉ０，Ｒ０）をアクセスした場合、論理アドレスのＬＳＢ２ビットの値は００である。そのため、図４に示す論理アドレス対物理アドレスの関係から物理アドレスは０となる。このとき、混合回路３５は、図７に示すように第２のレジスタ群４３のＭＳＢ側の１〜５番目のレジスタからの出力と第３のレジスタ群４５の３つのレジスタからの出力とを混合することになる。
【００４８】
なお、動作例１において、ＤＳＰは以下のように動作する。
【００４９】
まず、ＤＳＰは、第１及び第２のメモリブロック１９，２１の物理アドレス０と１からＩパートデータＩ０とＲパートデータＲ０を読み出す。このときのシフター１１のシフト量は、論理アドレスのＬＳＢ２ビットの値が００であるので、０となる。そのため、ＡＬＵ１３にはリードデータであるＩパートデータＩ０とＲパートデータＲ０がそのまま入る。一方、混合回路３５でも、論理アドレスのＬＳＢ２ビットの値が００となり、保存するリードデータの一部分であるデータ（１）を生成する。このとき生成するデータ（１）はＩ１［９：０］とＲ１［１：０］となる。Ｉ１［９：０］とＲ１［１：０］は以降の演算処理で使用するため、Ｉ１［９：０］とＲ１［１：０］が格納されている第２のメモリブロック２１の４〜１５ビット目はこの段階では上書きされてはならない。
【００５０】
次に、ＤＳＰは、ＩパートデータＩ０，ＲパートデータＲ０と他のデータとの演算処理を実行し、更新データ（２）を生成する。この後、ＤＳＰは、ＩパートデータＩ０とＲパートデータＲ０の更新データ（２）をＡｃｃ１５から出力する。次に、混合回路３５は、データ（１）と更新データ（２）を組み合わせ、第１及び第２のメモリブロック１９，２１の上書き用のライトデータ（３）を生成する。
【００５１】
（動作例２：ＤＳＰが論理アドレス１（Ｉ１，Ｒ１）をアクセスした場合）
ＤＳＰが論理アドレス１（Ｉ１，Ｒ１）をアクセスした場合、論理アドレスのＬＳＢ２ビットは０１である。そのため、図４に示す論理アドレス対物理アドレスの関係から物理アドレスは１となる。このとき、混合回路３５は、図８に示すように第１のレジスタ群４１のＭＳＢ側の１番目のレジスタからの出力と第２のレジスタ群４３のＭＳＢ側の１〜５番目のレジスタからの出力と第３のレジスタ群４５のＬＳＢ側の１〜２番目のレジスタからの出力とを混合することになる。
【００５２】
なお、動作例２において、ＤＳＰは以下のように動作する。
【００５３】
まず、ＤＳＰは、第１及び第２のメモリブロック１９，２１の物理アドレス１と２からＩパートデータＩ１とＲパートデータＲ１を読み出す。このときのシフター１１のシフト量は、論理アドレスのＬＳＢ２ビットの値が０１であるので、４となる。そのため、ＡＬＵ１３にはリードデータであるＩパートデータＩ１とＲパートデータＲ１を４ビット右にシフトした値が入る。一方、混合回路３５でも、論理アドレスのＬＳＢ２ビットの値が０１となり、保存するリードデータの一部分であるデータ（４）を生成する。このとき生成するデータ（４）はＩ２［７：０］とＲ２［９：０］となる。Ｉ２［７：０］とＲ２［９：０］は、以降の演算処理で使用するため、Ｉ２［７：０］とＲ２［９：０］が格納されている第１のメモリブロック１９の８〜１５ビット目と第２のメモリブロック２１の０〜１１ビット目はこの段階では上書きされてはならない。
【００５４】
次に、ＤＳＰは、ＩパートデータＩ１，ＲパートデータＲ１と他のデータとの演算処理を実行し、更新データ（５）を生成する。この後、ＤＳＰは、ＩパートデータＩ１とＲパートデータＲ１の更新データ（５）をＡｃｃ１５から出力する。次に、混合回路３５は、データ（４）と更新データ（５）を組み合わせ、第１及び第２のメモリブロック１９，２１の上書き用のライトデータ（６）を生成する。
【００５５】
（動作例３：ＤＳＰが論理アドレス３（Ｉ３，Ｒ３）をアクセスした場合）
ＤＳＰが論理アドレス３（Ｉ３，Ｒ３）をアクセスした場合、論理アドレスのＬＳＢ２ビットの値は１１である。そのため、図４に示す論理アドレス対物理アドレスの関係から物理アドレスは３となる。このとき、混合回路３５は、図９に示すように第１のレジスタ群４１の３つのレジスタからの出力と第２のレジスタ群４３のＭＳＢ側の１〜５番目のレジスタからの出力とを混合することになる。
【００５６】
なお、動作例３において、ＤＳＰは以下のように動作する。
【００５７】
まず、ＤＳＰは、第１及び第２のメモリブロック１９，２１の物理アドレス３と４からＩパートデータＩ３とＲパートデータＲ３を読み出す。このときのシフター１１のシフト量は、論理アドレスのＬＳＢ２ビットの値が１１であるので、１２となる。そのため、ＡＬＵ１３にはリードデータであるＩパートデータＩ３とＲパートデータＲ３を１２ビット右にシフトした値が入る。一方、混合回路３５でも、論理アドレスのＬＳＢ２ビットの値が１１となり、保存するリードデータの一部分であるデータ（７）を生成する。このとき生成するデータ（７）はＩ４［９：０］とＲ４［５：０］となる。Ｉ４［９：０］とＲ４［５：０］は、以降の演算処理で使用するため、Ｉ４［９：０］とＲ４［５：０］が格納されている第２のメモリブロック２１の０〜１５ビット目はこの段階では上書きされてはならない。
【００５８】
次に、ＤＳＰは、ＩパートデータＩ３，ＲパートデータＲ３と他のデータとの演算処理を実行し、更新データ（８）を生成する。この後、ＤＳＰは、ＩパートデータＩ３とＲパートデータＲ３の更新データ（８）をＡｃｃ１５から出力する。次に、混合回路３５は、データ（７）と更新データ（８）を組み合わせ、第１及び第２のメモリブロック１９，２１の上書き用のライトデータ（９）を生成する。
【００５９】
混合回路３５は、このように動作する。そのため、ＤＳＰは、演算処理する際に、演算対象データが同じビット位置に格納されるので、不必要なシフト処理を行なう必要がなくなり、プログラムの高速化を達成することができる。
【００６０】
以上説明した本発明には、１０ビット幅のデータを１６ビット幅のメモリでも空き領域なしで構成でき、メモリの使用量を向上させることができるという効果がある。また、本発明は、従来の装置に、アドレス変換回路３１、セレクト信号生成回路３３、混合回路３５を付加しただけであるので、回路規模の増大も少ない。
【００６１】
なお、本発明は上記の実施の形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の応用及び変形が考えられる。
【００６２】
【発明の効果】
以上説明した本発明には、１０ビット幅のデータを１６ビット幅のメモリでも空き領域なしで構成でき、メモリの使用量を向上させることができるという効果がある。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置の構成を示す図である。
【図２】論理アドレス空間を示す図である。
【図３】物理アドレス空間を示す図である。
【図４】論理アドレス対物理アドレスの関係を示す図表である。
【図５】シフト量を示す図表である。
【図６】混合回路の構成を示す図である。
【図７】混合回路のシフト動作を示す図である。
【図８】混合回路のシフト動作を示す図である。
【図９】混合回路のシフト動作を示す図である。
【図１０】従来のデータ処理装置の構成を示す図である。
【図１１】２つのメモリブロックに格納されるデータの配置を示す図である。
【符号の説明】
９  アドレス生成回路
１１  シフター
１３  ＡＬＵ
１５  アキュムレータ
１７  メモリ
１９  第１のメモリブロック
２１  第２のメモリブロック
２３  第１のルート
２３’  第３のルート
２５  第２のルート
３１  アドレス変換回路
３３  セレクト信号生成回路
３５  混合回路
【図１】
0003565830.tif 000002
【図２】
0003565830.tif 000003
【図３】
0003565830.tif 000004
【図４】
0003565830.tif 000005
【図５】
0003565830.tif 000006
【図６】
0003565830.tif 000007
【図７】
0003565830.tif 000008
【図８】
0003565830.tif 000009
【図９】
0003565830.tif 000010
【図１０】
0003565830.tif 000011
【図１１】
0003565830.tif 000012