JPH06175821A - 演算装置 - Google Patents
演算装置Info
- Publication number
- JPH06175821A JPH06175821A JP4330699A JP33069992A JPH06175821A JP H06175821 A JPH06175821 A JP H06175821A JP 4330699 A JP4330699 A JP 4330699A JP 33069992 A JP33069992 A JP 33069992A JP H06175821 A JPH06175821 A JP H06175821A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- output
- result
- signal
- cycle
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】演算器のハード量を低減して低コスト化を図る
ことができ、演算器の倍の精度の演算時における処理ス
ピードの低下を抑制できることを目的とする。 【構成】セレクタ6は演算器4の出力又はクリップ値を
バス3aに出力する。テンポラリレジスタ5は演算器4
の出力を保持し、セレクタ7はレジスタ5の出力又はク
リップ値をバス3bに出力する。制御部8は演算器4の
倍精度演算時に1サイクル目に下位の演算結果をレジス
タ5に格納させる。制御部8は2サイクル目に上位の演
算結果がオーバフローするとセレクタ6,7により演算
結果及びレジスタ5の出力をクリップして出力させ、レ
ジスタ群1に格納させる。又、制御部8は2サイクル目
に上位の演算結果がオーバフローしないとセレクタ6,
7により演算結果及びレジスタ5の出力をそのまま出力
させ、レジスタ群1に格納させる。
ことができ、演算器の倍の精度の演算時における処理ス
ピードの低下を抑制できることを目的とする。 【構成】セレクタ6は演算器4の出力又はクリップ値を
バス3aに出力する。テンポラリレジスタ5は演算器4
の出力を保持し、セレクタ7はレジスタ5の出力又はク
リップ値をバス3bに出力する。制御部8は演算器4の
倍精度演算時に1サイクル目に下位の演算結果をレジス
タ5に格納させる。制御部8は2サイクル目に上位の演
算結果がオーバフローするとセレクタ6,7により演算
結果及びレジスタ5の出力をクリップして出力させ、レ
ジスタ群1に格納させる。又、制御部8は2サイクル目
に上位の演算結果がオーバフローしないとセレクタ6,
7により演算結果及びレジスタ5の出力をそのまま出力
させ、レジスタ群1に格納させる。
Description
【0001】
【産業上の利用分野】本発明は演算装置に係り、詳しく
は例えばデジタルシグナルプロセッサ(DSP)に搭載
される演算装置に関する。
は例えばデジタルシグナルプロセッサ(DSP)に搭載
される演算装置に関する。
【0002】近年、半導体テクノロジの進歩に伴い、半
導体素子の集積度も飛躍的に高くなり、DSPも小型化
されている。これによって、高価であったDSPが低価
格になってきている。
導体素子の集積度も飛躍的に高くなり、DSPも小型化
されている。これによって、高価であったDSPが低価
格になってきている。
【0003】DSPの低価格化に伴い、DSPの使用さ
れる分野も急激に広がっている。DSPは今まで主にモ
デム(modulator-demodulator )、エコーキャンセラ等
の通信関係機器に使用されていた。近年はハードディス
クや光ディスクにおける読み取りヘッドの位置決めのた
めのサーボ制御又は自動車のエンジン制御、サスペンシ
ョン制御等の制御系の分野に使用され始めている。
れる分野も急激に広がっている。DSPは今まで主にモ
デム(modulator-demodulator )、エコーキャンセラ等
の通信関係機器に使用されていた。近年はハードディス
クや光ディスクにおける読み取りヘッドの位置決めのた
めのサーボ制御又は自動車のエンジン制御、サスペンシ
ョン制御等の制御系の分野に使用され始めている。
【0004】通信系でのDSPの用途は、そのほとんど
が高精度のフィルタ演算である。このフィルタ演算と
は、例えば16ビットの被乗数と16ビットの乗数との
積に、32ビットの加算数を加える32ビットの積和演
算である。
が高精度のフィルタ演算である。このフィルタ演算と
は、例えば16ビットの被乗数と16ビットの乗数との
積に、32ビットの加算数を加える32ビットの積和演
算である。
【0005】ところが、制御系の用途においては、DS
Pは高精度のフィルタ演算処理ばかりでなく、低精度の
演算処理も実行する。この低精度の演算処理とは例えば
演算結果が16ビットの演算処理であり、タイマ、AD
コンバータ又はシリアルインタフェース等の周辺回路の
コントロールのための演算である。
Pは高精度のフィルタ演算処理ばかりでなく、低精度の
演算処理も実行する。この低精度の演算処理とは例えば
演算結果が16ビットの演算処理であり、タイマ、AD
コンバータ又はシリアルインタフェース等の周辺回路の
コントロールのための演算である。
【0006】現状のDSPのハード構成には、フィルタ
演算の高速化を目的として高精度の演算器が組み込まれ
ており、上記したフィルタ演算(積和演算)がそのDS
Pにおける1マシンサイクルで処理される。このような
高精度の演算器はハード量が大きくて演算スピード、即
ち、演算結果の出力が遅いため、マシンサイクルはこの
演算スピードよりも若干大きく設定されている。このマ
シンサイクルがDSPの処理スピードの限界となる。ま
た、高精度の演算器のハード量が大きいことはDSPの
歩留りを低下させ、これがDSPの高価格の原因の一つ
になっている。
演算の高速化を目的として高精度の演算器が組み込まれ
ており、上記したフィルタ演算(積和演算)がそのDS
Pにおける1マシンサイクルで処理される。このような
高精度の演算器はハード量が大きくて演算スピード、即
ち、演算結果の出力が遅いため、マシンサイクルはこの
演算スピードよりも若干大きく設定されている。このマ
シンサイクルがDSPの処理スピードの限界となる。ま
た、高精度の演算器のハード量が大きいことはDSPの
歩留りを低下させ、これがDSPの高価格の原因の一つ
になっている。
【0007】また、現状のDSPでは低精度の演算処理
も当然、1マシンサイクルで処理されるが、低精度の演
算処理はマシンサイクルの前半で済んでしまい、マシン
サイクルの後半の期間は何の処理も行われない。そのた
め、現状のDSPにより高精度及び低精度の演算処理を
行わせることは、演算処理の高速化を抑制する要因とな
る。
も当然、1マシンサイクルで処理されるが、低精度の演
算処理はマシンサイクルの前半で済んでしまい、マシン
サイクルの後半の期間は何の処理も行われない。そのた
め、現状のDSPにより高精度及び低精度の演算処理を
行わせることは、演算処理の高速化を抑制する要因とな
る。
【0008】今後、DSPの性能が上がるにつれ、制御
系でのDSPの用途では、周辺回路コントロールのため
の低精度演算処理の比率が高まると予想される。これら
の事情から、制御系で使用するDSPはハード量が小さ
くて演算スピードが速い低精度の演算器で構成したもの
が採用され、DSPの低コスト化及び演算処理スピード
の高速化を図ることが考えられる。
系でのDSPの用途では、周辺回路コントロールのため
の低精度演算処理の比率が高まると予想される。これら
の事情から、制御系で使用するDSPはハード量が小さ
くて演算スピードが速い低精度の演算器で構成したもの
が採用され、DSPの低コスト化及び演算処理スピード
の高速化を図ることが考えられる。
【0009】このような低精度の演算器で構成したDS
Pで演算器の倍の精度の演算処理を行う場合、演算結果
がオーバフローした時に演算結果を最大値又は最小値に
クリップするクリップ処理が必要となる。そして、この
ような低精度の演算器で処理スピードを高速化するため
にはクリップ処理に要する時間を短縮することが必要と
なる。
Pで演算器の倍の精度の演算処理を行う場合、演算結果
がオーバフローした時に演算結果を最大値又は最小値に
クリップするクリップ処理が必要となる。そして、この
ような低精度の演算器で処理スピードを高速化するため
にはクリップ処理に要する時間を短縮することが必要と
なる。
【0010】
【従来の技術】図9に従来のDSPに搭載されている演
算装置の一例を示す。演算装置は演算器(ALU)10
0、セレクタ101、制御部102、レジスタ群103
及びバス104〜106を備えて構成されている。
算装置の一例を示す。演算装置は演算器(ALU)10
0、セレクタ101、制御部102、レジスタ群103
及びバス104〜106を備えて構成されている。
【0011】演算器100はバス104を介してnビッ
ト(nは自然数)の被演算数を入力するとともに、バス
105を介してnビットの演算数を入力する。ALU1
00は入力した被演算数及び演算数に基づいて加算を実
行し、演算結果をセレクタ101に出力する。ALU1
00の演算結果の最上位ビットは符号を示す符号信号S
であり、ALU100は符号信号Sを制御部102に出
力する。符号信号Sが「0」であると符号は正であり、
符号信号Sが「1」であると符号は負である。また、A
LU100は演算結果がオーバーフローすると論理値
「1」のオーバーフロー信号OVを制御部102に出力
する。
ト(nは自然数)の被演算数を入力するとともに、バス
105を介してnビットの演算数を入力する。ALU1
00は入力した被演算数及び演算数に基づいて加算を実
行し、演算結果をセレクタ101に出力する。ALU1
00の演算結果の最上位ビットは符号を示す符号信号S
であり、ALU100は符号信号Sを制御部102に出
力する。符号信号Sが「0」であると符号は正であり、
符号信号Sが「1」であると符号は負である。また、A
LU100は演算結果がオーバーフローすると論理値
「1」のオーバーフロー信号OVを制御部102に出力
する。
【0012】制御部102は前記符号信号S及びオーバ
ーフロー信号OVに基づいてセレクタ101の動作を制
御するクリップ許可信号CLPE及びクリップデータ信
号CLPDを出力する。即ち、符号信号Sが「0」であ
り、オーバーフロー信号OVが「1」であると、制御部
102は論理値「1」のクリップ許可信号CLPEを出
力するとともに、論理値「0」のクリップデータ信号C
LPDを出力する。符号信号Sが「1」であり、オーバ
ーフロー信号OVが「1」であると、制御部102は論
理値「1」のクリップ許可信号CLPEを出力するとと
もに、論理値「1」のクリップデータ信号CLPDを出
力する。また、符号信号Sが「0」又は「1」であり、
オーバーフロー信号OVが「0」であると、制御部10
2は論理値「0」のクリップ許可信号CLPEを出力す
る。
ーフロー信号OVに基づいてセレクタ101の動作を制
御するクリップ許可信号CLPE及びクリップデータ信
号CLPDを出力する。即ち、符号信号Sが「0」であ
り、オーバーフロー信号OVが「1」であると、制御部
102は論理値「1」のクリップ許可信号CLPEを出
力するとともに、論理値「0」のクリップデータ信号C
LPDを出力する。符号信号Sが「1」であり、オーバ
ーフロー信号OVが「1」であると、制御部102は論
理値「1」のクリップ許可信号CLPEを出力するとと
もに、論理値「1」のクリップデータ信号CLPDを出
力する。また、符号信号Sが「0」又は「1」であり、
オーバーフロー信号OVが「0」であると、制御部10
2は論理値「0」のクリップ許可信号CLPEを出力す
る。
【0013】セレクタ101はALU100の演算結果
を入力するとともに、前記クリップ許可信号CLPE及
びクリップデータ信号CLPDを入力する。セレクタ1
01はクリップ許可信号CLPEが「1」であり、クリ
ップデータ信号CLPDが「0」であると、最大値(最
上位ビットが「0」でそれ以外は「1」)をバス106
に出力する。セレクタ101はクリップ許可信号CLP
Eが「1」であり、クリップデータ信号CLPDが
「1」であると、最小値(最上位ビットが「1」でそれ
以外は「0」)をバス106に出力する。また、セレク
タ101はクリップ許可信号CLPEが「0」である
と、ALU100の演算結果をそのままバス106に出
力する。
を入力するとともに、前記クリップ許可信号CLPE及
びクリップデータ信号CLPDを入力する。セレクタ1
01はクリップ許可信号CLPEが「1」であり、クリ
ップデータ信号CLPDが「0」であると、最大値(最
上位ビットが「0」でそれ以外は「1」)をバス106
に出力する。セレクタ101はクリップ許可信号CLP
Eが「1」であり、クリップデータ信号CLPDが
「1」であると、最小値(最上位ビットが「1」でそれ
以外は「0」)をバス106に出力する。また、セレク
タ101はクリップ許可信号CLPEが「0」である
と、ALU100の演算結果をそのままバス106に出
力する。
【0014】レジスタ群103はバス104〜106に
接続され、ALU100に入力される被演算数及び演算
数が格納されるとともに、セレクタ101の出力が演算
結果として格納される。
接続され、ALU100に入力される被演算数及び演算
数が格納されるとともに、セレクタ101の出力が演算
結果として格納される。
【0015】この演算装置において、ALU100の倍
の精度、即ち、2nビットの被演算数A及び演算数Bの
演算を行う場合の動作を図10に示す。まず、第1のサ
イクルTc1でバス104,105を介して被演算数A
の下位データAL及び演算数Bの下位のデータBLがA
LU100に転送される。ALU100は下位データA
L,BLを加算し、第1のサイクルTc1の後半から第
2のサイクルTc2の前半の期間、その演算結果(AL
+BL)をセレクタ101に出力する。
の精度、即ち、2nビットの被演算数A及び演算数Bの
演算を行う場合の動作を図10に示す。まず、第1のサ
イクルTc1でバス104,105を介して被演算数A
の下位データAL及び演算数Bの下位のデータBLがA
LU100に転送される。ALU100は下位データA
L,BLを加算し、第1のサイクルTc1の後半から第
2のサイクルTc2の前半の期間、その演算結果(AL
+BL)をセレクタ101に出力する。
【0016】この第1のサイクルTc1には倍の精度の
演算がオーバーフローするかどうか不明であるので、制
御部102のクリップ許可信号CLPEは論理値「0」
とする。このため、セレクタ101から下位データの演
算結果(AL+BL)が第1のサイクルTc1の後半の
期間、データバス106に出力される。この下位データ
の演算結果(AL+BL)はデータバス106を経由し
てレジスタ群103に格納される。
演算がオーバーフローするかどうか不明であるので、制
御部102のクリップ許可信号CLPEは論理値「0」
とする。このため、セレクタ101から下位データの演
算結果(AL+BL)が第1のサイクルTc1の後半の
期間、データバス106に出力される。この下位データ
の演算結果(AL+BL)はデータバス106を経由し
てレジスタ群103に格納される。
【0017】第2のサイクルTc2でバス104,10
5を介して被演算数Aの上位データAU及び演算数Bの
上位のデータBUがALU100に転送される。ALU
100は上位データAU,BUを加算し、第2のサイク
ルTc2の後半から第3のサイクルTc3の前半の期
間、その演算結果(AU+BU)をセレクタ101に出
力する。
5を介して被演算数Aの上位データAU及び演算数Bの
上位のデータBUがALU100に転送される。ALU
100は上位データAU,BUを加算し、第2のサイク
ルTc2の後半から第3のサイクルTc3の前半の期
間、その演算結果(AU+BU)をセレクタ101に出
力する。
【0018】もし、第2のサイクルTc2においてAL
U100の演算結果がオーバーフローしない場合には、
オーバーフロー信号OVが「0」となって制御部102
のクリップ許可信号CLPEは論理値「0」となる。そ
のため、セレクタ101から上位データの演算結果(A
U+BU)が第2のサイクルTc2の後半の期間、デー
タバス106に出力される。この上位データの演算結果
はデータバス106を経由してレジスタ群103に格納
されることとなる。
U100の演算結果がオーバーフローしない場合には、
オーバーフロー信号OVが「0」となって制御部102
のクリップ許可信号CLPEは論理値「0」となる。そ
のため、セレクタ101から上位データの演算結果(A
U+BU)が第2のサイクルTc2の後半の期間、デー
タバス106に出力される。この上位データの演算結果
はデータバス106を経由してレジスタ群103に格納
されることとなる。
【0019】即ち、ALU100の倍の精度の被演算数
A及び演算数Bの演算を行う場合、演算結果がオーバー
フローしなければ、バス104,105に被演算数A及
び演算数Bが出力されてから2マシンサイクルの期間だ
け、バス106にはこの倍精度演算の演算結果が出力さ
れ、倍精度演算は2マシンサイクルで実行できる。
A及び演算数Bの演算を行う場合、演算結果がオーバー
フローしなければ、バス104,105に被演算数A及
び演算数Bが出力されてから2マシンサイクルの期間だ
け、バス106にはこの倍精度演算の演算結果が出力さ
れ、倍精度演算は2マシンサイクルで実行できる。
【0020】
【発明が解決しようとする課題】ところが、ALU10
0の倍の精度の被演算数A及び演算数Bの演算を行う場
合、第2のサイクルTc2で上位データAU,BUの演
算結果(AU+BU)にオーバフローが発生したとす
る。すると、ALU100のオーバーフロー信号OVが
「1」となって制御部102のクリップ許可信号CLP
Eは論理値「1」となる。このため、セレクタ101に
より上位データAU,BUの演算結果(AU+BU)が
クリップデータ信号CLPD、即ち、符号信号Sの値に
基づいて最大値又は最小値にクリップされる。このクリ
ップ値は第2のサイクルTc2の後半の期間、データバ
ス106に出力される。この上位データのクリップ値は
データバス106を経由してレジスタ群103に格納さ
れる。
0の倍の精度の被演算数A及び演算数Bの演算を行う場
合、第2のサイクルTc2で上位データAU,BUの演
算結果(AU+BU)にオーバフローが発生したとす
る。すると、ALU100のオーバーフロー信号OVが
「1」となって制御部102のクリップ許可信号CLP
Eは論理値「1」となる。このため、セレクタ101に
より上位データAU,BUの演算結果(AU+BU)が
クリップデータ信号CLPD、即ち、符号信号Sの値に
基づいて最大値又は最小値にクリップされる。このクリ
ップ値は第2のサイクルTc2の後半の期間、データバ
ス106に出力される。この上位データのクリップ値は
データバス106を経由してレジスタ群103に格納さ
れる。
【0021】被演算数A及び演算数Bの演算結果がオー
バフローしたため、第1のサイクルTc1でレジスタ群
103に転送された下位データAL,BLの演算結果
(AL+BL)をクリップする必要がある。このため、
データバス106は第3のサイクルTc3の後半の期
間、下位データの演算結果(AL+BL)のクリップ値
の転送に使用される。
バフローしたため、第1のサイクルTc1でレジスタ群
103に転送された下位データAL,BLの演算結果
(AL+BL)をクリップする必要がある。このため、
データバス106は第3のサイクルTc3の後半の期
間、下位データの演算結果(AL+BL)のクリップ値
の転送に使用される。
【0022】従って、ALU100の倍の精度の被演算
数A及び演算数Bの演算を行う場合、演算結果がオーバ
ーフローすると、バス104,105に被演算数A及び
演算数Bが出力されてから3マシンサイクルの期間、バ
ス106にはこの倍精度演算の演算結果が出力され、倍
精度演算に3マシンサイクルもかかることとなる。
数A及び演算数Bの演算を行う場合、演算結果がオーバ
ーフローすると、バス104,105に被演算数A及び
演算数Bが出力されてから3マシンサイクルの期間、バ
ス106にはこの倍精度演算の演算結果が出力され、倍
精度演算に3マシンサイクルもかかることとなる。
【0023】即ち、従来のDSPの演算装置では、ハー
ド量削減のため、ALUの演算精度を半分にすると、そ
のALUの倍精度の演算処理時においてオーバーフロー
する場合には演算の実行が3倍遅くなるという問題を生
じることとなる。
ド量削減のため、ALUの演算精度を半分にすると、そ
のALUの倍精度の演算処理時においてオーバーフロー
する場合には演算の実行が3倍遅くなるという問題を生
じることとなる。
【0024】本発明は、上記問題点を解決するためにな
されたものであって、演算器の演算精度を半分にしてハ
ード量を低減することにより低コスト化を図ることがで
きるとともに、演算器の倍の精度の演算時における処理
スピードの低下を抑制することができる演算装置を提供
することを目的とする。
されたものであって、演算器の演算精度を半分にしてハ
ード量を低減することにより低コスト化を図ることがで
きるとともに、演算器の倍の精度の演算時における処理
スピードの低下を抑制することができる演算装置を提供
することを目的とする。
【0025】
【課題を解決するための手段】図1は本発明の原理説明
図である。演算装置はレジスタ群1、第1及び第2のバ
ス2a,2b、第3及び第4のバス3a,3b、演算器
4、テンポラリレジスタ5、第1,第2のセレクタ6,
7及び制御部8を備えて構成されている。
図である。演算装置はレジスタ群1、第1及び第2のバ
ス2a,2b、第3及び第4のバス3a,3b、演算器
4、テンポラリレジスタ5、第1,第2のセレクタ6,
7及び制御部8を備えて構成されている。
【0026】レジスタ群1は被演算数及び演算数を出力
するとともに、演算結果が格納される。第1及び第2の
バス2a,2bはレジスタ群1から出力される被演算数
及び演算数を転送する。
するとともに、演算結果が格納される。第1及び第2の
バス2a,2bはレジスタ群1から出力される被演算数
及び演算数を転送する。
【0027】演算器4は被演算数及び演算数に基づいて
算術演算を実行し、演算結果を出力する。テンポラリレ
ジスタ5は演算器4の演算結果を保持するためのもので
ある。第1のセレクタ6は演算器1の演算結果をそのま
ま、又は最大値もしくは最小値にクリップして出力す
る。第2のセレクタ7はテンポラリレジスタ5の出力を
そのまま、又は最大値もしくは最小値にクリップして出
力する。
算術演算を実行し、演算結果を出力する。テンポラリレ
ジスタ5は演算器4の演算結果を保持するためのもので
ある。第1のセレクタ6は演算器1の演算結果をそのま
ま、又は最大値もしくは最小値にクリップして出力す
る。第2のセレクタ7はテンポラリレジスタ5の出力を
そのまま、又は最大値もしくは最小値にクリップして出
力する。
【0028】第3及び第4のバス3a,3bは第1及び
第2のセレクタ6,7の出力をそれぞれレジスタ群1に
転送する。制御部8は、演算器4の倍の精度のデータの
演算時に1サイクル目に被演算数及び演算数の各下位デ
ータの演算結果をテンポラリレジスタ5に格納させる。
制御部8は、2サイクル目に被演算数及び演算数の上位
データの演算結果がオーバフローしないときには第1,
第2のセレクタ6,7により演算器4の演算結果及びテ
ンポラリレジスタ5の出力をそのまま出力させる。ま
た、制御部8は、2サイクル目に被演算数及び演算数の
上位データの演算結果がオーバフローするときには第
1,第2のセレクタ6,7により演算器4の演算結果及
びテンポラリレジスタ5の出力をクリップさせて出力さ
せる。
第2のセレクタ6,7の出力をそれぞれレジスタ群1に
転送する。制御部8は、演算器4の倍の精度のデータの
演算時に1サイクル目に被演算数及び演算数の各下位デ
ータの演算結果をテンポラリレジスタ5に格納させる。
制御部8は、2サイクル目に被演算数及び演算数の上位
データの演算結果がオーバフローしないときには第1,
第2のセレクタ6,7により演算器4の演算結果及びテ
ンポラリレジスタ5の出力をそのまま出力させる。ま
た、制御部8は、2サイクル目に被演算数及び演算数の
上位データの演算結果がオーバフローするときには第
1,第2のセレクタ6,7により演算器4の演算結果及
びテンポラリレジスタ5の出力をクリップさせて出力さ
せる。
【0029】また、第2発明では、制御部8は、演算器
4の精度のデータの演算時に演算器4の演算結果がオー
バフローしないときには第1のセレクタ6により演算器
4の演算結果をそのまま出力させる。制御部8は、演算
器4の精度のデータの演算時に演算結果がオーバフロー
するときには第1のセレクタ6により演算器4の演算結
果をクリップさせて出力させるものとしている。
4の精度のデータの演算時に演算器4の演算結果がオー
バフローしないときには第1のセレクタ6により演算器
4の演算結果をそのまま出力させる。制御部8は、演算
器4の精度のデータの演算時に演算結果がオーバフロー
するときには第1のセレクタ6により演算器4の演算結
果をクリップさせて出力させるものとしている。
【0030】
【作用】本発明では、演算器4の倍の精度データの演算
を実行する場合、1サイクル目に下位データの演算が実
行され、下位データの演算結果がテンポラリレジスタ5
に格納される。2サイクル目に上位データの演算が実行
される。
を実行する場合、1サイクル目に下位データの演算が実
行され、下位データの演算結果がテンポラリレジスタ5
に格納される。2サイクル目に上位データの演算が実行
される。
【0031】2サイクル目に上位データの演算結果がオ
ーバーフローしないときには第1,第2のセレクタ6,
7により上位データの演算結果及びテンポラリレジスタ
5の下位データの演算結果がそのまま第3,第4のバス
3a,3bに出力される。そして、第3,第4のバス3
a,3bを経由して上位データの演算結果及び下位デー
タの演算結果が同時にレジスタ群1に格納される。
ーバーフローしないときには第1,第2のセレクタ6,
7により上位データの演算結果及びテンポラリレジスタ
5の下位データの演算結果がそのまま第3,第4のバス
3a,3bに出力される。そして、第3,第4のバス3
a,3bを経由して上位データの演算結果及び下位デー
タの演算結果が同時にレジスタ群1に格納される。
【0032】2サイクル目に上位データの演算結果がオ
ーバフローするときには第1,第2のセレクタ6,7に
より上位データの演算結果及びテンポラリレジスタ5の
下位データの演算結果が最大値又は最小値にクリップさ
れて第3,第4のバス3a,3bに出力される。そし
て、第3,第4のバス3a,3bを経由して上位及び下
位データのクリップ値が同時にレジスタ群1に格納され
る。
ーバフローするときには第1,第2のセレクタ6,7に
より上位データの演算結果及びテンポラリレジスタ5の
下位データの演算結果が最大値又は最小値にクリップさ
れて第3,第4のバス3a,3bに出力される。そし
て、第3,第4のバス3a,3bを経由して上位及び下
位データのクリップ値が同時にレジスタ群1に格納され
る。
【0033】従って、演算器4の倍の精度の演算を実行
する場合、演算結果がオーバーフローしてもしなくて
も、演算器4の倍の精度の演算を2マシンサイクルで実
行できる。即ち、ハード量削減のために演算器の精度を
半分にしても、演算器の倍の精度の演算処理を行う際に
処理スピードの低下を最小限に抑えることができる。
する場合、演算結果がオーバーフローしてもしなくて
も、演算器4の倍の精度の演算を2マシンサイクルで実
行できる。即ち、ハード量削減のために演算器の精度を
半分にしても、演算器の倍の精度の演算処理を行う際に
処理スピードの低下を最小限に抑えることができる。
【0034】また、演算器4の精度のデータの演算を実
行する場合、演算結果がオーバフローしないときには第
1のセレクタ6により演算結果がそのまま出力される。
また、演算結果がオーバフローするときには第1のセレ
クタ6により演算結果がクリップされて出力される。
行する場合、演算結果がオーバフローしないときには第
1のセレクタ6により演算結果がそのまま出力される。
また、演算結果がオーバフローするときには第1のセレ
クタ6により演算結果がクリップされて出力される。
【0035】
【実施例】以下、本発明をデジタルシグナルプロセッサ
(DSP)に具体化した一実施例を図2〜図8に従って
説明する。
(DSP)に具体化した一実施例を図2〜図8に従って
説明する。
【0036】図2に示すように、DSP10は、アドレ
ス演算ユニット11、演算装置を構成するシーケンスユ
ニット12及び実行ユニット13、外部バスインタフェ
ース(EBI)14、クロックジェネレータ(CG)1
5、入出力回路16、ROM17、第1RAM18、第
2RAM19、及びバス20,21等を備えて構成され
ている。
ス演算ユニット11、演算装置を構成するシーケンスユ
ニット12及び実行ユニット13、外部バスインタフェ
ース(EBI)14、クロックジェネレータ(CG)1
5、入出力回路16、ROM17、第1RAM18、第
2RAM19、及びバス20,21等を備えて構成され
ている。
【0037】命令バス20はシーケンスユニット12、
実行ユニット13、EBI14、入出力回路16、RO
M17、及び第2RAM19を相互に接続している。バ
ス21は第1RAM18及び実行ユニット13を相互に
接続している。
実行ユニット13、EBI14、入出力回路16、RO
M17、及び第2RAM19を相互に接続している。バ
ス21は第1RAM18及び実行ユニット13を相互に
接続している。
【0038】クロックジェネレータ15は図7,8に示
すように、一定周期で変化するデューティ50%のマシ
ンクロックCLKを発生し、発生したマシンクロックC
LKをDSP10の各部に供給する。
すように、一定周期で変化するデューティ50%のマシ
ンクロックCLKを発生し、発生したマシンクロックC
LKをDSP10の各部に供給する。
【0039】アドレス演算ユニット11はインデックス
レジスタ群30、アドレス演算器31a,31b、プロ
グラムカウンタ(PC)32及びバスコントローラ33
を備えて構成されている。
レジスタ群30、アドレス演算器31a,31b、プロ
グラムカウンタ(PC)32及びバスコントローラ33
を備えて構成されている。
【0040】インデックスレジスタ群30はそれぞれn
ビット(nは自然数)の第1〜第3のバス34〜36に
接続されるとともに、アドレス演算器31bに接続され
ている。インデックスレジスタ群30にはアドレス演算
のためのアドレスデータが格納されるようになってい
る。
ビット(nは自然数)の第1〜第3のバス34〜36に
接続されるとともに、アドレス演算器31bに接続され
ている。インデックスレジスタ群30にはアドレス演算
のためのアドレスデータが格納されるようになってい
る。
【0041】アドレス演算器31aはインデックスレジ
スタ群30から入力されるデータに基づいてアドレス演
算を実行し、バスコントローラ33に演算結果を出力す
る。アドレス演算器31bはインデックスレジスタ群3
0から入力されるデータに基づいてアドレス演算を実行
し、演算結果をインデックスレジスタ群30に出力す
る。
スタ群30から入力されるデータに基づいてアドレス演
算を実行し、バスコントローラ33に演算結果を出力す
る。アドレス演算器31bはインデックスレジスタ群3
0から入力されるデータに基づいてアドレス演算を実行
し、演算結果をインデックスレジスタ群30に出力す
る。
【0042】PC32は第3,第4のバス36,37に
接続されるとともに、バスコントローラ33に接続され
ている。バスコントローラ33は前記アドレス演算器3
1aの演算結果又はプログラムカウンタ32の出力に基
づいてROM17、第1RAM18又は第2RAM19
をアクセスする。なお、第4のバス37もnビットのバ
スである。
接続されるとともに、バスコントローラ33に接続され
ている。バスコントローラ33は前記アドレス演算器3
1aの演算結果又はプログラムカウンタ32の出力に基
づいてROM17、第1RAM18又は第2RAM19
をアクセスする。なお、第4のバス37もnビットのバ
スである。
【0043】シーケンスユニット12は命令レジスタ4
0及び命令デコーダ41を備えて構成されている。命令
レジスタ40は前記EBI14及びROM17に接続さ
れている。命令レジスタ40はEBI14又はROM1
7から転送された命令コードを保持する。
0及び命令デコーダ41を備えて構成されている。命令
レジスタ40は前記EBI14及びROM17に接続さ
れている。命令レジスタ40はEBI14又はROM1
7から転送された命令コードを保持する。
【0044】命令デコーダ41は命令レジスタ40から
出力される命令コードを、乗算器制御信号MC、セレク
タ制御信号SC、演算器制御信号ALUE又は演算制御
信号ULにデコードし、これらの制御信号を実行ユニッ
ト13に出力する。
出力される命令コードを、乗算器制御信号MC、セレク
タ制御信号SC、演算器制御信号ALUE又は演算制御
信号ULにデコードし、これらの制御信号を実行ユニッ
ト13に出力する。
【0045】実行ユニット13は乗算器50、データセ
レクタ51、演算回路52、制御部53、レジスタ群5
4、及びバスインタフェース(BIF)55等を備えて
構成されている。
レクタ51、演算回路52、制御部53、レジスタ群5
4、及びバスインタフェース(BIF)55等を備えて
構成されている。
【0046】乗算器50は第1,第2のバス34,35
を介して被乗数及び乗数を入力する。乗算器50は前記
命令デコーダ41からの乗算器制御信号MCが乗算命令
又は積和命令に基づくものであるとき、入力した被乗数
に乗数を乗じて積を算出する。そして、乗算器50は乗
算結果をデータセレクタ51に出力する。
を介して被乗数及び乗数を入力する。乗算器50は前記
命令デコーダ41からの乗算器制御信号MCが乗算命令
又は積和命令に基づくものであるとき、入力した被乗数
に乗数を乗じて積を算出する。そして、乗算器50は乗
算結果をデータセレクタ51に出力する。
【0047】データセレクタ51は乗算器50の出力を
入力するとともに、第2のバス35を介して加算数を入
力している。データセレクタ51は前記命令デコーダ4
1から出力されるセレクタ制御信号SCに基づいて乗算
器50の出力又は加算数のいずれか一方を選択して演算
回路52に出力する。
入力するとともに、第2のバス35を介して加算数を入
力している。データセレクタ51は前記命令デコーダ4
1から出力されるセレクタ制御信号SCに基づいて乗算
器50の出力又は加算数のいずれか一方を選択して演算
回路52に出力する。
【0048】演算回路52は第1のバス34を介して被
加算数を入力するとともに、前記データセレクタ51の
出力、即ち、乗算器50の出力又は第2のバス35を経
由した加算数を入力する。そして、演算回路52は前記
演算器制御信号ALUE及び演算制御信号ULに基づい
て被加算数とデータセレクタ51の出力とを加算し、制
御部53の出力制御信号に基づく演算結果を第3又は第
4のバス36,37に出力するようになっている。
加算数を入力するとともに、前記データセレクタ51の
出力、即ち、乗算器50の出力又は第2のバス35を経
由した加算数を入力する。そして、演算回路52は前記
演算器制御信号ALUE及び演算制御信号ULに基づい
て被加算数とデータセレクタ51の出力とを加算し、制
御部53の出力制御信号に基づく演算結果を第3又は第
4のバス36,37に出力するようになっている。
【0049】そして、レジスタ群54には第3又は第4
のバス36,37を介して演算回路52による演算結果
が転送されるとともに、レジスタ群54からは第1,第
2のバス34,35を介して被演算数(被乗数又は被加
算数)と、演算数(乗数又は加算数)とが出力される。
のバス36,37を介して演算回路52による演算結果
が転送されるとともに、レジスタ群54からは第1,第
2のバス34,35を介して被演算数(被乗数又は被加
算数)と、演算数(乗数又は加算数)とが出力される。
【0050】図3は演算回路52を示し、演算器(AL
U)60、第1のセレクタ61、テンポラリレジスタ6
2及び第2のセレクタ63を備えて構成されている。A
LU60はデータバス52を介してnビットの被加算数
を入力するとともに、データセレクタ51のnビットの
出力(加算数)を入力する。そして、ALU60は被加
算数と加算数との加算処理を行い、演算結果を第1のセ
レクタ61及びテンポラリレジスタ62に出力する。
U)60、第1のセレクタ61、テンポラリレジスタ6
2及び第2のセレクタ63を備えて構成されている。A
LU60はデータバス52を介してnビットの被加算数
を入力するとともに、データセレクタ51のnビットの
出力(加算数)を入力する。そして、ALU60は被加
算数と加算数との加算処理を行い、演算結果を第1のセ
レクタ61及びテンポラリレジスタ62に出力する。
【0051】また、ALU60は演算器制御信号ALU
Eが論理値「1」で、演算制御信号ULが論理値「0」
であるときにのみ、その演算結果の最上位ビットを符号
を示す符号信号Sとして制御部53に出力する。また、
この演算結果がオーバーフローすると、ALU60は論
理値「1」のオーバーフロー信号OVを制御部53に出
力する。
Eが論理値「1」で、演算制御信号ULが論理値「0」
であるときにのみ、その演算結果の最上位ビットを符号
を示す符号信号Sとして制御部53に出力する。また、
この演算結果がオーバーフローすると、ALU60は論
理値「1」のオーバーフロー信号OVを制御部53に出
力する。
【0052】テンポラリレジスタ62は制御部53から
出力されるラッチ信号TLDを入力している。テンポラ
リレジスタ62はラッチ信号TLDが論理値「1」であ
るとALU60の演算結果をラッチし、ラッチした演算
結果を第2のセレクタ63に出力する。
出力されるラッチ信号TLDを入力している。テンポラ
リレジスタ62はラッチ信号TLDが論理値「1」であ
るとALU60の演算結果をラッチし、ラッチした演算
結果を第2のセレクタ63に出力する。
【0053】図4に示すように、制御部53はAND回
路71〜74とNOT回路75とで構成されている。A
ND回路71には前記演算器制御信号ALUE及び演算
制御信号ULが入力されている。AND回路71は演算
器制御信号ALUE及び演算制御信号ULが共に論理値
「1」であるときにのみ、論理値「1」のラッチ信号T
LDを出力する。
路71〜74とNOT回路75とで構成されている。A
ND回路71には前記演算器制御信号ALUE及び演算
制御信号ULが入力されている。AND回路71は演算
器制御信号ALUE及び演算制御信号ULが共に論理値
「1」であるときにのみ、論理値「1」のラッチ信号T
LDを出力する。
【0054】AND回路72は演算器制御信号ALUE
を入力するとともに、NOT回路75を介して演算制御
信号ULを入力している。AND回路72は演算器制御
信号ALUEが論理値「1」で、演算制御信号ULが論
理値「0」であるときにのみ、論理値「1」を出力す
る。
を入力するとともに、NOT回路75を介して演算制御
信号ULを入力している。AND回路72は演算器制御
信号ALUEが論理値「1」で、演算制御信号ULが論
理値「0」であるときにのみ、論理値「1」を出力す
る。
【0055】AND回路73は前記オーバーフロー信号
OVを入力するとともに、AND回路72の出力を入力
し、両信号に基づくクリップ許可信号CLPEを出力す
る。従って、AND回路73は演算器制御信号ALUE
及びオーバーフロー信号OVが共に論理値「1」で、演
算制御信号ULが論理値「0」であるときにのみ、論理
値「1」のクリップ許可信号CLPEを出力する。
OVを入力するとともに、AND回路72の出力を入力
し、両信号に基づくクリップ許可信号CLPEを出力す
る。従って、AND回路73は演算器制御信号ALUE
及びオーバーフロー信号OVが共に論理値「1」で、演
算制御信号ULが論理値「0」であるときにのみ、論理
値「1」のクリップ許可信号CLPEを出力する。
【0056】AND回路74は前記符号信号Sを入力す
るとともに、AND回路72の出力を入力し、両信号に
基づくクリップデータ信号CLPDを出力する。従っ
て、AND回路73は演算器制御信号ALUE及び符号
信号Sが共に論理値「1」で、演算制御信号ULが論理
値「0」であるときにのみ、論理値「1」のクリップデ
ータ信号CLPDを出力する。
るとともに、AND回路72の出力を入力し、両信号に
基づくクリップデータ信号CLPDを出力する。従っ
て、AND回路73は演算器制御信号ALUE及び符号
信号Sが共に論理値「1」で、演算制御信号ULが論理
値「0」であるときにのみ、論理値「1」のクリップデ
ータ信号CLPDを出力する。
【0057】第1のセレクタ61はALU60の演算結
果を入力するとともに、第3のバス36に接続されてい
る。そして、第1のセレクタ61は前記クリップ許可信
号CLPE及びクリップデータ信号CLPDに基づいて
ALU60の演算結果をそのまま、又は最大値もしくは
最小値にクリップして第3のバス36に出力するように
なっている。
果を入力するとともに、第3のバス36に接続されてい
る。そして、第1のセレクタ61は前記クリップ許可信
号CLPE及びクリップデータ信号CLPDに基づいて
ALU60の演算結果をそのまま、又は最大値もしくは
最小値にクリップして第3のバス36に出力するように
なっている。
【0058】即ち、図5に示すように、第1のセレクタ
61はNOT回路81,82、AND回路83,84,
85A1〜85An、及びOR回路86A1〜86An
を備えて構成されている。AND回路83は前記クリッ
プ許可信号CLPE及びクリップデータ信号CLPDを
入力している。AND回路84はクリップ許可信号CL
PEを入力するとともに、NOT回路82を介してクリ
ップデータ信号CLPDを入力している。n個のAND
回路85A1〜85AnはALU60の出力の各ビット
信号D1〜Dnを入力するとともに、NOT回路81を
介してそれぞれクリップ許可信号CLPEを入力してい
る。
61はNOT回路81,82、AND回路83,84,
85A1〜85An、及びOR回路86A1〜86An
を備えて構成されている。AND回路83は前記クリッ
プ許可信号CLPE及びクリップデータ信号CLPDを
入力している。AND回路84はクリップ許可信号CL
PEを入力するとともに、NOT回路82を介してクリ
ップデータ信号CLPDを入力している。n個のAND
回路85A1〜85AnはALU60の出力の各ビット
信号D1〜Dnを入力するとともに、NOT回路81を
介してそれぞれクリップ許可信号CLPEを入力してい
る。
【0059】OR回路86A1〜86An-1 はAND回
路85A1〜85An-1 の出力信号を入力するととも
に、前記AND回路84の出力信号を入力する。そし
て、OR回路86A1〜86An-1 はそれぞれ両入力信
号に基づくビット信号X1〜Xn-1 を出力する。また、
OR回路86AnはAND回路85Anの出力信号を入
力するとともに、前記AND回路83の出力信号を入力
する。そして、OR回路86Anは両入力信号に基づく
ビット信号Xnを出力する。
路85A1〜85An-1 の出力信号を入力するととも
に、前記AND回路84の出力信号を入力する。そし
て、OR回路86A1〜86An-1 はそれぞれ両入力信
号に基づくビット信号X1〜Xn-1 を出力する。また、
OR回路86AnはAND回路85Anの出力信号を入
力するとともに、前記AND回路83の出力信号を入力
する。そして、OR回路86Anは両入力信号に基づく
ビット信号Xnを出力する。
【0060】従って、クリップ許可信号CLPEが
「0」であると、NOT回路81の出力は「1」とな
り、AND回路85A1〜85Anの出力は各ビット信
号D1〜Dnのレベルとなる。このとき、AND回路8
3,84の出力はクリップデータ信号CLPDのレベル
に関係なく共に「0」となる。この結果、OR回路86
A1〜86Anのビット信号X1〜XnはAND回路8
5A1〜85Anの出力、即ち、各ビット信号D1〜D
nとなる。
「0」であると、NOT回路81の出力は「1」とな
り、AND回路85A1〜85Anの出力は各ビット信
号D1〜Dnのレベルとなる。このとき、AND回路8
3,84の出力はクリップデータ信号CLPDのレベル
に関係なく共に「0」となる。この結果、OR回路86
A1〜86Anのビット信号X1〜XnはAND回路8
5A1〜85Anの出力、即ち、各ビット信号D1〜D
nとなる。
【0061】また、クリップ許可信号CLPEが「1」
であり、クリップデータ信号CLPDが「0」である
と、NOT回路81の出力は「0」となり、AND回路
85A1〜85Anの出力は各ビット信号D1〜Dnの
レベルに関係なく全て「0」となる。このとき、AND
回路83,84の出力はそれぞれ「0」,「1」とな
る。この結果、OR回路86Anのビット信号Xnのみ
が「0」、OR回路86A1〜86An-1 のビット信号
X1〜Xn-1 は「1」となり、ビット信号D1〜Dnは
最大値にクリップされる。
であり、クリップデータ信号CLPDが「0」である
と、NOT回路81の出力は「0」となり、AND回路
85A1〜85Anの出力は各ビット信号D1〜Dnの
レベルに関係なく全て「0」となる。このとき、AND
回路83,84の出力はそれぞれ「0」,「1」とな
る。この結果、OR回路86Anのビット信号Xnのみ
が「0」、OR回路86A1〜86An-1 のビット信号
X1〜Xn-1 は「1」となり、ビット信号D1〜Dnは
最大値にクリップされる。
【0062】さらに、クリップ許可信号CLPEが
「1」であり、クリップデータ信号CLPDが「1」で
あると、NOT回路81の出力は「0」となり、AND
回路85A1〜85Anの出力は各ビット信号D1〜D
nのレベルに関係なく全て「0」となる。このとき、A
ND回路83,84の出力はそれぞれ「1」,「0」と
なる。この結果、OR回路86Anのビット信号Xnの
みが「1」、OR回路86A1〜86An-1 のビット信
号X1〜Xn-1 は「0」となり、ビット信号D1〜Dn
は最小値にクリップされる。
「1」であり、クリップデータ信号CLPDが「1」で
あると、NOT回路81の出力は「0」となり、AND
回路85A1〜85Anの出力は各ビット信号D1〜D
nのレベルに関係なく全て「0」となる。このとき、A
ND回路83,84の出力はそれぞれ「1」,「0」と
なる。この結果、OR回路86Anのビット信号Xnの
みが「1」、OR回路86A1〜86An-1 のビット信
号X1〜Xn-1 は「0」となり、ビット信号D1〜Dn
は最小値にクリップされる。
【0063】第2のセレクタ63はテンポラリレジスタ
62の出力を入力するとともに、第4のバス37に接続
されている。そして、第2のセレクタ63は前記クリッ
プ許可信号CLPE及びクリップデータ信号CLPDに
基づいてテンポラリレジスタ62の出力をそのまま、又
は最大値もしくは最小値にクリップして第4のバス37
に出力するようになっている。
62の出力を入力するとともに、第4のバス37に接続
されている。そして、第2のセレクタ63は前記クリッ
プ許可信号CLPE及びクリップデータ信号CLPDに
基づいてテンポラリレジスタ62の出力をそのまま、又
は最大値もしくは最小値にクリップして第4のバス37
に出力するようになっている。
【0064】即ち、図6に示すように、第2のセレクタ
63はNOT回路87,88、AND回路89,90A
1〜90An、及びOR回路91A1〜91Anを備え
て構成されている。AND回路89はクリップ許可信号
CLPEを入力するとともに、NOT回路88を介して
クリップデータ信号CLPDを入力している。n個のA
ND回路90A1〜90Anはテンポラリレジスタ62
の出力の各ビット信号D1〜Dnを入力するとともに、
NOT回路87を介してそれぞれクリップ許可信号CL
PEを入力している。
63はNOT回路87,88、AND回路89,90A
1〜90An、及びOR回路91A1〜91Anを備え
て構成されている。AND回路89はクリップ許可信号
CLPEを入力するとともに、NOT回路88を介して
クリップデータ信号CLPDを入力している。n個のA
ND回路90A1〜90Anはテンポラリレジスタ62
の出力の各ビット信号D1〜Dnを入力するとともに、
NOT回路87を介してそれぞれクリップ許可信号CL
PEを入力している。
【0065】OR回路91A1〜91AnはAND回路
90A1〜90Anの出力信号を入力するとともに、前
記AND回路89の出力信号を入力する。そして、OR
回路91A1〜91Anはそれぞれ両入力信号に基づく
ビット信号X1〜Xnを出力する。
90A1〜90Anの出力信号を入力するとともに、前
記AND回路89の出力信号を入力する。そして、OR
回路91A1〜91Anはそれぞれ両入力信号に基づく
ビット信号X1〜Xnを出力する。
【0066】従って、クリップ許可信号CLPEが
「0」であると、NOT回路87の出力は「1」とな
り、AND回路90A1〜90Anの出力は各ビット信
号D1〜Dnのレベルとなる。このとき、AND回路8
9の出力はクリップデータ信号CLPDのレベルに関係
なく「0」となる。この結果、OR回路91A1〜91
Anのビット信号X1〜XnはAND回路90A1〜9
0Anの出力、即ち、各ビット信号D1〜Dnとなる。
「0」であると、NOT回路87の出力は「1」とな
り、AND回路90A1〜90Anの出力は各ビット信
号D1〜Dnのレベルとなる。このとき、AND回路8
9の出力はクリップデータ信号CLPDのレベルに関係
なく「0」となる。この結果、OR回路91A1〜91
Anのビット信号X1〜XnはAND回路90A1〜9
0Anの出力、即ち、各ビット信号D1〜Dnとなる。
【0067】また、クリップ許可信号CLPEが「1」
であり、クリップデータ信号CLPDが「0」である
と、NOT回路87の出力は「0」となり、AND回路
90A1〜90Anの出力は各ビット信号D1〜Dnの
レベルに関係なく全て「0」となる。このとき、AND
回路89の出力は「1」となる。この結果、OR回路9
1A1〜91Anのビット信号X1〜Xnは全て「1」
にクリップされる。
であり、クリップデータ信号CLPDが「0」である
と、NOT回路87の出力は「0」となり、AND回路
90A1〜90Anの出力は各ビット信号D1〜Dnの
レベルに関係なく全て「0」となる。このとき、AND
回路89の出力は「1」となる。この結果、OR回路9
1A1〜91Anのビット信号X1〜Xnは全て「1」
にクリップされる。
【0068】さらに、クリップ許可信号CLPEが
「1」であり、クリップデータ信号CLPDが「1」で
あると、NOT回路87の出力は「0」となり、AND
回路90A1〜90Anの出力は各ビット信号D1〜D
nのレベルに関係なく全て「0」となる。このとき、A
ND回路89の出力は「0」となる。この結果、OR回
路91A1〜91Anのビット信号X1〜Xnは全て
「0」にクリップされる。
「1」であり、クリップデータ信号CLPDが「1」で
あると、NOT回路87の出力は「0」となり、AND
回路90A1〜90Anの出力は各ビット信号D1〜D
nのレベルに関係なく全て「0」となる。このとき、A
ND回路89の出力は「0」となる。この結果、OR回
路91A1〜91Anのビット信号X1〜Xnは全て
「0」にクリップされる。
【0069】さて、上記のように構成された演算装置に
おいて、ALU60の倍の精度、即ち、2nビットの被
加算数A及び加算数Bの加算処理を行う場合の動作につ
いて説明する。
おいて、ALU60の倍の精度、即ち、2nビットの被
加算数A及び加算数Bの加算処理を行う場合の動作につ
いて説明する。
【0070】図7はそれぞれ2nビットの被加算数A及
び加算数Bの演算結果がオーバーフローしない場合を示
している。まず、第1のサイクルTc1でバス34、3
5を介して被加算数Aの下位データAL及び加算数Bの
下位のデータBLがALU60に転送されるとともに、
演算器制御信号ALUE及び演算制御信号ULが共に
「1」となる。
び加算数Bの演算結果がオーバーフローしない場合を示
している。まず、第1のサイクルTc1でバス34、3
5を介して被加算数Aの下位データAL及び加算数Bの
下位のデータBLがALU60に転送されるとともに、
演算器制御信号ALUE及び演算制御信号ULが共に
「1」となる。
【0071】すると、ALU60は下位データAL,B
Lを加算し、第1のサイクルTc1の後半から第2のサ
イクルTc2の前半の期間、その演算結果(AL+B
L)を出力する。このとき、演算器制御信号ALUE及
び演算制御信号ULが共に「1」であるため、制御部5
3のラッチ信号TLDは「1」となり、クリップ許可信
号CLPE及びクリップデータ信号CLPDは共に
「0」となる。
Lを加算し、第1のサイクルTc1の後半から第2のサ
イクルTc2の前半の期間、その演算結果(AL+B
L)を出力する。このとき、演算器制御信号ALUE及
び演算制御信号ULが共に「1」であるため、制御部5
3のラッチ信号TLDは「1」となり、クリップ許可信
号CLPE及びクリップデータ信号CLPDは共に
「0」となる。
【0072】このため、テンポラリレジスタ62に第1
のサイクルTc1の後半において演算結果(AL+B
L)がラッチされる。テンポラリレジスタ62にラッチ
された演算結果(AL+BL)は第2のセレクタ63に
出力される。
のサイクルTc1の後半において演算結果(AL+B
L)がラッチされる。テンポラリレジスタ62にラッチ
された演算結果(AL+BL)は第2のセレクタ63に
出力される。
【0073】第2のサイクルTc2で第1,第2のバス
34,35を介して被加算数Aの上位データAU及び加
算数Bの上位のデータBUがALU60に転送されると
ともに、演算器制御信号ALUEが「1」となり、演算
制御信号ULが「0」になる。
34,35を介して被加算数Aの上位データAU及び加
算数Bの上位のデータBUがALU60に転送されると
ともに、演算器制御信号ALUEが「1」となり、演算
制御信号ULが「0」になる。
【0074】すると、ALU60は上位データAU,B
Uを加算し、第2のサイクルTc2の後半から第3のサ
イクルTc3の前半の期間、その演算結果(AU+B
U)を出力する。このとき、演算器制御信号ALUEが
「1」で、演算制御信号ULが「0」であるため、制御
部53のラッチ信号TLDは「0」となる。従って、テ
ンポラリレジスタ62に演算結果(AU+BU)はラッ
チされない。
Uを加算し、第2のサイクルTc2の後半から第3のサ
イクルTc3の前半の期間、その演算結果(AU+B
U)を出力する。このとき、演算器制御信号ALUEが
「1」で、演算制御信号ULが「0」であるため、制御
部53のラッチ信号TLDは「0」となる。従って、テ
ンポラリレジスタ62に演算結果(AU+BU)はラッ
チされない。
【0075】この第2のサイクルTc2で上位データの
演算結果(AU+BU)がオーバーフローしないと、オ
ーバーフロー信号OVが「0」となり、クリップ許可信
号CLPEは「0」となる。このため、第2のサイクル
Tc2の後半の期間、第1のセレクタ61から上位デー
タの演算結果(AU+BU)がそのまま第3のバス36
に出力される。また、クリップ許可信号CLPEが
「0」であるため、第2のサイクルTc2の後半の期
間、テンポラリレジスタ62にラッチされている下位デ
ータの演算結果(AL+BL)が第2のセレクタ63か
らそのまま第4のバス37に出力される。
演算結果(AU+BU)がオーバーフローしないと、オ
ーバーフロー信号OVが「0」となり、クリップ許可信
号CLPEは「0」となる。このため、第2のサイクル
Tc2の後半の期間、第1のセレクタ61から上位デー
タの演算結果(AU+BU)がそのまま第3のバス36
に出力される。また、クリップ許可信号CLPEが
「0」であるため、第2のサイクルTc2の後半の期
間、テンポラリレジスタ62にラッチされている下位デ
ータの演算結果(AL+BL)が第2のセレクタ63か
らそのまま第4のバス37に出力される。
【0076】そして、上位データの演算結果(AU+B
U)は第3のバス36を介して、下位データの演算結果
(AL+BL)は第4のバス37を経由してレジスタ群
54に格納される。
U)は第3のバス36を介して、下位データの演算結果
(AL+BL)は第4のバス37を経由してレジスタ群
54に格納される。
【0077】従って、ALU60の倍の精度の被加算数
A及び加算数Bの加算を行う場合、演算結果がオーバー
フローしなければ、第3,第4のバス36,37には第
1,第2のバス34,35に被加算数A及び加算数Bが
出力されてから2マシンサイクルの期間だけ、この倍精
度演算の演算結果が出力される。
A及び加算数Bの加算を行う場合、演算結果がオーバー
フローしなければ、第3,第4のバス36,37には第
1,第2のバス34,35に被加算数A及び加算数Bが
出力されてから2マシンサイクルの期間だけ、この倍精
度演算の演算結果が出力される。
【0078】図8はそれぞれ2nビットの被加算数A及
び加算数Bの演算結果がオーバーフローする場合を示し
ている。まず、第1のサイクルTc1では図7と同様に
して第1のサイクルTc1の後半から第2のサイクルT
c2の前半の期間、ALU60により下位データの演算
結果(AL+BL)が出力される。そして、演算器制御
信号ALUE及び演算制御信号ULが共に「1」である
ため、ラッチ信号TLDは「1」となり、テンポラリレ
ジスタ62に第1のサイクルTc1の後半において演算
結果(AL+BL)がラッチされる。
び加算数Bの演算結果がオーバーフローする場合を示し
ている。まず、第1のサイクルTc1では図7と同様に
して第1のサイクルTc1の後半から第2のサイクルT
c2の前半の期間、ALU60により下位データの演算
結果(AL+BL)が出力される。そして、演算器制御
信号ALUE及び演算制御信号ULが共に「1」である
ため、ラッチ信号TLDは「1」となり、テンポラリレ
ジスタ62に第1のサイクルTc1の後半において演算
結果(AL+BL)がラッチされる。
【0079】第2のサイクルTc2で第1,第2のバス
34,35を介して被加算数Aの上位データAU及び加
算数Bの上位のデータBUがALU60に転送されると
ともに、演算器制御信号ALUEが「1」となり、演算
制御信号ULが「0」になる。
34,35を介して被加算数Aの上位データAU及び加
算数Bの上位のデータBUがALU60に転送されると
ともに、演算器制御信号ALUEが「1」となり、演算
制御信号ULが「0」になる。
【0080】すると、ALU60は上位データAU,B
Uを加算し、第2のサイクルTc2の後半から第3のサ
イクルTc3の前半の期間、その演算結果(AU+B
U)を出力する。このとき、演算器制御信号ALUEが
「1」で、演算制御信号ULが「0」であるため、制御
部53のラッチ信号TLDは「0」となる。従って、テ
ンポラリレジスタ62に演算結果(AU+BU)はラッ
チされない。
Uを加算し、第2のサイクルTc2の後半から第3のサ
イクルTc3の前半の期間、その演算結果(AU+B
U)を出力する。このとき、演算器制御信号ALUEが
「1」で、演算制御信号ULが「0」であるため、制御
部53のラッチ信号TLDは「0」となる。従って、テ
ンポラリレジスタ62に演算結果(AU+BU)はラッ
チされない。
【0081】この第2のサイクルTc2の後半の期間に
おいて上位データの演算結果(AU+BU)がオーバー
フローすると、オーバーフロー信号OVが「1」とな
り、クリップ許可信号CLPEは「1」となる。また、
クリップデータ信号CLPDにはALU60の符号信号
Sが出力される。
おいて上位データの演算結果(AU+BU)がオーバー
フローすると、オーバーフロー信号OVが「1」とな
り、クリップ許可信号CLPEは「1」となる。また、
クリップデータ信号CLPDにはALU60の符号信号
Sが出力される。
【0082】従って、第2のサイクルTc2の後半の期
間、第1のセレクタ61からは上位データの演算結果
(AU+BU)を符号信号Sの値に対応してクリップし
たクリップ値が第3のバス36に出力される。また、第
2のサイクルTc2の後半の期間、第2のセレクタ63
からはテンポラリレジスタ62にラッチされている下位
データの演算結果(AL+BL)を符号信号Sの値に対
応してクリップしたクリップ値が第4のバス37に出力
される。
間、第1のセレクタ61からは上位データの演算結果
(AU+BU)を符号信号Sの値に対応してクリップし
たクリップ値が第3のバス36に出力される。また、第
2のサイクルTc2の後半の期間、第2のセレクタ63
からはテンポラリレジスタ62にラッチされている下位
データの演算結果(AL+BL)を符号信号Sの値に対
応してクリップしたクリップ値が第4のバス37に出力
される。
【0083】そして、上位の演算結果のクリップ値は第
3のバス36を介して、下位の演算結果のクリップ値は
第4のバス37を経由してレジスタ群54に格納され
る。従って、ALU60の倍の精度の被加算数A及び加
算数Bの加算を行う場合、演算結果がオーバーフローし
ても、第3,第4のバス36,37には第1,第2のバ
ス34,35に被加算数A及び加算数Bが出力されてか
ら2マシンサイクルの期間だけ、この倍精度演算の演算
結果が出力される。
3のバス36を介して、下位の演算結果のクリップ値は
第4のバス37を経由してレジスタ群54に格納され
る。従って、ALU60の倍の精度の被加算数A及び加
算数Bの加算を行う場合、演算結果がオーバーフローし
ても、第3,第4のバス36,37には第1,第2のバ
ス34,35に被加算数A及び加算数Bが出力されてか
ら2マシンサイクルの期間だけ、この倍精度演算の演算
結果が出力される。
【0084】また、上記の演算装置において、ALU6
0の単精度、即ち、nビットの被加算数A及び加算数B
の加算処理を行う場合には、第1のサイクルTc1でバ
ス34、35を介して被加算数A及び加算数BがALU
60に転送される。また、演算器制御信号ALUEが
「1」になるとともに、演算制御信号ULが「0」とな
る。
0の単精度、即ち、nビットの被加算数A及び加算数B
の加算処理を行う場合には、第1のサイクルTc1でバ
ス34、35を介して被加算数A及び加算数BがALU
60に転送される。また、演算器制御信号ALUEが
「1」になるとともに、演算制御信号ULが「0」とな
る。
【0085】すると、ALU60は被加算数A及び加算
数Bを加算し、第1のサイクルTc1の後半から第2の
サイクルTc2の前半の期間、その演算結果(A+B)
を第1のセレクタ61及びテンポラリレジスタ62に出
力する。このとき、演算器制御信号ALUEが「1」
で、演算制御信号ULが「0」であるため、制御部53
のラッチ信号TLDは「0」となり、テンポラリレジス
タ62に演算結果(A+B)がラッチされない。
数Bを加算し、第1のサイクルTc1の後半から第2の
サイクルTc2の前半の期間、その演算結果(A+B)
を第1のセレクタ61及びテンポラリレジスタ62に出
力する。このとき、演算器制御信号ALUEが「1」
で、演算制御信号ULが「0」であるため、制御部53
のラッチ信号TLDは「0」となり、テンポラリレジス
タ62に演算結果(A+B)がラッチされない。
【0086】この第1のサイクルTc1で被加算数A及
び加算数Bの演算結果(A+B)がオーバーフローしな
いと、オーバーフロー信号OVが「0」となり、クリッ
プ許可信号CLPEは「0」となる。このため、第1の
サイクルTc1の後半の期間、第1のセレクタ61から
演算結果(A+B)がそのまま第3のバス36に出力さ
れる。そして、演算結果(A+B)は第3のバス36を
介してレジスタ群54に格納される。
び加算数Bの演算結果(A+B)がオーバーフローしな
いと、オーバーフロー信号OVが「0」となり、クリッ
プ許可信号CLPEは「0」となる。このため、第1の
サイクルTc1の後半の期間、第1のセレクタ61から
演算結果(A+B)がそのまま第3のバス36に出力さ
れる。そして、演算結果(A+B)は第3のバス36を
介してレジスタ群54に格納される。
【0087】また、第1のサイクルTc1で被加算数A
及び加算数Bの演算結果(A+B)がオーバーフローす
ると、オーバーフロー信号OVが「1」となり、クリッ
プ許可信号CLPEは「1」となる。また、クリップデ
ータ信号CLPDにはALU60の符号信号Sが出力さ
れる。このため、第1のサイクルTc1の後半の期間、
第1のセレクタ61から演算結果(A+B)を符号信号
Sの値に対応してクリップしたクリップ値が第3のバス
36に出力される。そして、このクリップ値は第3のバ
ス36を介してレジスタ群54に格納される。
及び加算数Bの演算結果(A+B)がオーバーフローす
ると、オーバーフロー信号OVが「1」となり、クリッ
プ許可信号CLPEは「1」となる。また、クリップデ
ータ信号CLPDにはALU60の符号信号Sが出力さ
れる。このため、第1のサイクルTc1の後半の期間、
第1のセレクタ61から演算結果(A+B)を符号信号
Sの値に対応してクリップしたクリップ値が第3のバス
36に出力される。そして、このクリップ値は第3のバ
ス36を介してレジスタ群54に格納される。
【0088】即ち、ALU60の単精度の被加算数A及
び加算数Bの加算を行う場合、演算結果がオーバーフロ
ーする、しないにかかわらず、第3,第4のバス36,
37には第1,第2のバス34,35に被加算数A及び
加算数Bが出力されてから1マシンサイクルの期間だ
け、この単精度演算の演算結果が出力される。
び加算数Bの加算を行う場合、演算結果がオーバーフロ
ーする、しないにかかわらず、第3,第4のバス36,
37には第1,第2のバス34,35に被加算数A及び
加算数Bが出力されてから1マシンサイクルの期間だ
け、この単精度演算の演算結果が出力される。
【0089】このように、本実施例のDSP10におけ
る演算装置にてALU60の倍の精度の演算を行う場合
には、演算結果がオーバーフローする、しないにかかわ
らず、倍精度演算を2マシンサイクルで実行することが
できる。即ち、倍精度演算を1マシンサイクルで実行で
きる高精度ALUを備えたDSPのハード量を削減する
ために、演算精度が半分の低精度ALUとしても、この
低精度ALUでの倍精度演算は2マシンサイクルで済
む。また、低精度ALUとすればハード量が小さくなり
演算スピード、即ち、演算結果の出力を速めることがで
き、低精度ALUのマシンサイクルを高精度ALUのマ
シンサイクルよりも短く設定できる。
る演算装置にてALU60の倍の精度の演算を行う場合
には、演算結果がオーバーフローする、しないにかかわ
らず、倍精度演算を2マシンサイクルで実行することが
できる。即ち、倍精度演算を1マシンサイクルで実行で
きる高精度ALUを備えたDSPのハード量を削減する
ために、演算精度が半分の低精度ALUとしても、この
低精度ALUでの倍精度演算は2マシンサイクルで済
む。また、低精度ALUとすればハード量が小さくなり
演算スピード、即ち、演算結果の出力を速めることがで
き、低精度ALUのマシンサイクルを高精度ALUのマ
シンサイクルよりも短く設定できる。
【0090】従って、ALUの演算精度を半分にしてハ
ード量を低減でき、処理スピードの低下を抑制すること
ができる。また、ハード量を低減させた低精度ALUと
することにより、この低精度ALUを搭載するDSPの
ハード量を低減してDSPの歩留りを向上することがで
き、DSPの低コスト化を図ることができる。
ード量を低減でき、処理スピードの低下を抑制すること
ができる。また、ハード量を低減させた低精度ALUと
することにより、この低精度ALUを搭載するDSPの
ハード量を低減してDSPの歩留りを向上することがで
き、DSPの低コスト化を図ることができる。
【0091】ちなみに、今後、DSPの高速化に伴い、
制御系でのDSPの用途では、周辺回路コントロールの
ための低精度(単精度)演算の比率が高まると予想され
る。本実施例のDSP10の演算装置におけるALU6
0のnビットの被加算数及び加算数の演算を低精度演算
とし、2nビットの被加算数及び加算数の演算を高精度
(倍精度)演算とすると、このALU60にて高精度の
積和演算を実行するには、2マシンサイクルが必要とな
る。ここで、仮に、制御系の演算処理における高精度
(倍精度)演算の比率を5割程度であるものとし、AL
Uの演算精度を半分にすることによりDSPのマシンサ
イクルを4割程度の短くできるものとする。
制御系でのDSPの用途では、周辺回路コントロールの
ための低精度(単精度)演算の比率が高まると予想され
る。本実施例のDSP10の演算装置におけるALU6
0のnビットの被加算数及び加算数の演算を低精度演算
とし、2nビットの被加算数及び加算数の演算を高精度
(倍精度)演算とすると、このALU60にて高精度の
積和演算を実行するには、2マシンサイクルが必要とな
る。ここで、仮に、制御系の演算処理における高精度
(倍精度)演算の比率を5割程度であるものとし、AL
Uの演算精度を半分にすることによりDSPのマシンサ
イクルを4割程度の短くできるものとする。
【0092】すると、本実施例のDSP10の演算装置
を用いた制御系の演算処理時間は、高精度演算器でのD
SPの制御系処理時間をNとすると、以下の式で示すよ
うに短縮することができる。
を用いた制御系の演算処理時間は、高精度演算器でのD
SPの制御系処理時間をNとすると、以下の式で示すよ
うに短縮することができる。
【0093】
【数1】
【0094】なお、 :高精度演算処理 :マシンサイクル数 :低精度演算処理 :マシンサイクルの短縮率 即ち、今後、DSPの高速化に伴い制御系でのDSPの
処理において、低精度演算の比率が高まることを考慮す
ると、本実施例のように低精度演算器で構成した演算装
置を備えたDSPの方が処理スピード的に有利であり、
また、ハード量が少なくコスト的に有利となる。
処理において、低精度演算の比率が高まることを考慮す
ると、本実施例のように低精度演算器で構成した演算装
置を備えたDSPの方が処理スピード的に有利であり、
また、ハード量が少なくコスト的に有利となる。
【0095】
【発明の効果】以上詳述したように、本発明によれば、
演算器の演算精度を半分にしてハード量を低減すること
により低コスト化を図ることができるとともに、演算器
の倍の精度の演算時における処理スピードの低下を抑制
することができる優れた効果がある。
演算器の演算精度を半分にしてハード量を低減すること
により低コスト化を図ることができるとともに、演算器
の倍の精度の演算時における処理スピードの低下を抑制
することができる優れた効果がある。
【図1】本発明の原理説明図である。
【図2】本発明をDSPに具体化した一実施例を示すブ
ロック図である。
ロック図である。
【図3】一実施例の演算装置を示すブロック図である。
【図4】制御部を示す論理回路図である。
【図5】第1のセレクタを示す論理回路図である。
【図6】第2のセレクタを示す論理回路図である。
【図7】一実施例の作用を示すタイムチャートである。
【図8】オーバーフロー時の作用を示すタイムチャート
である。
である。
【図9】従来例の演算装置を示すブロック図である。
【図10】従来例の作用を示すタイムチャートである。
1 レジスタ群 2a 第1のバス 2b 第2のバス 3a 第3のバス 3b 第4のバス 4 演算器 5 テンポラリレジスタ 6 第1のセレクタ 7 第2のセレクタ 8 制御部
フロントページの続き (72)発明者 村上 裕子 愛知県春日井市高蔵寺町2丁目1844番2 富士通ヴィエルエスアイ株式会社内 (72)発明者 井戸 隆明 愛知県春日井市高蔵寺町2丁目1844番2 富士通ヴィエルエスアイ株式会社内
Claims (2)
- 【請求項1】 被演算数及び演算数を出力するととも
に、演算結果が格納されるレジスタ群(1)と、 レジスタ群(1)から出力される被演算数及び演算数を
転送するための第1及び第2のバス(2a,2b)と、 第1及び第2のバス(2a,2b)を介して転送された
被演算数及び演算数に基づいて算術演算を実行し、演算
結果を出力する演算器(4)と、 演算器(4)の演算結果を保持するためのテンポラリレ
ジスタ(5)と、 演算器(4)の演算結果をそのまま、又は最大値もしく
は最小値にクリップして出力する第1のセレクタ(6)
と、 テンポラリレジスタ(5)の出力をそのまま、又は最大
値もしくは最小値にクリップして出力する第2のセレク
タ(7)と、 第1及び第2のセレクタ(6,7)の出力をそれぞれレ
ジスタ群(1)に転送するための第3及び第4のバス
(3a,3b)と、 第1,第2のセレクタ(6,7)及びテンポラリレジス
タ(5)の動作を制御する制御部(8)とを備え、 制御部(8)は、演算器(4)の倍の精度のデータの演
算時に1サイクル目に被演算数及び演算数の下位データ
の演算結果をテンポラリレジスタ(5)に格納させ、2
サイクル目に被演算数及び演算数の上位データの演算結
果がオーバフローしないときには第1,第2のセレクタ
(6,7)により演算器(4)の演算結果及びテンポラ
リレジスタ(5)の出力をそのまま出力させ、2サイク
ル目に被演算数及び演算数の上位データの演算結果がオ
ーバフローするときには第1,第2のセレクタ(6,
7)により演算器(4)の演算結果及びテンポラリレジ
スタ(5)の出力をクリップさせて出力させるものであ
ることを特徴とする演算装置。 - 【請求項2】 制御部(8)は、演算器(4)の精度の
データの演算時に被演算数及び演算数の演算結果がオー
バフローしないときには第1のセレクタ(6)により演
算器(4)の演算結果をそのまま出力させ、被演算数及
び演算数の演算結果がオーバフローするときには第1の
セレクタ(6)により演算器(4)の演算結果をクリッ
プさせて出力させるものであることを特徴とする請求項
1に記載の演算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4330699A JPH06175821A (ja) | 1992-12-10 | 1992-12-10 | 演算装置 |
US08/163,726 US5402368A (en) | 1992-12-10 | 1993-12-09 | Computing unit and digital signal processor using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4330699A JPH06175821A (ja) | 1992-12-10 | 1992-12-10 | 演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06175821A true JPH06175821A (ja) | 1994-06-24 |
Family
ID=18235579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4330699A Pending JPH06175821A (ja) | 1992-12-10 | 1992-12-10 | 演算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5402368A (ja) |
JP (1) | JPH06175821A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970016944A (ko) * | 1995-09-29 | 1997-04-28 | 모리시다 요이치 | 포화연산을 적절하게 행하는 프로세서 및 그 제어방법 |
US6282558B1 (en) | 1997-12-19 | 2001-08-28 | Matsushita Electric Industrial Co., Ltd. | Data processing system and register file |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644519A (en) * | 1995-04-07 | 1997-07-01 | Motorola, Inc. | Method and apparatus for a multiply and accumulate circuit having a dynamic saturation range |
JP3790619B2 (ja) | 1996-11-29 | 2006-06-28 | 松下電器産業株式会社 | 正値化処理及び飽和演算処理からなる丸め処理を好適に行うことができるプロセッサ |
US5830208A (en) | 1997-01-31 | 1998-11-03 | Laserlite, Llc | Peltier cooled apparatus and methods for dermatological treatment |
US5887181A (en) * | 1997-06-23 | 1999-03-23 | Sun Microsystems, Inc. | Method and apparatus for reducing a computational result to the range boundaries of an unsigned 8-bit integer in case of overflow |
US5901306A (en) * | 1997-06-23 | 1999-05-04 | Sun Microsystems, Inc. | Method and apparatus for reducing a computational result to the range boundaries of a signed 8-bit integer in case of overflow |
US5870320A (en) * | 1997-06-23 | 1999-02-09 | Sun Microsystems, Inc. | Method for reducing a computational result to the range boundaries of a signed 16-bit integer in case of overflow |
US6463521B1 (en) | 1999-06-23 | 2002-10-08 | Sun Microsystems, Inc. | Opcode numbering for meta-data encoding |
JP2008102715A (ja) * | 2006-10-18 | 2008-05-01 | Toshiba Corp | 演算装置 |
CN111641412B (zh) * | 2020-05-07 | 2024-04-23 | 芯海科技(深圳)股份有限公司 | 信号处理方法、装置、电子设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0202633B1 (en) * | 1985-05-17 | 1991-01-23 | Nec Corporation | Processing circuit capable of raising throughput of accumulation |
EP0281132B1 (en) * | 1987-03-04 | 1995-10-25 | Nec Corporation | Vector calculation circuit capable of rapidly carrying out vector calculation of three input vectors |
JP2690932B2 (ja) * | 1988-03-18 | 1997-12-17 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびディシタル信号処理プロセッサシステム |
JP2600293B2 (ja) * | 1988-06-10 | 1997-04-16 | 日本電気株式会社 | オーバーフロー補正回路 |
-
1992
- 1992-12-10 JP JP4330699A patent/JPH06175821A/ja active Pending
-
1993
- 1993-12-09 US US08/163,726 patent/US5402368A/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970016944A (ko) * | 1995-09-29 | 1997-04-28 | 모리시다 요이치 | 포화연산을 적절하게 행하는 프로세서 및 그 제어방법 |
US6282558B1 (en) | 1997-12-19 | 2001-08-28 | Matsushita Electric Industrial Co., Ltd. | Data processing system and register file |
US6334135B2 (en) | 1997-12-19 | 2001-12-25 | Matsushita Electric Industrial Co., Ltd. | Data processing system and register file |
Also Published As
Publication number | Publication date |
---|---|
US5402368A (en) | 1995-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Johns et al. | A minimal RISC-V vector processor for embedded systems | |
US6099158A (en) | Apparatus and methods for execution of computer instructions | |
EP0517429A2 (en) | CPU with integrated multiply/accumulate unit | |
US5381360A (en) | Modulo arithmetic addressing circuit | |
JPH0635675A (ja) | データプロセッサにおいて除算を行うための方法および装置 | |
US5426600A (en) | Double precision division circuit and method for digital signal processor | |
JPH06236257A (ja) | データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置 | |
WO1993020502A1 (en) | Exponential/logarithmic computational apparatus and method | |
JPH06175821A (ja) | 演算装置 | |
US20080263336A1 (en) | Processor Having Efficient Function Estimate Instructions | |
JPH1097517A (ja) | 並列乗算累算アレイ回路 | |
JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
EP0840207A1 (en) | A microprocessor and method of operation thereof | |
JPH09146924A (ja) | 演算方法、演算装置及びマイクロプロセッサ | |
JPH0766372B2 (ja) | 浮動小数点演算処理装置 | |
JP2001216136A (ja) | 加算回路およびプロセッサ | |
JP3509069B2 (ja) | 飽和選択装置とそのための方法 | |
JP3435744B2 (ja) | 乗算回路 | |
US20220171601A1 (en) | Electronic architecture and semiconductor devices based on a base 60 numeral system | |
US5646874A (en) | Multiplication/multiplication-accumulation method and computing device | |
JP3096574B2 (ja) | 倍精度乗算を実行する方法及び演算装置 | |
JP3441847B2 (ja) | データメモリを有するプロセッサ | |
JP2821406B2 (ja) | 積和演算器およびこれを用いたディジタルフィルタ回路 | |
JP2003177911A (ja) | 演算装置及びその演算装置を用いた情報処理装置 | |
JP2003084972A (ja) | 条件付減算命令の実行速度を改善し、命令が正しく実行されるオペランドの範囲を拡大する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20011016 |