[go: up one dir, main page]

JP2005018759A - 2の浮動小数点数乗の概算を実施するための方法および装置 - Google Patents

2の浮動小数点数乗の概算を実施するための方法および装置 Download PDF

Info

Publication number
JP2005018759A
JP2005018759A JP2004173184A JP2004173184A JP2005018759A JP 2005018759 A JP2005018759 A JP 2005018759A JP 2004173184 A JP2004173184 A JP 2004173184A JP 2004173184 A JP2004173184 A JP 2004173184A JP 2005018759 A JP2005018759 A JP 2005018759A
Authority
JP
Japan
Prior art keywords
floating
point
result
bits
fractional
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
JP2004173184A
Other languages
English (en)
Inventor
Gordon C Fossum
ゴードン・シー・フォッサム
Stephen J Schwinn
ステファン・ジェイ・シュウィン
S Schmuker Martin
マーティン・エス・シュムーカー
Matthew R Tubbs
マシュー・アール・タブス
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005018759A publication Critical patent/JP2005018759A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/544Methods 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 for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】汎用の浮動小数点プロセッサにおいて2のべき乗の概算関数を実装するための方法および装置を提供すること。
【解決手段】浮動小数点数はメモリ内に格納される。浮動小数点数は、符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む。浮動小数点命令に応答して、仮数を指数ビットに基づいて整数部と小数部に分割する。浮動小数点結果は、浮動小数点数の整数部を浮動小数点結果のバイアスの掛からない指数として割り当て、浮動小数点数の小数部を浮動小数点結果の小数部に変換するための組み合せ論理ハードウェアを利用することによって提供される。
【選択図】図1

Description

本発明は一般に、データ処理の分野に関し、より詳細には、例えば、汎用の浮動小数点プロセッサ内に、2のべき乗の概算関数(estimation function)を実装するための方法および装置に関する。
2のべき乗関数などの指数関数が、グラフィカル・アプリケーションで広く用いられている。しかし、その命令セット内に指数関数命令をもたない汎用プロセッサで指数関数を計算しようとすると、一般に多くのプロセッサ・サイクルが必要になる。一般に、その命令セット内に指数関数命令をもつプロセッサは、マイクロコードによって指数関数を計算するのに数プロセッサ・サイクルを必要とする。
2001年1月23日に公開され、本出願の譲受人に譲渡された、マーチン・スタンリ・シュムークラ(Martin Stanley Schmookler)の米国特許第6178435号には、データ処理システム内で2の浮動小数点数乗の概算を実行するための方法が開示されている。2のべき乗関数、すなわちy=2の汎用プロセッサ向けの高速な実装が提供され、独立変数xと結果yの両方とも浮動小数点形式で表現される。説明のために用いる浮動小数点形式は、IEEE754形式とする。浮動小数点数は、符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む。2の浮動小数点数乗を概算するために、仮数を指数ビットの値に基づいて整数部と小数部に分割する。
開示の実施形態では、浮動小数点結果は、浮動小数点数の整数部を浮動小数点結果のバイアスの掛からない指数として割り当て、浮動小数点数の小数部をテーブル参照によって変換して浮動小数点結果の小数部とすることによって形成される。整数部は結果の指数を形成し、小数部はテーブルから6ビットの値を見つけるために用いられる。この値は次に、2加数6ビット加算器構造を用いて小数部に加算されて、結果の小数部を形成する。この方式で取得した表現結果では、最悪の場合の相対誤差が正確な結果の0.822×2−5である。また、図5から分るように、従来技術の設計によって生成された概算関数は、複数の目立った不連続を含む。
2のべき乗の概算関数を実装するための改良された機構が必要とされている。従来技術の設計と比べて、そのような機構がより正確な概算を提供し、概算関数がより連続となることが望ましい。
米国特許第6178435号
本発明の主要な目的は、例えば、汎用の浮動小数点プロセッサ内に、2のべき乗の概算関数を実装するための方法および装置を提供することである。本発明の他の重要な目的は、実質的に悪影響を及ぼすことなく2のべき乗の概算関数を実装するための方法および装置であって、従来技術の構成がもつ不都合のいくつかを克服する方法および装置を提供することである。
要約すれば、汎用の浮動小数点プロセッサにおいて2のべき乗の概算関数を実装するための方法および装置が提供される。浮動小数点数はメモリ内に格納される。浮動小数点数は、符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む。浮動小数点命令に応答して、仮数を指数ビットに基づいて整数部と小数部に分割する。浮動小数点結果は、浮動小数点数の整数部を浮動小数点結果のバイアスの掛からない指数として割り当て、浮動小数点数の小数部を浮動小数点結果の小数部に変換するための組み合せ論理ハードウェアを利用することによって提供される。浮動小数点結果はメモリ内に格納される。
本発明の特徴によれば、組み合せ論理ハードウェアは、浮動小数点数の小数部Fを受信し、小数部Fの複数の小数ビットに応じて2つの数AおよびBを生成する組み合せ論理を含む。Fから減算された2数AとBの和が、浮動小数点結果の小数ビットを生成する。組み合せ論理ハードウェアは、組み合せ論理と、AとBをFの1の補数と共に加算し(−result=−F+A+B)、次にこの和の1の補数を取って浮動小数点結果の小数部を生成する加算器構造とによって実装することができる。
本発明、ならびに上記およびその他の目的および利点は、図面に示された本発明の好ましい実施形態についての以下の詳細な説明によって、最もよく理解することができるであろう。
ここで図面を参照すると、図1には、本発明の好ましい実施形態による、データ処理システム内で2のべき乗の概算を実行するための方法を示したハイレベル・フローチャートが示されている。関数y=2で表される2のべき乗の概算が、汎用プロセッサ内で提供される。IEEE754形式に従って、xなどの正規化された浮動小数点数は、ビット群の3つのグループ、すなわち符号ビット、指数ビット、仮数ビットによって表現される。符号ビットは、浮動小数点数の最も上位の有効桁の1ビットである。次の8ビットは指数ビットであり、浮動小数点数のバイアスの掛かった指数を表す。バイアスの掛からない指数は、127を減算することによって取得することができる。最も下位の有効桁の23ビットは小数ビットであり、この23ビットを223で除算し、正規化されていない数であるその商に1.0を加算することによって、仮数部を計算することができる。
浮動小数点数xの値は、2つに分割された部分、すなわち符号付き整数xIと正の小数xFを加算したものである。上記の分割を行うと、xIはyのバイアスの掛からない指数となり、yの仮数は2xFと等しくなる。0≦xF<1であるので、1≦2xF<2である。0から1の区間内で2xFのグラフ(2のべき乗関数)を(1+xF)のグラフ(1次関数)と比較した場合、上記の2関数の結果は端点で等しく、端点の間では一般に関数2xFの結果が関数(1+xF)の結果より僅かに小さいことが観察される。したがって、2のべき乗関数の精度の低い概算しか必要とされていない場合、精度の低い2のべき乗関数は、1次関数に小さな訂正を施すだけで取得することができる。
フローチャートはブロック110から開始し、浮動小数点数xの仮数が、ブロック112に示すように、バイアスの掛からない符号付き整数xIと小数xFに分割される。分割はxの指数に基づいて決定される。判断ブロック114に示すように、xの符号が負の場合、分割される仮数は、ブロック116に示すように、その1の補数によって置換される。このステップの後、符号付き整数xIを整数部に、正値xFを小数部にする。次に、ブロック118に示すように、2は非負でなければならないので、yの符号を正値に対応する0に設定し、xIの値をyのバイアスの掛からない指数とする。xIが−126から127の正常な範囲内にある場合、バイアスの掛かった指数は127を加算することによって取得することができる。次に、yの仮数の小数部yFが、ブロック120に示すように、小数xFを入力として用いる本発明の好ましい実施形態の組み合せ論理ハードウェア400によって取得される。組み合せ論理ハードウェア400は、図4で図示および説明されている。最後に、浮動小数点結果yが、ブロック122に示すように、yの符号ビット、yの指数ビット、およびyの小数ビットを組み合せることによって形成される。
次に図2を参照すると、本発明の好ましい実施形態による、データ処理システム内で2のべき乗の概算を実行するための方法を示した一例が示されている。xが10進数の5.75に等しいとする。xは浮動小数点形式によって以下のように表現することができる。
x=(−1)sign×2exp×仮数
ただし、signは符号ビット、expはバイアスの掛からない正の指数、仮数は1.小数に等しいとする。したがって、2進浮動小数点形式で、x=(−1)×2×1.011100、または0 0010 01110000となる。xの指数は0010(10進数の2)に等しいので、暗黙の2進小数点は右に2桁分シフトして、仮数は101.11000000000となる。2進小数点の左側のビット(すなわち、101)が整数部xIになり、2進小数点の右側のビット(すなわち、1100000000)が小数xFになる。したがって、yexp(浮動小数点結果yのバイアスの掛からない指数)は101に等しく、yF(浮動小数点結果yの小数)は、小数xFを入力として用いる本発明の好ましい実施形態の組み合せ論理ハードウェア400を用いることによって、1.10101110001に等しくなる。浮動小数点結果yの値は、yexpとyFを組み合せることによって取得され、2進数で110101.110001、または10進数で53.7656となる。
図3を参照すると、本発明の好ましい実施形態の2のべき乗の概算を実行するための方法を実施する、全体として参照番号300で指示される汎用プロセッサが示されている。汎用プロセッサ300は、整数ユニット304、汎用レジスタ306、ロード/ストア・ユニット308、浮動小数点レジスタ310、および浮動小数点ユニット312に結合された命令ユニット302を含む。汎用プロセッサ300は、命令ユニット302、および整数ユニット304、汎用レジスタ306、ロード/ストア・ユニット308、浮動小数点レジスタ310、ならびに浮動小数点ユニット312の各々に結合された完了ユニット314を含む。データ・キャッシュ316が、ロード/ストア・ユニット308に結合され、命令キャッシュ318が、命令ユニット302に結合される。バス・インタフェース・ユニット320は、データ・キャッシュ316と命令キャッシュ318に結合される。データ・キャッシュ316と命令キャッシュ318は共に、メイン・メモリ(図示せず)から以前に転送されたデータまたは命令のサブセットにプロセッサ300が相対的に速いアクセス時間でアクセスできるようにする、高速セット・アソシアティブ・キャッシュとする。命令キャッシュ318は、各命令サイクルの間に命令を命令キャッシュ318からフェッチする命令ユニット302に結合される。各実行ユニット、すなわち整数ユニット304、ロード/ストア・ユニット308、および浮動小数点ユニット312は、命令の1つまたは複数のクラスを実行し、すべての実行ユニット、すなわち整数ユニット304、ロード/ストア・ユニット308、および浮動小数点ユニット312は、各プロセッサ・サイクルの間に並列で動作することができる。命令の実行が終了した後、実行ユニット、すなわち整数ユニット304、ロード/ストア・ユニット308、および浮動小数点ユニット312は、命令タイプに応じて、それぞれのリネーム・バッファにデータ結果を格納する。その後、実行ユニットのいずれか1つ、すなわち整数ユニット304、ロード/ストア・ユニット308、および浮動小数点ユニット312は、命令の実行が終了したことを完了ユニット314に通知することができる。最後に、結果データをそれぞれのリネーム・バッファから汎用レジスタ(GPR)306または浮動小数点レジスタ(FPR)310に転送することによって、命令はプログラムの順番で完了する。
汎用プロセッサ300は、様々な標準的なプロセッサ、例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションが製造するPowerPC(登録商標)系列のプロセッサの1つによって実施することができる。
本発明の好ましい実施形態の特徴によれば、好ましい実施形態の特徴による2のべき乗を概算する新しい方法は、パイプライン・ステージを追加することなく結果を取得し、従来技術の設計に比べ、より正確であり、より連続な関数を生成する。こうしたことは、結果の小数ビットを取得するための従来とは異なる手法によって実現される。2のべき乗関数を実施する組み合せ論理回路400は、図4に示すような、カスタム3加数11ビット加算器構造を含む。上述の小数部xFを入力として浮動小数点結果の小数ビットyFを取得するための新しい方法について次に説明する。
2つの数(以下、A、Bと呼ぶ)が、上述の11ビットの小数部xF(以下、Fと呼ぶ)に依存する組み合せ論理によって生成される。これらの2数A、Bの和がFから減算され、結果の小数ビット中で最も上位の有効桁の11ビットが生成される。これは、AとBをFの1の補数と共に加算し(−result=−F+A+B)、次にこの和の1の補数を取って浮動小数点結果の小数部を生成することによって実施することができる。−FはFの反転、すなわちFの1の補数を表す。
しかし、設計のタイミング制約に適さない、これら3数の直接的な加算を実施するのではなく、F、B、および(A−F)に依存する組み合せ論理によって、結果を取得することができる。このアルゴリズムの性質上、数AおよびBが取る値は11ビットの順列のすべてにわたるわけではないので、汎用3ウェイ11ビット全加算器は必要とされない。
入力FからのAおよびBの導出は、組み合せ論理回路400の第1の組み合せ論理ブロック401によって実施される以下の論理記述から理解することができる。
最初の中間項s1、s2、s3は以下の式で定義される。ただし、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10、F11はそれぞれ、F(1から11)のビット1から11を表す。
s1 = F1 AND F2 AND F3 AND F4
s2 = (NOT F1 AND NOT F2) OR (F1 AND F2 ANDF3 AND NOT F4) OR (F1 AND F2 AND NOT F3 AND F4)
s3 = (F2 AND NOT F3 AND NOT F4) OR (F1 ANDNOT F2 AND F3) OR (NOT F1 AND F2 AND NOT F3) OR (NOT F1 AND F2 AND NOT F4)
項A
A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11はそれぞれ、A(1から11)のビット1から11を表し、以下の式で定義される。
A1 = 0
A2 = 0
A3 = 0
A4 = (s1 AND NOT F3) OR (s2 AND NOT F1 ANDF2) OR (s2 AND F1 AND NOT F2)
A5 = (s1 AND NOT F4) OR (s2 AND NOT F1 ANDF3) OR (s2 AND F1 AND NOT F2) OR
(s3 AND NOT F1 AND F2) OR (s3 AND F1 AND NOTF2)
A6 = (s1 AND NOT F5) OR (s2 AND NOT F1 ANDF4) OR (s2 AND F1 AND NOT F4) OR
(s3 AND NOT F1 AND F3) OR (s3 AND F1 ANDNOT F3)
A7 = (s1 AND NOT F6) OR (s2 AND NOT F1 ANDF5) OR (s2 AND F1 AND NOT F5) OR
(s3 AND NOT F1 AND F4) OR (s3 AND F1 ANDNOT F4)
A8 = (s1 AND NOT F7) OR (s2 AND NOT F1 ANDF6) OR (s2 AND F1 AND NOT F6) OR
(s3 AND NOT F1 AND F5) OR (s3 AND F1 ANDNOT F5)
A9 = (s1 AND NOT F8) OR (s2 AND NOT F1 ANDF7) OR (s2 AND F1 AND NOT F7) OR
(s3 AND NOT F1 AND F6) OR (s3 AND F1 ANDNOT F6)
A10 = (s1 AND NOT F9) OR (s2 AND NOT F1AND F8) OR (s2 AND F1 AND NOT F8) OR
(s3 AND NOT F1 AND F7) OR (s3 AND F1 ANDNOT F7)
A11 = (s1 AND NOT F10) OR (s2 AND NOT F1AND F9) OR (s2 AND F1 AND NOT F9) OR
(s3 AND NOT F1 AND F8) OR (s3 AND F1 ANDNOT F8)
B4、B5、B6、B7はそれぞれ、B(4から7)のビット4から7を表し、以下の式で定義される。
B4 = (F1 AND NOT F2 AND NOT F3) OR (NOT F1AND F2 AND F3 AND F4)
B5 = (F2 AND NOT F3 AND NOT F4) OR (F1 ANDNOT F2 AND F3) OR (NOT F1 AND F2 AND NOT F3) OR (NOT F1 AND F2 AND NOT F4)
B6 = (NOT F1 AND F2 AND F3 AND F4) OR (F1AND F2 AND F3 AND NOT F4) OR (F1 AND NOT F2 AND NOT F3) OR (F1 AND NOT F3 ANDF4)
B7 = (NOT F1 AND F2 AND F3 AND F4) OR (F1AND NOT F3 AND NOT F4) OR (F1 AND NOT F2)
この新しいアルゴリズムによって生成された値の例を、以下に示す表1に見ることができる。
表1
-F(1から11) A(1から11)B(4から7) A-F(1から11)-result(1から11)
(-F+A+C)
11111111111 00000000000 000011111111111 11111111111
11111111110 00000000000 000011111111110 11111111110
11111111101 00000000000 000011111111101 11111111101
11111111100 00000000000 000011111111100 11111111100
11111111011 00000000001 000011111111100 11111111100
11111111010 00000000001 000011111111011 11111111011
11111111001 00000000001 00001111111101011111111010
11111111000 00000000001 000011111111001 11111111001
11111110111 00000000010 000011111111001 11111111001
11111110110 00000000010 000011111111000 11111111000
11111110101 00000000010 00001111111011111111110111
11111110100 00000000010 000011111110110 11111110110
11111110011 00000000011 000011111110110 11111110110
11111110010 00000000011 000011111110101 11111110101
11111110001 00000000011 00001111111010011111110100
11111110000 00000000011 000011111110011 11111110011
11111101111 00000000100 000011111110011 11111110011
*
*
*
11000000000 00001111111 000011001111111 11001111111
10111111111 00001111111 00001100111111111001111111
10111111110 00001000000 010011000111110 11001111110
10111111101 00001000000 010011000111101 11001111101
10111111100 00001000000 010011000111100 11001111100
10111111011 00001000000 01001100011101111001111011
10111111010 00001000000 010011000111010 11001111010
10111111001 00001000000 010011000111001 11001111001
10111111000 00001000000 010011000111000 11001111000
*
*
*
01101100011 00000000000 10110110110001110000010011
01101100010 00000000000 101101101100010 10000010010
01101100001 00000000000 101101101100001 10000010001
01101100000 00000000000 101101101100000 10000010000
01101011111 00000000000 101101101011111 10000001111
01101011110 00000000000 101101101011110 10000001110
01101011101 00000000000 101101101011101 10000001101
01101011100 00000000000 101101101011100 10000001100
01101011011 00000000000 101101101011011 10000001011
01101011010 00000000000 101101101011010 10000001010
*
*
*
00000000110 00000000011 000000000001001 00000001001
00000000101 00000000010 000000000000111 00000000111
00000000100 00000000010 000000000000110 00000000110
00000000011 00000000001 000000000000100 00000000100
00000000010 00000000001 000000000000011 00000000011
00000000001 00000000000 000000000000001 00000000001
00000000000 00000000000 000000000000000 00000000000
次に図4を参照すると、新しいアルゴリズムを組み合せ論理ハードウェア400内に実装した様子が示されている。組み合せ論理ハードウェア400は、入力−F(1から11)を受信する組み合せ論理401を含む。出力AおよびBは、表1に列挙された11ビットの小数部xF、すなわち−F(1から11)に依存する組み合せ論理401によって生成され、図4においてA(1から11)、B(6から7)、B非ゼロと名付けられた線で示されている。
組み合せ論理ハードウェア400は、入力−F(1から11)を受信する組み合せ論理402、および入力−F(1から11)とA(1から11)を受信する11ビット加算器404を含む。組み合せ論理402と11ビット加算器404の出力はそれぞれ、B非ゼロ選択入力と共にマルチプレクサ(MUX)406に結合される。2ビット加算器408は、入力B(6から7)と11ビット加算器404の出力を受信する。レジスタ410に格納される小数−resultは、AとBをFの1の補数と共に加算する(−result=−F+A+B)ことによって取得され、またはresult410の1の補数を取ることによって取得される。ブロック412に示すように、この和(−result)410の1の補数が取られて、ブロック414に示すように、浮動小数点結果の小数部が生成される。浮動小数点結果414は、符号、指数、小数部、未使用小数ビットを含む。
レジスタ410に格納される小数−resultのいくつかのビットは、−F(1から11)、B、および(A−F)に依存する組み合せ論理を用いてより簡単に取得することができるが、その他のビットは、−Fにのみ依存するあまり複雑でない論理で表現することができる。具体的には、図4に示すように、どのようなFの可能な入力についてもBの第8から11ビットは0なので、resultの第8から11ビットの1の補数を生成するのに、−FとAだけが11ビット加算器404によって加算される。resultの第6から7ビットは、11ビット加算器404によって供給される−F(6から7)とA(6から7)の中間和に組み合せ論理401によって供給されるB(6から7)を、2ビット加算器408を用いて加算することによって生成される。resultの第2から5ビットは、MUX406を介して、Bが非0の場合は−F(1から11)のみに依存する組み合せ論理402によって生成され、Bが0の場合は11ビット加算器404によって供給される−FとAの和として生成される。resultの第1ビットは、−Fに依存する組み合せ論理402によって専ら導出される。
組み合せ論理402による入力Fからの小数resultの補数の第1から5ビット(第2から5ビットはMUX406への入力)の導出は、以下のように定義される。
小数resultの補数の第1ビット:
INV_RESULT1 = (NOT F1) OR
(NOT F2 AND NOT F3 AND NOT F4) OR
(NOT F2 AND NOT F3 AND NOT F5 AND NOT F6)OR
(NOT F2 AND NOT F3 AND NOT F5 AND NOT F7)
INV_RESULT2 = (F1 AND NOT F2 AND NOT F3)OR
(F2 AND NOT F3 AND NOT F4) OR
(F4 AND F5 AND F1 AND NOT F2) OR
(F1 AND NOT F2 AND F6 AND F7 AND F4) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 ANDNOT F3 AND NOT F7) OR
(NOT F8 AND NOT F9 AND NOT F5 AND NOT F6AND NOT F1 AND F2 AND NOT F3 AND NOT F10)
INV_RESULT3 = (F1 AND NOT F2 AND F3 ANDNOT F4) OR
(NOT F1 AND F2 AND F3 AND NOT F4) OR
(F1 AND NOT F3 AND F2 AND F4) OR
(F4 AND F5 AND F1 AND NOT F3) OR
(F2 AND NOT F3 AND F4 AND F5) OR
(F2 AND NOT F3 AND F4 AND F6) OR
(NOT F1 AND F2 AND F3 AND NOT F5 AND NOTF6) OR
(F6 AND F7 AND F1 AND NOT F3 AND F4) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND NOT F6AND NOT F7) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND NOT F6AND NOT F8) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND NOT F6AND NOT F9) OR
(F2 AND F3 AND NOT F4 AND NOT F5) OR
(F6 AND NOT F7 AND NOT F1 AND F2 AND F4 ANDNOT F5) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 AND F3AND NOT F8) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 AND F3AND NOT F9) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 AND F4AND F7 AND F8) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 AND F4AND F7 AND F9) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 AND F4AND F7 AND F10)
INV_RESULT4 = (F4 AND F5 AND F1 AND NOTF2) OR
(F4 AND F5 AND NOT F1 AND F2) OR
(NOT F4 AND NOT F5 AND F1 AND NOT F2 ANDNOT F6) OR
(F1 AND NOT F2 AND F3 AND F4 AND F6) OR
(F6 AND F7 AND NOT F1 AND F2 AND F4) OR
(F2 AND F3 AND NOT F4 AND NOT F1 AND NOT F5AND NOT F6) OR
(F1 AND F5 AND F2 AND F3 AND NOT F4 AND F6)OR
(NOT F4 AND NOT F5 AND F1 AND NOT F3 ANDNOT F2 AND NOT F7) OR
(F1 AND F5 AND F2 AND F3 AND NOT F4 AND F7)OR
(F8 AND F9 AND F1 AND F5 AND F2 AND F3 ANDNOT F4) OR
(NOT F8 AND NOT F9 AND F2 AND F3 AND NOT F4AND NOT F1 AND NOT F5 AND NOT F7) OR
(F2 AND NOT F3 AND F4 AND F1 AND NOT F6) OR
(F2 AND NOT F3 AND F4 AND NOT F5 AND F6) OR
(F6 AND F7 AND F1 AND NOT F3 AND F4 AND NOTF5) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDF8) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDF9) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDF10) OR
(F1 AND NOT F3 AND NOT F5 AND NOT F6 ANDNOT F4 AND NOT F7 AND NOT F8) OR
(F6 AND NOT F7 AND F1 AND NOT F2 AND F3 ANDNOT F5 AND NOT F8) OR
(F1 AND NOT F3 AND NOT F5 AND NOT F6 ANDNOT F4 AND NOT F7 AND NOT F9) OR
(NOT F8 AND NOT F9 AND F6 AND NOT F7 AND F2AND NOT F3 AND F4) OR
(F1 AND NOT F3 AND NOT F5 AND NOT F6 ANDNOT F4 AND NOT F7 AND NOT F10) OR
(F6 AND NOT F7 AND F2 AND NOT F3 AND F4 ANDNOT F8 AND NOT F10) OR
(F8 AND F9 AND NOT F6 AND F7 AND F1 AND NOTF2 AND F3 AND NOT F5) OR
(F6 AND NOT F7 AND F1 AND NOT F2 AND F3 ANDNOT F5 AND NOT F9 AND NOT F10)
INV_RESULT5 = (NOT F4 AND NOT F5 AND NOTF1 AND F2 AND NOT F3) OR
(F1 AND F5 AND NOT F2 AND NOT F3 AND NOTF6) OR
(NOT F1 AND F2 AND F3 AND F5 AND NOT F6) OR
(F1 AND F5 AND NOT F2 AND NOT F3 AND NOTF7) OR
(F1 AND F5 AND NOT F2 AND NOT F6 AND NOTF7) OR
(F1 AND NOT F2 AND F6 AND F7 AND NOT F5) OR
(F6 AND F7 AND NOT F1 AND F2 AND NOT F5) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND F4 ANDF6) OR
(F4 AND F5 AND NOT F1 AND F2 AND F3 AND NOTF7) OR
(F4 AND F5 AND NOT F1 AND F2 AND NOT F6 ANDNOT F7) OR
(NOT F8 AND NOT F9 AND F1 AND F5 AND NOT F2AND NOT F6) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 AND F1AND F3 AND NOT F5) OR
(F6 AND F7 AND F1 AND F5 AND F2 AND NOT F3AND F4) OR
(F8 AND F9 AND F1 AND NOT F2 AND F3 AND NOTF5 AND F6) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND F6 ANDF8 AND F10) OR
(F1 AND F5 AND NOT F2 AND NOT F6 AND NOT F8AND NOT F10 AND NOT F11) OR
(F8 AND F9 AND F1 AND NOT F2 AND F3 AND NOTF5 AND F4 AND F7) OR
(F6 AND NOT F7 AND F2 AND NOT F3 AND NOTF5) OR
(NOT F4 AND NOT F5 AND F2 AND NOT F3 ANDF7) OR
(F2 AND NOT F3 AND F4 AND F1 AND NOT F5 ANDNOT F6) OR
(F1 AND F5 AND F2 AND F3 AND NOT F4 AND F6)OR
(NOT F6 AND F7 AND F1 AND F5 AND F3 AND NOTF4) OR
(F4 AND F5 AND NOT F1 AND F2 AND NOT F6 ANDNOT F8) OR
(NOT F4 AND NOT F5 AND NOT F1 AND F2 AND F6AND F9) OR
(NOT F5 AND NOT F6 AND F2 AND NOT F3 AND F7AND F9) OR
(NOT F5 AND NOT F6 AND F2 AND NOT F3 AND F7AND F10) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F1 AND NOT F3 AND NOT F8) OR
(F6 AND NOT F7 AND F2 AND F3 AND NOT F4 ANDF5 AND NOT F8) OR
(NOT F5 AND NOT F6 AND F1 AND F2 AND NOT F4AND F7 AND NOT F8) OR
(F6 AND NOT F7 AND F2 AND NOT F3 AND F4 ANDF1 AND F8) OR
(F8 AND F9 AND F1 AND F5 AND F2 AND F3 ANDNOT F4) OR
(NOT F8 AND NOT F9 AND F2 AND NOT F4 ANDNOT F6 AND NOT F7 AND NOT F3 AND F5) OR
(F6 AND NOT F7 AND F2 AND F3 AND NOT F4 ANDNOT F1 AND F8 AND NOT F9) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F3 AND F5 AND NOT F8 AND NOT F10) OR
(F1 AND NOT F3 AND NOT F8 AND NOT F9 AND F2AND NOT F5 AND F7 AND NOT F10) OR
(F6 AND NOT F7 AND F1 AND F5 AND NOT F3 ANDF4 AND F9 AND F10) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F3 AND F5 AND NOT F8 AND NOT F11) OR
(NOT F8 AND NOT F9 AND F6 AND NOT F7 AND F1AND F5 AND F3 AND NOT F4 AND NOT F10) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDNOT F1 AND F8 AND NOT F9 AND NOT F10) OR
(F8 AND F9 AND F2 AND NOT F4 AND NOT F6 ANDNOT F7 AND F1 AND NOT F5 AND F10) OR
(NOT F8 AND NOT F9 AND F6 AND NOT F7 AND F1AND F5 AND F3 AND NOT F4 AND NOT F11) OR
(F6 AND F7 AND NOT F8 AND NOT F9 AND F2 ANDNOT F3 AND F4 AND F1 AND NOT F11) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F1 AND NOT F3 AND NOT F9 AND NOT F10 AND NOT F11) OR
(NOT F5 AND NOT F6 AND F1 AND F2 AND NOT F4AND F7 AND NOT F9 AND NOT F10 AND NOT F11) OR
(F8 AND F9 AND F2 AND F3 AND NOT F4 AND F5AND NOT F7 AND NOT F10 AND NOT F11) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDNOT F1 AND NOT F9 AND F10 AND NOT F11)
図5および図6を参照すると、図5に示された従来技術の結果と比較した場合、組み合せ論理ハードウェア400が、図6に見られるように、はるかによく連続した1組みの結果を達成していることが理解できる。最悪の場合の相対誤差でも正確な結果の0.144×2−5であり、これは以前の設計と比べてはるかに改善された誤差である。組み合せ論理ハードウェア400を利用する本発明の好ましい実施形態の方法はまた、従来技術にないアーキテクチャ上の余分なステージを追加しなくても実施することができる。
本発明の好ましい実施形態のこの改良されたアルゴリズムの利点は、面上の鏡面ハイライトの陰影の階調度を計算するのに2のべき乗概算アルゴリズムを利用できるリアルタイム3次元コンピュータ・グラフィックスなど、2のべき乗概算の一般的な応用例において明らかである。例えば、リアルタイム3次元コンピュータ・グラフィックスで、本発明の好ましい実施形態の2のべき乗概算アルゴリズムを利用すれば、階調が帯状になる度合いが減り、よりリアルに見える鏡面ハイライトが実現される。
図面に示された本発明の実施形態の詳細を参照しながら本発明を説明してきたが、それらの詳細は、添付の特許請求の範囲で主張される本発明の範囲を限定するものではない。
本発明の好ましい実施形態による、データ処理システム内で2のべき乗の概算を実行するための方法を示したハイレベル・フローチャートである。 本発明の好ましい実施形態による、図1の2のべき乗の概算を実行するための方法を示した一例の図である。 本発明の好ましい実施形態による、図1の2のべき乗の概算を実行するための方法を実施する汎用プロセッサを示したブロック図である。 本発明の好ましい実施形態による、図1の2のべき乗の概算を実行するための方法を実施する組み合せ論理ハードウェアを示したブロック図である。 従来技術の概算関数を示したグラフである。 本発明の好ましい実施形態による、図4の組み合せ論理ハードウェアを用いた図1の方法の概算関数を示したグラフである。
符号の説明
300 汎用プロセッサ
302 命令ユニット
304 整数ユニット
306 汎用レジスタ
308 ロード/ストア・ユニット
310 浮動小数点レジスタ
312 浮動小数点ユニット
314 完了ユニット
316 データ・キャッシュ
318 命令キャッシュ
320 バス・インタフェース・ユニット
400 組み合せ論理回路
401 組み合せ論理
402 組み合せ論理
404 11ビット加算器
406 マルチプレクサ
408 2ビット加算器
410 レジスタ
414 浮動小数点結果

