JPH07225671A - 結果正規化機構と動作の方法 - Google Patents
結果正規化機構と動作の方法Info
- Publication number
- JPH07225671A JPH07225671A JP6300015A JP30001594A JPH07225671A JP H07225671 A JPH07225671 A JP H07225671A JP 6300015 A JP6300015 A JP 6300015A JP 30001594 A JP30001594 A JP 30001594A JP H07225671 A JPH07225671 A JP H07225671A
- Authority
- JP
- Japan
- Prior art keywords
- result
- mask
- bit
- circuit
- multiplexer
- 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
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/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/485—Adding; Subtracting
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Nuclear Medicine (AREA)
Abstract
(57)【要約】
【目的】 本発明の目的は、加算器結果内の先頭の1の
位置を示すマスクを2段階で生成する、加算器と共に使
用するための結果正規化機構を提供することである。 【構成】 第1段では、先頭0予測機構が、2桁の中で
の位置を決定する。第2段では、先頭0カウント・イン
ジケータが、単一桁までその位置を決定する。マスクを
使用して、マルチプレクサ・アレイの各段が加算器結果
をシフトする桁数を制御する。したがって、マルチプレ
クサ・アレイの出力には、先頭の1が含まれる。 【効果】 本発明の結果正規化機構は、データ・プロセ
ッサ内の浮動小数点実行ユニットや、デジタル信号処理
システムなどでの高性能応用分野に有利に使用すること
ができる。
位置を示すマスクを2段階で生成する、加算器と共に使
用するための結果正規化機構を提供することである。 【構成】 第1段では、先頭0予測機構が、2桁の中で
の位置を決定する。第2段では、先頭0カウント・イン
ジケータが、単一桁までその位置を決定する。マスクを
使用して、マルチプレクサ・アレイの各段が加算器結果
をシフトする桁数を制御する。したがって、マルチプレ
クサ・アレイの出力には、先頭の1が含まれる。 【効果】 本発明の結果正規化機構は、データ・プロセ
ッサ内の浮動小数点実行ユニットや、デジタル信号処理
システムなどでの高性能応用分野に有利に使用すること
ができる。
Description
【0001】
【産業上の利用分野】本発明は、全般的にはディジタル
計算システムに関し、具体的には正規化機構に関する。
計算システムに関し、具体的には正規化機構に関する。
【0002】
【従来の技術】デジタル計算システムでは、しばしば
「浮動小数点」フォーマットでデータが表現される。浮
動小数点の数値は、仮数と指数からなる。その数の値
は、指数が正の場合には、仮数、その記数体系の基数お
よび指数の積である。逆に、指数が負の場合には、その
数の値は、基数と指数の積で仮数を割った商である。デ
ィジタル計算システムで最も一般的な記数体系の基数
は、2である。
「浮動小数点」フォーマットでデータが表現される。浮
動小数点の数値は、仮数と指数からなる。その数の値
は、指数が正の場合には、仮数、その記数体系の基数お
よび指数の積である。逆に、指数が負の場合には、その
数の値は、基数と指数の積で仮数を割った商である。デ
ィジタル計算システムで最も一般的な記数体系の基数
は、2である。
【0003】ディジタル計算システムは、二進数の仮数
の先頭桁または最上位ビットが1であることを必要とす
ることがしばしばである。この場合、指数は、上で説明
した値が、元々表現されていた数の値と等しくなるよう
に調節される。デジタル計算システムでは、データ精度
向上、実施態様速度および業界基準を含む複数の理由の
ために、この必要条件が設けられる。
の先頭桁または最上位ビットが1であることを必要とす
ることがしばしばである。この場合、指数は、上で説明
した値が、元々表現されていた数の値と等しくなるよう
に調節される。デジタル計算システムでは、データ精度
向上、実施態様速度および業界基準を含む複数の理由の
ために、この必要条件が設けられる。
【0004】正規化機構とは、浮動小数点表記で表現さ
れたデータを受け取り、仮数の先頭桁が1になるように
仮数と指数を調節する装置の1種である。既知の正規化
機構は、複数の逐次化されたステップでこの機能を実行
する。たとえば、既知の正規化機構には、64ビットの
正規化されていない仮数を受け取り、3段階で正規化さ
れた仮数を出力するものがある。
れたデータを受け取り、仮数の先頭桁が1になるように
仮数と指数を調節する装置の1種である。既知の正規化
機構は、複数の逐次化されたステップでこの機能を実行
する。たとえば、既知の正規化機構には、64ビットの
正規化されていない仮数を受け取り、3段階で正規化さ
れた仮数を出力するものがある。
【0005】既知の正規化機構の第1段では、先頭の1
が、最初の16桁にある、第17桁から第32桁の中に
ある、第33桁から第48桁の中にある、または、第4
9桁から第64桁の中にあるのうちのいずれであるか
を、正規化機構が判定する。この第1判定の結果によっ
て、第1の64ビット4対1マルチプレクサの出力が制
御される。第1マルチプレクサは、入力値、16桁シフ
トされ16個の0を連結された入力値、32桁シフトさ
れ32個の0を連結された入力値、または、48桁シフ
トされ48個の0を連結された入力値のうちのいずれか
を出力する。この段の後では、仮数の先頭の1が、最初
の16桁に含まれるようになる。
が、最初の16桁にある、第17桁から第32桁の中に
ある、第33桁から第48桁の中にある、または、第4
9桁から第64桁の中にあるのうちのいずれであるか
を、正規化機構が判定する。この第1判定の結果によっ
て、第1の64ビット4対1マルチプレクサの出力が制
御される。第1マルチプレクサは、入力値、16桁シフ
トされ16個の0を連結された入力値、32桁シフトさ
れ32個の0を連結された入力値、または、48桁シフ
トされ48個の0を連結された入力値のうちのいずれか
を出力する。この段の後では、仮数の先頭の1が、最初
の16桁に含まれるようになる。
【0006】既知の正規化機構の第2段では、先頭の1
が、第1段出力の最初の4桁にある、第5桁から第8桁
の中にある、第9桁から第12桁の中にある、または、
第13桁から第16桁の中にあるのいずれであるかを正
規化機構が判定する。この第2判定の結果によって、第
2の64ビット4対1マルチプレクサの出力が制御され
る。第2マルチプレクサは、第1マルチプレクサの出
力、4桁シフトされ4個の0を連結された第1マルチプ
レクサの出力、8桁シフトされ8個の0を連結された第
1マルチプレクサの出力、または、12桁シフトされ1
2個の0を連結された第1マルチプレクサの出力のいず
れかを出力する。この段の後では、仮数の先頭の1が、
最初の4桁に含まれるようになる。
が、第1段出力の最初の4桁にある、第5桁から第8桁
の中にある、第9桁から第12桁の中にある、または、
第13桁から第16桁の中にあるのいずれであるかを正
規化機構が判定する。この第2判定の結果によって、第
2の64ビット4対1マルチプレクサの出力が制御され
る。第2マルチプレクサは、第1マルチプレクサの出
力、4桁シフトされ4個の0を連結された第1マルチプ
レクサの出力、8桁シフトされ8個の0を連結された第
1マルチプレクサの出力、または、12桁シフトされ1
2個の0を連結された第1マルチプレクサの出力のいず
れかを出力する。この段の後では、仮数の先頭の1が、
最初の4桁に含まれるようになる。
【0007】既知の正規化機構の第3段では、先頭の1
が、第2段出力の第1桁にある、第2桁にある、第3桁
にある、または、第4桁にあるのいずれであるかを正規
化機構が判定する。この第3判定の結果によって、第3
の64ビット4対1マルチプレクサの出力が制御され
る。第3マルチプレクサは、第2マルチプレクサの出
力、1桁シフトされ1個の0を連結された第2マルチプ
レクサの出力、2桁シフトされ2個の0を連結された第
2マルチプレクサの出力、または、3桁シフトされ3個
の0を連結された第2マルチプレクサの出力のいずれか
を出力する。この段の後では、仮数の先頭の1が、最初
の桁に含まれるようになる。
が、第2段出力の第1桁にある、第2桁にある、第3桁
にある、または、第4桁にあるのいずれであるかを正規
化機構が判定する。この第3判定の結果によって、第3
の64ビット4対1マルチプレクサの出力が制御され
る。第3マルチプレクサは、第2マルチプレクサの出
力、1桁シフトされ1個の0を連結された第2マルチプ
レクサの出力、2桁シフトされ2個の0を連結された第
2マルチプレクサの出力、または、3桁シフトされ3個
の0を連結された第2マルチプレクサの出力のいずれか
を出力する。この段の後では、仮数の先頭の1が、最初
の桁に含まれるようになる。
【0008】
【発明が解決しようとする課題】既知の3段正規化機構
のクリティカル・パスの速度は、上で述べた3つの判定
が中間シフト結果を必要とするので、3つの4対1マル
チプレクサと3組の復号回路を介する伝播遅延である。
のクリティカル・パスの速度は、上で述べた3つの判定
が中間シフト結果を必要とするので、3つの4対1マル
チプレクサと3組の復号回路を介する伝播遅延である。
【0009】本発明によれば、既知の正規化機構および
正規化方法の短所を実質的に除去する、結果正規化機構
が開示される。
正規化方法の短所を実質的に除去する、結果正規化機構
が開示される。
【0010】
【課題を解決するための手段】加算器と共に使用するた
めの結果正規化機構は、第1マスク回路、第2マスク回
路、符号化回路、第1マルチプレクサおよび第2マルチ
プレクサ回路を有する。加算器は、第1および第2のオ
ペランドを受け取り、第1オペランドと第2オペランド
の和に論理的に等しい結果を生成する。第1マスク回路
は、第1オペランドと第2オペランドを受け取り、第1
オペランドと第2オペランドに応答して第1マスクを生
成する。第1マスクは、結果の中での先頭の1の位置
と、先頭の1の位置に隣接する位置を示す。第2マスク
回路は、第1マスク回路に結合され、第1マスクと結果
を受け取り、第1マスクと結果に応答して第2マスクを
生成する。第2マスクは、結果の中での先頭の1の位置
を示す。符号化回路は、第2マスク回路に結合され、第
2マスクを受け取り、第1および第2の制御信号を生成
する。第1マルチプレクサは、符号化回路に結合され、
結果と第1制御信号を受け取り、第1制御信号に応答し
て第1桁数だけ結果をシフトする。第1マルチプレクサ
は、シフトされた結果を生成する。第2マルチプレクサ
は、符号化回路と第1マルチプレクサに結合され、シフ
トされた結果と第2制御信号を受け取り、第2制御信号
に応答して第2桁数だけシフトされた結果をシフトす
る。第2マルチプレクサは、正規化された結果を生成す
る。
めの結果正規化機構は、第1マスク回路、第2マスク回
路、符号化回路、第1マルチプレクサおよび第2マルチ
プレクサ回路を有する。加算器は、第1および第2のオ
ペランドを受け取り、第1オペランドと第2オペランド
の和に論理的に等しい結果を生成する。第1マスク回路
は、第1オペランドと第2オペランドを受け取り、第1
オペランドと第2オペランドに応答して第1マスクを生
成する。第1マスクは、結果の中での先頭の1の位置
と、先頭の1の位置に隣接する位置を示す。第2マスク
回路は、第1マスク回路に結合され、第1マスクと結果
を受け取り、第1マスクと結果に応答して第2マスクを
生成する。第2マスクは、結果の中での先頭の1の位置
を示す。符号化回路は、第2マスク回路に結合され、第
2マスクを受け取り、第1および第2の制御信号を生成
する。第1マルチプレクサは、符号化回路に結合され、
結果と第1制御信号を受け取り、第1制御信号に応答し
て第1桁数だけ結果をシフトする。第1マルチプレクサ
は、シフトされた結果を生成する。第2マルチプレクサ
は、符号化回路と第1マルチプレクサに結合され、シフ
トされた結果と第2制御信号を受け取り、第2制御信号
に応答して第2桁数だけシフトされた結果をシフトす
る。第2マルチプレクサは、正規化された結果を生成す
る。
【0011】加算器内で第1および第2のオペランドを
受け取るステップ、加算器内で結果を生成するステッ
プ、第1マスク回路内で第1マスクを生成するステッ
プ、第2マスク回路内で第2マスクを生成するステッ
プ、第2マスク回路に結合された符号化回路内で第1お
よび第2の制御信号を生成するステップ、第1マルチプ
レクサ内で結果をシフトするステップ、および、第2マ
ルチプレクサ内でシフトされた結果をシフトするステッ
プを含む、結果正規化機構を動作させる方法も説明す
る。加算器の結果は、論理的には、第1オペランドと第
2オペランドの和に等しい。第1マスクは、第1オペラ
ンドと第2オペランドに応答し、結果の中での先頭の1
の位置と、先頭の1の位置に隣接する位置とを表す。第
2マスク回路は、第1マスク回路に結合される。第2マ
スクは、第1マスクと結果とに応答し、結果の中での先
頭の1の位置を示す。第1のシフトのステップで、第1
制御信号に応答する第1の桁数だけ結果をシフトする。
第1マルチプレクサは、シフトされた結果を生成する。
第2のシフトのステップで、第2制御信号に応答する第
2の桁数だけシフトされた結果をシフトし、正規化され
た結果を生成する。
受け取るステップ、加算器内で結果を生成するステッ
プ、第1マスク回路内で第1マスクを生成するステッ
プ、第2マスク回路内で第2マスクを生成するステッ
プ、第2マスク回路に結合された符号化回路内で第1お
よび第2の制御信号を生成するステップ、第1マルチプ
レクサ内で結果をシフトするステップ、および、第2マ
ルチプレクサ内でシフトされた結果をシフトするステッ
プを含む、結果正規化機構を動作させる方法も説明す
る。加算器の結果は、論理的には、第1オペランドと第
2オペランドの和に等しい。第1マスクは、第1オペラ
ンドと第2オペランドに応答し、結果の中での先頭の1
の位置と、先頭の1の位置に隣接する位置とを表す。第
2マスク回路は、第1マスク回路に結合される。第2マ
スクは、第1マスクと結果とに応答し、結果の中での先
頭の1の位置を示す。第1のシフトのステップで、第1
制御信号に応答する第1の桁数だけ結果をシフトする。
第1マルチプレクサは、シフトされた結果を生成する。
第2のシフトのステップで、第2制御信号に応答する第
2の桁数だけシフトされた結果をシフトし、正規化され
た結果を生成する。
【0012】
【実施例】図1は、本発明に従って構成されたデータ・
プロセッサ10のブロック図である。データ・プロセッ
サ10は、浮動小数点のデータを操作する。データ・プ
ロセッサ10は、先頭桁に1を置くためにデータをシフ
トしなければならない桁数を入力データから判定する正
規化機構を有する。本発明の正規化機構は、後続のシフ
ト量を決定するために中間シフト結果を使用しない。し
たがって、本発明の正規化機構のクリティカル・パスの
速度は、マルチプレクサ・アレイと単一レベルの復号論
理機構を介する伝播遅延である。本発明の正規化機構
は、データ・プロセッサ、ディジタル信号処理などの高
速応用例での使用に適している。
プロセッサ10のブロック図である。データ・プロセッ
サ10は、浮動小数点のデータを操作する。データ・プ
ロセッサ10は、先頭桁に1を置くためにデータをシフ
トしなければならない桁数を入力データから判定する正
規化機構を有する。本発明の正規化機構は、後続のシフ
ト量を決定するために中間シフト結果を使用しない。し
たがって、本発明の正規化機構のクリティカル・パスの
速度は、マルチプレクサ・アレイと単一レベルの復号論
理機構を介する伝播遅延である。本発明の正規化機構
は、データ・プロセッサ、ディジタル信号処理などの高
速応用例での使用に適している。
【0013】図1によれば、バス・インターフェース・
ユニット(以下、BIUと呼称する)12が、データ・
プロセッサ10とデータ処理システムの残り(図示せ
ず)の間のデータの流れを制御する。BIU12は、命
令キャッシュ14とデータ・キャッシュ16に接続され
る。命令キャッシュ14は、分岐ユニット18と完了/
ディスパッチ・ユニット20に命令ストリームを供給す
る。分岐ユニット18は、図2および図3に関連して下
で詳細に説明する。完了/ディスパッチ・ユニット20
は、個々の命令を、適当な実行ユニットに転送する。デ
ータ・プロセッサ10は、固定小数点実行ユニット2
2、ロード/ストア実行ユニット24および浮動小数点
実行ユニット26を有する。固定小数点実行ユニット2
2とロード/ストア実行ユニット24は、汎用アーキテ
クチャ・レジスタ・ファイル(図中ではGPRと記し、
以下ではGPRファイルと呼称する)28と第1リネー
ム・バッファ30を読み取り、結果をそれらに書き込
む。浮動小数点実行ユニット26とロード/ストア実行
ユニット24は、浮動小数点アーキテクチャ・レジスタ
・ファイル(図中ではFPRと記し、以下ではFPRフ
ァイルと呼称する)32と第2リネーム・バッファ34
を読み取り、結果をそれらに書き込む。
ユニット(以下、BIUと呼称する)12が、データ・
プロセッサ10とデータ処理システムの残り(図示せ
ず)の間のデータの流れを制御する。BIU12は、命
令キャッシュ14とデータ・キャッシュ16に接続され
る。命令キャッシュ14は、分岐ユニット18と完了/
ディスパッチ・ユニット20に命令ストリームを供給す
る。分岐ユニット18は、図2および図3に関連して下
で詳細に説明する。完了/ディスパッチ・ユニット20
は、個々の命令を、適当な実行ユニットに転送する。デ
ータ・プロセッサ10は、固定小数点実行ユニット2
2、ロード/ストア実行ユニット24および浮動小数点
実行ユニット26を有する。固定小数点実行ユニット2
2とロード/ストア実行ユニット24は、汎用アーキテ
クチャ・レジスタ・ファイル(図中ではGPRと記し、
以下ではGPRファイルと呼称する)28と第1リネー
ム・バッファ30を読み取り、結果をそれらに書き込
む。浮動小数点実行ユニット26とロード/ストア実行
ユニット24は、浮動小数点アーキテクチャ・レジスタ
・ファイル(図中ではFPRと記し、以下ではFPRフ
ァイルと呼称する)32と第2リネーム・バッファ34
を読み取り、結果をそれらに書き込む。
【0014】本発明の正規化機構を有しないデータ・プ
ロセッサ10の動作は、当技術分野で既知である。一般
に、分岐ユニット18は、特定のデータ・レジスタの内
容とプログラム・ステップ自体から、プログラム命令の
どのシーケンスが適切であるかを判定する。完了/ディ
スパッチ・ユニット20は、個々の命令を、さまざまな
実行ユニットすなわち固定小数点実行ユニット22、ロ
ード/ストア実行ユニット24および浮動小数点実行ユ
ニット26に発行する。実行ユニットのそれぞれは、命
令の特定の種類のうちの1つまたは複数の命令を実行す
る。各実行ユニットの命令の特定の種類は、実行ユニッ
トの名前によって示されている。たとえば、浮動小数点
実行ユニット26は、浮動小数点で表現されたデータを
操作する。浮動小数点実行ユニット26については、図
2ないし図5に関連して下で説明する。
ロセッサ10の動作は、当技術分野で既知である。一般
に、分岐ユニット18は、特定のデータ・レジスタの内
容とプログラム・ステップ自体から、プログラム命令の
どのシーケンスが適切であるかを判定する。完了/ディ
スパッチ・ユニット20は、個々の命令を、さまざまな
実行ユニットすなわち固定小数点実行ユニット22、ロ
ード/ストア実行ユニット24および浮動小数点実行ユ
ニット26に発行する。実行ユニットのそれぞれは、命
令の特定の種類のうちの1つまたは複数の命令を実行す
る。各実行ユニットの命令の特定の種類は、実行ユニッ
トの名前によって示されている。たとえば、浮動小数点
実行ユニット26は、浮動小数点で表現されたデータを
操作する。浮動小数点実行ユニット26については、図
2ないし図5に関連して下で説明する。
【0015】固定小数点実行ユニット22は、その動作
の結果を、第1リネーム・バッファ30内の指定された
項目に返す。第1リネーム・バッファ30は、その結果
を生成した命令に先行するすべての命令がそれぞれのG
PRファイル項目を更新し終えた時に、第1リネーム・
バッファ30からの1項目を用いてGPRファイル28
の1項目を周期的に更新する。完了/ディスパッチ・ユ
ニット20は、この更新を調整する。第1リネーム・バ
ッファ30とGPRファイル28の両方が、固定小数点
実行ユニット22にオペランドを供給することができ
る。逆に、浮動小数点実行ユニット26は、その動作の
結果を、第2リネーム・バッファ34内の指定された項
目に返す。第2リネーム・バッファ34は、その結果を
生成した命令に先行するすべての命令がそれぞれのGP
Rファイル項目を更新し終えた時に、第2リネーム・バ
ッファ34内の1項目を用いてFPRファイル32の1
項目を周期的に更新する。完了/ディスパッチ・ユニッ
ト20は、この更新も調整する。第2リネーム・バッフ
ァ34とFPRファイル32の両方が、浮動小数点実行
ユニット26にオペランドを供給することができる。
の結果を、第1リネーム・バッファ30内の指定された
項目に返す。第1リネーム・バッファ30は、その結果
を生成した命令に先行するすべての命令がそれぞれのG
PRファイル項目を更新し終えた時に、第1リネーム・
バッファ30からの1項目を用いてGPRファイル28
の1項目を周期的に更新する。完了/ディスパッチ・ユ
ニット20は、この更新を調整する。第1リネーム・バ
ッファ30とGPRファイル28の両方が、固定小数点
実行ユニット22にオペランドを供給することができ
る。逆に、浮動小数点実行ユニット26は、その動作の
結果を、第2リネーム・バッファ34内の指定された項
目に返す。第2リネーム・バッファ34は、その結果を
生成した命令に先行するすべての命令がそれぞれのGP
Rファイル項目を更新し終えた時に、第2リネーム・バ
ッファ34内の1項目を用いてFPRファイル32の1
項目を周期的に更新する。完了/ディスパッチ・ユニッ
ト20は、この更新も調整する。第2リネーム・バッフ
ァ34とFPRファイル32の両方が、浮動小数点実行
ユニット26にオペランドを供給することができる。
【0016】ロード/ストア実行ユニット24は、GP
Rファイル28、第1リネーム・バッファ30、FPR
ファイル32または第2リネーム・バッファ34に記憶
されたデータを読み取り、選択されたデータをデータ・
キャッシュ16に書き込む。このデータは、本発明に関
連しないデータ・プロセッサ10の動作特性に応じて、
外部記憶システム(図示せず)に書き込むことも可能で
ある。逆に、ロード/ストア実行ユニット24は、デー
タ・キャッシュ16に記憶されたデータを読み取り、読
み取ったデータをGPRファイル28、第1リネーム・
バッファ30、FPRファイル32または第2リネーム
・バッファ34に書き込むことも行う。
Rファイル28、第1リネーム・バッファ30、FPR
ファイル32または第2リネーム・バッファ34に記憶
されたデータを読み取り、選択されたデータをデータ・
キャッシュ16に書き込む。このデータは、本発明に関
連しないデータ・プロセッサ10の動作特性に応じて、
外部記憶システム(図示せず)に書き込むことも可能で
ある。逆に、ロード/ストア実行ユニット24は、デー
タ・キャッシュ16に記憶されたデータを読み取り、読
み取ったデータをGPRファイル28、第1リネーム・
バッファ30、FPRファイル32または第2リネーム
・バッファ34に書き込むことも行う。
【0017】本発明の正規化機構を有するデータ・プロ
セッサ10の動作を、図2ないし図5に関連して下で説
明する。一般に、データ・プロセッサ10は、縮小命令
セット・コンピュータ(「RISC」)である。データ
・プロセッサ10は、各命令をより小さなステップのシ
ーケンスに分解し、各ステップを他の命令のステップと
時間的にオーバーラップさせることによって、高性能を
達成する。この性能戦略を、「パイプライン化」と称す
る。各パイプライン・ステップは、他のすべてのパイプ
ライン・ステップと互換性を有するために、所与の最大
時間周期内で実行されなければならない。
セッサ10の動作を、図2ないし図5に関連して下で説
明する。一般に、データ・プロセッサ10は、縮小命令
セット・コンピュータ(「RISC」)である。データ
・プロセッサ10は、各命令をより小さなステップのシ
ーケンスに分解し、各ステップを他の命令のステップと
時間的にオーバーラップさせることによって、高性能を
達成する。この性能戦略を、「パイプライン化」と称す
る。各パイプライン・ステップは、他のすべてのパイプ
ライン・ステップと互換性を有するために、所与の最大
時間周期内で実行されなければならない。
【0018】図示の実施例では、各命令が、5つほどの
別個のステップ、すなわち、取出し、ディスパッチ、実
行、ライトバックおよび完了に分割される。命令キャッ
シュ14内の記憶管理回路(図示せず)が、取り出し段
階の間に分岐ユニット18によって識別される記憶アド
レスから始まる1つまたは複数の命令を検索する。完了
/ディスパッチ・ユニット20は、許容されないデータ
依存性が存在しないことを判定し、ディスパッチ段階で
の命令の結果のためにリネーム・バッファ項目を予約し
た後に、適当な実行ユニットに各命令を経路指定する。
特定の実行ユニットのそれぞれは、実行段階の間にその
プログラムされた命令を実行し、結果が存在するなら
ば、ライトバック段階の間に、予約されたリネーム・バ
ッファ項目に結果を書き込む。最後に、完了/ディスパ
ッチ・ユニット20が、特定の命令に先行するすべての
命令がアーキテクチャ・レジスタ・ファイルを更新した
後に、リネーム・バッファに記憶された特定の命令の結
果を用いてアーキテクチャ・レジスタ・ファイルを更新
する。一般に、各命令は、1マシン・クロック・サイク
ルを要する。しかし、一部の命令は、実行に複数のクロ
ック・サイクルを必要とし、その一方で、5段階のすべ
てを必要としない命令も存在する。たとえば、浮動小数
点命令は、実行に3クロック・サイクルを要する。本発
明の正規化機構は、この3実行サイクルの第3サイクル
で、浮動小数点実行ユニット26から出力されるデータ
を正規化するのに使用される。さまざまな命令の完了に
要する時間の範囲が原因で、特定の命令のライトバック
段階と完了段階の間に遅延が生じる場合もある。
別個のステップ、すなわち、取出し、ディスパッチ、実
行、ライトバックおよび完了に分割される。命令キャッ
シュ14内の記憶管理回路(図示せず)が、取り出し段
階の間に分岐ユニット18によって識別される記憶アド
レスから始まる1つまたは複数の命令を検索する。完了
/ディスパッチ・ユニット20は、許容されないデータ
依存性が存在しないことを判定し、ディスパッチ段階で
の命令の結果のためにリネーム・バッファ項目を予約し
た後に、適当な実行ユニットに各命令を経路指定する。
特定の実行ユニットのそれぞれは、実行段階の間にその
プログラムされた命令を実行し、結果が存在するなら
ば、ライトバック段階の間に、予約されたリネーム・バ
ッファ項目に結果を書き込む。最後に、完了/ディスパ
ッチ・ユニット20が、特定の命令に先行するすべての
命令がアーキテクチャ・レジスタ・ファイルを更新した
後に、リネーム・バッファに記憶された特定の命令の結
果を用いてアーキテクチャ・レジスタ・ファイルを更新
する。一般に、各命令は、1マシン・クロック・サイク
ルを要する。しかし、一部の命令は、実行に複数のクロ
ック・サイクルを必要とし、その一方で、5段階のすべ
てを必要としない命令も存在する。たとえば、浮動小数
点命令は、実行に3クロック・サイクルを要する。本発
明の正規化機構は、この3実行サイクルの第3サイクル
で、浮動小数点実行ユニット26から出力されるデータ
を正規化するのに使用される。さまざまな命令の完了に
要する時間の範囲が原因で、特定の命令のライトバック
段階と完了段階の間に遅延が生じる場合もある。
【0019】図2は、図1に示された浮動小数点実行ユ
ニット26のブロック図である。浮動小数点実行ユニッ
ト26は、PowerPCアーキテクチャ命令セットか
ら"fused-multiply-add"命令と"fused-multiply-subtra
ct"命令を実行する。fused-multiply-add命令は、(A
×C)+Bを実行し、fused-multiply-subtract命令
は、(A×C)−Bを実行する。ただし、A、Bおよび
Cは、各オペランドの先頭が1の浮動小数点表記で表現
された入力オペランドである。オペランドA、Bおよび
Cのそれぞれの仮数は53ビット長、指数は11ビット
長である。浮動小数点実行ユニット26は、fused-mult
iply-add命令を3クロック・サイクルで実行する。
ニット26のブロック図である。浮動小数点実行ユニッ
ト26は、PowerPCアーキテクチャ命令セットか
ら"fused-multiply-add"命令と"fused-multiply-subtra
ct"命令を実行する。fused-multiply-add命令は、(A
×C)+Bを実行し、fused-multiply-subtract命令
は、(A×C)−Bを実行する。ただし、A、Bおよび
Cは、各オペランドの先頭が1の浮動小数点表記で表現
された入力オペランドである。オペランドA、Bおよび
Cのそれぞれの仮数は53ビット長、指数は11ビット
長である。浮動小数点実行ユニット26は、fused-mult
iply-add命令を3クロック・サイクルで実行する。
【0020】この3クロック・サイクルの第1サイクル
で、オペランドA、BおよびCが、それぞれラッチ3
6、38および40によってラッチされる。この第1段
階では、オペランドAおよびCが互いに乗算され、オペ
ランドBは、積(A×C)への加算のために準備され
る。
で、オペランドA、BおよびCが、それぞれラッチ3
6、38および40によってラッチされる。この第1段
階では、オペランドAおよびCが互いに乗算され、オペ
ランドBは、積(A×C)への加算のために準備され
る。
【0021】ウォーレス加算器42またはキャリー保存
加算器が、積(A×C)を生成する。ウォーレス加算器
42は、オペランドAおよびCを受け取り、乗算演算
を、"SUM"(和)および"CARRY"(繰上り)とし
て既知であり、そのように記された2つの中間結果の和
に変換する。この2つの中間結果は、2進小数点位置の
左に2桁と小数104桁の106桁からなる2つの列に
格納される。
加算器が、積(A×C)を生成する。ウォーレス加算器
42は、オペランドAおよびCを受け取り、乗算演算
を、"SUM"(和)および"CARRY"(繰上り)とし
て既知であり、そのように記された2つの中間結果の和
に変換する。この2つの中間結果は、2進小数点位置の
左に2桁と小数104桁の106桁からなる2つの列に
格納される。
【0022】アライナ44が、積(A×C)への加算の
ためにBを準備する。第1に、アライナ(整列器)44
は、積(A×C)の指数に一致するようにオペランドB
をシフトする。第2に、アライナ44は、オペランドB
の符号ビットと浮動小数点命令によって選択された数学
演算が矛盾しないようにオペランドBをフォーマットす
る。アライナ44は、オペランドBと、オペランドAお
よびCの指数とを受け取る。
ためにBを準備する。第1に、アライナ(整列器)44
は、積(A×C)の指数に一致するようにオペランドB
をシフトする。第2に、アライナ44は、オペランドB
の符号ビットと浮動小数点命令によって選択された数学
演算が矛盾しないようにオペランドBをフォーマットす
る。アライナ44は、オペランドBと、オペランドAお
よびCの指数とを受け取る。
【0023】アライナ44は、ウォーレス加算器42の
中間結果との加算に備えて、オペランドBの仮数をシフ
トする。アライナ44は、オペランドBの仮数をZ位置
だけシフトする両方向シフタとすることができる。ただ
し、Zは、オペランドAの指数とオペランドCの指数の
和からオペランドBの指数を減じた値に等しい。アライ
ナ44は、Zが負の場合には左、Zが正の場合には右
に、Z位置だけオペランドBの仮数をシフトする。
中間結果との加算に備えて、オペランドBの仮数をシフ
トする。アライナ44は、オペランドBの仮数をZ位置
だけシフトする両方向シフタとすることができる。ただ
し、Zは、オペランドAの指数とオペランドCの指数の
和からオペランドBの指数を減じた値に等しい。アライ
ナ44は、Zが負の場合には左、Zが正の場合には右
に、Z位置だけオペランドBの仮数をシフトする。
【0024】図示の実施例では、データ・プロセッサ1
0が、高性能データ・プロセッサである。このような応
用例では、上で述べた両方向シフタは、比較的大きく低
速な回路になる。したがって、アライナ44は、右方向
専用シフタとして実施される。概念上、オペランドBの
仮数が、56位置左にシフトされ、オペランドBの指数
が、56減じられる。実際には、アライナ44は、オペ
ランドBの仮数を特定の位置数だけ右にシフトするに過
ぎない。必要であれば、本発明の正規化機構(下で説明
する)が、後程オペランドの仮数を左にシフトする。右
シフトの特定の位置数は、(1)0または(2)(EA
+EC−(EB−56))のうちの大きい方に等しい。
ただし、EA、EBおよびECは、それぞれオペランド
A、BおよびCの指数である。アライナ44は、第1中
間マスクB−SHIFTも生成する。B−SHIFT
は、右シフトの後のオペランドBの先頭の1の位置(5
5ビットのうちの1ビットがオンの26に符号化され
る)と、先頭の1の桁の位置を表すビットに直接隣接す
る2ビットの位置を表す。
0が、高性能データ・プロセッサである。このような応
用例では、上で述べた両方向シフタは、比較的大きく低
速な回路になる。したがって、アライナ44は、右方向
専用シフタとして実施される。概念上、オペランドBの
仮数が、56位置左にシフトされ、オペランドBの指数
が、56減じられる。実際には、アライナ44は、オペ
ランドBの仮数を特定の位置数だけ右にシフトするに過
ぎない。必要であれば、本発明の正規化機構(下で説明
する)が、後程オペランドの仮数を左にシフトする。右
シフトの特定の位置数は、(1)0または(2)(EA
+EC−(EB−56))のうちの大きい方に等しい。
ただし、EA、EBおよびECは、それぞれオペランド
A、BおよびCの指数である。アライナ44は、第1中
間マスクB−SHIFTも生成する。B−SHIFT
は、右シフトの後のオペランドBの先頭の1の位置(5
5ビットのうちの1ビットがオンの26に符号化され
る)と、先頭の1の桁の位置を表すビットに直接隣接す
る2ビットの位置を表す。
【0025】アライナ44は、オペランドBの符号ビッ
トと浮動小数点実行ユニット26によって実行される数
学命令を考慮に入れるために、オペランドBの仮数に対
するビット単位演算も実行する。アライナ44は、各ビ
ットと制御信号LOGICAL SUB(論理減算)の
排他的論理和(XOR)をとることによって、ビット単
位の反転を行い、オペランドを2の補数表記にする(2
の補数表記には、反転されたオペランドに1を加算する
必要もある。この加算は、条件的に行われる。詳しい説
明は、全加算器56に関連して下で行う)。LOGIC
AL SUBは、(1)(A×C)とBが同一の符号を
有し、命令が減算である(fused-multiply-subtract命
令)か、(2)(A×C)とBが異なる符号を有し、命
令が加算命令である、のいずれかなので、浮動小数点実
行ユニット26が、積(A×C)からBを減算しなけれ
ばならないことを示す。
トと浮動小数点実行ユニット26によって実行される数
学命令を考慮に入れるために、オペランドBの仮数に対
するビット単位演算も実行する。アライナ44は、各ビ
ットと制御信号LOGICAL SUB(論理減算)の
排他的論理和(XOR)をとることによって、ビット単
位の反転を行い、オペランドを2の補数表記にする(2
の補数表記には、反転されたオペランドに1を加算する
必要もある。この加算は、条件的に行われる。詳しい説
明は、全加算器56に関連して下で行う)。LOGIC
AL SUBは、(1)(A×C)とBが同一の符号を
有し、命令が減算である(fused-multiply-subtract命
令)か、(2)(A×C)とBが異なる符号を有し、命
令が加算命令である、のいずれかなので、浮動小数点実
行ユニット26が、積(A×C)からBを減算しなけれ
ばならないことを示す。
【0026】3クロック・サイクルの第2サイクルで
は、B−SHIFTの値、右シフトされたオペランドB
の仮数、中間結果のSUMおよびCARRYが、それぞ
れラッチ46、48、50および52によってラッチさ
れる。繰上り保存加算器54が、オペランドBの右シフ
トされた仮数と、中間結果のSUMおよびCARRYを
受け取る。繰上り保存加算器54は、この和に対する加
算演算を、新しい2つの中間結果、"SUM’"および"
CARRY’"に変換する。この2つの新しい中間結果
は、2つの161桁列に格納される。全加算器56が、
中間結果SUM’およびCARRY’を加算して、結果
の和、R0ないしR160を生成する。全加算器56は、必
要があればアライナ44が省略した1も加算する。全加
算器56は、積(A×C)とオペランドBの仮数の大き
さを比較する。積(A×C)がBより大きい場合、結果
は正の数になる。この場合、全加算器56は、アライナ
44が省略した1を加算する。積(A×C)がBより小
さい場合、結果は負の数になる。この場合、全加算器5
6は、ビット単位の反転を行って、結果を2の補数表記
にする。通常、加算器は、この第2の場合には結果に1
を加算するはずである。しかし、図示の実施例では、ア
ライナ44と全加算器56の両方が、結果が負になる場
合の追加ステップを省略し、機能性を維持することがで
きる。
は、B−SHIFTの値、右シフトされたオペランドB
の仮数、中間結果のSUMおよびCARRYが、それぞ
れラッチ46、48、50および52によってラッチさ
れる。繰上り保存加算器54が、オペランドBの右シフ
トされた仮数と、中間結果のSUMおよびCARRYを
受け取る。繰上り保存加算器54は、この和に対する加
算演算を、新しい2つの中間結果、"SUM’"および"
CARRY’"に変換する。この2つの新しい中間結果
は、2つの161桁列に格納される。全加算器56が、
中間結果SUM’およびCARRY’を加算して、結果
の和、R0ないしR160を生成する。全加算器56は、必
要があればアライナ44が省略した1も加算する。全加
算器56は、積(A×C)とオペランドBの仮数の大き
さを比較する。積(A×C)がBより大きい場合、結果
は正の数になる。この場合、全加算器56は、アライナ
44が省略した1を加算する。積(A×C)がBより小
さい場合、結果は負の数になる。この場合、全加算器5
6は、ビット単位の反転を行って、結果を2の補数表記
にする。通常、加算器は、この第2の場合には結果に1
を加算するはずである。しかし、図示の実施例では、ア
ライナ44と全加算器56の両方が、結果が負になる場
合の追加ステップを省略し、機能性を維持することがで
きる。
【0027】3クロック・サイクルの第3サイクルで
は、正規化機構58が、結果の和をラッチした後に、結
果の和の先頭に1があるようにする。正規化機構58
は、下で説明する。丸め機構が、正規化機構58から正
規化された結果を受け取り、本発明に無関係な、IEE
E標準規格またはユーザによって選択された規格に適合
するように結果を丸める。指数計算機構62が、丸めら
れた結果の生成と同時に正規化された指数結果を生成す
る。指数計算機構62は、下で図5に関連して説明す
る。
は、正規化機構58が、結果の和をラッチした後に、結
果の和の先頭に1があるようにする。正規化機構58
は、下で説明する。丸め機構が、正規化機構58から正
規化された結果を受け取り、本発明に無関係な、IEE
E標準規格またはユーザによって選択された規格に適合
するように結果を丸める。指数計算機構62が、丸めら
れた結果の生成と同時に正規化された指数結果を生成す
る。指数計算機構62は、下で図5に関連して説明す
る。
【0028】正規化機構58に話を戻すと、切替ラッチ
64が、全加算器56からの結果の和と、マルチプレク
サ・アレイ66からの正規化された結果の最上位64ビ
ットを受け取る。マルチプレクサ・アレイ66は、制御
信号NORMALIZEDSELECT(正規化選択)
に応答する2つ以上の直列段で、切替ラッチ64の出力
を左シフトする。マルチプレクサ・アレイ66は、図4
に関連して下で説明する。先頭0予測機構(以下、LZ
Aと呼称する)68と、先頭0カウント・インジケータ
(以下、CLZと呼称する)70が、受け取った入力B
−SHIFT、SUM’、CARRY’およびRESU
LT OPERAND(結果オペランド)から、制御信
号NORMALIZED SELECTを生成する。L
ZA68は、先頭の0が、結果の和の中で2桁の内のど
こにあるかを判定する。LZA68は、下で説明する。
CLZ70は、LZA68によって示された2桁のうち
のどちらが先頭の1であるかを判定する。CLZ70
は、この情報を制御信号NORMALIZED SEL
ECTに変換する。CLZ70は、図3に関連して下で
説明する。LZA68とCLZ70は、マルチプレクサ
・アレイ66内のマルチプレクサの各レベルに必要な制
御信号を、1時に生成する。したがって、本発明では、
従来の正規化機構に対して、マルチプレクサ・アレイ6
6を介する結果の和の伝播遅延が相対的に減少してい
る。
64が、全加算器56からの結果の和と、マルチプレク
サ・アレイ66からの正規化された結果の最上位64ビ
ットを受け取る。マルチプレクサ・アレイ66は、制御
信号NORMALIZEDSELECT(正規化選択)
に応答する2つ以上の直列段で、切替ラッチ64の出力
を左シフトする。マルチプレクサ・アレイ66は、図4
に関連して下で説明する。先頭0予測機構(以下、LZ
Aと呼称する)68と、先頭0カウント・インジケータ
(以下、CLZと呼称する)70が、受け取った入力B
−SHIFT、SUM’、CARRY’およびRESU
LT OPERAND(結果オペランド)から、制御信
号NORMALIZED SELECTを生成する。L
ZA68は、先頭の0が、結果の和の中で2桁の内のど
こにあるかを判定する。LZA68は、下で説明する。
CLZ70は、LZA68によって示された2桁のうち
のどちらが先頭の1であるかを判定する。CLZ70
は、この情報を制御信号NORMALIZED SEL
ECTに変換する。CLZ70は、図3に関連して下で
説明する。LZA68とCLZ70は、マルチプレクサ
・アレイ66内のマルチプレクサの各レベルに必要な制
御信号を、1時に生成する。したがって、本発明では、
従来の正規化機構に対して、マルチプレクサ・アレイ6
6を介する結果の和の伝播遅延が相対的に減少してい
る。
【0029】ほとんどの情況では、切替ラッチ64が、
正規化に備えて全加算器56からの新しい結果の和をラ
ッチする。しかし、いくつかの場合(たとえば、A×C
≒Bの減算演算など)では、正規化機構58が、単一の
動作で結果の和を正規化できない。このような場合に
は、マルチプレクサ・アレイ66の出力が、その最上位
ビットに先頭の1を有しない。切替ラッチ64は、この
場合を検出し、マルチプレクサ・アレイ66を通る第2
パスのためにマルチプレクサ・アレイ66からの最上位
64ビットをラッチする。この場合、切替ラッチ64
は、RESULTOPERANDとして、マルチプレク
サ・アレイ66からの最上位64ビットを出力する。通
常、切替ラッチ64は、RESULT OPERAND
として、全加算器56からの結果の和の最上位64ビッ
トを出力する。
正規化に備えて全加算器56からの新しい結果の和をラ
ッチする。しかし、いくつかの場合(たとえば、A×C
≒Bの減算演算など)では、正規化機構58が、単一の
動作で結果の和を正規化できない。このような場合に
は、マルチプレクサ・アレイ66の出力が、その最上位
ビットに先頭の1を有しない。切替ラッチ64は、この
場合を検出し、マルチプレクサ・アレイ66を通る第2
パスのためにマルチプレクサ・アレイ66からの最上位
64ビットをラッチする。この場合、切替ラッチ64
は、RESULTOPERANDとして、マルチプレク
サ・アレイ66からの最上位64ビットを出力する。通
常、切替ラッチ64は、RESULT OPERAND
として、全加算器56からの結果の和の最上位64ビッ
トを出力する。
【0030】LZA68は、第2中間マスクCSA−S
HIFT55ないしCSA−SHIFT63を生成する。こ
の中間マスクは、2つの桁のうち、全加算器56によっ
て出力された結果の和出力のうちの最初の8桁のどれが
先頭の1であるかを示す。速度向上のため、LZA68
は、可能なすべての桁を調べることはしない。加算動作
の場合、先頭の1は、キャリー・イン・ビットに応じ
て、高々1位置だけ左にシフトされる。減算動作の場
合、先頭の1は、2つのオペランド内の連続する同一ビ
ットの個数「ビット・キャンセレーション(bit-cancel
lation)」に応じて、右にシフトされる。この数が8桁
を超えることは、ほとんどない。先頭の1が、これらの
8桁以内にない、またはオペランドBによって占められ
る56桁の中にない場合、正規化機構58は、次の最上
位64ビットに対して第2の正規化動作を実行する。ど
ちらの場合であっても
HIFT55ないしCSA−SHIFT63を生成する。こ
の中間マスクは、2つの桁のうち、全加算器56によっ
て出力された結果の和出力のうちの最初の8桁のどれが
先頭の1であるかを示す。速度向上のため、LZA68
は、可能なすべての桁を調べることはしない。加算動作
の場合、先頭の1は、キャリー・イン・ビットに応じ
て、高々1位置だけ左にシフトされる。減算動作の場
合、先頭の1は、2つのオペランド内の連続する同一ビ
ットの個数「ビット・キャンセレーション(bit-cancel
lation)」に応じて、右にシフトされる。この数が8桁
を超えることは、ほとんどない。先頭の1が、これらの
8桁以内にない、またはオペランドBによって占められ
る56桁の中にない場合、正規化機構58は、次の最上
位64ビットに対して第2の正規化動作を実行する。ど
ちらの場合であっても
【数1】
【0031】ただし
【数2】
【0032】式1ないし式10は、特定の実施例で正規
化範囲を8桁超に増加することが有利である場合には、
上に示されたiの範囲を超えて拡張することができる。
化範囲を8桁超に増加することが有利である場合には、
上に示されたiの範囲を超えて拡張することができる。
【0033】図3は、図2に示されたCLZ70のブロ
ック図である。CLZ70は、可能な正規化の桁ごとに
1つの、1つの2入力のANDゲート72と全体を符号
74で表される63個の3入力のANDゲートを有す
る。64個のANDゲート72および74が、64ビッ
トの制御信号MASK BIT(マスク・ビット)を生
成する。一般に、制御信号MASK BITのうちの1
ビットだけが、所与の時点でアサートされる。このビッ
トが、結果の和の先頭の1の位置を表す。ANDゲート
72は、結果の最上位ビットR0と、B−SHIFTの
最上位ビットB−SHIFT0を受け取る。1≦I≦5
4のIについて、I番目のANDゲート74は、結果の
第(I−1)ビットの論理構成要素RI-1、結果の第I
ビットRIおよびB−SHIFTの第IビットB−SH
IFTIを受け取る。55≦J≦63のJについて、J
番目のANDゲート74は、結果の第(J−1)ビット
の論理構成要素RJ-1、結果の第JビットRJおよびCS
A−SHIFTの第JビットCSA−SHIFTJを受
け取る。
ック図である。CLZ70は、可能な正規化の桁ごとに
1つの、1つの2入力のANDゲート72と全体を符号
74で表される63個の3入力のANDゲートを有す
る。64個のANDゲート72および74が、64ビッ
トの制御信号MASK BIT(マスク・ビット)を生
成する。一般に、制御信号MASK BITのうちの1
ビットだけが、所与の時点でアサートされる。このビッ
トが、結果の和の先頭の1の位置を表す。ANDゲート
72は、結果の最上位ビットR0と、B−SHIFTの
最上位ビットB−SHIFT0を受け取る。1≦I≦5
4のIについて、I番目のANDゲート74は、結果の
第(I−1)ビットの論理構成要素RI-1、結果の第I
ビットRIおよびB−SHIFTの第IビットB−SH
IFTIを受け取る。55≦J≦63のJについて、J
番目のANDゲート74は、結果の第(J−1)ビット
の論理構成要素RJ-1、結果の第JビットRJおよびCS
A−SHIFTの第JビットCSA−SHIFTJを受
け取る。
【0034】制御信号MASK BITは、制御信号N
ORMALIZED SELECTの全ビットを同時に
生成する。制御信号NORMALIZED SELEC
Tは、マルチプレクサ・アレイ66内の左ビット・シフ
トの3つの順次段を制御する。NORMALIZED
SELECTの4本の制御線が、制御信号LEVEL−
0 SELECT(レベル0選択)を構成する。LEV
EL−0 SELECTは、マルチプレクサ・アレイ6
6内の第1左シフト段が結果の和を0桁、16桁、32
桁または48桁のうちのどの桁数だけ左にシフトするか
を決定する。NORMALIZED SELECTの4
本の制御線が、制御信号LEVEL−1SELECT
(レベル1選択)を構成する。LEVEL−1 SEL
ECTは、マルチプレクサ・アレイ66内の第2左シフ
ト段が結果の和を0桁、4桁、8桁または12桁のうち
のどの桁数だけ左にシフトするかを決定する。NORM
ALIZED SELECTの4本の制御線が、制御信
号LEVEL−2 SELECT(レベル2選択)を構
成する。LEVEL−2 SELECTは、マルチプレ
クサ・アレイ66内の第3左シフト段が結果の和を0
桁、1桁、2桁または3桁のうちのどの桁数だけ左にシ
フトするかを決定する。
ORMALIZED SELECTの全ビットを同時に
生成する。制御信号NORMALIZED SELEC
Tは、マルチプレクサ・アレイ66内の左ビット・シフ
トの3つの順次段を制御する。NORMALIZED
SELECTの4本の制御線が、制御信号LEVEL−
0 SELECT(レベル0選択)を構成する。LEV
EL−0 SELECTは、マルチプレクサ・アレイ6
6内の第1左シフト段が結果の和を0桁、16桁、32
桁または48桁のうちのどの桁数だけ左にシフトするか
を決定する。NORMALIZED SELECTの4
本の制御線が、制御信号LEVEL−1SELECT
(レベル1選択)を構成する。LEVEL−1 SEL
ECTは、マルチプレクサ・アレイ66内の第2左シフ
ト段が結果の和を0桁、4桁、8桁または12桁のうち
のどの桁数だけ左にシフトするかを決定する。NORM
ALIZED SELECTの4本の制御線が、制御信
号LEVEL−2 SELECT(レベル2選択)を構
成する。LEVEL−2 SELECTは、マルチプレ
クサ・アレイ66内の第3左シフト段が結果の和を0
桁、1桁、2桁または3桁のうちのどの桁数だけ左にシ
フトするかを決定する。
【0035】4つのORゲート76、78、80および
82が、LEVEL−0 SELECTを構成する4本
の制御線を生成する。ORゲート76は、MASK B
ITの第0ビットから第15ビットまでを受け取る。O
Rゲート78は、MASKBITの第16ビットから第
31ビットまでを受け取る。ORゲート80は、MAS
K BITの第32ビットから第47ビットまでを受け
取る。ORゲート82は、MASK BITの第48ビ
ットから第63ビットまでを受け取る。
82が、LEVEL−0 SELECTを構成する4本
の制御線を生成する。ORゲート76は、MASK B
ITの第0ビットから第15ビットまでを受け取る。O
Rゲート78は、MASKBITの第16ビットから第
31ビットまでを受け取る。ORゲート80は、MAS
K BITの第32ビットから第47ビットまでを受け
取る。ORゲート82は、MASK BITの第48ビ
ットから第63ビットまでを受け取る。
【0036】4つのORゲート84、86、88および
90は、LEVEL−1 SELECTを構成する4本
の制御線を生成する。ORゲート84は、MASK B
ITの第0ビットから第3ビット、第16ビットから第
19ビット、第32ビットから第35ビット、および、
第48ビットから第51ビットを受け取る。ORゲート
86は、MASK BITの第4ビットから第7ビッ
ト、第20ビットから第23ビット、第36ビットから
第39ビット、および、第52ビットから第55ビット
を受け取る。ORゲート88は、MASK BITの第
8ビットから第11ビット、第24ビットから第27ビ
ット、第40ビットから第43ビット、および、第56
ビットから第59ビットを受け取る。ORゲート90
は、MASKBITの第12ビットから第15ビット、
第28ビットから第31ビット、第44ビットから第4
7ビット、および、第60ビットから第63ビットを受
け取る。
90は、LEVEL−1 SELECTを構成する4本
の制御線を生成する。ORゲート84は、MASK B
ITの第0ビットから第3ビット、第16ビットから第
19ビット、第32ビットから第35ビット、および、
第48ビットから第51ビットを受け取る。ORゲート
86は、MASK BITの第4ビットから第7ビッ
ト、第20ビットから第23ビット、第36ビットから
第39ビット、および、第52ビットから第55ビット
を受け取る。ORゲート88は、MASK BITの第
8ビットから第11ビット、第24ビットから第27ビ
ット、第40ビットから第43ビット、および、第56
ビットから第59ビットを受け取る。ORゲート90
は、MASKBITの第12ビットから第15ビット、
第28ビットから第31ビット、第44ビットから第4
7ビット、および、第60ビットから第63ビットを受
け取る。
【0037】4つのORゲート92、94、96および
98は、LEVEL−2 SELECTを構成する4本
の制御線を生成する。ORゲート92は、MASK B
ITの第0ビット、第4ビット、第8ビット、第12ビ
ット、第16ビット、第20ビット、第24ビット、第
28ビット、第32ビット、第36ビット、第40ビッ
ト、第44ビット、第48ビット、第52ビット、第5
6ビットおよび第60ビットを受け取る。ORゲート9
4は、MASK BITの第1ビット、第5ビット、第
9ビット、第13ビット、第17ビット、第21ビッ
ト、第25ビット、第29ビット、第33ビット、第3
7ビット、第41ビット、第45ビット、第49ビッ
ト、第53ビット、第57ビットおよび第61ビットを
受け取る。ORゲート96は、MASK BITの第2
ビット、第6ビット、第10ビット、第14ビット、第
18ビット、第22ビット、第26ビット、第30ビッ
ト、第34ビット、第38ビット、第42ビット、第4
6ビット、第50ビット、第54ビット、第58ビット
および第62ビットを受け取る。ORゲート98は、M
ASK BITの第3ビット、第7ビット、第11ビッ
ト、第15ビット、第19ビット、第23ビット、第2
7ビット、第31ビット、第35ビット、第39ビッ
ト、第43ビット、第47ビット、第51ビット、第5
5ビット、第59ビットおよび第63ビットを受け取
る。
98は、LEVEL−2 SELECTを構成する4本
の制御線を生成する。ORゲート92は、MASK B
ITの第0ビット、第4ビット、第8ビット、第12ビ
ット、第16ビット、第20ビット、第24ビット、第
28ビット、第32ビット、第36ビット、第40ビッ
ト、第44ビット、第48ビット、第52ビット、第5
6ビットおよび第60ビットを受け取る。ORゲート9
4は、MASK BITの第1ビット、第5ビット、第
9ビット、第13ビット、第17ビット、第21ビッ
ト、第25ビット、第29ビット、第33ビット、第3
7ビット、第41ビット、第45ビット、第49ビッ
ト、第53ビット、第57ビットおよび第61ビットを
受け取る。ORゲート96は、MASK BITの第2
ビット、第6ビット、第10ビット、第14ビット、第
18ビット、第22ビット、第26ビット、第30ビッ
ト、第34ビット、第38ビット、第42ビット、第4
6ビット、第50ビット、第54ビット、第58ビット
および第62ビットを受け取る。ORゲート98は、M
ASK BITの第3ビット、第7ビット、第11ビッ
ト、第15ビット、第19ビット、第23ビット、第2
7ビット、第31ビット、第35ビット、第39ビッ
ト、第43ビット、第47ビット、第51ビット、第5
5ビット、第59ビットおよび第63ビットを受け取
る。
【0038】図4は、図2に示されたマルチプレクサ・
アレイ66のブロック図である。図示のマルチプレクサ
・アレイ66は、結果の和を3つの直列段で左シフトす
る。しかし、上で説明したように、各段の制御信号は、
LZA68とCLZ70によって並列に生成される。
アレイ66のブロック図である。図示のマルチプレクサ
・アレイ66は、結果の和を3つの直列段で左シフトす
る。しかし、上で説明したように、各段の制御信号は、
LZA68とCLZ70によって並列に生成される。
【0039】左シフトの第1段では、第1マルチプレク
サ100が、制御信号LEVEL−0 SELECTに
応答して、4つの入力のうちの1つを出力する。第1マ
ルチプレクサ100は、結果の和、16個の0を連結さ
れた結果の和の第16ビットから第160ビットまで、
32個の0を連結された結果の和の第32ビットから第
160ビットまで、および、48個の0を連結された結
果の和の第48ビットから第160ビットまでを受け取
る。第1マルチプレクサ100は、第1段出力R’0な
いしR’160を生成する。ORゲート76の出力がアサ
ートされている場合、第1段出力は、上の1番目の入力
と論理的に同等である。ORゲート78の出力がアサー
トされている場合、第1段出力は、上の2番目の入力と
論理的に同等である。ORゲート80の出力がアサート
されている場合、第1段出力は、上の3番目の入力と論
理的に同等である。ORゲート82の出力がアサートさ
れている場合、第1段出力は、上の4番目の入力と論理
的に同等である。
サ100が、制御信号LEVEL−0 SELECTに
応答して、4つの入力のうちの1つを出力する。第1マ
ルチプレクサ100は、結果の和、16個の0を連結さ
れた結果の和の第16ビットから第160ビットまで、
32個の0を連結された結果の和の第32ビットから第
160ビットまで、および、48個の0を連結された結
果の和の第48ビットから第160ビットまでを受け取
る。第1マルチプレクサ100は、第1段出力R’0な
いしR’160を生成する。ORゲート76の出力がアサ
ートされている場合、第1段出力は、上の1番目の入力
と論理的に同等である。ORゲート78の出力がアサー
トされている場合、第1段出力は、上の2番目の入力と
論理的に同等である。ORゲート80の出力がアサート
されている場合、第1段出力は、上の3番目の入力と論
理的に同等である。ORゲート82の出力がアサートさ
れている場合、第1段出力は、上の4番目の入力と論理
的に同等である。
【0040】左シフトの第2段では、第2マルチプレク
サ102が、制御信号LEVEL−1 SELECTに
応答して、4つの入力のうちの1つを出力する。第2マ
ルチプレクサ102は、第1段出力、4個の0を連結さ
れた第1段出力の第4ビットから第160ビットまで、
8個の0を連結された第1段出力の第8ビットから第1
60ビットまで、および、12個の0を連結された第1
段出力の第12ビットから第160ビットまでを受け取
る。第2マルチプレクサ102は、第2段出力R”0な
いしR”160を生成する。ORゲート84の出力がアサ
ートされている場合、第2段出力は、上の1番目の入力
と論理的に同等である。ORゲート86の出力がアサー
トされている場合、第2段出力は、上の2番目の入力と
論理的に同等である。ORゲート88の出力がアサート
されている場合、第2段出力は、上の3番目の入力と論
理的に同等である。ORゲート90の出力がアサートさ
れている場合、第2段出力は、上の4番目の入力と論理
的に同等である。
サ102が、制御信号LEVEL−1 SELECTに
応答して、4つの入力のうちの1つを出力する。第2マ
ルチプレクサ102は、第1段出力、4個の0を連結さ
れた第1段出力の第4ビットから第160ビットまで、
8個の0を連結された第1段出力の第8ビットから第1
60ビットまで、および、12個の0を連結された第1
段出力の第12ビットから第160ビットまでを受け取
る。第2マルチプレクサ102は、第2段出力R”0な
いしR”160を生成する。ORゲート84の出力がアサ
ートされている場合、第2段出力は、上の1番目の入力
と論理的に同等である。ORゲート86の出力がアサー
トされている場合、第2段出力は、上の2番目の入力と
論理的に同等である。ORゲート88の出力がアサート
されている場合、第2段出力は、上の3番目の入力と論
理的に同等である。ORゲート90の出力がアサートさ
れている場合、第2段出力は、上の4番目の入力と論理
的に同等である。
【0041】左シフトの第3段では、第3マルチプレク
サ104が、制御信号LEVEL−2 SELECTに
応答して、4つの入力のうちの1つを出力する。第3マ
ルチプレクサ104は、第2段出力、1個の0を連結さ
れた第2段出力の第1ビットから第160ビットまで、
2個の0を連結された第2段出力の第2ビットから第1
60ビットまで、および、3個の0を連結された第2段
出力の第3ビットから第160ビットまでを受け取る。
第3マルチプレクサ104は、出力NORMALIZE
D RESULT(正規化された出力)を生成する。O
Rゲート92の出力がアサートされている場合、出力N
ORMALIZED RESULTは、上の1番目の入
力と論理的に同等である。ORゲート94の出力がアサ
ートされている場合、出力NORMALIZED RE
SULTは、上の2番目の入力と論理的に同等である。
ORゲート96の出力がアサートされている場合、出力
NORMALIZED RESULTは、上の3番目の
入力と論理的に同等である。ORゲート98の出力がア
サートされている場合、出力NORMALIZEDRE
SULTは、上の4番目の入力と論理的に同等である。
サ104が、制御信号LEVEL−2 SELECTに
応答して、4つの入力のうちの1つを出力する。第3マ
ルチプレクサ104は、第2段出力、1個の0を連結さ
れた第2段出力の第1ビットから第160ビットまで、
2個の0を連結された第2段出力の第2ビットから第1
60ビットまで、および、3個の0を連結された第2段
出力の第3ビットから第160ビットまでを受け取る。
第3マルチプレクサ104は、出力NORMALIZE
D RESULT(正規化された出力)を生成する。O
Rゲート92の出力がアサートされている場合、出力N
ORMALIZED RESULTは、上の1番目の入
力と論理的に同等である。ORゲート94の出力がアサ
ートされている場合、出力NORMALIZED RE
SULTは、上の2番目の入力と論理的に同等である。
ORゲート96の出力がアサートされている場合、出力
NORMALIZED RESULTは、上の3番目の
入力と論理的に同等である。ORゲート98の出力がア
サートされている場合、出力NORMALIZEDRE
SULTは、上の4番目の入力と論理的に同等である。
【0042】図5は、図2の指数計算機構62のブロッ
ク図である。指数計算機構62は、入力B−SHIF
T、EA、EB、EC(それぞれオペランドA、Bおよ
びCの指数)および制御信号NORMALIZED S
ELECTを受け取り、出力NORMALIZED R
ESULT (EXPONENT)(正規化された出力
(指数))を生成する。加算器106が、結果の和の指
数と、結果の和をマルチプレクサ・アレイ66によって
左シフトする位置の個数を加算する。マルチプレクサ1
08が、結果の和の指数を生成する。マルチプレクサ1
08は、EBと加算器110の出力を受け取る。加算器
110は、EAとECを加算する。比較器112は、B
−SHIFTを受け取り、この入力を56と比較する。
B−SHIFTが56より大きい場合、積(A×C)が
オペランドBより大きい。この場合、比較器112は、
マルチプレクサ108にEAとECの和を出力させる。
B−SHIFTが56より小さいかこれと等しい場合、
積(A×C)がオペランドBより小さい。この場合、比
較器112は、マルチプレクサ108にEBを出力させ
る。第1エンコーダ114は、結果の和をマルチプレク
サ・アレイ66によって左シフトする位置の個数の最上
位2ビットを生成する。第2エンコーダ116は、結果
の和をマルチプレクサ・アレイ66によって左シフトす
る位置の個数の上位第3ビットおよび第4ビットを生成
する。第3エンコーダ118は、結果の和をマルチプレ
クサ・アレイ66によって左シフトする位置の個数の最
下位2ビットを生成する。第1エンコーダ114は制御
信号LEVEL−0 SELECTを受け取り、第2エ
ンコーダ116は制御信号LEVEL−1 SELEC
Tを受け取り、第3エンコーダ118は制御信号LEV
EL−2 SELECTを受け取る。各エンコーダは、
4ビットのうち1ビットがオンの入力を受け取り、これ
を2ビット2進数表現に変換する。
ク図である。指数計算機構62は、入力B−SHIF
T、EA、EB、EC(それぞれオペランドA、Bおよ
びCの指数)および制御信号NORMALIZED S
ELECTを受け取り、出力NORMALIZED R
ESULT (EXPONENT)(正規化された出力
(指数))を生成する。加算器106が、結果の和の指
数と、結果の和をマルチプレクサ・アレイ66によって
左シフトする位置の個数を加算する。マルチプレクサ1
08が、結果の和の指数を生成する。マルチプレクサ1
08は、EBと加算器110の出力を受け取る。加算器
110は、EAとECを加算する。比較器112は、B
−SHIFTを受け取り、この入力を56と比較する。
B−SHIFTが56より大きい場合、積(A×C)が
オペランドBより大きい。この場合、比較器112は、
マルチプレクサ108にEAとECの和を出力させる。
B−SHIFTが56より小さいかこれと等しい場合、
積(A×C)がオペランドBより小さい。この場合、比
較器112は、マルチプレクサ108にEBを出力させ
る。第1エンコーダ114は、結果の和をマルチプレク
サ・アレイ66によって左シフトする位置の個数の最上
位2ビットを生成する。第2エンコーダ116は、結果
の和をマルチプレクサ・アレイ66によって左シフトす
る位置の個数の上位第3ビットおよび第4ビットを生成
する。第3エンコーダ118は、結果の和をマルチプレ
クサ・アレイ66によって左シフトする位置の個数の最
下位2ビットを生成する。第1エンコーダ114は制御
信号LEVEL−0 SELECTを受け取り、第2エ
ンコーダ116は制御信号LEVEL−1 SELEC
Tを受け取り、第3エンコーダ118は制御信号LEV
EL−2 SELECTを受け取る。各エンコーダは、
4ビットのうち1ビットがオンの入力を受け取り、これ
を2ビット2進数表現に変換する。
【0043】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0044】(1)(a)第1および第2のオペランド
を受け取り、第1および第2のオペランドに応答して第
1マスクを生成し、第1マスクが、結果内での先頭の1
の位置と先頭の1の位置に隣接する位置とを表す、第1
マスク回路と、 (b)第1マスクと結果とを受け取り、第1マスクと結
果とに応答して第2マスクを生成し、第2マスクが、結
果内の先頭の1の位置を示す、第2マスク回路と、 (c)第2マスク回路に結合され、第2マスクを受け取
り、第1および第2の制御信号を生成する符号化回路
と、 (d)符号化回路に結合され、結果と第1制御信号とを
受け取り、第1制御信号に応答して第1桁数だけ結果を
シフトし、シフトされた結果を生成する第1マルチプレ
クサと、 (e)符号化回路と第1マルチプレクサとに結合され、
シフトされた結果と第2制御信号とを受け取り、第2制
御信号に応答して第2桁数だけシフトされた結果をシフ
トし、正規化された結果を生成する第2マルチプレクサ
とを含む、第1および第2のオペランドを受け取り、第
1および第2のオペランドの和に論理的に同等な結果を
生成する加算器と共に使用するための、結果正規化機
構。 (2)(a)命令、第1オペランドおよび第2オペラン
ドを受け取るためのバス回路と、 (b)正規化された結果を生成する命令を実行するため
にバス回路に結合された浮動小数点回路とを含み、前記
浮動小数点回路が、(い)第1および第2のオペランド
を受け取り、第1および第2のオペランドの和に論理的
に同等な結果を生成する加算器と、(ろ)第1および第
2のオペランドを受け取り、第1および第2のオペラン
ドに応答して第1マスクを生成し、第1マスクが結果内
の先頭の1の位置と先頭の1の位置に隣接する位置とを
示す、第1マスク回路と、(は)第1マスクと結果とを
受け取り、第1マスクと結果とに応答して第2マスクを
生成し、第2マスクが、結果内の先頭の1の位置を示
す、第2マスク回路と、(に)第2マスク回路に結合さ
れ、第2マスクを受け取り、第1および第2の制御信号
を生成する符号化回路と、(ほ)符号化回路に結合さ
れ、結果と第1制御信号とを受け取り、第1制御信号に
応答して第1桁数だけ結果をシフトし、シフトされた結
果を生成する第1マルチプレクサと、(へ)符号化回路
と第1マルチプレクサとに結合され、シフトされた結果
と第2制御信号とを受け取り、第2制御信号に応答して
第2桁数だけシフトされた結果をシフトし、正規化され
た結果を生成する第2マルチプレクサとを含むことを特
徴とするデータ・プロセッサ。 (3)さらに、符号化回路に結合され、第1および第2
のオペランドならびに第1および第2の制御信号を受け
取り、第1および第2のオペランドならびに第1および
第2の制御信号に応答して正規化された指数を生成する
指数加算器回路を含む、上記(2)のデータ・プロセッ
サ。 (4)(a)加算器内で第1および第2のオペランドを
受け取るステップと、 (b)第1および第2のオペランドの和に論理的に同等
な結果を加算器内で生成するステップと、 (c)第1および第2のオペランドに応答し、結果内の
先頭の1の位置と先頭の1の位置に隣接する位置とを示
す第1マスクを、第1マスク回路内で生成するステップ
と、 (d)第1マスクと結果とに応答し、結果内の先頭の1
の位置を示す第2マスクを、第1マスク回路に結合され
た第2マスク回路内で生成するステップと、 (e)第2マスク回路に結合された符号化回路内で、第
1および第2の制御信号を生成するステップと、 (f)第1制御信号に応答する第1桁数だけ結果をシフ
トし、シフトされた結果を生成する、符号化回路に結合
された第1マルチプレクサ内で、結果をシフトするステ
ップと、 (g)第2制御信号に応答する第2桁数だけ結果をシフ
トし、正規化された結果を生成する、符号化回路と第1
マルチプレクサとに結合された第2マルチプレクサ内
で、シフトされた結果をシフトするステップとを含む、
結果を正規化する方法。 (5)さらに、符号化回路に結合され、第1および第2
のオペランドならびに第1および第2の制御信号を受け
取る指数加算器回路内で、第1および第2のオペランド
ならびに第1および第2の制御信号に応答する正規化さ
れた指数を生成するステップを含む、上記(4)の方
法。
を受け取り、第1および第2のオペランドに応答して第
1マスクを生成し、第1マスクが、結果内での先頭の1
の位置と先頭の1の位置に隣接する位置とを表す、第1
マスク回路と、 (b)第1マスクと結果とを受け取り、第1マスクと結
果とに応答して第2マスクを生成し、第2マスクが、結
果内の先頭の1の位置を示す、第2マスク回路と、 (c)第2マスク回路に結合され、第2マスクを受け取
り、第1および第2の制御信号を生成する符号化回路
と、 (d)符号化回路に結合され、結果と第1制御信号とを
受け取り、第1制御信号に応答して第1桁数だけ結果を
シフトし、シフトされた結果を生成する第1マルチプレ
クサと、 (e)符号化回路と第1マルチプレクサとに結合され、
シフトされた結果と第2制御信号とを受け取り、第2制
御信号に応答して第2桁数だけシフトされた結果をシフ
トし、正規化された結果を生成する第2マルチプレクサ
とを含む、第1および第2のオペランドを受け取り、第
1および第2のオペランドの和に論理的に同等な結果を
生成する加算器と共に使用するための、結果正規化機
構。 (2)(a)命令、第1オペランドおよび第2オペラン
ドを受け取るためのバス回路と、 (b)正規化された結果を生成する命令を実行するため
にバス回路に結合された浮動小数点回路とを含み、前記
浮動小数点回路が、(い)第1および第2のオペランド
を受け取り、第1および第2のオペランドの和に論理的
に同等な結果を生成する加算器と、(ろ)第1および第
2のオペランドを受け取り、第1および第2のオペラン
ドに応答して第1マスクを生成し、第1マスクが結果内
の先頭の1の位置と先頭の1の位置に隣接する位置とを
示す、第1マスク回路と、(は)第1マスクと結果とを
受け取り、第1マスクと結果とに応答して第2マスクを
生成し、第2マスクが、結果内の先頭の1の位置を示
す、第2マスク回路と、(に)第2マスク回路に結合さ
れ、第2マスクを受け取り、第1および第2の制御信号
を生成する符号化回路と、(ほ)符号化回路に結合さ
れ、結果と第1制御信号とを受け取り、第1制御信号に
応答して第1桁数だけ結果をシフトし、シフトされた結
果を生成する第1マルチプレクサと、(へ)符号化回路
と第1マルチプレクサとに結合され、シフトされた結果
と第2制御信号とを受け取り、第2制御信号に応答して
第2桁数だけシフトされた結果をシフトし、正規化され
た結果を生成する第2マルチプレクサとを含むことを特
徴とするデータ・プロセッサ。 (3)さらに、符号化回路に結合され、第1および第2
のオペランドならびに第1および第2の制御信号を受け
取り、第1および第2のオペランドならびに第1および
第2の制御信号に応答して正規化された指数を生成する
指数加算器回路を含む、上記(2)のデータ・プロセッ
サ。 (4)(a)加算器内で第1および第2のオペランドを
受け取るステップと、 (b)第1および第2のオペランドの和に論理的に同等
な結果を加算器内で生成するステップと、 (c)第1および第2のオペランドに応答し、結果内の
先頭の1の位置と先頭の1の位置に隣接する位置とを示
す第1マスクを、第1マスク回路内で生成するステップ
と、 (d)第1マスクと結果とに応答し、結果内の先頭の1
の位置を示す第2マスクを、第1マスク回路に結合され
た第2マスク回路内で生成するステップと、 (e)第2マスク回路に結合された符号化回路内で、第
1および第2の制御信号を生成するステップと、 (f)第1制御信号に応答する第1桁数だけ結果をシフ
トし、シフトされた結果を生成する、符号化回路に結合
された第1マルチプレクサ内で、結果をシフトするステ
ップと、 (g)第2制御信号に応答する第2桁数だけ結果をシフ
トし、正規化された結果を生成する、符号化回路と第1
マルチプレクサとに結合された第2マルチプレクサ内
で、シフトされた結果をシフトするステップとを含む、
結果を正規化する方法。 (5)さらに、符号化回路に結合され、第1および第2
のオペランドならびに第1および第2の制御信号を受け
取る指数加算器回路内で、第1および第2のオペランド
ならびに第1および第2の制御信号に応答する正規化さ
れた指数を生成するステップを含む、上記(4)の方
法。
【0045】
【発明の効果】上述したように、本願発明の結果正規化
機構を用いることにより、従来の3段正規化機構より高
速に正規化を行うことが可能となった。具体的な実施例
を参照して本発明を説明してきたが、当業者であれば、
更なる変更および改良を考案できるであろう。たとえ
ば、開示された発明は、伝統的に複合命令セットコンピ
ュータまたはCISCマシンとして分類されてきたデー
タ・プロセッサや、他のタイプのディジタル回路に組み
込んだり、独立の装置とすることができる。また、特定
の実施態様で、特定の機能ユニットを省略、拡張または
再配置することができる。たとえば、マルチプレクサ・
アレイ66に、任意の個数のマルチプレクサを含めるこ
とができる。したがって、本発明は、請求の範囲で定義
された本発明の主旨と範囲から逸脱しないそのような修
正のすべてを含むことを理解されたい。
機構を用いることにより、従来の3段正規化機構より高
速に正規化を行うことが可能となった。具体的な実施例
を参照して本発明を説明してきたが、当業者であれば、
更なる変更および改良を考案できるであろう。たとえ
ば、開示された発明は、伝統的に複合命令セットコンピ
ュータまたはCISCマシンとして分類されてきたデー
タ・プロセッサや、他のタイプのディジタル回路に組み
込んだり、独立の装置とすることができる。また、特定
の実施態様で、特定の機能ユニットを省略、拡張または
再配置することができる。たとえば、マルチプレクサ・
アレイ66に、任意の個数のマルチプレクサを含めるこ
とができる。したがって、本発明は、請求の範囲で定義
された本発明の主旨と範囲から逸脱しないそのような修
正のすべてを含むことを理解されたい。
【図1】本発明に従って構成されたデータ・プロセッサ
のブロック図である。
のブロック図である。
【図2】図1に示された浮動小数点実行ユニットのブロ
ック図である。 OPERAND AはオペランドAを表す。 OPERAND BはオペランドBを表す。 OPERAND CはオペランドCを表す。 SHIFTED OPERAND BはシフトされたオペランドBを表
す。 SUM は和を表す。 CARRY は繰上りを表す。 RESULT OPERAND は結果のオペランドを表す。 NORMALIZED SELECT は正規化選択を表す。 NORMALIZED RESULT(MANTISSA)は正規化された結果
(仮数)を表す。 NORMALIZED RESULT(EXPONENT)は正規化された結果
(指数)を表す。 ROUNDED RESULT(MANTISA)は丸められた結果(仮数)
を表す。
ック図である。 OPERAND AはオペランドAを表す。 OPERAND BはオペランドBを表す。 OPERAND CはオペランドCを表す。 SHIFTED OPERAND BはシフトされたオペランドBを表
す。 SUM は和を表す。 CARRY は繰上りを表す。 RESULT OPERAND は結果のオペランドを表す。 NORMALIZED SELECT は正規化選択を表す。 NORMALIZED RESULT(MANTISSA)は正規化された結果
(仮数)を表す。 NORMALIZED RESULT(EXPONENT)は正規化された結果
(指数)を表す。 ROUNDED RESULT(MANTISA)は丸められた結果(仮数)
を表す。
【図3】図2に示された先頭0カウント・インジケータ
のブロック図である。 MASK BIT はマスク・ビットを表す。 LEVEL−0 SELECT はレベル0選択を表す。 LEVEL−1 SELECT はレベル1選択を表す。 LEVEL−2 SELECT はレベル2選択を表す。 NORMALIZED SELECT は正規化選択を表す。
のブロック図である。 MASK BIT はマスク・ビットを表す。 LEVEL−0 SELECT はレベル0選択を表す。 LEVEL−1 SELECT はレベル1選択を表す。 LEVEL−2 SELECT はレベル2選択を表す。 NORMALIZED SELECT は正規化選択を表す。
【図4】図2に示されたマルチプレクサ・アレイのブロ
ック図である。 LEVEL−0 SELECT はレベル0選択を表す。 LEVEL−1 SELECT はレベル1選択を表す。 LEVEL−2 SELECT はレベル2選択を表す。 NORMALIZED SELECT は正規化選択を表す。 NORMALIZED RESULT(MANTISSA)は正規化された結果
(仮数)を表す。
ック図である。 LEVEL−0 SELECT はレベル0選択を表す。 LEVEL−1 SELECT はレベル1選択を表す。 LEVEL−2 SELECT はレベル2選択を表す。 NORMALIZED SELECT は正規化選択を表す。 NORMALIZED RESULT(MANTISSA)は正規化された結果
(仮数)を表す。
【図5】NORMALIZED SELECT は正規化選択を表す。 図2の指数計算機構のブロック図である。 LEVEL−0 SELECT はレベル0選択を表す。 LEVEL−1 SELECT はレベル1選択を表す。 LEVEL−2 SELECT はレベル2選択を表す。 NORMALIZED RESULT(EXPONENT)は正規化された結果
(指数)を表す。
(指数)を表す。
36 ラッチ 38 ラッチ 40 ラッチ 42 ウォーレス加算器 44 アライナ 46 ラッチ 48 ラッチ 50 ラッチ 52 ラッチ 54 繰上り保存加算器 56 全加算器 58 正規化機構 60 丸め機構 62 指数計算機構 64 切替ラッチ 66 マルチプレクサ・アレイ 68 先頭0予測機構(LZA) 70 先頭0カウント・インジケータ(CLZ)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティモシー・エイ・エリオット アメリカ合衆国78758 テキサス州オース チン シュマード・サークル 6904 (72)発明者 クリストファー・エイチ・オルソン アメリカ合衆国78730 テキサス州オース チン ラーンチ・クリーク・ドライブ 3649 (72)発明者 テレンス・エム・ポッター アメリカ合衆国78731 テキサス州オース チン ツイン・レッジ・コーヴ 6107
Claims (5)
- 【請求項1】(a)第1および第2のオペランドを受け
取り、第1および第2のオペランドに応答して第1マス
クを生成し、第1マスクが、結果内での先頭の1の位置
と先頭の1の位置に隣接する位置とを表す、第1マスク
回路と、(b)第1マスクと結果とを受け取り、第1マ
スクと結果とに応答して第2マスクを生成し、第2マス
クが、結果内の先頭の1の位置を示す、第2マスク回路
と、(c)第2マスク回路に結合され、第2マスクを受
け取り、第1および第2の制御信号を生成する符号化回
路と、(d)符号化回路に結合され、結果と第1制御信
号とを受け取り、第1制御信号に応答して第1桁数だけ
結果をシフトし、シフトされた結果を生成する第1マル
チプレクサと、(e)符号化回路と第1マルチプレクサ
とに結合され、シフトされた結果と第2制御信号とを受
け取り、第2制御信号に応答して第2桁数だけシフトさ
れた結果をシフトし、正規化された結果を生成する第2
マルチプレクサとを含む、第1および第2のオペランド
を受け取り、第1および第2のオペランドの和に論理的
に同等な結果を生成する加算器と共に使用するための、
結果正規化機構。 - 【請求項2】(a)命令、第1オペランドおよび第2オ
ペランドを受け取るためのバス回路と、 (b)正規化された結果を生成する命令を実行するため
にバス回路に結合された浮動小数点回路とを含み、 前記浮動小数点回路が、(い)第1および第2のオペラ
ンドを受け取り、第1および第2のオペランドの和に論
理的に同等な結果を生成する加算器と、(ろ)第1およ
び第2のオペランドを受け取り、第1および第2のオペ
ランドに応答して第1マスクを生成し、第1マスクが結
果内の先頭の1の位置と先頭の1の位置に隣接する位置
とを示す、第1マスク回路と、(は)第1マスクと結果
とを受け取り、第1マスクと結果とに応答して第2マス
クを生成し、第2マスクが、結果内の先頭の1の位置を
示す、第2マスク回路と、(に)第2マスク回路に結合
され、第2マスクを受け取り、第1および第2の制御信
号を生成する符号化回路と、(ほ)符号化回路に結合さ
れ、結果と第1制御信号とを受け取り、第1制御信号に
応答して第1桁数だけ結果をシフトし、シフトされた結
果を生成する第1マルチプレクサと、(へ)符号化回路
と第1マルチプレクサとに結合され、シフトされた結果
と第2制御信号とを受け取り、第2制御信号に応答して
第2桁数だけシフトされた結果をシフトし、正規化され
た結果を生成する第2マルチプレクサとを含むことを特
徴とするデータ・プロセッサ。 - 【請求項3】さらに、符号化回路に結合され、第1およ
び第2のオペランドならびに第1および第2の制御信号
を受け取り、第1および第2のオペランドならびに第1
および第2の制御信号に応答して正規化された指数を生
成する指数加算器回路を含む、請求項2のデータ・プロ
セッサ。 - 【請求項4】(a)加算器内で第1および第2のオペラ
ンドを受け取るステップと、(b)第1および第2のオ
ペランドの和に論理的に同等な結果を加算器内で生成す
るステップと、(c)第1および第2のオペランドに応
答し、結果内の先頭の1の位置と先頭の1の位置に隣接
する位置とを示す第1マスクを、第1マスク回路内で生
成するステップと、(d)第1マスクと結果とに応答
し、結果内の先頭の1の位置を示す第2マスクを、第1
マスク回路に結合された第2マスク回路内で生成するス
テップと、(e)第2マスク回路に結合された符号化回
路内で、第1および第2の制御信号を生成するステップ
と、(f)第1制御信号に応答する第1桁数だけ結果を
シフトし、シフトされた結果を生成する、符号化回路に
結合された第1マルチプレクサ内で、結果をシフトする
ステップと、(g)第2制御信号に応答する第2桁数だ
け結果をシフトし、正規化された結果を生成する、符号
化回路と第1マルチプレクサとに結合された第2マルチ
プレクサ内で、シフトされた結果をシフトするステップ
とを含む、結果を正規化する方法。 - 【請求項5】さらに、符号化回路に結合され、第1およ
び第2のオペランドならびに第1および第2の制御信号
を受け取る指数加算器回路内で、第1および第2のオペ
ランドならびに第1および第2の制御信号に応答する正
規化された指数を生成するステップを含む、請求項4の
方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US161361 | 1993-12-06 | ||
| US08/161,361 US5392228A (en) | 1993-12-06 | 1993-12-06 | Result normalizer and method of operation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07225671A true JPH07225671A (ja) | 1995-08-22 |
| JP2662196B2 JP2662196B2 (ja) | 1997-10-08 |
Family
ID=22580882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6300015A Expired - Lifetime JP2662196B2 (ja) | 1993-12-06 | 1994-12-02 | 演算結果正規化方法及び装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5392228A (ja) |
| EP (1) | EP0657805A1 (ja) |
| JP (1) | JP2662196B2 (ja) |
| KR (1) | KR100239029B1 (ja) |
| TW (1) | TW236012B (ja) |
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5537538A (en) * | 1993-12-15 | 1996-07-16 | Silicon Graphics, Inc. | Debug mode for a superscalar RISC processor |
| US5751621A (en) * | 1994-11-17 | 1998-05-12 | Hitachi, Ltd. | Multiply-add unit and data processing apparatus using it |
| US5583805A (en) * | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Floating-point processor having post-writeback spill stage |
| US5550768A (en) * | 1995-01-31 | 1996-08-27 | International Business Machines Corporation | Rounding normalizer for floating point arithmetic operations |
| US5867407A (en) * | 1995-06-30 | 1999-02-02 | Digital Equipment Corporation | Normalization shift prediction independent of operand substraction |
| US5633819A (en) * | 1995-10-24 | 1997-05-27 | Exponential Technology, Inc. | Inexact leading-one/leading-zero prediction integrated with a floating-point adder |
| US5841683A (en) * | 1996-09-20 | 1998-11-24 | International Business Machines Corporation | Least significant bit and guard bit extractor |
| US5996066A (en) * | 1996-10-10 | 1999-11-30 | Sun Microsystems, Inc. | Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions |
| US5844826A (en) * | 1996-10-18 | 1998-12-01 | Samsung Electronics Co., Ltd. | Leading zero count circuit |
| US5957997A (en) * | 1997-04-25 | 1999-09-28 | International Business Machines Corporation | Efficient floating point normalization mechanism |
| US7197625B1 (en) * | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
| US5864703A (en) | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
| US6275839B1 (en) | 1998-09-22 | 2001-08-14 | International Business Machines Corporation | Method and system for immediate exponent normalization in a fast floating point adder |
| US7242414B1 (en) | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
| US6732259B1 (en) | 1999-07-30 | 2004-05-04 | Mips Technologies, Inc. | Processor having a conditional branch extension of an instruction set architecture |
| US6542915B1 (en) * | 1999-06-17 | 2003-04-01 | International Business Machines Corporation | Floating point pipeline with a leading zeros anticipator circuit |
| US6714197B1 (en) | 1999-07-30 | 2004-03-30 | Mips Technologies, Inc. | Processor having an arithmetic extension of an instruction set architecture |
| US6697832B1 (en) | 1999-07-30 | 2004-02-24 | Mips Technologies, Inc. | Floating-point processor with improved intermediate result handling |
| US6912559B1 (en) | 1999-07-30 | 2005-06-28 | Mips Technologies, Inc. | System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit |
| US6631392B1 (en) | 1999-07-30 | 2003-10-07 | Mips Technologies, Inc. | Method and apparatus for predicting floating-point exceptions |
| US7346643B1 (en) * | 1999-07-30 | 2008-03-18 | Mips Technologies, Inc. | Processor with improved accuracy for multiply-add operations |
| US6996596B1 (en) | 2000-05-23 | 2006-02-07 | Mips Technologies, Inc. | Floating-point processor with operating mode having improved accuracy and high performance |
| US6675376B2 (en) * | 2000-12-29 | 2004-01-06 | Intel Corporation | System and method for fusing instructions |
| US7162621B2 (en) | 2001-02-21 | 2007-01-09 | Mips Technologies, Inc. | Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration |
| US7599981B2 (en) | 2001-02-21 | 2009-10-06 | Mips Technologies, Inc. | Binary polynomial multiplier |
| US7711763B2 (en) * | 2001-02-21 | 2010-05-04 | Mips Technologies, Inc. | Microprocessor instructions for performing polynomial arithmetic operations |
| US7181484B2 (en) * | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
| US20040153484A1 (en) * | 2003-01-31 | 2004-08-05 | Takahiro Unno | Fixed-point filter and method |
| US7698353B2 (en) * | 2005-09-14 | 2010-04-13 | Freescale Semiconductor, Inc. | Floating point normalization and denormalization |
| US9690591B2 (en) * | 2008-10-30 | 2017-06-27 | Intel Corporation | System and method for fusing instructions queued during a time window defined by a delay counter |
| US9317291B2 (en) * | 2013-02-14 | 2016-04-19 | International Business Machines Corporation | Local instruction loop buffer utilizing execution unit register file |
| WO2014154917A1 (es) * | 2013-03-27 | 2014-10-02 | Intel Corporation | Mecanismo para facilitar la fusión dinámica y eficaz de instrucciones informáticas en programas de software |
| JP6351033B2 (ja) * | 2014-06-10 | 2018-07-04 | 本田技研工業株式会社 | 浮動小数点演算装置、プログラム、及び演算装置 |
| US10606557B2 (en) * | 2016-12-06 | 2020-03-31 | Arm Limited | Leading zero anticipation |
| GB2587040B (en) * | 2020-02-28 | 2022-03-02 | Imagination Tech Ltd | Look ahead normaliser |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59226944A (ja) * | 1983-06-09 | 1984-12-20 | Fujitsu Ltd | 浮動小数点デ−タ加減算方式 |
| JPS60222931A (ja) * | 1984-04-20 | 1985-11-07 | Fujitsu Ltd | 浮動小数点デ−タ乗算回路 |
| JPH01211026A (ja) * | 1988-02-18 | 1989-08-24 | Matsushita Electric Ind Co Ltd | 正規化シフト数決定装置 |
| JPH0357019A (ja) * | 1989-07-26 | 1991-03-12 | Toshiba Corp | 浮動小数点データ加減算回路 |
| JPH0553759A (ja) * | 1991-08-22 | 1993-03-05 | Nec Corp | 固定小数点演算ユニツト |
| JPH06236252A (ja) * | 1992-01-06 | 1994-08-23 | Intel Corp | 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4758974A (en) * | 1985-01-29 | 1988-07-19 | American Telephone And Telegraph Company, At&T Bell Laboratories | Most significant digit location |
| US5027308A (en) * | 1989-02-14 | 1991-06-25 | Intel Corporation | Circuit for adding/subtracting two floating point operands |
| JP2831729B2 (ja) * | 1989-09-30 | 1998-12-02 | 株式会社東芝 | プライオリティエンコーダおよび浮動小数点正規化装置 |
| US5204825A (en) * | 1991-08-30 | 1993-04-20 | Weitek Corporation | Method and apparatus for exact leading zero prediction for a floating-point adder |
| US5343413A (en) * | 1992-07-06 | 1994-08-30 | Matsushita Electric Industrial Co., Ltd. | Leading one anticipator and floating point addition/subtraction apparatus |
| US5317527A (en) * | 1993-02-10 | 1994-05-31 | Digital Equipment Corporation | Leading one/zero bit detector for floating point operation |
-
1993
- 1993-12-06 US US08/161,361 patent/US5392228A/en not_active Expired - Fee Related
-
1994
- 1994-03-25 TW TW083102653A patent/TW236012B/zh active
- 1994-12-02 JP JP6300015A patent/JP2662196B2/ja not_active Expired - Lifetime
- 1994-12-03 KR KR1019940032715A patent/KR100239029B1/ko not_active Expired - Fee Related
- 1994-12-06 EP EP94309074A patent/EP0657805A1/en not_active Withdrawn
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59226944A (ja) * | 1983-06-09 | 1984-12-20 | Fujitsu Ltd | 浮動小数点デ−タ加減算方式 |
| JPS60222931A (ja) * | 1984-04-20 | 1985-11-07 | Fujitsu Ltd | 浮動小数点デ−タ乗算回路 |
| JPH01211026A (ja) * | 1988-02-18 | 1989-08-24 | Matsushita Electric Ind Co Ltd | 正規化シフト数決定装置 |
| JPH0357019A (ja) * | 1989-07-26 | 1991-03-12 | Toshiba Corp | 浮動小数点データ加減算回路 |
| JPH0553759A (ja) * | 1991-08-22 | 1993-03-05 | Nec Corp | 固定小数点演算ユニツト |
| JPH06236252A (ja) * | 1992-01-06 | 1994-08-23 | Intel Corp | 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5392228A (en) | 1995-02-21 |
| JP2662196B2 (ja) | 1997-10-08 |
| TW236012B (en) | 1994-12-11 |
| KR100239029B1 (ko) | 2000-01-15 |
| EP0657805A1 (en) | 1995-06-14 |
| KR950020084A (ko) | 1995-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2662196B2 (ja) | 演算結果正規化方法及び装置 | |
| US5357237A (en) | In a data processor a method and apparatus for performing a floating-point comparison operation | |
| US6099158A (en) | Apparatus and methods for execution of computer instructions | |
| US5272660A (en) | Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor | |
| CA1184664A (en) | Floating point addition architecture | |
| US6108772A (en) | Method and apparatus for supporting multiple floating point processing models | |
| US5631859A (en) | Floating point arithmetic unit having logic for quad precision arithmetic | |
| TWI405126B (zh) | 微處理器及其執行指令之方法 | |
| US4941120A (en) | Floating point normalization and rounding prediction circuit | |
| JPH06236257A (ja) | データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置 | |
| EP0530372B1 (en) | Numerical expression converter and vector processor using the same | |
| JPH02138620A (ja) | 数値量を計算する方法および数値データ処理装置 | |
| JPH11511579A (ja) | 浮動小数点処理装置のためのリザベーションステーション | |
| US4815021A (en) | Multifunction arithmetic logic unit circuit | |
| US5247471A (en) | Radix aligner for floating point addition and subtraction | |
| JPH09212337A (ja) | 浮動小数点演算処理装置 | |
| US20260104858A1 (en) | Arithmetic processing apparatus, processor, and computer-implemented arithmetic method | |
| US6542915B1 (en) | Floating point pipeline with a leading zeros anticipator circuit | |
| EP0551531A1 (en) | Apparatus for executing ADD/SUB operations between IEEE standard floating-point numbers | |
| US6598065B1 (en) | Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal | |
| JP3391448B2 (ja) | 除算器 | |
| US7003540B2 (en) | Floating point multiplier for delimited operands | |
| JP2555135B2 (ja) | 演算回路 | |
| US11704092B2 (en) | High-precision anchored-implicit processing | |
| JP3522387B2 (ja) | パイプライン演算装置 |