JPH07271557A - データ処理乗算装置および方法 - Google Patents

データ処理乗算装置および方法

Info

Publication number
JPH07271557A
JPH07271557A JP7034099A JP3409995A JPH07271557A JP H07271557 A JPH07271557 A JP H07271557A JP 7034099 A JP7034099 A JP 7034099A JP 3409995 A JP3409995 A JP 3409995A JP H07271557 A JPH07271557 A JP H07271557A
Authority
JP
Japan
Prior art keywords
multiplication
result
multiplier
iterative
partial
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
JP7034099A
Other languages
English (en)
Other versions
JP3516504B2 (ja
Inventor
Guy Larri
ラーリ ガイ
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JPH07271557A publication Critical patent/JPH07271557A/ja
Application granted granted Critical
Publication of JP3516504B2 publication Critical patent/JP3516504B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 回路寸法を小さく保ちつつ、高速演算が可能
な乗算回路を提供する。 【構成】 それぞれの反復において部分結果(C、S)
を発生する乗算器コア36を有する反復乗算器が説明さ
れる。乗算命令の早期終了が起こると、少なくとも1つ
の部分結果が、該早期終了が起こる前に行われた反復数
に依存するビット再整列のために、汎用バレルシフタ2
6へ送られる。ビット再整列せしめられた部分結果は、
次に論理演算装置28へ送られ、そこでそれらは加算さ
れて最終結果を与える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理の分野に関
する。特に、本発明は、特定目的乗算器を利用するデー
タ処理に関する。
【0002】
【従来の技術】2つの入力整数オペランドの積を発生す
るディジタル回路に対しては、確立された設計の体系が
存在する。また、単一の「乗算−累算」命令(例えば
(A*B)+C)に応答して乗算および加算演算を行う
回路を製造することは公知である。乗算および加算を行
う回路は、汎用乗算器回路に含まれる部分集合であると
考えられうる。
【0003】回路の面積およびコストの制約に答えて、
一時に必要な乗算演算の一部のみを行う回路を用いる機
能を備え、かつその回路を反復使用して完全な乗算を完
成することは公知である。これの例は、もし2つの32
ビット数の積が必要な場合は、32ビット数と8ビット
数との積を発生して部分結果を与える回路を備え、この
回路を4回用いて全32ビットの必要な結果を計算しう
ることである。そのような装置内において反復使用され
る該回路は、乗算器コアと呼ばれる。
【0004】高性能の演算を目的とする精巧な乗算器コ
アにおいては、ブース記録(Booth record
ing)および桁上げ−セーブ(carry−sav
e)加算のような技術が用いられうるが、要求度の低い
装置においては1ビット毎サイクルの「ANDゲートお
よび加算器」乗算器コアが利用されうる。
【0005】添付図面の図1は、反復乗算器を示す。2
つの入力オペランドA、Bは、初期化およびラッチ回路
2へ供給され、それらはそこに記憶される。初期化およ
びラッチ回路2は、該2つのオペランドをラッチした
時、残余の回路を初期化し、次にDおよびR(Aおよび
Bのラッチされたバージョン)を直接乗算器コア4へ、
また初期化値Iをマルチプレクサ6を経て乗算器コア4
へ、出力する。初期化値Iは、用いられる乗算器コアの
タイプに依存して、0であるか、またはAおよびBから
計算されうる。それぞれの反復サイクルにおいて、乗算
器コア4は、結果ラッチ8内に記憶される部分結果を発
生する。該部分結果の少なくともある諸ビットは、次の
反復サイクルのために、マルチプレクサ6を経て乗算器
コア4へ帰還される。全サイクル数が完了した時、結果
ラッチ8から乗算結果が出力される。
【0006】図1の回路は、一貫して、オペランドおよ
び部分結果の標準的2進表現を用いる。添付図面の図2
は、それぞれの反復において、また最終反復の後に、乗
算器コアが発生する結果が、加算されて標準的2進表現
を生じなくてはならない2数(例えば、桁上げ−セーブ
装置における桁上げ結果およびセーブ結果)によって表
されるように、乗算器コア内において冗長データ表現を
用いる回路を示す。図2に示されているような回路は、
乗算を完成するために最終加算を行わなくてはならない
という代償のもとに、より高速かつ/またはより経済的
な乗算器コアを与える。
【0007】図2は、2つの部分結果C、Sがどのよう
に、冗長データ表現を用いて乗算器コア10から出力さ
れ、結果ラッチ12内に記憶されるかを示す。これら2
つの部分結果C、Sの少なくともある諸ビットは、次に
それぞれのマルチプレクサ14、16を経て、次の反復
のために乗算器コア10へ帰還される。最終反復が完了
した時、2つの部分結果C、Sは加算器18へ供給さ
れ、そこでそれらは加算器演算を受けて最終乗算結果を
発生する。
【0008】図1および図2に示されている乗算器に対
する公知の改良は、早期終了(early termi
nation)の機構を備えることである。早期終了と
は、乗算器コアを経てのさらなる反復が(通常は、これ
らの反復がそれぞれ結果に対して0のみを加算するであ
ろうという理由により)乗算結果の値を変化させないで
あろう状況を検出することにより、乗算器コアを経ての
平均反復数(従って、乗算演算を行うための平均時間)
を減少させようとする技術である。ある乗算器の設計に
おいては、入力オペランドの値を検査することにより、
必要とされるはずの反復数を決定することができる。通
常は、もしオペランドの一方または双方が小さければ、
最大反復数よりも少ない反復しか要らないが、もしオペ
ランドの双方が大きければ、全ての反復が必要となる。
【0009】そのような早期終了の後の省略された反復
は、結果の値を変化させることはないが、乗算器コアを
経てのそれぞれの反復は乗算器出力に対し異なる重みを
与えるので、省略された反復は通常、出力バス上におけ
る該結果の位置、すなわち「整列(alignmen
t)」を変化させる。これを処理するために、早期終了
を実行する乗算器は、任意の早期終了によって起こされ
る結果整列への効果に対抗するために、乗算器コア出力
の可変長シフトを行う回路を備える。
【0010】添付図面の図3は、早期終了能力を備える
ように改変された図2の回路を示す。図3の回路は、図
2の回路と、部分結果C、Sに作用するそれぞれの早期
終了シフト機構20、22が追加されている点が異なっ
ている。演算において、もし乗算が早期終了せしめられ
るべきであれば、結果ラッチ12の内容は、早期終了シ
フト機構20、22を経て送られ、乗算が終了せしめら
れた段階に依存する度合の再整列(realignme
nt)を受ける。再整列せしめられた部分結果は、次に
加算器18によって組合わされる。
【0011】
【発明が解決しようとする課題】本発明の目的は、回路
寸法を小さく保ちつつ、高速演算が可能な乗算回路を提
供することである。小さい回路寸法は、小さい集積回路
ダイス型寸法を可能ならしめ、製造歩留りを改善し、か
つ集積回路上に他の機能素子のためのより多くのスペー
スを許容することにより、製造コストを低下せしめる。
【0012】
【課題を解決するための手段】1特徴から見ると、本発
明は、1つまたはそれ以上の入力オペランドに対し複数
の異なるデータ処理演算の選択可能な1つを行う装置で
あって、行われるべき該データ処理演算が命令によって
選択されるようになっており、該装置が、 (a)乗算指令に応答して乗算結果を発生する乗算演算
を行う反復乗算器であって、該反復乗算器が、(i) 乗
算器コアと、(ii)該乗算器コアの出力から該乗算器コ
アの入力へ部分結果を帰還して反復演算を行う帰還手段
と、(iii)さらなる反復が前記乗算結果を変化せしめな
いであろう時、前記反復乗算器の演算を早期に終了せし
める早期終了手段と、を含む、前記反復乗算器と、 (b)前記乗算指令以外の1つまたはそれ以上の命令に
応答して入力オペランドに対し可変長シフトを行う汎用
シフト手段と、 (c)前記反復乗算器の早期終了に応答して、前記乗算
結果の発生の一部としての前記汎用シフト手段によるビ
ット再整列のために、前記乗算器コアからの部分結果出
力を該汎用シフト手段へ送る手段と、 を含む、前記データ処理乗算装置を提供することであ
る。
【0013】本発明は、早期終了機構を有する反復乗算
器を提供する。本装置はまた、前記乗算器コアによって
実行される乗算命令以外の命令により要求されるシフト
を行う汎用シフト手段を有する。この汎用シフト手段
は、乗算器コア演算の早期終了の後に要求される任意の
ビット再整列の少なくともあるものを行うために、本発
明により再使用される。このような汎用シフト手段の再
使用は、1つの早期終了シフト機構の必要性を回避し、
従って、前記乗算器を実現するために要求される回路面
積を有利に減少せしめる。
【0014】本発明は、前記反復乗算器がそれぞれの反
復において少なくとも2つの部分結果を生じる冗長デー
タ表現を用いる、高性能装置において用いられうる。冗
長データ表現の特に好ましい形式は、桁上げ−セーブ表
現であり、該表現によれば、加算器連鎖に沿っての桁上
げビットの比較的遅い伝搬が回避される。
【0015】そのような冗長データ表現を用いる装置に
おいては、それぞれの反復において1つより多くの部分
結果が発生せしめられることを認識すべきである。この
場合、早期終了が起こった時は、1つより多くの部分結
果が再整列を必要とする。従って、実施例においては、
前記汎用シフト手段へ送られない部分結果をビット再整
列させる、少なくとも1つの早期終了シフト手段もまた
備えられる。
【0016】汎用シフト手段は、1つの部分結果の再整
列を処理することができ、従って、1つの早期終了シフ
ト機構の必要性を回避するが、他のシフト機構は、前記
汎用シフト手段によって行われるものと並列な、他の部
分結果の高速再整列のために備えられることを必要とす
る。
【0017】速度を犠牲にすることなく、そのような冗
長データ表現を処理するためには、前記部分結果から前
記乗算結果を発生する加算器を備えることが好ましい。
そのような加算器は、高性能の加算演算を行うように配
置されうる。
【0018】本発明は、異なる応用(例えば、ディジタ
ル信号プロセッサ、コンピュータ中央処理装置、など)
に対して適用されうることを認識すべきであるが、冗長
データ表現を用いる反復乗算器と組合わされた汎用シフ
ト手段の再使用は、前記加算器が加算演算および論理演
算を行う論理演算装置を含んでいる実施例においては特
に有利であるようである。
【0019】論理演算装置および汎用シフト手段を有す
る装置においては、汎用シフト手段は、論理演算装置と
並列に、または論理演算装置の下流に、配置されると有
効である。対照的に、本発明の実施例においては、前記
論理演算装置は複数のオペランド入力を有し、該オペラ
ンド入力の1つは前記汎用シフト手段の出力から取られ
る。
【0020】汎用シフト手段を論理演算装置の上流に置
くと、汎用シフト手段は、本発明に従って再使用され、
乗算の早期終了に続いてビット再整列を行うことが可能
になり、再整列せしめられた結果は必要な加算のために
論理演算装置へ送られる。
【0021】汎用シフト手段はいくつかの形式を取りう
るが、前記汎用シフト手段はバレルシフタを含むことが
好ましい。バレルシフタは、本発明との関係で用いられ
る有利な高速性能を有する。本発明の装置は、離散回路
部品として実現され、寸法の減少および回路部品数の減
少の利点を生じうる。しかし、本発明は、集積回路とし
ての実施例に特に適する。
【0022】もう1つの特徴から見ると、本発明は、1
つまたはそれ以上の入力オペランドに対し複数の異なる
データ処理演算の選択可能な1つを行う方法であって、
行われるべき該データ処理演算が命令によって選択され
るようになっており、該方法が、 (a)乗算指令に応答して乗算結果を発生する反復乗算
演算を行うステップであって、該反復乗算演算ステップ
が、(i) 部分結果を発生するステップと、(ii)反復
演算を行うために該部分結果を帰還するステップと、
(iii)さらなる反復が前記乗算結果を変化せしめないで
あろう時、前記反復乗算を早期に終了せしめるステップ
と、を含む、前記反復乗算演算ステップと、 (b)前記乗算指令以外の1つまたはそれ以上の命令に
応答して、汎用シフト手段により、入力オペランドに対
し可変長シフトを行うステップと、 (c)前記反復乗算演算の早期終了に応答して、前記乗
算結果の発生の一部としての前記汎用シフト手段による
ビット再整列のために、部分結果を該汎用シフト手段へ
送るステップと、 を含む、前記データ処理乗算方法を提供する。
【0023】本発明の、上述の、およびその他の、諸目
的、諸特徴および諸利点は、添付図面を参照しつつ行わ
れる、実施例に関する以下の詳細な説明により明らかに
される。
【0024】
【実施例】図4は、コンピュータの中央処理装置部分内
のデータ経路を示す。算術および論理演算を受けること
を所望されるオペランドは、レジスタバンク24のレジ
スタ内へロードされる。第1オペランドXは、レジスタ
バンク24から汎用バレルシフタ26へ出力され、そこ
でそれは必要な任意の所望の可変長シフトを受け、その
後論理演算装置28へ送られる。第2オペランドYは、
レジスタバンク24から直接論理演算装置28へ出力さ
れる。
【0025】論理演算装置28は、加算(減算はその特
殊なタイプである)のような算術演算およびビット毎の
ANDおよびXORのような論理演算を行う公知のタイ
プのものである。論理演算装置28からの出力結果Z
は、レジスタバンク24へ送り返され、そこでそれは後
の操作のために記憶される。
【0026】図5は、特定目的乗算器を含むように改変
された図4の回路を示す。入力オペランドX、Yは、レ
ジスタバンク24から初期化装置30へ出力され、初期
化装置30は、乗算器の残部を初期化し、入力オペラン
ドのラッチされたバージョンであるRおよびDを直接反
復乗算器コア36へ送る働きをする。
【0027】初期化値Icは、値RおよびDから計算さ
れ、マルチプレクサ32を経て乗算器コアへ送られる。
もし命令が、この演算が累算および乗算を行うべきこと
を指定していれば、累算オペランドは追加サイクルにお
いてレジスタバンク24から初期化装置30へ送られ
る。この追加サイクルは、サイクルシーケンス内の、値
RおよびDを送るサイクルの直前に挿入される。ラッチ
された累算オペランドIsは、マルチプレクサ34を経
て乗算器コアへ送られる。もし命令が、この演算が累算
を行うべきでないことを指定していれば、Isは0にセ
ットされる。初期化演算の一部として、桁上げビット
は、この特定の反復乗算器コア36が、改変されたブー
ス被加数における桁上げ値およびセーブ値の一方を初期
化する様式の結果として、発生せしめられ、該桁上げビ
ットは、正しい結果を発生する終了時において結果内へ
加算される必要がある。
【0028】乗算器コア36は、入力オペランドD、R
およびマルチプレクサの出力VおよびWに対して乗算演
算を反復的に行い、部分結果を桁上げ−セーブ形式で結
果ラッチ38内に記憶せしめ、該部分結果の少なくとも
ある諸ビットをマルチプレクサ32、34を経て乗算器
コア36の入力へ帰還する。
【0029】早期終了が検出された(例えば、入力X、
Yが、結果のビット数を制限する小さい数である)時、
または乗算器が4反復を全て完了した時は、結果ラッチ
38内の部分結果は、汎用バレルシフタ26および早期
終了シフト機構40を経て論理演算装置28へ送られ
る。汎用バレルシフタ26および早期終了シフト機構4
0は、起こった早期終了の前に乗算器コア36が行った
反復サイクル数に依存して、前記部分結果のビット再整
列を行う。一般的にいうと、行われた反復サイクル数が
少ないほど、要求されるであろうビット再整列は大きく
なる。論理演算装置28は、再整列せしめられた部分結
果(例えば、桁上げ結果およびセーブ結果)を、汎用バ
レルシフタ26および早期終了シフト機構40から受
け、これらと桁上げビットとを加算して最終結果を発生
し、該最終結果は次にレジスタバンク24へ帰されて記
憶される。
【0030】乗算器の演算は、乗算器コア36の1、
2、3、または4反復の後に終了しうる。コアの反復の
後には、コアの出力値を、汎用バレルシフタ26、早期
終了シフト機構40、論理演算装置28、を経て送り、
結果をレジスタバンク24内へ書込むための1または2
サイクルが存在する。これらのサイクルの第1のものW
Lは常に生じて、結果の低位32ビットを指示された結
果レジスタに書込む。これらのサイクルの第2のものW
Hは、もし乗算命令が、結果の高位64ビットもレジス
タへ書込まれるべきである旨を指定していれば、生じ
る。
【0031】下記の表1は、汎用バレルシフタ26が、
乗算命令中に、反復乗算器コア36からの桁上げ値に対
してビット再整列を行うために用いられる8つの場合の
それぞれにおいて、汎用バレルシフタ26が行う演算を
与える。
【0032】
【表1】
【0033】反復乗算器コア36からの(セーブ値とし
ても知られる)加算結果の整列を補正するために用いら
れる早期終了シフト機構40はまた、同じ演算の一部と
して選択機能をも行う。早期終了シフト機構40は、本
明細書においてsuma〔32:0〕およびsumb
〔32:0〕と呼ばれる、反復乗算器コア36からの2
つの33ビットバスを受入れ、それらのバスはいっしょ
に66ビットの加算結果を表す。下記の表2は、これら
の入力バスからのいずれの諸ビットが、論理演算装置2
8へのバスA〔31:0〕上へ供給されるべく選択され
るかを示す。
【0034】
【表2】
【0035】早期終了ビット再整列が行われる諸サイク
ル中における、さまざまなバス上の値の例を、 (1)1×1、 (2)100×100、 (3)10000×10000、 (4)1000000×1000000、 の計算(全て16進数の値)の場合について、以下に与
える。これらの値は、それらがそれぞれ1、2、3、お
よび4反復サイクルの後に完了するために選択されたも
のである。諸値は、表3に記載されている以下のバスに
対して与えられる。
【0036】
【表3】
【0037】例1:1反復サイクル後に終了する、1×
1の計算。 サイクルWL: B=01000000、suma=0
000001FC、sumb=0FFFFFFFF、桁
上げ=1、Shift0out=00000004、A
=FFFFFFFC、およびALU=0000000
1。サイクルWH: B=80000000、suma
=0000001FC、sumb=0FFFFFFF
F、桁上げ=1、Shift0out=FFFFFE0
0、A=000001FF、およびALU=00000
000。
【0038】例2:2反復サイクル後に終了する、10
0×100の計算。 サイクルWL: B=01200000、suma=0
0001FC80、sumb=0FFFFFFFF、桁
上げ=0、Shift0out=00000480、A
=FFFFFC80、およびALU=0000010
0。 サイクルWH: B=80000000、suma=0
000001FC、sumb=0FFFFFFFF、桁
上げ=1、Shift0out=FFFFFE00、A
=000001FF、およびALU=0000000
0。
【0039】例3:3反復サイクル後に終了する、10
000×10000の計算。 サイクルWL: B=01200000、suma=0
01FC8000、sumb=0FFFFFFFF、桁
上げ=0、Shift0out=00048000、A
=FFFC8000、およびALU=0001000
0。 サイクルWH: B=80000000、suma=0
01FC8000、sumb=0FFFFFFFF、桁
上げ=1、Shift0out=FE000000、A
=01FFFFFF、およびALU=0000000
0。
【0040】例4:4反復サイクル後に終了する、10
00000×1000000の計算。 サイクルWL: B=01200000、suma=1
FC800000、sumb=0FFFFFFFF、桁
上げ=0、Shift0out=04800000、A
=FC800000、およびALU=0100000
0。 サイクルWH: B=00000000、suma=1
FC800000、sumb=0FFFFFFFF、桁
上げ=1、Shift0out=00000000、A
=FFFFFFFF、およびALU=0000000
0。
【0041】汎用バレルシフタ26は、乗算器コア36
により単一結果のみが出力されるように非冗長データ表
現が用いられる状況において、再使用されうる。この場
合、別個の早期終了シフト機構40は必要でなくなる。
汎用バレルシフタ26と論理演算装置28との相対位置
は逆にされうる。この場合は、論理演算装置28は、汎
用バレルシフタ26内における適切な可変長シフトによ
り最終結果が発生せしめられる前に行われるべき、乗算
演算が早期終了しうるそれぞれの異なる段階に対し1つ
ある、いくつかの特定目的加算を実行する必要がある。
【0042】論理演算装置28の上流への汎用バレルシ
フタ26の配置は、乗算器による早期終了再整列に対す
るその再使用を特に容易ならしめる。汎用バレルシフタ
は、通常、論理演算装置と並列に、または論理演算装置
の下流に、配設される。
【0043】以上においては、本発明の実施例を同期論
理装置に関して詳述してきたが、本発明は、非同期論理
装置に対しても適用可能であることを認識すべきであ
る。ここでは、本発明の説明のための実施例を、添付図
面を参照しつつ詳述したが、本発明は記載通りのそれら
の実施例に制限されるものではないこと、および添付の
特許請求の範囲によって定められる本発明の範囲および
精神から逸脱することなく、それに対するさまざまな変
更および改変が、本技術分野に習熟した者によりなされ
うることを理解すべきである。
【図面の簡単な説明】
【図1】反復乗算器を示す図。
【図2】冗長データ表現を用いる反復乗算器を示す図。
【図3】冗長データ表現を用い、かつ早期終了機構を有
する反復乗算器を示す図。
【図4】論理演算装置およびバレルシフタの配置を示す
図。
【図5】早期終了機構の一部として汎用バレルシフタを
再使用する反復乗算器を示す図。
【符号の説明】
26 汎用バレルシフタ 28 論理演算装置 32 マルチプレクサ 34 マルチプレクサ 36 反復乗算器コア 38 結果ラッチ 40 早期終了シフト機構

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 1つまたはそれ以上の入力オペランドに
    対し複数の異なるデータ処理演算の選択可能な1つを行
    う装置であって、行われるべき該データ処理演算が命令
    によって選択されるようになっており、該装置が、 (a)乗算指令に応答して乗算結果を発生する乗算演算
    を行う反復乗算器であって、該反復乗算器が、(i) 乗
    算器コアと、(ii)該乗算器コアの出力から該乗算器コ
    アの入力へ部分結果を帰還して反復演算を行う帰還手段
    と、(iii)さらなる反復が前記乗算結果を変化せしめな
    いであろう時、前記反復乗算器の演算を早期に終了せし
    める早期終了手段と、を含む、前記反復乗算器と、 (b)前記乗算指令以外の1つまたはそれ以上の命令に
    応答して入力オペランドに対し可変長シフトを行う汎用
    シフト手段と、 (c)前記反復乗算器の早期終了に応答して、前記乗算
    結果の発生の一部としての前記汎用シフト手段によるビ
    ット再整列のために、前記乗算器コアからの部分結果出
    力を該汎用シフト手段へ送る手段と、 を含む、前記データ処理乗算装置。
  2. 【請求項2】 前記反復乗算器が、それぞれの反復にお
    いて少なくとも2つの部分結果を与える冗長データ表現
    を用いる、請求項1記載の装置。
  3. 【請求項3】 前記冗長データ表現が桁上げ−セーブ表
    現である、請求項2記載の装置。
  4. 【請求項4】 前記汎用シフト手段へ送られない部分結
    果をビット再整列せしめる、少なくとも1つの早期終了
    シフト手段をさらに含む、請求項2記載の装置。
  5. 【請求項5】 前記部分結果から前記乗算結果を発生す
    る加算器をさらに含む、請求項2記載の装置。
  6. 【請求項6】 前記加算器が、加算演算および論理演算
    を行う論理演算装置を含む、請求項5記載の装置。
  7. 【請求項7】 前記論理演算装置が複数のオペランド入
    力を有し、該オペランド入力の1つが、前記汎用シフト
    手段の出力から取られる、請求項6記載の装置。
  8. 【請求項8】 前記汎用シフト手段がバレルシフタを含
    む、請求項1記載の装置。
  9. 【請求項9】 集積回路の形式を有する、請求項1記載
    の装置。
  10. 【請求項10】 1つまたはそれ以上の入力オペランド
    に対し複数の異なるデータ処理演算の選択可能な1つを
    行う方法であって、行われるべき該データ処理演算が命
    令によって選択されるようになっており、該方法が、 (a)乗算指令に応答して乗算結果を発生する反復乗算
    演算を行うステップであって、該反復乗算演算ステップ
    が、(i) 部分結果を発生するステップと、(ii)反復
    演算を行うために該部分結果を帰還するステップと、
    (iii)さらなる反復が前記乗算結果を変化せしめないで
    あろう時、前記反復乗算を早期に終了せしめるステップ
    と、を含む、前記反復乗算演算ステップと、 (b)前記乗算指令以外の1つまたはそれ以上の命令に
    応答して、汎用シフト手段により、入力オペランドに対
    し可変長シフトを行うステップと、 (c)前記反復乗算演算の早期終了に応答して、前記乗
    算結果の発生の一部としての前記汎用シフト手段による
    ビット再整列のために、部分結果を該汎用シフト手段へ
    送るステップと、 を含む、前記データ処理乗算方法。
JP03409995A 1994-03-11 1995-02-22 データ処理乗算装置および方法 Expired - Lifetime JP3516504B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB94047677 1994-03-11
GB9404767A GB2287333B (en) 1994-03-11 1994-03-11 Data processing multiplier

Publications (2)

Publication Number Publication Date
JPH07271557A true JPH07271557A (ja) 1995-10-20
JP3516504B2 JP3516504B2 (ja) 2004-04-05

Family

ID=10751697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03409995A Expired - Lifetime JP3516504B2 (ja) 1994-03-11 1995-02-22 データ処理乗算装置および方法

Country Status (3)

Country Link
US (1) US5557563A (ja)
JP (1) JP3516504B2 (ja)
GB (1) GB2287333B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451712B1 (ko) * 1997-03-12 2004-11-16 엘지전자 주식회사 멀티플리케이션장치및방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997008608A1 (en) * 1995-08-31 1997-03-06 Intel Corporation A set of instructions for operating on packed data
US6173303B1 (en) 1998-11-06 2001-01-09 National Semiconductor Corp. Multiply circuit and method that detects portions of operands whose partial products are superfluous and modifies partial product manipulation accordingly
US7200738B2 (en) 2002-04-18 2007-04-03 Micron Technology, Inc. Reducing data hazards in pipelined processors to provide high processor utilization
EP1710690A1 (en) * 2005-04-07 2006-10-11 STMicroelectronics (Research & Development) Limited Multiplication circuitry
US9146706B2 (en) * 2006-05-05 2015-09-29 Qualcomm Incorporated Controlled-precision iterative arithmetic logic unit
US20240111525A1 (en) * 2022-09-29 2024-04-04 Tenstorrent Inc. Multiplication hardware block with adaptive fidelity control system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4276607A (en) * 1979-04-09 1981-06-30 Sperry Rand Corporation Multiplier circuit which detects and skips over trailing zeros
US4868777A (en) * 1986-09-12 1989-09-19 Matsushita Electric Industrial Co., Ltd. High speed multiplier utilizing signed-digit and carry-save operands
US5036482A (en) * 1989-04-07 1991-07-30 Intel Corporation Method and circuitry for digital system multiplication
JPH0792739B2 (ja) * 1989-05-22 1995-10-09 甲府日本電気株式会社 浮動小数点データ正規化方式
US5008850A (en) * 1990-05-25 1991-04-16 Sun Microsystems, Inc. Circuitry for multiplying binary numbers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451712B1 (ko) * 1997-03-12 2004-11-16 엘지전자 주식회사 멀티플리케이션장치및방법

Also Published As

Publication number Publication date
GB2287333A (en) 1995-09-13
GB2287333B (en) 1998-02-11
US5557563A (en) 1996-09-17
GB9404767D0 (en) 1994-04-27
JP3516504B2 (ja) 2004-04-05

Similar Documents

Publication Publication Date Title
US6230179B1 (en) Finite field multiplier with intrinsic modular reduction
Savaš et al. A scalable and unified multiplier architecture for finite fields GF (p) and GF (2 m)
JP3869269B2 (ja) 単一サイクルにおける乗算累算演算の処理
US6904446B2 (en) Floating point multiplier/accumulator with reduced latency and method thereof
US7536430B2 (en) Method and system for performing calculation operations and a device
US6742012B2 (en) Apparatus and method for performing multiplication operations
JP3244506B2 (ja) 小型乗算器
EP1049025B1 (en) Method and apparatus for arithmetic operations
JP3605181B2 (ja) 掛け算累算命令を使用したデータ処理
US6115729A (en) Floating point multiply-accumulate unit
US20040122887A1 (en) Efficient multiplication of small matrices using SIMD registers
US6009450A (en) Finite field inverse circuit
US6728744B2 (en) Wide word multiplier using booth encoding
US7827226B2 (en) Hybrid arithmetic logic unit
JP3516503B2 (ja) 電子乗算および加算装置および方法
US5623683A (en) Two stage binary multiplier
JP3516504B2 (ja) データ処理乗算装置および方法
US7240204B1 (en) Scalable and unified multiplication methods and apparatus
US7174015B1 (en) Methods and apparatus for variable radix scalable modular multiplication
EP0534760A2 (en) High speed multiplier device
US20050246406A9 (en) Emod a fast modulus calculation for computer systems
US8930434B2 (en) Integrated multiply and divide circuit
US5646874A (en) Multiplication/multiplication-accumulation method and computing device
CA2330169A1 (en) Wide word multiplier using booth encoding
Page et al. Arithmetic and Logic

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040120

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term