JPH08180040A - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
JPH08180040A
JPH08180040A JP6323190A JP32319094A JPH08180040A JP H08180040 A JPH08180040 A JP H08180040A JP 6323190 A JP6323190 A JP 6323190A JP 32319094 A JP32319094 A JP 32319094A JP H08180040 A JPH08180040 A JP H08180040A
Authority
JP
Japan
Prior art keywords
data
unit
processing
digital signal
register
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.)
Pending
Application number
JP6323190A
Other languages
Japanese (ja)
Inventor
Yuu Kuun Tan
タン・ユー・クーン
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP6323190A priority Critical patent/JPH08180040A/en
Publication of JPH08180040A publication Critical patent/JPH08180040A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To accelerate digital signal processing and to reduce substrate area and power consumption by providing a first product sum/addition part for executing the product sum processing of digital signals and also executing an addition processing. CONSTITUTION: A partial product reduction array 12 performs the multiplication processing of data (m, n) sent from an overflow detector 11 by the carry look- ahead system of 17 bits × 17 bits, generates plural partial product sums, performs the addition processing of the partial product sums and obtains three partial product sums. A clipper 14 performs the clipping processing of the three partial product sums by exclusive OR based on overflow signals sent from the overflow detector 11 and sends two final partial product sums to a carry save adder 15. The carry save adder 15 sends the result (a+m×n) of the addition processing of the two partial product sums and the data, (a) for instance, sent from a local bus LBO by a carry save method to the two input terminals of a high-speed adder 16.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、プログラムに応じた処
理手順に従ってディジタル信号を処理するディジタル信
号処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processing device for processing a digital signal according to a processing procedure according to a program.

【0002】[0002]

【従来の技術】ディジタル信号を、ディジタル的な演算
や索表による変換等の操作により処理することをディジ
タル信号処理といい、ディジタル信号処理を行う回路を
ディジタル信号処理回路という。このディジタル信号処
理回路は、ディジタル乗算回路部、加算回路部、遅延回
路部等を備えた回路である。
2. Description of the Related Art Processing a digital signal by operations such as digital calculation and conversion by a table is called digital signal processing, and a circuit for performing digital signal processing is called a digital signal processing circuit. This digital signal processing circuit is a circuit including a digital multiplication circuit section, an addition circuit section, a delay circuit section, and the like.

【0003】近年において、上述したようなディジタル
演算処理の基本構成要素である加算器、乗算器及び単位
遅延素子を信号処理の流れに沿ってレイアウトし、所定
のディジタル信号を実時間で処理するための専用の大規
模集積回路(large scale integration :LSI)の開
発がなされてきている。この専用のLSIにより、ディ
ジタル演算処理が高速化されたのだが、柔軟性に乏しい
ため機能の変更が容易ではないので、汎用のディジタル
信号処理を行うデバイスの開発が望まれてきた。また、
汎用のLSIの開発も進められてきたが、高価なもので
あった。
In recent years, in order to process a predetermined digital signal in real time by laying out an adder, a multiplier and a unit delay element, which are the basic constituent elements of the digital arithmetic processing as described above, along the flow of signal processing. , Dedicated large-scale integrated circuits (LSIs) have been developed. Although the digital arithmetic processing has been speeded up by this dedicated LSI, it is not easy to change the function due to lack of flexibility. Therefore, development of a device for performing general-purpose digital signal processing has been desired. Also,
Development of a general-purpose LSI has also been advanced, but it was expensive.

【0004】そこで、ディジタル信号処理を高速に行う
と共に、信号処理の機能変更を容易に行うことが可能
で、シングルチップで幅広いディジタル信号を処理する
汎用のディジタル信号処理を行うデバイス、すなわちデ
ィジタル信号処理装置(DSP:digital signal proce
sser)の開発が進められている。このDSPは、基本的
には高速の乗算器を備えてディジタル信号処理を高速に
実行できるシングルチップのマイクロプロセッサであ
る。また、DSP内のバス構造は、プログラム(コント
ロール)バスとデータバスとを分離する、いわゆるハー
バードアーキテクチャを採用している。従って、命令の
フェッチ(fetch )と実行とが平行して処理されると共
に、高度なパイプライン化が可能となる。
Therefore, it is possible to perform digital signal processing at high speed and easily change the function of the signal processing, and a device for performing general-purpose digital signal processing for processing a wide range of digital signals with a single chip, that is, digital signal processing. Device (DSP: digital signal process)
sser) is under development. This DSP is basically a single-chip microprocessor that includes a high-speed multiplier and can perform digital signal processing at high speed. Further, the bus structure in the DSP adopts a so-called Harvard architecture in which a program (control) bus and a data bus are separated. Therefore, fetching and execution of instructions are processed in parallel, and a high degree of pipeline processing is possible.

【0005】[0005]

【発明が解決しようとする課題】ところで、DSPを動
作させる命令体系においては、DSPを広範囲の用途に
対応させるために、一般にインストラクションのワード
長は大きい。また、上述したように、ハーバードアーキ
テクチャを採用しているために、扱うプログラムのイン
ストラクションをデコード処理し、さらにDSPを動作
させる際に複雑な構成を必要とするため、信号処理に必
要とされるDSPが高価なものになり、また、このよう
なDSPのIC基板面積や実装面積が大きくなるばかり
でなく、消費電力も大きくなってしまう。
In the instruction system for operating the DSP, the word length of the instruction is generally large in order to make the DSP compatible with a wide range of applications. Further, as described above, since the Harvard architecture is adopted, it is necessary to decode the instructions of the program to be handled and to have a complicated configuration when operating the DSP. Therefore, the DSP required for the signal processing is required. Becomes expensive, and not only the IC substrate area and mounting area of such a DSP become large, but also the power consumption becomes large.

【0006】また、更なるDSPの処理能力の向上が望
まれるようになってきている。例えば、移動体通信用の
標準符号化方式であるVSELP(ベクトル加算励振線
形予測:vector sum excited linear prediction)にお
ける信号の符号化/復号化処理を行う際に、従来の半分
の処理速度にて信号処理を実行するためのハーフレート
(half-rate )VSELP方式での符号化/復号化処理
が実行できるように、信号処理の高速化が期待されてき
ている。
Further, further improvement in the processing capability of DSP has been desired. For example, when performing signal encoding / decoding processing in VSELP (vector sum excited linear prediction), which is a standard encoding method for mobile communication, the signal is processed at half the speed of the conventional signal. It has been expected to speed up signal processing so that encoding / decoding processing by a half-rate VSELP method for executing the processing can be executed.

【0007】そこで、本発明は、上述した実情に鑑みて
なされたものであり、ディジタル信号処理の高速化が可
能で、基板面積及び消費電力が削減でき、ディジタル信
号の処理方法がプログラム可能であるディジタル信号処
理装置を提供することを特徴とする。
Therefore, the present invention has been made in view of the above-mentioned circumstances, and it is possible to speed up digital signal processing, reduce the substrate area and power consumption, and to program a digital signal processing method. A digital signal processing device is provided.

【0008】[0008]

【課題を解決するための手段】本発明に係るディジタル
信号処理装置は、上述した問題を解決するために、プロ
グラムに応じた処理手順に従ってディジタル信号を処理
するディジタル信号処理装置において、上記ディジタル
信号の積和処理を実行する共に加算処理をも実行する第
1の積和/加算部を有して成るものである。
In order to solve the above-mentioned problems, a digital signal processing device according to the present invention is a digital signal processing device for processing a digital signal in accordance with a processing procedure according to a program. The first product-sum / addition unit is configured to perform the product-sum processing and also the addition processing.

【0009】また、本発明は、上記第1の積和/加算部
を有して成るディジタル信号処理装置において、上記デ
ィジタル信号のシフト装置及び論理演算を行うバレルシ
フタ論理部と、上記ディジタル信号を処理する際に信号
処理プログラム制御を行うプログラム制御部と、上記信
号処理プログラムのアドレスを発生するアドレス生成部
とを有して成るものである。
Further, according to the present invention, in the digital signal processing device having the first sum of products / addition unit, the shift unit for the digital signal, the barrel shifter logic unit for performing a logical operation, and the digital signal are processed. In this case, a program control unit for controlling the signal processing program and an address generation unit for generating the address of the signal processing program are included.

【0010】また、本発明は、上記第1の積和/加算
部、上記バレルシフタ論理部、上記プログラム制御部及
び上記アドレス生成部とを有して成るディジタル信号処
理装置において、上記バレルシフタ論理部は、上記ディ
ジタル信号のビットシフト操作を行うバレルシフタ部
と、ビットシフト操作を行ったディジタル信号の論理演
算を行う論理部とを有して成るものである。
Further, according to the present invention, in the digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the barrel shifter logic unit is A barrel shifter unit for performing a bit shift operation on the digital signal and a logic unit for performing a logical operation on the digital signal on which the bit shift operation is performed.

【0011】また、本発明は、上記第1の積和/加算
部、上記バレルシフタ論理部、上記プログラム制御部及
び上記アドレス生成部とを有して成るディジタル信号処
理装置において、上記アドレス生成部は、FIFO(フ
ァーストイン、ファーストアウト:first-in、firstーou
t )メモリを用いてアドレス信号処理を行うものであ
る。
Further, according to the present invention, in the digital signal processing device having the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the address generation unit is , FIFO (first in, first out: first-in, first-ou
t) Address signal processing is performed using a memory.

【0012】また、本発明は、上記第1の積和/加算
部、上記バレルシフタ論理部、上記プログラム制御部及
び上記アドレス生成部とを有して成るディジタル信号処
理装置において、上記ディジタル信号の積和処理を実行
すると共に加算処理をも実行する第2の積和/加算部
と、この積和/加算演算処理を制御する制御部とを備え
て成るデータ駆動実行部を有して成るものである。
Further, the present invention is a digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, and a product of the digital signals. A data driven execution unit including a second product-sum / addition unit that executes addition processing and addition processing, and a control unit that controls the product-sum / addition calculation processing. is there.

【0013】また、本発明は、上記第1の積和/加算
部、上記バレルシフタ論理部、上記プログラム制御部及
び上記アドレス生成部とを有して成るディジタル信号処
理装置において、上記積和/加算部と上記バレルシフタ
論理部と上記プログラム制御部と上記アドレス生成部と
から成るデータ処理実行部と、上記データ処理実行部で
得られる処理結果を記憶するデータメモリと、上記デー
タ処理実行部と上記データメモリとの間を接続/データ
交換を行うアライナを有して成るものである。
Also, the present invention provides a digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, wherein the sum of products / addition is performed. Section, the barrel shifter logic section, the program control section, and the address generation section, a data memory that stores the processing result obtained by the data processing execution section, the data processing execution section, and the data. It comprises an aligner for connecting / exchanging data with a memory.

【0014】[0014]

【作用】本発明に係るディジタル信号処理装置によれ
ば、第1の積和/加算部を設けることで、特別な加算回
路を設けなくても、この第1の積和/加算部にて、積和
処理及び加算演算処理を一つの構成にて実行することが
できる。
According to the digital signal processing apparatus of the present invention, by providing the first product sum / addition unit, the first product sum / addition unit can be provided without providing a special addition circuit. The sum of products process and the addition operation process can be executed by one configuration.

【0015】また、上記ディジタル信号処理装置におい
て、さらに、バレルシフタ論理部と、プログラム制御部
と、アドレス生成部とを設ける場合、上記プログラム制
御部にてディジタル信号処理を行うためのプログラムが
制御され、上記アドレス生成部にてこのプログラムを実
行するためのアドレスが発生し、このアドレスに応じ
て、上記データ駆動実行部にて信号処理のデータ駆動が
実行された上で、さらに、上記データ処理実行部にてデ
ータ駆動された信号処理が実行される。
When the barrel shifter logic unit, the program control unit and the address generation unit are further provided in the digital signal processing device, the program for performing the digital signal processing is controlled by the program control unit, An address for executing this program is generated in the address generation section, and data driving of signal processing is executed in the data driving execution section according to this address, and further, the data processing execution section is further executed. At, data driven signal processing is executed.

