JPH05158659A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPH05158659A
JPH05158659A JP3323205A JP32320591A JPH05158659A JP H05158659 A JPH05158659 A JP H05158659A JP 3323205 A JP3323205 A JP 3323205A JP 32320591 A JP32320591 A JP 32320591A JP H05158659 A JPH05158659 A JP H05158659A
Authority
JP
Japan
Prior art keywords
register
circuit
output
multiplication
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.)
Granted
Application number
JP3323205A
Other languages
English (en)
Other versions
JP3256251B2 (ja
Inventor
Yukihiro Yoshida
幸弘 吉田
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 OR CALCULATING; 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 OR CALCULATING; 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)

Abstract

(57)【要約】 【目的】 2値信号又は3値以上の4値信号などの多値
信号に対して共用でき、かつ高速で乗算を安定して行う
ことができる乗算器を提供する。 【構成】 記憶されているデ−タをシフトして複数のデ
−タを出力するレジスタ変換回路RCと、レジスタ変換
回路RCに接続されておりレジスタ変換回路RCからの
出力を乗算する乗算回路14と、乗算回路14に接続されて
おり乗算回路14から出力された乗算結果を特定の方法に
基づいて加算する加算回路15と、加算回路15に接続され
ており加算回路15からの出力をシフトして送るAND回
路素子17と、加算回路15に接続されておりAND回路素
子17に基づいてシフトされた加算回路15からの出力を記
憶するWレジスタ16と、Wレジスタ16に接続されており
Wレジスタ16からの出力をシフトして送るAND回路素
子18と、AND回路素子18に接続されておりAND回路
素子18からの出力を更にシフトするAND回路素子20
と、AND回路素子18に接続されておりシフトされたW
レジスタ16からの出力を記憶するW´レジスタ19とを備
えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像処理や通信の信号
処理及びレ−ザプリンタのフォント加工等に用いること
ができる乗算器に関する。
【0002】
【従来の技術】一般に、乗算器は計算機の算術論理演算
器の1種類であり、乗算を専用に行う回路をいう。ここ
で、乗算とは被乗数と乗数の一部分(1または複数ビッ
ト)の積として得られる部分積の形成及びこれら形成さ
れた部分積の加算を称する。
【0003】乗算は、最近の計算機では標準機能として
組み込まれており、演算性能を向上させるために種々の
方法によって高速化が実現されている。
【0004】上記高速化の方法としては、部分積の生成
機構の数を減少させかつ個々の機構を単純な構成にした
ブ−スの方法や、部分積の加算を可能な限り並列化して
加算時間を縮小したウォリスのトリ−による方法が知ら
れている。
【0005】更に、超大規模集積回路(VLSI)に適
用される方法として、基本回路を規則的2次元アレイ状
に配列して構成した方法があり、この方法を利用した乗
算器としてはアレイ乗算器が知られている。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た従来の乗算方法では、理論的に時間的余裕度を作り出
して、高速で乗算を安定して行うことができないという
問題点があった。
【0007】また、従来の直列型や並列型の乗算方法で
は、2値信号及び4値信号に対して共用でき、かつ高速
化で乗算を行うことができないという問題点があった。
【0008】本発明は、上述した従来の乗算方法におけ
る問題点に鑑み、2値信号及び4値信号に対して共用で
き、かつ高速で乗算を安定して行うことができる乗算器
を提供する。
【0009】
【課題を解決するための手段】本発明は、記憶されてい
るデ−タをシフトして複数のデ−タを出力するレジスタ
変換手段と、レジスタ変換手段に接続されておりレジス
タ変換手段からの出力を乗算する乗算手段と、乗算手段
に接続されており乗算手段から出力された乗算結果を特
定の方法に基づいて加算する加算手段と、加算手段に接
続されており加算手段からの出力をシフトして送る第1
シフト手段と、加算手段に接続されておりシフト手段に
基づいてシフトされた加算手段からの出力を記憶する第
1レジスタと、第1レジスタに接続されており第1レジ
スタからの出力をシフトして送る第2シフト手段と、第
2シフト手段に接続されており第2シフト手段からの出
力を更にシフトする第3シフト手段と、第2シフト手段
に接続されておりシフトされた第1レジスタからの出力
を記憶する第2レジスタとを備えている乗算器によって
達成される。
【0010】また、本発明は、記憶されているデ−タを
シフトしてシフトされたデ−タを出力するレジスタ変換
手段と、第1デ−タを所定の方法に基づいて出力する複
数の第1デ−タ出力手段と、レジスタ変換手段及び第1
デ−タ出力手段に接続されておりレジスタ変換手段から
の出力及び第1デ−タ出力手段からの出力を乗算する複
数の乗算手段と、第2デ−タを所定の方法に基づいて出
力する複数の第2デ−タ出力手段と、乗算手段に接続さ
れており乗算手段からの出力、第2デ−タ出力手段から
の出力、並びに特定の入力を加算して隣接して配置され
た他の第2デ−タ出力手段に出力する複数の加算手段と
を備えており、複数の加算手段のうち最端に配置された
加算手段は、乗算手段からの出力及び特定の入力を加算
して隣接して配置された第2デ−タ出力手段に出力する
乗算器によっても達成される。
【0011】記憶されているデ−タが、2値信号又は3
値以上の4値信号などの多値信号であってもよい。
【0012】
【作用】第1発明の乗算器では、レジスタ変換手段は記
憶されているデ−タをシフトして複数のデ−タを出力
し、乗算手段はレジスタ変換手段に接続されておりレジ
スタ変換手段からの出力を乗算し、加算手段は乗算手段
に接続されており乗算手段から出力された乗算結果を特
定の方法に基づいて加算し、第1シフト手段は加算手段
に接続されており加算手段からの出力をシフトして送
り、第1レジスタは加算手段に接続されておりシフト手
段に基づいてシフトされた加算手段からの出力を記憶
し、第2シフト手段は第1レジスタに接続されており第
1レジスタからの出力をシフトして送り、第3シフト手
段は第2シフト手段に接続されており第2シフト手段か
らの出力を更にシフトし、第2レジスタは第2シフト手
段に接続されておりシフトされた第1レジスタからの出
力を記憶する。
【0013】第2発明の乗算器では、レジスタ変換手段
は記憶されているデ−タをシフトしてシフトされたデ−
タを出力し、複数の第1デ−タ出力手段は第1デ−タを
所定の方法に基づいて出力し、複数の乗算手段はレジス
タ変換手段及び第1デ−タ出力手段に接続されておりレ
ジスタ変換手段からの出力及び第1デ−タ出力手段から
の出力を乗算し、複数の第2デ−タ出力手段は第2デ−
タを所定の方法に基づいて出力し、複数の加算手段は乗
算手段に接続されており乗算手段からの出力、第2デ−
タ出力手段からの出力、並びに特定の入力を加算して隣
接して配置された他の第2デ−タ出力手段に出力し、複
数の加算手段のうち最端に配置された加算手段は、乗算
手段からの出力及び特定の入力を加算して隣接して配置
された第2デ−タ出力手段に出力する。
【0014】
【実施例】以下、図面を参照して本発明の乗算器の実施
例を詳述する。
【0015】図1は、本発明の乗算器の第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実施例であ
る完全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は、本発明の乗算器の第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
加算して隣接して配置された他の第2デ−タ出力手段で
あるW1 ビット回路W1 〜W2nビット回路W2nに出力す
る複数の加算手段である加算回路A1 〜An によって構
成されている。
【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回路をそ
れぞれ表している。
【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
はXEven,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】上述した第1実施例から第3実施例までの
各乗算器に用いられている小数点方法には浮動小数点方
法と固定小数点方法がある。
【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】これをフローチャートにすると、図27の
ようになる。図27のフローチャートで仮数部Xと仮数
部Yとの乗算によって、最上位桁から、キャリが発生す
る場合があるので、p+1→pが実行される。図27の
フローチャート(ステップS1〜S13)及びそれぞれ
の処理を実現する回路は、通常の手段で構成できるの
で、説明を省略する。
【0089】上述したような処理は、固定小数点方法の
場合についても、同じように実現することができる。
【0090】
【発明の効果】第1発明の乗算器は、記憶されているデ
−タをシフトして複数のデ−タを出力するレジスタ変換
手段と、レジスタ変換手段に接続されておりレジスタ変
換手段からの出力を乗算する乗算手段と、乗算手段に接
続されており乗算手段から出力された乗算結果を特定の
方法に基づいて加算する加算手段と、加算手段に接続さ
れており加算手段からの出力をシフトして送る第1シフ
ト手段と、加算手段に接続されておりシフト手段に基づ
いてシフトされた加算手段からの出力を記憶する第1レ
ジスタと、第1レジスタに接続されており第1レジスタ
からの出力をシフトして送る第2シフト手段と、第2シ
フト手段に接続されており第2シフト手段からの出力を
更にシフトする第3シフト手段と、第2シフト手段に接
続されておりシフトされた第1レジスタからの出力を記
憶する第2レジスタとを備えているので、乗算速度を2
倍にでき、クロック周波数を半分にしても乗算速度を低
下させることなく動作の安定性を向上させることができ
る。
【0091】第2発明の乗算器は、記憶されているデ−
タをシフトしてシフトされたデ−タを出力するレジスタ
変換手段と、第1デ−タを所定の方法に基づいて出力す
る複数の第1デ−タ出力手段と、レジスタ変換手段及び
第1デ−タ出力手段に接続されておりレジスタ変換手段
からの出力及び第1デ−タ出力手段からの出力を乗算す
る複数の乗算手段と、第2デ−タを所定の方法に基づい
て出力する複数の第2デ−タ出力手段と、乗算手段に接
続されており乗算手段からの出力、第2デ−タ出力手段
からの出力、並びに特定の入力を加算して隣接して配置
された他の第2デ−タ出力手段に出力する複数の加算手
段とを備えており、複数の加算手段のうち最端に配置さ
れた加算手段は、乗算手段からの出力及び特定の入力を
加算して隣接して配置された第2デ−タ出力手段に出力
するので、乗算速度を2倍にでき、クロック周波数を半
分にしても乗算速度を低下させることなく動作の安定性
を向上させることができる。
【0092】上記乗算器は、2値信号又は3値以上の4
値信号などの多値信号に対しても共用でき、乗算速度を
高速化することができる。
【図面の簡単な説明】
【図1】本発明の乗算器の第1実施例である2ビット並
列直列型乗算器の構成を示すブロック図である。
【図2】本発明の乗算器の第2実施例である完全2ビッ
ト並列直列型乗算器の構成を示すブロック図である。
【図3】本発明の乗算器の第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の各ビット間の接続を説明するためのブ
ロック図である。
【図27】本発明の乗算器による仮数部と指数部の処理
を説明するためのフロ−チャ−トである。
【符号の説明】 11,12,16,19 レジスタ 13,17,18,20 AND回路素子 14 乗算回路 15 加算回路 RC レジスタ変換回路
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年2月10日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正内容】
【図3】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図21
【補正方法】変更
【補正内容】
【図21】

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 記憶されているデ−タをシフトして複数
    のデ−タを出力するレジスタ変換手段と、前記レジスタ
    変換手段に接続されており当該レジスタ変換手段からの
    出力を乗算する乗算手段と、前記乗算手段に接続されて
    おり当該乗算手段から出力された乗算結果を特定の方法
    に基づいて加算する加算手段と、前記加算手段に接続さ
    れており当該加算手段からの出力をシフトして送る第1
    シフト手段と、前記加算手段に接続されており前記シフ
    ト手段に基づいてシフトされた該加算手段からの出力を
    記憶する第1レジスタと、前記第1レジスタに接続され
    ており当該第1レジスタからの出力をシフトして送る第
    2シフト手段と、前記第2シフト手段に接続されており
    当該第2シフト手段からの出力を更にシフトする第3シ
    フト手段と、前記第2シフト手段に接続されており前記
    シフトされた第1レジスタからの出力を記憶する第2レ
    ジスタとを備えていることを特徴とする乗算器。
  2. 【請求項2】 記憶されているデ−タをシフトして当該
    シフトされたデ−タを出力するレジスタ変換手段と、第
    1デ−タを所定の方法に基づいて出力する複数の第1デ
    −タ出力手段と、前記レジスタ変換手段及び前記第1デ
    −タ出力手段に接続されており該レジスタ変換手段から
    の出力及び該第1デ−タ出力手段からの出力を乗算する
    複数の乗算手段と、第2デ−タを所定の方法に基づいて
    出力する複数の第2デ−タ出力手段と、前記乗算手段に
    接続されており該乗算手段からの出力、前記第2デ−タ
    出力手段からの出力、並びに特定の入力を加算して隣接
    して配置された他の該第2デ−タ出力手段に出力する複
    数の加算手段とを備えており、前記複数の加算手段のう
    ち最端に配置された該加算手段は、前記乗算手段からの
    出力及び前記特定の入力を加算して隣接して配置された
    前記第2デ−タ出力手段に出力することを特徴とする乗
    算器。
  3. 【請求項3】 前記記憶されているデ−タが2値信号又
    は3値以上の4値信号などの多値信号であることを特徴
    とする請求項1または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 true JPH05158659A (ja) 1993-06-25
JP3256251B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467298A (en) * 1992-11-26 1995-11-14 Sharp Kabushiki Kaisha Multivalued adder having capability of sharing plural multivalued signals

Families Citing this family (8)

* 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 多値減算器
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467298A (en) * 1992-11-26 1995-11-14 Sharp Kabushiki Kaisha Multivalued adder having capability of sharing plural multivalued signals

Also Published As

Publication number Publication date
JP3256251B2 (ja) 2002-02-12
US5289399A (en) 1994-02-22

Similar Documents

Publication Publication Date Title
US5187679A (en) Generalized 7/3 counters
EP0018519B1 (en) Multiplier apparatus having a carry-save/propagate adder
US5280439A (en) Apparatus for determining booth recoder input control signals
JPS6132437Y2 (ja)
US6018758A (en) Squarer with diagonal row merged into folded partial product array
JPH0831025B2 (ja) 乗算回路
US6370556B1 (en) Method and arrangement in a transposed digital FIR filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter
JP3256251B2 (ja) 乗算器
JP3556950B2 (ja) 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法
EP1672481B1 (en) Division and square root arithmetic unit
US4677583A (en) Apparatus for decimal multiplication
JPH02293929A (ja) デジタルシステム乗算の方法及び装置
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
Al-Khaleel et al. Fast and compact binary-to-BCD conversion circuits for decimal multiplication
JP3660075B2 (ja) 除算装置
US4118786A (en) Integrated binary-BCD look-ahead adder
JPH076024A (ja) 十進数乗算器
JP2606326B2 (ja) 乗算器
JP2606339B2 (ja) 乗算器
JPH01251133A (ja) 乗算回路及び方法
JP2777265B2 (ja) 高基数開平演算装置
Swartzlander Jr The negative two’s complement number system
JP2864598B2 (ja) ディジタル演算回路
JPH02114324A (ja) 乗算器
JP2568608B2 (ja) 乗算回路

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