JP2004078714A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2004078714A JP2004078714A JP2002240182A JP2002240182A JP2004078714A JP 2004078714 A JP2004078714 A JP 2004078714A JP 2002240182 A JP2002240182 A JP 2002240182A JP 2002240182 A JP2002240182 A JP 2002240182A JP 2004078714 A JP2004078714 A JP 2004078714A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- memory
- address
- bits
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/4806—Computations with complex numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge 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)
Abstract
【解決手段】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ビット幅のメモリに格納する際の論理上のメモリアドレスとする。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、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】
【課題を解決するための手段】
上記課題を解決するために本発明に係るデータ処理装置は、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際に、未使用部を削除し、未使用部が存在していた領域に虚数部と実数部を格納するとともに、データを前記メモリから読み出す際に、式1に基づくアドレスAの、式2に基づくビット位置Bから読み出すことを特徴とする。
【0018】
A=(a/2)+[(a/2)/4] …(1)
B=(a/2)−4[(a/2)/4] …(2)
ただし、aは、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際の論理上のメモリアドレスである。
【0019】
また、他の発明に係るデータ処理装置は、メモリから出力されたデータを格納するとともに、ALUに提供するレジスタと、データが前記メモリから出力された際のメモリアドレスの下位側の2ビットに基づいて、前記レジスタ側からの出力と前記ALU側からの出力との混合する組合せを変えて混合し、混合した出力を前記メモリへの書き換え用データに置き換える混合回路と、を有することを特徴とする。
【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] …(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)
- 10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際に、未使用部を削除し、未使用部が存在していた領域に虚数部と実数部を格納するとともに、
データを前記メモリから読み出す際に、式1に基づくアドレスAの、式2に基づくビット位置Bから読み出すことを特徴とするデータ処理装置。
A=(a/2)+[(a/2)/4] …(1)
B=(a/2)−4[(a/2)/4] …(2)
ただし、aは、10ビット幅の虚数部と10ビット幅の実数部と12ビット幅の未使用部からなる32ビット幅のデータを16ビット幅のメモリに格納する際の論理上のメモリアドレスである。 - メモリから出力されたデータを格納するとともに、演算論理ユニットに提供するレジスタと、
データが前記メモリから出力された際のメモリアドレスの下位側の2ビットに基づいて、前記レジスタ側からの出力と前記演算論理ユニット側からの出力との混合する組み合せを変えて混合し、混合した出力を前記メモリへの書き換え用データに置き換える混合回路と、
を有することを特徴とするデータ処理装置。
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 true JP2004078714A (ja) | 2004-03-11 |
JP3565830B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017508201A (ja) * | 2014-01-31 | 2017-03-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換 |
Families Citing this family (2)
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 |
US9478312B1 (en) | 2014-12-23 | 2016-10-25 | Amazon Technologies, Inc. | Address circuit |
Family Cites Families (9)
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 |
-
2002
- 2002-08-21 JP JP2002240182A patent/JP3565830B2/ja not_active Expired - Fee Related
-
2003
- 2003-08-20 US US10/643,875 patent/US7219116B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017508201A (ja) * | 2014-01-31 | 2017-03-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換 |
Also Published As
Publication number | Publication date |
---|---|
JP3565830B2 (ja) | 2004-09-15 |
US20040158596A1 (en) | 2004-08-12 |
US7219116B2 (en) | 2007-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3027970B2 (ja) | デイジタル信号プロセツサメモリ管理ユニツトおよびその方法 | |
KR100283827B1 (ko) | 효율적인 비트 이동 능력을 갖춘 데이터 프로세서 및 그 방법 | |
US6560691B2 (en) | Modulus address generator and method for determining a modulus address | |
JPH07168753A (ja) | モジュロ加算回路およびその動作方法 | |
JP3565830B2 (ja) | データ処理装置 | |
JP4696196B2 (ja) | パラレル/シリアル変換する回路装置 | |
US6282558B1 (en) | Data processing system and register file | |
EP0880101A2 (en) | Apparatus and method for Fast Fourier Transform | |
US5490100A (en) | Cumulative summation unit | |
JPH0310380A (ja) | 画像変換回路 | |
US7565595B2 (en) | Convolutional interleaving and de-interleaving circuit and method thereof | |
JP3560596B2 (ja) | 演算装置及びデータの読出方法 | |
EP0986005A1 (en) | FIFO memory device and method for controlling same | |
US6529929B2 (en) | Quantization device and method using prime number dividers | |
US7028163B2 (en) | Apparatus for controlling multi-word stack operations using a multi-bank stack in digital data processors | |
US6760790B2 (en) | Direct access controller | |
US20050289320A1 (en) | Semiconductor device, microcomputer, and electronic equipment | |
JP2004253000A (ja) | 演算方法 | |
JP2003316722A (ja) | Dmaコントローラ | |
US6131108A (en) | Apparatus, and associated method, for generating multi-bit length sequences | |
US6785343B1 (en) | Rectangular-to-polar conversion angle quantizer | |
JP3166781B2 (ja) | 加算回路 | |
JPS619725A (ja) | マイクロプログラム制御回路 | |
EP1031988A1 (en) | Method and apparatus for accessing a memory core | |
JP2012014397A (ja) | 入出力制御装置、及び情報処理装置 |
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 |