JP3565830B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP3565830B2
JP3565830B2 JP2002240182A JP2002240182A JP3565830B2 JP 3565830 B2 JP3565830 B2 JP 3565830B2 JP 2002240182 A JP2002240182 A JP 2002240182A JP 2002240182 A JP2002240182 A JP 2002240182A JP 3565830 B2 JP3565830 B2 JP 3565830B2
Authority
JP
Japan
Prior art keywords
data
memory
bit
address
output
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
Application number
JP2002240182A
Other languages
English (en)
Other versions
JP2004078714A (ja
Inventor
裕司 藤木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2002240182A priority Critical patent/JP3565830B2/ja
Priority to US10/643,875 priority patent/US7219116B2/en
Publication of JP2004078714A publication Critical patent/JP2004078714A/ja
Application granted granted Critical
Publication of JP3565830B2 publication Critical patent/JP3565830B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4806Computations with complex numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、1ワードのビット幅が標準的な2のn乗ビットでないデータの演算処理を行なうデータ処理装置に関する。
【0002】
【従来の技術】
画像や音声等を出力するまたは加工する装置の中には、画像や音声の品位を向上させるために、あるいは画像や音声に付加的な情報を添付するために、1ワードのビット幅が標準的な2のn乗ビットでないデータを用いるものがある。このような装置として、例えば、いわゆる第3世代携帯電話や複数階調の画像データを発生する情報処理装置等がある。このような装置は、デジタルシグナルプロセッサ(以下、DSPという)やその他のデータ処理装置を搭載しており、これにより1ワードのビット幅を標準的な2のn乗ビットに変換して様々な演算処理を行なう。
【0003】
以下に、第3世代携帯電話に搭載されるDSPを例にして、従来のデータ処理装置を説明する。
【0004】
第3世代携帯電話は、常に良好な通信が行なえるように、DSPを用いて広い周波数帯域の中からいくつかの特定帯域の信号を抽出する。そして、その中から特に受信感度の高い周波数帯域を選択して通信を行なう。なお、このとき、DSPは、通常、デジタルマッチドフィルタ(以下、DMFという)アルゴリズムと称される手法を用いて特定帯域の信号を抽出するが、この手法自体は本発明の主題に関連しないので、ここでは詳細な説明を省略する。
【0005】
図10は従来のデータ処理装置の構成を示す図、図11は2つのメモリブロックに格納されるデータの配置を示す図である。なお、ここでは、各構成要素間におけるデータの出力処理や演算手段における演算処理を32ビット単位で行なうものとし、また、16ビット幅のメモリを2つ用いて32ビット幅のデータを格納している。
【0006】
図10中、アドレス生成回路9は、後述のメモリ17からデータを読み出すまたはメモリ17にデータを書き込むアドレスを生成する。そして、アドレスを、メモリ17や後述のシフター11に出力する。
【0007】
シフター11は、演算処理を容易化させるために、後述のアキュムレータ15やメモリ17から出力されるデータを所定ビットシフトして位相の調整を行なう。
【0008】
演算論理ユニット(以下、ALUという)13は、シフター11から出力されるデータや後述のアキュムレータ15から出力されるデータに基づいて、DMFアルゴリズムによる演算を実行する。
【0009】
アキュムレータ15は、ALU13による演算結果を格納するレジスタであり、Acc0とAcc1の2つのブロックからなる。なお、アキュムレータ15に格納された演算結果は、第1のルート23に沿ってメモリ17に出力されるとともに、図示しない制御部の制御に基づいて、所定の演算処理時に第2のルート25に沿ってALU13に出力され、そこで後続の演算処理に供される。
【0010】
メモリ17は、所定ビット(図11に示す従来例では16ビット)幅の第1のメモリブロック19と第2のメモリブロック21を備え、外部から入力されるデータを格納する。またALU13側にデータを出力してALU13に演算処理を実行させ、これによる演算結果をALU13側から受け取って格納する。図11に示す従来例では、メモリ17は、10ビット幅の虚数部(以下、Iパートデータという)と実数部(以下、Rパートデータという)の、2つのデータからなる演算結果を格納している。
【0011】
ところで、メモリ17は、Iパートデータを第1のメモリブロック19に、Rパートデータを第2のメモリブロック21に格納している。第1のメモリブロック19と第2のメモリブロック21のビット幅は、それぞれ16ビットである。これに対し、IパートデータとRパートデータのビット幅は、それぞれ10ビットである。そのため、第1のメモリブロック19と第2のメモリブロック21の各段には6ビット幅の空き領域が生じる。そこで、メモリ17は、各段のデータの構成が同じになるように、演算処理に不必要な6ビット幅のデータを第1のメモリブロック19と第2のメモリブロック21の空き領域(以下、空き領域を未使用部という)に格納する。
【0012】
なお、従来のDSPは16ビット幅の第1のメモリブロック19と第2のメモリブロック21を32ビット幅のALU13に接続しているが、これは乗算演算により演算幅が増大した場合に対応するためである。また、第1のメモリブロック19と第2のメモリブロック21は、16ビット幅に限らず、4や32等、2のn乗ビット幅にすることも可能である。ただし、現時点では、16ビット幅のメモリが広く普及している上、コストも安いので、DSPのコストを低減させるには16ビット幅のものが望ましい。
【0013】
【発明が解決しようとする課題】
従来のデータ処理装置は、一度に16ビットのデータをメモリ17からALU13に出力する。しかしながら、演算処理に用いるデータは、そのうちの10ビット分だけである。そのため、従来のデータ処理装置は、一度に6ビットのデータを無駄にALU13に出力していた。
【0014】
またALU13は32ビット幅の演算器(図示せず)を内蔵するが、ALU13は、そのうちの10ビット幅分しか使用していない。そのため、従来のデータ処理装置は、22ビット幅分の演算器を無駄にしていた。
【0015】
これを解決するために、バスの幅を2倍(32ビット)にして、32ビットのデータをメモリ17からALU13に出力するとともに、演算器を上位16ビットと下位16ビットに分割して並列的に演算する手法がある。しかしながら、この手法においても、メモリの使用量は、16ビット幅のメモリに対して10ビット分だけである。そのため、従来のデータ処理装置は、6ビット分のメモリを無駄にしていた。
【0016】
このように、従来のデータ処理装置は、1ワードが標準的なビット幅でないデータを用いて演算処理する場合に、IパートデータとRパートデータの間に未使用部を配置しているためALU13に内蔵される演算器やメモリ17の使用に無駄が発生し、演算能力やメモリを有効に活用できないという問題点があった。
【0017】
【課題を解決するための手段】
上記課題を解決するために本発明に係るデータ処理装置は、16ビット幅のメモリと、演算論理ユニットと、前記演算論理ユニットが扱う論理アドレス空間上の論理アドレスと前記メモリが扱う物理アドレス空間上の物理アドレスとの変換を行なうアドレス変換回路と、データを所定ビットシフトさせるためのセレクト信号を生成するセレクト信号生成回路と、前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記メモリから出力されるデータを、データの先頭が0ビット目になるように、所定ビットシフトして位相を調整し、前記演算論理ユニットに出力するシフターと、前記メモリから出力されたデータを格納するとともに、前記演算論理ユニットに出力するレジスタと、前記メモリから参照したデータの一部を保持するとともに、前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記演算論理ユニットによる演算結果とマージし、データが前記メモリから読み出された際のビット位置になるように、所定ビットシフトして位相を調整して、前記メモリへの置き換え用データとして前記メモリに出力する混合回路と、を有し、前記混合回路は、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅の前記メモリに格納する際に、未使用部を削除し、未使用部が存在していた領域に虚数部と実数部を格納するとともに、前記演算論理ユニットは、前記シフターを介して、データを前記メモリから読み出す際に、式1に基づくアドレスAの、式2に基づくビット位置Bから読み出すことを特徴とする。
【0018】
A=(a/2)+[(a/2)/4] …(1)
B=(a/2)−4[(a/2)/4])×4 …(2)
ただし、aは、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際の論理上のメモリアドレスである。
【0019】
なお、混合回路は、データが前記メモリから出力された際のメモリアドレスの下位側の2ビットに基づいて、前記レジスタ側からの出力と前記演算論理ユニット側からの出力との混合する組み合せを変えて混合し、混合した出力を前記メモリへの書き換え用データに置き換えることが好ましい
【0020】
【発明の実施の形態】
以下に、第3世代携帯電話に搭載されるDSPを例にして、図面を参照して本発明の実施の形態を説明する。なお、各図はこの発明を理解できる程度に概略的に示してあるにすぎない。また、各図において、共通する要素については、同一の符号を付し、説明を省略する。
【0021】
図1は本発明に係るデータ処理装置の構成を示す図、図2は論理アドレス空間を示す図、図3は物理アドレス空間を示す図、図4は論理アドレス対物理アドレスの関係を示す図表、図5はシフト量を示す図表、図6は混合回路の構成を示す図、図7〜9は混合回路のシフト動作を示す図である。
【0022】
なお、本実施の形態に係るデータ処理装置(すなわち、DSP)は、偶数のアドレスを第1のメモリブロック19に格納し、奇数のアドレスを第2のメモリブロック21に格納している。そのため、DSPは第1のメモリブロック19と第2のメモリブロック21に同時にアクセスすることができ、メモリ17は一度に32ビットのデータを出力することができる。
【0023】
図1に示すDSPは、従来の構成に対し、アドレス変換回路31、セレクト信号生成回路33、混合回路35が付加されている。
【0024】
本実施の形態では、ALU13が扱うデータ空間(以下、論理アドレス空間という)とメモリ17上のデータ空間(以下、物理アドレス空間という)と区別して処理するようにした。また、論理アドレス空間上のアドレス(以下、論理アドレスという)から物理アドレス空間上のアドレス(以下、物理アドレスという)の変換が簡易に行なえるようにアドレス変換回路31を設けている。
【0025】
また、ALU13が読み出したデータは、参照されたデータの一部のみ書き替えされなくてはならない。例えば、ALU13が1行目のデータを読み出した場合に、ALU13による演算結果を1行目に格納することになるが、このときIパートデータI(1)とRパートデータR(1)は次の演算処理で必要となるので、一時保存しておく必要がある。そこで、本実施の形態では、参照したデータの一部を保存するとともに、ALU13による演算結果とマージしてメモリ17に書き戻す混合回路35を設けている。
【0026】
更に、演算処理はALU13が簡易に行なえることが望ましい。そこで、本実施の形態では、演算処理に用いるデータの位置が一定になるように、シフト量を論理アドレスから簡易に算出できるようにした。
【0027】
アドレス変換回路31は、メモリアドレス生成回路9から出力されるアドレスにそれを2ビットシフトした値を加算して、メモリ17からデータを読み出すまたはメモリ17にデータを書き込む際に実際に用いるアドレスを生成する。なお、アドレス生成回路9から出力されるアドレスを本実施の形態では論理アドレスと呼び、生成したアドレスを物理アドレスと呼ぶ。
【0028】
セレクト信号生成回路33は、データを所定ビットシフトして位相の調整を指示するあるいは内部回路の切り替えを指示するセレクト信号を生成し、それをシフター11や混合回路35に供給する。シフター11は、セレクト信号を受け取ることにより、データの先頭が0ビット目になるように、データを所定ビットシフトして位相を調整する。また混合回路35は、セレクト信号を受け取ることにより、データが元のビット位置(データがメモリ17から読み出された際のビット位置)になるように、位相を調整する。なお、本実施の形態では、セレクト信号としてデータのLSB側の2ビットを用いる。
【0029】
論理アドレスは、図2に示すように、10ビット幅のIパートデータとRパートデータとが連続し、その後に12ビット幅の未使用部が続くように構成されている。これに対して、物理アドレスは、図3に示すように、10ビット幅のIパートデータとRパートデータとが連続し、その後にIパートデータとRパートデータとが続くように構成されている。
【0030】
物理アドレスでは、12ビット幅の未使用部が削除され、その代わりに未使用部が存在していた領域に10ビット幅のIパートデータとRパートデータとが挿入される。そのため、論理アドレスと物理アドレスは、以下のような関係にある。
【0031】
すなわち、物理アドレスは、論理アドレスにそれを2ビットシフトした値を加算した値となる。
【0032】
図4は、論理アドレスと物理アドレスのオフセット量を示している。すなわち、例えば、論理アドレス空間におけるIパートデータの先頭が存在するアドレスと、これに対応する物理アドレス空間におけるIパートデータの先頭が存在するアドレスとの関係を示している。物理アドレス空間におけるIパートデータの先頭が存在するアドレスは、論理アドレス空間におけるIパートデータの先頭が存在するアドレスに応じて変化する。例えば、図4に示すように、論理アドレス空間におけるIパートデータI0〜I9の先頭が存在しているアドレス0,2,4,6,8,10,12,14,16,18…は、物理アドレス空間においてはアドレス0,1,2,3,5,6,7,8,10,11…となる。この関係を計算式で表現すると、以下の式1のようになる。
【0033】
A=(a/2)+[(a/2)/4] …(1)
ただし、Aは物理アドレス、aは10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際の論理上のメモリアドレス、[x]はxを越えない最大整数を意味するガウス記号である。
【0034】
また、図5は、論理アドレスと、参照したデータの基準位置(図5に示す例の場合、論理アドレスにおけるIパートデータInの先頭は0ビット目になる)からのシフト量の関係を示している。すなわち、例えば、論理アドレス空間におけるIパートデータの先頭のビット位置と物理アドレス空間におけるIパートデータの先頭のビット位置のシフト量の関係を示している。シフト量は、論理アドレス空間におけるIパートデータの先頭が存在するアドレスによって変化する。例えば、図5に示すように、論理アドレス空間におけるIパートデータI0〜I9の先頭のビット位置0,2,4,6,8,10,12,14,16,18…は、物理アドレス空間においてはアドレス0,4,8,12,0,4,8,12,0,4…となる。この関係を計算式で表現すると、以下の式2のようになる。
【0035】
B=(a/2)−4[(a/2)/4])×4 …(2)
ただし、Bは物理アドレス空間におけるビット位置、aは10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際の論理上のメモリアドレス、[x]はxを越えない最大整数を意味するガウス記号である。
【0036】
なお、この関係は、論理アドレスの最下位ビット(以下、LSBという)側の2ビットの4倍に相当する。
【0037】
この関係を、例えば、DSPがIパートデータI6とRパートデータR6からなるデータを読み出す場合を例にして以下に説明する。
【0038】
すなわち、IパートデータI6とRパートデータR6からなるデータの先頭は、論理アドレス空間上では論理アドレス12に存在するが、物理アドレス空間上では物理アドレス7に存在する。そこで、DSPは、図4に示す論理アドレス対物理アドレスの関係に基づいて、IパートデータI6とRパートデータR6からなるデータの先頭が物理アドレス空間上では物理アドレス7に存在することを割り出し、メモリ17の物理アドレス7からIパートデータI6とRパートデータR6からなるデータを読み出す。
【0039】
このとき、DSPは、ALU13における演算処理を容易化させるために、図5に示す論理アドレス対シフト量の関係に基づいて、メモリ17から読み出すデータを所定ビットシフトして位相の調整を行なう。例えば、IパートデータI6の先頭は物理アドレス7の0ビット目から数えて8ビット目の位置に存在するので、DSPは、シフター11によりIパートデータI6を右方向に8ビットシフトする。
【0040】
アドレス変換回路31は、このような関係に従って、メモリ17から読み出すまたはメモリ17に格納するデータのアドレスを変換する。また、セレクト信号生成回路33は、このような関係に従って、メモリ17から読み出したデータの中から演算処理に用いる部分を切り出す位置を決定する。
【0041】
混合回路35は、第1のルート23に沿ってALU13側から出力される演算結果と第3のルート23’に沿ってメモリ17側から出力されるデータとを混合する。
【0042】
以下に、混合回路35の動作を説明する。
【0043】
混合回路35は、図6に示すように、いわばレジスタとセレクタの集合体のような構成になっている。
【0044】
すなわち、混合回路35は、第1のメモリブロック19から読み出されたリードデータ[11:0](すなわち、ビット位置0〜11までの12ビットのデータ)が入力される4ビット幅の3つのレジスタからなる第1のレジスト群41と、ALU13(またはAcc15)側から出力される32ビット幅のデータが入力される4ビット幅の8つのレジスタからなる第2のレジスト群43と、第2のメモリブロック21から読み出されたリードデータ[15:4](すなわち、ビット位置4〜15までの12ビットのデータ)が入力される4ビット幅の3つのレジスタからなる第3のレジスト群45とを備えている。
【0045】
また、混合回路35は、第1のレジスト群41の3つのレジスタと第2のレジスト群43の中の最上位ビット(以下、MSBという)側の3つのレジスタとが、セレクタを介して接続されている。また、第2のレジスト群43の中の各レジスタは、LSB側からMSB側にかけて4つづつ、セレクタを介して接続されている。また、第2のレジスト群43の中のLSB側の3つのレジスタと第3のレジスタ群45の3つのレジスタとが、セレクタを介して接続されている。そして、各セレクタは、セレクト信号生成回路33と接続されており、そこからセレクト信号を受け取ることになる。本実施の形態では、セレクト信号として、論理アドレスのLSB2ビットを用いている。各セレクタは、セレクト信号生成回路33から論理アドレスのLSB2ビットが供給されると、その内容に応じて回路の切り替えを行なう。
【0046】
混合回路35は、例えば図7〜9に示すように動作する。
【0047】
(動作例1:DSPが論理アドレス0(I0,R0)をアクセスした場合)
DSPが論理アドレス0(I0,R0)をアクセスした場合、論理アドレスのLSB2ビットの値は00である。そのため、図4に示す論理アドレス対物理アドレスの関係から物理アドレスは0となる。このとき、混合回路35は、図7に示すように第2のレジスタ群43のMSB側の1〜5番目のレジスタからの出力と第3のレジスタ群45の3つのレジスタからの出力とを混合することになる。
【0048】
なお、動作例1において、DSPは以下のように動作する。
【0049】
まず、DSPは、第1及び第2のメモリブロック19,21の物理アドレス0と1からIパートデータI0とRパートデータR0を読み出す。このときのシフター11のシフト量は、論理アドレスのLSB2ビットの値が00であるので、0となる。そのため、ALU13にはリードデータであるIパートデータI0とRパートデータR0がそのまま入る。一方、混合回路35でも、論理アドレスのLSB2ビットの値が00となり、保存するリードデータの一部分であるデータ(1)を生成する。このとき生成するデータ(1)はI1[9:0]とR1[1:0]となる。I1[9:0]とR1[1:0]は以降の演算処理で使用するため、I1[9:0]とR1[1:0]が格納されている第2のメモリブロック21の4〜15ビット目はこの段階では上書きされてはならない。
【0050】
次に、DSPは、IパートデータI0,RパートデータR0と他のデータとの演算処理を実行し、更新データ(2)を生成する。この後、DSPは、IパートデータI0とRパートデータR0の更新データ(2)をAcc15から出力する。次に、混合回路35は、データ(1)と更新データ(2)を組み合わせ、第1及び第2のメモリブロック19,21の上書き用のライトデータ(3)を生成する。
【0051】
(動作例2:DSPが論理アドレス1(I1,R1)をアクセスした場合)
DSPが論理アドレス1(I1,R1)をアクセスした場合、論理アドレスのLSB2ビットは01である。そのため、図4に示す論理アドレス対物理アドレスの関係から物理アドレスは1となる。このとき、混合回路35は、図8に示すように第1のレジスタ群41のMSB側の1番目のレジスタからの出力と第2のレジスタ群43のMSB側の1〜5番目のレジスタからの出力と第3のレジスタ群45のLSB側の1〜2番目のレジスタからの出力とを混合することになる。
【0052】
なお、動作例2において、DSPは以下のように動作する。
【0053】
まず、DSPは、第1及び第2のメモリブロック19,21の物理アドレス1と2からIパートデータI1とRパートデータR1を読み出す。このときのシフター11のシフト量は、論理アドレスのLSB2ビットの値が01であるので、4となる。そのため、ALU13にはリードデータであるIパートデータI1とRパートデータR1を4ビット右にシフトした値が入る。一方、混合回路35でも、論理アドレスのLSB2ビットの値が01となり、保存するリードデータの一部分であるデータ(4)を生成する。このとき生成するデータ(4)はI2[7:0]とR2[9:0]となる。I2[7:0]とR2[9:0]は、以降の演算処理で使用するため、I2[7:0]とR2[9:0]が格納されている第1のメモリブロック19の8〜15ビット目と第2のメモリブロック21の0〜11ビット目はこの段階では上書きされてはならない。
【0054】
次に、DSPは、IパートデータI1,RパートデータR1と他のデータとの演算処理を実行し、更新データ(5)を生成する。この後、DSPは、IパートデータI1とRパートデータR1の更新データ(5)をAcc15から出力する。次に、混合回路35は、データ(4)と更新データ(5)を組み合わせ、第1及び第2のメモリブロック19,21の上書き用のライトデータ(6)を生成する。
【0055】
(動作例3:DSPが論理アドレス3(I3,R3)をアクセスした場合)
DSPが論理アドレス3(I3,R3)をアクセスした場合、論理アドレスのLSB2ビットの値は11である。そのため、図4に示す論理アドレス対物理アドレスの関係から物理アドレスは3となる。このとき、混合回路35は、図9に示すように第1のレジスタ群41の3つのレジスタからの出力と第2のレジスタ群43のMSB側の1〜5番目のレジスタからの出力とを混合することになる。
【0056】
なお、動作例3において、DSPは以下のように動作する。
【0057】
まず、DSPは、第1及び第2のメモリブロック19,21の物理アドレス3と4からIパートデータI3とRパートデータR3を読み出す。このときのシフター11のシフト量は、論理アドレスのLSB2ビットの値が11であるので、12となる。そのため、ALU13にはリードデータであるIパートデータI3とRパートデータR3を12ビット右にシフトした値が入る。一方、混合回路35でも、論理アドレスのLSB2ビットの値が11となり、保存するリードデータの一部分であるデータ(7)を生成する。このとき生成するデータ(7)はI4[9:0]とR4[5:0]となる。I4[9:0]とR4[5:0]は、以降の演算処理で使用するため、I4[9:0]とR4[5:0]が格納されている第2のメモリブロック21の0〜15ビット目はこの段階では上書きされてはならない。
【0058】
次に、DSPは、IパートデータI3,RパートデータR3と他のデータとの演算処理を実行し、更新データ(8)を生成する。この後、DSPは、IパートデータI3とRパートデータR3の更新データ(8)をAcc15から出力する。次に、混合回路35は、データ(7)と更新データ(8)を組み合わせ、第1及び第2のメモリブロック19,21の上書き用のライトデータ(9)を生成する。
【0059】
混合回路35は、このように動作する。そのため、DSPは、演算処理する際に、演算対象データが同じビット位置に格納されるので、不必要なシフト処理を行なう必要がなくなり、プログラムの高速化を達成することができる。
【0060】
以上説明した本発明には、10ビット幅のデータを16ビット幅のメモリでも空き領域なしで構成でき、メモリの使用量を向上させることができるという効果がある。また、本発明は、従来の装置に、アドレス変換回路31、セレクト信号生成回路33、混合回路35を付加しただけであるので、回路規模の増大も少ない。
【0061】
なお、本発明は上記の実施の形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の応用及び変形が考えられる。
【0062】
【発明の効果】
以上説明した本発明には、10ビット幅のデータを16ビット幅のメモリでも空き領域なしで構成でき、メモリの使用量を向上させることができるという効果がある。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置の構成を示す図である。
【図2】論理アドレス空間を示す図である。
【図3】物理アドレス空間を示す図である。
【図4】論理アドレス対物理アドレスの関係を示す図表である。
【図5】シフト量を示す図表である。
【図6】混合回路の構成を示す図である。
【図7】混合回路のシフト動作を示す図である。
【図8】混合回路のシフト動作を示す図である。
【図9】混合回路のシフト動作を示す図である。
【図10】従来のデータ処理装置の構成を示す図である。
【図11】2つのメモリブロックに格納されるデータの配置を示す図である。
【符号の説明】
9 アドレス生成回路
11 シフター
13 ALU
15 アキュムレータ
17 メモリ
19 第1のメモリブロック
21 第2のメモリブロック
23 第1のルート
23’ 第3のルート
25 第2のルート
31 アドレス変換回路
33 セレクト信号生成回路
35 混合回路

Claims (2)

  1. 16ビット幅のメモリと、
    演算論理ユニットと、
    前記演算論理ユニットが扱う論理アドレス空間上の論理アドレスと前記メモリが扱う物理アドレス空間上の物理アドレスとの変換を行なうアドレス変換回路と、
    データを所定ビットシフトさせるためのセレクト信号を生成するセレクト信号生成回路と、
    前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記メモリから出力されるデータを、データの先頭が0ビット目になるように、所定ビットシフトして位相を調整し、前記演算論理ユニットに出力するシフターと、
    前記メモリから出力されたデータを格納するとともに、前記演算論理ユニットに出力するレジスタと、
    前記メモリから参照したデータの一部を保持するとともに、前記セレクト信号生成回路から前記セレクト信号を受け取ることにより、前記演算論理ユニットによる演算結果とマージし、データが前記メモリから読み出された際のビット位置になるように、所定ビットシフトして位相を調整して、前記メモリへの置き換え用データとして前記メモリに出力する混合回路と、
    を有し、
    前記混合回路は、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅の前記メモリに格納する際に、未使用部を削除し、未使用部が存在していた領域に虚数部と実数部を格納するとともに、
    前記演算論理ユニットは、前記シフターを介して、データを前記メモリから読み出す際に、式1に基づくアドレスAの、式2に基づくビット位置Bから読み出すことを特徴とするデータ処理装置。
    A=(a/2)+[(a/2)/4] …(1)
    B=((a/2)−4[(a/2)/4])×4 …(2)
    ただし、aは、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際の論理上のメモリアドレスである。
  2. 請求項1に記載のデータ処理装置において、
    前記混合回路は、データが前記メモリから出力された際のメモリアドレスの下位側の2ビットに基づいて、前記レジスタ側からの出力と前記演算論理ユニット側からの出力との混合する組み合せを変えて混合し、混合した出力を前記メモリへの書き換え用データに置き換えることを特徴とするデータ処理装置。
JP2002240182A 2002-08-21 2002-08-21 データ処理装置 Expired - Fee Related JP3565830B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002240182A JP3565830B2 (ja) 2002-08-21 2002-08-21 データ処理装置
US10/643,875 US7219116B2 (en) 2002-08-21 2003-08-20 Data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002240182A JP3565830B2 (ja) 2002-08-21 2002-08-21 データ処理装置

Publications (2)

Publication Number Publication Date
JP2004078714A JP2004078714A (ja) 2004-03-11
JP3565830B2 true JP3565830B2 (ja) 2004-09-15

Family

ID=32023033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002240182A Expired - Fee Related JP3565830B2 (ja) 2002-08-21 2002-08-21 データ処理装置

Country Status (2)

Country Link
US (1) US7219116B2 (ja)
JP (1) JP3565830B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685399B2 (en) * 2007-01-07 2010-03-23 International Business Machines Corporation Method, system, and computer program products for data movement within processor storage
US10061581B2 (en) * 2014-01-31 2018-08-28 Qualcomm Incorporated On-the-fly conversion during load/store operations in a vector processor
US9478312B1 (en) * 2014-12-23 2016-10-25 Amazon Technologies, Inc. Address circuit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51147918A (en) 1975-06-13 1976-12-18 Mitsubishi Electric Corp Memory writing circuit
JPH0789439B2 (ja) 1985-08-23 1995-09-27 株式会社日立製作所 半導体集積回路装置
JPS63241647A (ja) 1987-03-30 1988-10-06 Toshiba Corp マイクロプロセツサ
JPH08123420A (ja) 1994-10-19 1996-05-17 Kawai Musical Instr Mfg Co Ltd 電子楽器
JPH08147458A (ja) 1994-11-18 1996-06-07 Matsushita Electric Ind Co Ltd メモリ制御装置
JP3737660B2 (ja) 1999-11-30 2006-01-18 株式会社東芝 ディジタル信号処理回路とこの回路を備えた通信装置
JP2002007110A (ja) 2000-06-27 2002-01-11 Toshiba Corp ディジタル信号処理装置
US6963964B2 (en) * 2002-03-14 2005-11-08 International Business Machines Corporation Method and apparatus for detecting pipeline address conflict using parallel compares of multiple real addresses
US7584233B2 (en) * 2005-06-28 2009-09-01 Qualcomm Incorporated System and method of counting leading zeros and counting leading ones in a digital signal processor

