• 締切済み

FLOPSとGHzの違いについて

以前UDがん研究プロジェクトに参加しておりました。 賛同者の方で、みなさんにこのプロジェクトをもっと知ってもらいたいと、動画を作りになられた方もいます。 しかし、私がみた動画で、気になる点がありました。 グリッドコンピューティングを活用したプロジェクトだったのですが、参加者PCの合計の性能がスーパーコンピューターと比較されていた部分で、「FLOPS」という言葉が使われておりました。 私も調べてみたのですが、わかった事は日本語で GHz=動作周波数 FLOPS=浮動小数点数演算 と言う事くらいです。 このGhzとFLOPSの違いを、大変申し訳ないのですが初心者の私にもわかるように教えていただけないでしょうか…。 また、私が使っているCPUはE6600で2.4Ghzなのですが、FLOPS表記にするとどのくらいなのでしょうか? よろしくお願いいたします。

みんなの回答

  • parts
  • ベストアンサー率62% (6366/10151)
回答No.4

う~ん。簡単に言えば既に回答があるとおりです。 Hzは元々振幅を表す単位でヘルツ(周波数単位)といいます。例えば、電気のコンセントの交流電流は50Hz/60Hzで一秒間に電流が正負に50回または60回振幅しています。これは、ゆとり教育でどうなったか分かりませんが、小学校~中学校の理科で習う項目です。オシロスコープなどを使うかな? パソコンでいう動作周波数(正確にはクロック周波数と言います)は、この振幅を1秒間に何回するかを表した物です。それが性能にどのように直結するかというと、これは電気の流れだと思えば分かりやすいのです。 周波数の山や谷のどちらかまたは両方のエッジ(波頂点か谷の頂点)、一定量のデータをサーフィンで波にのっているかのように載せるのです。 波が小刻みであればその波にのって大量のデータが一秒間に運ばれます。 例えば、1GHzで1Hz辺り64bit(8バイト)のデータを転送できる64bitバスのプロセッサなら、2GHzで16GBの情報を1秒間で扱うことができます。実際には周波数は最大値ですか、波に乗り遅れたり、データが乗った波をうまく計算部で演算できず破棄される(遭難する)ケースもありますけどね。 即ち、まったく同じ構造のCPUなら性能の指標になります。(違う構造だとロスの数やバス幅が異なる場合がありますから、性能指標になりません) ただ、どれだけ転送できるかであり、どれだけの計算が出来ているかではないので、他のプロセッサと比べられないのです。 flopsはFloating point number Operations Per Secondの略で、1秒間(Per Second)に浮動小数点演算(Floating Point nunber/FP)をどれだけできるか(Operating/操作や制御の意訳)を指します。 flopsが1であれば、1秒間に1回。10なら10回です。1000回なら1Kflops(キロフロップス)、100万回なら1Mflops(メガフロップス)、10億回なら1Gflops(ギガフロップス)となり、1兆回なら1Tflops(テラフロップス)、1000兆回なら、1Pfops(ペタフロップス)となります。 これは、FPU(浮動小数点演算装置)の性能を測るためのもので、既に枯れつつあるALU(整数演算装置)の性能指標ではないことに注意してください。同じFPUでもインテルCPUの場合は、SIMDを利用するため、32bit単精度と64bit倍精度で数値が2倍(または1/2)に変化します。 単精度であれば、2コアがフル稼働すると仮定した場合に、3GHzでCore2は倍精度24Gflopsを達成できます。(クロックの4倍×2コア) 単精度なら、その1/2になります。 Core2はスカラ型の演算ユニットを利用する特性上、実際の実行クロックはそれより低くなります。 尚、これらの演算性能はOSやミドルウェア、アプリケーションなどの土俵が最適化されていての話です。例えば、Cellを使うPS3が200Gflopsを扱えるCPUでも、実際のソフトでそれを活用できるものの開発には時間が掛かりました。そのため、数字上の理論値や実行値と本当に業務に有用なソフトを使う上での性能は必ずしも比例するとは限りません。まあ、x86に関しては、同じプロセッサの延長線上にあるので、新しいほど高速化しますけどね。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.3

○GHz=動作周波数 ×FLOPS=浮動小数点数演算 FLOPSはFLO:浮動小数点数演算 P:Per S:Second ですので、FLOPSは1秒間に浮動少数点演算が何回 実行できるかを表し、コンピュータの性能を測る 1つの物差しです。 動作周波数は、CPU(に限りませんが、今回はCPU) が動作する、1つの単位の時間を表します。 動作周波数が高いほど、演算回数が増えるのは同じ タイプのCPUに対して言えます。 CPUのタイプによっては、少ない動作で沢山の浮動小 数点演算を行うものも、逆に少ないCPUもあります。 例えれば、自転車の変速機をローにした場合、一回転 の動作で進む距離は少ないですが、ハイにした場合は 一回転の動作で進む距離が多くなるようなものです。 ですので、複数のパソコンの総合能力を測る物差しと しては、動作周波数はそぐわないです。 つまり、自転車のペダルを何回転させた、ではなくて、 進んだ距離が何メートルかを表したい訳です。 1つの浮動小数点演算が、CPUによって何Hzで実行できる かはCPUのタイプによって違うことが分かったと思います。 Core2 というタイプのCPUが何Hzで実行できるかは私は あいにく知りません。 100FLOPSは流石に単位を間違えていると思います。 もし100MFLOPSであれば、25年位前の最低限のスーパーコン ピュータに匹敵します。それでも数億円のマシンです。 まあ、当時のパソコンのメモリが1MBが10万円しましたから、 4GBとかにしたら、それだけで4億円だった、という話になる ので価格は物差しとしては難しいですが。

  • ziv
  • ベストアンサー率27% (426/1542)
回答No.2

簡単なたとえ話に置き換えると 車なら 馬力=GHz 最高時速=FLOPS って感じでしょうか。

  • mizutaki
  • ベストアンサー率33% (111/333)
回答No.1

GHz 動作周波数 つまりはCPUが1秒間に何十億回の処理を行うか Flops 浮動小数点演算数 浮動小数点計算を1秒間に何度行う事が出来るか 指標にしてるポイントが違うんですよ Hzは単純にCPUの処理速度だけを表しているのですが、 Flopsは計算結果をはじき出す時間を表してます。 だからCPUが浮動小数点計算が得意であれば、高くなりやすいですし、 CPUが浮動小数点計算が苦手であれば、低くなりやすい。 CPU周りのパーツの性能が悪かったり、操るシステムが悪ければ、それが足を引っ張って浮動小数点計算の結果が出るまでの時間が長くなってFlopsが低くなります。 ちなみにCore2Quadの3GHzのCPUでしたら、100Flopsほどまで出るらしいです。(もちろんコアをフルに使って)

関連するQ&A