JPS59173842A - 固定小数点実数用乗算器を用いた等価的整数乗算装置 - Google Patents

固定小数点実数用乗算器を用いた等価的整数乗算装置

Info

Publication number
JPS59173842A
JPS59173842A JP4926983A JP4926983A JPS59173842A JP S59173842 A JPS59173842 A JP S59173842A JP 4926983 A JP4926983 A JP 4926983A JP 4926983 A JP4926983 A JP 4926983A JP S59173842 A JPS59173842 A JP S59173842A
Authority
JP
Japan
Prior art keywords
bits
integer
data
multiplier
bit
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
JP4926983A
Other languages
English (en)
Inventor
Shigeharu Hasu
蓮 重晴
Morio Ikezaka
守夫 池坂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4926983A priority Critical patent/JPS59173842A/ja
Publication of JPS59173842A publication Critical patent/JPS59173842A/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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control

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

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、固定小数点実数用乗算器を用いて2つO整数
製データから整数乗算データを得ることができる等測的
整数乗算装置に関する。
〔技術の背景と問題点〕
固定小数点実数は、ビット/クターンのある位置に仮想
的な小数点を考えたデータである。例えばBl Ba 
B6・・・BOというビットパターンにおいて最上位の
左端に仮想的小数点を置いた。B、B、・・・の場合は
小数を表わし、最下位の右端に仮想的小数点を置いた・
・・BlBo、の場合は整数を表わすことになる。
なおここでBl(i=9〜0)は「0」または「1」で
ある。そして上記ビット列において最上位の左端に仮想
的小数点を置いたとき、このデータ値は。
(2−”X B、+ 2’X B、+ 2′X Bl−
+ 2−”X Bo)と考えることができる。
固定小数点実数用乗算器は、上記の如く、仮想小数点を
ある位置に固定し、これに合わせた乗算結果が得られる
ように設計されている。このような固定小数点実数用乗
算器において、整数データが必要な場合には、仮想小数
点を右端と考えれば整数データとして扱うことができる
ので2等価的に整数演算を行うことができる。
固定小数点実数データを扱うように設計されたマシンで
も整数乗算が必要となる場合として、2次元以上の配列
の要素をアクセスする場合が挙げら些−る。
例えばF ORT RANの記号で DIMENS ION ARRAY(30、10)と宣
言されている場合、すなわち縦60要素のものが10列
に二次元配列される場合に、この二次元配列中の1例え
ばARRAY(2、I )  という要素をアクセスす
るとき、すなわちIは1から10までのいずれかを表わ
す変数であるとき2行目の1番目の要素をアクセスする
場合には。
(配列人RRAYの左上端の先頭アドレス)+3ox(
I−1)+2−1   (I−1,2・・・10)の計
算が必要である。このときに30X(I−4)という整
数乗算が必要になる。
ところで入力がTビット、出力がRビットの固定小数点
実数用乗算器を用いて2つの入力データを乗算すると、
最大2Tビットの乗算結果が得られることはよく知られ
ている。したがってR)2Tならば入力データが整数で
も、固定小数点データでも乗算結果の全ビットが出力さ
れるので正しい乗算ゲータを得ることができる。
しかしながらマシンの中にはR(2T +例えば2つの
10ビツトの入力データに対して10ビツトの出力デー
タだけしか出力しない固定小数点実数用乗算器をもつも
のが少なくない。このような固定小数点実数用乗算器で
整数データの乗算を行うと、データの欠落を生じて正し
い乗算結果を得られない場合が生じることになる。
また整数乗算を行う方法には、従来加算法によるものと
、整数を2のべき数の加算に分解し、シフトと加算の組
合わせによる方法が多く用いられている。
前者は、繰返しを作って一方の整数データを他方の整数
データ回だけ加算する方法であるが、この方法は実行時
間が犬きく、シかもデータによる実行時間のばらつきが
激しいという欠点がある。
後者は、一方が定数のときに使用される方法で。
例えば整数データDに定数11を乗算するときは。
11−2”+2+1に分解し、Dx11=(Dx23+
Dx2+D)という形で、すなわちDの3ビツト左シフ
ト値と1ビツト左シフト値とDとを加えることにより乗
算が行われる。この方法も定数値の値によって、シフト
値、加算回数のばらつきが大きく、シかも一時データを
蓄わえることが必要となる。例えば実数が15 (15
=2”+2”+2’+1)では、 lX15の等測的乗
算を行うため、下記の如き計算を行うものでアリ、この
ためにTl、 T、という一時データを保持するため2
個の一時データ保持手段を必要とし、しかも加算は3回
行うことになる。
T、←(工の1ビツト左シフト) T2←(Iの2ピツト左シフト) R←(Hの3ピツト左シフ ) ) + T2R4−R
+ Ts R,−R+  I ここにRは演算用レジスタを表わす。
〔発明の目的〕
本発明の目的は、固定小数点実数用乗算器はあるものの
整数用乗算器はないマシンにおいて、この固定小数点実
数用乗算器を使ってデータ欠落のない、正確な整数乗算
を簡単な操作で実現できるようにした乗算装置を提供す
ることである。
〔発明の構成〕
この目的を達成するために2本発明の固定小数点実数用
乗算器を用いた等測的整数乗算装置では。
仮想小数点以下の桁数がそれぞれN、ビット及びNjビ
ットの固定小数点実数データを入力して、仮想小数点以
下の桁数がN、ビットまでの乗算データを出力する固定
小数点実数用乗算器と、PLビット及びP、ビットから
なる2つの整数型データの両方又は一方を 0≦QI≦N1−Pi、0≦Q+≦N、−PiQl+Q
2≧Nt +NI−Nτ という条件のもとてそれぞれQ+ビット及びQ1ビット
ずつ上位にシフトさせた後、前記固定小数点実数用乗算
器に供給する入力手段を有し2等価的に上記2つの整数
型データの乗算を行うことを特徴とする。
〔発明の実施例〕
まず仮想小数点を左端に持つ固定小数点実数用乗算器を
用いた場合の実施例を第1図〜第6図によシ説明する。
ここで第1図は固定小数点実数用乗算器の説明図、第2
図は本発明の詳細な説明るときの本発明の実施例のa8
A図でおる。
ここで使用される固定小数点実数用乗算器は。
説明を容易にするため、第1図に示すように。
10ビツトのシフトレジスタ8RI 、5RJK入力さ
れた10ビツトのデータI、Jを乗算器Mにょシ乗算し
、左側すなわち上位10ビツトだけを乗算結果Rを10
ビツトのレジスタRRに出力するマシンとする。
(1)2つの入力データI、Jがともに整数データのと
き 2 ツO入’j)f  l I 、 J ハ+  l工
l <2’、IJI<2’なる整数データである場合を
例にとって、第2図によ如説明する。この場合、整数デ
ータI、Ji次のように表現される。
I = I4x、?’+I、x2”+・・・+ム×2゜
J = J、 x 2’+JIIX 2”+−+Jo:
X 2゜とaIII 、 JI(i =4〜0)は「1
」またはrOJなる値である。
この整数データI、JをシフトレジスタSRI。
SRJ  の下位ビットすなわち右端から入力すると第
2図のシフトレジスタSRI、、5RJlのように配列
される。
もしこの状態で直ちに乗算器Mで乗算すれば。
乗算結果は 00・・・・・・OORORs・・・・・・RO(−一
1−一一一) 10ビツト  10ビツト (Re〜Roは「1」または「0」) となり1乗算結果のR,R8・・・R,部分は点線で示
した部分に出力され、実際のレジスタRHの部分は全て
「0」となり2乗算データは得られないことになる。
本発明では、シフトレジスタSRI 、SRJに入力さ
れた整数データI 、 J (8R11,8RJ1)を
それぞれ5ビツトずつ、上位すなわち左側にシフトし。
8 RI2及びSRJ、に示すように配列する。この状
態で乗算器Mで乗算すると9乗算結果は次のようになる
10ビツト  10ビツト (R9〜Roは「1」または「0」) これにより乗算結果を示すR9〜Ro部分はすべてレジ
スタRRに出力されることになる。との乗算結果の整数
値は(1% X 2’ + RsX 2’ + −Ro
 X 2°)である。
このようにして乗算値が10ビット以内の場合は、欠落
のない正しい整数データの乗算結果を得ることができる
。なお欠落のない正しい整数データの乗算結果を得るた
めの一般的な要件については後述する。
(21入力データの一方が整定数のとき入力データの一
方が整数データI(III<2’)で。
他方のJ(IJI<2’)が整定数の場合を、J=5(
2進数表示で101)を例にとり、第3図により説明す
る。
Me−t’ −p I (l4X2’+I、 X2’十
−+l0X2°)ハ。
上記(1)の場合と同様に、シフトレジスタSRI  
の右端から整数データエを入力した後(SRIl)、5
ビツト左にシフトする(SRI2)。また整定数5(1
(N)については、シフトレジスタSRJに入力して5
ビツトシフトする代シに、あらかじめ2’(−32)を
乗じて160(=5X32=2’+2’)を計算する。
この160(=2’+26)  をシフトレジスタ8R
J  に入力すると、第3図に示すように、「0010
100000Jなるビット列となる。2sを乗算するこ
とは、5ピツト左にシフトすることと等価である。シフ
トレジスタS RI、とSRJの内容を乗算すると、上
記(1)の場合と同様に2乗算結果を示すR9〜Roは
全てレジスタRRに出力される。乗算結果ノ整数値ハ(
Re X 29+ Ra X 2’ + ・・・+ R
o X 2°)となり、欠落のない正しい整数データの
乗算結果が得られる。
次に本発明の整数乗算方式の一般的な場合を第4図によ
り説明する。
固定小数点実数用乗算器において、入力側シフトレジス
タSRI 、8RJの仮想小数点以下のビット数はNl
 + NI +出力側レジスタRRの仮想小数点以下の
ビット数はN1であるものとする。第4図の各シフトレ
ジスタには、このN、 、 Nl 、 N、のビット数
だけが示されている。
2つの整数入力データI、Jは、それぞれPIビット+
 ”1ビツトとする。N、 、 NlとP、、Piの間
には下式が成立する。
N、≧P、 、  Nj≧P1  ・・・・・・・・・
・・・・・・ ■整数入力データI、Jをそれぞれシフ
トレジスタ8RI 、8RJに下位ビット(右端)から
入力すると、第4図に示す8R11,5RJ1のように
配列される。
次にシフトレジスタS R11を上位(左)にQIビッ
トシフトし、シフトレジスタ8RJ、を上位(左)にQ
1ビットシフトすると、第4図の8 RI2 、8 R
Jzのように配列される。NI、PL、QIとNj 、
 Pj 、 Qjの間には下式が成立する。
N、≧”l + QI 、  Nj≧P3+Q+  ・
・・・・・・・・・・・・−・ ■このシフトレジスタ
5RI2,5RJ2の状態で乗算器Mで乗算すると、全
体で(Nl + Nj )ビットの乗算結果の内容り、
左端を仮小数点として次のようになる。
000・・・・・・000 R,丸−1・・・・・・R
IR600・・・・・・00・・・■(NI+N1(P
++P++Qt+Qj))個(P、+P、)個  (Q
I−+−QI)個出力側のレジスタRRには仮想小数点
から上位N、ビットが出力されるので、レジスタRRに
整数の乗算データ部(RイRn−1・・・・・・RIR
o)が全部入るためには次の条件が成立しなければなら
ない。
(N++N5−(Pt+P3+Qt+Q1 ))+(P
I+PI )≦N。
すなわち QI + Qj≧NI+ NHNr・・・・
・・・・・・・・・・・ 00式は■式の中に含まれる
ので、整数の乗算結果が欠落することなく出力側のシフ
トレジスタ8RHに生じる条件は■式、■式となる。
先に示した実施例fil 、 +21では。
NI= NH= Nr−10、QI−Ql= Qである
。したがって■式より 2Q≧10+1O−10=10   、”、Q≧5(ビ
ット)となる。それ故9乗算結果の最下位がシフトレジ
スタSRHの最下位と一致させるためには、Q==5ビ
ットにすればよい。
また■式よシPI≦N+−Ql  、’、Pt≦5(ビ
ット)杓≦N、−Q、   、’、Pj≦5(ビット)
となり、上記説明の際に用いた数値が得られる゛。
第5図は本発明の一実施例装置を示す。この第5図は次
のような考え方にもとづき構成されている。
実際の装置では、量産に適すること、コストの面から同
じシフトレジスタを使用することが好ましい。
■式においてN、、= Nj−N、−Nとすると。
QI +、 Q1≧N  ・・・・・・・・・・・・・
・・ 0乗算結果(RaRa−t・・・・・・Rt R
e )の最下位Roが出力側のレジスタRHの最下位と
一致すると9乗算結果の整数値は。
R11X 2” +n、−,X 2”−’+・・・・・
・+R,x2’十R8×2゜と簡単に求められる。それ
故 Q++Q1=N   ・・・・・・・・・・・・・・・
 ■′とするのが好都合である。
またQI−Qsとすれば、シフト操作が容易である。
QI−QIとすれば、■′式より QI−Q3−−  ・・・・・・・・・・・・・・・ 
■■式より PI−一   ・・・・・・・・・・・・・・・ ■し
たがって、まず入力整数データI、JがN/2ビット以
下であるかどうかを判別し、N/2ビツト以下ならば、
−率にN/2ビツト上位(左)にシフトシ、いずれか一
方がN/2よυ大9例えば■〉N/2ビツトならばQI
を(N−I)ビットに減少し。
Qjをその分だけ多く (Q+=N−QI −Nビット
)シフトさせるようにすればよい。
上記の如き考え方により構成された第5図の実施例にお
いて、IAは入力部で、第1シフトレジスタSR,、第
2シフトレジスタSR2,判別器COM等よりなる。ま
たFMはこれまで説明した固定小数点実数用乗算器で2
乗算器MとNビットのレジスタRI、RJ、RR等より
なる。なお各レジスタは仮想小数点(左端)以下のNビ
ット部分のみが示されている。そして整数データI、J
はそれぞれ第1シフトレジスタSR,及び第2シフトレ
ジスタSR2に格納されるとともに判別器COMに供給
される。
判別器COMは整数データI、JとNのビット数を比較
し、I、J≦N/2 ビットならば第1シフトレジスタ
SR,と第2シフトレジスタSR2をトモにQ = N
/2ビツト上位(左)にシフトさせた後。
固定小数点実数用乗算器FMの入力側のレジスタRI、
RJにそれぞれ供給する。
もしI、Jのいずれか一方1例えばI>N//2ビット
のときは5判別器COMは第1シフトレジスタSR,を
(N−I)ビットだけ上位にシフトし、第2シフトレー
ジスタSR,をNビットだけ上位にシフトさせた後、レ
ジスタRI、RJにそれぞれ供給する。
それから第2レジスタRJ及び第2レジスタRJの内容
は乗算器Mによシ乗算され2乗算結果の上位Nビットが
レジスタRRに出力される。このときこれまでの説明か
ら明らかなように9乗算結果の整数値は欠落なくレジス
タRRに出力され。
かつその最下位はレジスタRRの最下位(右端)に出力
されることになる。
なお、整数データの一方が整定数で使用者により既にQ
’+ビットシフト、即ちこのQ’1乗倍されたデータJ
のときは1判別器COMは使用者からJに関する等測的
りフト数Qj’が情報として与えられ。
Q%= N −Q’+を計算して第1シフトレジスタ8
R1にはQ+ビットのシフトを指令し、第2シフトレジ
スタSR,にはシフト不要を指令する。
〔発明の効果〕
本発明によれば、上記の説明から明らかなように4次の
如きすぐれた効果が得られる。
(イ)整数データ用の乗算器がなくても、固定小数点実
数用乗算器だけで整数データの乗算を等測的に実行でき
る。
(ロ) 欠落のない正しい整数乗算結果が得られる。
(ハ)乗算のための一時記憶操作か不要である。
(ニ)実行時間が短かい。整定数の場合は特に短かくて
すむ。
(ホ) シフト操作だけで乗算できるので上記(ハ)と
あいまって装置の構成が簡単になシ、かつ入力データに
よる実行時間のばらつきも少くなる。
【図面の簡単な説明】
第1図は固定小数点実数用乗算器の説明図、第2図は本
発明の詳細な説明図、第6図は整数デ一り入力の一方が
整定数であるときの本発明の実な 施例、第4図は本発明の一般的へ場合の説明図、第5図
は本発明の一般的な場合の実施例である。 図中、IAは入力部、FMは固定小数点実数用乗算器、
SR+は第1シフトレジスタ、8Rzは第2シフトレジ
スタ、COMは判別器、8RI、SRJは入力側シフ4
トレジスタ、RRは出力側レジスタでおる。 特許出願人 富士通株式会社 代理人弁理士 山 谷 晧 榮

Claims (1)

  1. 【特許請求の範囲】 (11仮想小数点以下の桁数がそれぞれNiビット及び
    N1ビットの固定小数点実数データを入力して。 仮想小数点以下の桁数がN、ビットまでの乗算データを
    出力する固定小数点実数用乗算器と、PLビット及びP
    、ビットからなる2つの整数型データの両方又は一方を
    下式に示す条件のもとてそれぞれ9%ビット及びQjビ
    ットずつ上位にシフトさせた後。 前記固定小数点実数用乗算器に供給する入力手段を有し
    2等価的に上記2つの整数型データの乗算を行うことを
    特徴とする固定小数点実数用乗算器を用いた等測的整数
    乗算装置。 0 ≦ QI≦ N量−PL 、 0 ≦ Ql ≦ 
    Nj−PiQ++ Ql≧Nt+ N、 −N。 (2)  入力手段が、シフトレジスタにより2つの整
    数製データを上位にそれぞれQ+ビット及びQjビット
    ずつシフトさせるものでおることを特徴とする特許請求
    の範囲第1項記載の固定小数点実数用乗算器を用いた等
    測的整数乗算装置。 131  人力手段が、定数からなる整数型データには
    2のべき数を乗算して上位にシフトさせ、その他の整数
    部データはシフトレジスタにより上位にシフトさせる・
    ことによりそれぞれQ−ビット及びQ+ビットずつ上位
    にシフトさせるようにしたことを特徴とする特許請求の
    範囲第1項記載の固定、J\数点実数用乗算器を用いた
    等測的整数乗算装置。
JP4926983A 1983-03-24 1983-03-24 固定小数点実数用乗算器を用いた等価的整数乗算装置 Pending JPS59173842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4926983A JPS59173842A (ja) 1983-03-24 1983-03-24 固定小数点実数用乗算器を用いた等価的整数乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4926983A JPS59173842A (ja) 1983-03-24 1983-03-24 固定小数点実数用乗算器を用いた等価的整数乗算装置

Publications (1)

Publication Number Publication Date
JPS59173842A true JPS59173842A (ja) 1984-10-02

Family

ID=12826113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4926983A Pending JPS59173842A (ja) 1983-03-24 1983-03-24 固定小数点実数用乗算器を用いた等価的整数乗算装置

Country Status (1)

Country Link
JP (1) JPS59173842A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100402734B1 (ko) * 2001-12-21 2003-10-22 한국전자통신연구원 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
EP2857959A1 (en) * 2013-10-01 2015-04-08 Rockwell Automation Technologies, Inc. Multiplying fixed-point binary numbers with variable number of fractional bits

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100402734B1 (ko) * 2001-12-21 2003-10-22 한국전자통신연구원 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
EP2857959A1 (en) * 2013-10-01 2015-04-08 Rockwell Automation Technologies, Inc. Multiplying fixed-point binary numbers with variable number of fractional bits

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
CA2225899A1 (en) A method and apparatus for finite field multiplication
EP0149248A2 (en) Method and apparatus for division using interpolation approximation
Traub et al. Complexity of linear programming
KR102399200B1 (ko) 연상 메모리 내의 장비트 가산 및 장비트 승산을 위한 시스템 및 방법
US20010054053A1 (en) Method and apparatus for finite field multiplication
JPS59173842A (ja) 固定小数点実数用乗算器を用いた等価的整数乗算装置
JPH0833816B2 (ja) 固定小数点除算方式
JPH04291418A (ja) 除算回路の前処理装置
US20060253522A1 (en) Large number mutpilication method and device
JPH05158659A (ja) 乗算器
JPS58129653A (ja) 乗算方式
JP3660075B2 (ja) 除算装置
JPS63286933A (ja) デイジタル直並列掛算器
JP3284690B2 (ja) 10進乗算器
JPH0585924B2 (ja)
KR100506470B1 (ko) 평방근의 역수 계산 방법, 계산 회로, 및 기록매체
SU1762410A1 (ru) Преобразователь кодов
JP2887038B2 (ja) 除算処理装置
JPH0784762A (ja) 乗算回路
JP2803442B2 (ja) 開平装置
Rickert Efficient reduction of quadratic forms
US20090292756A1 (en) Large-factor multiplication in an array of processors
JPS63157230A (ja) 丸め回路
JPS6086671A (ja) 除算回路