JPH02240728A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPH02240728A
JPH02240728A JP2017662A JP1766290A JPH02240728A JP H02240728 A JPH02240728 A JP H02240728A JP 2017662 A JP2017662 A JP 2017662A JP 1766290 A JP1766290 A JP 1766290A JP H02240728 A JPH02240728 A JP H02240728A
Authority
JP
Japan
Prior art keywords
multiplication
multiplier
data
input
words
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
JP2017662A
Other languages
English (en)
Other versions
JPH0727457B2 (ja
Inventor
Kenneth J Wong
ケネス・ジェイ・ウオング
Steven P Davies
スチーブン・ピー・デイビース
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.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
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 Hughes Aircraft Co filed Critical Hughes Aircraft Co
Publication of JPH02240728A publication Critical patent/JPH02240728A/ja
Publication of JPH0727457B2 publication Critical patent/JPH0727457B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/52—Multiplying; Dividing
    • G06F7/523—Multiplying only
    • G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334—Reduction 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/5336—Reduction 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/5338—Reduction 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/4806—Computations with complex numbers
    • G06F7/4812—Complex multiplication
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487—Multiplying; Dividing
    • G06F7/4876—Multiplying
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804—Details
    • G06F2207/3808—Details concerning the type of numbers or the way they are handled
    • G06F2207/3812—Devices capable of handling different types of numbers
    • G06F2207/382—Reconfigurable for different fixed word lengths
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804—Details
    • G06F2207/386—Special constructional features
    • G06F2207/3884—Pipelining

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は一般にデジタル信号処理システム、特に複素数
固定および浮遊小数点代数乗算を実行するようなシステ
ムで使用するための乗・算器に関する。
[従来技術] 実時間で厳密なベクトルおよびスカラ計算動作を実行す
る性能は信号処理システムの重要な部分である。しかし
ながら、この要求はまた信号処理システムの寸法、重量
、電力および冷却に関する過酷な物理的制限を伴うこと
が多い。過去において、信号プロセッサ設計者は対立す
る要求において妥協しなければならず、結果として不十
分な特性を持つプロセッサになることが多がった。
[発明の解決すべき課題] 通常の信号プロセッサはまたほぼ5メガヘルツの比較的
遅いシステムクロック速度およびtaビットの固定小数
点データで動作する限定能力のために特性が制限されて
いる。このような通常の信号プロセッサの固定小数点動
作に基く制限は多数の適用状況において著しいものにな
ってきている。
多数の信号処理アルゴリズムには大きいダイナミック範
囲を存する代数計算が必要であり、32ビツトの浮遊小
数点処理が必要とされている。
本発明によると、複素数代数乗算はデジタル信号処理に
使用されることが多い。4つの実数乗算および2つの実
数加算を必要とする複素数乗算は、通常非常に複雑な回
路を使用して計算される。
このような典型的な乗算器の1つはデニス9A。
ヘンリン氏他ニヨル文献(’A  18B ltX 1
8B itP 1pe11ned  MultlpHe
r Macrocell’I E E E  J ou
rnal of S olld −S tateClr
cuits 、 Vol、 S C−20、No、2.
542乃至547頁、1985年4月)に記載されてい
る。この乗算器は、乗算を行うためによく知られた修正
ブース演算を使用する。
通常の乗算器は、典型的に固定小数点データまたは浮遊
小数点データのいずれかを処理する。このような通常の
乗算器の典型的ものはWeltek社、Raython
社またはA nalog D ovices社およびそ
の他の半導体製造業者により市販されている。しかしな
がら、単一の乗算装置内で固定および浮遊の両手数点乗
算が必要になる場合には、装置は大きいダイナミック範
囲を有する演算数を乗算し、このような乗算を行う能力
を具備した乗算器は通常得られない。
[課題解決のための手段] 通常の乗算器の限界を克服するために、本発明は予め定
められたデータワード長(32ビツト)を有する複数の
選択された入力ワードに関して複素数固定および浮遊小
数点代数乗算を行う乗算器を提供する。乗算器は、修正
されたブースアルゴリズムを実行する並列パイプライン
乗算装置である。
本発明の乗算器は、二重の16ビツト固定小数点データ
ワードフォーマットまたは1つの32ビツト浮遊小数点
データワードフォーマットのいずれかにおいて32ビツ
トデータ入カワードの処理を可能にする。
乗算器は、入力データワードを受信し、選択されたワー
ド長をそれぞれ有する下位桁ワードおよび上位桁ワード
を含む第1および第2の出力ワードを選択的に供給する
入力論理回路を含む。乗算ユニットは、修正されたブー
スアルゴリズムを実行するように構成された第1および
第2の選択的に相互接続される並列バイブライン乗算パ
スを含む入力論理装置に結合されている。2つの乗算バ
スは、それぞれ第1および第2のデータワードの下位桁
ワードおよび上位桁ワードを処理する。第1および第2
の加算器は各バスの各′!J2の乗算器に結合され、第
1の乗算パスの加算器はその出力がキャリ入力を供給す
るように第2の乗算パスの加算器の入力に選択的に結合
される。
2つの乗算パスは、それぞれ第1および第2のデータワ
ードの下位桁ワードおよび上位桁ワードを処理する。各
乗算パスは、修正されたブースアルゴリズムにしたがっ
て乗数を記録する2つの記録装置を含む。各記録装置の
出力はそれらが関連した各乗算器に結合されている。バ
イブラインレジスタは、各バスの2つの乗算器の間およ
び各バスの第2の乗算器の後方に設けられている。加算
器は修正されたブースアルゴリズムに必要とされるよう
に各バスの第2の乗算器の出力に設けられている。第2
組の加算器は各バスの各Wi2の乗算器および各乗算パ
スの各加算器に結合されている。
第1の乗算パスは、種々の点で第2の乗算パスに接続さ
れている。これらのデータバスは32ビツト浮遊小数点
データを処理したときに選択的にエネーブルされ、11
3ビット固定小数点データの場合にはディスエーブルさ
れる。
本発明の並列およびインターリーブ構造は、二重の16
ビツト固定小数点データワードフォーマットまたは1つ
の32ビツト浮遊小数点データワードフォーマットのい
ずれかにおける32ビツトデ一タ入力ワードの処理を可
能にする。選択的に2つの乗算パスを分離すると、16
ビツト固定小数点データワードによって2つの16ビツ
トのフォーマットにおける32ビツト入カデータワード
を処理して2つの32ビツト固定小数点の積を生成する
ことができる。
加算器を含むポスト乗算論理回路は、2つの32ビツト
固定小数点積が4つの方法の任意の1つで結合されて単
一の32ビツトワードにされることを可能にする。整数
乗算に関して、占積の下位桁のteビットは32とット
ワードにバックされることができる。分数乗算に関して
は、占積の上位桁の16ビツトが32とットワードにバ
ックされることができる。複素数乗算に関して、2つの
積の和または差が計算される。選択的に2つの乗算パス
を結合することにより、32ビツト浮遊小数点データワ
ードを処理して1つの32ビモ 成することができる。乗算器はまた、乗算器によって実
行された浮遊小数点乗算に関連する指数値を処理する乗
算器と並列結合された指数プロセッサを含んでいる。
[実施例] 第1図を参照すると、本発明の原理による2つの乗算器
14aおよび14b  (以下−括して示すときは14
で示す)を含む信号プロセッサIOのブロック図が示さ
れている。信号プロセッサ10は乗算器14を説明する
内容を提供するために概略的に示される。
第1図に示された信号プロセッサlOは一般に110で
示された入力/出力セクション、CPUで示された中央
処理ユニット、およびAEOおよびAEIで示された2
つの演算素子の4つの主要セクションを含む。特に、入
力/出力セクションは複数の構成可能な入力/出力ボー
トを提供する外部インターフェイスユニット11を含む
。外部インターフェイスユニット11はデータバス12
a 、 12bによってデータを蓄積するために使用さ
れる2つのデータ蓄積メモリ13a 、 13b 、 
2つの乗算器14a 、 14b 、およびデータで動
作する2つのレジスタおよび演算論理ユニット20a 
、 20bに結合されている。データ蓄積メモリ13a
 、 13bは典型的に技術的に良く知られた方法でメ
モリ空間を保存するために予め限定されたバックフォー
マットにデータを蓄積する。
制御コードを蓄積するために使用される制御蓄積メモリ
15は、演算素子制御装置17、乗算器14a。
14bおよび2つのレジスタおよび演算論理ユニット2
0a 、 20bに対して制御蓄積バス16によって結
合される。マイクロ蓄積メモリ18は演算素子制御装置
17に結合され、データ蓄積メモリ13a 、 13b
 。
乗算器14a 、 14bおよびレジスタおよび演算論
理ユニット20a 、 20bによって使用されるマイ
クロコード命令を蓄積するために使用される。
プロセッサIOは一般に以下のように機能する。
プロセッサIOによって処理されるべき信号はコンピュ
ータインターフェイス11によって受信され、データ蓄
積メモリ18a 、 13bに蓄積される。プロセッサ
の演算素子の処理パラメータおよびどのステップが演算
素子AEOおよびAEIによって実行されるかを定める
マイクロコード命令はマイクロ蓄積メモリ18に蓄積さ
れる。マイクロコード命令に対するポインタ、計算中に
演算素子によって使用されるプログラム可能な係数およ
び演算素子からの直接データ処理結果から構成される適
用プログラムは制御蓄積メモリ15に蓄積される。演算
素子制御装置17は、マイクロコード命令を実行させて
データを処理させる適用プログラムを実行する。演算素
子AEOおよびAEIは並列パイプラインプロセッサと
して動作し、通常理解されるように演算素子制御装置の
制御の下にマイクロコード命令にしたがってデータを処
理する。
制御パラメータは制御蓄積メモリ15から乗算器14a
 、 14bおよびレジスタおよび演算論理ユニット2
0a 、 20bに送られ、データ蓄積メモリ13a 
。
tabからのデータは通常理解される方法で演算素子制
御装置17の制御の下に演算素子AEOおよびAEIに
よって処理される。
第2図を参照すると、本発明の原理による乗算器が示さ
れており、それは第1図に示された信号プロセッサlO
の種々の素子に対する接続を含んでいる。本発明は上記
の信号プロセッサlOにおけるその配置および構造を参
照して記載されているが、その使用に限定されるもので
はない。本発明は、上記のプロセッサとは別の適用に適
した独立の乗算器として使用されることができる。
乗算器14は、制御蓄積およびデータ蓄積バス338 
、338に結合された制御蓄積およびデータ蓄積アンパ
ック論理回路332 、334を含む入力論理回路33
0を含む。5人カマルチブレクサ340および3人カマ
ルチブレクサ342を含む2つの多入力マルチプレクサ
は、出力されたデータ信号を受信するために各アンパッ
ク論理回路332 、834に結合された入力を有する
。アンパック論理回路332゜334の出力は各論理回
路332 、334から3人カマルチブレクサ342お
よび5人カマルチブレクサ340結合されている。
2つのマルチプレクサ340 、342の出力は第1お
よび第2のレジスタ344 、348によって乗算ユニ
ット350および指数プロセッサ3B2に結合されてい
る。さらに、第1のレジスタ344の出力はデータバス
35Bに沿って5人カマルチブレクサ340に入力とし
てフィードバックされる出力を具備した第3のレジスタ
348に結合されている。乗算ユニット350および指
数プロセッサ362の出力は乗算出力レジスタ352に
結合される。出力レジスタ352の出力はデータバス3
5Bに沿って5人カマルチブレクサ340の入力に結合
され、またシステムlOのレジスタおよび演算論理ユニ
ット20aに結合される。
信号プロセッサ10において、信号はレジスタおよび演
算論理ユニット20から乗算器14に結合される。これ
らの入力信号はデータバス354に沿って2つのマルチ
プレクサ340 、342の残り、の入力に結合される
。
状態/モード論理回路3[10は制御蓄積バス336お
よび乗算ユニット350に結合されている。状態/モー
ド論理回路360は、乗算器14およびシステムlOの
別の素子を通るデータの適切なパイプラインを保証する
ためにシステムの種々の素子に状態、モードおよびトラ
ップ信号を供給する。状態/モード回路360のデータ
レジスタおよびマルチプレクサの詳細は第2図に明瞭に
示されており、ここでは詳しく論じない。
第3図を参照すると、本発明の乗算ユニット350が詳
細に示されている。乗算ユニット350は、修正された
ブースアルゴリズムを実行するように構成された第1お
よび第2の選択的に相互接続される並列パイプライン乗
算バス370 、372を含む。
修正されたブースアルゴリズムは技術的に良く知られて
おり、デニス、A、ヘンリン氏他による文献(’ A 
 18B 1tX 16B it  P ipelln
edMultlpHer Macrocell” 、 
 I E E E  J ournalor  5ol
id−State   C1rcu1ts  、  V
ol、  5C−20、No、2.542乃至547頁
、1985年4月)およびに、ハワングによる文献(“
ComputerArlthietlc  、  Ne
w  York  :Wlley、  1979年)に
おいて詳細に論じられている。
2つの乗算パス370 、372はそれぞれ第1および
第2のデータワードの下位桁ワードおよびの上位桁ワー
ドを処理する。これらはAL、BLおよびAM、BMと
して識別される。これらのデータワードは、それぞれ第
1および第2のレジスタによって供給された信号から得
られる。各乗算パスは370 、372は、修正された
ブースアルゴリズムにしたがって乗数AL、BLを記録
するように調節された2つの記録装置374 、378
および378゜380を含む。各記録装置374 、3
78および378゜380の出力は、それらが関連する
各乗算器382゜384 、386 、3Hに結合され
ている。
第1のバイブラインレジスタ408a、 406bは各
パス370 、372の2つの乗算器382と384お
よび38Bと388の間に設けられている。第2のパイ
ブラインレジスタ408a、 408bは各パス370
 、372の第2の乗算器384 、388の後方に挿
入されている。
加算器390 、 !2は、計算した部分的な積を合計
するために各パス370 、372の第2の乗算器38
4゜388の出力に設けられている。第2組の加算器3
94 、398は乗算パス370 、372の第2の乗
算器384 、388および加算器390 、392に
それぞれ結合されている。第2組の加算器394 、3
98の各出力はそれぞれ乗算器350の出力積が出力さ
れる出力レジスタ410a、 410bに結合されてい
る。
第1の乗算パス370は、種々の点で第2の乗算パス3
72に接続されている。各パスの第1および第2の乗算
器は2つのデータバス400 、4021.:よって相
互接続され、一方策1のパスの2つの乗算器を分離する
レジスタはデータバス404によって第2のパス372
の第2の乗算器388に接続されている。下位桁ワード
を処理する第2の乗算パスの加算器は、キャリ入力を供
給するために選択的に第2の乗算パスの加算器394に
結合される出力を有する。これらの接続は、2つのパス
370 、372がそれぞれ接続データバスのエネーブ
ルに応じてビット×24ビットまたは16ビツトX1e
ビツトデータを処理するように単独でまたは並列に動作
するように設けられている。これらの相互接続データバ
ス370 、372は、32ビツト浮遊小数点データを
処理した場合に選択的にエネーブルされ、18ビット固
定小数点データを処理した場合にはディスエーブルされ
る。
本発明の信号プロセッサ10および乗算器14のいずれ
に関しても制御ラインおよび論理回路は図面に示されて
いない。しかしながら、以下の表1はそこで識別された
オブコード記憶補助系を有する64ビツトワードを示し
、そのビット28乃至35は第2図の乗算器14によっ
て使用される。表1において乗算として識別されたビッ
トは乗算器14に関連している。これらのオプコードは
以下において本発明の乗算器14の制御論理を実行する
ために使用される制御蓄積ワード(CSDATA)およ
びデータ蓄積ワード(、D S D A T A )に
関するマイクロコード命令セットを説明する表2乃至6
において与えられる。表7は乗算器14に位置モードレ
ジスタ(SMR)ビットを提供する。
表1.    ワード分配 ビット フィールド 63乃至(to  MOD 59乃至57 0PER 56乃至530P1 ユニット アドレス データ/ オフセット データ/ オフセット コメント 発生器 52乃至490P2 メモリ 乗算器 48乃至46 45乃至43 42乃至39 38乃至36 35乃至34 R R S S ALU 33乃至31 8 30乃至28M0P 27乃至2B ■ 状態/モード レジスタ (SMR) SMR SMR MR 24乃至21 20乃至15 14乃至10 9乃至5 3乃至2 LG D PO E R O SMR SMR SMR SMR SMR SMR 保留 保留 表2.マイクロコード命令セット(ランモード)CSデ
ータアクセス−msデデー<42:39>オブコード NS NL R NA SO 動作 N op、不履行長ワード Nop、不履行長ワード CSデータから SMRを負荷する N op、不履行長ワード MULTIから SMRを出力する NO SI NI NS NL SA LA NS O LO SI NL 1 NOps不履行長ワード MULTIから SMRを出力する NOp%不履行長ワード CSデータ短ワード を読取る CSデータ長ワード を読取る N Op、不履行短ワード N Op、不履行長ワード N op、不履行短ワード Nop、不履行長ワード N op、不履行短ワード N Op、不履行長ワード 表3.マイクロコード命令セット DSデータアクセス−msデデー<38:36>ビット 0゜ 1゜ オプコード NS、  ES NL、  EL 動作 Nops不履行長ワード Nops不履行長ワード 4゜ 5゜ R3゜ RL。
NS NL DSデータ短ワード を読取る DSデータ長ワード を読取る 表4.マイクロコード命令セット AおよびB演算数選択−msデデー<35:31>ビッ
ト オブコード 選択された演算数 A     B HH保持、   保持、 Al−Al  B1−B1、 2−B2 HR保持、   Bl−RALU。
Al−Al  B2−BI HC保持、   B1− Al−Al  CSデータ、 2−BI HD    保持、   B1− Al−Al  DSデータ、 2−B1 R E 保持、 A 1−A 1 保持、 A 1−A 1 SI 保持、 R−Al R R− RALU R R F A  I  MSW とLSWを 交換 IMSW とLSWを 交換 IMSW とLSWを 交換 B  1−MoUT 2−Bl 交換、 2−BI BIMSWと LSWを交換 B2を保持 保持、 1−BI 保持、 1−BI RALU。
2−BI B1端 CSデータ、 2−Bl D M H S H H H IMSW とLSWを 交換 IMSW とLSWを 交換 IMSW とLSWを 交換 IMSW とLSWを 交換 AI− RALU l− C5データ A l 調 CSデータ DSデータ、 B2舖BI MoUT。
2−Bl 交換、 B1間B2、 2−BI B IMSWと LSWを交換、 B2を保持 RALU。
2−Bl 保持、 B1−B1、 2−B2 RALU。
 C D M H S C H l− C5データ l− C5データ AI糟 CSデータ 2−BI CSデータ、 2−BI DSデータ、 2−BI MoUT。
A l 卿 CSデータ A 1 曽 CSデータ A 1 冒 RA  ′L U AI− 交換、 B1讃B2、 2−BI BIMSWと LSWを交換、 B2を保持 B1卿 CSデータ、 B2曝B1 交換、 H C D M H S DSデータ AI− DSデータ A 1 ■ DSデータ A 1 ■ DSデータ DSデータ AI− DSデータ AI− RALU Bl−Bl、 B 2輔B2 RALU。
2−BI CSデータ、 2−BI DSデータ、 B 2閣BI MoUT。
2−Bl 交換、 B1噛B2、 B2鱒BI BIMSWと LSWを交換、 B2を保持 D AI−Bl− RALU   DSデータ、 B2簡B1 表5.マイクロコード命令セット 乗算動作−msデデー<30:28> ピット オブコード 動作 OFLT     浮遊小数点A*B I   FLX     固定/浮遊小数点乗算、浮遊
(LSWA) 2   DRD     固定小数点、MSW (MS
WA*MS WB): MSW (LSW AILSWB) 3   DLT     固定小数点、LSW (MS
WA*MS WB): LSW (LSW AILSWB) 4   XSU     固定小数点、MSWA*MS
WB−L XAD SU 7     QAD SWA  *  L  SWB 固定小数点、 MSWA*MSWB+L SWA*LSWB MSW (MOUT): M SW (XSU (A、B)) MSW (MOUT): M SW (XAD (A、B)) 表6.マイクロコード命令セッ EIUC停止モード命令 EIUCオブコード 動作 <6 : 3> 0    1 DLE 1    1 DLE 2     LDAE 動作なし 動作なし MS  MULT<0ニ ア〉上でDS遅延く0: 3〉およびDSデータ <28:31>を出力し、 MULTOだけに供給 ト RMS DLE   DLE DAE DLE する MS  MULT<0ニ ア〉上でDS遅延く0: 3〉およびDSデータ <28:31>を出力し、 DSデータ<0 : 3> 上でDS遅延<0:3 〉を負荷し、MULT Oだけに供給する 動作なし 動作なし DSデータ<28:31> 上でMS  MULT< 0:3〉を出力し、M ULTOだけに供給す る DSデータ<O:3> 上で前のMS  MUL T<4 : 7>を含むM S  MULT<0:3   DLE ESET TST DLE HFL HFS SCN SCN 〉を出力し、MULT Oに供給する 動作なし 動作なし 試験モードを設定 動作なし 長い走査バスをシフト する 短い走査バスをシフト する TMR< 1 >を設定し、 短い走査パスをシフト する TMR< 1 >をリセッ トし、短い走査パスを シフトする 表7゜ 位置モードレジスタ SMRビット 25乃至24 名称 MOF MU  F MIO MIR CSD LIM 記載 トラップ:乗算器 オーバーフロー トラップ:乗算器 アンダーフロー トラップ:乗算器 無効動作 トラップ:正しく ない結果 モード二乗算器側 御蓄積遅延 モード:乗算器リ ミタ RND モード二乗算器ラ ウンディング ここに提供された表1乃至7および第2図および111
3図を含む情報から、信号プロセッサの当業者は手動で
またはS oque1社(カルフォルニア)のCADグ
ループから市販されたような市販のソフトウェアによっ
て、本発明の乗算器14を構成するタイミングおよび制
御論理回路を生成することができる。ここで与えられた
データ流の記載および動作のその説明によってこの論理
回路を使用して当業者は本発明を構成することができる
。
動作において第2図および第3図を参照すると、本発明
の乗算器14は以下のように動作する。信号プロセッサ
10における実行に関してレジスタおよび演算論理ユニ
ットからのデータバスは付加的に設けられているが、乗
算されるべきデータは2つのデータバス338 、33
8に沿って供給される。データは18ビツトの固定小数
点フォーマットまたは32ビツト浮遊小数点フォーマッ
トのいずれかにおいて供給される。
二重の16ビツトモードにおいて、各バス中のデータは
下位桁ワードおよび上位桁ワードに区分され、乗算ユニ
ット350に供給される。二重の16ビツト固定小数点
モードにおいて、2つの並列乗算バス370 、372
は互いに接続されず、2つのバスは通常の方法で16ビ
ツトの内および外積を生成するためにデータを処理する
。乗算器350が32ビツト浮遊小数点モードで動作さ
れた場合、2つの乗算バス370 、372は相互接続
され、32ビツト幅のデータバスの24ビツトが乗算処
理に使用される。
8つの付加的なビットは、はぼ通常の方法で指数プロセ
ッサ362によって並列に処理される指数を含む。
乗算器14はまたデータバス336 、338を使用せ
ずに各クロックパルス期間中変化しないデータとデータ
の乗算を実行する。これはレジスタ348および5人カ
マルチブレクサ340に対するそのフィードバックルー
プによって達成される。このフィードバックループは、
他の全クロックパルスの期間中に前に使用されたデータ
の再循環を可能にする。さらに、乗算器14の最後の積
は、データバス35Bによって5人カマルチブレクサに
この積を戻すことによって乗算数として使用されること
ができる。
乗算器は2つの32ビツトデータワードで動作し、2つ
の18ビツトXIBビツトまたは1つの24ビツト×2
4ビツトの乗算を実行する。3クロツク遅延後、2つの
32ビツトまたは1つの48ビツトの積はそれぞれ固定
および浮遊小数点動作からの出力として与えられる。乗
算動作と並列に、浮遊小数点積指数が計算される。
したがって、乗算器14は1つおきの全クロックパルス
の間に複素数演算の固定小数点積を形成することができ
る。2つの16ビツトX18ビツト固定小数点積または
1つの32ビツト浮遊小数点積はクロックパルス全てに
、関して開始され、その結果は連続ベースでの固定バイ
ブライン遅延後に利用することができる。固定および浮
遊小数点バイブライン動作はまた32ビモ インターリーブされることができる。32ビツト入力演
算数は3つの外部ソース(CSデータ、DSデータおよ
びRALU)または最後の出力積から選択される。
以上のように、32ビツトデータワード長を有する複数
の選択された入力ワードに関して複素数固定および浮遊
小数点代数乗算を行う新しく改善された乗算器が記載さ
れている。本発明の並列およびインターリーブされた構
造は、2つの16ビツトX18ビツト固定小数点データ
ワードフォーマットまたは1つの32ビツト浮遊小数点
データワードフォーマットのいずれかにおける32ビツ
ト人カデータワードの処理を可能にする。
上記の実施例は単に本発明の原理の適用を表す多数の特
有の実施例の1つを説明しているに過ぎないものである
ことを理解すべきである。当業者は、本発明の技術的範
囲を逸脱することなく多数の他の構造を容易に構成し得
ることは明らかである。特に、適用されない特定の乗算
器として使用された場合、データ入力は例えば2つ(C
Sデータ、DSデータ)に減少され、したがってRAL
Uを省略することができる。
【図面の簡単な説明】
第1図は、本発明の原理による乗算器を具備している信
号プロセッサのブロック図である。 第2図は第1図の乗算器の詳細なブロック図である。 第3図は第2図の乗算器の乗算ユニットを詳細に示す。 10・・・プロセッサ、11・・・インターフェイス、
13a 。 13b・・・データ蓄積メモリ、14・・・・・・乗算
器、17・・・制御装置、1B・・・マイクロ蓄積メモ
リ、20a 、 20b・・・演算論理ユニット、33
2 、334 、344 、348 。 352・・・レジスタ、340 、342・・・マルチ
プレクサ、360・・・状態/モード論理回路、374
 、376 、378 。 380・・・記録装置、390 、392 、394 
、396・・・加算器。 出願人代理人  弁理士 鈴江武彦 1、事件の表示 特願平2−17662 @ 名称 ヒユーズ−エアクラフト・カンパニ4、代理人 東京都千代田区霞が関3丁目7番2号 〒100 111話 03 (502)3181 (大
代表)6、補正の対象 明細書の特許請求の範囲の欄 8、補正の内容 特許請求の範囲を別紙の通り訂正する 2、特許請求の範囲 (1)予め定められたデータワード基を有する複数の入
力ワードに関して実数および複素数固定小数点および浮
遊小数点代数乗算を選択的に実行する乗算回路において
、 入力データワードの下位および上位桁部分を含む第1お
よび第2の出力ワードを供給するために予め定められた
データワード基を有する複数の入力データワードを受信
するように構成された入力論理手段と、 第1および第2の出力ワードを受信するように構成され
た入力論理手段に結合され、浮遊小数点乗算を実行する
ときに第1および第2の出力ワードの下位桁のワードお
よび上位桁のワードをそれぞれ処理し、固定小数点乗算
を実行するときには各乗算パスに沿って複数の入力ワー
ドをそれぞれ処理する修正されたブース演算を行うよう
に構成された第1および第2の選択的に相互接続された
並列パイプライン乗算パスを含む乗算手段と、第1およ
び第2の直列接続された乗算器をそれぞれ含み、第1の
パイプラインレジスタがその間に接続され、第2のパイ
プラインレジスタが第2の乗算器の出力に接続されてい
る第1および第2の乗算パスと、 各パスの第2の乗算器の出力にそれぞれ結合された第1
および第2の加算器であって、第1の乗算パスの加算器
はキャリ入力を供給するために第2の乗算パスの加算器
の入力に選択的に結合可能な出力を有する第1および第
2の加算器とを具備し、 乗算手段は、第1および第2の並列バイブライン乗算パ
スおよび第1および第2の加算器が相互接続されたとき
に浮遊小数点乗算を実行し、第1および第2の並列バイ
ブライン乗算パスおよび第1および第2の加算器が選択
的に分離されたときに固定小数点乗算を実行することを
特徴とする乗算回路。 (2)前記乗算手段において、第1および第2の直列に
結合された乗算器は各パスに設けられ、各パス中の乗算
器はそれぞれ各上位桁のワードを受信するために入力論
理手段に記録論理回路を結合させ、各下位桁のワードを
受信するために入力論理手段に各パスの第1の乗算器を
結合させ、各パスの第1および第2の乗算器に結合され
た加算器は乗算回路の出力積を形成するために乗算器の
部分積出力を組み合わせることを特徴とする請求項1記
載の乗算回路。 (3)乗算手段によって実行される浮遊小数点乗算に関
連した指数値を処理するために乗算手段と並列に結合さ
れた指数処理手段を具備することを特徴とする請求項1
記載の乗算回路。 (4)予め定められたデータワード基を有する複数の入
力ワードに関して実数および複素数固定小数点および浮
遊小数点代数乗算を選択的に実行する乗算回路において
、 入力データワードの下位および上位桁部分を含む第1お
よび第2の出力ワードを供給するために予め定められた
データワード基を有する複数の入力データワードを受信
するように構成された入力論理手段と、 第1および第2の出力ワードを受信するように構成され
た入力論理手段に結合され、第1およびm2の出力ワー
ドの下位桁のワードおよび上位桁のワードをそれぞれ処
理し、修正されたブース演算を行うように構成された第
1および第2の選択的に相互接続された並列パイプライ
ン乗算バスを含む乗算手段と、 第1および第2の直列接続された乗算器をそれぞれ含み
、パイプラインレジスタがその間に接続され、第2のパ
イプラインレジスタが第2の乗算器の出力に接続され、
各バスは第2の乗算器の出力に結合された加算器を含み
、そこにキャリ入力を供給するために第1の乗算バスの
加算器は第2の乗算器の出力の加算器の入力に選択的に
結合された出力を有するjiilおよび第2の乗算バス
と、第1および第2の選択的に結合されたデータバスを
具備し、第1および第2の乗算器にそれぞれ選択的に相
互接続するように構成され、第2の乗算バスの第2の乗
算器に第1の乗算バスのパイプラインレジスタを選択的
に相互接続するように構成された結合されたデータレジ
スタバスを具備する乗算手段とを具備し、 乗算回路は、第1および第2のレジスタパスおよびデー
タレジスタバスおよび第1および第2の加算器が一緒に
結合されたときに固定小数点乗算を実行し、第1および
第2のレジスタパスおよびデータレジスタバスおよび第
1および第2の加算器が結合されないときに浮遊小数点
乗算を実行することを特徴とする乗算回路。 (5)予め定められたデータワード長を有する複数の入
力ワードに関して実数および複素数固定小数点および浮
遊小数点代数乗算を選択的に実行する乗算回路において
、 第1および第2の出力ワードを出力するために予め定め
られたデータワード長を有する複数の入力データワード
を受信するように構成された入力論理手段と、 ′!J1および!11N2の出力ワードを受信する入力
論理手段に接続され、修正されたブース演算を行うよう
に構成された第1および第2の選択的に相互接続された
並列パイプライン乗算バスを含む乗算手段と、 第1および第2の直列接続された乗算器をそれぞれ含み
、第1のパイプラインレジスタがその間に接続され、第
2のパイプラインレジスタが第2の乗算器の出力に接続
され、各バスは第2の出力に結合された加算器を含み、
第1の乗算バスの加算器はそこにキャリ入力を供給する
ために第2の乗算バスの加算器の入力に選択的に結合さ
れる出力を具備する第1および第2の乗算バスと、第1
および第2の選択的に結合可能なデータバスを具備し、
第1および第2の乗算器にそれぞれ相互接続するように
構成され、第2の乗算バスの第2の乗算器に第1の乗算
バスのパイプラインレジスタを選択的に相互接続するよ
うに構成された結合可能なデータレジスタバスを具備す
る乗算手段とを具備し、 乗算回路は、第1および第2のレジスタパスおよびデー
タレジスタバスおよび第1および第2の加算器が一緒に
結合されたときに固定小数点乗算を実行し、第1および
第2のレジスタパスおよびデータレジスタバスおよび第
1および第2の加算器が結合されないときに浮遊小数点
乗算を実行することを特徴とする乗算回路。 出願人代理人 弁理士 鈴江武彦

Claims (3)

    【特許請求の範囲】
  1. (1)予め定められたデータワード長を有する複数の入
    力ワードに関して実数および複素数固定少数点および浮
    遊小数点代数乗算を選択的に実行する乗算回路において
    、 入力データワードの下位および上位桁部分を含む第1お
    よび第2の出力ワードを供給するために予め定められた
    データワード長を有する複数の入力データワードを受信
    するように構成された入力論理手段と、 第1および第2の出力ワードを受信するように構成され
    た入力論理手段に結合され、浮遊小数点乗算を実行する
    ときに第1および第2の出力ワードの下位桁のワードお
    よび上位桁のワードをそれぞれ処理し、固定小数点乗算
    を実行するときには各乗算パスに沿って複数の入力ワー
    ドをそれぞれ処理する修正されたブース演算を行うよう
    に構成された第1および第2の選択的に相互接続された
    並列パイプライン乗算パスを含む乗算手段と、第1およ
    び第2の直列接続された乗算器をそれぞれ含み、第1の
    パイプラインレジスタがその間に接続され、第2のパイ
    プラインレジスタが第2の乗算器の出力に接続されてい
    る第1および第2の乗算パスと、 各パスの第2の乗算器の出力にそれぞれ結合された第1
    および第2の加算器であって、第1の乗算パスの加算器
    はキャリ入力を供給するために第2の乗算パスの加算器
    の入力に選択的に結合可能な出力を有する第1および第
    2の加算器とを具備し、 乗算手段は、第1および第2の並列パイプライン乗算パ
    スおよび第1および第2の加算器が相互接続されたとき
    に浮遊小数点乗算を実行し、第1および第2の並列パイ
    プライン乗算パスおよび第1および第2の加算器が選択
    的に分離されたときに固定小数点乗算を実行することを
    特徴とする乗算回路。
  2. (2)前記乗算手段において、第1および第2の直列に
    結合された乗算器は各パスに設けられ、各パス中の乗算
    器はそれぞれ各上位桁のワードを受信するために入力論
    理手段に記録論理回路を結合させ、各下位桁のワードを
    受信するために入力論理手段に各パスの第1の乗算器を
    結合させ、各パスの第1および第2の乗算器に結合され
    た加算器は乗算回路の出力積を形成するために乗算器の
    部分積出力を組合わせることを特徴とする請求項1記載
    の乗算回路。
  3. (3)乗算手段によって実行される浮遊小数点乗算に関
    連した指数値を処理するために乗算手段と並列に結合さ
    れた指数処理手段を具備することを特徴とする請求項1
    記載の乗算回路。
JP2017662A 1989-01-27 1990-01-26 乗算器 Expired - Lifetime JPH0727457B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/303,789 US4953119A (en) 1989-01-27 1989-01-27 Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers
US303789 1989-01-27

Publications (2)

Publication Number Publication Date
JPH02240728A true JPH02240728A (ja) 1990-09-25
JPH0727457B2 JPH0727457B2 (ja) 1995-03-29

Family

ID=23173703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017662A Expired - Lifetime JPH0727457B2 (ja) 1989-01-27 1990-01-26 乗算器

Country Status (5)

Country Link
US (1) US4953119A (ja)
EP (1) EP0380100A3 (ja)
JP (1) JPH0727457B2 (ja)
AU (2) AU4884090A (ja)
CA (1) CA2007054C (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2651267B2 (ja) * 1990-07-26 1997-09-10 富士通株式会社 演算処理装置及び演算処理方法
US5651121A (en) * 1992-12-18 1997-07-22 Xerox Corporation Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand
DE69428466T2 (de) * 1993-11-23 2002-05-23 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Parallele Datenverarbeitung in einem Einzelprozessor
US5619664A (en) * 1994-01-04 1997-04-08 Intel Corporation Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms
NL9400607A (nl) * 1994-04-15 1995-11-01 Arcobel Graphics Bv Dataverwerkingscircuit, vermenigvuldigingseenheid met pijplijn, ALU en schuifregistereenheid ten gebruike bij een dataverwerkingscircuit.
JP3583474B2 (ja) * 1994-06-29 2004-11-04 株式会社ルネサステクノロジ 乗算装置
JPH11500547A (ja) * 1994-12-01 1999-01-12 インテル・コーポレーション 乗算を有するマイクロプロセッサ
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5764558A (en) * 1995-08-25 1998-06-09 International Business Machines Corporation Method and system for efficiently multiplying signed and unsigned variable width operands
US6490607B1 (en) * 1998-01-28 2002-12-03 Advanced Micro Devices, Inc. Shared FP and SIMD 3D multiplier
US6341300B1 (en) * 1999-01-29 2002-01-22 Sun Microsystems, Inc. Parallel fixed point square root and reciprocal square root computation unit in a processor
US6480872B1 (en) * 1999-01-21 2002-11-12 Sandcraft, Inc. Floating-point and integer multiply-add and multiply-accumulate
US6546480B1 (en) * 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6205462B1 (en) * 1999-10-06 2001-03-20 Cradle Technologies Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously
US6725360B1 (en) * 2000-03-31 2004-04-20 Intel Corporation Selectively processing different size data in multiplier and ALU paths in parallel
US6889242B1 (en) * 2001-06-29 2005-05-03 Koninklijke Philips Electronics N.V. Rounding operations in computer processor
US7433912B1 (en) * 2004-02-19 2008-10-07 Sun Microsystems, Inc. Multiplier structure supporting different precision multiplication operations
US8880573B2 (en) 2010-10-12 2014-11-04 Dolby Laboratories Licensing Corporation System and method of dynamic precision operations
US20150095396A1 (en) * 2013-10-01 2015-04-02 Rockwell Automation Technologies, Inc. Multiplying varying fixed-point binary numbers
US11175892B2 (en) * 2017-11-20 2021-11-16 Intel Corporation Integrated circuits with machine learning extensions
RU2689819C1 (ru) * 2018-08-21 2019-05-29 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Векторный мультиформатный умножитель
RU185346U1 (ru) * 2018-08-21 2018-11-30 Акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" (АО НПЦ "ЭЛВИС") Векторный мультиформатный умножитель

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037034A (ja) * 1983-08-09 1985-02-26 Nec Corp モ−ド付パイプライン化乗算回路
JPS60205746A (ja) * 1984-03-30 1985-10-17 Toshiba Corp 配列乗算器
JPS6267637A (ja) * 1985-09-20 1987-03-27 Toshiba Corp 配列乗算器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3814924A (en) * 1973-03-12 1974-06-04 Control Data Corp Pipeline binary multiplier
US4541048A (en) * 1978-10-06 1985-09-10 Hughes Aircraft Company Modular programmable signal processor
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
US4755962A (en) * 1984-10-30 1988-07-05 Fairchild Camera And Instrument Microprocessor having multiplication circuitry implementing a modified Booth algorithm
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037034A (ja) * 1983-08-09 1985-02-26 Nec Corp モ−ド付パイプライン化乗算回路
JPS60205746A (ja) * 1984-03-30 1985-10-17 Toshiba Corp 配列乗算器
JPS6267637A (ja) * 1985-09-20 1987-03-27 Toshiba Corp 配列乗算器

Also Published As

Publication number Publication date
US4953119A (en) 1990-08-28
AU1805692A (en) 1992-07-30
EP0380100A3 (en) 1992-12-16
CA2007054C (en) 1994-05-24
AU4884090A (en) 1990-08-16
AU646339B2 (en) 1994-02-17
EP0380100A2 (en) 1990-08-01
JPH0727457B2 (ja) 1995-03-29
CA2007054A1 (en) 1990-07-27

Similar Documents

Publication Publication Date Title
US8880855B2 (en) Dual register data path architecture with registers in a data file divided into groups and sub-groups
US4953119A (en) Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers
US4878190A (en) Floating point/integer processor with divide and square root functions
US4969118A (en) Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
US4916651A (en) Floating point processor architecture
US5448509A (en) Efficient hardware handling of positive and negative overflow resulting from arithmetic operations
US8341204B2 (en) Vector SIMD processor
US20140365548A1 (en) Vector matrix product accelerator for microprocessor integration
CN111353126A (zh) 分块矩阵乘法运算系统
EP0042452B1 (en) Signal processor computing arrangement and method of operating said arrangement
EP0380098A2 (en) Signal processor
US4780842A (en) Cellular processor apparatus capable of performing floating point arithmetic operations
WO2018160738A2 (en) Reconfigurable matrix multiplier system and method
GB2294565A (en) Floating point arithmetic unit
US4208722A (en) Floating point data processing system
JPH08234962A (ja) 24ビットおよび16ビット算術演算の双方を実行するための装置および方法
JP2002149400A (ja) 複数レジスタ指定が可能なsimd演算方式
US20220156567A1 (en) Neural network processing unit for hybrid and mixed precision computing
IT202000009358A1 (it) Circuito, dispositivo, sistema e procedimento corrispondenti
US5222230A (en) Circuitry for transferring data from a data bus and temporary register into a plurality of input registers on clock edges
EP3841461A1 (en) Digital circuit with compressed carry
JPH0850578A (ja) 算術論理演算装置及び制御方法
EP0380099B1 (en) Register and arithmetic logic unit
US4823300A (en) Performing binary multiplication using minimal path algorithm