JPH1069372A - 演算実行方法及び演算装置 - Google Patents
演算実行方法及び演算装置Info
- Publication number
- JPH1069372A JPH1069372A JP8227972A JP22797296A JPH1069372A JP H1069372 A JPH1069372 A JP H1069372A JP 8227972 A JP8227972 A JP 8227972A JP 22797296 A JP22797296 A JP 22797296A JP H1069372 A JPH1069372 A JP H1069372A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- inversion
- arithmetic
- operand
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】本発明は演算実行方法及び演算装置に関し、ほ
んの僅かな物量の追加と、数ビットの制御ビットを追加
するだけで、演算命令数を従来より減らすことができる
ようにし、演算を効率良く、高速に実行ができるように
する。 【解決手段】演算装置は演算器20と演算制御回路1−
11と符号反転回路1−8〜1−10と、データ入力部
21と制御データ入力部22を備え、演算命令のフィー
ルド中に反転ビットa、b、cを設け、反転ビットがビ
ット反転を指示する場合はそのビットに対応するオペラ
ンドの値を−1倍して演算する。浮動小数点演算では反
転ビットがビット反転を指示する場合、そのビットに対
応するオペランドの符号ビットを反転してから演算し、
固定小数点演算命令では入力オペランドに対応する反転
ビットと演算命令コードを組み合わせて演算制御信号を
生成し、演算操作を制御して演算するように構成した。
んの僅かな物量の追加と、数ビットの制御ビットを追加
するだけで、演算命令数を従来より減らすことができる
ようにし、演算を効率良く、高速に実行ができるように
する。 【解決手段】演算装置は演算器20と演算制御回路1−
11と符号反転回路1−8〜1−10と、データ入力部
21と制御データ入力部22を備え、演算命令のフィー
ルド中に反転ビットa、b、cを設け、反転ビットがビ
ット反転を指示する場合はそのビットに対応するオペラ
ンドの値を−1倍して演算する。浮動小数点演算では反
転ビットがビット反転を指示する場合、そのビットに対
応するオペランドの符号ビットを反転してから演算し、
固定小数点演算命令では入力オペランドに対応する反転
ビットと演算命令コードを組み合わせて演算制御信号を
生成し、演算操作を制御して演算するように構成した。
Description
【0001】
【発明の属する技術分野】本発明は、少なくとも、命令
コードを逐次解釈して演算装置により固定小数点演算
や、浮動小数点演算を実行するプロセッサの演算実行方
法及び演算装置に関する。
コードを逐次解釈して演算装置により固定小数点演算
や、浮動小数点演算を実行するプロセッサの演算実行方
法及び演算装置に関する。
【0002】
【従来の技術】以下、図に基づいて従来例を説明する。 §1:従来のプロセッサと、命令フィールドの説明・・
・図11参照 図11は従来の命令フィールド説明図である。以下、従
来のプロセッサと、命令フィールドについて説明する。
従来、少なくとも、命令コードを逐次読み出し、命令を
解釈して、演算装置により固定小数点演算や、浮動小数
点演算を実行するプロセッサが知られていた。
・図11参照 図11は従来の命令フィールド説明図である。以下、従
来のプロセッサと、命令フィールドについて説明する。
従来、少なくとも、命令コードを逐次読み出し、命令を
解釈して、演算装置により固定小数点演算や、浮動小数
点演算を実行するプロセッサが知られていた。
【0003】このようなプロセッサで使用する命令で
は、例えば、図11のように、命令フィールドに、命令
コードと、オペランドA(以下、単に「A」とも記す)
と、オペランドB(以下、単に「B」とも記す)と、オ
ペランドC(以下、単に「C」とも記す)と、オペラン
ドD(以下、単に「D」とも記す)を表す領域が定義さ
れている。
は、例えば、図11のように、命令フィールドに、命令
コードと、オペランドA(以下、単に「A」とも記す)
と、オペランドB(以下、単に「B」とも記す)と、オ
ペランドC(以下、単に「C」とも記す)と、オペラン
ドD(以下、単に「D」とも記す)を表す領域が定義さ
れている。
【0004】通常の場合は、オペランドAの領域ではデ
ータAを格納するレジスタの番号を指定し、オペランド
Bの領域ではデータBを格納するレジスタの番号を指定
し、オペランドCの領域ではデータCを格納するレジス
タの番号を指定する。また、オペランドDの領域ではデ
ータD、すなわち、演算結果を格納するレジスタの番号
を指定する。
ータAを格納するレジスタの番号を指定し、オペランド
Bの領域ではデータBを格納するレジスタの番号を指定
し、オペランドCの領域ではデータCを格納するレジス
タの番号を指定する。また、オペランドDの領域ではデ
ータD、すなわち、演算結果を格納するレジスタの番号
を指定する。
【0005】そして、乗加算命令の場合、乗算の入力に
オペランドAとオペランドBが対応し、加算の入力にオ
ペランドCが対応している。この場合、演算結果はオペ
ランドDに対応する。また、乗算や、加算命令等の入力
2オペランド命令の場合は、入力がオペランドAと、オ
ペランドBが対応し、演算結果はオペランドDが対応す
る。
オペランドAとオペランドBが対応し、加算の入力にオ
ペランドCが対応している。この場合、演算結果はオペ
ランドDに対応する。また、乗算や、加算命令等の入力
2オペランド命令の場合は、入力がオペランドAと、オ
ペランドBが対応し、演算結果はオペランドDが対応す
る。
【0006】前記のように、命令フィールドに定義され
るオペランドには、通常の場合、レジスタ番号が入る
が、即値の場合もあり、直接演算されることもある。こ
のように定義された演算方式において、乗加(減)算命
令の場合は、A*B+(−)C=D、乗算命令の場合
は、A*B=D、加(減)算命令の場合は、A+(−)
B=Dの演算を実行する。
るオペランドには、通常の場合、レジスタ番号が入る
が、即値の場合もあり、直接演算されることもある。こ
のように定義された演算方式において、乗加(減)算命
令の場合は、A*B+(−)C=D、乗算命令の場合
は、A*B=D、加(減)算命令の場合は、A+(−)
B=Dの演算を実行する。
【0007】§2:演算装置の説明・・・図12〜図1
7参照 以下、図12〜図17に基づいて従来の演算装置を説明
する。 (1) :浮動小数点乗加算演算装置の説明・・・図12参
照 図12は従来の浮動小数点乗加算演算装置を示した図で
ある。この演算装置には、演算器20とデータ入力部2
1を備え、前記演算器20には、データ入力部21から
の各オペランドの入力データ7−1、7−2、7−3が
入力する。この場合、入力データ7−1はオペランド
A、7−2はオペランドB、7−3はオペランドCの各
入力データが対応する。
7参照 以下、図12〜図17に基づいて従来の演算装置を説明
する。 (1) :浮動小数点乗加算演算装置の説明・・・図12参
照 図12は従来の浮動小数点乗加算演算装置を示した図で
ある。この演算装置には、演算器20とデータ入力部2
1を備え、前記演算器20には、データ入力部21から
の各オペランドの入力データ7−1、7−2、7−3が
入力する。この場合、入力データ7−1はオペランド
A、7−2はオペランドB、7−3はオペランドCの各
入力データが対応する。
【0008】また、演算器20には、オペランドBの入
力データ7−2をデコードするデコーダ7−12と、倍
数発生器7−13と、桁上げ保存加算器7−14と、桁
上げ伝搬加算器7−15と、シフタ7−16、7−1
7、7−21と、桁上げ伝搬加算器7−19と、反転回
路7−18、7−20と、丸め回路7−22を備えてお
り、浮動小数点乗加算演算による演算結果7−23を得
る。
力データ7−2をデコードするデコーダ7−12と、倍
数発生器7−13と、桁上げ保存加算器7−14と、桁
上げ伝搬加算器7−15と、シフタ7−16、7−1
7、7−21と、桁上げ伝搬加算器7−19と、反転回
路7−18、7−20と、丸め回路7−22を備えてお
り、浮動小数点乗加算演算による演算結果7−23を得
る。
【0009】前記浮動小数点乗加算演算装置で乗加算命
令を実行する場合、乗算の入力にオペランドAの入力デ
ータ7−1と、オペランドBの入力データ7−2が対応
し、加算の入力にオペランドCの入力データ7−3が対
応している。この場合、オペランドDは演算結果7−2
3に対応する。なお、浮動小数点演算方法そのものは、
良く知られた方法であり、かつ、本特許では直接関係な
いので説明は省略する。
令を実行する場合、乗算の入力にオペランドAの入力デ
ータ7−1と、オペランドBの入力データ7−2が対応
し、加算の入力にオペランドCの入力データ7−3が対
応している。この場合、オペランドDは演算結果7−2
3に対応する。なお、浮動小数点演算方法そのものは、
良く知られた方法であり、かつ、本特許では直接関係な
いので説明は省略する。
【0010】(2) :浮動小数点乗算演算装置の説明・・
・図13参照 図13は従来の浮動小数点乗算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部21からの入力
データ8−1、8−2が入力する。この場合、入力デー
タ8−1はオペランドA、8−2はオペランドBの各入
力データが対応する。
・図13参照 図13は従来の浮動小数点乗算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部21からの入力
データ8−1、8−2が入力する。この場合、入力デー
タ8−1はオペランドA、8−2はオペランドBの各入
力データが対応する。
【0011】また、演算器20には、入力データ8−2
をデコードするデコーダ8−12と、倍数発生器8−1
3と、桁上げ保存加算器8−14と、桁上げ伝搬加算器
8−15と、シフタ8−16と、丸め回路8−22を備
えており、浮動小数点乗算演算による演算結果8−23
を得る。前記浮動小数点乗算演算装置で乗算命令を実行
する場合、乗算の入力にオペランドAの入力データ8−
1と、オペランドBの入力データ8−2が対応してい
る。この場合、オペランドDは演算結果8−23に対応
する。
をデコードするデコーダ8−12と、倍数発生器8−1
3と、桁上げ保存加算器8−14と、桁上げ伝搬加算器
8−15と、シフタ8−16と、丸め回路8−22を備
えており、浮動小数点乗算演算による演算結果8−23
を得る。前記浮動小数点乗算演算装置で乗算命令を実行
する場合、乗算の入力にオペランドAの入力データ8−
1と、オペランドBの入力データ8−2が対応してい
る。この場合、オペランドDは演算結果8−23に対応
する。
【0012】(3) :浮動小数点加算演算装置の説明・・
・図14参照 図14は従来の浮動小数点加算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部からの入力デー
タ9−1、9−2が入力する。この場合、入力データ9
−1はオペランドA、9−2はオペランドBの各入力デ
ータが対応する。
・図14参照 図14は従来の浮動小数点加算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部からの入力デー
タ9−1、9−2が入力する。この場合、入力データ9
−1はオペランドA、9−2はオペランドBの各入力デ
ータが対応する。
【0013】また、演算器にはシフタ9−16、9−1
7、9−21と、桁上げ伝搬加算器9−19と、反転回
路9−18、9−20と、丸め回路9−22を備えてお
り、浮動小数点加算演算による演算結果9−23を得
る。前記浮動小数点加算演算装置で加算命令を実行する
場合、乗算の入力にオペランドAの入力データ9−1
と、オペランドBの入力データ9−2が対応している。
この場合、オペランドDは演算結果9−23に対応す
る。
7、9−21と、桁上げ伝搬加算器9−19と、反転回
路9−18、9−20と、丸め回路9−22を備えてお
り、浮動小数点加算演算による演算結果9−23を得
る。前記浮動小数点加算演算装置で加算命令を実行する
場合、乗算の入力にオペランドAの入力データ9−1
と、オペランドBの入力データ9−2が対応している。
この場合、オペランドDは演算結果9−23に対応す
る。
【0014】(4) :固定小数点乗加算演算装置の説明・
・・図15参照 図15は従来の固定小数点乗加算演算装置を示した図で
ある。この演算装置には、演算器20とデータ入力部2
1を備え、前記演算器20にデータ入力部からの入力デ
ータ10−1、10−2、10−3が入力する。この場
合、入力データ10−1はオペランドA、10−2はオ
ペランドB、10−3はオペランドCの各入力データが
対応する。
・・図15参照 図15は従来の固定小数点乗加算演算装置を示した図で
ある。この演算装置には、演算器20とデータ入力部2
1を備え、前記演算器20にデータ入力部からの入力デ
ータ10−1、10−2、10−3が入力する。この場
合、入力データ10−1はオペランドA、10−2はオ
ペランドB、10−3はオペランドCの各入力データが
対応する。
【0015】また、演算器20には、入力データ10−
2をデコードするデコーダ10−12と、倍数発生器1
0−13と、桁上げ保存加算器10−14と、桁上げ伝
搬加算器10−15と、桁上げ伝搬加算器10−19
と、反転回路10−18を備えており、固定小数点乗加
算演算による演算結果10−23を得る。
2をデコードするデコーダ10−12と、倍数発生器1
0−13と、桁上げ保存加算器10−14と、桁上げ伝
搬加算器10−15と、桁上げ伝搬加算器10−19
と、反転回路10−18を備えており、固定小数点乗加
算演算による演算結果10−23を得る。
【0016】前記固定小数点乗加算演算装置で乗加算命
令を実行する場合、乗算の入力にオペランドAの入力デ
ータ10−1と、オペランドBの入力データ10−2が
対応し、加算の入力にオペランドCの入力データ10−
3が対応している。この場合、オペランドDは演算結果
10−23に対応する。
令を実行する場合、乗算の入力にオペランドAの入力デ
ータ10−1と、オペランドBの入力データ10−2が
対応し、加算の入力にオペランドCの入力データ10−
3が対応している。この場合、オペランドDは演算結果
10−23に対応する。
【0017】この固定小数点乗加算演算装置による固定
小数点乗加(減)算命令の動作は、次の通りである。先
ず、オペランドBの入力データ10−2をデコーダ10
−2でデコードして倍数制御信号を作成し、その倍数制
御信号と、オペランドAの入力データ10−1を倍数発
生器10−13へ入力し、倍数を発生させる。次に、発
生させた倍数を桁上げ保存加算器10−14、桁上げ伝
搬加算器10−15で加算し、乗算結果を得る。
小数点乗加(減)算命令の動作は、次の通りである。先
ず、オペランドBの入力データ10−2をデコーダ10
−2でデコードして倍数制御信号を作成し、その倍数制
御信号と、オペランドAの入力データ10−1を倍数発
生器10−13へ入力し、倍数を発生させる。次に、発
生させた倍数を桁上げ保存加算器10−14、桁上げ伝
搬加算器10−15で加算し、乗算結果を得る。
【0018】一方、加算の場合は、乗算結果とオペラン
ドCの入力データ10−3を入力とし、桁上げ伝搬加算
器10−19で加算し、オペランドDに対応した演算結
果10−23を得る。また、減算の場合は、オペランド
Cの入力データを反転回路10−18でビット反転し、
1の補数を桁上げ伝搬加算器1−19の入力にし、更
に、+1することで減算することができる。なお、+1
する回路は、減算を実行することが出来る加算器は全て
備えており、簡単な回路で実現出来ている。
ドCの入力データ10−3を入力とし、桁上げ伝搬加算
器10−19で加算し、オペランドDに対応した演算結
果10−23を得る。また、減算の場合は、オペランド
Cの入力データを反転回路10−18でビット反転し、
1の補数を桁上げ伝搬加算器1−19の入力にし、更
に、+1することで減算することができる。なお、+1
する回路は、減算を実行することが出来る加算器は全て
備えており、簡単な回路で実現出来ている。
【0019】(5) :固定小数点乗算演算装置の説明・・
・図16参照 図16は従来の固定小数点乗算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部21からの入力
データ11−1、11−2が入力する。この場合、入力
データ11−1はオペランドA、11−2はオペランド
Bの各入力データが対応する。
・図16参照 図16は従来の固定小数点乗算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部21からの入力
データ11−1、11−2が入力する。この場合、入力
データ11−1はオペランドA、11−2はオペランド
Bの各入力データが対応する。
【0020】また、演算器20には、入力データ11−
2をデコードするデコーダ11−12と、倍数発生器1
1−13と、桁上げ保存加算器11−14と、桁上げ伝
搬加算器11−15を備えており、固定小数点乗算演算
による演算結果11−23を得る。前記固定小数点乗算
演算装置で乗算命令を実行する場合、乗算の入力にオペ
ランドAの入力データ11−1と、オペランドBの入力
データ11−2が対応している。この場合、オペランド
Dは演算結果11−23に対応する。この固定小数点乗
算演算装置による固定小数点乗算命令の動作は、次の通
りである。
2をデコードするデコーダ11−12と、倍数発生器1
1−13と、桁上げ保存加算器11−14と、桁上げ伝
搬加算器11−15を備えており、固定小数点乗算演算
による演算結果11−23を得る。前記固定小数点乗算
演算装置で乗算命令を実行する場合、乗算の入力にオペ
ランドAの入力データ11−1と、オペランドBの入力
データ11−2が対応している。この場合、オペランド
Dは演算結果11−23に対応する。この固定小数点乗
算演算装置による固定小数点乗算命令の動作は、次の通
りである。
【0021】先ず、オペランドBの入力データ11−2
をデコーダ11−12でデコードして倍数制御信号を作
成し、その倍数制御信号と、オペランドAの入力データ
11−1を倍数発生器11−13へ入力し、倍数を発生
させる。次に、発生させた倍数を桁上げ保存加算器11
−14、桁上げ伝搬加算器11−15で加算し、乗算結
果11−23を得る。
をデコーダ11−12でデコードして倍数制御信号を作
成し、その倍数制御信号と、オペランドAの入力データ
11−1を倍数発生器11−13へ入力し、倍数を発生
させる。次に、発生させた倍数を桁上げ保存加算器11
−14、桁上げ伝搬加算器11−15で加算し、乗算結
果11−23を得る。
【0022】(6) :固定小数点乗加算演算装置の説明・
・・図17参照 図17は従来の固定小数点加算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部からの入力デー
タ12−1、12−2が入力する。この場合、入力デー
タ12−1はオペランドA、12−2はオペランドBの
各入力データが対応する。また、演算器20には、桁上
げ伝搬加算器12−19と、反転回路12−18を備え
ており、固定小数点加算演算による演算結果12−23
を得る。
・・図17参照 図17は従来の固定小数点加算演算装置を示した図であ
る。この演算装置には、演算器20とデータ入力部21
を備え、前記演算器20にデータ入力部からの入力デー
タ12−1、12−2が入力する。この場合、入力デー
タ12−1はオペランドA、12−2はオペランドBの
各入力データが対応する。また、演算器20には、桁上
げ伝搬加算器12−19と、反転回路12−18を備え
ており、固定小数点加算演算による演算結果12−23
を得る。
【0023】この固定小数点加算演算装置による固定小
数点加算命令の動作は、次の通りである。先ず、オペラ
ンドAの入力データ12−1と、オペランドBの入力デ
ータ12−2を反転回路12−18でビット反転させた
データを桁上げ伝搬加算器12−19で加算し、オペラ
ンドDに対応した演算結果12−23を得る。
数点加算命令の動作は、次の通りである。先ず、オペラ
ンドAの入力データ12−1と、オペランドBの入力デ
ータ12−2を反転回路12−18でビット反転させた
データを桁上げ伝搬加算器12−19で加算し、オペラ
ンドDに対応した演算結果12−23を得る。
【0024】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、次のような課題があった。 (1) :前記のように、命令コードを逐次読み出し、命令
を解釈し、固定小数点演算や、浮動小数点演算を実行す
るプロセッサにおいて、命令フィールドに、命令コード
と、オペランドA、B、C、Dを表す領域が定義されて
いる。この場合、命令フィールドに定義されるオペラン
ドは、通常の場合、レジスタ番号が入るが、即値の場合
もあり、直接演算されることもある。
のにおいては、次のような課題があった。 (1) :前記のように、命令コードを逐次読み出し、命令
を解釈し、固定小数点演算や、浮動小数点演算を実行す
るプロセッサにおいて、命令フィールドに、命令コード
と、オペランドA、B、C、Dを表す領域が定義されて
いる。この場合、命令フィールドに定義されるオペラン
ドは、通常の場合、レジスタ番号が入るが、即値の場合
もあり、直接演算されることもある。
【0025】このように定義された演算方式において、
乗加(減)算命令の場合は、A*B+(−)C=D、乗
算命令の場合は、A*B=D、加(減)算命令の場合
は、A+(−)B=Dの演算を実行する。しかし、式の
先頭等にマイナスの符号がある場合は次のようになる。
すなわち、演算式がx=−m−nの場合、ハード命令は
次のようになる。
乗加(減)算命令の場合は、A*B+(−)C=D、乗
算命令の場合は、A*B=D、加(減)算命令の場合
は、A+(−)B=Dの演算を実行する。しかし、式の
先頭等にマイナスの符号がある場合は次のようになる。
すなわち、演算式がx=−m−nの場合、ハード命令は
次のようになる。
【0026】
【表1】
【0027】前記のように、減算が2命令(前記「su
b」が減算命令)実行される。また、レジスタも余計に
使用される。更に、減算量が多い時など、メモリを使用
する場合はメモリも余計に使用されることもあり得る。
b」が減算命令)実行される。また、レジスタも余計に
使用される。更に、減算量が多い時など、メモリを使用
する場合はメモリも余計に使用されることもあり得る。
【0028】(2) :例えば、次の式を考える。
【0029】
【表2】
【0030】前記のように、加算、減算、乗算それぞれ
4通り、乗加算、乗減算それぞれ8通り、合計28通り
の組み合わせがあり、全ての命令コードを設けると命令
コード数が多くなり、命令解釈回路が複雑になる。ま
た、命令コードが多いことで、総命令コード数に制限が
あり、高速化に寄与する新規命令を追加することが困難
になってきている。
4通り、乗加算、乗減算それぞれ8通り、合計28通り
の組み合わせがあり、全ての命令コードを設けると命令
コード数が多くなり、命令解釈回路が複雑になる。ま
た、命令コードが多いことで、総命令コード数に制限が
あり、高速化に寄与する新規命令を追加することが困難
になってきている。
【0031】(3) :図11のフォーマットでベクトルオ
ペランドを入力とし、ベクトル演算を行うベクトルプロ
セッサにおいて、ベクトルオペランド同士の演算は、前
記の説明のように行うが、スカラオペランドを含む演算
になると、オペランド位置を簡単に入れ換えるようなこ
とはできない。例えば、以下の場合、演算式、x=−m
+nを変形してx=n−mとし、ハード命令を次のよう
にする。
ペランドを入力とし、ベクトル演算を行うベクトルプロ
セッサにおいて、ベクトルオペランド同士の演算は、前
記の説明のように行うが、スカラオペランドを含む演算
になると、オペランド位置を簡単に入れ換えるようなこ
とはできない。例えば、以下の場合、演算式、x=−m
+nを変形してx=n−mとし、ハード命令を次のよう
にする。
【0032】
【表3】
【0033】前記のように、演算式を変形することで命
令数を減らすことができる。また、ベクトルオペランド
同士も同様である。しかし、スカラオペランドを含むベ
クトルスカラ命令は、スカラオペランドのオペランド位
置が固定しているため、前記のような変形はできない。
令数を減らすことができる。また、ベクトルオペランド
同士も同様である。しかし、スカラオペランドを含むベ
クトルスカラ命令は、スカラオペランドのオペランド位
置が固定しているため、前記のような変形はできない。
【0034】例えば、オペランドAにスカラオペランド
が固定されているため、以下のように変形して1命令で
演算できない。すなわち、ベクトル命令をオペランド
A、オペランドB、オペランドDで構成する。ここで、
オペランドAがベクトル又はスカラオペランドであり、
オペランドBがベクトルオペランドであり、オペランド
Dがベクトルオペランドであるとする。この時、演算
式、x=−Sm+Vnをx=Vn=Smと変形し、ハー
ド命令を次のようにする。
が固定されているため、以下のように変形して1命令で
演算できない。すなわち、ベクトル命令をオペランド
A、オペランドB、オペランドDで構成する。ここで、
オペランドAがベクトル又はスカラオペランドであり、
オペランドBがベクトルオペランドであり、オペランド
Dがベクトルオペランドであるとする。この時、演算
式、x=−Sm+Vnをx=Vn=Smと変形し、ハー
ド命令を次のようにする。
【0035】
【表4】
【0036】前記のように演算式を変形したが、前記
「VSUB」命令(ベクトル減算命令)のオペランドA
がベクトルオペランド、オペランドBがスカラオペラン
ドになるため、演算は実現できない。
「VSUB」命令(ベクトル減算命令)のオペランドA
がベクトルオペランド、オペランドBがスカラオペラン
ドになるため、演算は実現できない。
【0037】(4) :ベクトル命令における命令のバリエ
ーションは、次のようになる。
ーションは、次のようになる。
【0038】
【表5】
【0039】但し、前記VAはベクトルオペランドA、
VBはベクトルオペランドB、VCはベクトルオペラン
ドC、VDはベクトルオペランドDを示す。この場合、
加減算、乗算それぞれ12通り、乗加算、乗減算それぞ
れ56通り、合計148通りの組み合わせがあり、全て
の命令コードを設けるとなると、命令コード数が多くな
り、命令解釈回路が複雑になる。また、命令コードが多
いことで、総命令コード数に制限があり、高速化に寄与
する新規命令を追加することが困難になってきている。
VBはベクトルオペランドB、VCはベクトルオペラン
ドC、VDはベクトルオペランドDを示す。この場合、
加減算、乗算それぞれ12通り、乗加算、乗減算それぞ
れ56通り、合計148通りの組み合わせがあり、全て
の命令コードを設けるとなると、命令コード数が多くな
り、命令解釈回路が複雑になる。また、命令コードが多
いことで、総命令コード数に制限があり、高速化に寄与
する新規命令を追加することが困難になってきている。
【0040】(5) :スカラ命令における命令のバリエー
ションは、次のようになる。
ションは、次のようになる。
【0041】
【表6】
【0042】前記のように、スカラ命令として21命令
が必要である。この場合にも前記ベクトル命令と同様
に、命令コードが多いことで、総命令コード数に制限が
あり、高速化に寄与する新規命令を追加することが困難
になってきている。
が必要である。この場合にも前記ベクトル命令と同様
に、命令コードが多いことで、総命令コード数に制限が
あり、高速化に寄与する新規命令を追加することが困難
になってきている。
【0043】本発明は、このような従来の課題を解決
し、ほんの僅かな物量の追加と、数ビットの制御ビット
を追加するだけで、演算命令数を従来より減らすことが
できるようにすると共に、演算装置による演算を効率良
く、かつ高速に実行ができるようにすることを目的とす
る。
し、ほんの僅かな物量の追加と、数ビットの制御ビット
を追加するだけで、演算命令数を従来より減らすことが
できるようにすると共に、演算装置による演算を効率良
く、かつ高速に実行ができるようにすることを目的とす
る。
【0044】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明は前記の目的を達成するため、次のよ
うに構成した。 (1) :少なくとも、命令を逐次解釈し演算装置により演
算命令を実行するプロセッサにおいて、演算命令のフィ
ールド中に、個々のオペランドにそれぞれ対応して反転
ビットを設け、前記反転ビットを演算装置の制御データ
として入力し、前記反転ビットが反転を指示する値であ
れば、前記演算装置により、そのビットに対応するオペ
ランドの値を(−1)倍した値として演算を実行するよ
うに構成した。
図である。本発明は前記の目的を達成するため、次のよ
うに構成した。 (1) :少なくとも、命令を逐次解釈し演算装置により演
算命令を実行するプロセッサにおいて、演算命令のフィ
ールド中に、個々のオペランドにそれぞれ対応して反転
ビットを設け、前記反転ビットを演算装置の制御データ
として入力し、前記反転ビットが反転を指示する値であ
れば、前記演算装置により、そのビットに対応するオペ
ランドの値を(−1)倍した値として演算を実行するよ
うに構成した。
【0045】(2) :前記(1) において、演算命令が浮動
小数点演算命令で、入力オペランドに対応する反転ビッ
トがビット反転を指示する値の場合、演算装置により、
そのビットに対応するオペランドの符号ビットを反転し
てから演算を実行するように構成した。
小数点演算命令で、入力オペランドに対応する反転ビッ
トがビット反転を指示する値の場合、演算装置により、
そのビットに対応するオペランドの符号ビットを反転し
てから演算を実行するように構成した。
【0046】(3) :前記(1) において、演算命令が固定
小数点演算命令の場合、入力オペランドに対応する反転
ビットと演算命令コードを組み合わせて演算制御信号C
1、C2を作成し、この演算制御信号C1、C2で演算
装置の演算操作を制御し、演算を実行するように構成し
た。
小数点演算命令の場合、入力オペランドに対応する反転
ビットと演算命令コードを組み合わせて演算制御信号C
1、C2を作成し、この演算制御信号C1、C2で演算
装置の演算操作を制御し、演算を実行するように構成し
た。
【0047】(4) :前記(1) において、演算命令が減算
命令の場合、演算装置により、減算命令を加算命令とし
て実行するように構成した。 (5) :演算命令のフィールド中に、個々のオペランドに
それぞれ対応して、各オペランドの符号ビットの反転/
非反転を指示する反転ビットを設けると共に、少なくと
も、浮動小数点演算器(演算器20に対応)を備え、演
算命令を逐次解釈し実行するプロセッサの演算装置であ
って、反転ビットa、b、cを制御データとして入力す
る制御データ入力部22と、反転ビットa、b、cのそ
れぞれに対応させた符号反転回路1−8、1−9、1−
10を設け、符号反転回路1−8、1−9、1−10
は、それぞれ浮動小数点データの符号ビットと、対応す
る反転ビットを入力し、前記反転ビットの指示に従って
前記符号ビットを反転/非反転処理し、その出力が浮動
小数点演算器のオペランド入力となるように構成した。
命令の場合、演算装置により、減算命令を加算命令とし
て実行するように構成した。 (5) :演算命令のフィールド中に、個々のオペランドに
それぞれ対応して、各オペランドの符号ビットの反転/
非反転を指示する反転ビットを設けると共に、少なくと
も、浮動小数点演算器(演算器20に対応)を備え、演
算命令を逐次解釈し実行するプロセッサの演算装置であ
って、反転ビットa、b、cを制御データとして入力す
る制御データ入力部22と、反転ビットa、b、cのそ
れぞれに対応させた符号反転回路1−8、1−9、1−
10を設け、符号反転回路1−8、1−9、1−10
は、それぞれ浮動小数点データの符号ビットと、対応す
る反転ビットを入力し、前記反転ビットの指示に従って
前記符号ビットを反転/非反転処理し、その出力が浮動
小数点演算器のオペランド入力となるように構成した。
【0048】(6) :演算命令のフィールド中に、個々の
オペランドにそれぞれ対応して、各オペランドの符号ビ
ットの反転/非反転を指示する反転ビットを設けると共
に、少なくとも、固定小数点演算器(演算器20に対
応)を備え、演算命令を逐次解釈し実行するプロセッサ
の演算装置であって、前記反転ビットa、b、c及び演
算命令コードf(f:固定小数点演算命令コード)を制
御データとして入力する制御データ入力部22と、演算
制御回路1−11を設け、かつ、固定小数点演算器に補
数変換回路を設け、演算制御回路1−11は、反転ビッ
トa、b、c及び演算命令コードfを入力して演算制御
信号C1、C2を生成し、演算制御信号C1、C2で固
定小数点演算器の演算操作を制御する構成とし、補数変
換回路は、固定小数点演算器出力(桁上げ伝搬加算器1
−19の出力)と演算制御回路1−11からの補数変換
用の演算制御信号C2を入力して補数変換を行う構成と
した。
オペランドにそれぞれ対応して、各オペランドの符号ビ
ットの反転/非反転を指示する反転ビットを設けると共
に、少なくとも、固定小数点演算器(演算器20に対
応)を備え、演算命令を逐次解釈し実行するプロセッサ
の演算装置であって、前記反転ビットa、b、c及び演
算命令コードf(f:固定小数点演算命令コード)を制
御データとして入力する制御データ入力部22と、演算
制御回路1−11を設け、かつ、固定小数点演算器に補
数変換回路を設け、演算制御回路1−11は、反転ビッ
トa、b、c及び演算命令コードfを入力して演算制御
信号C1、C2を生成し、演算制御信号C1、C2で固
定小数点演算器の演算操作を制御する構成とし、補数変
換回路は、固定小数点演算器出力(桁上げ伝搬加算器1
−19の出力)と演算制御回路1−11からの補数変換
用の演算制御信号C2を入力して補数変換を行う構成と
した。
【0049】(7) :演算命令のフィールド中に、個々の
オペランドにそれぞれ対応して、各オペランドの符号ビ
ットの反転/非反転を指示する反転ビットを設けると共
に、少なくとも、固定小数点演算及び浮動小数点演算の
両方を実行する演算器20を備え、演算命令を逐次解釈
し実行するプロセッサの演算装置であって、前記反転ビ
ットa、b、c及び命令コードe、f(e:浮動小数点
演算命令、f:固定小数点演算命令)を制御データとし
て入力する制御データ入力部22と、反転ビットa、
b、cのそれぞれに対応させた符号反転回路1−8、1
−9、1−10と、演算制御回路1−11を設け、か
つ、演算器20に補数変換回路を設け、符号反転回路1
−8、1−9、1−10は、浮動小数点データの符号ビ
ットと、対応する反転ビットと、演算命令コードeを入
力し、前記反転ビットの指示に従って符号ビットを反転
/非反転処理し、その出力が演算器20のオペランド入
力となる構成とし、演算制御回路1−11は、反転ビッ
トa、b、c及び演算命令コードfを入力して演算制御
信号C1、C2を生成し、その演算制御信号C1、C2
で演算器20の演算操作を制御する構成とし、補数変換
回路は、演算器20の出力(桁上げ伝搬加算器1−19
の出力)と、前記演算制御回路1−11からの補数変換
用の演算制御信号C2を入力して補数変換を行う構成と
した。
オペランドにそれぞれ対応して、各オペランドの符号ビ
ットの反転/非反転を指示する反転ビットを設けると共
に、少なくとも、固定小数点演算及び浮動小数点演算の
両方を実行する演算器20を備え、演算命令を逐次解釈
し実行するプロセッサの演算装置であって、前記反転ビ
ットa、b、c及び命令コードe、f(e:浮動小数点
演算命令、f:固定小数点演算命令)を制御データとし
て入力する制御データ入力部22と、反転ビットa、
b、cのそれぞれに対応させた符号反転回路1−8、1
−9、1−10と、演算制御回路1−11を設け、か
つ、演算器20に補数変換回路を設け、符号反転回路1
−8、1−9、1−10は、浮動小数点データの符号ビ
ットと、対応する反転ビットと、演算命令コードeを入
力し、前記反転ビットの指示に従って符号ビットを反転
/非反転処理し、その出力が演算器20のオペランド入
力となる構成とし、演算制御回路1−11は、反転ビッ
トa、b、c及び演算命令コードfを入力して演算制御
信号C1、C2を生成し、その演算制御信号C1、C2
で演算器20の演算操作を制御する構成とし、補数変換
回路は、演算器20の出力(桁上げ伝搬加算器1−19
の出力)と、前記演算制御回路1−11からの補数変換
用の演算制御信号C2を入力して補数変換を行う構成と
した。
【0050】(8) :前記(7) の演算装置において、補数
変換回路は、浮動小数点演算器で必要な既存のビット反
転回路(反転回路1−20)、及び丸め回路1−22と
共用化した。
変換回路は、浮動小数点演算器で必要な既存のビット反
転回路(反転回路1−20)、及び丸め回路1−22と
共用化した。
【0051】(作用)前記構成に基づく本発明の作用
を、図1に基づいて説明する。 :演算装置全体の説明 制御データ入力部22の反転ビットa、b、cがビット
反転を指示する値(例えば、前記値=1)であれば、演
算装置により、そのビットに対応するオペランドの値を
(−1)倍した値として演算器20により演算を実行す
る。また、演算命令が浮動小数点演算命令で、入力オペ
ランドに対応する反転ビットがビット反転を指示する値
の場合、演算装置により、そのビットに対応するオペラ
ンドの符号ビットを反転してから演算を実行する。
を、図1に基づいて説明する。 :演算装置全体の説明 制御データ入力部22の反転ビットa、b、cがビット
反転を指示する値(例えば、前記値=1)であれば、演
算装置により、そのビットに対応するオペランドの値を
(−1)倍した値として演算器20により演算を実行す
る。また、演算命令が浮動小数点演算命令で、入力オペ
ランドに対応する反転ビットがビット反転を指示する値
の場合、演算装置により、そのビットに対応するオペラ
ンドの符号ビットを反転してから演算を実行する。
【0052】更に、演算命令が固定小数点演算命令の場
合、演算制御回路1−11により、入力オペランドに対
応する反転ビットa、b、cと演算命令コードfを組み
合わせて演算制御信号C1、C2を生成し、この演算制
御信号C1、C2で演算装置の演算操作を制御し、演算
を実行する。なお、前記演算装置では、演算命令が減算
命令の場合、演算装置により、減算命令を加算命令とし
て実行することで、減算命令を無くした。
合、演算制御回路1−11により、入力オペランドに対
応する反転ビットa、b、cと演算命令コードfを組み
合わせて演算制御信号C1、C2を生成し、この演算制
御信号C1、C2で演算装置の演算操作を制御し、演算
を実行する。なお、前記演算装置では、演算命令が減算
命令の場合、演算装置により、減算命令を加算命令とし
て実行することで、減算命令を無くした。
【0053】:浮動小数点演算の説明 浮動小数点演算命令の場合、制御データ入力部22から
符号反転回路1−8〜1−10に入力する命令コードe
=1(浮動小数点演算命令)となり、反転ビットa、
b、cの値に従って、データ入力部21の各オペランド
の入力符号g、h、iを反転/非反転処理し、出力符号
q、r、sを出力する。。そして、オペランドA、B、
Cの各入力データ1−1、1−2、1−3(符号無しデ
ータ)の符号を、前記出力符号q、r、sにより付加
し、演算器20へ入力する。
符号反転回路1−8〜1−10に入力する命令コードe
=1(浮動小数点演算命令)となり、反転ビットa、
b、cの値に従って、データ入力部21の各オペランド
の入力符号g、h、iを反転/非反転処理し、出力符号
q、r、sを出力する。。そして、オペランドA、B、
Cの各入力データ1−1、1−2、1−3(符号無しデ
ータ)の符号を、前記出力符号q、r、sにより付加
し、演算器20へ入力する。
【0054】例えば、符号反転回路1−8、1−9、1
−10において、対応する反転ビットの値=1であれ
ば、入力符号を反転し、演算器20に入力する。演算器
20は反転ビットに制御されることなく、命令コードに
従って通常の演算(従来例と同じ演算)が行われ、演算
結果を得る。
−10において、対応する反転ビットの値=1であれ
ば、入力符号を反転し、演算器20に入力する。演算器
20は反転ビットに制御されることなく、命令コードに
従って通常の演算(従来例と同じ演算)が行われ、演算
結果を得る。
【0055】:固定小数点演算の説明 固定小数点演算の場合、制御データ入力部22の命令コ
ードf=1(固定小数点演算命令)となり、演算制御回
路1−11には、前記f=1の信号と、対応する反転ビ
ットa、b、cが入力する。そして、演算制御回路1−
11では、前記入力信号を基に、演算制御信号C1、C
2を作成する。この時、演算制御回路1−11では、符
号反転ビットa、b、cと、命令コードfの組み合わせ
により作成した制御信号C1、C2で演算器の各部を制
御する。
ードf=1(固定小数点演算命令)となり、演算制御回
路1−11には、前記f=1の信号と、対応する反転ビ
ットa、b、cが入力する。そして、演算制御回路1−
11では、前記入力信号を基に、演算制御信号C1、C
2を作成する。この時、演算制御回路1−11では、符
号反転ビットa、b、cと、命令コードfの組み合わせ
により作成した制御信号C1、C2で演算器の各部を制
御する。
【0056】この時、反転回路1−18と、桁上げ伝搬
加算器1−19が演算制御信号C1で制御され、反転回
路1−20と、丸め回路1−22が、前記制御信号C2
で制御される。前記反転回路1−18、1−20は、演
算制御信号C1、C2の値=1であるとビット反転を行
い、0であると、ビット反転は行わずにそのままデータ
を出力する。桁上げ伝搬加算器1−19と丸め回路1−
22は、演算制御信号C1、C2の値=1であると、+
1を行い、0であると+1は行わない。
加算器1−19が演算制御信号C1で制御され、反転回
路1−20と、丸め回路1−22が、前記制御信号C2
で制御される。前記反転回路1−18、1−20は、演
算制御信号C1、C2の値=1であるとビット反転を行
い、0であると、ビット反転は行わずにそのままデータ
を出力する。桁上げ伝搬加算器1−19と丸め回路1−
22は、演算制御信号C1、C2の値=1であると、+
1を行い、0であると+1は行わない。
【0057】この場合、反転回路1−20、及び丸め回
路1−22により、補数変換回路を共用しており、固定
小数点演算の場合は、前記演算制御信号C2の制御によ
り、反転回路1−20、及び丸め回路1−22で補数変
換処理を行う。
路1−22により、補数変換回路を共用しており、固定
小数点演算の場合は、前記演算制御信号C2の制御によ
り、反転回路1−20、及び丸め回路1−22で補数変
換処理を行う。
【0058】:その他 前記のように、演算命令の命令フィールドには、従来の
命令フィールドに加え、各オペランドに対応する反転ビ
ットを設け、そのビットが或る値の場合には、そのビッ
トに対応するオペランドの値を(−1)倍とした値とし
て演算を実行する方式とした。このようにすると、従来
では不可能であった、式の先頭などにマイナスの符号が
ある場合においても、演算が1命令で実行される。すな
わち、演算式、x=−m−nに対して、ハード命令は次
のようになる。
命令フィールドに加え、各オペランドに対応する反転ビ
ットを設け、そのビットが或る値の場合には、そのビッ
トに対応するオペランドの値を(−1)倍とした値とし
て演算を実行する方式とした。このようにすると、従来
では不可能であった、式の先頭などにマイナスの符号が
ある場合においても、演算が1命令で実行される。すな
わち、演算式、x=−m−nに対して、ハード命令は次
のようになる。
【0059】
【表7】
【0060】前記のように、演算が1命令(add)で
実行される。従って、従来余計に必要であったレジスタ
も必要くなくなる。また、演算量が多い時など、メモリ
を使用する場合にはメモリも必要以上に使用されること
はなくなる。その他に、式を変形することで、以下のよ
うに、演算命令が全て加算命令に置き換えられることが
可能になり、命令コード数が減る。
実行される。従って、従来余計に必要であったレジスタ
も必要くなくなる。また、演算量が多い時など、メモリ
を使用する場合にはメモリも必要以上に使用されること
はなくなる。その他に、式を変形することで、以下のよ
うに、演算命令が全て加算命令に置き換えられることが
可能になり、命令コード数が減る。
【0061】
【表8】
【0062】ベクトル命令においても、スカラオペラン
ドの位置を考慮した命令コードのバリエーションだけの
命令コードで実現できる。以下、スカラ命令とベクトル
命令をまとめると、次のようになる。
ドの位置を考慮した命令コードのバリエーションだけの
命令コードで実現できる。以下、スカラ命令とベクトル
命令をまとめると、次のようになる。
【0063】
【表9】
【0064】以上のようにすれば、ほんの僅かな物量の
追加と、数ビットの制御ビットを追加するだけで、演算
命令数を従来より減らすことができる。また、演算装置
による演算を効率良く、かつ高速に実行できる。
追加と、数ビットの制御ビットを追加するだけで、演算
命令数を従来より減らすことができる。また、演算装置
による演算を効率良く、かつ高速に実行できる。
【0065】
【発明の実施の形態】以下、発明の実施の形態を図面に
基づいて詳細に説明する。 §1:演算命令とプロセッサの概要説明・・・図2参照 図2は命令フィールドの説明図である。以下の説明で
は、少なくとも、命令を逐次解釈し演算装置により演算
命令を実行するプロセッサの例について説明する。前記
プロセッサでの演算方法と演算器の概要は次の通りであ
る。
基づいて詳細に説明する。 §1:演算命令とプロセッサの概要説明・・・図2参照 図2は命令フィールドの説明図である。以下の説明で
は、少なくとも、命令を逐次解釈し演算装置により演算
命令を実行するプロセッサの例について説明する。前記
プロセッサでの演算方法と演算器の概要は次の通りであ
る。
【0066】(1) :命令コードを逐次読み出し、命令を
解釈し固定小数点演算や、浮動小数点演算を実行するプ
ロセッサにおいて、例えば、図2に示したように、演算
命令の命令フィールドには、従来の命令フィールドに加
え、各オペランドに対応する反転ビットを設け、そのビ
ットが或る値(ビット反転を指示した値)の場合には、
そのビットに対応するオペランドの値を(−1)倍とし
た値として演算を実行するようにした。
解釈し固定小数点演算や、浮動小数点演算を実行するプ
ロセッサにおいて、例えば、図2に示したように、演算
命令の命令フィールドには、従来の命令フィールドに加
え、各オペランドに対応する反転ビットを設け、そのビ
ットが或る値(ビット反転を指示した値)の場合には、
そのビットに対応するオペランドの値を(−1)倍とし
た値として演算を実行するようにした。
【0067】この場合、図2の命令フィールドに設けら
れた反転ビットa、b、cは、それぞれオペランドA、
B、Cの各データの符号を反転するか否かを指示するビ
ットであり、a=inv A、b=inv B、c=i
nv Cで示す。このビットは、ビット=1でビット反
転、ビット=0でビット非反転を示す。例えば、inv
A=1ならば、オペランドAのデータの符号を反転す
ることを示し、inv A=0ならば、オペランドAのデ
ータの符号を反転しないことを示す。
れた反転ビットa、b、cは、それぞれオペランドA、
B、Cの各データの符号を反転するか否かを指示するビ
ットであり、a=inv A、b=inv B、c=i
nv Cで示す。このビットは、ビット=1でビット反
転、ビット=0でビット非反転を示す。例えば、inv
A=1ならば、オペランドAのデータの符号を反転す
ることを示し、inv A=0ならば、オペランドAのデ
ータの符号を反転しないことを示す。
【0068】そして、演算命令が浮動小数点演算の時に
は、入力オペランドに対応する反転ビットが或る値(ビ
ット反転を指示した値)である場合、そのビットに対応
するオペランドの符号ビットを反転してから演算を実行
する。また、演算命令が固定小数点演算の時には、入力
オペランドに対応する反転ビットと、演算命令コードの
組み合わせにより、演算操作を制御し演算を実行するよ
うにした。
は、入力オペランドに対応する反転ビットが或る値(ビ
ット反転を指示した値)である場合、そのビットに対応
するオペランドの符号ビットを反転してから演算を実行
する。また、演算命令が固定小数点演算の時には、入力
オペランドに対応する反転ビットと、演算命令コードの
組み合わせにより、演算操作を制御し演算を実行するよ
うにした。
【0069】(2) :少なくとも、浮動小数点演算器を備
えたプロセッサにおいて、演算命令フィールド中の個々
のオペランドにそれぞれ対応する反転ビットと、それぞ
れに対応する符号反転回路を設け、符号反転回路は、浮
動小数点データの符号ビットと対応する反転ビットを入
力とし、出力は浮動小数点演算器のオペランド入力とな
るようにした。
えたプロセッサにおいて、演算命令フィールド中の個々
のオペランドにそれぞれ対応する反転ビットと、それぞ
れに対応する符号反転回路を設け、符号反転回路は、浮
動小数点データの符号ビットと対応する反転ビットを入
力とし、出力は浮動小数点演算器のオペランド入力とな
るようにした。
【0070】(3) :少なくとも、固定小数点演算器を備
えたプロセッサにおいて、演算命令フィールド中に個々
のオペランドにそれぞれ対応する反転ビットと、演算制
御回路と、補数変換回路とを設け、演算制御回路は、反
転ビットと演算命令を入力とし、補数変換回路は、固定
小数点演算器の出力と演算制御回路からの補数制御信号
を入力となるようにした。
えたプロセッサにおいて、演算命令フィールド中に個々
のオペランドにそれぞれ対応する反転ビットと、演算制
御回路と、補数変換回路とを設け、演算制御回路は、反
転ビットと演算命令を入力とし、補数変換回路は、固定
小数点演算器の出力と演算制御回路からの補数制御信号
を入力となるようにした。
【0071】(4) :少なくとも、浮動小数点演算と固定
小数点演算の両方を実行する演算器を備えたプロセッサ
において、演算命令フィールド中に個々のオペランドに
それぞれ対応する反転ビットと、それぞれに対応する符
号反転回路と、演算制御回路と、補数変換回路とを設
け、符号反転回路は、浮動小数点データの符号ビットと
対応する反転ビットと命令を入力とし、出力は演算器の
オペランド入力となるようにし、演算制御回路は、反転
ビットと演算命令を入力として制御し、補数変換回路
は、演算器の出力と演算制御回路からの補数制御信号を
入力となるようにした。
小数点演算の両方を実行する演算器を備えたプロセッサ
において、演算命令フィールド中に個々のオペランドに
それぞれ対応する反転ビットと、それぞれに対応する符
号反転回路と、演算制御回路と、補数変換回路とを設
け、符号反転回路は、浮動小数点データの符号ビットと
対応する反転ビットと命令を入力とし、出力は演算器の
オペランド入力となるようにし、演算制御回路は、反転
ビットと演算命令を入力として制御し、補数変換回路
は、演算器の出力と演算制御回路からの補数制御信号を
入力となるようにした。
【0072】(5) :浮動/固定小数点演算回路におい
て、固定小数点演算で必要となる補数変換回路は、浮動
小数点演算で必要な既存の反転回路と丸め回路とを共用
化した。
て、固定小数点演算で必要となる補数変換回路は、浮動
小数点演算で必要な既存の反転回路と丸め回路とを共用
化した。
【0073】§2:例1の構成の説明・・・図3、図
4、図5参照 図3は浮動/固定小数点乗加算演算装置を示した図、図
4は図3の一部拡大図、図5は各部の説明図である。例
1は浮動/固定小数点乗加算演算装置の例であり、以
下、図3〜図5に基づいて説明する。
4、図5参照 図3は浮動/固定小数点乗加算演算装置を示した図、図
4は図3の一部拡大図、図5は各部の説明図である。例
1は浮動/固定小数点乗加算演算装置の例であり、以
下、図3〜図5に基づいて説明する。
【0074】(1) :全体の説明 浮動/固定小数点乗加算演算装置は、演算器20と、演
算制御回路1−11と、符号反転回路1−8、1−9、
1−10と、データ入力部21と、制御データ入力部2
2を備えている。そして、前記制御データ入力部22に
は、反転ビットa、b、cの入力部1−5、1−6、1
−7と、命令コード制御部1−4を備えている。前記デ
ータ入力部21には、命令フィールドのオペランドAの
入力データ1−1、オペランドBの入力データ1−2、
オペランドCの入力データ1−3を備えている。
算制御回路1−11と、符号反転回路1−8、1−9、
1−10と、データ入力部21と、制御データ入力部2
2を備えている。そして、前記制御データ入力部22に
は、反転ビットa、b、cの入力部1−5、1−6、1
−7と、命令コード制御部1−4を備えている。前記デ
ータ入力部21には、命令フィールドのオペランドAの
入力データ1−1、オペランドBの入力データ1−2、
オペランドCの入力データ1−3を備えている。
【0075】更に演算器20には、デコーダ1−12
と、倍数発生器1−13と、桁上げ保存加算器1−14
と、桁上げ伝搬加算器1−15と、シフタ1−16、1
−17、1−21と、桁上げ伝搬加算器1−19と、反
転回路1−18、1−20と、丸め回路1−22を備え
ており、演算結果1−23を得るように構成されてい
る。なお、固定小数点演算の場合、反転回路1−20
と、丸め回路1−22は、演算制御回路1−11から出
力される補数変換用の演算制御信号により制御され、補
数変換回路として使用される。
と、倍数発生器1−13と、桁上げ保存加算器1−14
と、桁上げ伝搬加算器1−15と、シフタ1−16、1
−17、1−21と、桁上げ伝搬加算器1−19と、反
転回路1−18、1−20と、丸め回路1−22を備え
ており、演算結果1−23を得るように構成されてい
る。なお、固定小数点演算の場合、反転回路1−20
と、丸め回路1−22は、演算制御回路1−11から出
力される補数変換用の演算制御信号により制御され、補
数変換回路として使用される。
【0076】(2) :制御データ入力部22の説明 制御データ入力部22は、命令コード制御部1−4と、
反転ビットaの入力部1−5と、反転ビットbの入力部
1−6と、反転ビットcの入力部1−7を備えている。
そして、命令コード制御部1−4は、命令デコーダ等を
備えており、実行すべき命令をデコードしてその情報か
ら演算制御に使用する命令コード(0、又は1の制御信
号)を作成する機能を備えている。
反転ビットaの入力部1−5と、反転ビットbの入力部
1−6と、反転ビットcの入力部1−7を備えている。
そして、命令コード制御部1−4は、命令デコーダ等を
備えており、実行すべき命令をデコードしてその情報か
ら演算制御に使用する命令コード(0、又は1の制御信
号)を作成する機能を備えている。
【0077】そして、制御データ入力部22から浮動小
数点演算命令、或いは固定小数点演算命令の命令コード
を出力するように構成されている。この場合、固定小数
点演算命令の命令コードをf、浮動小数点演算命令の命
令コードをeとする。
数点演算命令、或いは固定小数点演算命令の命令コード
を出力するように構成されている。この場合、固定小数
点演算命令の命令コードをf、浮動小数点演算命令の命
令コードをeとする。
【0078】また、反転ビットaの入力部1−5は、命
令フィールドの反転ビット領域で指定されたオペランド
Aの反転ビットa=inv Aを入力(演算装置へ入
力)するものであり、反転ビットbの入力部1−6は、
命令フィールドの反転ビット領域で指定されたオペラン
ドBの反転ビットb=inv Bを入力するものであ
り、反転ビットcの入力部1−7は、命令フィールドの
反転ビット領域で指定されたオペランドCの反転ビット
c=inv Cを入力するものである。
令フィールドの反転ビット領域で指定されたオペランド
Aの反転ビットa=inv Aを入力(演算装置へ入
力)するものであり、反転ビットbの入力部1−6は、
命令フィールドの反転ビット領域で指定されたオペラン
ドBの反転ビットb=inv Bを入力するものであ
り、反転ビットcの入力部1−7は、命令フィールドの
反転ビット領域で指定されたオペランドCの反転ビット
c=inv Cを入力するものである。
【0079】(3) :符号反転回路1−8、1−9、1−
10の説明・・・図5のA図参照 符号反転回路1−8、1−9、1−10は、浮動小数点
演算を行う場合に、命令フィールドの反転ビットによる
反転/非反転指示に従って、各オペランドのデータの符
号を反転/非反転処理する回路である。各符号反転回路
1−8、1−9、1−10は、それぞれ図5のA図に示
したように、AND回路25と排他的論理和回路(以下
「EX−OR回路」と記す)26で構成されている。
10の説明・・・図5のA図参照 符号反転回路1−8、1−9、1−10は、浮動小数点
演算を行う場合に、命令フィールドの反転ビットによる
反転/非反転指示に従って、各オペランドのデータの符
号を反転/非反転処理する回路である。各符号反転回路
1−8、1−9、1−10は、それぞれ図5のA図に示
したように、AND回路25と排他的論理和回路(以下
「EX−OR回路」と記す)26で構成されている。
【0080】そして、AND回路25の入力端子には、
+浮動小数点演算命令eと、+反転ビット(a、b、c
のいずれか)の信号(データ)が入力し、EX−OR回
路26の入力端子には、+入力符号(g、h、iのいず
れか)の信号と、AND回路25の出力信号が入力す
る。また、EX−OR回路26の出力端子から+出力符
号(q、r、sのいずれか)が出力する。
+浮動小数点演算命令eと、+反転ビット(a、b、c
のいずれか)の信号(データ)が入力し、EX−OR回
路26の入力端子には、+入力符号(g、h、iのいず
れか)の信号と、AND回路25の出力信号が入力す
る。また、EX−OR回路26の出力端子から+出力符
号(q、r、sのいずれか)が出力する。
【0081】このように構成された符号反転回路1−
8、1−9、1−10の入力信号と出力信号の関係は、
図5のA図に示した真理値表の通りである。この真理値
表において、+入力符号の欄では、各オペランドA、
B、Cのデータの符号において、+入力符号が有れば
1、無ければ0で示す。+浮動小数点演算命令の欄で
は、浮動小数点演算の命令コード=1が有れば1、無け
れば0(固定小数点演算の場合は0)で示す。+反転ビ
ットの欄では、命令フィールドの反転ビットa、b、c
が反転指示であれば1、反転指示でなければ0で示す。
8、1−9、1−10の入力信号と出力信号の関係は、
図5のA図に示した真理値表の通りである。この真理値
表において、+入力符号の欄では、各オペランドA、
B、Cのデータの符号において、+入力符号が有れば
1、無ければ0で示す。+浮動小数点演算命令の欄で
は、浮動小数点演算の命令コード=1が有れば1、無け
れば0(固定小数点演算の場合は0)で示す。+反転ビ
ットの欄では、命令フィールドの反転ビットa、b、c
が反転指示であれば1、反転指示でなければ0で示す。
【0082】この真理値表によれば、+入力符号=0、
+浮動小数点演算命令=0、+反転ビットなしの時、+
出力符号=0となる。+入力符号=1、+浮動小数点演
算命令=0、+反転ビットなしの時、+出力符号=1と
なる。+入力符号=0、+浮動小数点演算命令=1、+
反転ビット=0の時、+出力符号=0となる。+入力符
号=1、+浮動小数点演算命令=1、+反転ビット=0
の時、+出力符号=1となる。+入力符号=0、+浮動
小数点演算命令=1、+反転ビット=1の時、+出力符
号=1となる。+入力符号=1、+浮動小数点演算命令
=1、+反転ビット=1の時、+出力符号=0となる。
+浮動小数点演算命令=0、+反転ビットなしの時、+
出力符号=0となる。+入力符号=1、+浮動小数点演
算命令=0、+反転ビットなしの時、+出力符号=1と
なる。+入力符号=0、+浮動小数点演算命令=1、+
反転ビット=0の時、+出力符号=0となる。+入力符
号=1、+浮動小数点演算命令=1、+反転ビット=0
の時、+出力符号=1となる。+入力符号=0、+浮動
小数点演算命令=1、+反転ビット=1の時、+出力符
号=1となる。+入力符号=1、+浮動小数点演算命令
=1、+反転ビット=1の時、+出力符号=0となる。
【0083】前記のように、符号反転回路1−8〜1−
10では、+浮動小数点演算命令が1(浮動小数点演算
命令)で、+反転ビットが1(ビット反転指示有り)の
場合にのみ、+入力符号を反転した+出力信号を出して
いる。しかし、+浮動小数点演算命令が1でも、+反転
ビットが0(命令フィールドでの反転指示無し)の場合
には、+入力符号を反転せずにそのまま+出力信号を出
している。また、+浮動小数点演算命令が0の場合は、
浮動小数点演算ではないので、+反転ビットの指示は無
く、+入力符号を反転せずにそのまま+出力信号を出し
ている。
10では、+浮動小数点演算命令が1(浮動小数点演算
命令)で、+反転ビットが1(ビット反転指示有り)の
場合にのみ、+入力符号を反転した+出力信号を出して
いる。しかし、+浮動小数点演算命令が1でも、+反転
ビットが0(命令フィールドでの反転指示無し)の場合
には、+入力符号を反転せずにそのまま+出力信号を出
している。また、+浮動小数点演算命令が0の場合は、
浮動小数点演算ではないので、+反転ビットの指示は無
く、+入力符号を反転せずにそのまま+出力信号を出し
ている。
【0084】(4) :演算制御回路1−11の説明・・・
図5のB図参照 演算制御回路1−11は、固定小数点演算を行う場合
に、制御データ入力部22から入力された制御データを
基に、新たな演算制御信号C1、C2を作成して演算器
20の各部を制御するものである。
図5のB図参照 演算制御回路1−11は、固定小数点演算を行う場合
に、制御データ入力部22から入力された制御データを
基に、新たな演算制御信号C1、C2を作成して演算器
20の各部を制御するものである。
【0085】この演算制御回路1−11は、図5のB図
に示したように、EX−OR回路27、28と、AND
回路29、30で構成されている。そして、EX−OR
回路27の入力端子には、+inv Bと+inv A
が入力し、EX−OR回路28の入力端子には、+in
v CとEX−OR回路27の出力信号が入力し、AN
D回路29の入力端子には、+固定小数点演算命令の命
令コードfと、EX−OR回路28の出力信号が入力
し、AND回路30の入力端子には、+固定小数点演算
命令の命令コードfと、EX−OR回路27の出力信号
が入力する。
に示したように、EX−OR回路27、28と、AND
回路29、30で構成されている。そして、EX−OR
回路27の入力端子には、+inv Bと+inv A
が入力し、EX−OR回路28の入力端子には、+in
v CとEX−OR回路27の出力信号が入力し、AN
D回路29の入力端子には、+固定小数点演算命令の命
令コードfと、EX−OR回路28の出力信号が入力
し、AND回路30の入力端子には、+固定小数点演算
命令の命令コードfと、EX−OR回路27の出力信号
が入力する。
【0086】この場合、前記+inv Aは、制御デー
タ入力部22の反転ビットaの入力部1−5から入力さ
れる信号aであり、+inv Bは、制御データ入力部
22の反転ビットbの入力部1−6から入力される信号
bであり、+inv Cは、制御データ入力部22の反
転ビットcの入力部1−7から入力される信号cであ
る。
タ入力部22の反転ビットaの入力部1−5から入力さ
れる信号aであり、+inv Bは、制御データ入力部
22の反転ビットbの入力部1−6から入力される信号
bであり、+inv Cは、制御データ入力部22の反
転ビットcの入力部1−7から入力される信号cであ
る。
【0087】このように構成された演算制御回路1−1
1の入力信号と出力信号の関係は、図5のB図に示した
真理値表の通りである。この真理値表において、演算制
御信号C1、C2の値が1であれば、演算制御を行い、
0であれば演算操作を行わないことを示している。ま
た、固定小数点演算の場合、演算制御信号C2は反転回
路1−20と丸め回路1−22に入力するが、補数変換
処理では演算制御信号C2は補数変換制御用の演算制御
信号となり、この信号により、反転回路1−20と丸め
回路1−22で補数変換処理を行う。
1の入力信号と出力信号の関係は、図5のB図に示した
真理値表の通りである。この真理値表において、演算制
御信号C1、C2の値が1であれば、演算制御を行い、
0であれば演算操作を行わないことを示している。ま
た、固定小数点演算の場合、演算制御信号C2は反転回
路1−20と丸め回路1−22に入力するが、補数変換
処理では演算制御信号C2は補数変換制御用の演算制御
信号となり、この信号により、反転回路1−20と丸め
回路1−22で補数変換処理を行う。
【0088】なお、この真理値表は、+固定小数点演算
命令の命令コードfが、f=1(固定小数点演算)の場
合の真理値表であり、f=0の場合(固定小数点演算以
外の場合)は、常に演算制御信号+C1=+C2=0
(演算制御を行わない信号)となる。
命令の命令コードfが、f=1(固定小数点演算)の場
合の真理値表であり、f=0の場合(固定小数点演算以
外の場合)は、常に演算制御信号+C1=+C2=0
(演算制御を行わない信号)となる。
【0089】この真理値表に示したように、+inv
A=0、+inv B=0、+inv C=0の場合
は、式は(+A)×(+B)+(+C)であり、演算制
御信号はC1=0、C2=0となる。+inv A=
0、+inv B=0、+inv C=1の場合は、式は
(+A)×(+B)+(−C)であり、演算制御信号は
C1=1、C2=0となる。
A=0、+inv B=0、+inv C=0の場合
は、式は(+A)×(+B)+(+C)であり、演算制
御信号はC1=0、C2=0となる。+inv A=
0、+inv B=0、+inv C=1の場合は、式は
(+A)×(+B)+(−C)であり、演算制御信号は
C1=1、C2=0となる。
【0090】+inv A=0、+inv B=1、+
inv C=0の場合は、式は(+A)×(−B)+
(+C)であり、演算制御信号はC1=1、C2=1と
なる。+inv A=0、+inv B=1、+inv
C=1の場合は、式は(+A)×(−B)+(−C)
であり、演算制御信号はC1=0、C2=1となる。+
inv A=1、+inv B=0、+inv C=0
の場合は、式は(−A)×(+B)+(+C)であり、
演算制御信号はC1=1、C2=1となる。
inv C=0の場合は、式は(+A)×(−B)+
(+C)であり、演算制御信号はC1=1、C2=1と
なる。+inv A=0、+inv B=1、+inv
C=1の場合は、式は(+A)×(−B)+(−C)
であり、演算制御信号はC1=0、C2=1となる。+
inv A=1、+inv B=0、+inv C=0
の場合は、式は(−A)×(+B)+(+C)であり、
演算制御信号はC1=1、C2=1となる。
【0091】+inv A=1、+inv B=0、+
inv C=1の場合は、式は(−A)×(+B)+
(−C)であり、演算制御信号はC1=0、C2=1と
なる。+inv A=1、+inv B=1、+inv
C=0の場合は、式は(−A)×(−B)+(+C)
であり、演算制御信号はC1=0、C2=0となる。+
inv A=1、+inv B=1、+inv C=1
の場合は、式は(−A)×(−B)+(−C)であり、
演算制御信号はC1=1、C2=0となる。
inv C=1の場合は、式は(−A)×(+B)+
(−C)であり、演算制御信号はC1=0、C2=1と
なる。+inv A=1、+inv B=1、+inv
C=0の場合は、式は(−A)×(−B)+(+C)
であり、演算制御信号はC1=0、C2=0となる。+
inv A=1、+inv B=1、+inv C=1
の場合は、式は(−A)×(−B)+(−C)であり、
演算制御信号はC1=1、C2=0となる。
【0092】§3:例1の演算動作の説明・・・図2〜
図6参照 以下、図2〜図6に基づいて例1の演算動作を説明す
る。 (1) :フローチャートによる演算処理の説明・・・図6
参照 図6は演算処理フローチャートである。以下、図6に基
づいて例1の演算処理を説明する。なお、S1〜S7は
各処理ステップを示す。演算命令を実行する場合、命令
フィールドの命令コードが浮動小数点演算命令でなく
(固定小数点演算命令の場合)(S1)、反転ビット=
1でなければ(S2)、演算器20に各オペランドのデ
ータをそのまま(符号ビットを反転せずに)入力し、演
算制御回路1−11では演算制御信号C1、C2=0と
して、演算操作の制御をしないで演算を行う(S4)。
図6参照 以下、図2〜図6に基づいて例1の演算動作を説明す
る。 (1) :フローチャートによる演算処理の説明・・・図6
参照 図6は演算処理フローチャートである。以下、図6に基
づいて例1の演算処理を説明する。なお、S1〜S7は
各処理ステップを示す。演算命令を実行する場合、命令
フィールドの命令コードが浮動小数点演算命令でなく
(固定小数点演算命令の場合)(S1)、反転ビット=
1でなければ(S2)、演算器20に各オペランドのデ
ータをそのまま(符号ビットを反転せずに)入力し、演
算制御回路1−11では演算制御信号C1、C2=0と
して、演算操作の制御をしないで演算を行う(S4)。
【0093】また、前記命令コードが浮動小数点演算で
なく(S1)、反転ビット=1(ビット反転指示)であ
れば(S2)、演算制御回路1−11は、反転ビット
a、b、cと、命令コードfを基に演算制御信号C1、
C2を生成し、演算器20の制御を変更して(S3)演
算を行う(S4)。
なく(S1)、反転ビット=1(ビット反転指示)であ
れば(S2)、演算制御回路1−11は、反転ビット
a、b、cと、命令コードfを基に演算制御信号C1、
C2を生成し、演算器20の制御を変更して(S3)演
算を行う(S4)。
【0094】更に、命令コードが浮動小数点演算命令で
あり(S1)、反転ビット=1でなければ(S5)、符
号反転回路1−8〜1−10では符号の反転を行わず
に、演算器20においてそのまま演算を行う(S7)。
しかし、演算フォーマットが浮動小数点演算命令であり
(S1)、反転ビット=1であれば(S5)、符号反転
回路1−8〜1−10により対応するオペランドのデー
タの符号を反転し(S6)、演算器20で演算を行う
(S7)。
あり(S1)、反転ビット=1でなければ(S5)、符
号反転回路1−8〜1−10では符号の反転を行わず
に、演算器20においてそのまま演算を行う(S7)。
しかし、演算フォーマットが浮動小数点演算命令であり
(S1)、反転ビット=1であれば(S5)、符号反転
回路1−8〜1−10により対応するオペランドのデー
タの符号を反転し(S6)、演算器20で演算を行う
(S7)。
【0095】(2) :浮動小数点演算処理の詳細な説明 浮動小数点演算命令に対しては、次のようにして演算を
実行する。浮動小数点演算命令の場合、符号反転回路1
−8〜1−10に入力する+浮動小数点演算命令の命令
コードe=1となり、+反転ビット(a、b、cのいず
れか)に従って、+入力符号(g、h、iのいずれか)
を反転し、+出力符号(q、r、s)を出力する。そし
て、オペランドA、B、Cの各入力データ1−1、1−
2、1−3(符号無しデータ)の符号を、前記+出力符
号(q、r、s)により付加し、演算器20へ入力す
る。
実行する。浮動小数点演算命令の場合、符号反転回路1
−8〜1−10に入力する+浮動小数点演算命令の命令
コードe=1となり、+反転ビット(a、b、cのいず
れか)に従って、+入力符号(g、h、iのいずれか)
を反転し、+出力符号(q、r、s)を出力する。そし
て、オペランドA、B、Cの各入力データ1−1、1−
2、1−3(符号無しデータ)の符号を、前記+出力符
号(q、r、s)により付加し、演算器20へ入力す
る。
【0096】すなわち、符号反転回路1−8、1−9、
1−10で、対応する反転ビットが「1」の場合に+入
力符号を反転し、演算器20に入力する。演算器20は
反転ビットに制御されることなく、命令コードに従って
通常の演算(従来例と同じ演算)を行い、演算結果1−
23を得る。
1−10で、対応する反転ビットが「1」の場合に+入
力符号を反転し、演算器20に入力する。演算器20は
反転ビットに制御されることなく、命令コードに従って
通常の演算(従来例と同じ演算)を行い、演算結果1−
23を得る。
【0097】例えば、オペランドAのデータに対する反
転ビットが1になっていたら、符号反転回路1−10で
は、オペランドAのデータの符号を反転して、演算器2
0に入力する。また、オペランドBのデータに対する反
転ビットが1になっていたら、符号反転回路1−9で
は、オペランドBのデータの符号を反転して、演算器2
0に入力する。
転ビットが1になっていたら、符号反転回路1−10で
は、オペランドAのデータの符号を反転して、演算器2
0に入力する。また、オペランドBのデータに対する反
転ビットが1になっていたら、符号反転回路1−9で
は、オペランドBのデータの符号を反転して、演算器2
0に入力する。
【0098】更に、オペランドCのデータに対する反転
ビットが1になっていたら、符号反転回路1−8では、
オペランドCのデータの符号を反転して、演算器20に
入力する。この処理により、演算器20では従来例と同
じ浮動小数点演算を行い、演算結果1−23を得る。
ビットが1になっていたら、符号反転回路1−8では、
オペランドCのデータの符号を反転して、演算器20に
入力する。この処理により、演算器20では従来例と同
じ浮動小数点演算を行い、演算結果1−23を得る。
【0099】(3) :固定小数点演算処理の詳細な説明 固定小数点演算命令に対しては、次のようにして演算を
実行する。固定小数点演算の場合、+固定小数点演算命
令の命令コードf=1となり、演算制御回路1−11
は、前記f=1の信号と、各反転ビットの入力データ
a、b、cが入力する。そして、演算制御回路1−11
では、前記入力信号を基に、演算制御信号C1、C2を
生成する。
実行する。固定小数点演算の場合、+固定小数点演算命
令の命令コードf=1となり、演算制御回路1−11
は、前記f=1の信号と、各反転ビットの入力データ
a、b、cが入力する。そして、演算制御回路1−11
では、前記入力信号を基に、演算制御信号C1、C2を
生成する。
【0100】この時、演算制御回路1−11では、前記
符号反転ビットa、b、cの入力データ1−5〜1−7
と、命令コードfの組み合わせにより生成した演算制御
信号C1、C2で演算器20の各部を制御する。この
時、反転回路1−18、桁上げ伝搬加算器1−19、反
転回路1−20、丸め回路1−22が、演算制御信号C
1、C2により制御される。
符号反転ビットa、b、cの入力データ1−5〜1−7
と、命令コードfの組み合わせにより生成した演算制御
信号C1、C2で演算器20の各部を制御する。この
時、反転回路1−18、桁上げ伝搬加算器1−19、反
転回路1−20、丸め回路1−22が、演算制御信号C
1、C2により制御される。
【0101】反転回路1−18、1−20は、演算制御
信号C1、C2が「1」であるとビット反転を行い、
「0」であると、ビット反転は行わずにそのままデータ
を出力する。桁上げ伝搬加算器1−19と丸め回路1−
22は、演算制御信号が「1」であると、+1を行い、
「0」であると+1は行わない。なお、固定小数点演算
の場合、反転回路1−20と、丸め回路1−22は、演
算制御回路1−11から出力される補数変換用の演算制
御信号C2により制御され、補数変換回路として使用さ
れる。
信号C1、C2が「1」であるとビット反転を行い、
「0」であると、ビット反転は行わずにそのままデータ
を出力する。桁上げ伝搬加算器1−19と丸め回路1−
22は、演算制御信号が「1」であると、+1を行い、
「0」であると+1は行わない。なお、固定小数点演算
の場合、反転回路1−20と、丸め回路1−22は、演
算制御回路1−11から出力される補数変換用の演算制
御信号C2により制御され、補数変換回路として使用さ
れる。
【0102】演算式に対して、ハード命令は次のように
指定される。演算式、x=−m*n−pを変形して、x
=(−m)*(−n)+(−p)とする。この場合のハ
ード命令は、madd reg1、reg2、 reg3、 reg4、1、0、1とな
る。なお、この命令は(-reg1)×reg2+ (-reg3) = reg3
となる。
指定される。演算式、x=−m*n−pを変形して、x
=(−m)*(−n)+(−p)とする。この場合のハ
ード命令は、madd reg1、reg2、 reg3、 reg4、1、0、1とな
る。なお、この命令は(-reg1)×reg2+ (-reg3) = reg3
となる。
【0103】前記の命令を図5のB図に示した表に従い
説明すると、オペランドBの入力データ1−2をデコー
ダ1−12でデコードして倍数制御信号を作成し、その
倍数制御信号とオペランドAの入力データ1−1を倍数
発生器1−13へ入力し、倍数を発生する。そして、発
生させた倍数を桁上げ保存加算器1−14、桁上げ伝搬
加算器1−15で加算し、乗算結果を得る。
説明すると、オペランドBの入力データ1−2をデコー
ダ1−12でデコードして倍数制御信号を作成し、その
倍数制御信号とオペランドAの入力データ1−1を倍数
発生器1−13へ入力し、倍数を発生する。そして、発
生させた倍数を桁上げ保存加算器1−14、桁上げ伝搬
加算器1−15で加算し、乗算結果を得る。
【0104】この場合、演算制御信号C1=0となって
いるので、反転回路1−18ではオペランドCの入力デ
ータ1−3の符号をビット反転せずに、桁上げ伝搬加算
器1−19によって乗算結果を得る。なお、この処理で
は+1はしない。また、制御信号C2=1となっている
ので、反転回路1−20では桁上げ伝搬加算器1−19
からの結果をビット反転し、丸め回路1−22に入れて
+1し、最終結果Dを得る。
いるので、反転回路1−18ではオペランドCの入力デ
ータ1−3の符号をビット反転せずに、桁上げ伝搬加算
器1−19によって乗算結果を得る。なお、この処理で
は+1はしない。また、制御信号C2=1となっている
ので、反転回路1−20では桁上げ伝搬加算器1−19
からの結果をビット反転し、丸め回路1−22に入れて
+1し、最終結果Dを得る。
【0105】なお、実際のハードでの演算器は、−(m
*n+p)の演算を行なっている。一例として、乗加算
について説明したが、乗算、加算、除算等についても同
様に応用できることは明白である。
*n+p)の演算を行なっている。一例として、乗加算
について説明したが、乗算、加算、除算等についても同
様に応用できることは明白である。
【0106】§4:例2の説明・・・図7参照 図7は浮動小数点乗算演算装置を示した図である。な
お、図では浮動小数点乗算演算に必要な構成のみを図示
してある。例2は、浮動小数点乗算演算装置の例であ
り、浮動小数点乗算演算装置は、演算器20と、符号反
転回路2−9、2−10と、データ入力部21と、制御
データ入力部22を備えている。そして、制御データ入
力部22には、反転ビットaの入力部2−5、2−6を
備えている。
お、図では浮動小数点乗算演算に必要な構成のみを図示
してある。例2は、浮動小数点乗算演算装置の例であ
り、浮動小数点乗算演算装置は、演算器20と、符号反
転回路2−9、2−10と、データ入力部21と、制御
データ入力部22を備えている。そして、制御データ入
力部22には、反転ビットaの入力部2−5、2−6を
備えている。
【0107】また、データ入力部21には、命令フィー
ルドのオペランドAの入力データ2−1(例えば、オペ
ランドAで指定されたレジスタのデータ)、オペランド
Bの入力データ2−2(例えば、オペランドBで指定さ
れたレジスタのデータ)を備えている。
ルドのオペランドAの入力データ2−1(例えば、オペ
ランドAで指定されたレジスタのデータ)、オペランド
Bの入力データ2−2(例えば、オペランドBで指定さ
れたレジスタのデータ)を備えている。
【0108】更に演算器20には、デコーダ2−12
と、倍数発生器2−13と、桁上げ保存加算器2−14
と、桁上げ伝搬加算器2−15と、シフタ2−16と、
丸め回路2−22を備えており、演算結果2−23を得
るように構成されている。浮動小数点乗算演算命令に対
しては、次のようにして演算を実行する。
と、倍数発生器2−13と、桁上げ保存加算器2−14
と、桁上げ伝搬加算器2−15と、シフタ2−16と、
丸め回路2−22を備えており、演算結果2−23を得
るように構成されている。浮動小数点乗算演算命令に対
しては、次のようにして演算を実行する。
【0109】この場合、符号反転回路2−9、2−10
では、+反転ビット(a、bのいずれか)の値に従っ
て、+入力符号(g、hのいずれか)を反転/非反転処
理し、+出力符号(q、r)を出力する。。そして、オ
ペランドA、Bの各入力データ2−1、2−2(符号無
しデータ)の符号を、前記+出力符号(q、r)により
付加し、演算器20へ入力する。
では、+反転ビット(a、bのいずれか)の値に従っ
て、+入力符号(g、hのいずれか)を反転/非反転処
理し、+出力符号(q、r)を出力する。。そして、オ
ペランドA、Bの各入力データ2−1、2−2(符号無
しデータ)の符号を、前記+出力符号(q、r)により
付加し、演算器20へ入力する。
【0110】すなわち、符号反転回路2−9、2−10
で、対応する反転ビットが「1」の場合の+入力符号を
反転し、演算器20に入力する。演算器20は反転ビッ
トに制御されることなく、命令コードに従って通常の演
算(従来例と同じ演算)が行われる。
で、対応する反転ビットが「1」の場合の+入力符号を
反転し、演算器20に入力する。演算器20は反転ビッ
トに制御されることなく、命令コードに従って通常の演
算(従来例と同じ演算)が行われる。
【0111】例えば、オペランドAのデータに対する反
転ビットが1になっていたら、符号反転回路2−10で
は、オペランドAのデータの符号を反転して、演算器2
0に入力する。また、オペランドBのデータに対する反
転ビットが1になっていたら、符号反転回路2−9で
は、オペランドBのデータの符号を反転して、演算器2
0に入力する。この処理により、演算器では従来例と同
じ演算を行い、演算結果2−23を得る。
転ビットが1になっていたら、符号反転回路2−10で
は、オペランドAのデータの符号を反転して、演算器2
0に入力する。また、オペランドBのデータに対する反
転ビットが1になっていたら、符号反転回路2−9で
は、オペランドBのデータの符号を反転して、演算器2
0に入力する。この処理により、演算器では従来例と同
じ演算を行い、演算結果2−23を得る。
【0112】§5:例3の説明・・・図8参照 図8は浮動小数点加算演算装置を示した図である。な
お、図では浮動小数点加算演算に必要な構成のみを図示
してある。例3は、浮動小数点加算演算装置の例であ
り、演算器20と、符号反転回路3−9、3−10と、
データ入力部21と、制御データ入力部22を備えてい
る。そして、制御データ入力部22には、反転ビットa
の入力部3−5と、反転ビットbの入力部3−6を備え
ている。
お、図では浮動小数点加算演算に必要な構成のみを図示
してある。例3は、浮動小数点加算演算装置の例であ
り、演算器20と、符号反転回路3−9、3−10と、
データ入力部21と、制御データ入力部22を備えてい
る。そして、制御データ入力部22には、反転ビットa
の入力部3−5と、反転ビットbの入力部3−6を備え
ている。
【0113】また、データ入力部21には、命令フィー
ルドのオペランドAの入力データ3−1(オペランドA
で指定されたレジスタのデータ)、オペランドBの入力
データ3−2(オペランドBで指定されたレジスタのデ
ータ)を備えている。
ルドのオペランドAの入力データ3−1(オペランドA
で指定されたレジスタのデータ)、オペランドBの入力
データ3−2(オペランドBで指定されたレジスタのデ
ータ)を備えている。
【0114】更に演算器20には、シフタ3−16、3
−17、3−21と、桁上げ伝搬加算器3−19と、反
転回路3−18、3−20と、丸め回路3−22を備え
ており、演算結果3−23を得るように構成されてい
る。
−17、3−21と、桁上げ伝搬加算器3−19と、反
転回路3−18、3−20と、丸め回路3−22を備え
ており、演算結果3−23を得るように構成されてい
る。
【0115】浮動小数点加算演算命令に対しては、次の
ようにして演算を実行する。この場合、符号反転回路3
−9、3−10では、+反転ビット(a、bのいずれ
か)の値に従って、+入力符号(g、hのいずれか)を
反転/非反転処理し、+出力符号(q、r)を出力す
る。。そして、オペランドA、Bの各入力データ3−
1、3−2(符号無しデータ)の符号を、+出力符号
(q、r)により付加し、演算器20へ入力する。
ようにして演算を実行する。この場合、符号反転回路3
−9、3−10では、+反転ビット(a、bのいずれ
か)の値に従って、+入力符号(g、hのいずれか)を
反転/非反転処理し、+出力符号(q、r)を出力す
る。。そして、オペランドA、Bの各入力データ3−
1、3−2(符号無しデータ)の符号を、+出力符号
(q、r)により付加し、演算器20へ入力する。
【0116】すなわち、符号反転回路3−9、3−10
で、対応する反転ビットが「1」の場合の符号を反転
し、演算器20に入力する。演算器20は反転ビットに
制御されることなく、命令コードに従って通常の演算
(従来例と同じ演算)が行われる。
で、対応する反転ビットが「1」の場合の符号を反転
し、演算器20に入力する。演算器20は反転ビットに
制御されることなく、命令コードに従って通常の演算
(従来例と同じ演算)が行われる。
【0117】§6:例4の説明・・・図9参照 図9は固定少数点乗算演算装置を示した図である。な
お、図では固定少数点乗算演算に必要な構成のみを図示
してある。例4は、固定少数点乗算演算装置の例であ
り、演算器20と、データ入力部21と、制御データ入
力部22と、演算制御回路5−11を備えている。
お、図では固定少数点乗算演算に必要な構成のみを図示
してある。例4は、固定少数点乗算演算装置の例であ
り、演算器20と、データ入力部21と、制御データ入
力部22と、演算制御回路5−11を備えている。
【0118】そして、データ入力部21には、オペラン
ドAの入力データ4−1と、オペランドBの入力データ
4−2を備え、制御データ入力部22には、反転ビット
aの入力部4−5と、反転ビットbの入力部4−6と、
命令コード制御部4−4を備えている。更に演算器20
には、デコーダ4−12と、倍数発生器4−13と、桁
上げ保存加算器4−14と、桁上げ伝搬加算器4−15
と、反転回路4−20と、丸め回路4−22を備えてお
り、演算結果4−23を得るように構成されている。
ドAの入力データ4−1と、オペランドBの入力データ
4−2を備え、制御データ入力部22には、反転ビット
aの入力部4−5と、反転ビットbの入力部4−6と、
命令コード制御部4−4を備えている。更に演算器20
には、デコーダ4−12と、倍数発生器4−13と、桁
上げ保存加算器4−14と、桁上げ伝搬加算器4−15
と、反転回路4−20と、丸め回路4−22を備えてお
り、演算結果4−23を得るように構成されている。
【0119】固定少数点乗算演算命令に対しては、次の
ようにして演算を実行する。固定少数点乗算演算の場
合、+固定少数点演算命令の命令コードf=1となり、
演算制御回路1−11は、前記f=1の信号と、各反転
ビットの入力データa、bが入力する。そして、演算制
御回路1−11では前記入力信号を基に演算制御信号C
2を作成する。
ようにして演算を実行する。固定少数点乗算演算の場
合、+固定少数点演算命令の命令コードf=1となり、
演算制御回路1−11は、前記f=1の信号と、各反転
ビットの入力データa、bが入力する。そして、演算制
御回路1−11では前記入力信号を基に演算制御信号C
2を作成する。
【0120】この時、演算制御回路1−11では、符号
反転ビットa、bと、命令コードfの組み合わせにより
生成した制御信号C2で演算器20の各部を制御する。
この時、反転回路4−20と、丸め回路4−22が、演
算制御信号C2により演算操作を制御される。
反転ビットa、bと、命令コードfの組み合わせにより
生成した制御信号C2で演算器20の各部を制御する。
この時、反転回路4−20と、丸め回路4−22が、演
算制御信号C2により演算操作を制御される。
【0121】反転回路4−20は、制御信号C2が
「1」であるとビット反転を行い、「0」であると、ビ
ット反転は行わずにそのままデータを出力する。丸め回
路4−22は、制御信号C2が「1」であると、+1を
行い、「0」であると+1は行わない。
「1」であるとビット反転を行い、「0」であると、ビ
ット反転は行わずにそのままデータを出力する。丸め回
路4−22は、制御信号C2が「1」であると、+1を
行い、「0」であると+1は行わない。
【0122】§7:例5の説明・・・図10参照 図10は固定少数点加算演算装置を示した図である。な
お、図では固定少数点加算演算に必要な構成のみを図示
してある。例5は、固定少数点加算演算装置の例であ
り、演算器20と、データ入力部21と、制御データ入
力部22と、演算制御回路5−11を備えている。
お、図では固定少数点加算演算に必要な構成のみを図示
してある。例5は、固定少数点加算演算装置の例であ
り、演算器20と、データ入力部21と、制御データ入
力部22と、演算制御回路5−11を備えている。
【0123】そして、データ入力部21には、オペラン
ドAの入力データ5−1と、オペランドBの入力データ
5−2を備え、制御データ入力部22には、反転ビット
aの入力部5−5と、反転ビットの入力部5−6と、命
令コード制御部5−4を備えている。更に演算器20に
は、反転回路5−18、5−20と、桁上げ伝搬加算器
5−19と、丸め回路5−22を備えており、演算結果
5−23を得るように構成されている。
ドAの入力データ5−1と、オペランドBの入力データ
5−2を備え、制御データ入力部22には、反転ビット
aの入力部5−5と、反転ビットの入力部5−6と、命
令コード制御部5−4を備えている。更に演算器20に
は、反転回路5−18、5−20と、桁上げ伝搬加算器
5−19と、丸め回路5−22を備えており、演算結果
5−23を得るように構成されている。
【0124】固定少数点加算演算命令に対しては、次の
ようにして演算を実行する。固定少数点加算演算の場
合、+固定少数点演算命令の命令コードf=1となり、
演算制御回路5−11は、前記f=1の信号と、各反転
ビットa、bが入力する。そして、演算制御回路5−1
1では、前記入力信号(制御データ)を基に、演算制御
信号C1、C2を作成する。
ようにして演算を実行する。固定少数点加算演算の場
合、+固定少数点演算命令の命令コードf=1となり、
演算制御回路5−11は、前記f=1の信号と、各反転
ビットa、bが入力する。そして、演算制御回路5−1
1では、前記入力信号(制御データ)を基に、演算制御
信号C1、C2を作成する。
【0125】この時、演算制御回路5−11では、符号
反転ビットa、bと、命令コードfの組み合わせにより
生成した演算制御信号C1、C2で演算器20の各部の
演算操作を制御する。この時、反転回路5−18と、桁
上げ伝搬加算器5−19が演算制御信号C1で制御さ
れ、反転回路5−20と、丸め回路5−22が、演算制
御信号C2により制御される。
反転ビットa、bと、命令コードfの組み合わせにより
生成した演算制御信号C1、C2で演算器20の各部の
演算操作を制御する。この時、反転回路5−18と、桁
上げ伝搬加算器5−19が演算制御信号C1で制御さ
れ、反転回路5−20と、丸め回路5−22が、演算制
御信号C2により制御される。
【0126】この場合、反転回路5−18、5−20
は、演算制御信号C1、C2が「1」であるとビット反
転を行い、「0」であると、ビット反転は行わずにその
ままデータを出力する。桁上げ伝搬加算器5−19と丸
め回路5−22は、前記演算制御信号C1、C2が
「1」であると、+1を行い、「0」であると+1は行
わない。
は、演算制御信号C1、C2が「1」であるとビット反
転を行い、「0」であると、ビット反転は行わずにその
ままデータを出力する。桁上げ伝搬加算器5−19と丸
め回路5−22は、前記演算制御信号C1、C2が
「1」であると、+1を行い、「0」であると+1は行
わない。
【0127】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1) :ほんの僅かな物量の追加(演算制御回路、符号反
転回路等の追加)と、数ビットの制御ビット(反転ビッ
ト)を追加するだけで、演算式によっては、演算命令数
を従来より減らすことができる。従って、従来より演算
速度を速くすることができる。
のような効果がある。 (1) :ほんの僅かな物量の追加(演算制御回路、符号反
転回路等の追加)と、数ビットの制御ビット(反転ビッ
ト)を追加するだけで、演算式によっては、演算命令数
を従来より減らすことができる。従って、従来より演算
速度を速くすることができる。
【0128】(2) :演算式によっては、前処理データや
中間結果を記憶、又は保持しなくても良い場合があるた
め、レジスタやメモリの使用量を減らすことができる。 (3) :プロセッサが解釈する命令の種類を減らすことが
できる。命令解釈回路の簡単化、又は減らした命令の場
所に新規命令を割り当てることができ、プロセッサの高
機能化が可能になる。
中間結果を記憶、又は保持しなくても良い場合があるた
め、レジスタやメモリの使用量を減らすことができる。 (3) :プロセッサが解釈する命令の種類を減らすことが
できる。命令解釈回路の簡単化、又は減らした命令の場
所に新規命令を割り当てることができ、プロセッサの高
機能化が可能になる。
【0129】(4) :ベクトルプロセッサにおいて、スカ
ラオペランド対ベクトルオペランド、ベクトルオペラン
ド対スカラオペランドなどのオペランドの組み合わせに
柔軟に対応できる。
ラオペランド対ベクトルオペランド、ベクトルオペラン
ド対スカラオペランドなどのオペランドの組み合わせに
柔軟に対応できる。
【図1】本発明の原理説明図である。
【図2】実施の形態における命令フィールドの説明図で
ある。
ある。
【図3】実施の形態における浮動/固定少数点乗加算演
算装置を示した図である。
算装置を示した図である。
【図4】図3の一部拡大図である。
【図5】各部の説明図である。
【図6】実施の形態における演算処理フローチャートで
ある。
ある。
【図7】実施の形態における浮動小数点乗算演算装置を
示した図である。
示した図である。
【図8】実施の形態における浮動小数点加算演算装置を
示した図である。
示した図である。
【図9】実施の形態における固定少数点乗算演算装置を
示した図である。
示した図である。
【図10】実施の形態における固定少数点加算演算装置
を示した図である。
を示した図である。
【図11】従来の命令フィールド説明図である。
【図12】従来の浮動小数点乗加算演算装置を示した図
である。
である。
【図13】従来の浮動小数点乗算演算装置を示した図で
ある。
ある。
【図14】従来の浮動小数点加算演算装置を示した図で
ある。
ある。
【図15】従来の固定小数点乗加算演算装置を示した図
である。
である。
【図16】従来の固定小数点乗算演算装置を示した図で
ある。
ある。
【図17】従来の固定小数点加算演算装置を示した図で
ある。
ある。
20 演算器 21 データ入力部 22 制御データ入力部 25、29、30 AND回路 26、27、28 EX−OR回路 1−1〜12−1 オペランドAの入力データ 1−2〜12−2 オペランドBの入力データ 1−3〜10−3 オペランドCの入力データ 1−4〜5−4 命令コード制御部 1−8、1−9〜3−9、1−10〜3−10 符号反
転回路 1−11〜5−11 演算制御回路
転回路 1−11〜5−11 演算制御回路
Claims (8)
- 【請求項1】少なくとも、命令を逐次解釈し演算装置に
より演算命令を実行するプロセッサにおいて、 演算命令のフィールド中に、個々のオペランドにそれぞ
れ対応して反転ビットを設け、前記反転ビットを演算装
置の制御データとして入力し、前記反転ビットがビット
反転を指示する値であれば、前記演算装置により、その
ビットに対応するオペランドの値を(−1)倍した値と
して演算を実行することを特徴とした演算実行方法。 - 【請求項2】前記演算命令が浮動小数点演算命令で、入
力オペランドに対応する反転ビットがビット反転を指示
する値の場合、前記演算装置により、そのビットに対応
するオペランドの符号ビットを反転してから演算を実行
することを特徴とした請求項1記載の演算実行方法。 - 【請求項3】前記演算命令が固定小数点演算命令の場
合、入力オペランドに対応する反転ビットと演算命令コ
ードを組み合わせて演算制御信号を作成し、この演算制
御信号で演算装置の演算操作を制御し、演算を実行する
ことを特徴とした請求項1記載の演算実行方法。 - 【請求項4】前記演算命令が減算命令の場合、前記演算
装置により、減算命令を加算命令として実行することを
特徴とした請求項1記載の演算実行方法。 - 【請求項5】演算命令のフィールド中に、個々のオペラ
ンドにそれぞれ対応して、各オペランドの符号ビットの
反転/非反転を指示する反転ビットを設けると共に、少
なくとも、浮動小数点演算器を備え、演算命令を逐次解
釈し実行するプロセッサの演算装置であって、 前記反転ビットを制御データとして入力する制御データ
入力部と、前記反転ビットのそれぞれに対応させた符号
反転回路を設け、前記符号反転回路は、それぞれ浮動小
数点データの符号ビットと、対応する反転ビットを入力
し、前記反転ビットの指示に従って前記符号ビットを反
転/非反転処理し、その出力が浮動小数点演算器のオペ
ランド入力となるように構成したことを特徴とする演算
装置。 - 【請求項6】演算命令のフィールド中に、個々のオペラ
ンドにそれぞれ対応して、各オペランドの符号ビットの
反転/非反転を指示する反転ビットを設けると共に、少
なくとも、固定小数点演算器を備え、演算命令を逐次解
釈し実行するプロセッサの演算装置であって、 前記反転ビット及び演算命令コードを制御データとして
入力する制御データ入力部と、演算制御回路を設け、か
つ、前記固定小数点演算器に補数変換回路を設け、 前記演算制御回路は、前記反転ビット及び演算命令コー
ドを入力して演算制御信号を生成し、前記演算制御信号
で固定小数点演算器の演算操作を制御する構成とし、前
記補数変換回路は、固定小数点演算器の出力と演算制御
回路からの補数変換用の演算制御信号を入力して補数変
換を行う構成としたことを特徴とする演算装置。 - 【請求項7】演算命令のフィールド中に、個々のオペラ
ンドにそれぞれ対応して、各オペランドの符号ビットの
反転/非反転を指示する反転ビットを設けると共に、少
なくとも、固定小数点演算及び浮動小数点演算の両方を
実行する演算器を備え、演算命令を逐次解釈し実行する
プロセッサの演算装置であって、 前記反転ビット及び命令コードを制御データとして入力
する制御データ入力部と、前記反転ビットのそれぞれに
対応させた符号反転回路と、演算制御回路を設け、か
つ、前記演算器に補数変換回路を設け、 前記符号反転回路は、浮動小数点データの符号ビット
と、対応する反転ビットと、演算命令コードを入力し、
前記反転ビットの指示に従って符号ビットを反転/非反
転処理し、その出力が演算器のオペランド入力となる構
成とし、 前記演算制御回路は、前記反転ビット及び演算命令コー
ドを入力して演算制御信号を生成し、その演算制御信号
で演算器の演算操作を制御する構成とし、 前記補数変換回路は、前記演算器の出力と、前記演算制
御回路からの補数変換用の演算制御信号を入力して補数
変換を行う構成としたことを特徴とする演算装置。 - 【請求項8】前記補数変換回路は、浮動小数点演算器で
必要な既存のビット反転回路、及び丸め回路と共用化し
たことを特徴とした請求項7記載の演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22797296A JP3462670B2 (ja) | 1996-08-29 | 1996-08-29 | 演算実行方法及び演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22797296A JP3462670B2 (ja) | 1996-08-29 | 1996-08-29 | 演算実行方法及び演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1069372A true JPH1069372A (ja) | 1998-03-10 |
JP3462670B2 JP3462670B2 (ja) | 2003-11-05 |
Family
ID=16869150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22797296A Expired - Fee Related JP3462670B2 (ja) | 1996-08-29 | 1996-08-29 | 演算実行方法及び演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3462670B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011096254A (ja) * | 2009-10-30 | 2011-05-12 | Arm Ltd | 乗累算演算を実行するための装置および方法 |
-
1996
- 1996-08-29 JP JP22797296A patent/JP3462670B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011096254A (ja) * | 2009-10-30 | 2011-05-12 | Arm Ltd | 乗累算演算を実行するための装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3462670B2 (ja) | 2003-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6742012B2 (en) | Apparatus and method for performing multiplication operations | |
US6099158A (en) | Apparatus and methods for execution of computer instructions | |
US5991785A (en) | Determining an extremum value and its index in an array using a dual-accumulation processor | |
JP3479438B2 (ja) | 乗算回路 | |
US6904446B2 (en) | Floating point multiplier/accumulator with reduced latency and method thereof | |
JP3667635B2 (ja) | 演算装置 | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
JPH0863353A (ja) | 掛け算累算命令を使用したデータ処理 | |
JP2000076047A (ja) | 浮動小数点乗算累算ユニット | |
JP3139466B2 (ja) | 乗算器及び積和演算器 | |
JP2006146644A (ja) | プロセッサ | |
JP3479385B2 (ja) | 情報処理装置 | |
JP3537378B2 (ja) | 加算器および集積回路 | |
JPH07234778A (ja) | 演算回路 | |
US7260711B2 (en) | Single instruction multiple data processing allowing the combination of portions of two data words with a single pack instruction | |
US6202078B1 (en) | Arithmetic circuit using a booth algorithm | |
JPH09231201A (ja) | 浮動小数点乗算累算装置 | |
JP3462670B2 (ja) | 演算実行方法及び演算装置 | |
JP3462054B2 (ja) | 並列加減算回路 | |
US20030233384A1 (en) | Arithmetic apparatus for performing high speed multiplication and addition operations | |
JP3252954B2 (ja) | 乗算方法および乗算回路 | |
EP2296093A2 (en) | DSP execution unit for efficient alternate modes of operation | |
JP2765516B2 (ja) | 積和演算器 | |
JP3336986B2 (ja) | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 | |
JPH1049348A (ja) | 整数乗算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080815 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |