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
Application number
JP32320591A
Other languages
English (en)
Other versions
JPH05158659A (ja
Inventor
幸弘 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP32320591A priority Critical patent/JP3256251B2/ja
Priority to US07/984,695 priority patent/US5289399A/en
Publication of JPH05158659A publication Critical patent/JPH05158659A/ja
Application granted granted Critical
Publication of JP3256251B2 publication Critical patent/JP3256251B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/49Computations 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または複数ビッ
ト)の積として得られる部分積の形成及びこれら形成さ
れた部分積の加算を称する。
【0003】乗算は、最近の計算機では標準機能として
組み込まれており、演算性能を向上させるために種々の
方法によって高速化が実現されている。
【0004】上記高速化の方法としては、部分積の生成
機構の数を減少させかつ個々の機構を単純な構成にした
ブ−スの方法や、部分積の加算を可能な限り並列化して
加算時間を縮小したウォリスのトリ−による方法が知ら
れている。
【0005】更に、超大規模集積回路(VLSI)に適
用される方法として、基本回路を規則的2次元アレイ状
に配列して構成した方法があり、この方法を利用した乗
算器としてはアレイ乗算器が知られている。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た従来の乗算方法では、理論的に時間的余裕度を作り出
して、高速で乗算を安定して行うことができないという
問題点があった。
【0007】
【0008】本発明は、上述した従来の乗算方法におけ
る問題点に鑑み、高速で乗算を安定して行うことができ
る乗算器を提供する。
【0009】
【課題を解決するための手段】本発明の乗算器は、記憶
されているデータをシフトして当該シフトされたデータ
を出力するレジスタ変換手段と、第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データ出力手段
に出力し、複数の加算手段のうち他方の最端に配置され
た加算手段より乗算結果を出力する。
【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によって構成されている。
【0017】次に、図1の乗算器の動作を説明する。
【0018】図1の構成では、2ビット並列に乗算と加
算が時間t2i-1(i=1,2,3……,n)毎に行なわ
れるので、時間t2iにおいては、時間的余裕度φを作り
出すことができる。即ち、2φに1回だけ乗算と加算を
実行すればよい。
【0019】直列型乗算を高速で実行するとき、乗算時
間が変ることなく安定な乗算が可能になる。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
ビットシフトされる。
【0021】上述のした動作が、n回行なわれて、Xレ
ジスタ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によって構成されている。
【0025】次に、図2の乗算器の動作を説明する。
【0026】2nビットからなるXレジスタ21は、奇数
ビット、偶数ビットの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に
入力される。
【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ビットシフトされる。
【0029】このようなことがn回行なわれて、Xレジ
スタ21の内容とYレジスタ30の内容とが乗算された結果
は、Wレジスタ41とW´レジスタ44に格納されて、一連
の乗算が完了する。
【0030】図2の乗算器は、図1の乗算器と同じよう
な直列型乗算器であるが、図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より出力される
ものである。
【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 ビット回路
1 、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
4 ビット回路W4 、及び乗算回路M1 に接続された加
算回路A1 、W3 ビット回路W3 、W4 ビット回路
4 、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ビット回路
2i+1、及び乗算回路Mi に接続された加算回路
i 、..、W2n-2ビット回路W2n-2、W2n-3ビット回
路W2n-3、W2nビット回路W2n、W2n-1ビット回路W
2n-1、及び乗算回路Mn-1 に接続された加算回路
n-1 、W2nビット回路W2n、W2n-1ビット回路
2n-1、及び乗算回路Mn に接続された加算回路An
よって構成されている。
【0035】上述した各ビット回路は、図4に示すよう
に、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値論理を組合せることはでき
る。
【0038】特に、図3の乗算器では、4値論理を用い
る場合は、2値論理に対して、入出力の信号数を半分
(1/2)にすることができる。なお、図3は、2値論理で
示されている。
【0039】図3の乗算器では、乗数nビットと被乗数
nビットの乗算は、2nビットでその結果を求めること
ができるが、nビット以上の乗算は、2nビットでは不
足するので、更に、図5に示すように、右へシフトされ
たデータを格納して並列出力することができるレジスタ
を備える必要がある。
【0040】通常の全ビットバイナリー並列乗算器で
は、nビット×nビットの乗算を実行するとき、一語長
はnビットで、乗算結果は2nビットになるので、演算
時間は2nビットタイムかかることになるのに対して、
図3の乗算器では、一語長がnビット同志の乗算であっ
ても、演算時間はnビット・タイムでよく、乗算速度を
2倍にすることができる。このことは、物理的なクロッ
ク周波数を半分にしても、演算速度が変らないことを意
味する。
【0041】従って、図3の乗算器を用いた並列演算で
は入出力の信号数も多く、4値論理を適用すれば、信号
数を1/2 にできるので大規模集積回路(LSI)化にも
有効である。
【0042】図3の乗算器で用いられた方法を拡張して
考えると、4ビット単位=24 (16値)のときの並列乗
算では、同じnビット×nビットの乗算を実行する場
合、乗算時間が(n/4)ビット・タイム必要であり、
加算時間は(n/4)ビット・タイムになるので、全体
の時間は(n/2)ビット・タイムになる。即ち、乗算
速度を4倍にすることができる。
【0043】冗長ビットの発生はあるが3ビット単位=
3 (8値)の並列乗算では、乗算時間が(n/3)ビ
ット・タイム必要であり、加算時間は(n/3)ビット
・タイムになるので、全体の時間は、(2n/3)ビッ
ト・タイムになる。即ち、乗算時間を3倍にすることが
できる。図6に示すように、多値に成れば成る程時間が
短くなり高速化が可能になる。
【0044】上述した本発明の乗算器によれば、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より出力され
る。
【0051】乗算器のロジック回路で使われている
0 ,X1/3 ,X2/3 ,X1 ,Y0 ,Y1/3 ,Y2/3
1 ,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 は論
理的には同一であるが物理的には異なる回路である。
【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
1/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である。
【0057】
【表3】
【0058】表3は、キャリー出力<C>の論理式も表
わしている。<C>の0,1,2に対応して、(C2
1 )は、それぞれ(0,0),(0,1)(1,0)
になっている。また、表中のブランクは0である。
【0059】上述した乗算器で乗算を実行するときには
加算器も必要になるが、上記図1に示す乗算器では、図
9に示す加算器を使用する。
【0060】出力<Z>と、キャリ<C>のロジックか
ら乗算器を構成すると、図10の乗算回路になる。
【0061】図10の乗算回路では、時間t2i-1(i=
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 2i、C1 2iがOR回路素子にOR
入力される。
【0063】乗算出力<Z>の(Z2 ,Z1 )は、図1
1のロジック変換回路または図12のバイナリ入力回路
に入力されて、図9の加算回路に用いられる。
【0064】ここで、乗算器では、図7のロジック回路
または図8のバイナリ入力回路のいずれか一方が使われ
るが、同時に使われることはない。このことは図11の
ロジック変換回路や図12のバイナリ入力回路について
も同様である。
【0065】本発明の乗算器は、4値論理及び2値論理
に対して共通に使えるようになっているので、いずれか
を用いることになるが、4値論理及び2値論理を組合せ
て用いることもできる。加えて、2nビット目(最終ビ
ット)でキャリ出力(C2 ,C1 )が発生する場合があ
るので、C2 2n+1やC1 2n+1が出力(Z2,Z1
にOR入力されている。
【0066】上述したように4値論理の場合には、図1
1に示したロジック変換回路を用いる。また、2値論理
の場合には、図12に示したバイナリ入力回路を用いる
と共に、図12のバイナリ入力回路からの出力Wと出力
Zとの乗算結果WZを実行するために図9の加算器を用
いる。
【0067】上述した図1の2ビット並列直列型乗算器
は、図9の加算回路と図10の乗算回路によって構成さ
れている。
【0068】上述した図2の完全2ビット並列直列型乗
算器では、図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に示すようになる。
【0070】また、2値論理を用いる場合には、図14
の乗算回路への入力は、図18に示すようになり、図1
6の加算回路への入力は、図19に示すようになる。
【0071】図14の乗算回路では、時間ti において
キャリーが発生し、次のビットの乗算出力と加算される
ので、キャリ出力<C>、即ち、(C2 ,C1 )は図1
4のようになる。また、(i=1,2,3,……n)に
対して、時間tn+1 でキャリが出力される場合があるの
で、C2 n+1 やC1 n+1 が出力(Z2 ,Z1 )にO
R入力される。
【0072】図16の加算回路では、時間ti でキャリ
が発生し、次のビットの加算出力と加算されるので、キ
ャリ出力C″は図のようになる。また、時間tn+1 でキ
ャリが出力される場合があるので、C″tn+1 がWにO
R入力されている。
【0073】上述した本発明の実施例(図3)の完全2
ビット並列全ビット並列型乗算器では、4値論理を用い
る場合には、図20の乗算回路への入力は、図21のよ
うになり、図22の加算回路への入力は、図23のよう
になる。
【0074】また、2値論理を用いる場合には、図20
の乗算回路への入力は、図24のようになり、図22の
加算回路への入力は、図25のようになる。
【0075】図22の加算回路では、最上位ビットでキ
ャリが出力される場合があるので、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入
力されている。
【0077】YOレジスタとYEレジスタにおいて、各
ビット間は図26に示すようになっている。
【0078】上述した乗算器に用いられている小数点
方法には浮動小数点方法と固定小数点方法がある。
【0079】ここでは、一例として、浮動小数点方法に
ついて説明する。
【0080】いま、被演算数の仮数部Xは、Xレジスタ
の最上位桁から入っているものとし、演算数の仮数部Y
は、Yレジスタの最上位桁から入っているものとする。
また、それぞれの指数部は、xとyで示すものとする。
【0081】このとき、乗算の場合には次のような処理
が行なわれる。即ち、
【0082】
【数2】
【0083】ここで、Xの符号ビットをXs ,Yの符号
ビットをYs としてx,yの符号ビットをそれぞれ
s ,ys で示すことにすると、仮数部の符号Ws は、
【0084】
【数3】
【0085】となる。また、指数部については、表4の
ようになる。なお、x≧0,y≧0とする。
【0086】
【表4】
【0087】ここで、pは乗算結果の仮数部Wの指数部
を示し、pは、pの符号ビットを示している。
【0088】
【0089】上述したような処理は、固定小数点方法の
場合についても、同じように実現することができる。
【0090】
【発明の効果】本発明の乗算器は、記憶されているデー
タをシフトしてシフトされたデータを出力するレジスタ
変換手段と、第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)

    (57)【特許請求の範囲】
  1. 【請求項1】 記憶されているデータをシフトして当該
    シフトされたデータを出力するレジスタ変換手段と、第
    1データを4値論理に対応したデータ単位で出力する複
    数の第1データ出力手段と、前記レジスタ変換手段及び
    前記第1データ出力手段に接続されており、該レジスタ
    変換手段からの出力及び該第1データ出力手段からの出
    力を前記4値論理に対応したデータ単位で乗算する複数
    の乗算手段と、第2データを前記4値論理に対応したデ
    ータ単位で出力する複数の第2データ出力手段と、前記
    乗算手段に接続されており、該乗算手段からの出力、前
    記第2データ出力手段からの出力、並びに特定の入力を
    前記4値論理に対応したデータ単位で加算して隣接して
    配置された他の該第2データ出力手段に出力する複数の
    加算手段であって、前記特定の入力は、それぞれ、下位
    の加算手段からのキャリー出力である複数の加算手段
    を備えており、前記複数の加算手段のうち最端に配置さ
    れた該加算手段は、前記乗算手段からの出力及び前記特
    定の入力を加算して隣接して配置された前記第2データ
    出力手段に出力し、前記複数の加算手段のうち他方の最
    端に配置された該加算手段より乗算結果が出力されるこ
    とを特徴とする乗算器。
JP32320591A 1991-12-06 1991-12-06 乗算器 Expired - Fee Related JP3256251B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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