「除算 (デジタル)」の版間の差分

削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
m bot: 解消済み仮リンクショーンハーゲ・ストラッセン法を内部リンクに置き換えます
96行目:
 
=== SRT除算 ===
SRT除算の名は、考案者のイニシャル (Sweeney, Robertson, Tocher) に因んだもので、多くの[[マイクロプロセッサ]]の除算器の実装に使われている。SRT除算は非回復型除算に似ているが、被除数と除数に基づいて[[ルックアップテーブル]]を使い、商の各桁を決定する。[[Intel Pentium (1993年)|Intel Pentium]] プロセッサの[[Pentium FDIV バグ|浮動小数点除算バグ]]は、このルックアップテーブルの間違いが原因だった。千以上のエントリがあるテーブルのうち理論上参照しないと信じられていた5個のエントリを省略したことが原因である<ref>Intel Corporation, 1994, Retrieved 2011-10-19,[http://www.intel.com/support/processors/pentium/fdiv/wp/ "Statistical Analysis of Floating Point Flaw"]</ref>。基数を大きくすると一度の反復で複数ビットを求められるため、高速化可能である<ref>{{Cite journal |url= http://almond.cs.uec.ac.jp/papers/pdf/2002/katsu-ipsj_srt.pdf |title= 高基数SRT除算の論理回路実現に基づく回路構成と評価 |journal=情報処理学会論文誌 |volume=43 |number=8 |date=2002-08| author= 葛毅、阿部公輝、浜田穂積}}</ref>。
 
いわゆる[[Pentium FDIV バグ]]は、このルックアップテーブルの間違いが原因だった。テーブルのエントリのうち、5個のエントリについて、参照されないものであるという誤った前提を立てて設計してしまったため、オペランドの値によってそれを参照するような場合には、結果がごくわずかだがおかしくなった<ref>Intel Corporation, 1994, Retrieved 2011-10-19,[http://www.intel.com/support/processors/pentium/fdiv/wp/ "Statistical Analysis of Floating Point Flaw"]</ref>。
 
== 高速な除算技法 ==