【誤訳訂正書】
【提出日】平成23年3月2日(2011.3.2)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
入力ベクトルに作用する命令の発行を制御するシーケンサと、
前記シーケンサに連結され、符号フィールド、仮数フィールド、および指数フィールドを含む拡張内部形式および一連の乗加算演算を利用して、前記入力ベクトルの拡張浮動小数点（ＦＰ）関数あるいは一の整数演算を計算する混合モード浮動小数点（ＦＰ）パイプラインと、を含み、
前記混合モードＦＰパイプラインは前記シーケンサに対応するパイプライン状態、およびＦＰ結果を生成し、
前記シーケンサは、前記パイプライン状態に応じて前記入力ベクトルに作用する前記命令の発行を制御する、装置。
【請求項２】
前記混合モードＦＰパイプラインに連結され、前記ＦＰ結果を出力ベクトルにアセンブルするアセンブリ部をさらに含む、請求項１に記載の装置。
【請求項３】
前記シーケンサは、
複数の入力ベクトルと複数の命令とを記憶する入力キューと、
前記入力キューに連結され、前記入力キューから取得された前記入力ベクトルをディスパッチし、前記混合モードＦＰパイプラインの前記パイプライン状態により前記命令を発行する制御回路と、を含む、請求項２に記載の装置。
【請求項４】
前記混合モードＦＰパイプラインは、
融合型乗加算演算を行う乗加算回路と、
前記ＦＰ結果を前記ＦＰパイプラインの入力へ再循環させるフィードバック経路と、
複数のＦＰモードを制御し、命令が前記フィードバック経路内を再循環しているか否かを示す前記パイプライン状態を生成する状態パイプラインと、を含む、請求項３に記載の装置。
【請求項５】
前記パイプライン状態が前記フィードバック経路内に再循環している命令がないことを示している場合、前記制御回路は前記入力キューから前記命令を発行する、請求項４に記載の装置。
【請求項６】
前記パイプライン状態が、前記命令が前記フィードバック経路内を再循環していることを示している場合、前記制御回路は前記フィードバック経路からの前記命令を再発行する、請求項４に記載の装置。
【請求項７】
前記パイプライン状態が前記フィードバック経路内に再循環している命令がないことを示している場合、前記アセンブリ部は前記ＦＰ結果を出力バッファに書き込む、請求項４に記載の装置。
【請求項８】
前記拡張内部形式は、仮数／指数拡張表現を有する、請求項１から７のいずれか一項に記載の装置。
【請求項９】
前記拡張内部形式は、符号ビット、３２ビットの仮数、および１０ビットの指数を含む、請求項８に記載の装置。
【請求項１０】
シーケンサにより、入力ベクトルに作用する命令の発行を制御することと、
パイプライン状態およびＦＰ結果を生成する混合モードＦＰパイプラインにより、一連の乗加算演算を利用して、前記入力ベクトルの拡張浮動小数点（ＦＰ）関数あるいは整数演算を計算することと、
前記シーケンサにより、前記パイプライン状態に応じて前記入力ベクトルに作用する前記命令の発行を制御することとを含む、方法。
【請求項１１】
アセンブリ部により、前記ＦＰ結果を出力ベクトルにアセンブルすることをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記命令の発行を制御することは、
複数の入力ベクトルと複数の命令とを入力キューに記憶することと、
前記入力キューから取得された前記入力ベクトルをディスパッチすることと、
前記混合モードＦＰパイプラインの前記パイプライン状態により前記命令を発行することと、を含む、請求項１１に記載の方法。
【請求項１３】
前記計算することは、
融合型乗加算演算を行うことと、
フィードバック経路内で、前記ＦＰ結果を前記ＦＰパイプラインの入力へ再循環させることと、
複数のＦＰモードを制御することと、
命令が前記フィードバック経路内を再循環しているか否かを示すべく前記パイプライン状態を生成することと、を含む、請求項１２に記載の方法。
【請求項１４】
前記命令を発行することは、
前記パイプライン状態が前記フィードバック経路内に再循環している命令がないことを示している場合、前記入力キューから前記命令を発行することを含む、請求項１３に記載の方法。
【請求項１５】
前記命令を発行することは、
前記パイプライン状態が、前記命令が前記フィードバック経路内を再循環していることを示している場合、前記フィードバック経路からの前記命令を再発行することを含む、請求項１３に記載の方法。
【請求項１６】
前記アセンブルすることは、
前記パイプライン状態が前記フィードバック経路内に再循環している命令がないことを示している場合、前記ＦＰ結果を出力バッファに書き込むことを含む、請求項１３に記載の方法。
【請求項１７】
グラフィックデータをプロセスするグラフィック制御器と、
前記グラフィック制御器に連結され、前記グラフィックデータを記憶するメモリと、
前記グラフィック制御器に連結され、前記グラフィックデータに対して複数の浮動小数点演算を行う一の浮動小数点演算部（ＦＰＵ）と、を含み、
前記ＦＰＵは、
入力ベクトルに作用する命令の発行を制御するシーケンサと、
前記シーケンサに連結され、符号フィールド、仮数フィールド、および指数フィールドを含む拡張内部形式および一連の乗加算演算を利用して、前記入力ベクトルの拡張浮動小数点（ＦＰ）関数あるいは整数演算を計算する混合モード浮動小数点（ＦＰ）パイプラインと、を含み、
前記混合モードＦＰパイプラインは前記シーケンサに対するパイプライン状態、およびＦＰ結果を生成し、
前記シーケンサは、前記パイプライン状態に応じて前記入力ベクトルに作用する前記命令の発行を制御する、システム。
【請求項１８】
前記混合モードＦＰパイプラインに連結され、前記ＦＰ結果を出力ベクトルにアセンブルするアセンブリ部をさらに含む、請求項１７に記載のシステム。
【請求項１９】
前記シーケンサは、
複数の入力ベクトルと複数の命令とを記憶する入力キューと、
前記入力キューに連結され、前記入力キューから取得された前記入力ベクトルをディスパッチし、前記混合モードＦＰパイプラインの前記パイプライン状態により前記命令を発行する制御回路と、を含む、請求項１７または１８に記載のシステム。
【請求項２０】
前記混合モードＦＰパイプラインは、
融合型乗加算演算を行う乗加算回路と、
前記ＦＰ結果を前記ＦＰパイプラインの入力へ再循環させるフィードバック経路と、
複数のＦＰモードを制御し、命令が前記フィードバック経路内を再循環しているか否かを示す前記パイプライン状態を生成する状態パイプラインと、を含む、請求項１７から１９のいずれか一項に記載のシステム。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】拡張関数を持つ混合モード浮動小数点パイプライン
【技術分野】
【０００１】
本発明の実施形態は、マイクロプロセッサ分野に関しており、より具体的には、浮動小数点演算部に関する。
【背景技術】
【０００２】
浮動小数点（ＦＰ）演算は、三次元（３‐Ｄ）コンピュータグラフィック、画像処理、デジタル信号処理、天気予報、宇宙探索、地震処理、および数値解析などの多くの計算領域で益々普及してきている。コンピュータシステムにおけるＦＰ計算力を高めるべく、特別に設計された浮動小数点演算部が開発されている。ＦＰ利用の多くには拡張関数の計算が関わる。拡張関数の例には、三角関数、指数・対数関数、平方根、逆数平方根、逆数（inverse）、除算、および、べき関数などがある。
【０００３】
ＦＰ拡張関数を計算する既存の技術は、幾らもの欠点を持つ。これら技術は、テーブルから得られる値の補間から、ＣＯＲＤＩＣ（Ｃｏｏｒｄｉｎａｔｅ  Ｒｏｔａｔｉｏｎ  Ｄｉｇｉｔａｌ  Ｃｏｍｐｕｔｅｒ）技術などの反復アルゴリズムまで、幅広い範囲に亘る。これら技術は専門的回路を持つ専門的なハードウェアを必要としうる。これらは典型的に高価であり、幅広い範囲の拡張関数に対応できるだけの柔軟性がない。
【図面の簡単な説明】
【０００４】
本発明の実施形態は、本発明の実施形態の例示に利用される以下の記載と関連する図面とを参照することで最大限に理解されるであろう。図面は以下を示す。
【０００５】
【図１Ａ】本発明の一実施形態を実施可能な処理システムを示す図である。
【０００６】
【図１Ｂ】本発明の一実施形態を実施可能なグラフィックシステムを示す図である。
【発明を実施するための形態】
【０００７】
本発明の一実施形態は、混合モード浮動小数点（ＦＰ）演算および拡張ＦＰ関数の実行に関する。シーケンサは、入力ベクトルに作用する命令の発行を制御する。混合モードＦＰパイプラインは、拡張内部形式および一連の乗加算演算を利用して、入力ベクトルの拡張ＦＰ関数あるいは整数演算を計算する。混合モードＦＰパイプラインは、シーケンサに対するパイプライン状態、およびＦＰ結果を生成する。
【０００８】
以下の記載において、幾多の具体的詳細を述べる。しかし、本発明の実施形態はこれら具体的詳細なしに実施されうることは理解されたい。他の場合においては、公知の回路、構造、技術は示さないで本開示の理解を曖昧にしないようにしている。
【０００９】
本発明の一実施形態は、通常フローチャート、フロー図、構造図、あるいはブロック図として描かれるプロセスとして記載することができる。フローチャートは操作を逐次プロセスとして記載しているが、多くの操作は並列的にあるいは同時に行うことができる。さらに、操作順序は配列し直してもよい。プロセスは、その操作が完成したときに終了される。一つのプロセスは方法、プログラム、手順、製造・製作方法に対応していてよい。
【００１０】
本発明の一実施形態は、混合モードＦＰ演算を効率的に行う技術である。混合モードによりＦＰ／整数演算両方が可能となる。これは、ＦＰ／整数表現に準拠した拡張内部形式を利用することで達成されうる。本技術はさらに、三角関数、指数、対数、平方根、および、べき関数などの拡張関数の効率的な計算を可能とする。拡張関数計算は、Ｙ＝ＡｘＢ＋Ｃ形式の式を計算する基本的な乗加算（ＭＡＤ）命令を利用する多項式近似法に基づく。
【００１１】
典型的な多項式近似法は、範囲減少段階、近似段階、および復元段階という三段階に分けられうる。範囲減少段階では、引き数を減少範囲に存在する値に変換する。近似段階では、範囲が減少した引き数の関数の多項式近似を行う。復元段階では、最終結果を所定の定数（単数あるいは複数）で構成して、原範囲を復元する。典型的に、範囲減少段階および復元段階は単純であり、効率的に実施することができる。これらは、単純なマスキング、比較、あるいは低次多項式計算を含みうる。近似段階は、多項式がかなり高次元でありうるので（例えば２０を超える）、最も時間がかかる。
【００１２】
近似段階において、Ｈｏｒｎｅｒ法を利用して乗加算式を因数分解し（factor out）、乗算数を減らすことがある。例えば、四次元多項式ｙ＝ａｘ４＋ｂｘ３＋ｃｘ２＋ｄｘ＋ｅは、以下のように評価できる。
ｙ＝（（（ａｘ＋ｂ）ｘ＋ｃ）ｘ＋ｄ）ｘ＋ｅ  ・・・（１）
【００１３】
上記の式の評価には、基本的に４個のＭＡＤ命令のみが必要となる。
Ａ＝ａｘ＋ｂ  ・・・（２ａ）
Ｂ＝Ａｘ＋ｃ  ・・・（２ｂ）
Ｃ＝Ｂｘ＋ｄ  ・・・（２ｃ）
Ｄ＝Ｃｘ＋ｅ＝ｙ  ・・・（２ｄ）
【００１４】
概して、ｎ次元多項式は以下の通りである。
ｆ（ｘ）＝ａ０ｘｎ＋ａ１ｘｎ−１＋...＋ａｋｘｎ−ｋ＋ａｋ＋１  ・・・（３）
【００１５】
多項式の評価は、各演算が新たな係数ａｉ（ｉ＝０，...，ｋ）を含むｎ個のＭＡＤ演算を行うことで効率的に実行することができる。
【００１６】
幾らかの拡張関数を計算する別の技法に、ニュートン−ラプソン法がある。逆数を近似するのに利用される共通方程式は、以下の通りである。
ｘｉ＝ｘｉ−１（２−ａｘｉ−１）  ・・・（４）
【００１７】
この再帰方程式は、２つのＭＡＤ演算で評価されうる。同様の方程式を利用して、逆数平方根、繰り返し（reciprocation）を利用する除算などを近似することができることは本技術分野で公知な通りである。
【００１８】
本発明の一実施形態は、一連のＭＡＤ部を持つパイプラインを提供することである。多数のＭＡＤ部が連続してカスケード接続されてもよく（cascaded in series）、あるいは単一のＭＡＤ部を利用してもよい。これらカスケード接続されたＭＡＤ部あるいは単一のＭＡＤ部に対して発行される演算は、望ましい結果を得ることを目的として何回でも必要な回数繰り返されてよい。この繰り返しは、部の出力をその入力へ再循環させるフィードバック経路を提供することで達成されてよい。
【００１９】
図１Ａは、本発明の一実施形態を実施可能な処理システムを示す図である。システム１０は、プロセッサ部１５、浮動小数点演算部（ＦＰＵ）２０、メモリ制御器ハブ（ＭＣＨ）２５、メインメモリ３０、入出力制御ハブ（ＩＯＨ）４０、インターコネクト４５、大容量記憶デバイス５０、および入出力（Ｉ／Ｏ）デバイス４７１〜４７ｋを含む。
【００２０】
プロセッサ部１５は、ハイパスレッディング（hyper threading）、セキュリティ、ネットワーク、デジタルメディア技術を利用するプロセッサ、シングルコアプロセッサ、マルチコアプロセッサ、埋め込みプロセッサ、携帯プロセッサ、マイクロ制御器、デジタル信号プロセッサ、スーパスケーラコンピュータ、ベクトルプロセッサ、単一命令多重データ処理（ＳＩＭＤ）コンピュータ、複雑命令セットコンピュータ（ＣＩＳＣ）、縮小命令セットコンピュータ（ＲＩＳＣ）、超長命令語（ＶＬＩＷ）、あるいは混合アーキテクチャなどの任意の種類のアーキテクチャの中央処理装置を表す。
【００２１】
ＦＰＵ２０は、ベクトル処理について浮動小数点演算を行う双対プロセッサである。これは、プロセッサ部１５に対して直接インタフェースをもつこともあり、プロセッサ部１５との間で、メモリスペースなどのシステム資源を共有することもある。プロセッサ部１５およびＦＰＵ２０はベクトルデータおよびＦＰ命令を含む命令およびデータを交換してよい。ＦＰＵ２０はさらに、プロセッサ部１５のアドレススペースを占有する入出力（Ｉ／Ｏ）プロセッサとして見ることもできる。それはさらに、プロセッサ部１５に直接インタフェースされるのでなく、ＭＣＨ２５にインタフェースされてもよい。それは、スカラおよびベクトル処理用の混合モードＦＰパイプラインを持つ高度に拡張可能なアーキテクチャを利用する。
【００２２】
ＭＣＨ２５は、メインメモリ３０およびＩＣＨ４０などのメモリおよび入出力デバイスに対して制御および構成を提供する。ＭＣＨ２５は、グラフィック、メディア、隔離実行モード、ホストから周辺へのバスインタフェース（host-to-peripheral bus interface）、メモリ制御、電源管理、などの多数の機能を統合したチップセットに統合することもできる。ＭＣＨ２５あるいはＭＣＨ２５のメモリ制御機能はプロセッサ部１５に統合することもできる。幾らかの実施形態においては、メモリ制御器は、プロセッサ部１５の内部、外部にあるに関わらず、プロセッサ部１５の全てのコアあるいはプロセッサのために作動してよい。その他の実施形態においては、それはプロセッサ部１５の異なるコアあるいはプロセッサについて別個に作動する異なる部分を含むこともできる。
【００２３】
メインメモリ３０はシステムコードおよびデータを記憶する。メインメモリ３０は典型的にダイナミックＲＡＭ（ＤＲＡＭ）、エスラム（ＳＲＡＭ）、あるいは、リフレッシュされる必要のないものを含む任意の他の種類のメモリとともに実装される。メインメモリ３０はプロセッサ部１５に対して、あるいはプロセッサ部１５およびＦＰＵ２０の両方に対してアクセスすることができてよい。
【００２４】
ＩＣＨ４０は、入出力機能のサポートを意図した幾らかの機能を持つ。ＩＣＨ４０はさらに、ＭＣＨ２０と共にあるいはＭＣＨ２０とは別個にチップセットに統合され、入出力機能を行ってよい。ＩＣＨ４０は、周辺構成要素相互接続（ＰＣＩ）バスインタフェース、プロセッサインタフェース、割込み制御器、直接メモリアクセス（ＤＭＡ）制御器、電源管理ロジック、タイマ、システム管理バス（ＳＭＢｕｓ）、ユニバーサルシリアルバス（ＵＳＢ）インタフェース、大容量記憶インタフェース、低ピンカウント（ＬＰＣ）インタフェースなどの幾らかものインタフェースおよび入出力機能を含んでよい。
【００２５】
インターコネクト４５は、周辺デバイスに対してインタフェースを提供する。インターコネクト４５はポイントツーポイントであっても、多数のデバイスに接続されていてもよい。明確化の目的から、全てのインターコネクトは示していない。インターコネクト４５は周辺構成要素インターコネクト（ＰＣＩ）、ＰＣＩエクスプレス、ユニバーサルシリアルバス（ＵＳＢ）、および直接メディアインタフェース（ＤＭＩ）などの任意のインターコネクトあるいはバスを含んでよいと考えられる。
【００２６】
大容量記憶デバイス５０は、コード、プログラム、ファイル、データ、およびアプリケーションなどのアーカイブ情報を記憶する。大容量記憶デバイス５０は、コンパクトディスク（ＣＤ）、読出し専用記憶素子（ＲＯＭ）５２、デジタルビデオ／バーサタイルディスク（ＤＶＤ）５３、フロッピードライブ５４、およびハードドライブ５６、および任意のほかの磁気性あるいは光学性の記憶デバイスを含んでよい。大容量記憶デバイス５０は機械アクセス可能な媒体を読み取るメカニズムを提供する。入出力デバイス４７１〜４７ｋは、入出力機能を遂行する任意の入出力デバイスを含んでよい。入出力デバイス４７１〜４７ｋの例には、入力デバイス（例えば、キーボード、マウス、トラックボール、ポインティングデバイス）の制御器、メディアカード（音声、ビデオ、グラフィック）、ネットワークカード、および任意のほかの周辺制御器が含まれる。
【００２７】
図１Ｂは、本発明の一実施形態を実施可能なグラフィックシステム６０を示す図である。グラフィックシステム６０は、グラフィック制御器６５、浮動小数点演算部（ＦＰＵ）７０、メモリ制御器７５、メモリ８０、ピクセルプロセッサ８５、表示プロセッサ９０、デジタル／アナログ変換器（ＤＡＣ）９５、および表示モニタを含む。
【００２８】
グラフィック制御器６５は、ファストラインドローイング（fast line drawing）、二次元（２−Ｄ）および三次元（３−Ｄ）グラフィックレンダリング機能、シェーディング、エイリアス除去、ポリゴンレンダリング、透過効果（transparency effect）、色空間変換、アルファブレンディング、彩度キーイング（chroma keying）などのグラフィック操作を行うグラフィック機能を持つ任意のプロセッサである。ＦＰＵ７０は基本的に図１Ａに示したＦＰＵ２０に類似しており、グラフィックデータに浮動小数点演算を行う。それは、ＦＰ命令およびＦＰベクトル入力をグラフィック制御器６５から受け取り、ＦＰ結果をグラフィック制御器６５へ戻してよい。メモリ制御器７５は、図１ＡのＭＣＨ２５に類似したメモリ制御機能を行う。メモリ８０は、グラフィック制御器６０およびＦＰＵ７０が処理した命令およびグラフィックデータの記憶目的で、ＳＲＡＭあるいはＤＲＡＭメモリデバイスを含む。
【００２９】
ピクセルプロセッサ８５は、幾何学計算（geometry calculation）、アフィン変換、モデルビュープロジェクション（model view projections）、３‐Ｄクリッピングなどの、特定の複雑なグラフィック機能を行うことのできる専門的なグラフィックエンジンである。ピクセルプロセッサ８５はさらに、メモリ制御器７０にインタフェースされて、メモリ８０および／またはグラフィック制御器６５にアクセスする。表示プロセッサ９０はグラフィックデータの表示を処理し、パレットテーブル索引、同期、バックライト制御器、ビデオ処理などの、表示に関する機能を行う。ＤＡＣ９５はデジタル表示デジタルデータをアナログビデオ信号に変換して、表示モニタ９７へ送る。表示モニタ９７は、視聴目的で画面にグラフィック情報を表示する任意の表示モニタである。表示モニタは陰極線管（ＣＲＴ）モニタ、テレビ（ＴＶ）セット、液晶ディスプレイ（ＬＣＤ）、フラットパネル、あるいはデジタルＣＲＴであってよい。
【００３０】
続いて、本発明の一実施形態による、ＦＰＵ２０／７０について説明する。ＦＰＵ２０／７０はシーケンサ２１０、混合モードＦＰパイプライン２２０、およびアセンブリ部２３０を含む。
【００３１】
シーケンサ２１０は、入力ベクトルに作用する命令の発行を制御する。入力ベクトルは、プロセッサ部１５（図１Ａ）あるいはグラフィック制御器６５（図１Ｂ）などの外部ユニットあるいはプロセッサにより提供されてよい。シーケンサ２１０は入力キュー２１２および制御回路２１４を含む。入力キュー２１２は幾らもの入力ベクトルおよび命令を記憶する。その深さは、スループットおよび処理要件に応じて任意の適切な深さであってよい。それは、先入れ先出し（ＦＩＦＯ）あるいは任意のほかの記憶アーキテクチャにより実施されてよい。各入力ベクトルはＮ個のスカラ構成要素を含むことができる（Ｎは任意の正の整数を示す）。各スカラ構成要素はＦＰ数あるいは整数であってよい。スカラ構成要素の形式は、混合モードＦＰパイプライン２２０の内部形式に準拠する。制御回路２１４は入力キュー２１２から取得した入力ベクトルをディスパッチして、混合モードＦＰパイプライン２２０のパイプライン状態に応じて入力ベクトルに関する命令を発行する。
【００３２】
混合モードＦＰパイプライン２２０は、入力ベクトルの拡張ＦＰ関数あるいは整数演算を、拡張内部形式２２５および一連の乗加算演算を利用して計算する。これにより、シーケンサ２２０に対してパイプライン状態が生成され、アセンブリ部２３０に対してＦＰ結果が生成される。拡張ＦＰ関数は、三角関数（タンジェント、サイン、コサイン、逆タンジェント、逆サイン、逆コサイン）、指数・対数関数、除算、平方根などの、任意の超越関数であってよい。整数演算は、整数加算、減算、乗算、除算などの任意の整数演算であってよい。
【００３３】
アセンブリ部２３０はＦＰ結果を出力ベクトルにアセンブルする。それは、アセンブラ２３２および出力バッファ２３４を含む。アセンブラ２３２は、入力ベクトルのスカラ構成要素の計算結果に対応しうるＦＰ結果を取得して、出力バッファの適切なスカラ位置に書き込む。全てのスカラ結果が出力バッファに書き込まれたら、完全な出力ベクトルが、プロセッサ部１５あるいはグラフィック制御器６５などの外部ユニットあるいはプロセッサにより読み出される。
【００３４】
続いて、本発明の一実施形態に係る混合モードＦＰパイプライン２２０について説明する。混合モードＦＰパイプライン２２０は、乗加算回路３１０、状態パイプライン３６０、およびクロック生成器３７０を含む。乗加算回路３１０は、多項式近似法を利用して拡張関数を計算する本発明の一実施形態を示すのに利用されていることに注意されたい。特定の実施例を変形して、ニュートン−ラプソン法を利用する計算法などの他の技法を取り入れることもできる。
【００３５】
乗加算回路３１０は一連の乗加算演算を行う。乗加算演算は、多項式近似技法を利用して拡張関数を計算する基本的な演算である。一実施形態においては、乗加算演算は乗算と加算の間に中間丸め（intermediate rounding）がないので、融合型乗加算演算である。典型的に、この演算は単一命令あるいは単一クロックで行われる。融合型乗加算演算は高い精度を可能とする。乗加算回路３１０はＮ  ＭＡＤ部３２０１〜３２０Ｎを含む（Ｎは１を含む任意の正の整数である）。Ｎ  ＭＡＤ部３２０１〜３２０Ｎは、典型的に同一であり連続してカスケード接続されることで多数のＭＡＤ演算を行う。最後のＭＡＤ部の出力は第一のＭＡＤ部の入力へ、フィードバック経路３５０を介して再循環により戻される。
【００３６】
ＭＡＤ部３２０ｉ（ｉ＝１，...，Ｎ）は、乗算器３３０ｉ、加算器３４０ｉ、および係数記憶部３４５ｉを含む。乗算器３３０１は、式（３）に示すような多項式ｆ（ｘ）の引き数ｘを表す一つの入力を持つ。第一の乗算器３３０１のその他の入力はフィードバック経路３５０に接続される。その他の乗算器全ては、前段の加算器の出力に接続される一つの入力、および係数記憶部に接続される第二の入力を持つ。加算器３４０ｉは乗算器３３０ｉの出力に係数記憶部３４５ｉの出力を加える。係数記憶部３４５ｉは、係数ａｉ（ｉ＝０，...，ｋ＋１）、式（３）の元の引き数ｘ、および演算を完成させる任意の必要な定数（１．０、０．０など）を記憶する。
【００３７】
状態パイプライン３６０は、乗加算回路３１０のＦＰ計算のためのＦＰモードを制御する。ＦＰモードは丸めモード、精度モード、例外処理、実行中の操作、現状などを含む。状態パイプライン３６０はさらに、命令がフィードバック経路３５０内を再循環しているか否かを示すパイプライン状態も生成する。パイプライン状態はシーケンサ２１０およびアセンブリ部２３０により利用され、命令発行が制御される。状態パイプライン３６０は、フィードバック経路３５０に対応するフィードバック経路３６５を有す。そのラテンシーは乗加算回路３１０のラテンシーに整合する。
【００３８】
クロック生成器３７０は、演算間を同期させるべく様々なクロック信号を生成する。例えば、ＭＡＤ部３２０１〜３２０Ｎは、データ伝播を制御すべくクロックされてよい。クロック制御器３７０はさらに、シーケンサ２１０およびアセンブリ部２３０に対してクロック信号を提供する。
【００３９】
続いて、本発明の一実施形態による、拡張内部形式２２５について説明する。拡張内部形式２２５は、電気電子技術者協会（ＩＥＥＥ）単精度形式などの、標準浮動小数点表現と比べられる拡張表現を有す。
【００４０】
拡張内部形式２２５は符号フィールド４１０、仮数フィールド４２０、および指数フィールド４３０を含む。符号フィールド４１０は数字の符号を示し、典型的に１ビットフィールドである。例えば、負の数には１であり、正の数には０である。仮数フィールド４２０は３２ビットを持ちうる。指数フィールド４３０は１０ビットを持ちうる。この表現により、長い整数の数字が仮数フィールド４２０に完全表示され、指数フィールド４３０は、仮数幅から１を減算したものに等しい固定値３１に設定される。
【００４１】
上述の拡張内部形式２２５は、標準単精度ＦＰ形式に比べて幾らかの利点を持つ。利点の幾らかを以下に記す。
●１０ビットの指数フィールド幅（標準単精度ＦＰ形式よりも２ビット広い）により、正常標準範囲外の値を表すことが可能となる。これは、最終結果はその範囲内にありうる計算中の中間値のオーバーフロー／アンダーフローを調節するのに役立つ。
●３２ビットの仮数フィールド幅が融合型ＭＡＤ部から得られる追加的精度と組み合わされることで、標準ＦＰ形式に比べてより大きな精度で関数を表すことができるようになる。これは、２ｙｌｏｇ２ｘ＝ｘｙを利用する対数および指数関数などの関数を評価する際に便利である。
●３２ビットの整数を、別個の専用整数ハードウェアあるいは回路の利用によるのではなく、同一のハードウェアの利用により表しうる。これにより、混合モード演算が可能となり、顕著にハードウェアの節約に繋がる。
●３２ビットの仮数および融合型ＭＡＤから得られる追加的精度により、追加的なニュートン−ラプソン反復による繰り返し（reciprocation）による除算が可能となる。ニュートン−ラプソン技法は二次収束する、つまり、反復毎に正確なビット数が二倍になる。故に、２４ビットのＦＰ近似の計算後には、この値はパイプラインを再循環して、４８ビット近似を得ることができ、これにさらに丸め処理を行われ３２ビットに戻る。
【００４２】
続いて、本発明の一実施形態による混合モード計算を行うプロセス５００について説明する。
【００４３】
ＳＴＡＲＴすると、プロセス５００が、入力ベクトルに作用する命令の発行を制御する（ブロック５１０）。そして、プロセス５００は、拡張ＦＰ関数あるいは整数演算を、混合モードＦＰパイプラインで拡張内部形式および一連の乗加算演算を利用することで計算する（ブロック５２０）。混合モードＦＰパイプラインは、パイプライン状態およびＦＰ結果を生成する。そして、プロセス５００はＦＰ結果を出力ベクトルにアセンブルして（ブロック５３０）、その後に終了する。
【００４４】
続いて、本発明の一実施形態による、命令発行を制御するプロセス５１０について説明する。
【００４５】
ＳＴＡＲＴすると、プロセス５１０は、入力キューに入力ベクトルと命令とを記憶する（ブロック６１０）。次に、プロセス５１０は、入力ベクトルをＦＰパイプラインへディスパッチする（ブロック６２０）。その後、プロセス５１０は、命令がフィードバック経路内を再循環しているか否か判断する（ブロック６３０）。これは、パイプライン状態をチェックすることで行われてよい。再循環していない場合、プロセス５１０は入力キューから次の命令を発行して（ブロック６４０）、その後に終了する。さもなくば、プロセス５１０は、フィードバック経路からの命令と同じ命令を再発行して（ブロック６５０）、その後に終了する。
【００４６】
続いて、本発明の一実施形態による、拡張ＦＰ関数あるいは整数演算を計算するプロセス５２０について説明する。
【００４７】
ＳＴＡＲＴすると、プロセス５２０は融合型乗加算演算を行う（ブロック７１０）。次に、プロセス５２０は、再循環が必要か判断する（ブロック７２０）。必要でない場合、プロセス５２０はブロック７４０へ進む。さもなくば、プロセス５２０はＦＰ結果をフィードバック経路に再循環させる（ブロック７３０）。そして、プロセス５２０はＦＰモードを制御する（ブロック７４０）。これには、丸めモード、精度モード、例外処理などの制御が含まれてよい。次にプロセス５２０は、命令がフィードバック経路内を再循環しているか否かを示すパイプライン状態を生成して（ブロック７５０）、その後に終了する。
【００４８】
続いて、本発明の一実施形態による、ＦＰ結果をアセンブルするプロセス５３０について説明する。
【００４９】
ＳＴＡＲＴすると、プロセス５３０は、ＦＰパイプラインの出力のＦＰ結果を取得する（ブロック８１０）。次に、プロセス５３０は、命令が完了しているか判断する（ブロック８２０）。これは、パイプライン状態をチェックすることで達成されてよい。フィードバック経路に再循環がない場合、命令は完了している。さもなくば、命令はまだ完了していない。
【００５０】
命令が完了していない場合、プロセス５３０はフィードバック経路からの命令を再発行して（ブロック８３０）、その後ブロック８１０に戻り、次のＦＰ結果を取得し続ける。さもなくば、プロセス５３０はＦＰ結果を、ベクトルのスカラ位置に対応する出力バッファの適切な位置に書き込む（ブロック８４０）。そして、プロセス５３０は、出力ベクトルが完了しているか判断する（ブロック８５０）。完了していない場合、プロセス５３０はブロック８１０に戻り、次のＦＰ結果を取得し続ける。さもなくば、プロセス５３０は終了する。
【００５１】
本発明を幾らかの実施形態により記載してきたが、当業者にとっては本発明が記載された実施形態に限定されず、付随の請求項の精神および範囲内において変更および変形を加えて実施されうることが理解されよう。故に開示は限定としてでなく例示として見なされるべきである。
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】図２
【訂正方法】削除
【訂正の内容】
【誤訳訂正４】
【訂正対象書類名】図面
【訂正対象項目名】図３
【訂正方法】削除
【訂正の内容】
【誤訳訂正５】
【訂正対象書類名】図面
【訂正対象項目名】図４
【訂正方法】削除
【訂正の内容】
【誤訳訂正６】
【訂正対象書類名】図面
【訂正対象項目名】図５
【訂正方法】削除
【訂正の内容】
【誤訳訂正７】
【訂正対象書類名】図面
【訂正対象項目名】図６
【訂正方法】削除
【訂正の内容】
【誤訳訂正８】
【訂正対象書類名】図面
【訂正対象項目名】図７
【訂正方法】削除
【訂正の内容】
【誤訳訂正９】
【訂正対象書類名】図面
【訂正対象項目名】図８
【訂正方法】削除
【訂正の内容】