JPH0214318A - 構成可能な数の乗算器サイクル及び可変除算サイクル比を有する浮動小数点回路 - Google Patents

構成可能な数の乗算器サイクル及び可変除算サイクル比を有する浮動小数点回路

Info

Publication number
JPH0214318A
JPH0214318A JP1063394A JP6339489A JPH0214318A JP H0214318 A JPH0214318 A JP H0214318A JP 1063394 A JP1063394 A JP 1063394A JP 6339489 A JP6339489 A JP 6339489A JP H0214318 A JPH0214318 A JP H0214318A
Authority
JP
Japan
Prior art keywords
clock
multiplier
divide
coupled
input
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
JP1063394A
Other languages
English (en)
Inventor
Mark Birman
マーク・バーマン
George K Chu
ジョージ・ケイ・チュー
Fred A Ware
フレッド・エイ・ウェア
Selfia Halim
セルフィア・ハリム
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.)
WEYTEC CORP
Weitek Corp
Original Assignee
WEYTEC CORP
Weitek Corp
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 WEYTEC CORP, Weitek Corp filed Critical WEYTEC CORP
Publication of JPH0214318A publication Critical patent/JPH0214318A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は浮動小数点システムにおける乗算器及び除算/
平方根ユニット用タイミング回路に関する。
〔従来の技術及び発明が解決しようとする課題〕代表的
な浮動小数点システムは乗算器(間し)及び算術論理ユ
ニット(ALtl)の両方を備えるであろう。乗算は多
くの部分的な積の合計を必要とし従ってMUL演算を完
了するのにはALU演算を完了するよりも長い時間を要
する。あるシステムはできるだけ早いクロックサイクル
時間を要するため、乗算には加算よりも多くのサイクル
を使用することになる。他のシステムは、乗算及びAL
II演算の双方にとって同数のサイクルを有する簡単な
プログラミングモデルが必要である。これは必要以上の
クロックサイクルがALtl演算に割当てられることに
なる。
ある構成においては、除算/平方根ユニットに乗算器ユ
ニットと同じ入力ステージを割当て、その結果を乗算ユ
ニットの次のステージへ供給する。
そのような除算/平方根ユニットは、演算のために固定
数のクロックを典型的に要求するので、コントロール回
路群がオペランドに刻時して要求サイクル数だけ計数し
た後に結果をクロックアウトする。
乗算器は1つのシステム内に入カステージ、出力ステー
ジ及び固定小数点ハーフアレイ乗算器を有する中間ステ
ージの3ステージを備えることがある。出力ステージの
最初に位置するレジスタは、倍精度浮動小数点及び整数
乗算を行うためにハーフアレイの第2回目の通過を許す
べ(、中間ステージ内のマルチプレクサへ出力をフィー
ドバンクする。単精度及び混合精度乗算にはただ1回の
アレイ通過でよい。
〔課題を解決するための手段及び作用〕本発明は、除算
/平方根ユニット、乗算器ユニット及びALUの間で要
求されるサイクル数及びサイクル比を最適化する。自己
クロック付きの中間う、チは、倍精度のための2回目の
通過のためにデータをフィードバックすべく、中間ステ
ージの乗算器のハーフアレイの出力側に備えられている
乗算器は次いで2サイクル待ち時間モード(倍精度乗算
の最適化のための)用にもまた3サイクル待ち時間モー
ド(単精度乗算の最適化のための)用にも調整される。
独立した除算クロックは除算/平方根ユニットに用いら
れ、入出力について乗算器のサイクルクロンクと同期さ
れる。これにより、より長い乗算器クロックサイクル時
間が用いられる際にも、より少ないクロックサイクルで
済むように除算時間が最適化できる。
本発明はこのようにして期待される応用面についてユー
ザが回路を最jδ化できるようにした。3サイクル待ち
時間モードは華精度浮動小数点演算用のより短いサイク
ル時間を可能とする。本発明によれば、システムデザイ
ナは装置用のどのような特殊なクロック比においても除
算/平方根ユニットとは関係なく最適性能を得ることが
できる。
装置の主クロツクサイクル時間が十分に長ければ、除算
の反復レートは乗算器またはALUの構成から完全に独
立する。除算の反復は、ALU/MOL命令速度の任意
の正の整数倍のレートで形成される。
本発明の本質及び進歩性の一層完全な理解を計るため、
添付図と共に詳細に記述するので参照されたい。
(以 下 余 白) (発明の実施例〕 以下、本発明をその実施例を示す図面に基づいて詳述す
る。
第1図は本発明を用いた64ビット浮動小数点データバ
スのブロック図である。レジスタファイル12及びレジ
スタ14.16は入力データをバス及びマルチプレクサ
18へも与える。データは更に、ALU20へも乗算機
22へも与えられ、また除算/平方根ユニット24へも
与えられる。除算/平方根ユニットは乗算器と入出力回
路を共有する。典型的には、オペランドは除′n、/平
方根ユニット24へ刻時され、カウンタは結果を数サイ
クル後にクロックアウトするように動作させられる。本
発明ではしかし、より詳細なブロック図(第2図)に示
される如く、分離された除算クロックを用いる。
第2図に見られる如く、乗算器22は第1ステージ26
.第2ステージ28及び第3ステージ30の3つのステ
ージでパイプライン構成されている。更に2つのパイプ
ラインレジスタ32及び34がある。各乗算演算は連続
してこれらのステージ及びレジスタを通過する。
第1ステージはソース例外、つまり非標準化数及び無効
演算を検出する前端回路を内蔵し、浮動小数点数の指数
を加算するための加算器も内蔵している。もし第1ステ
ージにおいてソース例外あるいは無効′ei算が発見さ
れると、浮動小数点除外出力ピン36(FREX−)が
働いてシステムの他の部分へ例外を表示する。
第2ステージは、浮動小数点数の整数または小数を乗算
するだめの固定小数点ハーフアレイ (54×27)乗
算器を内蔵している。単精度及び混合精度の浮動小数点
乗算はアレイを1回で通過するが、倍精度浮動小数点及
び整数乗算は2回の通過を要する。第2ステージの演算
は第1ステージの演算の完了に続く完全なサイクルを1
回または2回必要とする。
第3ステージはIEEE丸め回路及び結果例外回路を含
んでいる。第3ステージの演算は常に第2ステージの演
算の完了に続くサイクルの前半部で発生する。
乗算器は2つの入力ポートと1つの出力ボートとを有す
る。入力ポートのオペランドの選択は1ビットMAIN
 (乗算器A入力)及びMBIN (乗算器B入力)マ
ルチプレクサ制御によって制御され、それらはチップへ
の2つの入力となっっている0乗算器のオペランドのソ
ースは、Xレジスタ16.Yレジスタ14及びレジスタ
ファイル12の八及びBポートである。乗算器の第3ス
テージの出力はDバス上に配置される。この出力は常に
レジスタファイル12のDポートを経由する。この出力
はまた記憶演算に際して、バイパスマルチプレクサ38
を経由してEボートへ前進させられる。ある演算におい
ては、出力はテンポラリラッチ40.42(TO,TI
)の1つまたは両方を経由することが可能である。これ
らは乗算−加算演算に用いられる。レジスタとレジスタ
との間で行われる演算においては、出力は乗算器または
ALtlの入力へレジスタファイル12をバイパスして
直接バイパスマルチプレクサ3日を通過して前進させら
れる。
乗算器は2種類の待ち時間モードに対応するように調節
される。待ち時間は乗算演算を終了するために要求され
るクロックサイクルの数である。
待ち時間モードは状態レジスタ44内の乗算待ち時間モ
ードビットにより制御される。2つのモードを備える目
的は、使用者に単精度または倍精度の乗算のいずれにも
好適にするためである。モートビ、トの値を変化させる
ことによって、2つの待ち時間モードを切換えることが
できる。
2サイクル待ち時間モードにおいては、第2ステージの
演算は1サイクルを要するが、各バスはアレイをほぼ半
サイクルまたはそれ以下で通過して現れる。3サイクル
待ち時間モードでは、各バスは完全なサイクルが与えら
れ、このため第2ステージの演算は2つの完全なサイク
ルを要する。
しかし、lサイクル当たりただ1回のアレイ通過で済む
ので、サイクル自身はより短くて済む。
第3図は乗算器の待ち時間モードの変化を可能にする回
路を示している。乗算器アレイの入出力におけるパイプ
ラインレジスタ32及び34が示されている。ハーフア
レイ自体はブロック60として示されている。ハーフア
レイへの入力はマルチプレクサ62により与えられラフ
チロ4はアレイ60の出力とパイプラインレジスタ34
との間に設けられている。クロック生成回路66はパイ
プラインレジスタ32及び34及びラフチロ4に対して
クロック信号を与える。アレイ60の出力から与えられ
る2つのデータバス、即ち第1のデータバス68はラッ
チ64へ、第2のデータバス70は直接パイプラインレ
ジスタ34へ与えられる。ライン73上の待ち時間モー
ド制御ビットはクロック信号を制御する。3サイクル待
ち時間モードでは、・ラッチ64へのクロック信号は各
々の主クロツク信号に与えられる。2サイクル待ち時間
モードでは、ラッチ64はアレイを通過する2パスが1
サイクルで完了するように、各半サイクルに刻時されて
いる。クロックCMICIJ +CM2CLK十及びC
M3CLK+のタイミングの関係を示すタイミング図は
第9図に示されている。
第5図は2サイクル待ち時間モードのタイミング図、第
6図は3サイクル待ち時間モードのタイミング閏である
。第7図に見られる如く、2整数または倍精度浮動小数
点乗算命令はステージ2でオーバラップを起こすかも知
れないので3サイクル待ち時間モードで相互に追従でき
ない。
第9A、 9B及び9C図は2サイクルモード、3サイ
クルモード(倍精度に追従する倍精度)及び3サイクル
モード(単精度に追従される倍精度)のためのクロック
タイミングを示す。第9八図に見られる如く、クロック
は2サイクルモードと同様である。CM2CLK信号は
、レジスタにおけるようなエツジトリガで、はなくレベ
ルトリガされたラッチに与えられている。従って、ラッ
チの内容に対する変化はクロックサイクルの後半までロ
ックアウトされ、クロックの単サイクルの間に2つのパ
スがアレイを通過可能になる。
第9B図を参照すると、時刻61において命令がスター
トしく第1ステージ)、レジスタ32は時刻63におい
てCMICLKの立上がりエツジでデータを受は取る。
一方、CM2CLに信号は時刻65ではハイレベルなの
で、第1のパスはアレイを通過させられ、次いでCM2
CLKはローレベルになり、第2パスをハーフアレイに
通過させるためにラッチ内のデータのそれ以上の変化を
防ぐ。ハーフアレイがデータを再度受入れられるように
なる時刻67において起こる次の立上がりエツジまでの
期間中はCMICLKの立上がりエツジは無い。この時
間の中途に、レジスタ34の出力は無意味になるが、こ
れはレジスタファイルには送られないので問題ではない
第9C図は、CMICLに信号及びCM2CLK信号が
期間69の間に第9B図のモードから期間71の間に第
9A図のモードへ変化する単精度乗算に追従される倍精
度乗算を示している。
第3図のクロック生成回路66は第9A図から第9C図
の波形を生成し、任意の回数実行される。入力は、待ち
時間モードピッ)73.CL)[信号及び倍精度乗数で
あるか単精度倍数であるかを回路に告げる64ビツトの
整数乗算セレクト信号75である。
第2図に戻り、除算/平方根ユニット24は分離された
除算クロック (DIVCLK + )46が与えられ
ている。残りの回路はクロック信号48(CLK+)を
受取る。除算/平方根ユニット24の出入力におけるこ
れら2つの信号の同期は第4図に更に詳しく示されてい
る。
第4図に見られる如く、クロック信号48は除算スター
ト信号52に沿ってへNDゲート50に与えられる。結
果は除算クロック信号46により刻時されているレジス
タ54へ与えられる。回路はクロックがハイレベルであ
る間(主クロンクサイクルの前半期間中)除算スタート
信号は安定になると見なす。
レジスタ54の出力はコントロール信号を新データの入
力に伴って除算/平方根([lIV/SQI?T)演算
を行うよう除算/平方ユニット24へ送る。データの出
力は除算クロック46により刻時されているラッチ56
への除算ストップ信号により制御される。ラッチ56の
出力はクロック信号48により刻時されているレジスタ
5Bへ与えられる。この回路群の実際の実行は1本発明
に無関係の他の論理要素を含んでいるがそれについては
図示していない。しかし第4図に論理同期機能を示して
おく。
乗算器のオペランドを選択する同様の2つのマルチプレ
クサ72.74は同時に除算/平方根(DSR>ユニッ
ト用のオペランドも選択する。DSRはまた乗算器のソ
ース例外回路も共有する。。
DSRの分離クロック入力DIVCLKは、主クロック
(CLに)の同数(LX)、または倍数(2X ) 、
または任意の整数倍の周波数を演算することができる。
除算演算はDIVCLKサイクル当たり結果小数の2ビ
ツトのレートで実行される。平方根演算(SQRT)は
DIVCLKサイクル当たり結果小数の1ビツトのレー
トで実行される。
2 XDIVCLKの場合についてDSR演算中のイベ
ントの順序を考えて見る。第8A図から第8D図を参照
する。32及び64ビツト除算及び32及び64ビツト
平方根演算のタイミングはそれぞれ第8A図から第8D
図に示されている。[lSR演算(除算/平方根)はサ
イクル1の立上がりエツジ上に刻時される。このサイク
ルの最初の半分においてオペランド(単数または複数)
はレジスタファイルから続出され、このサイクルの次の
半分でそれらはDSRユニットにラッチされる。実際の
DSRループはサイクル2の立上がりエツジにおいてス
タートする。ループがDSRユニット内で完了した後、
その結果は乗算器のステージ1ヘロードされ、乗算器は
空になる。
ループが完了した際に乗算器が空になることを保証しま
たDSRSR結果延なく乗算器を経由してアンロードす
るためにNor’(?′A算なし)がサイクル9に挿入
され得る。もしアンロード演算がサイクルNの最初の半
分で始まった場合は、結果はサイクルN+2の後半分の
間にレジスタファイルに書込まれ、従ってアンロード演
算全体は3サイクルを要する。−旦アンロードが始まる
と、実質的に任意の他の2サイクル待ち時間の乗算演算
が行われているように「見えるJ、もしループが終了し
アンロードが始まった際に乗算器が他の演算で占領され
ている場合は、DSRユニットは乗算器が使用可能にな
るまで待機する。、 DSRSR結果除算/平方根ユニ
ットがその/ii算を完了した後、乗算器の最初の「空
Jタイミングスロットの乗算器にアンロードされる。D
SR演算の結果は、演算を始めさせた命令によって与え
られたアドレスのレジスタファイルに格納される。
一旦DSI?演算が始められると、乗算器は他の演算の
ために使用し得る。しかし、乗算器の演算はNOPを含
んでいる命令以外は、DSR命令がクロックインを始め
た後にいくつかのサイクルが経過してから始められる。
勿論、NOPを含むサイクルでもALUだけの演算に使
用することは可能である。
DSR演算がサイクルlで始められると、状態レジスタ
内のDSRTNI’(DSR演算進行中)と称される特
殊ビットSR6がサイクル3でセットされる。それはI
)SR結果がレジスタ内に書込まれる次のサイクルで自
動的にクリアされる。 [1IV32(第8A図)を例
として使用すると、サイクル3の立上がりエツジでクロ
ックインされた格納状態命令はDSRINF= 1を「
見る」であろうし、サイクル11でクロックインされた
格納状態命令はDSRINF−0、つまり進行中のDS
R演算が無いことを示す。
説明された演算のためのレジスタからレジスタヘノ待ち
時間(2x DIVCLK)は;単精度除算   CL
K 10サイクル倍精度除算   CLK 17サイク
ル単精度平方根  CLK 16サイクル倍精度平方根
  CLK 30サイクルである。
待ち時間カウントは、DSR命令からオペランドとして
DSR演算の結果を使う第1命令までである。
たとえばDIV32命令の場合では、結果はサイクル1
1の第2の半分においてレジスタファイルに書込まれる
。しかし、この結果を用いる命令はレジスタファイルバ
イパスを用いてサイクル11の立上がりエツジにおいて
クロックインされ得る。その命令はC1l として第8
A図上に表示されている。それは他のDSR演算をも含
めて任意の命令であっても良い。従って、この場合に待
ら時間はサイクル1の立上がりエツジからサイクル11
の立上がりエツジまでの10サイクルである。この論法
は同様に他の場合にも適用できる。
もし2つのDSRが互いに連続して追従すれば、第2の
演算は第1の演算が乗算器のステージ3へ伝えられ、任
意の潜在的な結果例外が発生された後にだけコードボー
ト上にクロックインされる。
例えば、もし2つの単精度除算が連続的に行われ、最初
の単精度除算がサイクル1で始められ第2の単精度除算
がサイクル11で始められたとする。第8A図を参照す
る。
CLKサイクルの数に関する公式で除算を完了するには
次のような数を必要とする。
単精度除算:   [14/Nl +3倍精度除算:[
2B/N]+3 単精度平方根:  [25/N] +3倍精度平方l:
  [54/N]+3 ここで、N=1.2. 3・・・ CLK朋間=N X ([1IVCLK !v+間)明
らかに、除算演算は乗算器に関して同期しているため除
算クロックは最小除算クロックが維持されている限り、
システムクロックの任意の倍数に相当する整数倍数であ
る。従って、より長いシステムクロックサイクルが要求
される場合、より少ない数のシステムクロックサイクル
が除算演算に要求されるであろう。
除算クロック周波数が主クロツク周波数の8倍の時(第
10B図)のDsI?タイミングの例が第10A図に示
されている。64ビツトの除算及び32ビツトの平方根
演算のためにはループは4サイクルであり、64ビツト
の平方根演算のためにはループは7サイクルである。さ
もなければ、タイミングは第1(IA図に示されている
通りである。除算クロックがクロック周波数の8倍であ
る場合の待ち時間は32ビツト除算 −CLK 5サイ
クル64ビツト除算 =CLK 7サイクル32ビツト
平方根=CLK 7サイクル64ビツト平方根=CLK
 10サイクル技術のこれらの具体例により理解される
如く本発明はその精神または実質的特徴から離れること
なく他の頓偵の形態に具体化することができる。
例えば異なった同期回路は除算クロックのシステムクロ
ックへの同期化に用いることができるであろう。従って
本発明の好ましい具体例の開示は実例によるように配慮
したが特許請求の範囲に述べて明らかにする発明の範囲
を限定するものではない。
【図面の簡単な説明】
第1図は本発明を用いた浮動小数点のデータバスのブロ
ック図である。 第2図は本発明を示す第1図の更に詳細な具体例のブロ
ック図である。 第3図は乗算器アレイのフィードバックのブロック図で
ある。 第4図は除算クロックのための同期回路のブロック図で
ある。 第5図は乗算器用の2サイクル待ち時間モードのタイミ
ング図である。 第6図は乗算器用の3サイクル待ち時間モードのタイミ
ング図である。 第7図はなぜ2整数または倍精度浮動小数点乗算命令が
3サイクル待ち時間モードと相互に追従できないかを示
すブロック図である。 第8A図から第8D図は除算/平方根ユニットのタイミ
ング図である。 第9A図から第9C図は除算/平方根ユニ7)のタイミ
ング図である。 第10八図及び第10B図は除算クロック周′$L数が
8×主クロック周波数である除算/平方根ユニットのタ
イミング図である。

Claims (1)

  1. 【特許請求の範囲】 1、乗算器、算術論理ユニット及び基本サイクルクロッ
    クを供給する手段を有し、前記乗算器は入力レジスタを
    含む第1ステージと、前記入力レジスタと結合されたマ
    ルチプレクサ及び該マルチプレクサと結合された乗算器
    アレイを含む第2ステージと、前記乗算器アレイと結合
    された出力レジスタまたはラッチを含む第3ステージと
    を有する回路において、前記乗算器アレイと前記出力レ
    ジスタとの間に結合されたラッチと、 該ラッチの出力を前記マルチプレクサの入力に結合する
    第1データバスと、 前記乗算器アレイを前記出力レジスタに直接結合する第
    2データバスと、 基本サイクルクロックを供給する前記手段と結合され、
    前記基本サイクルクロックまたは前記基本サイクルクロ
    ックの一部分を前記ラッチのクロック入力へ選択的に供
    給する手段と を備えたことを特徴とする回路。 2、乗算器ユニットと、除算及び平方根ユニットとを有
    し、前記両ユニットはオペランドを選択するためのマル
    チプレクサ回路に結合され、前記乗算器はクロック回路
    からシステムクロック信号を受取るべくなした回路にお
    いて、 前記クロック回路に結合され、前記システムクロック信
    号の周波数の整数倍の周波数を有する除算クロック信号
    を前記除算及び平方根ユニットに与える手段と、 前記除算及び平方根ユニットのデータ入力を前記システ
    ムクロック信号及び前記除算クロック信号と同期させる
    手段と、 前記除算及び平方根ユニットのデータ出力を前記システ
    ムクロック信号及び前記除算クロック信号と同期させる
    手段と を備えたことを特徴とする回路。 3、除算又は平方根演算を開始させる除算開始信号を生
    成する手段を更に備え、前記データ入力を同期させる手
    段が前記システムクロック信号及び前記除算開始信号を
    受取るように結合されたANDゲートと、該ANDゲー
    トの出力を受取るように結合されると共に前記除算クロ
    ック信号を受取るように結合されたクロック入力を有す
    るレジスタ又はラッチとを備えた請求項2に記載の回路
    。 4、前記除算及び平方根ユニットは除算又は平方根演算
    の終了を示す除算停止信号を生成する手段を含み、前記
    データ出力を同期させる手段が、入力として前記除算停
    止信号を受取ると共に前記除算クロック信号を受取るよ
    うに結合されたクロック入力を有する第1レジスタまた
    はラッチと、該第1レジスタまたはラッチの出力を受取
    るように結合された入力を有すると共に前記システムク
    ロック信号を受取るように結合されたクロック入力を有
    する第2レジスタまたはラッチとを備えた請求項2に記
    載の回路。 5、乗算器、算術論理回路、除算及び平方根ユニット及
    び基本サイクルクロックを供給する手段を有し、前記乗
    算器は入力レジスタを含む第1ステージと、前記入力レ
    ジスタと結合されたマルチプレクサ及び該マルチプレク
    サと結合された乗算器アレイを含む第2ステージと、前
    記乗算器アレイと結合された出力レジスタまたはラッチ
    を含む第3ステージとを有する回路において、 前記乗算器アレイと前記出力レジスタとの間に結合され
    たラッチと、 該ラッチの出力を前記マルチプレクサの入力に結合する
    第1データバスと、 前記乗算器アレイを前記出力レジスタに直接結合する第
    2データバスと、 基本サイクルクロックを供給する前記手段と結合され、
    前記基本サイクルクロックまたは前記基本サイクルクロ
    ックの一部分を前記ラッチのクロック入力へ選択的に供
    給する手段と、 前記基本サイクルクロックを受取るように結合され、前
    記基本サイクルクロックの周波数の整数倍の周波数を有
    する除算クロックを前記除算及び平方根ユニットに与え
    る手段と、前記除算及び平方根ユニットのデータ入力を
    前記基本サイクルクロック及び前記除算クロックと同期
    させる手段と、 前記除算及び平方根ユニットのデータ出力を前記サイク
    ルクロック及び前記除算クロックと同期させる手段と を備えたことを特徴とする回路。 6、入力レジスタを含む第1ステージと、前記入力レジ
    スタと結合されたマルチプレクサ及び該マルチプレクサ
    と結合された乗算器アレイを含む第2ステージと、前記
    乗算器アレイと結合された出力レジスタまたはラッチを
    含む第3ステージとを有する乗算器回路の待ち時間モー
    ドを調整する方法において、 前記乗算器アレイと前記出力レジスタとの間にラッチを
    備えるステップと、 前記ラッチの出力を前記マルチプレクサの入力に結合す
    る第1データバスを備えるステップと、 前記乗算器アレイを前記出力レジスタに直接結合する第
    2データバスを備えるステップと、 基本サイクルクロックの一つまたは前記基本サイクルク
    ロックの一部分を前記ラッチのクロック入力へ与えるス
    テップと を含むことを特徴とする乗算器回路の待ち時間モードを
    調整する方法。 7、乗算器ユニットと、除算及び平方根ユニットを有し
    、前記両ユニットはオペランドを選択するためのマルチ
    プレクサ回路に結合され、前記乗算器はクロック回路か
    らシステムクロックを受取るべくなした回路に可変除算
    クロックを供給する方法において、 前記システムクロックの周波数の整数倍の周波数を有す
    る除算クロック信号を前記除算及び平方根ユニットに与
    えるステップと、 前記除算/平方根ユニットのデータ入力を前記システム
    クロック及び前記除算クロックと同期させるステップと
    、 前記除算/平方根ユニットのデータ出力を前記システム
    クロック及び前記除算クロックと同期させるステップと を含むことを特徴とする方法。
JP1063394A 1988-03-14 1989-03-14 構成可能な数の乗算器サイクル及び可変除算サイクル比を有する浮動小数点回路 Pending JPH0214318A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US167,802 1988-03-14
US07/167,802 US4901267A (en) 1988-03-14 1988-03-14 Floating point circuit with configurable number of multiplier cycles and variable divide cycle ratio

Publications (1)

Publication Number Publication Date
JPH0214318A true JPH0214318A (ja) 1990-01-18

Family

ID=22608893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1063394A Pending JPH0214318A (ja) 1988-03-14 1989-03-14 構成可能な数の乗算器サイクル及び可変除算サイクル比を有する浮動小数点回路

Country Status (2)

Country Link
US (1) US4901267A (ja)
JP (1) JPH0214318A (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181186A (en) * 1988-04-13 1993-01-19 Al Ofi Moatad S TPC computers
US5153848A (en) * 1988-06-17 1992-10-06 Bipolar Integrated Technology, Inc. Floating point processor with internal free-running clock
EP0394499B1 (en) * 1988-11-04 1997-10-08 Hitachi, Ltd. Apparatus for multiplication, division and extraction of square root
US5038312A (en) * 1988-11-14 1991-08-06 Nec Corporation Data processing system capable of performing vector/matrix processing and arithmetic processing unit incorporated therein
US5060182A (en) * 1989-09-05 1991-10-22 Cyrix Corporation Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US5159566A (en) * 1989-09-05 1992-10-27 Cyrix Corporation Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US5123108A (en) * 1989-09-11 1992-06-16 Wang Laboratories, Inc. Improved cpu pipeline having register file bypass and working register bypass on update/access address compare
US5053987A (en) * 1989-11-02 1991-10-01 Zoran Corporation Arithmetic unit in a vector signal processor using pipelined computational blocks
US5204962A (en) * 1989-11-30 1993-04-20 Mitsubishi Denki Kabushiki Kaisha Processor with preceding operation circuit connected to output of data register
US5021985A (en) * 1990-01-19 1991-06-04 Weitek Corporation Variable latency method and apparatus for floating-point coprocessor
US5111421A (en) * 1990-02-26 1992-05-05 General Electric Company System for performing addition and subtraction of signed magnitude floating point binary numbers
US5267186A (en) * 1990-04-02 1993-11-30 Advanced Micro Devices, Inc. Normalizing pipelined floating point processing unit
US5128888A (en) * 1990-04-02 1992-07-07 Advanced Micro Devices, Inc. Arithmetic unit having multiple accumulators
US5053631A (en) * 1990-04-02 1991-10-01 Advanced Micro Devices, Inc. Pipelined floating point processing unit
US5179531A (en) * 1990-04-27 1993-01-12 Pioneer Electronic Corporation Accelerated digital signal processor
JP2959104B2 (ja) * 1990-10-31 1999-10-06 日本電気株式会社 信号処理プロセッサ
US5220524A (en) * 1990-12-13 1993-06-15 Micron Technology, Inc. Machine method to perform newton iterations for reciprocals
US5206823A (en) * 1990-12-13 1993-04-27 Micron Technology, Inc. Apparatus to perform Newton iterations for reciprocal and reciprocal square root
JPH0594546A (ja) * 1991-02-05 1993-04-16 American Teleph & Telegr Co <Att> デジタルプロセツサ
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5402452A (en) * 1992-08-25 1995-03-28 Alcatel Network Systems, Inc. Incremental phase smoothing desynchronizer and calculation apparatus
JPH07248918A (ja) * 1994-03-10 1995-09-26 Matsushita Electric Ind Co Ltd マイクロプロセッサ
US5530663A (en) * 1994-11-14 1996-06-25 International Business Machines Corporation Floating point unit for calculating a compound instruction A+B×C in two cycles
EP0721157A1 (en) * 1994-12-12 1996-07-10 Advanced Micro Devices, Inc. Microprocessor with selectable clock frequency
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5887160A (en) * 1996-12-10 1999-03-23 Fujitsu Limited Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor
JPH10283340A (ja) * 1997-04-10 1998-10-23 Mitsubishi Electric Corp 演算プロセッサ
US20060277425A1 (en) * 2005-06-07 2006-12-07 Renno Erik K System and method for power saving in pipelined microprocessors
US20080140753A1 (en) * 2006-12-08 2008-06-12 Vinodh Gopal Multiplier
KR101098758B1 (ko) * 2007-09-20 2011-12-26 서울대학교산학협력단 Fp-ra를 구성하는 pe 구조 및 그 fp-ra제어하는 fp-ra 제어 회로

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
US4612628A (en) * 1983-02-14 1986-09-16 Data General Corp. Floating-point unit constructed of identical modules
US4754421A (en) * 1985-09-06 1988-06-28 Texas Instruments Incorporated Multiple precision multiplication device

Also Published As

Publication number Publication date
US4901267A (en) 1990-02-13

Similar Documents

Publication Publication Date Title
JPH0214318A (ja) 構成可能な数の乗算器サイクル及び可変除算サイクル比を有する浮動小数点回路
EP0450804B1 (en) Pipelined floating point processing unit
US6820105B2 (en) Accelerated montgomery exponentiation using plural multipliers
US5625806A (en) Self configuring speed path in a microprocessor with multiple clock option
US6904446B2 (en) Floating point multiplier/accumulator with reduced latency and method thereof
EP0127508B1 (en) Full floating point vector processor
JP3160631B2 (ja) 浮動小数点コプロセッサ用可変待ち時間方法及び装置
JPS6029402B2 (ja) クロツク制御信号発生装置
US5511181A (en) Polycyclic timing system and apparatus for pipelined computer operation
CN107545292B (zh) 用于动态功率控制的方法和电路
EP1015992B1 (en) Clocking scheme for digital signal processor system
US7080113B2 (en) Virtually parallel multiplier-accumulator
JP2807343B2 (ja) 情報処理システム
US5996065A (en) Apparatus for bypassing intermediate results from a pipelined floating point unit to multiple successive instructions
US5649174A (en) Microprocessor with instruction-cycle versus clock-frequency mode selection
JPH02210576A (ja) 集積回路アキュムレータ
US20040143613A1 (en) Floating point bypass register to resolve data dependencies in pipelined instruction sequences
JP2006018412A (ja) アドレス生成器および演算回路
US6065127A (en) Multi-mode buffer for digital signal processor
JPS63147255A (ja) 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法
JP2901648B2 (ja) ディジタル信号処理プロセッサ及びその制御方法
SU1287144A1 (ru) Арифметическое устройство
JPS59106043A (ja) パイプライン演算回路
JP3185207B2 (ja) データ処理システム
JPH11191096A (ja) データ処理装置