【0016】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、さらに、上記バレルシフタ論理部が、バレルシフタ
部と、論理部とを有する場合、上記バレルシフタ部では
ディジタル信号のビットシフト操作が行われ、上記論理
部では上記ビットシフト操作に応じた上記ディジタル信
号の論理演算処理が行われる。
Further, in the digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the barrel shifter logic unit further includes a barrel shifter. And a logic unit, the barrel shifter unit performs a bit shift operation on the digital signal, and the logic unit performs a logical operation process on the digital signal according to the bit shift operation.

【0017】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、さらに、上記アドレス生成部が、FIFO(ファー
ストイン、ファーストアウト:first-in、firstーout )
メモリを用いてアドレス信号処理を行う場合、上記アド
レス生成部において、FIFOメモリを用いてアドレス
信号処理を行うことで、不規則なデータアドレッシング
が可能となる。従って、上記ディジタル信号処理装置を
広い用途に使用することができる。
Further, in the digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the address generation unit further includes a FIFO. (First-in, first-out)
When address signal processing is performed using a memory, irregular data addressing can be performed by performing address signal processing using the FIFO memory in the address generation unit. Therefore, the digital signal processing device can be used in a wide variety of applications.

【0018】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、さらに、第2の積和/加算部と、制御部とを備えて
成るデータ駆動実行部を設ける場合、上記データ駆動実
行部では、上記データ処理実行部がディジタル信号処理
を行う前に、上記制御部の動作に応じて、上記第2の積
和/加算部がデータの積和処理を行うことで上記ディジ
タル信号処理のデータ駆動動作が実行される。従って、
ディジタル信号処理の速度が上がる。
Further, in a digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, further, a second sum of products / addition In the case where the data drive execution unit including the control unit and the control unit is provided, in the data drive execution unit, before the data processing execution unit performs the digital signal processing, the data drive execution unit is operated according to the operation of the control unit. The data driving operation of the digital signal processing is executed by the product sum / adder unit 2 performing the product sum processing of the data. Therefore,
The speed of digital signal processing is increased.

【0019】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、さらに、上記積和/加算部と上記バレルシフタ論理
部と上記プログラム制御部と上記アドレス生成部とから
成るデータ処理実行部と、データメモリと、アライナと
を設ける場合、上記データ処理実行部で得られるデータ
を上記データメモリに転送する、あるいは上記データメ
モリに記憶されているデータを上記データ処理実行部に
転送する際に、上記アライナにて転送するデータの符号
の拡張/交換を行うことができる。
Further, in the digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the product sum / addition unit is further provided. When the data processing execution unit including the barrel shifter logic unit, the program control unit, and the address generation unit, the data memory, and the aligner are provided, the data obtained by the data processing execution unit is transferred to the data memory, Alternatively, when the data stored in the data memory is transferred to the data processing execution unit, the code of the data transferred by the aligner can be expanded / exchanged.

【0020】[0020]

【実施例】以下、本発明に係るディジタル信号処理装置
が適用される好ましい実施例について、図面を参照しな
がら詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments to which the digital signal processing apparatus according to the present invention is applied will be described in detail below with reference to the drawings.

【0021】図1は、本実施例のディジタル信号処理装
置の要部である積和/加算部の概略構成を示すブロック
回路図である。
FIG. 1 is a block circuit diagram showing a schematic structure of a product sum / addition unit which is a main part of the digital signal processing apparatus of this embodiment.

【0022】図1で、ローカルバスLB0より送られる
二つの16ビットデータが、オーバーフローディテクタ
11に送られる。また、オーバーフローディテクタ11
からの出力は、パーシャル−プロダクトリダクションア
レイ12及びクリッパ14に送られる。また、パーシャ
ル−プロダクトリダクションアレイ12からの出力であ
る2つの18ビットの最上位ビット(MSB)出力及び
1つの16ビットの最下位ビット(LSB)は、ロジカ
ルシフタ13を介して、クリッパ14に出力される。ク
リッパ14からの出力は、キャリーセーブ加算器15に
送られる。キャリーセーブ加算器15からの出力は、高
速加算器16に送られる。また、高速加算器16からの
出力は、クリッパ17を介して、最大値/最小値セレク
タ18に送られる。また、上記高速加算器16からの出
力で、オーバーフローフラッグOは上記クリッパ17
に、また、ネガティブフラッグNは上記最大値/最小値
セレクタに送られる。また、ローカルバスLB0より送
られる40ビットのデータは上記高速加算器16及び上
記最大値/最小値セレクタ18に入力され、また、ロー
カルバスLB1より送られる40ビットのデータは上記
キャリーセーブ加算器15、ロジカルシフタ19及び上
記最大値/最小値セレクタ18に送られる。さらに、上
記ロジカルシフタ19からの出力は、上記高速加算器1
6に送られる。
In FIG. 1, two 16-bit data sent from the local bus LB0 are sent to the overflow detector 11. In addition, the overflow detector 11
The output from is sent to a partial-product reduction array 12 and a clipper 14. Further, two 18-bit most significant bits (MSB) outputs and one 16-bit least significant bit (LSB), which are outputs from the partial-product reduction array 12, are output to the clipper 14 via the logical shifter 13. To be done. The output from the clipper 14 is sent to the carry save adder 15. The output from carry save adder 15 is sent to high speed adder 16. The output from the high speed adder 16 is sent to the maximum / minimum value selector 18 via the clipper 17. The overflow flag O is output from the high-speed adder 16 and the overflow flag O
, And the negative flag N is sent to the maximum / minimum selector. The 40-bit data sent from the local bus LB0 is input to the high speed adder 16 and the maximum / minimum value selector 18, and the 40-bit data sent from the local bus LB1 is the carry save adder 15. , Logical shifter 19 and maximum / minimum value selector 18 described above. Further, the output from the logical shifter 19 is the high-speed adder 1
Sent to 6.

【0023】図1において、オーバーフローディテクタ
11は、ローカルバスLB0より送られる上記16ビッ
トのデータを図示されないコントロールバスから送られ
るクリップ/シフト制御信号に基づいてオーバーフロー
検出を行う。また、オーバーフロー検出した後のデー
タ、例えばmとnとを、パーシャル−プロダクトリダク
ションアレイ12に送る。
In FIG. 1, an overflow detector 11 detects overflow of the 16-bit data sent from the local bus LB0 based on a clip / shift control signal sent from a control bus (not shown). Further, the data after the overflow is detected, for example, m and n are sent to the partial-product reduction array 12.

【0024】パーシャル−プロダクトリダクションアレ
イ12は、例えば桁上げデータ、いわゆるキャリーデー
タを保持しながら処理する方法、いわゆるキャリーセー
ブ法にて加算処理する複数のキャリーセーブ加算器を有
して成る部分である。また、パーシャル−プロダクトリ
ダクションアレイ12は、上記オーバーフローディテク
タ11から送られる上記データ(m、n)を、17ビッ
ト×17ビットのキャリールックアヘッド(carry look
ahead)方式にて乗算処理して、複数の部分積和(パー
シャル−プロダクト:partial-product terms )を生成
して、これら部分積和を加算処理し、3つの部分積和を
得る。これら3つの部分積和のうち、2つはMSBであ
り、また、他の1つはLSBである。この結果(m×
n)をロジカルシフタ13に送る。
The partial-product reduction array 12 is a part having a plurality of carry-save adders for carrying out addition processing by a so-called carry-save method, for example, a method of processing while holding carry data, so-called carry data. . Further, the partial-product reduction array 12 receives the data (m, n) sent from the overflow detector 11 from the carry look ahead of 17 bits × 17 bits.
ahead) to perform a multiplication process to generate a plurality of partial product sums (partial-product terms), and add these partial product sums to obtain three partial product sums. Of these three partial sums of products, two are MSBs and the other one is LSB. This result (mx
n) is sent to the logical shifter 13.

【0025】ロジカルシフタ13は、図示されないコン
トロールバスから送られるシフト制御信号に基づいて、
上記パーシャル−プロダクトリダクションアレイ12か
らの上記3つの部分積和(m×n)の論理シフト処理、
すなわち0/1のビットを左に移動させる、いわゆる左
シフト操作を行う。すなわち、この論理シフトで、上記
各最終部分積和を乗算処理するのと同様の効果が得られ
る。
The logical shifter 13, based on a shift control signal sent from a control bus (not shown),
Logical shift processing of the three partial product sums (m × n) from the partial-product reduction array 12;
That is, a so-called left shift operation is performed to move the 0/1 bit to the left. That is, with this logical shift, the same effect as the multiplication processing of each final partial product sum can be obtained.

【0026】また、クリッパ14は、ロジカルシフタ1
3にて上記論理シフト処理がなされた3つの部分積和
を、オーバーフローディテクタ11から送られるオーバ
ーフロー信号に基づいて、排他的論理和によるクリップ
処理を行い、2つの最終部分積和(final partial-prod
uct )を生成し、得られた最終部分積和をキャリーセー
ブ加算器15に送る。
The clipper 14 is a logical shifter 1.
Based on the overflow signal sent from the overflow detector 11, the three partial product sums subjected to the logical shift processing in 3 are clipped by exclusive OR, and two final partial product sums (final partial-prod
uct) and sends the final partial product sum obtained to the carry save adder 15.

【0027】また、キャリーセーブ加算器15は、図示
されないコントロールバスから送られるラウンド処理制
御信号(round control bit )に基づいて、上記クリッ
プ処理された2つの最終部分積和(m×n)とローカル
バスLB0から送られるデータ、例えばaとを、上記キ
ャリーセーブ法にて加算処理して、各最終部分積和の加
算処理で得られた結果(a+m×n)を、高速加算器1
6の二つの入力端子にそれぞれ送る。
Further, the carry save adder 15 is based on a round processing control signal (round control bit) sent from a control bus (not shown), and the two final partial sums of products (m × n) clipped and the local sum. The data (eg, a) sent from the bus LB0 is added by the carry save method, and the result (a + m × n) obtained by the addition of the final partial product sums is added to the high-speed adder 1
It sends to two input terminals of 6 respectively.

【0028】また、高速加算器16は、複数のキャリー
伸張加算器(carry propagate adder:CPA )を有し
て成る部分である。一方の入力端子にキャリーセーブ加
算器15からの第一の加算結果(a+m×n)とローカ
ルバスLB1からロジカルシフタ19を介して送られる
40ビットのデータ、例えばXとが入力され、また、他
方の入力端子にキャリーセーブ加算器15からの第二の
加算結果(a+m×n)とローカルバスLB0からの4
0ビットとデータ、例えばYとが入力される。
The high-speed adder 16 is a part having a plurality of carry propagation adders (CPA). The first addition result (a + m × n) from the carry save adder 15 and 40-bit data sent from the local bus LB1 via the logical shifter 19, for example, X is input to one input terminal, and the other The second addition result (a + m × n) from the carry save adder 15 and the 4 from the local bus LB0
0 bits and data such as Y are input.

【0029】先ず、上記第一の加算結果と上記第二の加
算結果との加算処理を行うのか、あるいは上記ローカル
バスLB0、LB1から直接入力されたデータの加算処
理を行うのかが選択される。この加算処理の結果は、4
0ビットのサイズのデータ(a+m×n、またはX+
Y)になり、このデータがクリッパ17に送られる。さ
らに、上記高速加算器16は、上記加算処理の過程で桁
数がオーバーフローした場合、オーバーフローフラッグ
(overflow flag )Oを発生させ、このオーバーフロー
フラッグOをクリッパ17に送り、また、加算結果が負
になった場合、ネガティブフラッグ(negative flag )
Nを発生させ、このネガティブフラッグNを最大値/最
小値セレクタ18に送る。なお、減算処理は、減算回路
系を別に設けることなく、2の補数をとって加算処理を
行うことで実現される。クリッパ17は、高速加算器1
6でCLA加算処理がなされたデータを上記オーバーフ
ラッグOの有無に基づいてクリップ処理を行い、得られ
たデータを最大値/最小値セレクタ18に出力する。
First, it is selected whether the addition processing of the first addition result and the second addition result is performed or the addition processing of the data directly input from the local buses LB0 and LB1 is performed. The result of this addition is 4
0-bit size data (a + m × n or X +
Y), and this data is sent to the clipper 17. Further, the high-speed adder 16 generates an overflow flag O when the number of digits overflows in the process of the addition processing, sends the overflow flag O to the clipper 17, and the addition result becomes negative. If it becomes negative, a negative flag
N is generated, and this negative flag N is sent to the maximum value / minimum value selector 18. Note that the subtraction process is realized by taking the complement of 2 and performing the addition process without separately providing a subtraction circuit system. The clipper 17 is a high-speed adder 1
The data subjected to the CLA addition processing in 6 is clipped based on the presence / absence of the overflag O, and the obtained data is output to the maximum / minimum value selector 18.

【0030】また、最大値/最小値セレクタ18は、高
速加算器16から送られるネガティブフラッグNの有無
に基づいて、クリッパ17にてクリップ処理がなされた
データと、ローカルバスLB0からのデータと、ローカ
ルバスLB1からのデータとから最大値/最小値の選択
を行い、選択結果をローカルバスLB0に出力する。
Further, the maximum / minimum selector 18 has the data clipped by the clipper 17 based on the presence / absence of the negative flag N sent from the high speed adder 16 and the data from the local bus LB0. The maximum value / minimum value is selected from the data from the local bus LB1 and the selection result is output to the local bus LB0.

【0031】図1で示したような構成にすることで、上
記積和/加算部に積和処理及び加算処理を実行する機能
を持たせることが可能になることがわかる。
It will be understood that by adopting the configuration as shown in FIG. 1, it becomes possible to give the above-mentioned product sum / addition unit the function of executing the product sum process and the addition process.

【0032】図2は、本実施例のディジタル信号処理装
置の要部の概略構成を示すブロック図である。
FIG. 2 is a block diagram showing a schematic structure of a main part of the digital signal processing apparatus of this embodiment.

【0033】図2で、ディジタル信号処理装置は、大き
く分けて、データ駆動実行部30、データ処理実行部3
1、プログラム制御部26、アドレス生成部27、デー
タメモリ28及びプログラムメモリ29で構成される。
さらに、データ駆動実行部30は、積和/加算部21及
び制御部22で構成され、また、データ処理実行部31
は積和/加算部23、バレルシフタ論理部24及びレジ
スタファイル25で構成される。
In FIG. 2, the digital signal processing device is roughly divided into a data driving execution unit 30 and a data processing execution unit 3.
1, a program controller 26, an address generator 27, a data memory 28, and a program memory 29.
Further, the data driving execution unit 30 is composed of a sum of products / addition unit 21 and a control unit 22, and a data processing execution unit 31.
Is composed of a product sum / addition unit 23, a barrel shifter logic unit 24, and a register file 25.

【0034】また、上記ディジタル信号処理装置におい
て、データ処理実行部31の積和/加算部23、バレル
シフタ論理部24及びレジスタファイル25と、プログ
ラム制御部26と、アドレス生成部27とは、ローカル
バスLB0及びLB1に接続している。データメモリ2
8とプログラムメモリ29とレジスタファイル25と
は、メモリバスMB0、MB1に接続する。また、さら
に、データ駆動実行部30の制御部22は、メモリバス
MB0に接続する。また、データ駆動実行部30の積和
/加算部21と、データ処理実行部31のレジスタファ
イル25とは、スペシャルバスSB0及びSB1に接続
している。また、各構成部と各バスとの間には、アイソ
レータ33が挿入接続されている。
In the digital signal processing device, the product sum / addition unit 23, the barrel shifter logic unit 24 and the register file 25 of the data processing execution unit 31, the program control unit 26, and the address generation unit 27 are the local bus. It is connected to LB0 and LB1. Data memory 2
8, the program memory 29, and the register file 25 are connected to the memory buses MB0 and MB1. Furthermore, the control unit 22 of the data drive execution unit 30 is connected to the memory bus MB0. The product sum / addition unit 21 of the data driving execution unit 30 and the register file 25 of the data processing execution unit 31 are connected to the special buses SB0 and SB1. An isolator 33 is inserted and connected between each component and each bus.

【0035】上記ディジタル信号処理装置によれば、上
記プログラム制御部26は、上記プログラムメモリ29
にて記憶されているディジタル信号処理プログラムを読
み出して制御する。また、このプログラムに基づいて、
上記アドレス生成部27はアドレスを発生し、このアド
レスに基づいて、上記データ駆動実行部30にてディジ
タル信号処理が駆動され、これに応じて上記データ処理
実行部31によるディジタル信号処理が実行される。上
記データ駆動実行部30及びデータ処理実行部31の処
理結果はレジスタファイル25に蓄積され、さらにこの
蓄積されたデータ処理結果がデータメモリに送られ、記
憶される。
According to the digital signal processing device, the program control section 26 includes the program memory 29.
The digital signal processing program stored in is read out and controlled. Also, based on this program,
The address generator 27 generates an address, the data drive execution unit 30 drives the digital signal processing based on the address, and the data process execution unit 31 executes the digital signal processing in response thereto. . The processing results of the data driving execution unit 30 and the data processing execution unit 31 are accumulated in the register file 25, and the accumulated data processing results are sent to and stored in the data memory.

【0036】図4は、図2に示したディジタル信号処理
装置のデータ処理実行部31内に設けるバレルシフタ論
理部24の要部を示すブロック回路図である。
FIG. 4 is a block circuit diagram showing a main part of the barrel shifter logic section 24 provided in the data processing execution section 31 of the digital signal processing apparatus shown in FIG.

【0037】図4で、バレルシフタ論理部は大きく分け
て、データパス部51及びデータ解釈/カウンタ部52
で構成される。さらに、データパス部51は、マスカー
41、バレルシフタ42、サインビットディテクタ43
及び論理演算器44を有して成る部分であり、データ解
釈/カウンタ部52は、インクリメンタ45、第1シフ
トカウンタ46、第2シフトカウンタ47、セレクタ5
0、高速加算器48及び補数加算器49を有して成る部
分である。
In FIG. 4, the barrel shifter logic unit is roughly divided into a data path unit 51 and a data interpretation / counter unit 52.
Composed of. Further, the data path unit 51 includes a masker 41, a barrel shifter 42, a sign bit detector 43.
The data interpreting / counter unit 52 includes an incrementer 45, a first shift counter 46, a second shift counter 47, and a selector 5.
0, a high speed adder 48 and a complement adder 49.

【0038】上記データパス部51において、ローカル
バスLB1より入力される40ビットのデータは、マス
カー41に送られる。マスカー41からの出力は、論理
演算器44に送られる。また、ローカルバスLB0より
入力される40ビットのデータは、バレルシフタ42及
びサインビットディテクタ43に送られる。バレルシフ
タ42からの出力は、上記論理演算器44に送られる。
また、上記サインビットディテクタ43からの出力は上
記バレルシフタ42及びデータバスDBに送られる。な
お、上記データバスDBは、上記ローカルバスLB0に
接続するバスである。
In the data path unit 51, 40-bit data input from the local bus LB1 is sent to the masker 41. The output from the masker 41 is sent to the logical operation unit 44. The 40-bit data input from the local bus LB0 is sent to the barrel shifter 42 and the sign bit detector 43. The output from the barrel shifter 42 is sent to the logical operation unit 44.
The output from the sign bit detector 43 is sent to the barrel shifter 42 and the data bus DB. The data bus DB is a bus connected to the local bus LB0.

【0039】また、上記データ解釈/カウンタ部52に
おいて、上記データバスDBと、第1シフトカウンタ4
6及び第2シフトカウンタ47とは双方向に16ビット
のデータが送られる。また、上記第1シフトカウンタ4
6とインクリメンタ45とも双方向にデータが出力され
る。さらに、第1シフトカウンタ46からの6ビット
(LSB)の出力は、上記第2シフトカウンタ47と、
高速加算器48と、セレクタ50とに送られる。また、
上記第2シフトカウンタ47からの6ビット(LSB)
の出力は、上記高速加算器48と上記セレクタ50とに
送る。また、上記高速加算器48からの出力は、補数加
算器49と、上記セレクタ50と、上記データバスDB
とに送られる。また、上記高速加算器48からのサイン
ビットは、上記補数加算器49と上記セレクタとに送ら
れる。また、補数加算器49からの出力は、上記セレク
タ50と、上記データバスDBとに送られる。
In the data interpretation / counter unit 52, the data bus DB and the first shift counter 4 are also provided.
Sixteen-bit data is bidirectionally sent to and from the sixth and second shift counters 47. In addition, the first shift counter 4
6 and the incrementer 45 output data bidirectionally. Further, the 6-bit (LSB) output from the first shift counter 46 is output to the second shift counter 47,
It is sent to the high speed adder 48 and the selector 50. Also,
6 bits (LSB) from the second shift counter 47
Is sent to the high-speed adder 48 and the selector 50. The output from the high speed adder 48 is the complement adder 49, the selector 50, and the data bus DB.
Sent to. The sign bit from the high speed adder 48 is sent to the complement adder 49 and the selector. The output from the complement adder 49 is sent to the selector 50 and the data bus DB.

【0040】データパス部51において、マスカー41
は、ローカルバスLB1より送られるデータのマスク処
理を行い、このデータを論理演算部44に送る。
In the data path unit 51, the masker 41
Performs mask processing of the data sent from the local bus LB1 and sends the data to the logical operation unit 44.

【0041】また、バレルシフタ42は、ローカルバス
LB0から送られるデータを後述するサインビットディ
テクタ43から送られる符号桁、いわゆるサインビット
の位置を示す信号に基づいて、データのビットシフト処
理を行い、このデータを論理演算部44に送る。また、
上記サインビットディテクタ43は、上記ローカルバス
LB0から送られる40ビットのデータから上記サイン
ビットを検出し、このサインビットをバレルシフタ42
及びデータバスに送る。
Further, the barrel shifter 42 performs a bit shift process on the data sent from the local bus LB0 based on a signal indicating a so-called sign bit position, which is a code digit sent from a sign bit detector 43, which will be described later. The data is sent to the logical operation unit 44. Also,
The sign bit detector 43 detects the sign bit from the 40-bit data sent from the local bus LB0, and the sign bit is detected by the barrel shifter 42.
And send to the data bus.

【0042】また、論理演算部44は、マスカー41に
てマスク処理されたデータと、バレルシフタ42でビッ
トシフト処理されたデータとを用いて論理演算処理を行
い、この演算結果をローカルバスLB0に送る。
The logical operation unit 44 also performs logical operation processing using the data masked by the masker 41 and the data bit-shifted by the barrel shifter 42, and sends the operation result to the local bus LB0. .

【0043】また、データ解釈/カウンタ部52におい
て、第1シフトカウンタ46は、上記データバスDBか
ら16ビットのデータを取り込み、この取り込んだデー
タをインクリメンタ45及び上記データバスDBに送
る。また、このインクリメンタ45でインクリメントさ
れたデータと、既に取り込んであるデータを比較し、上
記ディジタル信号処理のプログラムで設定される条件を
満たすデータを、第2シフトカウンタ47に送る。ま
た、上記第1シフトカウンタ46は、上記取り込んだデ
ータのLSBの6ビットのデータを出力する。
In the data interpretation / counter section 52, the first shift counter 46 fetches 16-bit data from the data bus DB and sends the fetched data to the incrementer 45 and the data bus DB. Further, the data incremented by the incrementer 45 is compared with the already fetched data, and the data satisfying the condition set by the digital signal processing program is sent to the second shift counter 47. The first shift counter 46 outputs 6-bit LSB data of the fetched data.

【0044】上記インクリメンタ45は、上述のよう
に、第1シフトカウンタ46からの出力を、上記ディジ
タル信号処理のプログラムに応じて、インクリメント処
理(increment )して、この処理結果を上記第1シフト
カウンタ46に送り返す。また、上記第2シフトカウン
タ47は、上記第1シフトカウンタ46から送られる上
記条件を満たすデータのうち、最後に送られたデータを
記憶する。この記憶されているデータは、上記データバ
スDBに送る。また、上記第2シフトカウンタ47は、
上記記憶したデータのLSBの6ビットのデータを出力
する。
As described above, the incrementer 45 increments the output from the first shift counter 46 according to the program of the digital signal processing, and outputs the processing result to the first shift. It returns to the counter 46. Further, the second shift counter 47 stores the last transmitted data among the data satisfying the above conditions transmitted from the first shift counter 46. The stored data is sent to the data bus DB. Further, the second shift counter 47 is
The 6-bit data of the LSB of the stored data is output.

【0045】高速加算器48は、上記第1シフトカウン
タ46及び上記第2シフトカウンタ47から送られる上
記LSBの6ビットのデータを加算処理し、加算結果及
び加算処理時に発生したサインビットを出力する。補数
加算器49は、上記加算結果を上記サインビットに基づ
いて加算処理し、この加算結果を出力する。セレクタ5
0は、上記サインビット及び図示されないコントロール
バスより送られる制御信号に基づいて、上記第1シフト
カウンタ46からの出力であるLSBの6ビットのデー
タと、上記第2シフトカウンタ47からの出力であるL
SBの6ビットのデータと、上記高速加算器48からの
出力と、上記補数加算器49からの出力とから移動した
データのビット数/マスクされたデータのビット数を検
出して、上記コントロールバスに出力する。
The high-speed adder 48 performs addition processing on the 6-bit LSB data sent from the first shift counter 46 and the second shift counter 47, and outputs the addition result and the sign bit generated during the addition processing. . The complement adder 49 performs addition processing on the addition result based on the sign bit and outputs the addition result. Selector 5
0 is the 6-bit LSB data output from the first shift counter 46 and the output from the second shift counter 47 based on the sign bit and a control signal sent from a control bus (not shown). L
The number of bits of data moved / the number of bits of masked data are detected from the 6-bit data of SB, the output from the high-speed adder 48, and the output from the complement adder 49, and the control bus is detected. Output to.

【0046】図5は、図2に示したディジタル信号処理
装置のアドレス生成部27の要部を示すブロック回路図
である。
FIG. 5 is a block circuit diagram showing a main part of the address generation unit 27 of the digital signal processing device shown in FIG.

【0047】図5によれば、アドレス生成部内には、以
下に挙げる15のレジスタが存在する。アドレスレジス
タ部64の4つのアドレスレジスタ(adr0−adr
3)、オフセットレジスタ部65の4つのオフセットレ
ジスタ(off0−off3)、モードレジスタ部66
の4つのモードレジスタ(mod0−mod3)、2つ
のFIFO(firstーin firstーout)レジスタ(fl及び
fd)、そして1つのバスアドレスレジスタ(bad
r)である。
According to FIG. 5, the following 15 registers are present in the address generator. Four address registers (adr0-adr) of the address register unit 64
3), the four offset registers (off0-off3) of the offset register unit 65, the mode register unit 66
4 mode registers (mod0-mod3), two FIFO (first-in-first-out) registers (fl and fd), and one bus address register (bad).
r).

【0048】また、本実施例においては、各アドレスレ
ジスタは、最大4つのアドレッシングモードを有してい
る。例えば、adr0において、4つのプログラミング
シンタックス(fixed programming syntax)が与えられ
ていて、各プログラミングシンタックスは、*adr0
++、*adr0−−、*adr+2、そして*adr0
%に固定される。なお、これら*adr0++、*adr
0−−、*adr+2、*adr0%は、C言語様、すな
わちC言語体系で書かれている。これら最初の3つのア
ドレッシングモード*adr0++、*adr0−− 及
*adr+2は、1サイクル当たり1ずつ増加するポ
ストインクリーメント(post-increment)、1サイクル
当たり1ずつ減少するポストディクリーメント(post-d
ecrement)、また、1サイクル当たり2ずつ増加するポ
ストインクリーメント(post-increment)に固定され
る。また、もう一つのアドレッシングモードであるad
r0%は、mod0の3つのMSBを用いることで、例
えば、図6に示すように8つのアドレッシングモードの
何れにも変更可能である。なお、モードレジスタは、m
od0h=mod0[15:13]、すなわちmod0
のMSBから3ビット及びmod0l=mod0[1
2:0]、すなわちmod0のLSBから14ビットと
している。
Further, in this embodiment, each address register has a maximum of four addressing modes. For example, in adr0, four programming syntaxes (fixed programming syntax) are given, and each programming syntax is * adr0.
++, * adr0-, * adr + 2, and * adr0
It is fixed at%. These * adr0 ++, * adr
0−−, * adr + 2, * adr0% are written in the C language, that is, in the C language system. These first three addressing modes * adr0 ++, * adr0-- and * adr + 2 are post-increment increasing by 1 per cycle and post-decrement decreasing by 1 per cycle.
ecrement) and the post-increment that increases by 2 per cycle. Another addressing mode, ad
r0% can be changed to any of eight addressing modes as shown in FIG. 6, for example, by using three MSBs of mod0. The mode register is m
od0h = mod0 [15:13], that is, mod0
3 MSBs and mod0l = mod0 [1
2: 0], that is, 14 bits from the LSB of mod0.

【0049】また、4入力加算器67及び4入力加算器
68は、アドレスレジスタ部64、オフセットレジスタ
部65及びモードレジスタ部66から送られるアドレス
に対して修飾を行っている。また、アドレスレジスタ部
64と4入力加算器67、あるいは4入力加算器68と
でアドレスはインクリーメントされる。この4入力加算
器67でアドレッシング修飾されたアドレスは、アドレ
スレジスタ部64からアドレス出力端子DA0に、ま
た、4入力加算器68でアドレッシング修飾されたアド
レスは、アドレスレジスタ部64からアドレス出力端子
DA1に出力されると共に、外部メモリアクセル制御部
61にも送られる。
The 4-input adder 67 and the 4-input adder 68 modify the addresses sent from the address register section 64, the offset register section 65 and the mode register section 66. The address is incremented by the address register unit 64 and the 4-input adder 67 or the 4-input adder 68. The address modified by the 4-input adder 67 is sent from the address register unit 64 to the address output terminal DA0, and the address modified by the 4-input adder 68 is sent from the address register unit 64 to the address output terminal DA1. It is output and also sent to the external memory accelerator control unit 61.

【0050】また、例えば非常に不規則なデータアドレ
ッシングが必要とされる場合、アドレス計算だけで実際
のデータ処理と同じ工程数が必要となる。そこで、FI
FOメモリを用いて、この問題を解決する。具体的に
は、FIFOメモリ63にfifoデータレジスタ(f
d)を介して任意のアドレス組をロードすると共に、f
ifo長レジスタ(fl)を介してFIFOメモリ長を
設定しておき、さらに、mod0[15:13]をfi
foインデックスモードに設定しておく(以上の操作を
初期設定という)。このように初期設定がなされていれ
ば、adr0%が使用されているときはいつでも、FI
FOメモリ63からmod0[12:0]に自動的に読
まれるようになる。
Further, for example, when very irregular data addressing is required, the same number of steps as the actual data processing is required only by the address calculation. So FI
FO memory is used to solve this problem. Specifically, in the FIFO memory 63, the fifo data register (f
load any address set via d) and f
The FIFO memory length is set via the ifo length register (fl), and mod0 [15:13] is set to fi
Set to fo index mode (the above operation is called initial setting). With this initialization, the FI is always used whenever adr0% is used.
The data can be automatically read from the FO memory 63 to mod0 [12: 0].

【0051】図7は、図2に示したディジタル信号処理
装置のプログラム制御部の要部を示すブロック図であ
る。
FIG. 7 is a block diagram showing the main part of the program control unit of the digital signal processing apparatus shown in FIG.

【0052】図7で、プログラム制御部は大きく分け
て、プログラムデコード部とプログラム処理部とから構
成される。
In FIG. 7, the program control section is roughly divided into a program decoding section and a program processing section.

【0053】プログラムデコード部は、インストラクシ
ョンレジスタ71とインストラクションデコーダとを備
えて成る部分で、図2のプログラムメモリ29からプロ
グラムメモリデータ入力端子PDを介して送られるプロ
グラムメモリデータをデコーダし、ディジタル信号処理
装置の各部にデコード処理したプログラムをインストラ
クションとして出力している。
The program decoding section is a section comprising an instruction register 71 and an instruction decoder, and decodes program memory data sent from the program memory 29 of FIG. 2 via the program memory data input terminal PD to perform digital signal processing. The decoded program is output to each part of the device as an instruction.

【0054】また、プログラム処理部は、図7に示すよ
うに、2本のデータバスの間にプログラムカウンタ(P
C)72と、バックアップ回路73と、PCスタック7
4と、即値レジスタ75とを備えると共に、ループ制御
部82を有して成る部分である。また、ループ制御部8
2は、ループカウンタ(lc)76と、加算器77と、
ループ終了アドレス(lea)レジスタ78と、ループ
開始アドレス(lba)レジスタ80と、ループスタッ
ク81とを備えて成る部分である。
Further, the program processing section, as shown in FIG. 7, has a program counter (P
C) 72, backup circuit 73, PC stack 7
4 and an immediate register 75, and a loop controller 82. Also, the loop control unit 8
2 is a loop counter (lc) 76, an adder 77,
It is a part including a loop end address (lea) register 78, a loop start address (lba) register 80, and a loop stack 81.

【0055】ここで、プログラムカウンタ(PC)値
は、プログラムデコード部にてデコード処理されたプロ
グラムのカウンタ値をとる。このPC値は、PCスタッ
ク74に送られ取り込まれると共に、バックアップ回路
73にて保持される。また、PCスタック74は、上記
PC値の他に割り込み制御器からの割り込み制御信号も
取り込んで、通常のサブルーチン処理及び割り込みイン
ストラクションの処理に対応できるようにしている。
Here, the program counter (PC) value is the counter value of the program decoded by the program decoding unit. This PC value is sent to the PC stack 74 and taken in, and is held by the backup circuit 73. In addition to the above PC value, the PC stack 74 also takes in an interrupt control signal from an interrupt controller so that it can handle normal subroutine processing and interrupt instruction processing.

【0056】また、即値レジスタ75は、インストラク
ションレジスタ(IR)71から送られるインストラク
ションの即値を取り込み、加算器77及びデータバスに
送る。また、加算器77は、上記PC値と上記即値とを
加算処理し得られた加算結果をループ終了アドレス(l
ea)としてデータバス及びループ終了アドレスレジス
タ78に送る。ループ終了アドレスレジスタ78には、
leaが一時記憶される。
The immediate value register 75 takes in the immediate value of the instruction sent from the instruction register (IR) 71 and sends it to the adder 77 and the data bus. Also, the adder 77 adds the PC value and the immediate value to each other and obtains the addition result, which is the loop end address (l
ea) to the data bus and loop end address register 78. The loop end address register 78 contains
The lea is temporarily stored.

【0057】ループ開始アドレスレジスタ80は、プロ
グラムのループ処理を開始するループ開始アドレス(l
ba)を一時記憶する。また、ループカウンタ76は、
上記ループ処理を行う際のカウンタ(lc)値を一時記
憶する。
The loop start address register 80 is a loop start address (l
Temporarily store ba). Also, the loop counter 76
The value of the counter (lc) when the above loop processing is performed is temporarily stored.

【0058】そして、ループスタック81は、上記lb
aと、上記leaと、上記lc値とを取り込んで記憶
し、ループ処理の過程で必要に応じて、取り込んだルー
プ開始アドレス、ループ終了アドレス及びlc値をルー
プ開始アドレスレジスタ78、ループ終了アドレスレジ
スタ80及びループカウンタ76に送る。
Then, the loop stack 81 has the above-mentioned lb.
a, the lea, and the lc value are fetched and stored, and the fetched loop start address, loop end address, and lc value are stored in the loop start address register 78 and the loop end address register as necessary in the process of loop processing. 80 and loop counter 76.

【0059】ここで、図7によれば、プログラム制御部
は、通常のサブルーチン及び割り込みインストラクショ
ン用のPCスタック74と、ループインストラクション
用のループスタック81とに挙げられるように2種類の
スタックを有することで、ディジタル信号処理装置の動
作において、ノーオーバーヘッドのドゥループ(no-ove
rhead do-loop)処理を行うようにしている。また、上
記2種類のスタックが設けられているにも関わらず、全
スタックサイズは従来のディジタル信号処理装置で設け
られているスタックサイズと同等のサイズにて実現され
ている。
Here, as shown in FIG. 7, the program control unit has two types of stacks, such as a PC stack 74 for ordinary subroutines and interrupt instructions, and a loop stack 81 for loop instructions. In the operation of the digital signal processing device, no overhead (no-ove)
rhead do-loop) processing is performed. Further, despite the provision of the above-mentioned two types of stacks, the total stack size is realized in the same size as the stack size provided in the conventional digital signal processing device.

