最新の FPU は超越関数を計算するためにどのような方法を使用しますか?
たとえば、インテルの CPU は 、 、 などの命令を提供FSIN
しFCOS
ますFYL2X
。これらを実際にハードウェアに実装するには、どのようなアルゴリズムが使用されるのか興味があります。
私の素朴な推測は、おそらくいくつかのルックアップ テーブルと組み合わされたテイラー級数でしょうが、それはただの推測にすぎません。教えてください。
PS この質問は、Intel ハードウェアよりも一般的です。
最新の FPU は超越関数を計算するためにどのような方法を使用しますか?
たとえば、インテルの CPU は 、 、 などの命令を提供FSIN
しFCOS
ますFYL2X
。これらを実際にハードウェアに実装するには、どのようなアルゴリズムが使用されるのか興味があります。
私の素朴な推測は、おそらくいくつかのルックアップ テーブルと組み合わされたテイラー級数でしょうが、それはただの推測にすぎません。教えてください。
PS この質問は、Intel ハードウェアよりも一般的です。
開始する場所の 1 つは、Intel の Shane Story と Ping Tak Peter Tang による「IA-64 の超越関数を改善するための新しいアルゴリズム」です。あなたが望むほど多くの詳細を持っていないかもしれませんが、いくつかの参考文献が含まれています.
元のリンクが壊れています。IEEE の公開抄録/引用ページは次の場所にあります。
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=762822&tag=1
ハードウェア (およびハードウェア乗算命令が利用できないソフトウェア) では、加算、減算、ビット シフト、およびテーブル ルックアップのみが必要なため、通常はCORDICで実装されます。
関連している: