桁上げ保存アキュムレータ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/12/04 00:25 UTC 版)
「桁上げ保存加算器」の記事における「桁上げ保存アキュムレータ」の解説
一桁につき2ビットの保存場所があるとすれば、各桁には0, 1, 2, 3の値を格納することができる。したがって明らかに、既にある桁上げ保存結果にもう一つの2進数を加算しても、この保存場所がオーバフローすることはない。しかし、さらにもう一つ加算するにはどうすればよいだろうか? 成功の鍵は、各部分加算の時点で、次の三つのビットを加えることである。 加えようとする数自身 0または1。 保存場所内が偶数なら0、奇数なら1。 右の桁が2未満なら0、2以上なら1。 言い換えれば、従来の加算と同じように、右の桁から桁上げを受けとり、左の桁に桁上げを渡している。しかし、左に渡す桁上げは、前回の計算の結果であって、今回の結果ではない。各クロックサイクルにおいて、桁上げは、従来の加算のようにステップではなく、1ステップしか移動する必要はない。 信号が長距離を移動する必要はないので、クロック周波数を上げることができる。 ただし、計算の最後には、結果を2進数に変換する必要が残っており、つまり事実上、従来の加算と同じように、桁上げが数の端から端まで移動する。しかし、もし512ビットの乗算を実行する過程で512回の加算をした後であれば、最後の変換コストは事実上512回の加算に分配され、各加算は最終的な"従来"の加算コストの1/512回分だけ負担することになる。
※この「桁上げ保存アキュムレータ」の解説は、「桁上げ保存加算器」の解説の一部です。
「桁上げ保存アキュムレータ」を含む「桁上げ保存加算器」の記事については、「桁上げ保存加算器」の概要を参照ください。
- 桁上げ保存アキュムレータのページへのリンク