【0060】図8は、図2に示したディジタル信号処理
装置のデータ駆動実行部の要部を示すブロック図であ
る。
FIG. 8 is a block diagram showing the main part of the data drive execution unit of the digital signal processing device shown in FIG.

【0061】図8で、データ駆動実行部は大きく分け
て、積和/加算部21と制御部22とから構成される。
In FIG. 8, the data drive execution unit is roughly divided into a product sum / addition unit 21 and a control unit 22.

【0062】積和/加算部21は、図2のデータ処理実
行部31内の積和/加算部23と同じ構成及び機能を有
するものであり、レジスタファイル25とスペシャルバ
スSB0及びSB1を介して接続している。
The product-sum / addition unit 21 has the same structure and function as the product-sum / addition unit 23 in the data processing execution unit 31 of FIG. 2, and via the register file 25 and the special buses SB0 and SB1. Connected.

【0063】制御部22は、トリガレジスタデコーダ9
1、インストラクションレジスタ92(dc0−dc
3)、インストラクションデコーダ93、モードレジス
タ94(dm)及びラッチ回路95を備えている。
The control unit 22 uses the trigger register decoder 9
1, instruction register 92 (dc0-dc
3), an instruction decoder 93, a mode register 94 (dm), and a latch circuit 95.

【0064】トリガレジスタデコーダ91は、コンパレ
ータを備えると共に、プログラム制御部26からメモリ
バスMB0を介して送られる書込制御信号と後述する4
つのインストラクションレジスタ92(dc0−dc
3)から送られるトリガレジスタコードとを比較し、比
較結果をデータ駆動実行部30内の各部分に送る。な
お、上記書込制御信号は、データメモリ28に蓄積され
ていたデータを、レジスタファイル25のレジスタに書
き込む際に発生する制御信号である。また、後述するよ
うに、上記レジスタがディジタル信号処理装置の処理プ
ログラムにて規定されるトリガレジスタである場合、比
較結果は後述するdc0−dc3の内容の何れかと等し
くなり、この結果レジスタファイル25内のレジスタは
上記バスにて始動、いわゆるトリガされた状態となる。
また、”トリガされた状態”でないときは、データ駆動
実行部30は、動作しないようにしている。
The trigger register decoder 91 includes a comparator, and a write control signal sent from the program control unit 26 via the memory bus MB0 and 4 which will be described later.
Two instruction registers 92 (dc0-dc
3) The trigger register code sent from 3) is compared, and the comparison result is sent to each part in the data driven execution unit 30. The write control signal is a control signal generated when the data stored in the data memory 28 is written in the register of the register file 25. Further, as will be described later, when the register is a trigger register defined by the processing program of the digital signal processing device, the comparison result becomes equal to any of the contents of dc0-dc3 described later, and the result register file 25 The register is started by the above-mentioned bus and is in a so-called triggered state.
In addition, when it is not in the “triggered state”, the data drive execution unit 30 does not operate.

【0065】インストラクションレジスタ92は、4つ
のレジスタを有していて、各レジスタはdc0からdc
3まで定義されている。このdc0−dc3の内容は、
ディジタル信号処理プログラムに応じて、書き換えが可
能であり、各レジスタに取り込まれたインストラクショ
ンは、トリガレジスタデコーダ91及びインストラクシ
ョンデコーダ93に送られる。
The instruction register 92 has four registers, each of which is dc0 to dc.
Up to 3 is defined. The contents of this dc0-dc3 are
Rewriting is possible in accordance with the digital signal processing program, and the instructions fetched in each register are sent to the trigger register decoder 91 and the instruction decoder 93.

【0066】インストラクションデコーダ93は、イン
ストラクションレジスタ92から送られる上記インスト
ラクションと後述するモードレジスタ94(dm)から
送られるモード制御信号とに基づいて、データ駆動イン
ストラクションを生成し、このデータ駆動インストラク
ションをラッチ回路95を介して積和/加算部21に送
る。モードレジスタ94は、上記モード制御信号を発生
してインストラクションデコーダに送ることで、例え
ば、データ駆動実行部30内の積和/加算部21の加算
/減算結果のビットを、データ処理実行部31内の積和
/加算部23で得られる加算/減算結果のビットに揃え
るといったように、データ駆動実行部30内の積和/加
算部21の実行モードを制御する機能を有している。
The instruction decoder 93 generates a data driving instruction based on the instruction sent from the instruction register 92 and a mode control signal sent from a mode register 94 (dm) described later, and the data driving instruction is latched by a latch circuit. It sends to the product sum / addition unit 21 via 95. The mode register 94 generates the mode control signal and sends it to the instruction decoder, so that, for example, the bit of the addition / subtraction result of the product sum / addition unit 21 in the data drive execution unit 30 is stored in the data processing execution unit 31. It has a function of controlling the execution mode of the product sum / addition unit 21 in the data drive execution unit 30, such as aligning with the bits of the addition / subtraction result obtained by the product sum / addition unit 23 of FIG.

【0067】ここで、図8によれば、上記書込制御信号
と上記トリガレジスタコードとが等しい場合は、データ
駆動実行部30は動作し、積和/加算部21にデータ駆
動インストラクションが送られ、レジスタファイル25
のレジスタ内に存在する演算子を用いて演算開始、すな
わちデータ駆動を実行する。この積和/加算部21の動
作は、データが上記レジスタ、すなわちトリガレジスタ
に書き込まれている間続けられ、また、上記トリガレジ
スタにデータが書き込まれない間は、データ駆動実行部
30は非動作状態となる、すなわち駆動しない。従っ
て、消費電力の削減が可能となる。また、従来のディジ
タル信号処理装置の2つをソフトウェアパイプラインに
て並列に接続させて、データ処理を並列に行わせる場合
よりも、インストラクションのワード長が抑えられる。
また、従来のディジタル信号処理装置の2つをハードウ
ェア的に配線にて接続させる場合よりも、データ駆動処
理に柔軟性を持たせることができる。
Here, according to FIG. 8, when the write control signal and the trigger register code are equal, the data driving execution unit 30 operates and the data driving instruction is sent to the product sum / addition unit 21. , Register file 25
Using the operator existing in the register, the operation is started, that is, data driving is executed. The operation of the sum-of-products / addition unit 21 is continued while the data is written in the register, that is, the trigger register, and the data drive execution unit 30 does not operate while the data is not written in the trigger register. It becomes a state, that is, it does not drive. Therefore, it is possible to reduce power consumption. Further, the word length of the instruction can be suppressed as compared with the case where two conventional digital signal processing devices are connected in parallel by a software pipeline to perform data processing in parallel.
Further, the data drive processing can be made more flexible than the case where two conventional digital signal processing devices are connected by wiring in terms of hardware.

【0068】また、図3は、本実施例のディジタル信号
処理装置におけるデータ回りを模式的に示す図である。
FIG. 3 is a diagram schematically showing the data surroundings in the digital signal processing apparatus of this embodiment.

【0069】図3で、データ駆動実行部30とレジスタ
ファイル25とはスペシャルバスSB0及びSB1を介
して、また、データメモリ28とレジスタファイル25
とはメモリバスMB0及びMB1を介して、さらに、デ
ータ処理実行部31では、レジスタファイル25と積和
/加算部及びバレルシフタ論理部32とがローカルバス
LB0及びLB1を介してそれぞれ接続している。
In FIG. 3, the data driving execution unit 30 and the register file 25 are connected via the special buses SB0 and SB1, and the data memory 28 and the register file 25 are connected.
Is connected via the memory buses MB0 and MB1. Further, in the data processing execution unit 31, the register file 25 and the product sum / addition unit and barrel shifter logic unit 32 are connected via local buses LB0 and LB1, respectively.

【0070】すなわち、図3によれば、データ駆動実行
部30で得られたデータ、または、積和/加算部及びバ
レルシフタ論理部32で得られたデータはレジスタファ
イル25を介してデータメモリ28に書き込み可能で、
また、データメモリ28に蓄積されたデータは、データ
駆動実行部30、あるいは積和/加算部及びバレルシフ
タ論理部32にレジスタファイル25を介して読み出し
可能である。さらに、メモリバスMB0及びMB1、ス
ペシャルバスSB0及びローカルバスLB0は、対応す
る各構成に対して双方向にデータ移動可能となるよう
に、また、スペシャルバスSB1及びローカルバスLB
1は、レジスタファイル25から対応する各構成部へ一
方向にデータ移動可能となるように接続される。
That is, according to FIG. 3, the data obtained by the data driving execution unit 30 or the data obtained by the product sum / addition unit and barrel shifter logic unit 32 is stored in the data memory 28 via the register file 25. Writable,
Further, the data accumulated in the data memory 28 can be read out to the data driving execution unit 30, or the product sum / addition unit and barrel shifter logic unit 32 via the register file 25. Further, the memory buses MB0 and MB1, the special bus SB0, and the local bus LB0 are configured so that data can be moved bidirectionally with respect to the corresponding configurations, and the special bus SB1 and the local bus LB.
1 is connected so that data can be moved in one direction from the register file 25 to the corresponding components.

【0071】また、上記レジスタファイル25は、例え
ば、レジスタa、b、c、d、e、f、m、nといった
ように8つのレジスタを有し、各レジスタは40ビット
の容量を有している。また、例えば、レジスタm、n、
dは乗数及び被乗数の格納に割り当てられ、また、例え
ば、レジスタa、b、c、dは一般目的のアキュムレー
タに割り当てられ、また、例えば、レジスタb、d、
e、fは中間データのアキュムレータに割り当てられて
いる。
The register file 25 has eight registers such as registers a, b, c, d, e, f, m, and n, and each register has a capacity of 40 bits. There is. Also, for example, registers m, n,
d is assigned to store multipliers and multiplicands, for example registers a, b, c and d are assigned to general purpose accumulators, and for example registers b, d and
e and f are assigned to the accumulator of the intermediate data.

【0072】また、図3で示したような、データメモリ
28/データ駆動実行部30/データ処理実行部31及
びレジスタファイル25の上記各レジスタとの間のデー
タのやりとり、すなわちデータメモリ28からレジスタ
ファイル25へのデータの書き込み/読み出し、データ
処理実行部31の積和/加算部及びバレルシフタ論理部
32からレジスタファイル25へのデータの書き込み/
読み出し及びデータ駆動実行部30からレジスタファイ
ル25へのデータの書き込み/読み出しは、レジスタフ
ァイル25内に後述するアライナを設けて、このアライ
ナを用いて上記データの前処理、すなわち各構成で扱う
ビットサイズに揃える処理、あるいはデータ交換処理等
を行ってから、この前処理後のデータを用いて行われ
る。このアライナは、MB0、あるいはMB1を介した
書き込み操作と読み出し操作との各操作に応じて2種
類、同様にレジスタファイル25からLB0、LB1、
SB0、あるいはSB1を介した読み出し操作と、レジ
スタファイル25へのLB0、あるいはSB0を介した
書き込み操作と各1種類ずつ、すなわち合計4種類必要
である。これら4種類のアライナA0−アライナA3の
動作を図9、図10、図11及び図12に示す。なお、
レジスタファイル25及びMAU及びBLU/DDU1
01で扱う信号は40ビットであり、また、データメモ
リ28にて扱う信号は16ビットである。
Further, as shown in FIG. 3, data is exchanged between the data memory 28 / data driving execution unit 30 / data processing execution unit 31 and each of the above registers of the register file 25, that is, from the data memory 28 to the register. Writing / reading data to / from the file 25, writing / reading data to / from the sum-of-products / addition unit and barrel shifter logic unit 32 of the data processing execution unit 31 to the register file 25 /
For reading and writing / reading of data from the data driving execution unit 30 to the register file 25, an aligner described later is provided in the register file 25, and the aligner described below is used to perform the preprocessing of the data, that is, the bit size handled in each configuration. The data after this pre-processing is performed after performing the processing for aligning the data or the data exchange processing. There are two types of this aligner according to each operation of write operation and read operation via MB0 or MB1. Similarly, from the register file 25 to LB0, LB1,
A read operation via SB0 or SB1 and a write operation to the register file 25 via LB0 or SB0, one type each, that is, a total of four types are required. The operations of these four kinds of aligners A0 to A3 are shown in FIGS. 9, 10, 11 and 12. In addition,
Register file 25 and MAU and BLU / DDU1
The signal handled by 01 is 40 bits, and the signal handled by the data memory 28 is 16 bits.

【0073】図9は、アライナA0の動作を説明する図
である。
FIG. 9 is a diagram for explaining the operation of the aligner A0.

【0074】図9によれば、アライナA0は、レジスタ
ファイル25からデータ処理実行部31内の積和/加算
部(MAU:multiply accumulator/adder unit)及び
バレルシフタ論理部(BLU:barrel-shifter logic u
nit )/データ駆動実行部(DDU:data-driven uni
t)101にデータを送る際に、データ符号の拡張/交
換処理を行う。すなわち、レジスタファイル25からL
B0、LB1、SB0、あるいはSB1を介して、MA
U及びBLU/DDU101にデータを送る際に動作す
る。例えば、図9に示したように、上記レジスタbから
の信号beは、アライナA0に送られ、例えば符号拡張
制御信号に応じて符号拡張処理がなされ信号eとなり、
MAU及びBLU/DDU101に送られる。また、上
記レジスタbからの信号bh、あるいは上記レジスタa
からの信号alは、アライナA0に送られ、例えば互い
のデータ交換/結合処理がなされ信号h、あるいは信号
lとなり、MAU及びBLU/DDU101に送られ
る。
According to FIG. 9, the aligner A0 uses the register file 25 to add / add unit (MAU: multiply accumulator / adder unit) and barrel shifter logic unit (BLU: barrel-shifter logic u) in the data processing execution unit 31.
nit) / data-driven uni (DDU)
t) When data is sent to 101, data code expansion / exchange processing is performed. That is, register file 25 to L
MA through B0, LB1, SB0, or SB1
It operates when sending data to U and BLU / DDU 101. For example, as shown in FIG. 9, the signal be from the register b is sent to the aligner A0 and subjected to code extension processing in accordance with, for example, a code extension control signal to become a signal e,
It is sent to the MAU and BLU / DDU 101. Also, the signal bh from the register b or the register a
The signal al from is sent to the aligner A0, and is subjected to mutual data exchange / combination processing to become a signal h or a signal l, which is sent to the MAU and BLU / DDU 101.

【0075】図10は、アライナA1の動作を説明する
図である。
FIG. 10 is a diagram for explaining the operation of the aligner A1.

【0076】図10によれば、アライナA1は、MAU
及びBLU/DDU101から、LB0、あるいはSB
0を介してデータをレジスタファイル25に送る際に、
データの上記前処理を行う。例えば、図10に示したよ
うに、MAU及びBLU/DDU101で得られる信号
eは、アライナA1に送られ、例えば信号beとしてレ
ジスタファイル25の上記レジスタbに書き込まれる。
また、信号hは、アライナA1に送られ、例えば信号b
hとしてレジスタファイル25の上記レジスタbに書き
込まれ、また例えばアライナA1に送られる信号lに対
して結合処理がなされ、信号alとしてレジスタファイ
ル25のレジスタaに書き込まれる。
According to FIG. 10, the aligner A1 is MAU.
And BLU / DDU101 to LB0 or SB
When sending data to the register file 25 via 0,
Perform the above pre-processing of the data. For example, as shown in FIG. 10, the signal e obtained by the MAU and BLU / DDU 101 is sent to the aligner A1 and is written in the register b of the register file 25 as the signal be, for example.
Further, the signal h is sent to the aligner A1 and, for example, the signal b
The signal h is written in the register b of the register file 25 as h, and the signal l sent to the aligner A1 is subjected to the coupling process, and is written in the register a of the register file 25 as the signal al.

【0077】図11は、アライナA2の動作を説明する
図である。ここで、レジスタファイル25で扱うデータ
は40ビットであり、これに対して、データメモリ28
で扱うデータは16ビットである。
FIG. 11 is a diagram for explaining the operation of the aligner A2. Here, the data handled by the register file 25 is 40 bits, while the data memory 28
The data handled by is 16 bits.

【0078】図11によれば、アライナA2は、ラウン
ド/クリップ回路102を有すると共に、このラウンド
/クリップ回路102にて40ビットの信号を16ビッ
トの信号に変換するようにラウンド/クリップ処理を施
して、得られる信号をデータメモリ28に送る。すなわ
ち、図11に示したように、サイズが40ビットである
上記レジスタbからの信号be、信号bh及び信号bl
は、アライナA2に送られ、例えばラウンド/クリップ
回路にてラウンド/クリップ処理にて16ビットのサイ
ズにされて、データメモリにこの16ビットの信号が書
き込まれる。
According to FIG. 11, the aligner A2 has a round / clip circuit 102, and the round / clip circuit 102 performs a round / clip process so as to convert a 40-bit signal into a 16-bit signal. Then, the obtained signal is sent to the data memory 28. That is, as shown in FIG. 11, the signal be, the signal bh, and the signal bl from the register b whose size is 40 bits.
Is sent to the aligner A2, and is sized into 16 bits by round / clip processing by the round / clip circuit, for example, and the 16-bit signal is written in the data memory.

【0079】図12は、アライナA3の動作を説明する
図である。
FIG. 12 is a diagram for explaining the operation of the aligner A3.

【0080】図12によれば、データメモリ28に蓄積
された信号のサイズは16ビットであるため、上記アラ
イナA3は、上記蓄積された信号をレジスタファイル2
5内の所定のレジスタに送るには、この信号のサイズを
40ビットにする必要がある。そこで、上記アライナA
3は、上記蓄積された信号のデータ符号の拡張処理/ゼ
ロフィル処理を行う。すなわち、図12に示したよう
に、データメモリ28から送られる信号は、例えば符号
拡張制御信号に応じた符号拡張処理やゼロフィル処理や
データ交換処理がなされ、信号be、信号bh、あるい
は信号blとしてレジスタファイル25内の上記レジス
タbに書き込まれる。
According to FIG. 12, since the size of the signal stored in the data memory 28 is 16 bits, the aligner A3 stores the stored signal in the register file 2
The size of this signal must be 40 bits to be sent to the predetermined register in 5. Therefore, the above aligner A
3 performs extension processing / zero fill processing of the data code of the accumulated signal. That is, as shown in FIG. 12, the signal sent from the data memory 28 is subjected to a code extension process, a zero fill process, and a data exchange process according to the code extension control signal, and is converted into a signal be, a signal bh, or a signal bl. It is written in the register b in the register file 25.

【0081】また、図13は、本実施例のディジタル信
号処理装置を用いたパイプライン処理の一例としてFI
Rフィルタ特性を演算するのに適用する例をソフトウェ
アパイプライン(SOFTWARE-pipeline )で示す
図であり、また図14は、この処理を行うためのプログ
ラムの一例を示す図である。
FIG. 13 shows an FI as an example of pipeline processing using the digital signal processing apparatus of this embodiment.
FIG. 15 is a diagram showing an example applied to calculate the R filter characteristic by a software pipeline (SOFTWARE-pipeline), and FIG. 14 is a diagram showing an example of a program for performing this processing.

【0082】また、上記ソフトウェアパイプラインは、
(1)式及び(2)式を平行して行うためのものであ
る。
Further, the above software pipeline is
This is for performing the expressions (1) and (2) in parallel.

【0083】[0083]

【数1】 [Equation 1]

【0084】図13によれば、アドレスレジスタadr
0で指したデータメモリ28内のデータは、図2のメモ
リバスMB0、MB1を通じてレジスタファイル25内
のレジスタmh、あるいはレジスタmlに取り込まれ、
また、アドレスレジスタadr2で指したデータメモリ
28内のデータは、メモリバスMB0、MB1を通じて
上記レジスタファイル25内のレジスタnh、あるいは
レジスタnlに取り込まれる。これらのデータは、スペ
シャルバスSB0、SB1/データバスDB0、DB1
を通じてデータ駆動実行部30/データ処理実行部31
に送られる。
According to FIG. 13, the address register adr
The data in the data memory 28 pointed to by 0 is taken into the register mh or the register ml in the register file 25 through the memory buses MB0 and MB1 in FIG.
Further, the data in the data memory 28 pointed to by the address register adr2 is taken into the register nh or the register nl in the register file 25 through the memory buses MB0 and MB1. These data are stored in the special buses SB0, SB1 / data buses DB0, DB1.
Through the data driven execution unit 30 / data processing execution unit 31
Sent to

【0085】例えば、データ駆動実行部30は、レジス
タml及びレジスタnlの各データを、あるいはレジス
タmh及びレジスタnhの各データを乗算器111にて
乗算し、この乗算結果を加算器112にて一つ前の乗算
結果までの累和に加算する、すなわち上記乗算結果をイ
ンクリメントする。
For example, the data driving execution unit 30 multiplies each data of the register ml and the register nl or each data of the register mh and the register nh by the multiplier 111, and the multiplication result is integrated by the adder 112. It is added to the cumulative sum up to the previous multiplication result, that is, the multiplication result is incremented.

【0086】また、データ処理実行部31は、レジスタ
mh及びレジスタnlの各データを、あるいはレジスタ
ml及びレジスタnhの各データを乗算器113にて乗
算し、この乗算結果を加算器114にて一つ前の乗算結
果までの累和に加算する、すなわち上記乗算結果をイン
クリメントする。
Further, the data processing execution unit 31 multiplies each data of the register mh and the register nl or each data of the register ml and the register nh by the multiplier 113, and the multiplication result is integrated by the adder 114. It is added to the cumulative sum up to the previous multiplication result, that is, the multiplication result is incremented.

【0087】ここで、仮にレジスタmlのデータをx
(i)、レジスタmhのデータをx(i+1)、レジス
タnlのデータをc(i)、レジスタnhのデータをc
(i+1)とすると、上記データ駆動実行部30にて行
われる演算は、上記(1)式に示す演算であり、また、
上記データ処理実行部31にて行われる演算は、上記
(2)式に示す演算である。なお、アドレスレジスタa
dr0、adr2のデータは、図2のアドレス生成部2
7にてインクリメントされる。
Here, it is assumed that the data in the register ml is x
(I), the data in the register mh is x (i + 1), the data in the register nl is c (i), and the data in the register nh is c
Assuming that (i + 1), the operation performed by the data drive executing unit 30 is the operation represented by the above equation (1), and
The calculation performed by the data processing execution unit 31 is the calculation shown in the equation (2). The address register a
The data of dr0 and adr2 is the address generator 2 of FIG.
It is incremented by 7.

【0088】また、図14によれば、インストラクショ
ンI0は、データ駆動実行部30及びデータ処理実行部
31の動作の初期設定を行う命令を表す。このとき、デ
ータ駆動実行部30内のインストラクションレジスタd
c0にml×nlの演算結果を、また、インストラクシ
ョンレジスタdc1にmh×nhの演算結果を格納し
て、これら各インストラクションレジスタに格納された
演算結果を上記レジスタファイル25のレジスタaに送
る指示を行う。また、上記インストラクションI0は、
このレジスタaに格納された演算結果をインクリメント
するように指示している。なお、上記インクリメント
は、予め該当するレジスタに格納されている演算結果
に、新しく得られた演算結果を加算することをいい、ま
た、例えばmh×nhの演算結果は、レジスタmhに取
り込まれているデータと、レジスタnhに取り込まれて
いるデータとの乗算処理した結果をいう。また、データ
処理実行部(excution unit:EXU )31と、データ
メモリ(memory)28と、データ駆動実行部(data-dri
ven unit:DDU)30とは、各インストラクション毎
に指定される命令に従って、データ処理実行部31のデ
ータ処理の1クロック時間で互いの動作に平行して動作
する。
Further, according to FIG. 14, the instruction I0 represents an instruction for initializing the operation of the data driving execution unit 30 and the data processing execution unit 31. At this time, the instruction register d in the data drive execution unit 30
The operation result of ml × nl is stored in c0, the operation result of mh × nh is stored in the instruction register dc1, and an instruction to send the operation result stored in each instruction register to the register a of the register file 25 is given. . In addition, the instruction I0 is
It is instructed to increment the calculation result stored in the register a. The increment means adding a newly obtained operation result to an operation result stored in advance in a corresponding register. Further, for example, the operation result of mh × nh is fetched in the register mh. The result of multiplication processing of the data and the data stored in the register nh. In addition, a data processing execution unit (EXU) 31, a data memory (memory) 28, and a data drive execution unit (data-dri).
The ven unit (DDU) 30 operates in parallel with each other in one clock time of data processing of the data processing execution unit 31 in accordance with an instruction designated for each instruction.

【0089】また、インストラクションI1は、データ
処理実行部31に対して、レジスタファイル25内のレ
ジスタaを0に初期化することも指示する。さらに、上
記インストラクションI1は、レジスタファイル25に
対して、アドレスレジスタadr0で指定されたデータ
をレジスタmlに、また、アドレスレジスタadr2で
指定されたデータをレジスタnlに取り込むように指示
している。
The instruction I1 also instructs the data processing executing section 31 to initialize the register a in the register file 25 to 0. Further, the instruction I1 instructs the register file 25 to fetch the data designated by the address register adr0 into the register ml and the data designated by the address register adr2 into the register nl.

【0090】インストラクションI2は、データ処理実
行部31に対して、レジスタファイル25内のレジスタ
bを0に初期化することを指示している。また、上記イ
ンストラクションI2は、レジスタファイル25に対し
て、1だけインクリメントされたアドレスレジスタad
r0で指定されたデータをレジスタmhに、また、1だ
けインクリメントされたアドレスレジスタadr2で指
定されたデータをレジスタnhに取り込むように指示す
る。さらに、インストラクションI2は、データ駆動実
行部30に対して、ml×nlの演算結果を上記インス
トラクションレジスタdc0に格納すると共に、この演
算結果を上記レジスタaにも送るよう指示している。
The instruction I2 instructs the data processing executing section 31 to initialize the register b in the register file 25 to 0. Further, the instruction I2 is the address register ad incremented by 1 with respect to the register file 25.
It is instructed to fetch the data designated by r0 into the register mh and the data designated by the address register adr2 incremented by 1 into the register nh. Further, the instruction I2 instructs the data driving execution unit 30 to store the operation result of ml × nl in the instruction register dc0 and send the operation result to the register a.

【0091】インストラクションI3は、インストラク
ションI3は、データ処理実行部31に対して、インス
トラクションI3乃至インストラクションI6の演算命
令を、10回繰り返して行うように指示する。また、デ
ータ駆動実行部30に対して、mh×nhの演算結果を
上記インストラクションレジスタdc1に格納するよう
に指示している。さらに、このインストラクションレジ
スタdc1に取り込まれたデータは、上記レジスタaに
送られ、このレジスタaのデータ、すなわち上記ml×
nlの演算結果に加算される。
The instruction I3 instructs the data processing execution section 31 to repeatedly execute the operation instructions of the instructions I3 to I6 ten times. It also instructs the data drive execution unit 30 to store the calculation result of mh × nh in the instruction register dc1. Further, the data taken in the instruction register dc1 is sent to the register a, and the data in the register a, that is, the ml ×
It is added to the calculation result of nl.

【0092】インストラクションI4は、データ処理実
行部31に対して、mh×nlの演算結果を上記レジス
タbに格納するように指示する。また、上記インストラ
クションI4は、レジスタファイル25に対して、さら
に、1だけインクリメントされたアドレスレジスタad
r0で指定されたデータを上記レジスタmlに、また、
さらに1だけインクリメントされたアドレスレジスタa
dr2で指定されたデータを上記レジスタnlに取り込
むように指示する。
The instruction I4 instructs the data processing executing section 31 to store the calculation result of mh × nl in the register b. Further, the instruction I4 is the address register ad that is incremented by 1 with respect to the register file 25.
The data designated by r0 is stored in the register ml, and
Address register a further incremented by 1
It is instructed to fetch the data designated by dr2 into the register nl.

【0093】さらに、インストラクションI5は、デー
タ処理実行部31に対して、ml×nhの演算結果を上
記レジスタbに格納し、このレジスタbのデータにこの
演算結果を加算するように指示する。また、インストラ
クションI5は、レジスタファイル25に対して、さら
に1だけインクリメントされたアドレスレジスタadr
0で指定されたデータを上記レジスタmhに、さらに1
だけインクリメントされたアドレスレジスタadr2で
指定されたデータを上記レジスタnhに取り込むように
指示する。さらに、インストラクションI5は、データ
駆動実行部30に対して、ml×nlの演算結果を上記
インストラクションレジスタdc0に格納するように指
示する。さらに、このインストラクションレジスタdc
0に取り込まれたデータは、上記レジスタaに送られ、
このレジスタaのデータに加算される。
Further, the instruction I5 instructs the data processing executing section 31 to store the operation result of ml × nh in the register b and add the operation result to the data of the register b. Further, the instruction I5 is the address register adr which is further incremented by 1 with respect to the register file 25.
The data designated by 0 is further added to the register mh by 1
It is instructed to take in the data specified by the address register adr2 incremented only by the register nh. Further, the instruction I5 instructs the data driving execution unit 30 to store the calculation result of ml × nl in the instruction register dc0. Furthermore, this instruction register dc
The data taken in 0 is sent to the register a,
It is added to the data in this register a.

【0094】また、インストラクションI6は、データ
処理実行部31に対して、上記インストラクションI3
からインストラクションI5までの命令をループ処理す
ることを指示している。
Further, the instruction I6 instructs the data processing execution section 31 to perform the instruction I3.
To the instruction I5 are instructed to be loop-processed.

【0095】インストラクションI7は、データ処理実
行部31に対して、mh×nlの演算結果を上記レジス
タbに送ると共に、このレジスタbのデータにこの演算
結果を加算するように指示する。また、上記インストラ
クションI7は、レジスタファイル25に対して、さら
に1だけインクリメントされたアドレスレジスタadr
0で指定されたデータを、上記レジスタmlに取り込む
ことを指示する。さらに、インストラクションI7は、
データ駆動実行部31に対して、mh×nhの演算結果
を上記インストラクションレジスタdc1に格納すると
共に、この演算結果を上記レジスタaに送るように指示
する。さらに、このインストラクションレジスタdc1
に取り込まれたデータは、上記レジスタaに送られ、こ
のレジスタaのデータに加算される。
The instruction I7 instructs the data processing execution unit 31 to send the operation result of mh × nl to the register b and to add the operation result to the data of the register b. Further, the instruction I7 is the address register adr which is further incremented by 1 with respect to the register file 25.
It is instructed to fetch the data designated by 0 into the register ml. In addition, Instruction I7
The data drive execution unit 31 is instructed to store the calculation result of mh × nh in the instruction register dc1 and send the calculation result to the register a. Further, this instruction register dc1
The data taken in is sent to the register a and added to the data in the register a.

【0096】インストラクションI8は、データ処理実
行部31に対して、ml×nhの演算結果を上記レジス
タbに送ると共に、このレジスタbのデータにこの演算
結果を加算するように指示する。また、インストラクシ
ョンI8は、レジスタファイル25に対して、上記レジ
スタaのデータをアドレスレジスタadr3に送るよう
に指示する。
The instruction I8 instructs the data processing execution section 31 to send the operation result of ml × nh to the register b and to add the operation result to the data of the register b. Further, the instruction I8 instructs the register file 25 to send the data in the register a to the address register adr3.

【0097】インストラクションI9は、レジスタファ
イル25に対して、上記レジスタbのデータを、上記ア
ドレスレジスタadr3に送り、このアドレスレジスタ
adr3のデータに加算するように指示する。
The instruction I9 instructs the register file 25 to send the data of the register b to the address register adr3 and add it to the data of the address register adr3.

【0098】以上のように構成することで、ディジタル
信号処理において、従来の加算論理部の機能の加算部分
を積和部に移し、積和/加算部として、上記加算論理部
の論理演算部分とバレルシフタ部とを備えて成るバレル
シフタ論理部とすることで、IC基板面積を削減すると
共に、論理演算の速度も上がる。従って、データ処理速
度が上がる。
With the above configuration, in the digital signal processing, the addition part of the function of the conventional addition logic unit is moved to the sum of products unit, and the sum of products / addition unit is combined with the logical operation unit of the above addition logic unit. By using the barrel shifter logic unit including the barrel shifter unit, the IC substrate area is reduced and the speed of the logic operation is increased. Therefore, the data processing speed is increased.

【0099】また、データ駆動実行部を設けて、データ
処理実行部と平行してデータ処理をすることで演算速度
が従来のディジタル信号処理装置の2倍となるばかりで
はなく、ディジタル信号処理装置を2つ用いてデータ処
理を行う場合よりも、基板面積の削減を図ることが可能
になると共に、インストラクションの語長も抑えられ
る。また、データ駆動実行部はデータ駆動時以外は非動
作状態にすることで、消費電力も抑えられる。さらに、
ディジタル信号処理装置の2つをハードウェア的に配線
にて接続させる場合よりも、データ駆動処理に柔軟性を
持たせることができる。
Further, by providing the data driving execution unit and performing the data processing in parallel with the data processing execution unit, not only the operation speed becomes twice as high as that of the conventional digital signal processing device, but also the digital signal processing device is provided. The board area can be reduced and the word length of the instruction can be suppressed as compared with the case of performing data processing by using two. In addition, power consumption can be suppressed by setting the data drive execution unit to a non-operating state except during data drive. further,
The data drive processing can be made more flexible than in the case where two digital signal processing devices are connected by wiring in terms of hardware.

【0100】なお、本実施例では、データ駆動実行部を
設けて、このデータ駆動実行部にてデータ処理の駆動動
作を行わせたが、これに限定されることはなく、データ
駆動実行部を別に設けなくても、本発明の目的は達成さ
れることは言うまでもない。但し、この場合は、データ
駆動実行部を設けた場合に比べて、データ処理速度は小
さくなる。
In this embodiment, the data drive execution unit is provided and the data drive execution unit is made to perform the drive operation of the data processing. However, the present invention is not limited to this. It goes without saying that the object of the present invention can be achieved without providing it separately. However, in this case, the data processing speed is lower than that in the case where the data drive execution unit is provided.

【0101】[0101]

【発明の効果】以上説明してきたように、本発明に係る
第1の積和/加算部を備えて成るディジタル信号処理装
置によれば、上記第1の積和/加算部に積和演算処理及
び加算演算処理を実行させることで、従来においてバレ
ルシフタ部に接続していた加算論理部の加算部分のよう
な特別な加算回路を設ける必要がなくなり、この加算部
分を削除することが可能となるため、基板面積を抑える
ことができると共に、論理演算の処理速度が上がる。
As described above, according to the digital signal processing apparatus including the first product sum / addition unit according to the present invention, the first product sum / addition unit performs the product sum calculation process. By executing the addition arithmetic processing, it is not necessary to provide a special addition circuit such as the addition portion of the addition logic unit that is conventionally connected to the barrel shifter unit, and this addition unit can be deleted. The board area can be reduced, and the processing speed of logical operations can be increased.

【0102】また、上記第1の積和/加算部、バレルシ
フタ論理部、プログラム制御部及びアドレス生成部を有
して成るディジタル信号処理装置において、上記バレル
シフタ論理部はバレルシフタ部と、論理部とを有して成
るようにした場合、上記バレルシフタ論理部にてビット
シフト操作及びこのビットシフト操作に基づいた論理演
算のみが実行されることになるため、データ処理速度が
上がると共に、加算回路を設けていないため、基板面積
を抑えることができる。
In the digital signal processing device having the first sum of products / addition unit, barrel shifter logic unit, program control unit and address generation unit, the barrel shifter logic unit includes a barrel shifter unit and a logic unit. In the case where it is provided, since only the bit shift operation and the logical operation based on the bit shift operation are executed in the barrel shifter logic unit, the data processing speed is increased and the addition circuit is provided. Since it is not present, the substrate area can be suppressed.

【0103】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、上記アドレス生成部は、FIFO(ファーストイ
ン、ファーストアウト:first-in、firstーout )メモリ
を用いてアドレス信号処理を行うようにした場合、不規
則なデータアドレッシングが可能となるため、様々な用
途に対応する、すなわち汎用のディジタル信号処理装置
の実現が可能になる。
Further, in the digital signal processing device comprising the first sum of products / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the address generation unit is a FIFO (first In, first out: first-in, first-out) When address signal processing is performed using a memory, irregular data addressing is possible, so it can be used for various purposes, that is, a general-purpose digital signal. The processing device can be realized.

【0104】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、第2の積和/加算部と、制御部とを備えて成るデー
タ駆動実行部を有して成るようにした場合、上記データ
駆動実行部によるデータ駆動と上記データ処理実行部に
よるデータ処理とを平行して行わせることができるた
め、高速なデータ処理を行うことが可能になると共に、
上記データ駆動実行部はデータ駆動時以外で非動作状態
とすることで、消費電力が抑えられる。
Further, in the digital signal processing device comprising the first product sum / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, a second product sum / addition unit is provided. In the case where the data driving execution unit including the control unit is provided, the data driving by the data driving execution unit and the data processing by the data processing execution unit can be performed in parallel. , While enabling high-speed data processing,
Power consumption can be suppressed by setting the data driving execution unit in the non-operating state except during data driving.

【0105】また、上記第1の積和/加算部、上記バレ
ルシフタ論理部、上記プログラム制御部及び上記アドレ
ス生成部とを有して成るディジタル信号処理装置におい
て、上記第1の積和/加算部と上記バレルシフタ論理部
と上記プログラム制御部と上記アドレス生成部とから成
るデータ処理実行部と、データメモリと、アライナを有
して成るようにした場合、上記データ駆動実行部で得ら
れるデータと、上記データ処理実行部で得られるデータ
とを同一のデータメモリに記憶させることが可能になる
ため、基板面積を抑えることが可能になる。
Further, in the digital signal processing device comprising the first product sum / addition unit, the barrel shifter logic unit, the program control unit and the address generation unit, the first product sum / addition unit is provided. And a data processing execution unit including the barrel shifter logic unit, the program control unit, and the address generation unit, a data memory, and an aligner, the data obtained by the data drive execution unit, Since the data obtained by the data processing execution unit can be stored in the same data memory, the substrate area can be suppressed.

【図面の簡単な説明】[Brief description of drawings]

【図1】ディジタル信号処理装置に適用した本発明の積
和/加算部の要部の概略構成を示すブロック図である。
FIG. 1 is a block diagram showing a schematic configuration of a main part of a product sum / addition unit of the present invention applied to a digital signal processing device.

【図2】上記ディジタル信号処理装置の要部の概略構成
を示すブロック図である。
FIG. 2 is a block diagram showing a schematic configuration of a main part of the digital signal processing device.

【図3】上記ディジタル信号処理装置におけるデータ回
りを模式的に示す図である。
FIG. 3 is a diagram schematically showing an area around data in the digital signal processing device.

【図4】上記ディジタル信号処理装置のデータ処理実行
部内のバレルシフタ論理部の要部を示すブロック回路図
である。
FIG. 4 is a block circuit diagram showing a main part of a barrel shifter logic unit in a data processing execution unit of the digital signal processing device.

【図5】上記ディジタル信号処理装置のアドレス生成部
の要部を示すブロック回路図である。
FIG. 5 is a block circuit diagram showing a main part of an address generation unit of the digital signal processing device.

【図6】上記ディジタル信号処理装置におけるアドレス
レジスタのアドレッシングモードの一例を示す図であ
る。
FIG. 6 is a diagram showing an example of an addressing mode of an address register in the digital signal processing device.

【図7】上記ディジタル信号処理装置のプログラム制御
部の要部を示すブロック図である。
FIG. 7 is a block diagram showing a main part of a program control unit of the digital signal processing device.

【図8】上記ディジタル信号処理装置のデータ駆動実行
部の要部を示すブロック図である。
FIG. 8 is a block diagram showing a main part of a data drive execution unit of the digital signal processing device.

【図9】上記ディジタル信号処理装置におけるアライナ
A0の動作を説明する図である。
FIG. 9 is a diagram illustrating an operation of an aligner A0 in the digital signal processing device.

【図10】上記ディジタル信号処理装置におけるアライ
ナA1の動作を説明する図である。
FIG. 10 is a diagram illustrating an operation of the aligner A1 in the digital signal processing device.

【図11】上記ディジタル信号処理装置におけるアライ
ナA2の動作を説明する図である。
FIG. 11 is a diagram illustrating an operation of an aligner A2 in the digital signal processing device.

【図12】上記ディジタル信号処理装置におけるアライ
ナA3の動作を説明する図である。
FIG. 12 is a diagram illustrating an operation of an aligner A3 in the digital signal processing device.

【図13】上記本実施例のディジタル信号処理装置の動
作の一例を説明する図である。
FIG. 13 is a diagram for explaining an example of the operation of the digital signal processing device according to the present embodiment.

【図14】上記ディジタル信号処理装置を動作させるプ
ログラムの一例を示す図である。
FIG. 14 is a diagram showing an example of a program for operating the digital signal processing device.

【符号の説明】[Explanation of symbols]

11 オーバーフローディテクタ 12 パーシャル−プロダクトリダクションアレイ 13 ロジカルシフタ 14 クリッパ 15 キャリーセーブ加算器 16 高速加算器 17 クリッパ 18 最大値/最小値セレクタ 21 積和/加算部 22 制御部 23 積和/加算部 24 バレルシフタ論理部 25 レジスタファイル 26 プログラム制御部 27 アドレス生成部 28 データメモリ 30 データ駆動実行部 31 データ処理実行部 42 バレルシフタ 44 論理計算器 63 FIFOメモリ 67、68 4入力加算器 A0、A1、A2及びA3 アライナ 11 Overflow Detector 12 Partial-Product Reduction Array 13 Logical Shifter 14 Clipper 15 Carry Save Adder 16 High-speed Adder 17 Clipper 18 Maximum / Minimum Selector 21 Sum of Products / Adder 22 Control Unit 23 Sum of Products / Adder 24 Barrel Shifter Logic Section 25 Register File 26 Program Control Section 27 Address Generation Section 28 Data Memory 30 Data Drive Execution Section 31 Data Processing Execution Section 42 Barrel Shifter 44 Logical Calculator 63 FIFO Memory 67, 68 4 Input Adder A0, A1, A2 and A3 Aligner

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G10L 9/18 E H03M 7/28 9382−5K ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI Technical display location G10L 9/18 E H03M 7/28 9382-5K

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 プログラムに応じた処理手順に従ってデ
ィジタル信号を処理するディジタル信号処理装置におい
て、 上記ディジタル信号の積和処理を実行すると共に加算処
理をも実行する第1の積和/加算部を有して成ることを
特徴とするディジタル信号処理装置。
1. A digital signal processing device for processing a digital signal according to a processing procedure according to a program, comprising a first product sum / addition unit for executing a product sum processing of the digital signals and also an addition processing. A digital signal processing device comprising:
【請求項2】 上記ディジタル信号のシフト操作及び論
理演算を行うバレルシフタ論理部と、 上記ディジタル信号を処理する際に信号処理プログラム
制御を行うプログラム制御部と、 上記信号処理プログラムのアドレスを発生するアドレス
生成部とを有して成ることを特徴とする請求項1記載の
ディジタル信号処理装置。
2. A barrel shifter logic unit for performing shift operation and logical operation of the digital signal, a program control unit for controlling a signal processing program when processing the digital signal, and an address for generating an address of the signal processing program. The digital signal processing device according to claim 1, further comprising a generation unit.
【請求項3】 上記バレルシフタ論理部は、上記ディジ
タル信号のビットシフト操作を行うバレルシフタ部と、
ビットシフト操作を行ったディジタル信号の論理演算を
行う論理部とを有して成ることを特徴とする請求項2記
載のディジタル信号処理装置。
3. The barrel shifter logic unit includes a barrel shifter unit for performing a bit shift operation of the digital signal,
3. The digital signal processing apparatus according to claim 2, further comprising a logic unit that performs a logical operation on the digital signal that has been bit-shifted.
【請求項4】 上記アドレス生成部は、FIFO(ファ
ーストイン、ファーストアウト)メモリを用いてアドレ
ス信号処理を行うことを特徴とする請求項2記載のディ
ジタル信号処理装置。
4. The digital signal processing apparatus according to claim 2, wherein the address generation unit performs address signal processing using a FIFO (first in, first out) memory.
【請求項5】 上記ディジタル信号の積和処理を実行す
ると共に加算処理をも実行する第2の積和/加算部と、
この積和/加算演算処理を制御する制御部とを備えて成
るデータ駆動実行部を有して成ることを特徴とする請求
項2記載のディジタル信号処理装置。
5. A second sum-of-products / addition unit that performs sum-of-products processing of the digital signals and also performs addition-processing,
3. The digital signal processing device according to claim 2, further comprising a data drive execution unit including a control unit for controlling the sum of products / addition calculation process.
【請求項6】 上記第1の積和/加算部と上記バレルシ
フタ論理部と上記プログラム制御部と上記アドレス生成
部とから成るデータ処理実行部と、 上記データ処理実行部で得られる処理結果を記憶するデ
ータメモリと、 上記データ処理実行部と上記データメモリとの間を接続
/データ交換を行うアライナを有して成ることを特徴と
する請求項2記載のディジタル信号処理装置。
6. A data processing execution unit including the first sum of products / addition unit, the barrel shifter logic unit, the program control unit, and the address generation unit, and a processing result obtained by the data processing execution unit is stored. 3. The digital signal processing apparatus according to claim 2, further comprising: a data memory for executing the data processing, and an aligner for connecting / exchanging data between the data processing execution unit and the data memory.
JP6323190A 1994-12-26 1994-12-26 Digital signal processor Pending JPH08180040A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6323190A JPH08180040A (en) 1994-12-26 1994-12-26 Digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6323190A JPH08180040A (en) 1994-12-26 1994-12-26 Digital signal processor

Publications (1)

Publication Number Publication Date
JPH08180040A true JPH08180040A (en) 1996-07-12

Family

ID=18152075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6323190A Pending JPH08180040A (en) 1994-12-26 1994-12-26 Digital signal processor

Country Status (1)

Country Link
JP (1) JPH08180040A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215028A (en) * 1998-10-06 2000-08-04 Texas Instr Inc <Ti> Multiplyer/accumulator unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215028A (en) * 1998-10-06 2000-08-04 Texas Instr Inc <Ti> Multiplyer/accumulator unit

Similar Documents

Publication Publication Date Title
RU2263947C2 (en) Integer-valued high order multiplication with truncation and shift in architecture with one commands flow and multiple data flows
US5218564A (en) Layout efficient 32-bit shifter/register with 16-bit interface
US5001662A (en) Method and apparatus for multi-gauge computation
US4402042A (en) Microprocessor system with instruction pre-fetch
JP3750820B2 (en) Device for performing multiplication and addition of packed data
JPH10134036A (en) Single-instruction multiple data processing for multimedia signal processor
JPH10116268A (en) Single-instruction plural data processing using plural banks or vector register
US4539635A (en) Pipelined digital processor arranged for conditional operation
JP2806171B2 (en) Data arithmetic unit
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
JP3479385B2 (en) Information processing device
JP4073721B2 (en) Data processing device
US6499046B1 (en) Saturation detection apparatus and method therefor
JPH081604B2 (en) Microprocessor
US5931892A (en) Enhanced adaptive filtering technique
JPH10143494A (en) Single-instruction plural-data processing for which scalar/vector operation is combined
KR19980018071A (en) Single instruction multiple data processing in multimedia signal processor
JPH08180040A (en) Digital signal processor
US5446909A (en) Binary multiplication implemented by existing hardware with minor modifications to sequentially designate bits of the operand
JPH08180041A (en) Digital signal processor
US6128725A (en) Microprocessor with an instruction for setting or clearing a bit field
JP2000039995A (en) Flexible accumulate register file to be used in high performance microprocessor
GB2069733A (en) Conditional instruction execution in a pipelined processor
JP2001216136A (en) Addition circuit and processor
JP3435744B2 (en) Multiplication circuit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308