Claims (12)

  1. 2の浮動小数点数乗の概算関数を実装するための方法であって、
    符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む浮動小数点数をメモリに格納するステップと、
    浮動小数点命令に応答して、
    前記仮数を、前記指数ビットに基づいて、整数部と小数部に分割するステップと、
    浮動小数点結果を、前記浮動小数点数の前記整数部を前記浮動小数点結果のバイアスの掛からない指数として割り当て、組み合せ論理ハードウェアを利用して前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換することによって、生成するステップと、
    前記浮動小数点結果を前記メモリ内に格納するステップとを含む方法。
  2. 前記浮動小数点数の前記仮数の前記小数ビットが、F(1から11)と表現される11ビットの小数ビットを含む、請求項1に記載の2の浮動小数点数乗の概算関数を実装するための方法。
  3. 前記浮動小数点数の前記仮数の前記小数ビットの前記複数のビットがFによって表され、組み合せ論理ハードウェアを利用して前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換する前記ステップが、Fを受信してAおよびBによって表される2つの数を生成する第1の組み合せ論理を利用するステップであって、AとBの和をFから減算することによって前記浮動小数点結果の前記小数部を生成するステップを含む、請求項1に記載の2の浮動小数点数乗の概算関数を実装するための方法。
  4. 前記浮動小数点数の前記仮数の前記小数ビットが、F(1から11)と表現される11ビットの小数ビットを含み、組み合せ論理を利用して前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換する前記ステップが、
    AとBをFの1の補数と共に加算して和を提供し、前記和の1の補数を取って前記浮動小数点結果の前記小数部を生成する、請求項1に記載の2の浮動小数点数乗の概算関数を実装するための方法。
  5. 前記浮動小数点結果の前記小数部が、yF(1から11)と表現される11ビットの小数ビットを含む、請求項4に記載の2の浮動小数点数乗の概算関数を実装するための方法。
  6. 2の浮動小数点数乗の概算関数を実装するための装置であって、
    符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む浮動小数点数をメモリに格納するためのプロセッサであって、
    浮動小数点命令に応答して、前記仮数を、前記指数ビットに基づいて、整数部と小数部に分割し、浮動小数点結果を、前記浮動小数点数の前記整数部を前記浮動小数点結果のバイアスの掛からない指数部として割り当てすることによって生成するプロセッサと、
    前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換するための組み合せ論理ハードウェアとを含む装置。
  7. 前記浮動小数点数の前記仮数の前記小数ビットの前記複数のビットがFによって表され、前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換する前記組み合せ論理ハードウェアが、前記小数ビットFを受信してAおよびBによって表される2つの数を生成する第1の組み合せ論理であって、AとBの和をFから減算することによって前記浮動小数点結果の前記小数部を生成する第1の組み合せ論理を含む、請求項6に記載の2の浮動小数点数乗の概算関数を実装するための装置。
  8. 前記組み合せ論理ハードウェアが、AとBをFの1の補数と共に加算して、(−result=−F+A+B)と表現されるresultの1の補数を提供する加算器を含む、請求項7に記載の2の浮動小数点数乗の概算関数を実装するための装置。
  9. 前記組み合せ論理ハードウェアが、前記resultの1の補数の1の補数を取って、前記浮動小数点結果の前記小数部を生成する1の補数関数をさらに含む、請求項8に記載の2の浮動小数点数乗の概算関数を実装するための装置。
  10. 前記加算器が、Aと前記Fの1の補数を加算するための11ビット加算器と、Bと前記Fの1の補数を加算して、(−result=−F+A+B)と表現される前記resultの1の補数を生成するための2ビット加算器を含む、請求項8に記載の2の浮動小数点数乗の概算関数を実装するための装置。
  11. 前記組み合せ論理ハードウェアが、Bが非0であるかどうかに基づいて、前記Fの1の補数にのみ依存する前記resultの1の補数の事前定義されたビットと、前記Fの1の補数とAの和のいずれかを選択するためのマルチプレクサをさらに含む、請求項10に記載の2の浮動小数点数乗の概算関数を実装するための装置。
  12. 前記浮動小数点結果が、yF(1から11)と表現される11ビットの小数ビットを含む、請求項7に記載の2の浮動小数点数乗の概算関数を実装するための装置。
JP2004173184A 2003-06-26 2004-06-10 2の浮動小数点数乗の概算を実施するための方法および装置 Pending JP2005018759A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/607,359 US7143126B2 (en) 2003-06-26 2003-06-26 Method and apparatus for implementing power of two floating point estimation

Publications (1)

Publication Number Publication Date
JP2005018759A true JP2005018759A (ja) 2005-01-20

Family

ID=33540245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004173184A Pending JP2005018759A (ja) 2003-06-26 2004-06-10 2の浮動小数点数乗の概算を実施するための方法および装置

Country Status (4)

Country Link
US (1) US7143126B2 (ja)
JP (1) JP2005018759A (ja)
CN (1) CN100524201C (ja)
TW (1) TWI325120B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033318A (ja) * 2008-07-29 2010-02-12 Sony Corp 演算処理装置および方法、並びにプログラム
JP2024506441A (ja) * 2021-01-29 2024-02-14 マイクロソフト テクノロジー ライセンシング,エルエルシー 正規化関数のためのデジタル回路機構

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138095A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Method for base two logarithmic estimation
US7456837B2 (en) * 2005-01-10 2008-11-25 International Business Machines Corporation Optimized specular highlight generation
US7644116B2 (en) * 2006-05-31 2010-01-05 Via Telecom Co., Ltd. Digital implementation of fractional exponentiation
US8275821B2 (en) * 2007-09-07 2012-09-25 International Business Machines Corporation Area efficient transcendental estimate algorithm
JP5326314B2 (ja) * 2008-03-21 2013-10-30 富士通株式会社 プロセサおよび情報処理装置
US20100215055A1 (en) * 2009-02-25 2010-08-26 Glaser Stephen D Method and apparatus for using multiple protocols on a communication link
CN108647044B (zh) 2011-12-28 2022-09-13 英特尔公司 浮点缩放处理器、方法、系统和指令
JP5794385B2 (ja) * 2012-03-30 2015-10-14 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN103455303B (zh) * 2012-05-31 2017-10-31 上海华虹集成电路有限责任公司 用硬件实现指数运算的电路
US9461667B2 (en) * 2013-12-30 2016-10-04 Samsung Electronics Co., Ltd. Rounding injection scheme for floating-point to integer conversion
CN104866281A (zh) * 2014-02-21 2015-08-26 北京国睿中数科技股份有限公司 实现浮点数符号分析替换的装置及方法
CN105183426A (zh) * 2015-08-18 2015-12-23 深圳市振邦智能科技有限公司 一种应用于8位单片机的浮点数显示方法和装置
US11163533B2 (en) * 2019-07-18 2021-11-02 International Business Machines Corporation Floating point unit for exponential function implementation
CN113032326B (zh) * 2021-03-25 2022-05-10 盛立安元科技(杭州)股份有限公司 一种用于fpga的数据类型转换装置、方法、设备及存储介质
CN113721884B (zh) * 2021-09-01 2022-04-19 北京百度网讯科技有限公司 运算方法、装置、芯片、电子装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4078250A (en) * 1974-08-21 1978-03-07 The Singer Company Log-antilog conversion for a digital radar system
US4583180A (en) * 1983-01-28 1986-04-15 National Semiconductor Corporation Floating point/logarithmic conversion system
US5365465A (en) * 1991-12-26 1994-11-15 Texas Instruments Incorporated Floating point to logarithm converter
US6178435B1 (en) * 1998-06-30 2001-01-23 International Business Machines Corporation Method and system for performing a power of two estimation within a data processing system
US6289367B1 (en) * 1998-11-16 2001-09-11 Texas Instruments Incorporated Digital signal processing circuits, systems, and method implementing approximations for logarithm and inverse logarithm

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033318A (ja) * 2008-07-29 2010-02-12 Sony Corp 演算処理装置および方法、並びにプログラム
JP2024506441A (ja) * 2021-01-29 2024-02-14 マイクロソフト テクノロジー ライセンシング,エルエルシー 正規化関数のためのデジタル回路機構

Also Published As

Publication number Publication date
CN100524201C (zh) 2009-08-05
TWI325120B (en) 2010-05-21
CN1577250A (zh) 2005-02-09
TW200516490A (en) 2005-05-16
US7143126B2 (en) 2006-11-28
US20040267853A1 (en) 2004-12-30

Similar Documents

Publication Publication Date Title
JP2622896B2 (ja) 除算装置
JP2005018759A (ja) 2の浮動小数点数乗の概算を実施するための方法および装置
CN107305485B (zh) 一种用于执行多个浮点数相加的装置及方法
JP2002108606A (ja) スティッキービット生成回路及び乗算器
RU2408057C2 (ru) Умножитель с фиксированной точкой с предварительным насыщением
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
US6178435B1 (en) Method and system for performing a power of two estimation within a data processing system
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
US8060551B2 (en) Method and apparatus for integer division
JP7285966B2 (ja) 多入力浮動小数点加算器
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
US6847986B2 (en) Divider
Takagi et al. A hardware algorithm for integer division
JP4273071B2 (ja) 除算・開平演算器
USH1222H (en) Apparatus for determining sticky bit value in arithmetic operations
CN114610268A (zh) 一种高精度对数乘法器
GB2549153B (en) Apparatus and method for supporting a conversion instruction
Chu et al. Cost/performance tradeoff of n-select square root implementations
JP3941868B2 (ja) 計算装置及び計算方法
JP7619153B2 (ja) 演算処理装置および演算方法
EP1504338A1 (en) "emod" a fast modulus calculation for computer systems
Rahman et al. Optimized hardware architecture for implementing IEEE 754 standard double precision floating point adder/subtractor
JP2761145B2 (ja) 開平演算装置
Palsodkar et al. Three operand fused floating point add-subtract unit using redundant adder
Thabah et al. Improved Signed Binary Multiplier Through New Partial Product Generation Scheme

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061120

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061124

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20061221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071015

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071119

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071207

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100216