JP3256251B2 - 乗算器 - Google Patents
乗算器Info
- Publication number
- JP3256251B2 JP3256251B2 JP32320591A JP32320591A JP3256251B2 JP 3256251 B2 JP3256251 B2 JP 3256251B2 JP 32320591 A JP32320591 A JP 32320591A JP 32320591 A JP32320591 A JP 32320591A JP 3256251 B2 JP3256251 B2 JP 3256251B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- register
- output
- bit
- multiplier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
-
- 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/49—Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix non-linear PCM
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明は、画像処理や通信の信号
処理及びレ−ザプリンタのフォント加工等に用いること
ができる乗算器に関する。
処理及びレ−ザプリンタのフォント加工等に用いること
ができる乗算器に関する。
【0002】
【従来の技術】一般に、乗算器は計算機の算術論理演算
器の1種類であり、乗算を専用に行う回路をいう。ここ
で、乗算とは被乗数と乗数の一部分(1または複数ビッ
ト)の積として得られる部分積の形成及びこれら形成さ
れた部分積の加算を称する。
器の1種類であり、乗算を専用に行う回路をいう。ここ
で、乗算とは被乗数と乗数の一部分(1または複数ビッ
ト)の積として得られる部分積の形成及びこれら形成さ
れた部分積の加算を称する。
【0003】乗算は、最近の計算機では標準機能として
組み込まれており、演算性能を向上させるために種々の
方法によって高速化が実現されている。
組み込まれており、演算性能を向上させるために種々の
方法によって高速化が実現されている。
【0004】上記高速化の方法としては、部分積の生成
機構の数を減少させかつ個々の機構を単純な構成にした
ブ−スの方法や、部分積の加算を可能な限り並列化して
加算時間を縮小したウォリスのトリ−による方法が知ら
れている。
機構の数を減少させかつ個々の機構を単純な構成にした
ブ−スの方法や、部分積の加算を可能な限り並列化して
加算時間を縮小したウォリスのトリ−による方法が知ら
れている。
【0005】更に、超大規模集積回路(VLSI)に適
用される方法として、基本回路を規則的2次元アレイ状
に配列して構成した方法があり、この方法を利用した乗
算器としてはアレイ乗算器が知られている。
用される方法として、基本回路を規則的2次元アレイ状
に配列して構成した方法があり、この方法を利用した乗
算器としてはアレイ乗算器が知られている。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た従来の乗算方法では、理論的に時間的余裕度を作り出
して、高速で乗算を安定して行うことができないという
問題点があった。
た従来の乗算方法では、理論的に時間的余裕度を作り出
して、高速で乗算を安定して行うことができないという
問題点があった。
【0007】
【0008】本発明は、上述した従来の乗算方法におけ
る問題点に鑑み、高速で乗算を安定して行うことができ
る乗算器を提供する。
る問題点に鑑み、高速で乗算を安定して行うことができ
る乗算器を提供する。
【0009】
【課題を解決するための手段】本発明の乗算器は、記憶
されているデータをシフトして当該シフトされたデータ
を出力するレジスタ変換手段と、第1データを4値論理
に対応したデータ単位で出力する複数の第1データ出力
手段と、前記レジスタ変換手段及び前記第1データ出力
手段に接続されており、該レジスタ変換手段からの出力
及び該第1データ出力手段からの出力を前記4値論理に
対応したデータ単位で乗算する複数の乗算手段と、第2
データを前記4値論理に対応したデータ単位で出力する
複数の第2データ出力手段と、前記乗算手段に接続され
ており、該乗算手段からの出力、前記第2データ出力手
段からの出力、並びに特定の入力を前記4値論理に対応
したデータ単位で加算して隣接して配置された他の該第
2データ出力手段に出力する複数の加算手段であって、
前記特定の入力は、それぞれ、下位の加算手段からのキ
ャリー出力である複数の加算手段とを備えており、前記
複数の加算手段のうち最端に配置された該加算手段は、
前記乗算手段からの出力及び前記特定の入力を加算して
隣接して配置された前記第2データ出力手段に出力し、
前記複数の加算手段のうち他方の最端に配置された該加
算手段より乗算結果が出力されることを特徴とするもの
である。
されているデータをシフトして当該シフトされたデータ
を出力するレジスタ変換手段と、第1データを4値論理
に対応したデータ単位で出力する複数の第1データ出力
手段と、前記レジスタ変換手段及び前記第1データ出力
手段に接続されており、該レジスタ変換手段からの出力
及び該第1データ出力手段からの出力を前記4値論理に
対応したデータ単位で乗算する複数の乗算手段と、第2
データを前記4値論理に対応したデータ単位で出力する
複数の第2データ出力手段と、前記乗算手段に接続され
ており、該乗算手段からの出力、前記第2データ出力手
段からの出力、並びに特定の入力を前記4値論理に対応
したデータ単位で加算して隣接して配置された他の該第
2データ出力手段に出力する複数の加算手段であって、
前記特定の入力は、それぞれ、下位の加算手段からのキ
ャリー出力である複数の加算手段とを備えており、前記
複数の加算手段のうち最端に配置された該加算手段は、
前記乗算手段からの出力及び前記特定の入力を加算して
隣接して配置された前記第2データ出力手段に出力し、
前記複数の加算手段のうち他方の最端に配置された該加
算手段より乗算結果が出力されることを特徴とするもの
である。
【0010】
【0011】
【0012】
【作用】本発明の乗算器では、レジスタ変換手段は記憶
されているデータをシフトしてシフトしたデータを出力
し、複数の第1データ出力手段は第1データを4値論理
に対応したデータ単位で出力し、複数の乗算手段はレジ
スタ変換手段及び第1データ出力手段に接続されてお
り、レジスタ変換手段からの出力及び第1データ出力手
段からの出力を4値論理に対応したデータ単位で乗算
し、複数の第2データ出力手段は第2データを4値論理
に対応したデータ単位で出力し、複数の加算手段は乗算
手段に接続されており、乗算手段からの出力、第2デー
タ出力手段からの出力、並びに特定の入力(それぞれ、
下位の加算手段からのキャリー出力)を4値論理に対応
したデータ単位で加算して隣接して配置された他の第2
データ出力手段に出力し,複数の加算手段のうち最端に
配置された加算手段は、乗算手段からの出力及び特定の
入力を加算して隣接して配置された第2データ出力手段
に出力し、複数の加算手段のうち他方の最端に配置され
た加算手段より乗算結果を出力する。
されているデータをシフトしてシフトしたデータを出力
し、複数の第1データ出力手段は第1データを4値論理
に対応したデータ単位で出力し、複数の乗算手段はレジ
スタ変換手段及び第1データ出力手段に接続されてお
り、レジスタ変換手段からの出力及び第1データ出力手
段からの出力を4値論理に対応したデータ単位で乗算
し、複数の第2データ出力手段は第2データを4値論理
に対応したデータ単位で出力し、複数の加算手段は乗算
手段に接続されており、乗算手段からの出力、第2デー
タ出力手段からの出力、並びに特定の入力(それぞれ、
下位の加算手段からのキャリー出力)を4値論理に対応
したデータ単位で加算して隣接して配置された他の第2
データ出力手段に出力し,複数の加算手段のうち最端に
配置された加算手段は、乗算手段からの出力及び特定の
入力を加算して隣接して配置された第2データ出力手段
に出力し、複数の加算手段のうち他方の最端に配置され
た加算手段より乗算結果を出力する。
【0013】
【0014】
【実施例】以下、図面を参照して本発明の乗算器の実施
例を詳述する。
例を詳述する。
【0015】図1は、本発明に関連する2ビット並列直
列型乗算器(以下、乗算器と称する)の構成を示すブロ
ック図である。
列型乗算器(以下、乗算器と称する)の構成を示すブロ
ック図である。
【0016】図1の乗算器は、Xレジスタ11、Yレジス
タ12、Yレジスタ12に接続されたAND回路素子13を含
むレジスタ手段であるレジスタ回路RC、Xレジスタ11
及びYレジスタ12に接続された乗算手段である乗算回路
14、乗算回路14に接続された加算手段である加算回路1
5、加算回路15に接続された第1レジスタであるWレジ
スタ16、Wレジスタ16に接続された第1シフト手段であ
るAND回路素子17、Wレジスタ16に接続された第2シ
フト手段であるAND回路素子18、AND回路素子18に
接続された第2レジスタであるW´レジスタ19、W´レ
ジスタ19に接続された第3シフト手段であるAND回路
素子20によって構成されている。
タ12、Yレジスタ12に接続されたAND回路素子13を含
むレジスタ手段であるレジスタ回路RC、Xレジスタ11
及びYレジスタ12に接続された乗算手段である乗算回路
14、乗算回路14に接続された加算手段である加算回路1
5、加算回路15に接続された第1レジスタであるWレジ
スタ16、Wレジスタ16に接続された第1シフト手段であ
るAND回路素子17、Wレジスタ16に接続された第2シ
フト手段であるAND回路素子18、AND回路素子18に
接続された第2レジスタであるW´レジスタ19、W´レ
ジスタ19に接続された第3シフト手段であるAND回路
素子20によって構成されている。
【0017】次に、図1の乗算器の動作を説明する。
【0018】図1の構成では、2ビット並列に乗算と加
算が時間t2i-1(i=1,2,3……,n)毎に行なわ
れるので、時間t2iにおいては、時間的余裕度φを作り
出すことができる。即ち、2φに1回だけ乗算と加算を
実行すればよい。
算が時間t2i-1(i=1,2,3……,n)毎に行なわ
れるので、時間t2iにおいては、時間的余裕度φを作り
出すことができる。即ち、2φに1回だけ乗算と加算を
実行すればよい。
【0019】直列型乗算を高速で実行するとき、乗算時
間が変ることなく安定な乗算が可能になる。Yレジスタ
12の各ビットは、Xレジスタ11の内容と乗算される間、
常に保持されており、乗算回路14によってXレジスタ11
の内容とYレジスタ12の内容が乗算された結果は、加算
回路15を介してWレジスタ16に入力される。
間が変ることなく安定な乗算が可能になる。Yレジスタ
12の各ビットは、Xレジスタ11の内容と乗算される間、
常に保持されており、乗算回路14によってXレジスタ11
の内容とYレジスタ12の内容が乗算された結果は、加算
回路15を介してWレジスタ16に入力される。
【0020】2ビット並列で行なわれる乗算と加算が終
了する毎に、Yレジスタ12は、AND回路素子13に入力
される右シフト命令によって2ビット右シフトされて、
同時にWレジスタ16は、AND回路素子17に入力される
右シフト命令により、また、W´レジスタ19はAND回
路素子20に入力される右シフト命令によってそれぞれ1
ビットシフトされる。
了する毎に、Yレジスタ12は、AND回路素子13に入力
される右シフト命令によって2ビット右シフトされて、
同時にWレジスタ16は、AND回路素子17に入力される
右シフト命令により、また、W´レジスタ19はAND回
路素子20に入力される右シフト命令によってそれぞれ1
ビットシフトされる。
【0021】上述のした動作が、n回行なわれて、Xレ
ジスタ11の内容とYレジスタ12の内容とが乗算された結
果は、Wレジスタ16とW´レジスタ19に格納されて、一
連の乗算が完了する。
ジスタ11の内容とYレジスタ12の内容とが乗算された結
果は、Wレジスタ16とW´レジスタ19に格納されて、一
連の乗算が完了する。
【0022】図2は、本発明に関連する完全2ビット並
列直列型乗算器(以下、乗算器と称する)の構成を示す
ブロック図である。
列直列型乗算器(以下、乗算器と称する)の構成を示す
ブロック図である。
【0023】図2の乗算器は、図1の乗算器とレジスタ
回路の構成が異なり、他の構成は基本的に同じである。
回路の構成が異なり、他の構成は基本的に同じである。
【0024】図2の乗算器は、Xレジスタ21、Xレジス
タ21に接続されたAND回路素子22,23、AND回路素
子22に接続されたOR回路素子24、AND回路素子23に
接続されたOR回路素子25、OR回路素子24に接続され
たAND回路素子26、OR回路素子25に接続されたAN
D回路素子27、OR回路素子24に接続されたXOレジス
タ28、OR回路素子25に接続されたXEレジスタ29、Y
レジスタ30、Yレジスタ30に接続されたAND回路素子
31,32、AND回路素子31に接続されたOR回路素子3
3、AND回路素子32に接続されたOR回路素子34、O
R回路素子33に接続されたAND回路素子35、OR回路
素子34に接続されたAND回路素子36、OR回路素子33
に接続されたYOレジスタ37、OR回路素子34に接続さ
れたYEレジスタ38、上記XOレジスタ28、XEレジス
タ29、YOレジスタ37、及びYEレジスタ38に接続され
た乗算回路39、乗算回路39に接続された加算回路40、加
算回路40に接続されたWレジスタ41、Wレジスタ41に接
続されたAND回路素子42,43、AND回路素子43に接
続されたW´レジスタ44、W´レジスタ44に接続された
AND回路素子45によって構成されている。
タ21に接続されたAND回路素子22,23、AND回路素
子22に接続されたOR回路素子24、AND回路素子23に
接続されたOR回路素子25、OR回路素子24に接続され
たAND回路素子26、OR回路素子25に接続されたAN
D回路素子27、OR回路素子24に接続されたXOレジス
タ28、OR回路素子25に接続されたXEレジスタ29、Y
レジスタ30、Yレジスタ30に接続されたAND回路素子
31,32、AND回路素子31に接続されたOR回路素子3
3、AND回路素子32に接続されたOR回路素子34、O
R回路素子33に接続されたAND回路素子35、OR回路
素子34に接続されたAND回路素子36、OR回路素子33
に接続されたYOレジスタ37、OR回路素子34に接続さ
れたYEレジスタ38、上記XOレジスタ28、XEレジス
タ29、YOレジスタ37、及びYEレジスタ38に接続され
た乗算回路39、乗算回路39に接続された加算回路40、加
算回路40に接続されたWレジスタ41、Wレジスタ41に接
続されたAND回路素子42,43、AND回路素子43に接
続されたW´レジスタ44、W´レジスタ44に接続された
AND回路素子45によって構成されている。
【0025】次に、図2の乗算器の動作を説明する。
【0026】2nビットからなるXレジスタ21は、奇数
ビット、偶数ビットのnビットからなる2つのレジス
タ、即ち、XOレジスタ28、XEレジスタ29に分離され
る。また、Yレジスタ30も同様に奇数ビット、偶数ビッ
トのnビットからなる2つのレジスタ、即ち、YOレジ
スタ37、YEレジスタ38に分離される。
ビット、偶数ビットのnビットからなる2つのレジス
タ、即ち、XOレジスタ28、XEレジスタ29に分離され
る。また、Yレジスタ30も同様に奇数ビット、偶数ビッ
トのnビットからなる2つのレジスタ、即ち、YOレジ
スタ37、YEレジスタ38に分離される。
【0027】そして、XOレジスタ28、XEレジスタ29
のシリアル出力X1 、X2 、及びYOレジスタ37、YE
レジスタ38のシリアル出力Y1 ,Y2 は、乗算回路39に
入力される。
のシリアル出力X1 、X2 、及びYOレジスタ37、YE
レジスタ38のシリアル出力Y1 ,Y2 は、乗算回路39に
入力される。
【0028】YOレジスタ37、YEレジスタ38の各ビッ
トは、XOレジスタ28、XEレジスタ29の内容と乗算さ
れる間、常に保持されており、レジスタ28、XEレジス
タ29の内容とYOレジスタ37、YEレジスタ38の内容と
が乗算された結果は、Wレジスタ41に入力される。完全
2ビット並列で行なわれる乗算と加算が終了する毎に、
YOレジスタ37、YEレジスタ38は、右シフト命令によ
って1ビット右シフトされて、同時にWレジスタ41、W
´レジスタ44もAND回路素子42,45にそれぞれ入力さ
れる右シフト命令によって1ビットシフトされる。
トは、XOレジスタ28、XEレジスタ29の内容と乗算さ
れる間、常に保持されており、レジスタ28、XEレジス
タ29の内容とYOレジスタ37、YEレジスタ38の内容と
が乗算された結果は、Wレジスタ41に入力される。完全
2ビット並列で行なわれる乗算と加算が終了する毎に、
YOレジスタ37、YEレジスタ38は、右シフト命令によ
って1ビット右シフトされて、同時にWレジスタ41、W
´レジスタ44もAND回路素子42,45にそれぞれ入力さ
れる右シフト命令によって1ビットシフトされる。
【0029】このようなことがn回行なわれて、Xレジ
スタ21の内容とYレジスタ30の内容とが乗算された結果
は、Wレジスタ41とW´レジスタ44に格納されて、一連
の乗算が完了する。
スタ21の内容とYレジスタ30の内容とが乗算された結果
は、Wレジスタ41とW´レジスタ44に格納されて、一連
の乗算が完了する。
【0030】図2の乗算器は、図1の乗算器と同じよう
な直列型乗算器であるが、図1の乗算器の1語長は2n
ビットなので乗算に要する時間が掛かるのに対して、図
2の乗算器では、1語長はnビットにできるので乗算に
要する時間が1/2 に短縮できる。
な直列型乗算器であるが、図1の乗算器の1語長は2n
ビットなので乗算に要する時間が掛かるのに対して、図
2の乗算器では、1語長はnビットにできるので乗算に
要する時間が1/2 に短縮できる。
【0031】図3は、本発明の乗算器の実施例である2
ビット単位全ビット並列型乗算器(以下、乗算器と称す
る)の構成を示すブロック図である。
ビット単位全ビット並列型乗算器(以下、乗算器と称す
る)の構成を示すブロック図である。
【0032】図3の乗算器は、Yレジスタ46、Yレジス
タ46に接続されたAND回路素子47,48、AND回路素
子47に接続されたOR回路素子49、AND回路素子48に
接続されたOR回路素子50、OR回路素子49に接続され
たAND回路素子51、OR回路素子50に接続されたAN
D回路素子52、OR回路素子49に接続されたYOレジス
タ51、OR回路素子50に接続されたYEレジスタ52を含
むレジスタ変換手段であるレジスタ回路RC、第1デ−
タであるX1 〜X2nを所定の方法に基づいて出力する複
数の第1デ−タ出力手段であるX1 ビット回路X1 〜X
2nビット回路X2n、レジスタ回路RC及びX1 ビット回
路X1 〜X2nビット回路X2nに接続されておりレジスタ
回路RCからの出力及びX1 ビット回路X1 〜X2nビッ
ト回路X2nからの出力を乗算する複数の乗算手段である
乗算回路M1 〜Mn 、第2デ−タであるW1 〜W2nを所
定の方法に基づいて出力する複数の第2デ−タ出力手段
であるW1 ビット回路W1 〜W2nビット回路W2n、乗算
回路M1 〜Mn に接続されており乗算回路M1 〜Mn か
らの出力、W3 ビット回路W3 〜W2nビット回路W2nか
らの出力、並びに特定の入力であるC´1 〜C´n-1
(下位の加算回路A1〜An−1からのキャリー出力)
を加算して隣接して配置された他の第2デ−タ出力手段
であるW1 ビット回路W1 〜W2nビット回路W2nに出力
する複数の加算手段である加算回路A1 〜An によって
構成されている。この乗算器よりの乗算結果出力は、W
1 ビット回路W1及びW2ビット回路W2より出力される
ものである。
タ46に接続されたAND回路素子47,48、AND回路素
子47に接続されたOR回路素子49、AND回路素子48に
接続されたOR回路素子50、OR回路素子49に接続され
たAND回路素子51、OR回路素子50に接続されたAN
D回路素子52、OR回路素子49に接続されたYOレジス
タ51、OR回路素子50に接続されたYEレジスタ52を含
むレジスタ変換手段であるレジスタ回路RC、第1デ−
タであるX1 〜X2nを所定の方法に基づいて出力する複
数の第1デ−タ出力手段であるX1 ビット回路X1 〜X
2nビット回路X2n、レジスタ回路RC及びX1 ビット回
路X1 〜X2nビット回路X2nに接続されておりレジスタ
回路RCからの出力及びX1 ビット回路X1 〜X2nビッ
ト回路X2nからの出力を乗算する複数の乗算手段である
乗算回路M1 〜Mn 、第2デ−タであるW1 〜W2nを所
定の方法に基づいて出力する複数の第2デ−タ出力手段
であるW1 ビット回路W1 〜W2nビット回路W2n、乗算
回路M1 〜Mn に接続されており乗算回路M1 〜Mn か
らの出力、W3 ビット回路W3 〜W2nビット回路W2nか
らの出力、並びに特定の入力であるC´1 〜C´n-1
(下位の加算回路A1〜An−1からのキャリー出力)
を加算して隣接して配置された他の第2デ−タ出力手段
であるW1 ビット回路W1 〜W2nビット回路W2nに出力
する複数の加算手段である加算回路A1 〜An によって
構成されている。この乗算器よりの乗算結果出力は、W
1 ビット回路W1及びW2ビット回路W2より出力される
ものである。
【0033】次に、上記各構成部分を説明する。
【0034】Yレジスタ46、Yレジスタ46に接続された
AND回路素子47,48、AND回路素子47に接続された
OR回路素子49、AND回路素子48に接続されたOR回
路素子50、OR回路素子49に接続されたAND回路素子
51、OR回路素子50に接続されたAND回路素子52、O
R回路素子49に接続されたYOレジスタ51、OR回路素
子50に接続されたYEレジスタ52、X1 ビット回路
X1 、X2 ビット回路X2 、YOレジスタ51及びYEレ
ジスタ52に接続された乗算回路M1 、X3 ビット回路X
3 、X4 ビット回路X4 、YOレジスタ51、YEレジス
タ52、及び乗算回路M1 に接続された乗算回路M2 、X
5 ビット回路X5 、X6 ビット回路X6 、YOレジスタ
51、YEレジスタ52、及び乗算回路M2 に接続された乗
算回路M3 、..、X2i-1ビット回路X2i-1、X2iビッ
ト回路X2i、YOレジスタ51、YEレジスタ52、及び乗
算回路Mi-1 に接続された乗算回路Mi 、..、X2n-3
ビット回路X2n-3、X2n-2ビット回路X2n-2、YOレジ
スタ51、YEレジスタ52、及び乗算回路Mn-2 に接続さ
れた乗算回路Mn-1 、X2n-1ビット回路X2n-1、X2nビ
ット回路X2n、YOレジスタ51、YEレジスタ52、及び
乗算回路Mn-1 に接続された乗算回路Mn 、W1 ビット
回路W1 、W2 ビット回路W2 、W3 ビット回路W3 、
W4 ビット回路W4 、及び乗算回路M1 に接続された加
算回路A1 、W3 ビット回路W3 、W4 ビット回路
W4 、W5 ビット回路W5 、W6 ビット回路W6 、及び
乗算回路M2 に接続された加算回路A2 、W5 ビット回
路W5 、W6 ビット回路W6 、W7 ビット回路W7 、W
8 ビット回路W8 、及び乗算回路M3 に接続された加算
回路A3 、..、W2iビット回路W2i、W2i-1ビット回
路W2i-1、W2i+2ビット回路W2i+2、W2i+1ビット回路
W2i+1、及び乗算回路Mi に接続された加算回路
Ai 、..、W2n-2ビット回路W2n-2、W2n-3ビット回
路W2n-3、W2nビット回路W2n、W2n-1ビット回路W
2n-1、及び乗算回路Mn-1 に接続された加算回路
An-1 、W2nビット回路W2n、W2n-1ビット回路
W2n-1、及び乗算回路Mn に接続された加算回路An に
よって構成されている。
AND回路素子47,48、AND回路素子47に接続された
OR回路素子49、AND回路素子48に接続されたOR回
路素子50、OR回路素子49に接続されたAND回路素子
51、OR回路素子50に接続されたAND回路素子52、O
R回路素子49に接続されたYOレジスタ51、OR回路素
子50に接続されたYEレジスタ52、X1 ビット回路
X1 、X2 ビット回路X2 、YOレジスタ51及びYEレ
ジスタ52に接続された乗算回路M1 、X3 ビット回路X
3 、X4 ビット回路X4 、YOレジスタ51、YEレジス
タ52、及び乗算回路M1 に接続された乗算回路M2 、X
5 ビット回路X5 、X6 ビット回路X6 、YOレジスタ
51、YEレジスタ52、及び乗算回路M2 に接続された乗
算回路M3 、..、X2i-1ビット回路X2i-1、X2iビッ
ト回路X2i、YOレジスタ51、YEレジスタ52、及び乗
算回路Mi-1 に接続された乗算回路Mi 、..、X2n-3
ビット回路X2n-3、X2n-2ビット回路X2n-2、YOレジ
スタ51、YEレジスタ52、及び乗算回路Mn-2 に接続さ
れた乗算回路Mn-1 、X2n-1ビット回路X2n-1、X2nビ
ット回路X2n、YOレジスタ51、YEレジスタ52、及び
乗算回路Mn-1 に接続された乗算回路Mn 、W1 ビット
回路W1 、W2 ビット回路W2 、W3 ビット回路W3 、
W4 ビット回路W4 、及び乗算回路M1 に接続された加
算回路A1 、W3 ビット回路W3 、W4 ビット回路
W4 、W5 ビット回路W5 、W6 ビット回路W6 、及び
乗算回路M2 に接続された加算回路A2 、W5 ビット回
路W5 、W6 ビット回路W6 、W7 ビット回路W7 、W
8 ビット回路W8 、及び乗算回路M3 に接続された加算
回路A3 、..、W2iビット回路W2i、W2i-1ビット回
路W2i-1、W2i+2ビット回路W2i+2、W2i+1ビット回路
W2i+1、及び乗算回路Mi に接続された加算回路
Ai 、..、W2n-2ビット回路W2n-2、W2n-3ビット回
路W2n-3、W2nビット回路W2n、W2n-1ビット回路W
2n-1、及び乗算回路Mn-1 に接続された加算回路
An-1 、W2nビット回路W2n、W2n-1ビット回路
W2n-1、及び乗算回路Mn に接続された加算回路An に
よって構成されている。
【0035】上述した各ビット回路は、図4に示すよう
に、1ビットの遅延回路であるD型フリップフロップ
(以下、D回路と称する)53、D回路53に接続されたO
R回路素子54、OR回路素子54に接続されておりデ−タ
保持命令が入力されるAND回路素子55、、OR回路素
子54に接続されておりシフト命令が入力されるAND回
路素子56によって構成されている。
に、1ビットの遅延回路であるD型フリップフロップ
(以下、D回路と称する)53、D回路53に接続されたO
R回路素子54、OR回路素子54に接続されておりデ−タ
保持命令が入力されるAND回路素子55、、OR回路素
子54に接続されておりシフト命令が入力されるAND回
路素子56によって構成されている。
【0036】次に、図3の乗算器の動作を説明する。
【0037】図3の乗算器では、4値論理と2値論理の
いずれでも共通に使えるようになっているが、それらを
同時に使うことはないのでいずれかを用いることにな
る。ただし、2値論理と4値論理を組合せることはでき
る。
いずれでも共通に使えるようになっているが、それらを
同時に使うことはないのでいずれかを用いることにな
る。ただし、2値論理と4値論理を組合せることはでき
る。
【0038】特に、図3の乗算器では、4値論理を用い
る場合は、2値論理に対して、入出力の信号数を半分
(1/2)にすることができる。なお、図3は、2値論理で
示されている。
る場合は、2値論理に対して、入出力の信号数を半分
(1/2)にすることができる。なお、図3は、2値論理で
示されている。
【0039】図3の乗算器では、乗数nビットと被乗数
nビットの乗算は、2nビットでその結果を求めること
ができるが、nビット以上の乗算は、2nビットでは不
足するので、更に、図5に示すように、右へシフトされ
たデータを格納して並列出力することができるレジスタ
を備える必要がある。
nビットの乗算は、2nビットでその結果を求めること
ができるが、nビット以上の乗算は、2nビットでは不
足するので、更に、図5に示すように、右へシフトされ
たデータを格納して並列出力することができるレジスタ
を備える必要がある。
【0040】通常の全ビットバイナリー並列乗算器で
は、nビット×nビットの乗算を実行するとき、一語長
はnビットで、乗算結果は2nビットになるので、演算
時間は2nビットタイムかかることになるのに対して、
図3の乗算器では、一語長がnビット同志の乗算であっ
ても、演算時間はnビット・タイムでよく、乗算速度を
2倍にすることができる。このことは、物理的なクロッ
ク周波数を半分にしても、演算速度が変らないことを意
味する。
は、nビット×nビットの乗算を実行するとき、一語長
はnビットで、乗算結果は2nビットになるので、演算
時間は2nビットタイムかかることになるのに対して、
図3の乗算器では、一語長がnビット同志の乗算であっ
ても、演算時間はnビット・タイムでよく、乗算速度を
2倍にすることができる。このことは、物理的なクロッ
ク周波数を半分にしても、演算速度が変らないことを意
味する。
【0041】従って、図3の乗算器を用いた並列演算で
は入出力の信号数も多く、4値論理を適用すれば、信号
数を1/2 にできるので大規模集積回路(LSI)化にも
有効である。
は入出力の信号数も多く、4値論理を適用すれば、信号
数を1/2 にできるので大規模集積回路(LSI)化にも
有効である。
【0042】図3の乗算器で用いられた方法を拡張して
考えると、4ビット単位=24 (16値)のときの並列乗
算では、同じnビット×nビットの乗算を実行する場
合、乗算時間が(n/4)ビット・タイム必要であり、
加算時間は(n/4)ビット・タイムになるので、全体
の時間は(n/2)ビット・タイムになる。即ち、乗算
速度を4倍にすることができる。
考えると、4ビット単位=24 (16値)のときの並列乗
算では、同じnビット×nビットの乗算を実行する場
合、乗算時間が(n/4)ビット・タイム必要であり、
加算時間は(n/4)ビット・タイムになるので、全体
の時間は(n/2)ビット・タイムになる。即ち、乗算
速度を4倍にすることができる。
【0043】冗長ビットの発生はあるが3ビット単位=
23 (8値)の並列乗算では、乗算時間が(n/3)ビ
ット・タイム必要であり、加算時間は(n/3)ビット
・タイムになるので、全体の時間は、(2n/3)ビッ
ト・タイムになる。即ち、乗算時間を3倍にすることが
できる。図6に示すように、多値に成れば成る程時間が
短くなり高速化が可能になる。
23 (8値)の並列乗算では、乗算時間が(n/3)ビ
ット・タイム必要であり、加算時間は(n/3)ビット
・タイムになるので、全体の時間は、(2n/3)ビッ
ト・タイムになる。即ち、乗算時間を3倍にすることが
できる。図6に示すように、多値に成れば成る程時間が
短くなり高速化が可能になる。
【0044】上述した本発明の乗算器によれば、2値論
理でも4値論理でも共通に使えるが、4値論理を用いる
場合は2値論理に対して入出力の信号数を半分(1/2)に
することができる。
理でも4値論理でも共通に使えるが、4値論理を用いる
場合は2値論理に対して入出力の信号数を半分(1/2)に
することができる。
【0045】まず、4値論理を用いる場合には、
【0046】
【表1】
【0047】これを表わす論理式は、次式(1)のよう
になる。
になる。
【0048】
【数1】
【0049】式(1)をロジック回路で表わすと図7の
ようになる。
ようになる。
【0050】図7でΛはAND回路、VはOR回路をそ
れぞれ表している。AND回路101は、AND回路1
04による論理積の結果(1,0)と4値のしきい値1
/3とを入力して、それらの論理積(1/3,0)を出
力する。また、AND回路102は、AND回路105
による論理積の結果(1,0)と4値のしきい値2/3
とを入力して、それらの論理積(2/3,0)を出力す
る。更に、OR回路103は、AND回路101による
論理積の結果(1/3,0)と、AND回路102によ
る論理積の結果(2/3,0)と、AND回路106に
よる論理積の結果(1,0)とを入力して、それらの論
理和である4値信号X(1,2/3,1/3,0)を出
力する。すなわち、OR回路103の入力は、(1/
3,0,0)、(0,2/3,0)、(0,0,1)、
又は、(0,0,0)の何れかであり、それぞれ、1/
3、2/3、1又は0が、OR回路103より出力され
る。
れぞれ表している。AND回路101は、AND回路1
04による論理積の結果(1,0)と4値のしきい値1
/3とを入力して、それらの論理積(1/3,0)を出
力する。また、AND回路102は、AND回路105
による論理積の結果(1,0)と4値のしきい値2/3
とを入力して、それらの論理積(2/3,0)を出力す
る。更に、OR回路103は、AND回路101による
論理積の結果(1/3,0)と、AND回路102によ
る論理積の結果(2/3,0)と、AND回路106に
よる論理積の結果(1,0)とを入力して、それらの論
理和である4値信号X(1,2/3,1/3,0)を出
力する。すなわち、OR回路103の入力は、(1/
3,0,0)、(0,2/3,0)、(0,0,1)、
又は、(0,0,0)の何れかであり、それぞれ、1/
3、2/3、1又は0が、OR回路103より出力され
る。
【0051】乗算器のロジック回路で使われている
X0 ,X1/3 ,X2/3 ,X1 ,Y0 ,Y1/3 ,Y2/3 ,
Y1 ,C0 ,C1/3 ,C2/3 は、それぞれ等値回路を示
しており、例えば、X入力が0,1/3 ,2/3 ,1である
ときは、それぞれの入力に対して、その出力が1になる
ような回路である。このことはYについても同じことで
ある。Cについては、0,1/3 ,2/3 の入力があるとき
は、それぞれに対して1を出力する回路である。
X0 ,X1/3 ,X2/3 ,X1 ,Y0 ,Y1/3 ,Y2/3 ,
Y1 ,C0 ,C1/3 ,C2/3 は、それぞれ等値回路を示
しており、例えば、X入力が0,1/3 ,2/3 ,1である
ときは、それぞれの入力に対して、その出力が1になる
ような回路である。このことはYについても同じことで
ある。Cについては、0,1/3 ,2/3 の入力があるとき
は、それぞれに対して1を出力する回路である。
【0052】次に、2値論理を用いる場合には、図8に
おけるX0 ,X1/3 ,X2/3 ,X1 、Y0 ,Y1/3 ,Y
2/3 ,Y1 、C0 ,C1/3 ,C2/3 は、乗算器のロジッ
ク回路で使われているX0 ,X1/3 ,X2/3 ,X1 、Y
0 ,Y1/3 ,Y2/3 ,Y1 、C0 ,C1/3 ,C2/3 は論
理的には同一であるが物理的には異なる回路である。
おけるX0 ,X1/3 ,X2/3 ,X1 、Y0 ,Y1/3 ,Y
2/3 ,Y1 、C0 ,C1/3 ,C2/3 は、乗算器のロジッ
ク回路で使われているX0 ,X1/3 ,X2/3 ,X1 、Y
0 ,Y1/3 ,Y2/3 ,Y1 、C0 ,C1/3 ,C2/3 は論
理的には同一であるが物理的には異なる回路である。
【0053】続いて、乗算器のロジック(logic) を説明
する。
する。
【0054】いま、等値論理である(X 0),(X
1/3),(X 2/3),(X 1)を、X0 ,X1/3 ,X
2/3 ,X1 で表わし、(Y 0),(Y 1/3),(Y
2/3),(Y 1)をY0 ,Y1/3 ,Y2/3 ,Y1 で表わ
し、更に(C 0),(C 1/3),(C 2/3)をC0 ,
C1/3 ,C2/3 でそれぞれ表すことにすると、乗算器の
出力Z2 ,Z1 とキャリ出力C2 ,C1 は、表2、表3
で示すことができる。
1/3),(X 2/3),(X 1)を、X0 ,X1/3 ,X
2/3 ,X1 で表わし、(Y 0),(Y 1/3),(Y
2/3),(Y 1)をY0 ,Y1/3 ,Y2/3 ,Y1 で表わ
し、更に(C 0),(C 1/3),(C 2/3)をC0 ,
C1/3 ,C2/3 でそれぞれ表すことにすると、乗算器の
出力Z2 ,Z1 とキャリ出力C2 ,C1 は、表2、表3
で示すことができる。
【0055】
【表2】
【0056】表2は、乗算器出力<Z>の論理式も表わ
している。<Z>の0,1,2,3に対応して、
(Z2 ,Z1 )は、それぞれ(0,0),(0,1),
(1,0)(1,1)になっている。また、表中のブラ
ンクは0である。
している。<Z>の0,1,2,3に対応して、
(Z2 ,Z1 )は、それぞれ(0,0),(0,1),
(1,0)(1,1)になっている。また、表中のブラ
ンクは0である。
【0057】
【表3】
【0058】表3は、キャリー出力<C>の論理式も表
わしている。<C>の0,1,2に対応して、(C2 ,
C1 )は、それぞれ(0,0),(0,1)(1,0)
になっている。また、表中のブランクは0である。
わしている。<C>の0,1,2に対応して、(C2 ,
C1 )は、それぞれ(0,0),(0,1)(1,0)
になっている。また、表中のブランクは0である。
【0059】上述した乗算器で乗算を実行するときには
加算器も必要になるが、上記図1に示す乗算器では、図
9に示す加算器を使用する。
加算器も必要になるが、上記図1に示す乗算器では、図
9に示す加算器を使用する。
【0060】出力<Z>と、キャリ<C>のロジックか
ら乗算器を構成すると、図10の乗算回路になる。
ら乗算器を構成すると、図10の乗算回路になる。
【0061】図10の乗算回路では、時間t2i-1(i=
1,2,3,……,n)毎に2ビット並列に乗算される
ので、表1と表2で示される乗算出力<Z>、即ち、
(Z2 ,Z1 )の論理式に、時間t2i-1が論理積され
る。
1,2,3,……,n)毎に2ビット並列に乗算される
ので、表1と表2で示される乗算出力<Z>、即ち、
(Z2 ,Z1 )の論理式に、時間t2i-1が論理積され
る。
【0062】同様に、キャリ出力<C>、即ち、
(C2 ,C1 )に対しても時間t2i-1が論理積される。
このことは図7のロジック変換回路または図8のバイナ
リ入力回路に用いられる。また、キャリ出力<C>は、
時間t2iで発生して、次の時間t2i-1の乗算出力と加算
されるので、C2 t2i、C1 t2iがOR回路素子にOR
入力される。
(C2 ,C1 )に対しても時間t2i-1が論理積される。
このことは図7のロジック変換回路または図8のバイナ
リ入力回路に用いられる。また、キャリ出力<C>は、
時間t2iで発生して、次の時間t2i-1の乗算出力と加算
されるので、C2 t2i、C1 t2iがOR回路素子にOR
入力される。
【0063】乗算出力<Z>の(Z2 ,Z1 )は、図1
1のロジック変換回路または図12のバイナリ入力回路
に入力されて、図9の加算回路に用いられる。
1のロジック変換回路または図12のバイナリ入力回路
に入力されて、図9の加算回路に用いられる。
【0064】ここで、乗算器では、図7のロジック回路
または図8のバイナリ入力回路のいずれか一方が使われ
るが、同時に使われることはない。このことは図11の
ロジック変換回路や図12のバイナリ入力回路について
も同様である。
または図8のバイナリ入力回路のいずれか一方が使われ
るが、同時に使われることはない。このことは図11の
ロジック変換回路や図12のバイナリ入力回路について
も同様である。
【0065】本発明の乗算器は、4値論理及び2値論理
に対して共通に使えるようになっているので、いずれか
を用いることになるが、4値論理及び2値論理を組合せ
て用いることもできる。加えて、2nビット目(最終ビ
ット)でキャリ出力(C2 ,C1 )が発生する場合があ
るので、C2 t2n+1やC1 t2n+1が出力(Z2,Z1 )
にOR入力されている。
に対して共通に使えるようになっているので、いずれか
を用いることになるが、4値論理及び2値論理を組合せ
て用いることもできる。加えて、2nビット目(最終ビ
ット)でキャリ出力(C2 ,C1 )が発生する場合があ
るので、C2 t2n+1やC1 t2n+1が出力(Z2,Z1 )
にOR入力されている。
【0066】上述したように4値論理の場合には、図1
1に示したロジック変換回路を用いる。また、2値論理
の場合には、図12に示したバイナリ入力回路を用いる
と共に、図12のバイナリ入力回路からの出力Wと出力
Zとの乗算結果WZを実行するために図9の加算器を用
いる。
1に示したロジック変換回路を用いる。また、2値論理
の場合には、図12に示したバイナリ入力回路を用いる
と共に、図12のバイナリ入力回路からの出力Wと出力
Zとの乗算結果WZを実行するために図9の加算器を用
いる。
【0067】上述した図1の2ビット並列直列型乗算器
は、図9の加算回路と図10の乗算回路によって構成さ
れている。
は、図9の加算回路と図10の乗算回路によって構成さ
れている。
【0068】上述した図2の完全2ビット並列直列型乗
算器では、図2の回路を構成しているXOレジスタ28,
XEレジスタ28,YOレジスタ37,YEレジスタ38で示
される各レジスタのビット間は、図13に示すようにな
っている。なお、ここでは、Xo はXodd ,XEはXEv
en,YO はYodd 、YEはYEvenの状態を想定してい
る。
算器では、図2の回路を構成しているXOレジスタ28,
XEレジスタ28,YOレジスタ37,YEレジスタ38で示
される各レジスタのビット間は、図13に示すようにな
っている。なお、ここでは、Xo はXodd ,XEはXEv
en,YO はYodd 、YEはYEvenの状態を想定してい
る。
【0069】4値論理を用いる場合には、図14の乗算
回路への入力は、図15に示すようになり、図16の加
算回路への入力は、図17に示すようになる。
回路への入力は、図15に示すようになり、図16の加
算回路への入力は、図17に示すようになる。
【0070】また、2値論理を用いる場合には、図14
の乗算回路への入力は、図18に示すようになり、図1
6の加算回路への入力は、図19に示すようになる。
の乗算回路への入力は、図18に示すようになり、図1
6の加算回路への入力は、図19に示すようになる。
【0071】図14の乗算回路では、時間ti において
キャリーが発生し、次のビットの乗算出力と加算される
ので、キャリ出力<C>、即ち、(C2 ,C1 )は図1
4のようになる。また、(i=1,2,3,……n)に
対して、時間tn+1 でキャリが出力される場合があるの
で、C2 tn+1 やC1 tn+1 が出力(Z2 ,Z1 )にO
R入力される。
キャリーが発生し、次のビットの乗算出力と加算される
ので、キャリ出力<C>、即ち、(C2 ,C1 )は図1
4のようになる。また、(i=1,2,3,……n)に
対して、時間tn+1 でキャリが出力される場合があるの
で、C2 tn+1 やC1 tn+1 が出力(Z2 ,Z1 )にO
R入力される。
【0072】図16の加算回路では、時間ti でキャリ
が発生し、次のビットの加算出力と加算されるので、キ
ャリ出力C″は図のようになる。また、時間tn+1 でキ
ャリが出力される場合があるので、C″tn+1 がWにO
R入力されている。
が発生し、次のビットの加算出力と加算されるので、キ
ャリ出力C″は図のようになる。また、時間tn+1 でキ
ャリが出力される場合があるので、C″tn+1 がWにO
R入力されている。
【0073】上述した本発明の実施例(図3)の完全2
ビット並列全ビット並列型乗算器では、4値論理を用い
る場合には、図20の乗算回路への入力は、図21のよ
うになり、図22の加算回路への入力は、図23のよう
になる。
ビット並列全ビット並列型乗算器では、4値論理を用い
る場合には、図20の乗算回路への入力は、図21のよ
うになり、図22の加算回路への入力は、図23のよう
になる。
【0074】また、2値論理を用いる場合には、図20
の乗算回路への入力は、図24のようになり、図22の
加算回路への入力は、図25のようになる。
の乗算回路への入力は、図24のようになり、図22の
加算回路への入力は、図25のようになる。
【0075】図22の加算回路では、最上位ビットでキ
ャリが出力される場合があるので、W2i-1にC′n がO
R入力されている。
ャリが出力される場合があるので、W2i-1にC′n がO
R入力されている。
【0076】図22の加算回路において、並列演算であ
るので、C´i-1は前段からのキャリ出力であって、C
´i は、次段のキャリ入力になっている。また、図20
の乗算回路では、図21または図24に示されるC2i-2
とC2i-3は前段からのキャリー出力であって、C2iやC
2i-1は次段へのキャリ入力になっている。そして出力<
Z>つまり(Z2i,Z2i-1)には、最終段2nと2n−
1におけるキャリ出力C2n,C2n-1がそれぞれのOR入
力されている。
るので、C´i-1は前段からのキャリ出力であって、C
´i は、次段のキャリ入力になっている。また、図20
の乗算回路では、図21または図24に示されるC2i-2
とC2i-3は前段からのキャリー出力であって、C2iやC
2i-1は次段へのキャリ入力になっている。そして出力<
Z>つまり(Z2i,Z2i-1)には、最終段2nと2n−
1におけるキャリ出力C2n,C2n-1がそれぞれのOR入
力されている。
【0077】YOレジスタとYEレジスタにおいて、各
ビット間は図26に示すようになっている。
ビット間は図26に示すようになっている。
【0078】上述した各乗算器に用いられている小数点
方法には浮動小数点方法と固定小数点方法がある。
方法には浮動小数点方法と固定小数点方法がある。
【0079】ここでは、一例として、浮動小数点方法に
ついて説明する。
ついて説明する。
【0080】いま、被演算数の仮数部Xは、Xレジスタ
の最上位桁から入っているものとし、演算数の仮数部Y
は、Yレジスタの最上位桁から入っているものとする。
また、それぞれの指数部は、xとyで示すものとする。
の最上位桁から入っているものとし、演算数の仮数部Y
は、Yレジスタの最上位桁から入っているものとする。
また、それぞれの指数部は、xとyで示すものとする。
【0081】このとき、乗算の場合には次のような処理
が行なわれる。即ち、
が行なわれる。即ち、
【0082】
【数2】
【0083】ここで、Xの符号ビットをXs ,Yの符号
ビットをYs としてx,yの符号ビットをそれぞれ
xs ,ys で示すことにすると、仮数部の符号Ws は、
ビットをYs としてx,yの符号ビットをそれぞれ
xs ,ys で示すことにすると、仮数部の符号Ws は、
【0084】
【数3】
【0085】となる。また、指数部については、表4の
ようになる。なお、x≧0,y≧0とする。
ようになる。なお、x≧0,y≧0とする。
【0086】
【表4】
【0087】ここで、pは乗算結果の仮数部Wの指数部
を示し、psは、pの符号ビットを示している。
を示し、psは、pの符号ビットを示している。
【0088】
【0089】上述したような処理は、固定小数点方法の
場合についても、同じように実現することができる。
場合についても、同じように実現することができる。
【0090】
【発明の効果】本発明の乗算器は、記憶されているデー
タをシフトしてシフトされたデータを出力するレジスタ
変換手段と、第1データを4値論理に対応したデータ単
位で出力する複数の第1データ出力手段と、レジスタ変
換手段及び第1データ出力手段に接続されており、レジ
スタ変換手段からの出力及び第1データ出力手段からの
出力を4値論理に対応したデータ単位で乗算する複数の
乗算手段と、第2データを4値論理に対応したデータ単
位で出力する複数の第2データ出力手段と、乗算手段に
接続されており、乗算手段からの出力、第2データ出力
手段からの出力、並びに特定の入力を4値論理に対応し
たデータ単位で加算して隣接して配置された他の第2デ
ータ出力手段に出力する複数の加算手段であって、特定
の入力は、それぞれ、下位の加算手段からのキャリー出
力である複数の加算手段とを備えており、複数の加算手
段のうち最端に配置された加算手段は、乗算手段からの
出力及び特定の入力を加算して隣接して配置された第2
データ出力手段に出力し、複数の加算手段のうち他方の
最端に配置された加算手段より乗算結果が出力されるの
で、乗算速度を高速にでき、クロック周波数を遅くして
も乗算速度を低下させることなく動作の安定性を向上さ
せることができる。
タをシフトしてシフトされたデータを出力するレジスタ
変換手段と、第1データを4値論理に対応したデータ単
位で出力する複数の第1データ出力手段と、レジスタ変
換手段及び第1データ出力手段に接続されており、レジ
スタ変換手段からの出力及び第1データ出力手段からの
出力を4値論理に対応したデータ単位で乗算する複数の
乗算手段と、第2データを4値論理に対応したデータ単
位で出力する複数の第2データ出力手段と、乗算手段に
接続されており、乗算手段からの出力、第2データ出力
手段からの出力、並びに特定の入力を4値論理に対応し
たデータ単位で加算して隣接して配置された他の第2デ
ータ出力手段に出力する複数の加算手段であって、特定
の入力は、それぞれ、下位の加算手段からのキャリー出
力である複数の加算手段とを備えており、複数の加算手
段のうち最端に配置された加算手段は、乗算手段からの
出力及び特定の入力を加算して隣接して配置された第2
データ出力手段に出力し、複数の加算手段のうち他方の
最端に配置された加算手段より乗算結果が出力されるの
で、乗算速度を高速にでき、クロック周波数を遅くして
も乗算速度を低下させることなく動作の安定性を向上さ
せることができる。
【0091】
【0092】
【図1】本発明に関連する2ビット並列直列型乗算器の
構成を示すブロック図である。
構成を示すブロック図である。
【図2】本発明に関連する完全2ビット並列直列型乗算
器の構成を示すブロック図である。
器の構成を示すブロック図である。
【図3】本発明の乗算器の実施例である2ビット単位全
ビット並列型乗算器の構成を示すブロック図である。
ビット並列型乗算器の構成を示すブロック図である。
【図4】図3の乗算器を構成するビット回路の一構成例
を示すブロック図である。
を示すブロック図である。
【図5】図3の乗算器を構成する下位2nビット回路の
一構成例を示すブロック図である。
一構成例を示すブロック図である。
【図6】本発明の乗算器による乗算時間と従来の乗算器
による乗算時間とを比較した説明図である。
による乗算時間とを比較した説明図である。
【図7】図1の乗算器に適用されるロジック変換回路の
一構成例を示すブロック図である。
一構成例を示すブロック図である。
【図8】図1の乗算器に適用されるバイナリ入力回路の
一構成例を示すブロック図である。
一構成例を示すブロック図である。
【図9】図1の乗算器に適用される加算回路の一構成例
を示すブロック図である。
を示すブロック図である。
【図10】図1の乗算器に適用される乗算回路一構成例
を示すブロック図である。
を示すブロック図である。
【図11】図1の乗算器に適用されるロジック変換回路
の一構成例を示すブロック図である。
の一構成例を示すブロック図である。
【図12】図1の乗算器に適用されるバイナリ入力回路
の一構成例を示すブロック図である。
の一構成例を示すブロック図である。
【図13】図2の各レジスタのビット間を説明するため
のブロック図である。
のブロック図である。
【図14】図2の乗算器に適用される乗算回路の一構成
例を示すブロック図である。
例を示すブロック図である。
【図15】図14の乗算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図16】図2の乗算器に適用される加算回路の一構成
例を示すブロック図である。
例を示すブロック図である。
【図17】図16の加算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図18】図14の乗算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図19】図16の加算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図20】図3の乗算器に適用される乗算回路の一構成
例を示すブロック図である。
例を示すブロック図である。
【図21】図20の乗算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図22】図3の乗算器に適用される加算回路の一構成
例を示すブロック図である。
例を示すブロック図である。
【図23】図22の加算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図24】図20の乗算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図25】図22の加算回路への入力を説明するための
ブロック図である。
ブロック図である。
【図26】図3の各ビット間の接続を説明するためのブ
ロック図である。
ロック図である。
Claims (1)
- 【請求項1】 記憶されているデータをシフトして当該
シフトされたデータを出力するレジスタ変換手段と、第
1データを4値論理に対応したデータ単位で出力する複
数の第1データ出力手段と、前記レジスタ変換手段及び
前記第1データ出力手段に接続されており、該レジスタ
変換手段からの出力及び該第1データ出力手段からの出
力を前記4値論理に対応したデータ単位で乗算する複数
の乗算手段と、第2データを前記4値論理に対応したデ
ータ単位で出力する複数の第2データ出力手段と、前記
乗算手段に接続されており、該乗算手段からの出力、前
記第2データ出力手段からの出力、並びに特定の入力を
前記4値論理に対応したデータ単位で加算して隣接して
配置された他の該第2データ出力手段に出力する複数の
加算手段であって、前記特定の入力は、それぞれ、下位
の加算手段からのキャリー出力である複数の加算手段と
を備えており、前記複数の加算手段のうち最端に配置さ
れた該加算手段は、前記乗算手段からの出力及び前記特
定の入力を加算して隣接して配置された前記第2データ
出力手段に出力し、前記複数の加算手段のうち他方の最
端に配置された該加算手段より乗算結果が出力されるこ
とを特徴とする乗算器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32320591A JP3256251B2 (ja) | 1991-12-06 | 1991-12-06 | 乗算器 |
US07/984,695 US5289399A (en) | 1991-12-06 | 1992-12-02 | Multiplier for processing multi-valued data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32320591A JP3256251B2 (ja) | 1991-12-06 | 1991-12-06 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05158659A JPH05158659A (ja) | 1993-06-25 |
JP3256251B2 true JP3256251B2 (ja) | 2002-02-12 |
Family
ID=18152219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32320591A Expired - Fee Related JP3256251B2 (ja) | 1991-12-06 | 1991-12-06 | 乗算器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5289399A (ja) |
JP (1) | JP3256251B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438533A (en) * | 1992-10-28 | 1995-08-01 | Sharp Kabushiki Kaisha | Multivalued multiplier for binary and multivalued logic data |
JPH06161712A (ja) * | 1992-11-18 | 1994-06-10 | Sharp Corp | 多値減算器 |
JPH06161713A (ja) * | 1992-11-26 | 1994-06-10 | Sharp Corp | 多値加算器 |
US5524088A (en) * | 1993-06-30 | 1996-06-04 | Sharp Kabushiki Kaisha | Multi-functional operating circuit providing capability of freely combining operating functions |
US5740344A (en) * | 1996-02-08 | 1998-04-14 | Itri-Industrial Technology Research Institute | Texture filter apparatus for computer graphics system |
WO2001011538A2 (en) * | 1999-08-09 | 2001-02-15 | Preeth Kumar Patil | Discrete computer system |
US7562106B2 (en) * | 2004-08-07 | 2009-07-14 | Ternarylogic Llc | Multi-value digital calculating circuits, including multipliers |
US20070239811A1 (en) * | 2006-04-05 | 2007-10-11 | Leo Bredehoft | Multiplication by one from a set of constants using simple circuitry |
CN108268240A (zh) * | 2017-01-03 | 2018-07-10 | 胡五生 | 多值寄存器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3617723A (en) * | 1970-02-25 | 1971-11-02 | Collins Radio Co | Digitalized multiplier |
US3805043A (en) * | 1972-10-11 | 1974-04-16 | Bell Telephone Labor Inc | Serial-parallel binary multiplication using pairwise addition |
JPS5938849A (ja) * | 1982-08-27 | 1984-03-02 | Fujitsu Ltd | 演算回路 |
US4796219A (en) * | 1987-06-01 | 1989-01-03 | Motorola, Inc. | Serial two's complement multiplier |
US5021987A (en) * | 1989-08-31 | 1991-06-04 | General Electric Company | Chain-serial matrix multipliers |
-
1991
- 1991-12-06 JP JP32320591A patent/JP3256251B2/ja not_active Expired - Fee Related
-
1992
- 1992-12-02 US US07/984,695 patent/US5289399A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05158659A (ja) | 1993-06-25 |
US5289399A (en) | 1994-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5956265A (en) | Boolean digital multiplier | |
US5187679A (en) | Generalized 7/3 counters | |
Stenzel et al. | A compact high-speed parallel multiplication scheme | |
EP0018519B1 (en) | Multiplier apparatus having a carry-save/propagate adder | |
US5280439A (en) | Apparatus for determining booth recoder input control signals | |
US4320464A (en) | Binary divider with carry-save adders | |
JPS6132437Y2 (ja) | ||
US6018758A (en) | Squarer with diagonal row merged into folded partial product array | |
US3795880A (en) | Partial product array multiplier | |
Ienne et al. | Bit-serial multipliers and squarers | |
US4868777A (en) | High speed multiplier utilizing signed-digit and carry-save operands | |
JP3256251B2 (ja) | 乗算器 | |
US7136888B2 (en) | Parallel counter and a logic circuit for performing multiplication | |
US4374427A (en) | Divisor transform type high-speed electronic division system | |
US5734599A (en) | Performing a population count using multiplication | |
JP3556950B2 (ja) | 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法 | |
US5036482A (en) | Method and circuitry for digital system multiplication | |
US4677583A (en) | Apparatus for decimal multiplication | |
EP0670061B1 (en) | Enhanced fast multiplier | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JPH0312738B2 (ja) | ||
US4706210A (en) | Guild array multiplier for binary numbers in two's complement notation | |
JP3660075B2 (ja) | 除算装置 | |
EP0314968A2 (en) | Overlapped multiple-bit scanning multiplication system with banded partial product matrix | |
EP0534760A2 (en) | High speed multiplier device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081130 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091130 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |