Newsgroups: fj.lang.c Path: coconuts.jaist!wnoc-tyo-news!icot10!ss151!ss151!chik From: chik@icot.or.jp (Takashi Chikayama) Subject: Re: Binary Floating Point Considered Harmful (was: Help!) In-Reply-To: makino@esanova.c.u-tokyo.ac.jp's message of 18 Oct 1994 04: 10:43 GMT Message-ID: Sender: news@ss151.icot.or.jp Reply-To: chikayama@icot.or.jp Organization: Institute for New Generation Computer Technology, Tokyo, Japan. References: Distribution: fj Date: Tue, 18 Oct 1994 11:52:08 GMT Lines: 43 10ビットで10^3種類の値を表す浮動小数点数の仮数部の表現をしたときに, シフトを10ビット単位ではなく10倍単位に行なうハードウェアについて: In article 牧野@東大駒場 さん: |これって「若干面倒」どころではないのでは? 《中略》 |というわけで、トラン |ジスタ数で4-5倍で速度は1/2か1/3ですから、面積当たりの計算速度では 10倍 |くらい損になりますね。 なるほど. 本気で考えればもうちょっとましな回路を設計できるかもしれま せんが, それにしてもペナルティは大きいということですね. |いろいろ工夫すればなにかできるかも知れませんが、そこまで苦労するくらい |ならただの BCD コードにしたほうが(メモリは3割程度余計にいりますが)賢 |明ではないでしょうか。 あれ? だって: A: 無理矢理10倍シフタを作る → 演算速度が10分の1 B: BCD → メモリが3割増し (演算速度もペナルティあり) C: 10ビットシフタで我慢 → 精度が平均5ビット損 (演算速度もペナルティあり) D: 現状の二進表現 → 人間が苦労 のうちのどれをとるかという選択ですよね. 倍精度ぐらいの長さなら5ビット (最悪でも9ビット) より3割の方がだいぶ大きいから, BCD よりは千進で10ビッ トずつシフトの方がまだましじゃありませんか? どうせ BCD で単精度じゃ足 りなさそうだし. 『BCD ならもう adder とかが LSI のセルライブラリにある』 とかいう理由は別ですが. |BCDで浮動小数点演算をというのは「あってもいい」とは思います。ただ、BCD |でも通常の2進に比べて面積、速度で損なことにかわりはないので、浮動小数 |点演算の速さが売行きに影響する現状では BCD を採用すべきとは思えません。 もう20年ぐらいは待たないと『人間がちょっと勘違いしにくくなる』ぐらいの ことで, これだけのハードウェアコストはかけてもらえないだろう, というこ とでしょうか. 近山