Also Published As

Publication number Publication date
JP2004078714A (ja) 2004-03-11
US20040158596A1 (en) 2004-08-12
US7219116B2 (en) 2007-05-15

Similar Documents

Publication Publication Date Title
US6397318B1 (en) Address generator for a circular buffer
US6560691B2 (en) Modulus address generator and method for determining a modulus address
JPH08505510A (ja) 複数のデータプロトコルに適用可能な復調器論理ユニット
JP3565830B2 (ja) データ処理装置
US6263356B1 (en) Fast fourier transform calculating apparatus and fast fourier transform calculating method
JP3788105B2 (ja) 階調補正装置、画像表示装置および階調補正方法
JP4696196B2 (ja) パラレル/シリアル変換する回路装置
US6282623B1 (en) Method for digital signal processing, DSP, mobile communication and audi o-device
JP3560596B2 (ja) 演算装置及びデータの読出方法
GB2274181A (en) Summation unit.
US7565595B2 (en) Convolutional interleaving and de-interleaving circuit and method thereof
JPH10303854A (ja) デインタリーブ装置
JP4686104B2 (ja) Dmaコントローラ
JP3722821B2 (ja) 演算方法
JP2940384B2 (ja) 電子楽器
JP3833371B2 (ja) Ic試験装置の周期・タイミング発生器
JP3850150B2 (ja) デジタル信号処理動作を実行する方法およびデジタル信号プロセッサ
JPH0423511A (ja) Pwm出力回路
US7685221B1 (en) Efficient remainder calculation for even divisors
JPH0221774Y2 (ja)
JP3166781B2 (ja) 加算回路
US20070286529A1 (en) Table value conversion device and method for converting and writing table value
JP3252297B2 (ja) ディジタルフィルタ装置付波形データ出力装置
KR930011733B1 (ko) 전자악기용 음원장치의 출력회로
KR950005801B1 (ko) 그래픽 시스템의 영상데이타 전송 회로

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040206

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040517

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: 20040608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040608

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: 20080618

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 6

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: 20100618

Year of fee payment: 6

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: 20110618

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees