JPS59172040A - 乗算回路 - Google Patents

乗算回路

Info

Publication number
JPS59172040A
JPS59172040A JP4749283A JP4749283A JPS59172040A JP S59172040 A JPS59172040 A JP S59172040A JP 4749283 A JP4749283 A JP 4749283A JP 4749283 A JP4749283 A JP 4749283A JP S59172040 A JPS59172040 A JP S59172040A
Authority
JP
Japan
Prior art keywords
output
shift
register
circuit
adder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4749283A
Other languages
English (en)
Inventor
Takahiko Sakai
酒井 高彦
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4749283A priority Critical patent/JPS59172040A/ja
Publication of JPS59172040A publication Critical patent/JPS59172040A/ja
Pending 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/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は乗算回路の改良に関する。
〔発明の技術的背景〕
こ、の種の乗算回路は一般に第1図に示されるように構
成されている。図中、1,2.3はnビットのレジスタ
であヲ)、初期状態においてレジスタIには被乗数、レ
ジスタ2には数値「釦、レジスタ3には乗数がそれぞれ
初期設定される。
ここで乗数は必ず正とする。したがって初期設定のため
には前処理が必要である。レジスタ3の出力め最下位ビ
ットは線路Lll  を介して選択回路4に供給される
。選択回路4は線路Lllの論理状態に応じ、線路L1
2  を介して供給されるレジスタlの出力または数値
「0」のいずれか一方を選択する。選択回路4の選択出
力は線路L1.y  を介1.て加算器5へ供給される
。この加算器5には線路LI4  を介してレジスタ2
の出力も供給されている。加算器5は線路L1g。
L74 を介1.で供給される上記各出力を加算1゜て
その加算結果を線路L15 へ出力する。
加算器5のオーバーフロー出力および符号出力はそれぞ
れ線路L r 6. I、17 を介I7て排他的論理
和回路6に供給される。一方、加算器5の加算結果であ
る線路L15  の内容は1ビツトシフトを行なうシフ
ト回路7に供給され、右に1ピツ)・たけシフトされる
。このシフト回路7には排他的論理和回路6の出力がシ
フトインデータと【7て線路1.、1 B  を介して
供給される。また、レジスタ3の出力は線路Lr9  
を介して1ビツトシフトを行なうシフト回路8に供給さ
れ、右に1ビツトだけシフトされる。このシフト回路8
にはシフト回路7のシフトアウトデータがシフトインデ
ータとして線路L2θ を介して供給される。1、か1
.てシフト回路7の出力は線路■、21 を介してレジ
スタ2に置数され、シフト回路8の出力は線路L22 
を介してレジスタ3に置数される。は−ヒの動作がn回
繰り返されることにより、積がレジスタ2.3に設定さ
れる。
〔背優技術の問題点〕
このように従来の乗舒回路では、シフト回路へのシフト
インデータは、加廓器から出力さhる加算結果のオーバ
ーフロー出力と符吋出力との排他的論理和をとることK
より生成されていた。しかし、加算器においては、オー
バーフローと符彎の出力タイミングは加算結果の出力タ
イミングより遅れるのが一般的であり、かつ排他的論理
和回路での遅れが加わるため、シフトインデータの生成
タイミングが加算結果の出力タイミングよI)著しく遅
れる欠点があった。このため、乗算のせイクルタイムが
長くなり、高速化を阻む一因となっていた。
〔発明の目的〕
本発明は上記事情に鑑みて々されたものでその目的は、
加算器の加算結果を1ビツト右シフトするシフト/1手
段にシフトインデータを訓速供給で入る乗算回路を提供
することにある。
〔発明の概要〕
本発明は、初期状態においては乗数の最下位ビットの論
理値を保持する一方、当該乗数を記憶し、かつ1ビツト
ずつ右シフトする記憶手段(第2記憶手段)の記憶内容
の最下位ビットの論理値が1”となると以後論理値“1
″を保持する記憶手段(第3記憶手段)と、この記憶手
段の1ビツトの保持内容に応じて被乗数の最上位ビット
または論理値”0″のいずれか一方をシフトインデータ
としてシフト手段に選択的に供給する手段とにより、加
算器を通過させることなくシフトインデータを生成する
ようにしたものである。
〔発明の実施例〕
以下、本発明の一実施例を図面を参照して説明する。な
お、第1図と同一部分には同一符号を付して詳細ガ説明
を省略する。第2図は乗神回路の構成を示すもので、L
41  は初期状態において乗数を乗算回路内に導くた
めの線路、31は初期状態のと六にはL41  を介I
7て供給される乗数を選択し、乗算が行なわれていると
きには前記■、22 を介1.て供給されるシフト回路
8の出力を選択する選択回路である。1・42は選択回
路31の選択出力をレジスタ3に導くための線路、Li
2 は線路4Iの最下位ビットを後述する選択回路33
に導くための線路である。32はレジスタ3の出力の最
下位ビットの次のビットおよび後述するフリップフロッ
プ(以下、F/F  と称する)34の出力が入力され
るオアゲート、33は初期状態のときにはLi2  を
介して供給される乗数の/i−F位ビットを選択し、乗
算が行なわれているときにはオアゲート32の出力を選
択する選択回路である。
34は選択回路33の選択出力を記憶するF/F(フリ
ップフロップ)、L44 はF/F34の出力をオアゲ
ート32の一方の入力端子に導く線路である。L45 
はレジスタ3の出力の最下位ビットの次のビットをオア
ゲート32の他方の入力端子に導く線路、L46  は
オアゲート32の出力を選択回路33に導く線路、1.
47 は選折回路33の出力をF/F、?4に導く線路
である。
35けレジスタIの出力の最上位ビットまたは論理値”
0”のいずれか一方を選択する選択回路、L4B  は
レジスタlの出力の最上位ビットを選択回路35に導く
線路である。選択回路35の選択出力はシフトインデー
タとして前記線路L1B  を介してシフト回路7に供
給される。選択回路35の選択制御信号には、F/F 
34の出力が用いられており、Li2 はF/F、94
の出力を選択制御信号として選択回路35に導くための
線路である。
次に第2図の構成の動作を説明する。まず、乗置開始に
先立ってレジスタIには被乗数が、レジスタ2には数値
「0」が置数される。ここで、乗数はすでに正となるよ
うに前処理が施されているものとする。すなわち乗数が
負であったならば、乗数、被乗数ともに一1倍される。
初期設定時において乗数が線路L41  を介1.て選
択回路3Iに供給されると、線路L4?  上の乗数は
選択回路3Iにより選択されレジスタ3に供給される。
これによりレジスタ3には乗数が置数される。このと舞
、同時に乗数の最下位ビットが線路L43  を介して
選択回路33に供給され、当該最下位ビットは選択10
1路33によ11選択されてF/P 34に供給される
。これによil F/F34 には乗数の最下位ビット
が保持される。
以上で初期設定が完了する。
初期設定が完了すると乗算が開始される。選択回路4は
レジスタIの出力または数値[ののいずれか一方を、線
路L 11の状態すなわちレジスタ3の出力の最下位ビ
ットの論理値に応じて選択する。選択回路4は、レジス
タ3の出力路4の選択出力は加算器5に供給される。こ
の加算器5にはレジスタ2の出力も供給される。
しかして、加算器5において選択10回路4の選択出力
とレジスタ2の出力とが加算され、部分積が求められる
。加算器5の加算結果は線路L15に出力される。線路
L ? 5  の内容はシフト回路7で右に1ピツトシ
フトされ、その出力(シフト後の出力)は線路L21 
 を介してレジスタ2に供給される。また、シフト回路
7のシフトアウトデータ(1ピツト)はシフトインデー
タとじてシフト回路8に供給される。シフト回路8をオ
シフト回路7のシフトアウトデータをシフトインしなが
ら、レジスタ3の出力を右へ1ピツトシフトする。この
シフト回路7の出力は線路l−22、選択回路31、線
路L42  を順に介してレジスタ3に供給される。し
かして部分積が対応する乗算サイクルの終了時にレジス
タ2゜3に設定される。
ところで、加算器5における加算処理において、オーバ
ーフローが発生する可能性がある。
■、かじ、加算器5の加算結果はシフト回路7によって
右に1ピツトシフトされるので、このと券オーバーフロ
ーによる1ピツトのビット落ちをシフトインデータとし
てシフト回路7に供給すれば、正しいデータすなわち部
分積が線路L21  に出力されるはずである。加算器
5における加算は、レジスタ2の内容にレジスタ7 (
7)内容を加えるか、或いはレジスタ2の内容に数値「
0」を加えるかのいずれかである。また、レジスタ2の
初期値rOJであることから、加算結果の符号は常にレ
ジスタIの最上位ビット、スなわち符号ビットと同じで
ある。したプ)−って、この場合、シフト回路7への?
/フトインヂータとしてレジスタIの最上位ビットを供
給することにより、シフト回路7から正しい符号ビット
が付加された正しい部分積が出力されるはずである。し
かし、乗数の最下位ビットが0”の場合、更には乗数の
最下位ビットより連続する幾つかのビットがすべて”0
″である場合には、シフトインデータとして次に述べる
ように符号ビットではなく0”を供給する必要がある。
すなわち、乗数が上述のような場合、初期状態において
レジスタ3の出力の最下位ピッ)”0”であ:〕、選択
回路4からはレジスタlの出力でなく数値巾」が加算器
5に選択出力される。このと〜、レジスタ2の出力は前
述1.たように「O」(初1す1値)であ1〕、加算器
5の加算結果は「0」となる。したがって、この場合に
は、上記シフトインデータとして0′”を供給しなけれ
ばならない。ところが、いったんレジスタIの出力が加
算器5に出力されると、それ以後は部分積は「0」では
々くなるので、シフト回路7へのシフトインデータと1
7ては、常にレジスタlの最上位ビットを用いればよい
そこで本実施例では、従来のように加算器5のオーバー
フロー出力と符号出力との排他的論理和をとり、その排
他的論理和出力をシフトイソデータとしてシフト回路7
に供給するのでは々く、上述した原理に着目1てレジス
タIの最上位ビットまたは論理”0“′データのいずれ
か一方をシフトインデータとして選択的にシフト回路7
に供給するようにしている。これを実現するのが、主と
1−で選択回路33,35、およびF/F34である。
ここで、選択回路35はレジスタIの出力の最上位ビッ
トまたは論理”ONデータのいずれか一方をシフトイン
データと17てシフト回路7に選択出力する回路であ1
)、この選択回路35を割判するのがF/F34の出力
である。F/F 34は次に示すように加蜀器5の加算
結果が「O」と々るか否かを示すもので、F/F34の
出力が”o”の場合に当該加算結果1−0.1となるこ
とを示り、、同じくパ1”の場合に10」とならないこ
とを示すようにガっている。そして、F/F34の出力
が”0″の場合、論理“0”データが、同じく1″′の
場合、レジスタIの出力の最上位ビットが選択回路35
からシフト回路7に選択出力されるようKすることで、
上述した原理を実現1.ている。
最初の乗算サイクルにおいて加算器5の加算結果が「(
ト)となるか否かは、i11述1.たように加算器5に
対17選択回路4から数値「0」が選択出力されるか、
或いはレジスタ1の内容が選択出力されるか、すなわち
レジスタ3のf出力の最下位ビット(最初の乗算サイク
ルでは乗数の最下位ビット)が”0°′であるか否かで
決定される。
そこで本実施例では、前述し、たように初期状態におい
て、選択回路33を介して乗数の最下位ビットをF/F
34に供給し、当該F/F 34に保持させることによ
り、最初の乗算せイクルにおいて選択回路35が”ON
またはレジスタIの出力の最上位ビットのいずれをシフ
トインデータとして選択すべきかを最初の乗算サイクル
開始前に決定で〜るようにしている。この結果、加算器
5から最初の加算結果が出力された時には、速やかにシ
フト回路7を動作させることができる。
前述の動作説明から明らかなように、いったんレジスタ
Iの内容が選択回路4から加算器5に選択出力されると
、次の乗算サイクルからはレジスタ2の内容が(イ)」
では々くなる。こう々ると、たとえレジスタ3の最下位
ビットが0″で選択回路4から数値[01が加算55に
選択されたと[7ても、J1]1算器5の加算結果はr
OJと々らない。17たがってこの場合には、F/F 
34の出力が”1″となってレジスタIの出力の最上位
ビットがシフトインデータとして選択回路35からシフ
ト回路7に選択出力される・必要がある。
これを実現するのが主としてオアゲート32、選択回路
33である。
選択回路33は、初期状態では線路T、 43を介[7
て供給される乗数の最下位ビットを、乗算の期間中はオ
アゲート32の出力をF/ F” 、94に選択出力し
ている。オアゲート32の出力は、レジスタ3の出力の
最下位ビットの次のビットと、F/F34の出力の論理
和出力である。t2かして、F/F 34には選択回路
33を介I7て供給されるオアゲート32の出力が乗算
サイクルの終了毎に保持される。本実施例においてこの
タイミングは、シフト回路7.8の各出力が乗算サイク
ルの終了時にレジスタ2.3に置数されるタイミングと
同じである。初期状態においてF/F34の出力が11
″の場合、最初の乗曽ぜイクルの終了時には当該F/F
 34の論理”1”出力がオアゲート32、選択回路3
3を介1.てF/F、94に保持される。これは以後の
乗算サイクルでも同じである。すなわち、初期状態にお
いてF/F34の出力が1”の場合、対応する乗算動作
の期間中当該F/F34の出力は1”となる。ところで
、初期状態においてF/F 34 の出力が1″の場合
、す々わち乗数の最下位ビットが”1”の場合、加算器
5の加算結果は最初の乗算サイクルから最後まで「O−
1とは々らない。この場合、選、折回路35からは各乗
算ぜイクルにおいて常にレジスタlの出力の最上位ビッ
トがシフトインデータと[2てシフト回路7に選択出力
される必要があるが、上述の如くF/F34の出力は常
に1″であるため、このことは正しく実行される。
一方、初期状態においてF/F 34の出力が”0”の
場合(すなわち乗数の最下位ビットが”0”の場合)に
は、最初の乗算せイクルの終了時のF/F、94の状態
はレジスタ3の出力の最下位ビット(この場合には乗数
の最下位ビット)の次のビットの状態に一致する。この
時点におけるレジスタ3の出力の最下位ビットの次のビ
ットは、次の乗数サイクルの開始時にはレジスタ3の出
力の最下位ビットにシフトさhる。レジスタ3の出力の
最下旬ビットは、前述したように選択回路4がレジスタ
lの出力、または数値「01のいずれを選択するかを決
定するのに用いられる。したがって、成る乗算サイクル
において出力値が0”のF/F34は、当該ザイクル終
了時においてレジスタ3の出力の最下位ビットの次のビ
ットの状態を保持することで、次の乗算サイクルにおい
て加算器5の加算結果が初めてro、lでなくなるかど
うかを示すことになる。
そして、成る乗算せイクルの終了時にF/F 34の出
力がいったん”1″に々ると(すなわち成る乗算サイク
ルの次のサイクルでレジスタ3の出力の最下位ビットの
論理“1″状態に応じてレジスタlの出力が選択回路4
から加算器5に選択出力され、加算器5の加算結果が初
めて「川でなくなると)、前述したようにF/F34の
出力は論理”1”状態を保つ。
なお、前記実施例では、レジスタ2とシフト回路7、レ
ジスタ3とシフト回路8の如くレジスタとシフト回路と
をそれぞれ独立して設けた場合について説明1.だが、
並列入力/並列出方可能なシフトレジスタを用いてもよ
い。
〔発明の効果〕
以上詳述tまたように本発明によれば、加算器の加算結
果を1ピツト右シフトするシフト//;’手段に供給す
べきシフトインデータが当該加算結果の出力前に決定さ
れるので、シフトインデータの高速供給が行なえる。こ
れにより、乗算の高速化が図れる。
【図面の簡単な説明】
第1図は従来の乗算回路の回路構成図、第2図は本発明
の乗算回路の一実施例を示す回路構成図である。 1.2.3・・・レジスタ、4,31,33.35・・
・選択回路、5山加i#器、7.8・・・シフト回路、
34・・・フリップフロップ(F/F )。 出願人代理人  弁即士 鈴 江 武 彦第1図

Claims (1)

    【特許請求の範囲】
  1. 薬臭および第2オペランドの代数2進和を発生する加算
    器と、この加算器に対し7、上記第1オペランドとして
    被乗数または数値rOJを選択的に供給する手段と、上
    記加算器の出力による部分積を記憶し、かつ上記第2オ
    ペランドを上記加算器に供給する第1記憶手段と、この
    第1記憶手段に上記加算器の出力を1ピット右シフト1
    .て供給するシフト手段と、乗数を記憶し、かつ1ピツ
    トずつ右シフトする第2記憶手段と、初期状態において
    は上記乗数の最下位ビットの論理値を保持12、上記第
    2の記憶手段の記憶内容の最下位ビットの論理値が”1
    ”となると以後論理値”1”を保持する第3記憶手段と
    、この第3記憶手段の保持内容に応じて上記被乗数の最
    上位ビットまたは論理値゛0”のいずれか一方をシフト
    インデータとして上記シフト手段に選択的に供給する手
    段とを具備することを特徴とする乗算回路。
JP4749283A 1983-03-22 1983-03-22 乗算回路 Pending JPS59172040A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4749283A JPS59172040A (ja) 1983-03-22 1983-03-22 乗算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4749283A JPS59172040A (ja) 1983-03-22 1983-03-22 乗算回路

Publications (1)

Publication Number Publication Date
JPS59172040A true JPS59172040A (ja) 1984-09-28

Family

ID=12776610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4749283A Pending JPS59172040A (ja) 1983-03-22 1983-03-22 乗算回路

Country Status (1)

Country Link
JP (1) JPS59172040A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63172337A (ja) * 1987-01-09 1988-07-16 Matsushita Electric Ind Co Ltd 乗算回路
JPH01100626A (ja) * 1987-10-14 1989-04-18 Matsushita Electric Ind Co Ltd 小数乗算器
JPH01103738A (ja) * 1987-10-16 1989-04-20 Matsushita Electric Ind Co Ltd 小数乗算器
JPH01229322A (ja) * 1988-03-09 1989-09-13 Matsushita Electric Ind Co Ltd 小数乗算器を有するマイクロプロセッサ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63172337A (ja) * 1987-01-09 1988-07-16 Matsushita Electric Ind Co Ltd 乗算回路
JPH01100626A (ja) * 1987-10-14 1989-04-18 Matsushita Electric Ind Co Ltd 小数乗算器
JPH01103738A (ja) * 1987-10-16 1989-04-20 Matsushita Electric Ind Co Ltd 小数乗算器
JPH01229322A (ja) * 1988-03-09 1989-09-13 Matsushita Electric Ind Co Ltd 小数乗算器を有するマイクロプロセッサ

Similar Documents

Publication Publication Date Title
GB1129660A (en) Data processors
JPS5862746A (ja) 割算装置
JPH0667851A (ja) オーバーフロー検出機能付き乗算装置
JPS59172040A (ja) 乗算回路
CN101981542B (zh) 多项式数据处理运算
US4641278A (en) Memory device with a register interchange function
US3710327A (en) Synchronous communications adapter
JPH0640337B2 (ja) パイプライン演算装置
JPH0644051A (ja) マイクロコンピュータ
US5978957A (en) Very fast pipelined shifter element with parity prediction
JP2845780B2 (ja) データ転送制御回路
JP2661150B2 (ja) データ転送装置
JPS5839347A (ja) プロセツサ
JPS6188334A (ja) 除算回路
JPH04330519A (ja) 乗算回路
KR100237760B1 (ko) 고속 데이타 증감장치
KR960015210A (ko) 수퍼스칼라 마이크로프로세서 정수 실행 유닛의 구조
JPS6115273A (ja) ベクトル演算処理装置
JPH02202649A (ja) 部分書込みフラグ発生方法及びその装置
EP0333306A2 (en) Integrated and programmable processor for word-wise digital signal processing
JPH04242425A (ja) 10進乗算器
JPS6194151A (ja) パリテイチエツク回路
JPS5617454A (en) Information processor
JPH0812600B2 (ja) 並列データ処理制御方法
JPH0792902A (ja) プログラマブルコントローラ