[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: kernel softfloat emulation



浦田です。

At Thu, 18 Nov 99 20:20:07 +0900,
Takao Shinohara <shin@sm.sony.co.jp> wrote:
> 浮動小数点の引数や返値の受渡し規定が異なるので、バイナリ互換性はありませ
> ん。したがって、userlandのバイナリは混在することはできません。整数演算中
> 心のプログラムだと異常に気が付かないかもしれませんが。

やっぱりそうですよね。

> もともと浮動小数点演算性能が必要ないアプリケーション向けに作られたCPUで
> すので、性能をすっぱりあきらめてしまって、エミュレーションだけにしてしま
> うという手もあります。
> 
> カーネルでエミュレートしようが、softfloatで計算しようが、遅いことには変
> わりはありません。程度の差はありますが。

実際どの程度差があるのか、BYTE benchmarkをちょっとやってみました。
R300での結果です。

		userland	kernel
float		531.7		121.3
double		146.7		130.2

doubleの時はそれほどでもないんですが、floatの時に結構性能が落ちます。
これをあきらめきれるかどうかですね。

#単にfp.Sの単精度部分の出来が悪いのかもしれませんが・・・

---
Shuichiro URATA
ur@a-r.org