日記
XScaleのキャッシュバグ問題 (13:48)Edit

現行のXScale PXA250には、キャッシュ周りにハードウエア的なバグがあり、そのため公式発表通りのパフォーマンスが出ていない(実際に市場に流れている製品では、キャッシュ周りの機能を一部殺している)。Windows CEとかで、旧StrongARMマシンと比べてXScale化された新マシンが速くない理由として、「OSがXScaleに最適化されていないため」だと言われていたが、それは嘘(正確な事実の公表ではない)で、実際にはXScaleのハードウエアバグが主な原因なのでは。という話。

具体的にいうと、PXA210とPXA250にはWrite Backキャッシュにバグがあるんで、現行の機種(少なくともLinux Zaurusでは。Windows CE系はOSソースが公開されていないので不明。CPU設定を覗く系のツールで確認できるのかな?)ではWrite Throughで動かしている状態になっている。Write Back有効と無効でどのくらいパフォーマンスに差が出るのかは不明。もしもその影響が大きいのだとしたら確かに問題だ。

理屈で言うと、非常に局所性が高く、かつ、データの書き込みも発生するような処理においては、Write Backキャッシュ有効/無効でのパフォーマンスの差は大きくなるはず。OSレベルでそういう処理はどのくらい多いものなんだろう? 何にしろ次期Linux Zaurusにおいては、メモリの増強以外にもCPUバグフィックス済みのものに置き換えを希望しよう。


スラドにもスレが立っていた。

でそれを読んで、この問題を「問題がある」というためには前提条件が必要であることに思い当たった。それは、XScaleの売り文句がWrite Backキャッシュ有効時のパフォーマンスを前提にしたものであったのかどうか、ということ。Write Backキャッシュ無効時のパフォーマンスを前提に宣伝して売っていたのならば、それは全然問題がない。いわゆる「それは仕様です」だからだ。しかし、Write Back有効時のパフォーマンスを前提に(ベンチマークなどでその場合の値を公表し)売っていたにも関わらず、実際にはそのスペックを満たしていなかったとしたら、それは問題になる。さてこの場合はどっちだったんだろう。

Published At2002-12-22 00:00Updated At2002-12-22 00:00