JPS62209621A - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JPS62209621A
JPS62209621A JP5282286A JP5282286A JPS62209621A JP S62209621 A JPS62209621 A JP S62209621A JP 5282286 A JP5282286 A JP 5282286A JP 5282286 A JP5282286 A JP 5282286A JP S62209621 A JPS62209621 A JP S62209621A
Authority
JP
Japan
Prior art keywords
carry
adder
data
output
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
JP5282286A
Other languages
English (en)
Inventor
Koji Takao
耕司 高尾
Shoji Nakatani
中谷 彰二
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 JP5282286A priority Critical patent/JPS62209621A/ja
Publication of JPS62209621A publication Critical patent/JPS62209621A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする問題点問題点を解
決するための手段 作用 実施例 発明の効果 〔概要〕 少なくとも、被乗数レジスタ(R2)と9乗数レジスタ
(R3)と、被乗数の倍数を算出する倍数発生器(MG
)と、該倍数発生器(MG)からの倍数データを入力と
する複数段からなる桁上げ保存加算器(CSAI。
C5A2)と、該桁上げ保存加算器(CSA1.C5A
2)からの中間キャリ出力(CARRY)と中間和出力
(SUN)の下位バイトを補正する為のスピル加算器(
SPA)とを備えた乗算装置において、上記乗数レジス
タ(R3)の中から取り出された乗数データを、例えば
、2ビット毎に分割してビット対応に半加算を行う半加
算器(CSA)と、その半加算出力(IIC,ll5)
を。
上記複数段からなる桁上げ保存加算器(C5AI、C5
^2)に入力するセレクタ(SEL)を設け、更にその
中間キャリ出力(CARRY)と中間和出力(SUN)
の一部を抽出して加算を行う桁上げ保存加算器(CAS
3)の出力を、上記スピル加算器(SPA)に入力する
手段を設けることにより、乗算装置でポピユレーション
カウント命令を実行するようにしたものである。
〔産業上の利用分野〕
本発明は乗算装置に係り、特に該乗算装置が備えている
9入力の桁上げ保存加算器と、スピル加算器とを用いて
ポピユレーションカウント命令を実行する処理方式に関
する。
最近の計算機システムの著しい進歩に伴って、該計算機
システムによる画像処理が盛んになってきている。
かかるコンピュータグラフィックの分野においては、例
えば、画像の濃淡を計算するのに、所謂ポピユレーショ
ンカウント命令がしばしば用いられる。
該ポピユレーションカウント命令は、第5図のポピユレ
ーションカウント命令の処理手順を説明する図に示した
如く、例えば、64ビットからなる入力データ(R3デ
ータ)について、°1°となっているビットの数を算出
し、その個数を結果レジスタl?1に格納する処理を、
複数個のエレメントデータについて実行する。
このようなポピユレーションカウント命令を実行する場
合、一般には、専用のハードウェアを必要とすると共に
処理に時間がかかる問題があるが、該ポピユレーション
カウント命令の使用頻度が少ないことと、パイプライン
方式の計算機システムでは、乗算パイプラインの使用頻
度が、加算パイプラインに比べて比較的に使用頻度が少
ないこと。
及び該乗算パイプラインには、乗数から被乗数の倍数デ
ータを発生させ、該倍数データに基づいて被乗数をシフ
トして加算する為の9入力の桁上げ保存加算器がビット
対応に設けられていることに着目すると、少ないハード
ウェア量で、該計算機システムでの他の演算に影響を与
えることなく、該乗算パイプラインを使用することによ
り、当該ポピユレーションカウント命令を効率良く実行
できることが期待できる。
〔従来の技術と発明が解決しようとする問題点〕第6図
は従来のポピユレーションカウント命令の実行回路の例
を示した図である。
先ず、8バイトのデータがセレクタ(SEL)を通して
レジスタBに設定されると、最下位の1バイトが演算回
路に投入される。
該演算回路においては、該1バイトのデータについて“
1゛の数を算出して2進数に変換し、桁上げ先見加算器
(CPA)に送出し、一つ前のサイクルで算出された個
数と加算される。
従来方式においては、本図から明らかな如く、上記の演
算を1回実行する毎に、レジスタR3からの8バイトの
入力データを1バイト右にシフトして、再度レジスタB
に投入することを8回繰り返すことによって、8バイト
のデータについての111の数をカウントし、最終結果
を最下位バイトに得ていた。
従って、従来方式においては、本図に示すような専用の
ハードウェアが必要になると共に、処理時間も長くなる
と云う問題があった。
本例では、1バイト単位で処理する例で説明したが、2
バイト単位で処理することを考えると、処理速度は改善
されるが、該2バイトデータについて、l゛ の個数を
算出する演算回路に多くのハードウェア量が必要となり
現実的でなくなると云う問題があった。
本発明は上記従来の欠点に鑑み、少ないハードウェアを
用意するだけで、比較的高速にポピユレーションカウン
ト命令を実行する方法を提供することを目的とするもの
である。
〔問題点を解決するための手段〕
第1図は本発明のポピユレーションカウント命令の実行
方式の原理ブロック図である。
本発明においては、少なくとも、被乗数レジスタ(R2
) laと1乗数レジスタ(R3) 1bと、該乗数レ
ジスタ(R3) 1bから取り出された乗数データをデ
コードするデコーダ(DECODE) 3と、上記デコ
ーダ(D[IC0DE) 3のデコード結果に基づいて
、被乗数の倍数を算出する倍数発生器(MG) 4と、
該倍数発生器(?’lG) 4からの倍数データを入力
とする複数段からなる桁上げ保存加算器(C5AI、C
3A2) 50.51と。
該桁上げ保存加算器数(C3AI、C5A2) 50.
51からの中間キャリ出力(CARRY) 6aと中間
和出力(SUM) 6bの下位バイトを補正する為のス
ピル加算器(SPA)11とを備えた乗算装置であって
、上記乗数レジスタ(R3) 1bO中から取り出され
た乗数データをデコードするデコーダ(DHCODE)
 3とは独立に、該乗数データを、例えば、2ビット毎
に分割してビット対応で半加算を行う半加算器(CSA
) 12と、上記倍数発生器(MG) 4からの倍数デ
ータを入力とする複数段からなる桁上げ保存加算器(C
3AI、C5A2) 50゜51の入力段に、セレクタ
(SEL) 41を設け、該倍数発生器(MG) 4か
らの倍数データを抑止して、上記半加算器(CSA) 
12からのキャリ出力(HC) 12aと。
和出力(HS) t2bを選択して、上記桁−ヒげ保存
加算器(CSAI、C5A2) 50.51に入力する
と共に、上記中間キャリ出力(CARRY) 6aと中
間和出力(SUN) 6bの一部を抽出して加算を行う
桁上げ保存加算器(CAS3)13の出力を、上記スピ
ル加算器(SPA) 11に入力する手段を設けて、ポ
ピユレーションカウント命令を実行するように構成する
〔作用〕 即ち、本発明によれば、少なくとも、被乗数レジスタ(
R2)と1乗数レジスタ(R3)と、被乗数の倍数を算
出する倍数発生器(MG)と、該倍数発生器化G)から
の倍数データを入力とする複数段からなる桁上げ保存加
算器(C5A1.C3A2)と、該桁上げ保存加算器(
CSAI、C3A2)からの中間キャリ出力(CARR
Y)と中間和出力(StlM)の下位バイトを補正する
為のスピル加算器(SPA)とを備えた乗算装置におい
て、上記乗数レジスタ(R3)の中から取り出された乗
数データを、例えば、2ビット毎に分割してビット対応
で半加算を行う半加算器(C5A)と、その半加算出力
(IC,)is)を、上記複数段からなる桁上げ保存加
算器(C5AI、CS^2)に入力するセレクタ(SE
L)を設け、更にその中間キャリ出力(CARRY)と
中間和出力(SUM)の一部を抽出して加算を行う桁上
げ保存加算器(CAS3)の出力を、上記スピル加算器
(SPA)に入力する手段を設けることにより、乗算装
置でポピユレーションカウント命令を実行するようにし
たものであるので、比較的少ないハードウェアを追加す
るだけで、ポピユレーションカウント命令を2バイト単
位で実行できる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
前述の第1図は本発明によるポピユレーションカウント
命令の実行方式の原理ブロック図であり、第2図は一般
の乗算装置の構成例を示した図であり、第3図は本発明
の一実施例を示した図であり、第4図は通常の乗算にお
ける加算方法を模式的に示した図であり、第1図におけ
る半加算器(CSA)12、セレクタ(Sll!L) 
41.桁上げ保存加算器(C5A3)13、及び関連機
構が本発明を実施するのに必要な機能ブロックである。
尚、企図を通して同じ符号は同じ対象物を示している。
先ず、第2図によって、一般の乗算装置の動作を説明す
る。
本図においては、説明の便宜上、固定小数点の乗算方式
を主体にした、乗算パイプラインを構成しており、ベク
トルレジスタ(VR) 1から連続した乗数、被乗数が
当該乗算装置に投入されることにより、該ベクトルデー
タに対する乗算がパイプライン方式で実行される。
最初、ベクトルレジスタ(VR) 1から読み出された
被乗数データと1乗数データとが、それぞれ被乗数レジ
スタ(R2) laと乗数レジスタ(R3) 1bに入
力される。
この時、例えば、4バイトの固定小数点乗算を行う場合
には、8バイト幅の上記レジスタ(R2) 1a、(R
3) 1bのそれぞれにおいて、上位4バイトに有効デ
ータが設定され(斜線で示す)、下位の4バイトにはO
°が設定され、被乗数データはレジスタ(CAND) 
2aに移される。
該乗数データが設定されたレジスタ(R3) 1bは、
例えば、2バイト(16ビット)×4に分割され、該分
割された2バイトの乗数データはデコーダ(DHGOD
B) 3において、公知の「ブース(BOOTll)の
アルゴリズム」に基づいて、G1〜G9の9種類のシフ
ト制御信号に変換され、被乗数データ(CAND) 2
aに対する倍数を倍数レジスタ(IER) 2bに設定
して、倍数発生回路(邪)4に送出される。
上記、被乗数データ(CAND)を、上記61〜G9で
示される倍数だけシフト(ここでの倍数は2の葛乗とな
っているのでシフトすることになる)して、桁上げ保存
加算器(C3A1.2) 50.51で加算することに
より、被乗数データ(CAND) X乗数(IER)の
部分積である中間相(SUN) 6bと中間キャリ(C
ARRY) 6aを得ることができる。
上記の動作は、倍数発生回路(MG) 4において、被
乗数データ(CAND) 2aをビット対応に、上記G
1〜G9で示される倍数だけシフトし、その結果を桁上
げ保存加算器(C5AI) 50に送出することによっ
て実行される。
実際には、被乗数データ(CAND) 2aに対して、
上記倍数(±1.±2.0.G1〜±1.±2.0.C
9)で示される値の何れかが選択されるので、結果的に
は、被乗数データの各ビットから得られる9つのシフト
データが生成され、次の桁上げ保存加算器(CSA1)
50に入力される。
このように、乗算装置においては、乗数データをデコー
ドすることによって決まるデコード値(61〜G9)だ
け、被乗数データ(CAND)をシフト (冨乗倍)す
る機能を備えていると云う特徴がある。
上記桁上げ保存加算器(CSAI) 50においては、
上記倍数発生回路(MG) 4で生成された、被乗数デ
ータ(CAND) 2aに対する9個の倍数出力(シフ
ト出力)をビット対応で加算し、得られたビット対応の
4出力を、次の桁上げ保存加算器(C3A2) 51に
送出する。
桁上げ保存加算器(C5A2) 51においては、上記
乗数データ(R3) 1bの1つ前の下位桁(2バイト
)によっC得られている中間和(SUM) 6bと、中
間キャリ(CARRY) 6aと共に、上記4出力とを
加算することにより、上記乗数データ(R3) 1bの
当該桁(2バイト)に対する中間和(SUN) 6bと
、中間キャリ(CARRY) 6a、即ち被乗数データ
(CAND) x乗数データ(R3)の部分積を求める
ことができる。
上記、部分積を求める乗算処理を、乗数データ(R3)
 1bの桁数分(本例では、4桁)繰り返すことにより
、最終積を中間和(SUN) 6b、中間キャリ(CA
RRY) 6aに得ることができる。
このようにして、得られた最終相と最終キャリとを、桁
上げ先見加算器CCPA) 7で加算することにより、
最終積を結果レジスタ(ZR) 8に得ることになる。
但し、上記の部分積を求める演算においては、桁上げ保
存加算器(CSA2) 51で得られる部分積10バイ
ト (即ち、8バイト×2バイト−10バイト)の中間
和(SUM) 6b、中間キャリ(CARRY) 6a
の内、上記繰り返し演算に使用されるのは、上位の8バ
イトである為、下位の2バイトが切り捨てられることに
なる。この切り捨てられた部分で発生するキャリ成分を
保存して、上記桁上げ先見加算器(CPA) 7に入力
して補正する必要があり、この為の演算をスピル加算器
(SPA) 11において行っている。
従って、上記桁上げ先見加算器(CPA) 7での演算
においては、中間和(SUN) 6bと、中間キャリ(
CARRY) 5aと、上記スピル加算器(SP八)1
1で生成されたキャリ成分とを加算している。
このようにして、下位桁で発生するキャリ成分を補正す
ることにより、真の乗算結果(8バイト)を結果レジス
タ(ZR) 8に得ることができる。
若し、当該乗算装置が浮動小数点データを扱う場合には
、上記スピル加算器(SPA) 11で生成される最下
位桁の値が、上記結果レジスタ(ZR) 8の最下位桁
に入力されると共に、上記の最終結果において、最上位
桁が°oooo’であると、該桁は無効桁であるので、
正規化回路(PO5T 5FT) 9で正規化され、最
終結果レジスタ(R1) 10に設定されるが、固定小
数点の場合には、正規化回路(PO3T 5FT) 9
による正規化動作は行われず、その侭最終結果レジスタ
(R1) 10に出力されるように動作する。
このように、乗算パイプラインにおいては、他の演算パ
イプラインには見られない、ビット対応で加算する9入
力の桁上げ保存加算器(CSAI、C3A2) 50.
51と、2バイト単位で桁上げ先見加算を行うスピル加
算器(SPA)が備えられていると云う特徴がある。
本発明はこの機能的特徴に着目して、8バイトのデータ
を、当該乗算装置の乗数レジスタ(R3) 1bに設定
し、該データを2バイト宛に分けて、4回の繰り返し演
算で、8バイトデータに対するボピュレーシッンカウン
ト動作を行おうとするものである。
以下、第1図を参照しながら、第3図によって本発明に
よるポピユレーションカウント命令の実行動作を説明す
る。
先ず、ポピユレーションカウント命令を実行するに際し
て、ベクトルレジスタ(VR) 1から入力された乗数
データ(R3) Ibは、通常の乗算動作の時と同じよ
うにして、2バイト×4に分割され、該分割された2バ
イト(16ビット)のデータは、更に任意の8ビット宛
の2群に分けて(図示の例では、2ビット宛に区切って
、各2ビットの一方と他方をそれぞれの群として)、8
ビット幅の半加算器(CSA) 12に入力されて加算
されることにより、8ビット幅のハーフキャリ(IC)
 12aと、同じく8ビット幅のハーフ和(HS) 1
2bを得る。この時、乗数レジスタ(R3)1bからデ
コーダ(DECODtり 3ニ対するルートは抑止され
る。
上記半加算器(CSA) 12の加算結果であるハーフ
キャリ(HC) 12aと、ハーフ和(HS) 12b
とはセレクタ(SI?L) 41を通して、桁上げ保存
加算器(C5AI) 50に入力される。
この時、ハーフ和(HS) 12bの各ビットは、桁上
げ保存加算器(CSAI) 50の各入力の同一の重み
付けのビットに、又ハーフキャリ(IC) 12aの各
ビットは上記重み付はビットより1ビット上位のビット
のそれぞれに入力する。
上記桁上げ保存加算器(C5AI) 50は、デコーダ
(DECODE) 3で生成された、前述の61〜G9
の9種類のシフト制御信号に対応して、8バイト幅の9
入力加算器で構成されているが、本発明に関連する上記
半加算器(C5A) 12の加算結果であるハーフキャ
リ(HC) 12aと、ハーフ和(IIs) 12bと
は8ビットであるので、残りの1入力には′0′を入力
するように構成する。
第3図の(a)は該セレクタ(SEL) 41と、その
関連機構の具体的な構成例を示したもので、該セレクタ
(SEL) 41は前述の倍数発生回路(MG) 4に
対して、図示の如くドツト和論理で構成している。ここ
で、G1〜G9.  ±1.±2は前述の倍数を示し、
CAND−XXはレジスタ(CAND) 2a (7)
XXビット目の出力を示している。
本例は、桁上げ保存加算器(CSAI) 50に対する
63ビット目の入力に、上記ハーフ和(IIs) 12
bを対応させ、62ビット目の入力に、上記ハーフキャ
リ(IIC) 12aを対応させている。
この結果、上記乗数データの最初の2バイトを2ビット
単位に分割して、8ビット幅の半加算器(C3A)  
12で加算して得られたハーフキャリ(II C)12
aと、ハーフ和(HS) 12bを、それぞれ桁上げ保
存加算器(C5AI) 50に対する63ビット目、6
2ビット目の入力として、該桁上げ保存加算器(C3A
1、(:Sへ2) 50.51で加算し、当該2バイト
データに対するポピユレーションカウント動作を行うと
、桁上げ保存加算器(C3A2) 51の出力である中
間キャリ(CARRY) 6a、中間和(SUM) 6
bにおいては、それぞれ63ビット目から、59ビット
目に出力される。ここで、カウント結果が5ビットとし
たのは、−回のカウント演算の対象が、前述のように2
バイトで、該“1″の数は最大16個である為、該個数
を2進数で表示すると、”ooooo“〜’10000
” となることによる。
この対応関係(即ち、被乗数(CAND)と9倍数G1
〜G9と1桁上げ保存加算器(CSAI)への入力ビッ
ト位置と、該桁上げ保存加算器(C5A1.C5A2)
の出力である中間和(SIJM) 、中間キャリ(CA
RRY)とのビット対応)は、通常の乗数動作において
、被乗数データ(CAND) 2aを、前述の61〜G
9て示した倍数だけシフトしてビット対応で加算した時
の関係と同じであることは、第4図の通常の乗算におけ
る加算方法を模式的に示した図からも明らかである。即
ち、被乗数(CAND) 2aに対する加算動作は、本
図と、第3図(a)からも明らかなように、桁上げ保存
加算器(CSAI) 50に対する、例えば、63ビッ
ト目の入力で見ると、 倍数61については、その47ビット目、又は48ビッ
ト目の被乗数(CAND) 倍数02については、その49ビット目、又は50ビッ
ト目の被乗数(CAND) 以下、同じようにして、゛ 倍数68については、その61ビット目、又は62ビッ
ト目の被乗数(CAND) 倍数G9については、その63ビット目の被乗数(CA
ND) の値を加算するようにゲートされる。
同様にして、桁上げ保存加算器(CSAI) 50に対
する、例えば、62ビット目の入力でみると、倍数Gl
については、その46ビット目、又は47ビット目の被
乗数(CAND) 倍数62については、その48ピツトロ、又は49ビッ
ト目の被乗数(CAND) 以下、同じようにして、 倍数68については、その60ビット目、又は61ビッ
ト目の被乗数(CAND) 倍数G9については、その62ビット目の被乗数(CA
ND) の値を加算するようにゲートされる。
上記桁上げ保存加算器(CSAI) 50に対する入力
データは、桁上げ保存加算器(C5AI) 50に対す
る63ビット目の入力が、中間和(SUM) 6bの6
3ビット目から上位に出力され、桁上げ保存加算器(C
3AI)50に対する62ビ・ノド目の入力が、中間キ
ャリ(CARRY) 6aの63ビット目から上位に出
力される。
(斜線で示す) 従って、ポピユレーションカウントの結果を、該中間相
(StlM) 6b、中間キャリ(CARRY) 6a
のそれぞれ63ビットから上位に出力させようとすると
、上記桁上げ保存加算器(CSAI) 50に対する6
3ビット目の入力に対しては、上記倍数G1〜G9に対
する、それぞれのゲート回路に、例えば、ドツトオアの
形で、前述のハーフ和CIts) 12bの各ビット出
力を接続し、該ゲートをポピユレーションカウント命令
の時のみ有効とするように制御すれば良いことが分かる
同様にして、桁上げ保存加算器(C5AI) 50の6
2ビット目の入力に対しては、×2の重みを持りハーフ
キャリ(tic) 12aの各ビット出力をドツトオア
の形で接続し、同じポピユレーションカウント命令の時
のみ有効となるように制御すれば良いことになる。この
ドツトオアゲートが、前述のセレクタ(SEL) 41
として機能することになる。
上記ビット対応の例は、あくまでも−例であって、この
ビット位置に限るものでないことは、本ポピユレーショ
ンカウント動作が、当該乗算装置における倍数発生回路
(MG) 4の動作とは、中間キャリ(CARRY) 
6a、中間和(SUM) 6bのどのビット位置に出力
されるかを除いて、全く関係ないことからも明らかであ
る。
第3図(b)は上記中間キャリ(CARRY) 6a、
中間和(SUM) 6bから、上記の63ビット目〜5
9ビット目迄をポピユレーションカウント結果として抽
出し、セレクタSL、S2を介して、桁上げ保存加算器
(CSA3) 13の最下位5ビットに入力する部分を
具体的に示したもので、上記桁上げ保存加算器(CSA
1、C3A2) 50.51でのカウント結果と、1サ
イクル前のスピル加算器(SPA) 11の、例えば、
下位8ビットとが、上記桁上げ保存加算器(CSA3)
 13によって加算される。但し、第1サイクル目にお
いては、該スピル加算器(SPA) 11からの下位8
ビットには0゛を設定する。
但し、このループバックはポピユレーションカウント動
作のときのみであって、乗算のときには、上記スピル加
算器(SPA) 11の最上位のキャリが、上記桁上げ
保存加算器(C5A3) 13の入力の最下位ビットに
戻す必要があり、この切り換えをセレクタS3で行って
いる。(第1図参照) この動作を4サイクル繰り返した後、該スピル加算器(
SPA) 11の全ビットを、結果レジスタ(ZR)8
に出力する。この時出力されるデータが、ポピユレーシ
ョンカウントの結果を示していることになる。
結果レジスタ(ZR) 8に入力されたデータは、当該
ポピユレーションカウント動作時においては、正規化回
路(PO5T 5FT) 9による正規化動作を行うこ
となく、その侭、最終結果レジスタ(R1) 10に出
力される。
尚、上記実施例においては、ポピユレーションカウント
動作を行うとき、乗数データ(R3) 1bの4分割さ
れた2バイトのデータについて、2ビット宛に区切って
、各2ビットの一方と他方をそれぞれ群とし、2入力の
桁上げ保存加算器(即ち、半加算器)(CSA) 12
で加算し、8ビットのハーフキャリ(HC) 12aと
1.同じく8ビットのハーフ和(■S) 12bを得る
例で説明したが、3ビット宛に区切って3群とし、3入
力の桁上げ保存加算器(CSA)12で加算しても良い
ことは言う迄もないことである。
このように、本発明は、通常の乗算装置に、9入力の桁
上げ保存加算器(CSA1.C5A2)と、2バイト幅
の桁上げ先見加算機能を備えたスピル加算器(SPA)
があることに着目し、8バイトのデータを2バイト単位
に分割し、更に、例えば、2ビット単位で、8ビット幅
の半加算器(CSA)で加算し、該半加算器(CSA)
で得られた8ビットのハーフキャリ(HC)と、ハーフ
和(HS)とを、上記9入力の桁上げ保存加算器(C3
AI、C5A2)に入力して加算し、該2バイト単位の
ポピユレーションカウント結果をスピル加算器(SPA
)で加算する一連の処理を4回繰り返して8バイトデー
タに対するポピユレーションカウント結果を高速に得る
ようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明の乗算装置は、少
なくとも、被乗数レジスタ(R2)と9乗数レジスタ(
R3)と、被乗数の倍数を算出する倍数発生器(MG)
と、該倍数発生器(MG)からの倍数データを入力とす
る複数段からなる桁上げ保存加算器(CSAI、C5A
2)と、該桁上げ保存加算器(CSA1.C5A2)か
らの中間キャリ出力(CARRY)と中間和出力(SO
旧の下位バイトを補正する為のスピル加算器(SPA)
とを備えた乗算装置において、上記乗数レジスタ(R3
)の中から取り出された乗数データを、例えば、2ビッ
ト毎に分割してビット対応で半加算を行う半加算器(C
5A)と、その半加算出力(lIc、I(S)を、上記
複数段からなる桁上げ保存加算器(C3AI、C3A2
)に入力するセレクタ(SEL)を設け、更にその中間
キャリ出力(CARRY)と中間相出力(SOM)の一
部を抽出して加算を行う桁上げ保存加算器(CAS3)
の出力を、上記スピル加算器(SPA)に入力する手段
を設けることにより、乗算装置でポピユレーションカウ
ント命令を実行するようにしたものであるので、比較的
少ないハードウェアを追加するだけで、ポピユレーショ
ンカウント命令を2バイト単位で実行できる効果がある
【図面の簡単な説明】
第1図は本発明のポピユレーションカウント命令の実行
方式の原理ブロック図。 第2図は一般の乗算装置の構成例を示した図。 第3図は本発明の一実施例を示した図。 第4図は通常の乗算における加算方法を模式的に示した
図。 第5図はポピユレーションカウント命令の処理手順を説
明する図。 第6図は従来のポピユレーションカウント命令の実行回
路の例を示した図。 である。 図面において、 lはベクトルレジスタ(VR) 。 laは被乗数レジスタ(R2) 、又は被乗数データ。 1bは乗数レジスタ(R3) 、又は乗数データ。 3はデコーダ(DECO口E)、4は倍数発生回路(M
G) 。 41はセレクタ(SEL)。 50.51は桁上げ保存加算器(CSA1.C5A2)
。 6aは中間キャリ(CARRY) 、 6bは中間和(
SUM) 。 8は結果レジスタ(ZR) 。 9は正規化回路(POST 5FT)。 10は最終結果レジスタ(R1) 。 11はスピル加算器(SPA) 。 12は2入力、又は3入力の桁上げ保存加算器、又は半
加算器(CSA) 。 12aはハーフキャリ(IC)、又はキャリ出力(HC
) 。 12bはハーフ和(IIs)、又は和出力()Is)。 13は桁上げ保存加算器(CSA3) 。 をそれぞれ示す。 °1  ′にリ イ圏老Sこ ポピューレ5ヨ〉7)ワシト糾の幻−力1→llk現期
すす2 茅 S に 23テニ9(8ハ4ト) 「

Claims (1)

  1. 【特許請求の範囲】 少なくとも、被乗数レジスタ(1a)と、乗数レジスタ
    (1b)と、該乗数レジスタ(1b)から取り出された
    乗数データをデコードするデコーダ(3)と、上記デコ
    ーダ(3)のデコード結果に基づいて、被乗数の倍数を
    算出する倍数発生器(4)と、該倍数発生器(4)から
    の倍数データを入力とする複数段からなる桁上げ保存加
    算器(50、51)と、該桁上げ保存加算器数(50、
    51)からの中間キャリ出力(6a)と中間和出力(6
    b)の下位バイトを補正する為のスピル加算器(11)
    とを備えた乗算装置であって、上記乗数レジスタ(1b
    )の中から取り出された乗数データをデコードするデコ
    ーダ(3)とは独立に、該乗数データを任意の2ビット
    毎、又は3ビット毎に分割してビット対応の加算を行う
    、2入力、又は3入力の桁上げ保存加算器(12)と、
    上記倍数発生器(4)からの倍数データを入力とする複
    数段からなる桁上げ保存加算器(50、51)の入力段
    に、セレクタ(41)を設け、 該倍数発生器(4)からの倍数データを抑止して、上記
    桁上げ保存加算器(12)からのキャリ出力(HC)1
    2aと、和出力(HS)12bを選択して、上記桁上げ
    保存加算器(50、51)に入力すると共に、上記中間
    キャリ出力(6a)と中間和出力(6b)の一部を抽出
    して加算を行う桁上げ保存加算器(13)の出力を、上
    記スピル加算器(11)に入力する手段を設けて、ポピ
    ュレーションカウント命令を実行するようにしたことを
    特徴とする乗算装置。
JP5282286A 1986-03-11 1986-03-11 乗算装置 Pending JPS62209621A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5282286A JPS62209621A (ja) 1986-03-11 1986-03-11 乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5282286A JPS62209621A (ja) 1986-03-11 1986-03-11 乗算装置

Publications (1)

Publication Number Publication Date
JPS62209621A true JPS62209621A (ja) 1987-09-14

Family

ID=12925541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5282286A Pending JPS62209621A (ja) 1986-03-11 1986-03-11 乗算装置

Country Status (1)

Country Link
JP (1) JPS62209621A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01142935A (ja) * 1987-11-30 1989-06-05 Fujitsu Ltd 乗算装置
EP0318957A2 (en) * 1987-11-30 1989-06-07 Fujitsu Limited Population counting in computer systems
JPH01185725A (ja) * 1988-01-20 1989-07-25 Fujitsu Ltd 乗算装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01142935A (ja) * 1987-11-30 1989-06-05 Fujitsu Ltd 乗算装置
EP0318957A2 (en) * 1987-11-30 1989-06-07 Fujitsu Limited Population counting in computer systems
US4989168A (en) * 1987-11-30 1991-01-29 Fujitsu Limited Multiplying unit in a computer system, capable of population counting
JPH01185725A (ja) * 1988-01-20 1989-07-25 Fujitsu Ltd 乗算装置

Similar Documents

Publication Publication Date Title
US5220525A (en) Recoded iterative multiplier
US5991785A (en) Determining an extremum value and its index in an array using a dual-accumulation processor
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
US4866656A (en) High-speed binary and decimal arithmetic logic unit
JP3244506B2 (ja) 小型乗算器
US6233597B1 (en) Computing apparatus for double-precision multiplication
JPH0375901B2 (ja)
US3878985A (en) Serial-parallel multiplier using booth{3 s algorithm with combined carry-borrow feature
US4805131A (en) BCD adder circuit
US6535901B1 (en) Method and apparatus for generating a fast multiply accumulator
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
US5721697A (en) Performing tree additions via multiplication
JP2502836B2 (ja) 除算回路の前処理装置
US6338135B1 (en) Data processing system and method for performing an arithmetic operation on a plurality of signed data values
US5867413A (en) Fast method of floating-point multiplication and accumulation
US5757377A (en) Expediting blending and interpolation via multiplication
US4979141A (en) Technique for providing a sign/magnitude subtraction operation in a floating point computation unit
JP2511527B2 (ja) 浮動小数点演算器
JPS62209621A (ja) 乗算装置
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
EP0529755B1 (en) Method and apparatus for negating an operand of a multiplication operation
JPH05204608A (ja) 高速乗算器
US6704761B1 (en) Carry-save multiplier/accumulator system and method
JPS6259828B2 (ja)
JPH0377539B2 (ja)