JP3722821B2 - Calculation method - Google Patents
Calculation method Download PDFInfo
- Publication number
- JP3722821B2 JP3722821B2 JP2004117747A JP2004117747A JP3722821B2 JP 3722821 B2 JP3722821 B2 JP 3722821B2 JP 2004117747 A JP2004117747 A JP 2004117747A JP 2004117747 A JP2004117747 A JP 2004117747A JP 3722821 B2 JP3722821 B2 JP 3722821B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- stored
- output
- alu
- 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
Links
Images
Description
本発明は、1ワードのビット幅が標準的な2のn乗ビットでないデータの演算処理を行う演算方法に関する。 The present invention relates to an arithmetic method for performing arithmetic processing of data in which the bit width of one word is not a standard 2 n bit.
画像や音声等を出力するまたは加工する装置の中には、画像や音声の品位を向上させるために、あるいは画像や音声に付加的な情報を添付するために、1ワードのビット幅が標準的な2のn乗ビットでないデータを用いるものがある。このような装置として、例えば、いわゆる第3世代携帯電話や複数階調の画像データを発生する情報処理装置等がある。このような装置は、デジタルシグナルプロセッサ(以下、DSPという)やその他の演算装置を搭載しており、これにより1ワードのビット幅を標準的な2のn乗ビットに変換して様々な演算処理を行う。 Some devices that output or process images, sounds, etc. have a standard 1-bit bit width to improve the quality of images and sounds, or to attach additional information to images and sounds. There are some which use data that is not 2 n bits. Examples of such a device include a so-called third generation mobile phone and an information processing device that generates image data of multiple gradations. Such a device is equipped with a digital signal processor (hereinafter referred to as a DSP) and other arithmetic devices, thereby converting the bit width of one word into a standard 2 n-bit bit and performing various arithmetic processing. I do.
以下に、第3世代携帯電話に搭載されるDSPを例にして、従来の演算装置を説明する。 A conventional arithmetic device will be described below by taking a DSP mounted on a third generation mobile phone as an example.
第3世代携帯電話は、常に良好な通信が行なえるように、DSPを用いて広い周波数帯域の中からいくつかの特定帯域の信号を抽出する。そして、その中から特に受信感度の高い周波数帯域を選択して通信を行なう。なお、このとき、DSPは、通常、後述のデジタルマッチドフィルタ(以下、DMFという)アルゴリズムと称される手法を用いて特定帯域の信号のパス強度を強調し、これにより特定帯域の信号を抽出する。 The third generation mobile phone uses a DSP to extract several specific band signals from a wide frequency band so that good communication can always be performed. Then, communication is performed by selecting a frequency band having particularly high reception sensitivity from among them. At this time, the DSP usually emphasizes the path strength of a signal in a specific band using a technique called a digital matched filter (hereinafter referred to as DMF) algorithm, which will be described later, thereby extracting the signal in the specific band. .
図19は従来の演算装置の構成を示す図、図20及び図21は2つのメモリブロックに格納されるデータの配置を示す図、図22及び図23はDMFアルゴリズムの概要を示す図、図24〜図27はDMFアルゴリズムの算術式を示す図表である。なお、ここでは、各ブロック間でのデータの伝送処理や演算手段での演算処理は32ビット単位で行われるものとして説明する。 19 is a diagram showing the configuration of a conventional arithmetic unit, FIGS. 20 and 21 are diagrams showing the arrangement of data stored in two memory blocks, FIGS. 22 and 23 are diagrams showing an outline of the DMF algorithm, and FIG. FIG. 27 is a chart showing arithmetic expressions of the DMF algorithm. In the following description, it is assumed that data transmission processing between blocks and arithmetic processing by arithmetic means are performed in units of 32 bits.
図19中、シフター11は、演算処理を容易化させるために、後述のアキュムレータ15やメモリ17から伝送されるデータを所定ビットシフトして位相の調整を行う。演算論理ユニット(以下、ALUという)13は、シフター11から伝送されるデータや後述のアキュムレータ15から伝送されるデータに基づいて、後述のDMFアルゴリズムによる演算を実行する。アキュムレータ15はALU13による演算結果を格納するレジスタであり、Acc0とAcc1の2つのブロックからなる。なお、アキュムレータ15に格納された演算結果は、第1のルート23に沿ってメモリ17に出力される。また、図示しない制御部の制御に基づいて、所定の演算処理時に第2のルート25に沿ってALU13に伝送され、そこで後続の演算処理に供される。
In FIG. 19, the
メモリ17は、所定ビット(図19に示す従来例では16ビット)幅の第1のメモリブロック19と第2のメモリブロック21を備え、アキュムレータ15から伝送されるALU13による演算結果を格納する。
The
なお、図20にメモリ17に格納されるデータの大まかな配置を、更に図21にメモリ17に格納されるデータの詳細な配置を示す。メモリ17は、IパートデータとRパートデータの組合せによる演算結果のうち、Iパートデータを第1のメモリブロック19に、Rパートデータを第2のメモリブロック21に格納する。そして、メモリ17は、演算結果の各ワードが所定ビット(16ビット)幅未満である場合に、不足するビット幅分だけ未使用データを格納する。例えば、図20及び図21に示す例では、IパートデータとRパートデータがそれぞれ10ビット幅であるので、メモリ17は6ビット幅の未使用データを第1のメモリブロック19と第2のメモリブロック21のそれぞれに格納している。なお、図21中、「[−In−]」はIパートデータを格納している領域、「[−Rn−]」はRパートデータを格納している領域、「*」は未使用データを格納している領域を示している。
20 shows a rough arrangement of data stored in the
なお、16ビット幅のメモリ17に32ビット幅のALU13を接続するのは、乗算演算により演算幅が増大した場合に対応するためであるが、メモリ17は16ビット幅に限らず、4や32等、2のn乗のビット幅にすることも可能である。ただし、現時点では、16ビット幅のメモリが広く普及している上、コストも安いので、DSPのコストを低減させるには16ビット幅のものが望ましい。
The reason why the
以下に、DMFアルゴリズムについて説明する。図22及び図23はDMFアルゴリズムの概要を示す図、図24〜図27はDMFアルゴリズムの算術式を示す図表である。 The DMF algorithm will be described below. 22 and 23 are diagrams showing an outline of the DMF algorithm, and FIGS. 24 to 27 are tables showing arithmetic expressions of the DMF algorithm.
図22中、「+」は加算演算を示し、「*」は乗算演算を示す。ただし、乗算演算*は、DMFアルゴリズムにおける乗数が1または−1であるため、実際は符号が変わらないか反転することになるだけである。なお、加算回路や乗算回路の構成については特に問わないので、ここでは説明を省略する。 In FIG. 22, “+” indicates an addition operation, and “*” indicates a multiplication operation. However, since the multiplication operation * has a multiplier of 1 or −1 in the DMF algorithm, in actuality, the sign does not change or is merely inverted. Note that the configuration of the adder circuit and the multiplier circuit is not particularly limited, and a description thereof will be omitted here.
D1…8はデータの遅延値を示し、D1の出力データは128サイクル前の入力データ、D2の出力データは64サイクル前の入力データ、D3の出力データは16サイクル前の入力データ、D4の出力データは32サイクル前の入力データ、D5の出力データは8サイクル前の入力データ、D6の出力データは1サイクル前の入力データ、D7の出力データは4サイクル前の入力データ、D8の出力データは2サイクル前の入力データとなる。W1…8は遅延値Dに乗算される乗算係数を示し、W1は1、W2は−1、W3は1、W4は1、W5は1、W6は1、W7は1、W8は1となる。これら遅延値D1…8や乗算係数W1…8の値は、演算結果が特定な遅延値の信号(すなわち、特定帯域の信号)のパス強度を強調した値となるように、固定的に設定されている。ALU13はDMFアルゴリズムを用いた演算を行うことにより特定帯域の信号を強調することができ、これによって特定帯域の信号を抽出可能となる。
D 1 ... 8 indicates a delay value of data, output data of D 1 is input data before 128 cycles, output data of D 2 is input data before 64 cycles, and output data of D 3 is input data before 16 cycles. ,
図23は図22における各演算過程の入出力を示し、図24〜図27は図23における各入出力の関係を示している。図23に示すように、各入出力A1〜A8、B1〜B8、C1〜C8、C1’〜C3’、C5’、C7’は、入力A0を起点としている。各入出力の関係を表す算術式を図24に、また、B1〜B8の値を図25に、C1〜C8の値を図26に、C1’〜C3’、C5’及びC7’の値を図27に示す。 FIG. 23 shows the input / output of each calculation process in FIG. 22, and FIGS. 24-27 show the relationship of each input / output in FIG. As shown in FIG. 23, the inputs / outputs A 1 to A 8 , B 1 to B 8 , C 1 to C 8 , C 1 ′ to C 3 ′, C 5 ′, and C 7 ′ start from the input A 0 . It is said. FIG. 24 shows an arithmetic expression representing the relationship between the inputs and outputs, FIG. 25 shows the values of B 1 to B 8 , and FIG. 26 shows the values of C 1 to C 8 , C 1 ′ to C 3 ′, C 5. The values of 'and C 7 ' are shown in FIG.
なお、遅延値D1〜D8の各出力A1〜A8は、遅延値D1〜D8の値がそれぞれ128,64,16,32,8,1,4,2サイクルであるので、A0の値を起点にしてそれぞれ128,128+64=192,192+16=208,208+32=240,240+8=248,248+1=249,249+4=253,253+2=255サイクル遅延した値となる。例えば入力A0の値をx0とする場合に、D1の出力A1の値はx128、D2の出力A2の値はx192、D3の出力A3の値はx208、D4の出力A4の値はx240、D5の出力A5の値はx248、D6の出力A6の値はx249、D7の出力A7の値はx253、D8の出力A8の値はx255となる。
Each output A 1 to A 8 delay value D 1 to D 8, since the value of the delay value D 1 to D 8 is respectively 128,64,16,32,8,1,4,2 cycle, Starting from the value of A 0 , 128, 128 + 64 = 192, 192 + 16 = 208, 208 + 32 = 240, 240 + 8 = 248, 248 + 1 = 249, 249 + 4 = 253, 253 + 2 = 255 cycles, respectively. For example, when the value of the input A 0 is x 0 , the value of the output A 1 of D 1 is x 128 , the value of the output A 2 of D 2 is x 192 , the value of the output A 3 of D 3 is x 208 , output a 7 value x 253 values of the output a 4 of the D 4 is x 240, the value x 249 output a 6 of the value of the output a 5 of the D 5 is x 248, D 6, D 7 ,
DMFアルゴリズムによる演算結果は、DMFアルゴリズムの上の段による演算結果(例えばC1〜C8の値)はアキュムレータ15のAcc1に格納され、下の段による演算結果(例えばC1’〜C3’及びC5’及びC7’の値)はアキュムレータ15のAcc0に格納される。
As for the calculation result by the DMF algorithm, the calculation result by the upper stage of the DMF algorithm (for example, values of C 1 to C 8 ) is stored in Acc 1 of the
従来のDSPは、一度に16ビットのデータをメモリ17からALU13に出力する。しかしながら、演算処理に用いるデータは、そのうちの10ビット分だけである。そのため、従来の演算装置は、一度に6ビットのデータを無駄にALU13に出力していた。
The conventional DSP outputs 16-bit data from the
またALU13は32ビット幅の演算器(図示せず)を内蔵するが、ALU13は、そのうちの10ビット幅分しか使用していない。そのため、従来の演算装置は、22ビット幅分の演算器を無駄にしていた。
The ALU 13 incorporates a 32-bit wide computing unit (not shown), but the
このように、従来の演算装置は、1ワードが標準的なビット幅でないデータを用いて演算処理する場合に、IパートデータとRパートデータの間に未使用部を配置しているためALU13に内蔵される演算器やメモリ17の使用に無駄が発生し、特にDMFアルゴリズムによる演算処理を行なう際に、演算能力やメモリを有効に活用できないという問題点があった。
As described above, when the arithmetic unit performs processing using data whose one word is not a standard bit width, an unused part is arranged between the I part data and the R part data. The use of the built-in arithmetic unit and the
この発明に係る演算方法は、このような課題を解決するために、メモリの第1アドレスで指定される領域に格納されている第1及び第2のデータ列を読み出し、メモリの第2アドレスで指定される領域に格納されている第3及び第4のデータ列を読み出し、読み出されたデータ列の中の第4のデータ列をレジスタに一時的に格納し、読み出されたデータ列の中の第2及び第3のデータ列をシフトし、読み出されたデータ列の中の第1のデータ列とシフトされた第2及び第3のデータ列とを用いて演算し、レジスタに一時的に格納された第4のデータ列と演算により得られたデータ列とを混合し、混合されたデータ列の中の演算により得られたデータ列をメモリの第1アドレスで指定される領域に格納し、混合されたデータの中の第4のデータ列をメモリの第2アドレスで指定される領域に格納する。 In order to solve such a problem, the calculation method according to the present invention reads the first and second data strings stored in the area specified by the first address of the memory and uses the second address of the memory. The third and fourth data strings stored in the designated area are read, the fourth data string in the read data string is temporarily stored in the register, and the read data string The second and third data strings are shifted, the first data string in the read data string and the shifted second and third data strings are operated, and temporarily stored in the register to stored mixing the obtained data string by the fourth data string and arithmetic, the region data string obtained by the calculation in the mixed data sequence specified by the first address of the memory 4th data in the mixed data stored in The stored in the area specified by the second address memory.
この発明に係る演算方法は、DMF処理における使用メモリ量を低減できるという効果を有する。
また、この発明に係る演算方法は、例えば、読み出されたデータのうち、演算に供しない部分を第4のデータ列とすることにより、演算に供しない部分を演算するための時間を必要とせずに、簡易に出力データを生成することができるという効果、および、上書き時に未使用データをそのまま書き出すことができるという効果も有する。
The calculation method according to the present invention has the effect that the amount of memory used in DMF processing can be reduced.
In the calculation method according to the present invention, for example, the portion of the read data that is not used for calculation is set as the fourth data string, thereby requiring time for calculating the portion that is not used for calculation. In addition, there is an effect that output data can be easily generated, and an effect that unused data can be written as it is at the time of overwriting.
本実施の形態は、16ビット幅のレジスタと混合回路を設け、制御部に特殊な制御をさせることにより、使用メモリ量(特に、DMFアルゴリズムに基づく演算処理時における使用メモリ量)を従来の2/3に低減することを目的とする。 In the present embodiment, a 16-bit width register and a mixing circuit are provided, and the control unit performs special control, thereby reducing the amount of memory used (particularly, the amount of memory used during arithmetic processing based on the DMF algorithm). The purpose is to reduce to / 3.
図1は本発明に係る演算装置の構成を示す図である。 FIG. 1 is a diagram showing a configuration of an arithmetic unit according to the present invention.
本発明に係る演算装置は、1ワードが標準的な2のn乗のビット幅でないデータの演算を、高速に少ないメモリ量で行えるように構成されている。 The arithmetic device according to the present invention is configured so that one word can be operated at a high speed and with a small amount of memory with a data not having a standard 2 n bit width.
以下に、第3世代携帯電話に搭載されるDSPを例にして、本発明の実施の形態を説明する。なお、各図は本発明を理解できる程度に概略的に示してあるにすぎない。また、各図において、共通する要素については、同一の符号を付し、説明を省略する。 The embodiment of the present invention will be described below by taking a DSP installed in a third generation mobile phone as an example. Each figure is only shown schematically to the extent that the present invention can be understood. Moreover, in each figure, about the common element, the same code | symbol is attached | subjected and description is abbreviate | omitted.
本実施の形態に係るDSPは、図1に示すように、レジスタ27と混合回路29とを備えている。レジスタ27は、メモリ17から出力されるデータを一時格納するために設けられている。混合回路29は、メモリ17から出力されるデータ(すなわち、レジスタ27に一時格納されたデータ)に対し、その一部をALU13’から出力されるデータに置き換えるために設けられている。なお、レジスタ27と混合回路29も、他の要素と同様に、図示しない制御部によって制御されている。また、本実施の形態に係るALU13’は、後述するように、分割信号Kが入力されることにより任意の位置でキャリー信号を分割する機能が付加されている。
The DSP according to the present embodiment includes a
ところで、本実施の形態は、メモリ17として、既に大量に普及している汎用的なメモリを利用可能とすることが意図されている。そこで、本実施の形態では、メモリ17に格納するデータを図2〜図12に示すように配列するとともに、ALU13’が演算し易くなるように、図示しない制御部によってメモリ17に対して特殊な制御を行っている。
By the way, the present embodiment is intended to make it possible to use a general-purpose memory that is already widely used as the
図2〜図12は、2つのメモリブロックに格納されるデータの配置を示す図であり、図2にはメモリ17に格納されるデータの大まかな配置が、また図3〜図12にはメモリ17に格納されるデータの詳細な配置が示されている。なお、図3〜図12中、「[−In−]」はIパートデータを格納している領域、「[−Rn−]」はRパートデータを格納している領域、「*」は未使用データを格納している領域を示している。
2 to 12 are diagrams showing the arrangement of data stored in two memory blocks. FIG. 2 shows a rough arrangement of data stored in the
図2〜図12に示すように、メモリ17は、10ビット幅のIパートデータと10ビット幅のRパートデータの組合せによるデータに4ビット幅の未使用データを付加して24ビット幅のデータとし、これらを各16ビット幅の第1及び第2のメモリブロック19、21の中に連続して格納する。本実施の形態は、データをこのように格納することにより、メモリ17の未使用領域を従来の12/32=37.5%分から4/32=12.5%分に低減している。
As shown in FIGS. 2 to 12, the
なお、未使用データのビット幅は、後述の理由により、後続のデータの先頭が0ビット目または8ビット目から始まるようにするのが望ましい。例えば、図2に示す例では、Iパートデータのビット幅が10ビット、Rパートデータのビット幅が10ビットであるので、未使用データのビット幅は4ビットになっている。仮に、IパートデータやRパートデータのビット幅が変われば、これに応じて後続のデータの先頭が0ビット目または8ビット目から始まるように、未使用データのビット幅も変えるのが望ましい。 The bit width of unused data is desirably set so that the head of subsequent data starts from the 0th bit or the 8th bit for reasons described later. For example, in the example shown in FIG. 2, the bit width of the I part data is 10 bits and the bit width of the R part data is 10 bits, so the bit width of the unused data is 4 bits. If the bit width of the I part data or the R part data changes, it is desirable to change the bit width of the unused data so that the head of the subsequent data starts from the 0th bit or the 8th bit accordingly.
本実施の形態では、図示しない制御部は、メモリ17に対して以下のような制御を行う。
In the present embodiment, a control unit (not shown) performs the following control on the
すなわち、例えば、メモリ17には図3〜図12に示すようなデータが格納されているものとする。
That is, for example, it is assumed that the
図示しない制御部は、図22及び図23に示すDMFアルゴリズムに基づいて入力A0をALU13’に供給する。ここでは、入力A0は、I0パートデータとR0パートデータとする。I0パートデータとR0パートデータは、メモリ17のアドレス0と1に格納されている。そこで、図示しない制御部は、メモリ17のアドレス0と1に格納されていたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をアキュムレータ(以下、Accという)15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に、後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス0と1に格納させる。
A control unit (not shown) supplies the input A 0 to the
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D1の出力A1をALU13’に供給する。ここでは、出力A1は、遅延値D1の値が128サイクルであるので0+128=128サイクル遅延して格納されたデータとなる。すなわち、I128パートデータとR128パートデータとなる。I128パートデータとR128パートデータは、メモリ17のアドレス192と193に格納されている。そこで、図示しない制御部は、メモリ17のアドレス192と193に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス192と193に格納させる。
The control unit (not shown) supplies an output A 1 of the delay values D 1 to ALU 13 'based on the DMF algorithm. Here, since the value of the delay value D 1 is 128 cycles, the output A 1 is stored data with a delay of 0 + 128 = 128 cycles. That is, I128 part data and R128 part data. The I128 part data and R128 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D2の出力A2をALU13’に供給する。ここでは、出力A2は、遅延値D2の値が64サイクルであるので128+64=192サイクル遅延して格納されたデータとなる。すなわち、I192パートデータとR192パートデータとなる。I192パートデータとR192パートデータは、メモリ17のアドレス288と289に格納されている。そこで、図示しない制御部は、メモリ17のアドレス288と289に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス288と289に格納させる。
The control unit (not shown) supplies an output A 2 of the delay value D 2 to ALU 13 'based on the DMF algorithm. Here, the output A 2 is stored data with a delay of 128 + 64 = 192 cycles since the value of the delay value D 2 is 64 cycles. That is, I192 part data and R192 part data. The I192 part data and R192 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D3の出力A3をALU13’に供給する。ここでは、出力A3は、遅延値D3の値が16サイクルであるので192+16=208サイクル遅延して格納されたデータとなる。すなわち、I208パートデータとR208パートデータとなる。I208パートデータとR208パートデータは、メモリ17のアドレス312と313に格納されている。そこで、図示しない制御部は、メモリ17のアドレス312と313に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス312と313に格納させる。
The control unit (not shown) supplies an output A 3 of the delay value D 3 to ALU 13 'based on the DMF algorithm. Here, the output A 3 is stored data with a delay of 192 + 16 = 208 cycles since the value of the delay value D 3 is 16 cycles. That is, I208 part data and R208 part data. The I208 part data and R208 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D4の出力A4をALU13’に供給する。ここでは、出力A4は、遅延値D4の値が32サイクルであるので208+32=240サイクル遅延して格納されたデータとなる。すなわち、I240パートデータとR240パートデータとなる。I240パートデータとR240パートデータは、メモリ17のアドレス360と361に格納されている。そこで、図示しない制御部は、メモリ17のアドレス360と361に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス360と361に格納させる。
The control unit (not shown) supplies an output A 4 of the delay values D 4 to ALU 13 'based on the DMF algorithm. Here, the output A 4 is the data stored with a delay of 208 + 32 = 240 cycles because the value of the delay value D 4 is 32 cycles. That is, it becomes I240 part data and R240 part data. The I240 part data and R240 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D5の出力A5をALU13’に供給する。ここでは、出力A5は、遅延値D5の値が8サイクルであるので240+8=248サイクル遅延して格納されたデータとなる。すなわち、I248パートデータとR248パートデータとなる。I248パートデータとR248パートデータは、メモリ17のアドレス372と373に格納されている。そこで、図示しない制御部は、メモリ17のアドレス372と373に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス372と373に格納させる。
The control unit (not shown) supplies an output A 5 of the delay values D 5 to ALU 13 'based on the DMF algorithm. Here, the output A 5 is the data stored with a delay of 240 + 8 = 248 cycles because the value of the delay value D 5 is 8 cycles. That is, I248 part data and R248 part data. The I248 part data and R248 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D6の出力A6をALU13’に供給する。ここでは、出力A6は、遅延値D6の値が1サイクルであるので248+1=249サイクル遅延して格納されたデータとなる。すなわち、I249パートデータとR249パートデータとなる。I249パートデータとR249パートデータは、メモリ17のアドレス373と374に格納されている。そこで、図示しない制御部は、メモリ17のアドレス373と374に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス373と374に格納させる。
The control unit (not shown) supplies an output A 6 of the delay values D 6 to ALU 13 'based on the DMF algorithm. Here, the output A 6 is stored data with a delay of 248 + 1 = 249 cycles since the value of the delay value D 6 is one cycle. That is, it becomes I249 part data and R249 part data. The I249 part data and the R249 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D7の出力A7をALU13’に供給する。ここでは、出力A7は、遅延値D7の値が4サイクルであるので249+4=253サイクル遅延して格納されたデータとなる。すなわち、I253パートデータとR253パートデータとなる。I253パートデータとR253パートデータは、メモリ17のアドレス379と380に格納されている。そこで、図示しない制御部は、メモリ17のアドレス379と380に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス379と380に格納させる。
The control unit (not shown) supplies an output A 7 of the delay value D 7 to ALU 13 'based on the DMF algorithm. Here, the output A 7 is stored data with a delay of 249 + 4 = 253 cycles since the value of the delay value D 7 is 4 cycles. That is, I253 part data and R253 part data. The I253 part data and R253 part data are stored at
また、図示しない制御部は、DMFアルゴリズムに基づいて遅延値D8の出力A8をALU13’に供給する。ここでは、出力A8は、遅延値D8の値が2サイクルであるので253+2=255サイクル遅延して格納されたデータとなる。すなわち、I255パートデータとR255パートデータとなる。I255パートデータとR255パートデータは、メモリ17のアドレス382と383に格納されている。そこで、図示しない制御部は、メモリ17のアドレス382と383に格納されたデータを、シフター11を介してALU13’に供給するとともに、レジスタ27にも供給してそこに一時格納させる。次に、図示しない制御部は、ALU13’に一演算処理を実行させ、その演算結果をAcc15に一時格納させる。次に、レジスタ27に一時格納させたデータを混合回路29に出力させるとともに、Acc15に一時格納された演算結果を混合回路29に出力させる。次に、混合回路29に後述する制御によって両者を混合させ、混合結果をメモリ17に出力させる。次に、メモリ17に、混合結果を元のアドレスであるアドレス382と383に格納させる。
The control unit (not shown) supplies an output A 8 delay value D 8 to ALU 13 'based on the DMF algorithm. Here, the output A 8 is stored data with a delay of 253 + 2 = 255 cycles because the value of the delay value D 8 is 2 cycles. That is, I255 part data and R255 part data. The I255 part data and R255 part data are stored at
この後、アドレス383のI255パートデータとR255パートデータには、次の遅延値D1の入力A0が配置される。そして、次の演算処理時において、図示しない制御部は、アドレス383を新たなアドレス0と見なして上述した動作と同様の動作を実行する。
Thereafter, the input A 0 of the next delay value D 1 is arranged in the I255 part data and the R255 part data at the
なお、上述した動作において、データが遷移するパターンは3通りあり、それぞれを図13(a)〜(c)に示す。なお、図13は2つのメモリブロックに格納されるデータの遷移過程を示す図である。図13中、無地の領域はデータが更新される部分を示しており、斜線を付した領域はデータが更新されない部分を示している。 In the above-described operation, there are three patterns of data transition, which are shown in FIGS. FIG. 13 is a diagram showing a transition process of data stored in two memory blocks. In FIG. 13, a plain area indicates a portion where data is updated, and a hatched area indicates a portion where data is not updated.
図13(a)〜(c)に示す各パターンの遷移過程において、DSPの各構成は以下のように動作する。 In the transition process of each pattern shown in FIGS. 13A to 13C, each configuration of the DSP operates as follows.
図13(a)に示すパターン1において、まず図示しない制御部は、第1のメモリブロック19からアドレスnに格納されたデータを読み出すとともに、第2のメモリブロック21からアドレスn+1に格納されたデータを読み出し、シフター11とレジスタ27に出力する。なお、アドレスnに格納されたデータとはI0パートデータとR0パートデータの一部である。またアドレスn+1に格納されたデータとはR0パートデータの一部と未使用データとI1パートデータである。
In the
シフター11は、アキュムレータ15やメモリ17から伝送されるデータを所定ビットシフトして位相の調整を行う。そして、その結果をALU13’に出力する。
The
図14は本実施の形態に係るALU13’の内部構成を示す図である。図14中、AとBはシフター11を介して第1及び第2のメモリブロック19、21から伝送されるデータ、Cはキャリー信号、Kは分割信号、Xは出力信号、FAは加算演算回路である。
FIG. 14 is a diagram showing an internal configuration of the ALU 13 'according to the present embodiment. In FIG. 14, A and B are data transmitted from the first and second memory blocks 19 and 21 via the
ALU13’は、シフター11から伝送されるデータに対し、図示しない制御部から伝送される分割信号Kに基づいて、I0パートデータとR0パートデータの組合せによるデータ(以下、演算に供するデータという)と、それ以外のデータ(以下、演算に供しないデータという)とに分割し、演算に供するデータを取得する。なお、分割は分割信号Kが0のときに行われる。また演算に供するデータは図14に示す出力信号Xに相当する。
The ALU 13 'is a combination of I0 part data and R0 part data (hereinafter referred to as data used for calculation) based on a divided signal K transmitted from a control unit (not shown) with respect to data transmitted from the
次に、ALU13’は、アキュムレータ15から、前回の、現在の演算処理のサイクルと同じサイクルにおける演算結果(以下、前回サイクルの演算結果という)を取得する。なお、前回サイクルの演算結果とは、IパートデータとRパートデータの組合せによるデータである。そして、ALU13’は、シフター11から取得した演算に供するデータとアキュムレータ15から取得した前回サイクルの演算結果を用いて、上述のDMFアルゴリズムによる演算を実行する。図13(a)では、このときの演算結果を、I0’パートデータとR0’パートデータの組合せによるデータとして示している。
Next, the
ALU13’は、演算結果をアキュムレータ15に出力する。アキュムレータ15はALU13’による演算結果を格納するとともに、演算結果を第1のルート23に沿って混合回路29に出力する。また、図示しない制御部の制御に基づいて所定のタイミングで演算結果を第2のルート25に沿ってALU13’に出力する。
The
他方、レジスタ27は、図示しない制御部の制御に基づいて、所定のタイミングでメモリ17から伝送されたデータを第3のルート23’に沿って混合回路29に出力する。
On the other hand, the
混合回路29は、図示しない制御部の制御に基づいて、第3のルート23’に沿ってレジスタ27から伝送されるデータを8ビット毎に分割し、その中の演算に供する部分(すなわち、第1のメモリブロック19に格納されていた下位8ビットと上位8ビットのデータと、第2のメモリブロック21に格納されていた下位8ビットのデータ)を、第1のルート23に沿ってALU13’から伝送されるデータに置き換える。そして、これらに、演算に供しない部分(すなわち、第2のメモリブロック21に格納されていた上位8ビットのデータ)を付加して出力データを生成し、それらをメモリ17に出力する。
The mixing
メモリ17は、混合回路29から伝送された出力データを元のアドレスに格納する。すなわち、出力データの下位16ビットを第1のメモリブロック19のアドレスnに格納し、上位16ビットを第2のメモリブロック21のアドレスn+1に格納する。
The
その結果、パターン1により、第1及び第2のメモリブロック19、21に格納されていたデータは、第2のメモリブロック21に格納されていた上位8ビットだけが元の値のままで、それ以外が新たな値に更新される。
As a result, according to
図13(b)に示すパターン2において、まず図示しない制御部は、第2のメモリブロック21からアドレスn+1に格納されたデータを読み出すとともに、第1のメモリブロック19からアドレスn+2に格納されたデータを読み出し、シフター11とレジスタ27に出力する。なお、アドレスn+1に格納されたデータとはR0’パートデータの一部と未使用データとI1パートデータの一部である。またアドレスn+2に格納されたデータとはI1パートデータの一部とR1パートデータの一部と未使用データである。
In the
シフター11は、アキュムレータ15やメモリ17から伝送されるデータを所定ビットシフトして位相の調整を行う。そして、その結果をALU13’に出力する。
The
ALU13’は、シフター11から伝送されるデータに対し、分割信号Kに基づいて、演算に供するデータと演算に供しないデータとに分割し、演算に供するデータを取得する。
The
次に、ALU13’は、アキュムレータ15から前回サイクルの演算結果を取得する。そして、ALU13’は、シフター11から取得した演算に供するデータとアキュムレータ15から取得した前回サイクルの演算結果を用いて、DMFアルゴリズムによる演算を実行する。図13(b)では、このときの演算結果を、I1’パートデータとR1’パートデータの組合せによるデータとして示している。
Next, the
ALU13’は、演算結果をアキュムレータ15に出力する。アキュムレータ15はALU13’による演算結果を格納するとともに、演算結果を第1のルート23に沿って混合回路29に出力する。また、図示しない制御部の制御に基づいて所定のタイミングで演算結果を第2のルート25に沿ってALU13’に出力する。
The
他方、レジスタ27は、図示しない制御部の制御に基づいて、所定のタイミングでメモリ17から伝送されたデータを第3のルート23’に沿って混合回路29に出力する。
On the other hand, the
混合回路29は、図示しない制御部の制御に基づいて、第3のルート23’に沿ってレジスタ27から伝送されるデータを8ビット毎に分割し、その中の演算に供する部分(すなわち、第2のメモリブロック21に格納されていた上位8ビットと、第1のメモリブロック19に格納されていた上位8ビットと下位8ビットのデータ)を、第1のルート23に沿ってALU13’から伝送されるデータに置き換える。そして、これらに、演算に供しない部分(すなわち、第2のメモリブロック21に格納されていた下位8ビットのデータ)を付加して出力データを生成し、それらをメモリ17に出力する。
The mixing
メモリ17は、混合回路29から伝送される出力データを元のアドレスに格納する。すなわち、出力データの下位16ビットを第2のメモリブロック21のアドレスn+1に格納し、上位16ビットを第1のメモリブロック19のアドレスn+2に格納する。
The
その結果、パターン2により、第1及び第2のメモリブロック19、21に格納されていたデータは、第2のメモリブロック21に格納されていた下位8ビットだけが元の値のままで、それ以外が新たな値に更新される。
As a result, the data stored in the first and second memory blocks 19 and 21 according to the
図13(c)に示すパターン3において、まず図示しない制御部は、第2のメモリブロック21からアドレスn+3に格納されたデータを読み出すとともに、第1のメモリブロック19からアドレスn+4に格納されたデータを読み出し、シフター11とレジスタ27に出力する。なお、アドレスn+3に格納されたデータとはI2パートデータとR2パートデータの一部である。またアドレスn+4に格納されたデータとはR2パートデータの一部と未使用データとI3パートデータである。
In the
シフター11は、アキュムレータ15やメモリ17から伝送されるデータを所定ビットシフトして位相の調整を行う。そして、その結果をALU13’に出力する。
The
ALU13’は、シフター11から伝送されるデータに対し、分割信号Kに基づいて、演算に供するデータと演算に供しないデータとに分割し、演算に供するデータを取得する。
The
次に、ALU13’は、アキュムレータ15から前回サイクルの演算結果を取得する。そして、ALU13’は、シフター11から取得した演算に供するデータとアキュムレータ15から取得した前回サイクルの演算結果を用いて、DMFアルゴリズムによる演算を実行する。図13(c)では、このときの演算結果を、I2’パートデータとR2’パートデータの組合せによるデータとして示している。
Next, the
ALU13’は、演算結果をアキュムレータ15に出力する。アキュムレータ15はALU13’による演算結果を格納するとともに、演算結果を第1のルート23に沿って混合回路29に出力する。また、図示しない制御部の制御に基づいて所定のタイミングで演算結果を第2のルート25に沿ってALU13’に出力する。
The
他方、レジスタ27は、図示しない制御部の制御に基づいて、所定のタイミングでメモリ17から伝送されたデータを第3のルート23’に沿って混合回路29に出力する。
On the other hand, the
混合回路29は、図示しない制御部の制御に基づいて、第3のルート23’に沿ってレジスタ27から伝送されるデータを8ビット毎に分割し、その中の演算に供する部分(すなわち、第2のメモリブロック21に格納されていた下位8ビットと上位8ビットと、第1のメモリブロック19に格納されていた下位8ビットのデータ)を、第1のルート23に沿ってALU13’から伝送されるデータに置き換える。そして、これらに、演算に供しない部分(すなわち、第1のメモリブロック19に格納されていた上位8ビットのデータ)を付加して出力データを生成し、それらをメモリ17に出力する。
The mixing
メモリ17は、混合回路29から伝送される出力データを元のアドレスに格納する。すなわち、出力データの下位16ビットを第2のメモリブロック21のアドレスn+3に格納し、上位16ビットを第1のメモリブロック19のアドレスn+4に格納する。
The
その結果、パターン3により、第1及び第2のメモリブロック19、21に格納されていたデータは、第1のメモリブロック19に格納されていた上位8ビットだけが元の値のままで、それ以外が新たな値に更新される。
As a result, according to the
図15は混合回路29における出力データの遷移を示す図である。図15中、左側の上段のAcc[23:0],Reg[7:0]と左側の下段のReg[15:8],Acc[23:0]は、混合回路29がAcc15とレジスタ27からの出力を混合することによって生成したデータである。また、右側のOut[31:0]は、混合回路29がメモリ17から読み出されたデータの元のアドレスに応じて左側の上段のAcc[23:0],Reg[7:0]または左側の下段のReg[15:8],Acc[23:0]のいずれかを選択してメモリ17に出力する出力データである。
FIG. 15 is a diagram showing transition of output data in the mixing
ここで、Acc[x:y]はアキュムレータ15からのxビット目からyビット目の出力データを表現しており、Reg[x:y]はレジスタ27からのxビット目からyビット目の出力データを表現している。例えばAcc[23:0],Reg[7:0]は、アキュムレータ15からの0ビット目〜23ビット目までの24ビット幅の出力データとレジスタ27からの0ビット目〜7ビット目までの8ビット幅の出力データの組合せを表現している。またOut[x:y]は混合回路29からのxビット目からyビット目の出力データを表現している。例えばOut[31:0]は混合回路29からの0ビット目〜31ビット目までの32ビット幅の出力データを表現している。
Here, Acc [x: y] represents output data from the xth bit to the yth bit from the
なお、図示しない制御部は、一演算処理毎に、アドレス383のI255パートデータとR255パートデータに、次の遅延値D1の入力A0を配置し、次の演算処理時において、アドレス383を新たなアドレス0と見なして処理を実行する。これは、メモリ17のアドレス0とアドレス383がリング状に繋がっていると想定した場合に、基準点を1つ左に進めて処理することと同様になる。そのため、DSPは、簡易な制御で、演算に用いるデータを好適に出力することができるようになる。
Note that a control unit (not shown) arranges the input A 0 of the next delay value D 1 in the I255 part data and R255 part data at the
このような制御について、図16を用いて以下に詳述する。図16はサイクリックなデータの配置を示す図である。図16中、斜線を付した領域はデータの入力箇所を示している。 Such control will be described in detail below with reference to FIG. FIG. 16 is a diagram showing the arrangement of cyclic data. In FIG. 16, hatched areas indicate data input locations.
図示しない制御部は、メモリ17のDMFアルゴリズムによって定まる所定のアドレスに格納されたデータを、遅延値D1、D2、D3、D4、D5、D6、D7、D8の出力データとしてサイクリックに用いる。そして、一演算処理毎に、これらのデータは、各遅延値D1〜D8の出力データとして、上述のパターン1〜3によって演算された演算結果に更新される。なお、最終の遅延値D8の出力データは、次の演算処理時において、先頭の遅延値D0の入力データとなる。このようにして、図22及び図23に示すDMFアルゴリズム1サイクルの演算処理が実行される。すると、図示しない制御部は、図16に示す基準点の位置を所定量(ここでは1個)だけ左回りに移動させて、次の演算処理を実行する。このときの演算処理は、上述した動作と同様の動作となる。このようにして、図示しない制御部は、メモリ17から各遅延値に対応する入出力を次々と容易に読み出すことができる。このような機能は、DSPに標準的に設けられているモデュロアドレッシングを利用することにより簡単に実現できる。
A control unit (not shown) outputs the data stored at a predetermined address determined by the DMF algorithm in the
以下に、DSP内部における各構成の動作について説明する。なお、ALU13’は、分割信号Kやレジスタ値に基づいて、キャリー信号Cを任意のビット位置で切断可能としている。本実施の形態では、ALU13’は、10ビット幅で切断している。 The operation of each component inside the DSP will be described below. The ALU 13 'can cut the carry signal C at an arbitrary bit position based on the division signal K and the register value. In this embodiment, the ALU 13 'is cut with a 10-bit width.
メモリ17に格納されたデータの構成が図13(a)に示すパターン1の場合、DSP内部における各構成は以下のように動作する。
When the configuration of data stored in the
まず、図示しない制御部は、第1のメモリブロック19と第2のメモリブロック21の所定のアドレスから合計32ビット幅のデータを読み出し、シフター11とレジスタ27に出力する。シフター11は、データをシフトせずに、そのままALU13’に出力する。また、レジスタ27は、第1のメモリブロック19と第2のメモリブロック21の所定のアドレスから読み出されたデータを一時格納する。
First, a control unit (not shown) reads data having a total width of 32 bits from predetermined addresses of the
この後、ALU13’は、演算処理を実行して、その演算結果をAcc0とAcc1に出力する。
Thereafter, the
Acc0とAcc1は、演算結果を一時格納した後、それをシフター11に出力する。シフター11は、ALU13’を介して演算結果をそのままAcc0とAcc1に出力する。Acc0とAcc1は、再び演算結果を一時格納する。
Acc 0 and Acc 1 temporarily store the calculation result and then output it to the
この後、レジスタ27は格納していたデータを混合回路29に出力するとともに、Acc0とAcc1はALU13’による演算結果を混合回路29に出力する。
Thereafter, the
次に、混合回路29は、最下位ビット(LSB)側の8ビットがレジスタ27に格納されていたデータとなるように、レジスタ27に格納されていたデータとAcc0とAcc1に格納されていたALU13’による演算結果とを混合し、その混合結果をメモリ17に出力する。メモリ17は、混合結果を第1のメモリブロック19と第2のメモリブロック21の元のアドレスに格納する。
Next, the mixing
メモリ17に格納されたデータの構成が図13(b)に示すパターン2の場合、DSP内部における各構成は以下のように動作する。
When the configuration of data stored in the
まず、図示しない制御部は、第2のメモリブロック21と第1のメモリブロック19の所定のアドレスから合計32ビット幅のデータを読み出し、シフター11とレジスタ27に出力する。シフター11は、データを右に8ビットシフトしてALU13’に出力する。また、レジスタ27は、第2のメモリブロック21と第1のメモリブロック19の所定のアドレスから読み出されたデータを一時格納する。
First, a control unit (not shown) reads data having a total width of 32 bits from predetermined addresses of the
この後、ALU13’は、演算処理を実行して、その演算結果をAcc0とAcc1に出力する。Acc0とAcc1は、演算結果を一時格納した後、それをシフター11に出力する。シフター11は、演算結果を左に8ビットシフトしてALU13’を介してAcc0とAcc1に出力する。Acc0とAcc1は、左に8ビットシフトされたALU13’による演算結果を一時格納する。
Thereafter, the
この後、レジスタ27は格納していたデータを混合回路29に出力するとともに、Acc0とAcc1は左に8ビットシフトされたALU13’による演算結果を混合回路29に出力する。
Thereafter, the
次に、混合回路29は、最上位ビット(MSB)側の8ビットがレジスタ27に格納されていたデータとなるように、レジスタ27に格納されていたデータとAcc0とAcc1に格納されていたALU13’による演算結果とを混合し、その混合結果をメモリ17に出力する。メモリ17は、混合結果を第2のメモリブロック21と第1のメモリブロック19の元のアドレスに格納する。
Next, the mixing
メモリ17に格納されたデータの構成が図13(c)に示すパターン3の場合、DSP内部における各構成は以下のように動作する。
When the configuration of data stored in the
まず、図示しない制御部は、第2のメモリブロック21と第1のメモリブロック19の所定のアドレスから合計32ビット幅のデータを読み出し、シフター11とレジスタ27に出力する。シフター11は、データをシフトせずに、そのままALU13’に出力する。また、レジスタ27は、第2のメモリブロック21と第1のメモリブロック19の所定のアドレスから読み出されたデータを一時格納する。
First, a control unit (not shown) reads data having a total width of 32 bits from predetermined addresses of the
この後、ALU13’は、演算処理を実行して、その演算結果をAcc0とAcc1に出力する。Acc0とAcc1は、演算結果を一時格納した後、それをシフター11に出力する。シフター11は、ALU13’を介して演算結果をそのままAcc0とAcc1に出力する。Acc0とAcc1は、再び演算結果を一時格納する。
Thereafter, the
この後、レジスタ27は格納していたデータを混合回路29に出力するとともに、Acc0とAcc1はALU13’による演算結果を混合回路29に出力する。
Thereafter, the
次に、混合回路29は、最下位ビット(LSB)側の8ビットがレジスタ27に格納されていたデータとなるように、レジスタ27に格納されていたデータとAcc0とAcc1に格納されていたALU13’による演算結果とを混合し、その混合結果をメモリ17に出力する。メモリ17は、混合結果を第2のメモリブロック21と第1のメモリブロック19の元のアドレスに格納する。
Next, the mixing
以下に、ALU13’内部における演算過程を説明する。図17と図18はDMFアルゴリズムの概要を示す図である。図17と図18において括弧でくくる部分の演算過程を一例として詳述する。 Hereinafter, a calculation process in the ALU 13 'will be described. 17 and 18 are diagrams showing an outline of the DMF algorithm. The calculation process of the part enclosed in parentheses in FIGS. 17 and 18 will be described in detail as an example.
まず、図示しない制御部は、第1のメモリブロック19と第2のメモリブロック21のアドレス0と1から合計32ビット幅のデータを読み出し、シフター11とレジスタ27に出力する。シフター11は、データをシフトせずに、そのままALU13’に出力する。また、レジスタ27は、第1のメモリブロック19と第2のメモリブロック21のアドレス0と1から読み出されたデータを一時格納する。この後、ALU13’は、演算処理を実行する。
First, a control unit (not shown) reads data having a total width of 32 bits from
その際に、まず、図示しない制御部がデータの構成に基づいて分割信号Kを生成し、ALU13’は分割信号Kに基づいて第1のメモリブロック19と第2のメモリブロック21のアドレス0と1から読み出されたデータを分割して入力A0を取得する。次に、ALU13’は、図17に示すように、A1、B1、C1、C1’を算出する。これらの値は、図24〜図27に示す通りである。このようにして算出された演算結果は、図17に示すDMFアルゴリズムの概要を示す図の上の段によるもの(例えばC1)がアキュムレータ15のAcc1に格納され、下の段によるもの(例えばB1、C1’)がアキュムレータ15のAcc0に格納される。このようにして演算結果は、アキュムレータ15のAcc0及びAcc1に格納される。
At that time, first, a control unit (not shown) generates a divided signal K based on the data configuration, and the
特に、演算結果C1は、アキュムレータ15のAcc0及びAcc1に格納された遅延値D1に対応するデータの最後に上書きで書き込まれる。そして、演算結果C1は、データD1とデータD2が連続しているため、次の遅延値D2の入力データとなる。
In particular, the calculation result C 1 is overwritten at the end of the data corresponding to the delay value D 1 stored in Acc 0 and Acc 1 of the
なお、第1のメモリブロック19と第2のメモリブロック21のアドレス0と1から読み出されたデータのうち、演算に供しない部分は、レジスタ27に格納されている。この部分は、混合回路29によって演算結果と混合される。混合回路29は、その混合結果をメモリ17に出力し、第1のメモリブロック19と第2のメモリブロック21のアドレス0と1に格納させる。そのため、本実施の形態は、演算に供しない部分を演算するための時間を必要とせずに、簡易に出力データを生成することができる。また、上書き時に未使用データをそのまま書き出すこともできる。
Of the data read from the
次に、ALU13’は、図18に示すように、A2、B2、C2、C2’を算出する。これらの値は、図24〜図27に示す通りである。このようにして算出された演算結果は、図18に示すDMFアルゴリズムの概要を示す図の上の段によるもの(例えばC2)がアキュムレータ15のAcc1に格納され、下の段によるもの(例えばB2、C2’)がアキュムレータ15のAcc0に格納される。このようにして演算結果は、アキュムレータ15のAcc0及びAcc1に格納される。
Next, the
特に、演算結果C2は、アキュムレータ15のAcc0及びAcc1に格納された遅延値D2に対応するデータの最後に上書きで書き込まれる。そして、演算結果C2は、データD2とデータD3が連続しているため、次の遅延値D3の入力データとなる。
In particular, the calculation result C 2 is overwritten at the end of the data corresponding to the delay value D 2 stored in Acc 0 and Acc 1 of the
このようにして、ALU13’は、同様の演算を連続して実行し、最終的な演算結果を得る。 In this way, the ALU 13 'continuously executes the same calculation and obtains a final calculation result.
その後、図示しない制御部は、図16に示す基準点の位置を、1個だけ左回りに移動させ、メモリ17に格納するデータをサイクリックに1個前進した形にして、次の演算処理を実行する。
Thereafter, the control unit (not shown) moves the position of the reference point shown in FIG. 16 counterclockwise by one, and cyclically advances the data stored in the
以上詳細に説明したように、本発明は、所定ビット幅のレジスタ27と混合回路29を設けるだけで、DMF処理における使用メモリ量を低減できるという効果を有する。そのため、例えば第3世代携帯電話に用いられるDSPに適用した場合に、メモリ量を、510ワードから384ワードに、すなわち、126ワード分低減をさせることができる。
As described above in detail, the present invention has an effect that the amount of memory used in the DMF processing can be reduced only by providing the
しかも、本発明は、大幅な回路の増大がないので、極めて少ないコストでこのような効果を達成できる。 Moreover, since the present invention does not significantly increase the circuit, such an effect can be achieved at a very low cost.
本発明は上述の実施の形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の応用及び変形が考えられる。例えば、本実施の形態においては、メモリ17を32ビット幅のメモリによって構成してもよい。また、本発明は、DSPだけでなく、9〜12ビット幅を有するデータの処理を行う機器に対しても適用することができる。
The present invention is not limited to the above-described embodiments, and various applications and modifications can be considered without departing from the gist of the present invention. For example, in the present embodiment, the
11 シフター
13’ ALU
15 アキュムレータ
17 メモリ
19 第1のメモリブロック
21 第2のメモリブロック
23 第1のルート
23’ 第3のルート
25 第2のルート
27 レジスタ
29 混合回路
11 Shifter 13 'ALU
15
Claims (5)
前記メモリの第2アドレスで指定される領域に格納されている第3及び第4のデータ列を読み出し、
前記読み出されたデータ列の中の前記第4のデータ列をレジスタに一時的に格納し、
前記読み出されたデータ列の中の前記第2及び第3のデータ列をシフトし、
前記読み出されたデータ列の中の前記第1のデータ列と前記シフトされた第2及び第3のデータ列とを用いて演算し、
前記レジスタに一時的に格納された前記第4のデータ列と、前記演算により得られたデータ列とを混合し、
前記混合されたデータ列の中の前記演算により得られたデータ列を前記メモリの前記第1アドレスで指定される領域に格納し、
前記混合されたデータの中の前記第4のデータ列を前記メモリの前記第2アドレスで指定される領域に格納することを特徴とする演算方法。 Read the first and second data strings stored in the area specified by the first address of the memory,
Read the third and fourth data strings stored in the area specified by the second address of the memory,
Temporarily storing the fourth data string in the read data string in a register ;
Shifting the second and third data strings in the read data string;
Calculated by using the second and third data string in which the first data row to have been the shift in the read data sequence,
Mixing the fourth data string temporarily stored in the register and the data string obtained by the operation;
Storing the data string obtained by the calculation in the mixed data string in an area specified by the first address of the memory;
Calculation method characterized by storing the fourth data columns in the data the mixed area specified by the second address of the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004117747A JP3722821B2 (en) | 2004-04-13 | 2004-04-13 | Calculation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004117747A JP3722821B2 (en) | 2004-04-13 | 2004-04-13 | Calculation method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002241371A Division JP3560596B2 (en) | 2002-08-22 | 2002-08-22 | Arithmetic unit and data reading method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004253000A JP2004253000A (en) | 2004-09-09 |
JP3722821B2 true JP3722821B2 (en) | 2005-11-30 |
Family
ID=33028594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004117747A Expired - Fee Related JP3722821B2 (en) | 2004-04-13 | 2004-04-13 | Calculation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3722821B2 (en) |
-
2004
- 2004-04-13 JP JP2004117747A patent/JP3722821B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004253000A (en) | 2004-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3003467B2 (en) | Arithmetic unit | |
JP3722821B2 (en) | Calculation method | |
JP3560596B2 (en) | Arithmetic unit and data reading method | |
JP3723115B2 (en) | Single instruction multiple data processing | |
US6983298B2 (en) | Method and apparatus for linear interpolation using gradient tables | |
JP4630056B2 (en) | Convolution arithmetic circuit | |
JPH10503311A (en) | Galois field polynomial multiply / divide circuit and digital signal processor incorporating the same | |
JP3565830B2 (en) | Data processing device | |
JPH10320524A (en) | Look-up table device and image generator | |
JPH11317676A (en) | Reciprocal incarnation circuit for optional element of finite field | |
JP3390599B2 (en) | Divider | |
JP2790911B2 (en) | Orthogonal transform operation unit | |
JP3456450B2 (en) | Fixed point multiplier and method | |
JP2550597B2 (en) | Squarer | |
JP3264603B2 (en) | Digital signal processor | |
JP2508286B2 (en) | Square root calculator | |
JP3166781B2 (en) | Adder circuit | |
JPH05224888A (en) | Multiplication circuit for decimal point position varying data | |
JP4402523B2 (en) | DATA CONVERSION METHOD, DATA CONVERSION DEVICE, PROGRAM, AND STORAGE MEDIUM | |
JP2003084972A (en) | Method for improving execution speed of conditional subtraction command, and enlarging range of operand to which command is correctly executed | |
JPH10105382A (en) | Information processor and its method | |
JP2008021189A (en) | Division device and division method | |
JPH11186876A (en) | Filter apparatus | |
JPH0828646B2 (en) | Digital filter | |
JPH0553759A (en) | Fixed decimal point arithmetic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050419 |
|
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: 20050913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050913 |
|
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: 20080922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
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: 20100922 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |