JPS6236255B2 - - Google Patents

Info

Publication number
JPS6236255B2
JPS6236255B2 JP3697180A JP3697180A JPS6236255B2 JP S6236255 B2 JPS6236255 B2 JP S6236255B2 JP 3697180 A JP3697180 A JP 3697180A JP 3697180 A JP3697180 A JP 3697180A JP S6236255 B2 JPS6236255 B2 JP S6236255B2
Authority
JP
Japan
Prior art keywords
register
multiplicand
decoder
stored
addition
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
Application number
JP3697180A
Other languages
English (en)
Other versions
JPS56135240A (en
Inventor
Shinji Nishibe
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
Tokyo Shibaura Electric Co Ltd
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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP3697180A priority Critical patent/JPS56135240A/ja
Publication of JPS56135240A publication Critical patent/JPS56135240A/ja
Publication of JPS6236255B2 publication Critical patent/JPS6236255B2/ja
Granted 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
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA

Description

【発明の詳細な説明】
本発明は2進数の乗算回路に関する。 情報処理装置における中央処理装置の処理能力
を評価する場合、算術演算命令の性能を評価の対
象として用いられる場合がる。もちろん算術演算
命令の性能が計算機処理能力を代表するものでは
あり得ないが、目安として今後とも評価基準の一
つとして使用されよう。算術演算命令の中でも特
に乗算命令はその代表格であり、乗算命令の高速
化にいろいろな工夫がなされている。 2進数の乗算命令の高速化に関してはいろいろ
な方式があり、一長一短がある。特に最も簡単な
高速化手段として4進乗法が知られている。この
4進乗法によれば、乗数の2ビツトを同時に処理
するため、1ビツト処理に対して約2倍の性能が
得られる。 第1図に、4進乗法による従来の乗算回路を示
す。同図において、10は部分積(中間結果)が
格納されるレジスタである。このレジスタ10の
内容は演算開始前にクリアされる。11は被乗数
が格納されるレジスタである。12は乗数が格納
されるレジスタである。このレジスタ12は演算
サイクル毎に2ビツト右シフトする機能を有して
いる。13は1ビツトの拡張ビツトである。14
はレジスタ12の下位2ビツトと拡張ビツト13
の計3ビツトをデコードするデコーダである。こ
のデコーダ14の出力によつて加減算数の選択
と、加算あるいは減算モードの決定が行なわれ
る。15はセレクタ、16は演算回路、例えば加
減算回路、17は被乗数の倍数が選択出力される
セレクタである。なお、1倍の被乗数はレジスタ
11に格納されている被乗数をそのままセレクタ
17を介して出力することにより得られる。2倍
の被乗数はレジスタ11に格納されている被乗数
を1ビツト左にシフトし、セレクタ17を介して
出力することにより得られる。 次に、第1図の動作を、被乗数5(2進数
0101)、乗数7(2進数0111)を一例にとつて説
明する。まず、演算の開始時に、被乗数5、乗数
7の2進数がレジスタ11,12に格納される。
ところで乗数を2ビツトづつチエツクする乗算方
法では、その組み合せが以下の4通りである。 “00” (0を加える) “01” (被乗数×1を加える) “10” (被乗数×2を加える) “11” (被乗数×3を加える) 上記の組み合せのうち、“00”、“01”、“10”につ
いてはゼロ又は被乗数より作ることのできる倍数
を使用して部分積と加算することができる。しか
し“11”については被乗数×3のデータが必要と
なり、そのデータを作る為のハードウエアを持つ
必要が生じる。この問題を解決した4進乗法では
1ビツトの拡張ビツト13を設けて、1ビツトオ
ーバーラツプした3ビツトのチエツク方式とな
る。そして、デコーダ14に入力される3ビツト
のデータと、デコーダ14の出力(即ち、加算す
べき被乗数の倍数および加算減回路16の演算モ
ード)との関係は下表に示す通りとなる。
【表】 次に、乗数7(2進数“0111”)の場合、デコ
ーダ14から得られる情報および加減算回路16
における乗算動作を第2図を用いて説明する。 まず、レジスタ12に格納されている乗数7
(0111)の下位2ビツト“11”と拡張ビツト13
情報“0”とがデコーダ14に入力される。上記
表から明らかなように、デコーダ14から1倍
の被乗数を選択する情報と、減算モードの情報と
が出力される。そして、デコーダ14からの選択
情報によりセレクタ17から1倍の被乗数が加減
算回路16のY端子に入力される。また加減算回
路16のX端子にはレジスタ10の“0”情報が
入力される。従つて、加減算回路16はデコーダ
14からの減算モード情報によりX―Yの減算処
理が実行される。実際には第2図のNo.1に示すよ
うに被乗数の2の補数をとつた加算処理が実行さ
れる。この演算で得られた部分積は2ビツトシフ
トされた後、セレクタ15を介してレジスタ10
に入力される。また、レジスタ12の乗数は2ビ
ツトシフトされる。 次の演算サイクルでは1ビツトオーバーラツプ
した次の乗数3ビツト“011”がデコーダ14に
てデコードされる。上記表から明らかなよう
に、この時デコーダ14から2倍の被乗数を選択
する情報と、加算モードの情報とが出力される。
そして、デコーダ14からの選択情報によりセレ
クタ17から2倍の被乗数が加減算回路16のY
端子に入力される。また、加減算回路16のX端
子にはレジスタ10に格納された部分積が入力さ
れる。従つて、加減算回路16ではデコーダ14
からの加算モード情報により、第2図No.2に示す
X+Yの加算処理が実行される。この演算で得ら
れた部分積をシフトして、桁合せが行なわれた結
果が乗数結果35(2進数“100011”)となる。即
ち、乗数7に対して、第1回目の演算では被乗数
を―1倍し、第2回目の演算では被乗数を2倍し
たが、実際には2の重みを考えると8倍したこと
になる。そして、1回目の部分積と2回目の倍数
が加算されると(8倍の被乗数―1倍の被乗数)
=7倍の被乗数となり、上記の乗算結果が求めら
れる。なお、乗算回数は乗数の有効桁数などから
求めることができるが、ここでは省略する。 しかし、上記した従来例ではハードウエア量が
多く、ま演算回路バスの伝播遅延時間に難点があ
つた。その理由は被乗数の倍数を作るセレクタ1
7を必要とすることにある。即ち、セレクタ17
の為にハードウエア量が増え、更にセレクタ17
の遅延時間が全体の演算サイクル時間に悪影響を
及ぼすことになる。 本発明は上記の実情に鑑みなされたもので、ハ
ードウエア量を少なくし、且つ高速乗算が行なえ
る乗算回路を提供することを目的とする。 第3図は本発明の乗算回路の一実施例を示すブ
ロツク図である。同図において第1図と同一部分
には同一番号を付して、その説明は省略する。た
だし、被乗数が格納されるレジスタ11は左右1
ビツトのシフト機構を有している。即ち、レジス
タ11に格納されている被乗数の内容をシフト機
能によつて、1倍の被乗数あるいは2倍の被乗数
とすることができる。20は例えばJ―Kフリツ
プフロツプである。このフリツプフロツプ20は
演算開始前にリセツトされ、演算中はレジスタ1
1に格納されている被乗数の状態を表示する。例
えば、フリツプフロツプ11のQ出力が“1”の
時、レジスタ11には2倍の被乗数が格納されて
いることを示す。また出力が“1”の時、レジ
スタ11には1倍の被乗数が格納されていること
を示す。なお、フリツプフロツプ11のR端子に
はリセツト信号が、またC端子にはクロツク信号
が印加される。30,40はANDゲートであ
る。ANDゲート30はフリツプフロツプ20の
Q出力とデコーダ14の1倍の倍数情報とのアン
ドをとる。ANDゲート40はフリツプフロツプ
20の出力とデコーダ14の2倍数情報とのア
ンドをとる。このANDゲート30の出力はレジ
スタ11のシフトライトゲートSRに入力される
と共に、ORゲート50に入力される。またAND
ゲート40の出力はレジスタ11のシフトレフト
ゲートSLに入力されると共に、ORゲート50に
入力される。ORゲート50の出力はフリツプフ
ロツプ20のJおよびK端子に入力される。即
ち、ORゲート50から論理“1”の信号が出力
される時、クロツク信号と同期してフリツプフロ
ツプ11の表示状態が反転される。 次に、上記した本発明の動作原理について説明
する。即ち、本発明ではある演算サイクルにおい
て、加減算処理が行なわれている時、同時に乗数
の次のチエツクすべき3ビツトがデコーダ14で
デコードされる。そして、次のサイクルでは如何
なる倍数が選択されるべきであるかを前以つて決
定される。この決定に応じて、レジスタ11の被
乗数をそのままにすべきか、それとも右あるいは
左に1ビツトシフトすべきかが、ANDゲート3
0,40、フリツプフロツプ20により決定さ
れ、その決定に基づきレジスタ11の被乗数が更
新され、次の演算サイクルの倍数が作成される。 次に、乗数7(2進数0111)、被乗数5(2進
数0101)とした場合の乗算を説明することにす
る。演算の開始前に、フリツプフロツプ20はリ
セツトされ、またレジスタ11には1倍の被乗数
が格納される。そして、乗数の下位2ビツトと拡
張ビツト13の3ビツト“110”がデコーダ14
にてデコーダされ、表に示すように1倍の倍数
情報と減算モード情報がデコーダ14から出力さ
れる。しかし、フリツプフロツプ20がリセツト
されていることから、1倍の倍数情報がANDゲ
ート30に入力されたとしても、ANDゲート3
0およびANDゲート40は導通しない。従つ
て、レジスタ11の被乗数は何も更新されず、そ
のまま、加減算回路16のY端子へ入力される。
一方、加減算回路16のX端子にはレジスタ10
から最初の部分積「ゼロ」が入力される。そし
て、加減算回路16では第2図No.1に示す1回目
の演算が行なわれる。 この演算動作と並行して、本発明ではレジスタ
12の乗数が2ビツトシフトされ、次にチエツク
される3ビツトのデータがデコーダ14に入力さ
れる。そして、次の演算サイクルにおけるレジス
タ11の被乗数の倍数がデコーダ14の出力に基
づき設定される。即ち、この例では次にチエツク
される3ビツトは“011”であるからデコーダ1
4から2倍の倍数情報が出力される。従つて、
ANDゲート40が導通し、論理“1”の信号が
レジスタ11のシフトレフトゲートSLに入力さ
れるため、レジスタ11の被乗数は左に1ビツト
シフトされる。この結果、レジスタ11には2倍
の被乗数が設定されたことになる。なお、AND
ゲートの出力信号がORゲート50を介してフリ
ツプフロツプ20のJおよびK端子に入力される
ため、フリツプフロツプ11はクロツク信号の入
力タイミングで反転し、セツト状態となる。従つ
て、フリツプフロツプ11はレジスタ11に2倍
の被乗数が設されていることを表示する。 そして、1回目の演算が終了すると、加減算回
路16から得られる部分積は2ビツトシフトされ
た後、セレクタ15を介してレジスタ10に保持
される。しかして、既にレジスタ11には2倍の
被乗数が設定されており、且つ、デコーダ14か
ら加算モード情報出力が出力されているから、レ
ジスタ10,11のデータが加減算回路16に入
力され、直ちに2回目の演算が開始される。2回
目の演算は第2図No.2に示す通りであり、この後
の処理も従来例と同様なので省略する。この動作
例では乗数の有効桁がもう存在しないので、次の
演算サイクルの為の被乗数の設定を行なわない
が、もし乗数の有効桁が存在する場合、2回目の
演算と並行して、上記と同様に次の演算サイクル
に備えて被乗数が設定される。 なお、フリツプフロツプ20の状態と、デコー
ダ14から得られる次の演算の倍数情報とによつ
て制御されるレジスタ11の被乗数の更新内容は
下表に示す通りとなる。
【表】 また、次の演算サイクルにおける被乗数の値が
ゼロである場合は、デコーダ14から加減算回路
16へ0倍の倍数情報が出力される。この時、加
減算回路16では演算動作が行なわれず、単にレ
ジスタ11から出力された部分積が通過するだけ
の処理にとどまる。そして、加減算回路16から
出力されたデータは2ビツトシフトされ、部分積
として再びレジスタ11へ格納される。 以上、説明のように本発明によれば、演算の遅
延時間が短縮でき、しかもハードウエア量を少な
くした乗算回路を実現することができる。 なお、上記の実施例において加減算回路は単な
る加算回路であつてもよい。また実施例ではレジ
スタ11に被乗数を格納するように説明したが、
レジスタ11に乗数、レジスタ12に被乗数をそ
れぞれ格納しても同じ処理が行なえる。また、本
発明の乗算回路は浮動小数点演算装置等にも適用
可能である。
【図面の簡単な説明】
第1図は従来の乗算回路の構成を示すブロツク
図、第2図は乗算回路の演算過程を示す図、第3
図は本発明の乗算回路の構成を示すブロツク図で
ある。 10,11,12…レジスタ、14…デコー
ダ、16…加減算回路、20…フリツプフロツ
プ、30,40…ANDゲート、50…ORゲー
ト。

Claims (1)

  1. 【特許請求の範囲】 1 部分積が格納される第1のレジスタと、左右
    1ビツトのシフト機能を有するシフトレジスタで
    構成され被乗数が格納される第2のレジスタと、
    この第2のレジスタに何倍の被乗数が格納されて
    いるかを表示するフリツプフロツプと、前記第1
    および第2のレジスタから出力されたデータが入
    力され、所望の演算処理が実行される演算回路
    と、この演算回路で演算が実行されている時、前
    記フリツプフロツプから出力される倍数表示情報
    と乗数より得られる次の演算サイクルの倍数情報
    とにより前記第2のレジスタのシフトを制御する
    手段とを具備することを特徴とする乗算回路。 2 前記第2のレジスタに格納されている被乗数
    が前記シフト制御手段により右または左に1ビツ
    トシフトされた時、前記フリツプフロツプの表示
    内容を反転させることを特徴とする特許請求の範
    囲第1項記載の乗算回路。
JP3697180A 1980-03-25 1980-03-25 Multiplying circuit Granted JPS56135240A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3697180A JPS56135240A (en) 1980-03-25 1980-03-25 Multiplying circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3697180A JPS56135240A (en) 1980-03-25 1980-03-25 Multiplying circuit

Publications (2)

Publication Number Publication Date
JPS56135240A JPS56135240A (en) 1981-10-22
JPS6236255B2 true JPS6236255B2 (ja) 1987-08-06

Family

ID=12484623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3697180A Granted JPS56135240A (en) 1980-03-25 1980-03-25 Multiplying circuit

Country Status (1)

Country Link
JP (1) JPS56135240A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2538579B1 (fr) * 1982-12-23 1988-08-19 Thomson Csf Operateur elementaire, notamment pour multiplieur du type en cascade
JPS60144826A (ja) * 1984-01-05 1985-07-31 Nec Corp 演算処理装置

Also Published As

Publication number Publication date
JPS56135240A (en) 1981-10-22

Similar Documents

Publication Publication Date Title
JP3729881B2 (ja) 並列加算および平均演算を行うための回路およびその方法
JPH07200260A (ja) 単一プロセッサにおける並列データ処理
EP0136834A2 (en) A digital circuit performing an arithmetic operation with an overflow
US4592005A (en) Masked arithmetic logic unit
JPS6351287B2 (ja)
JP3442192B2 (ja) データ駆動型情報処理装置
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
JPS6227412B2 (ja)
JPH07107664B2 (ja) 乗算回路
JPS6236255B2 (ja)
US3417236A (en) Parallel binary adder utilizing cyclic control signals
JPS638971A (ja) 多項式ベクトル演算実行制御装置
US4611273A (en) Synchronized microsequencer for a microprocessor
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JPS6125166B2 (ja)
US5018092A (en) Stack-type arithmetic circuit
JPH07248918A (ja) マイクロプロセッサ
JPH02100127A (ja) データ処理装置
JP3088956B2 (ja) 演算装置
JPH0588893A (ja) 並列演算処理装置
JPH0580690B2 (ja)
JPH04330519A (ja) 乗算回路
SU896623A1 (ru) Устройство управлени конвейерным вычислительным устройством
JPS5971544A (ja) 乗算処理装置
JP3139011B2 (ja) 固定小数点プロセッサ