09/04/08 13:49:20 K8YML4QU
かろうじてx86で10Gflops越えのデータ見つけた。
URLリンク(www.hpc.co.jp)
いまのところ12Gflopsくらいが上限のようだ。
しかし、このなかでベクトルユニットをどのくらい使っているのかわからない。
ベクトルを使わないベンチマークどこかにないか?
よく考えてみたら、普通x86って、x86命令をμOPに変換して
3~4の処理部を通して処理するはずだ。
そう考えれば、クロック×処理部が処理能力になる。
チップによっても違うが、x86、1命令を平均で1.5μOPコードに変換して
処理部で並列に処理する。おおざっぱに1クロックあたりx86命令を3命令
処理できるとしよう。実際にはもう少し下がる。
また、実際の処理にはパイプラインが埋まらないとかキャッシュのミスヒット
があるわけだが、これも無いとしよう。
そうすると4GHzで動いているx86は、4GHz×3命令で12GIPS(InstructionPerSecond)
の命令を処理することが出来る。
これは命令処理数であって演算処理能力ではない。
演算する場合にはデータをロード、演算し、ストアする手順が必要だ。
これをもとに何GFlopsに換算すればよいのか、だれか教えてくれ。
すくなくとも12GFlopよりは小さいと思われる。そのため、ベクトルユニットを使った
ベンチマークであるのは間違いないと思う。