あなたの習慣について教えてください!!

1秒間に発振する(電圧の最大値と最小値を繰り返す)回数をクロック周波数という。
フロップス 1秒間に浮動小数点数演算が何回できるかを表す。
とwikipeにのっていたのですがどちらの説明も主語が何か分からないのでイマイチこの二つの概念が分かりません。

調べていて某サイトで
1並列(並列とは言わないけど)回路を持ったCPUでクロック周波数が1Hzなら1FLOPSになりますが、2並列回路を持ったCPUでクロック周波数が0.5Hzでも1FLOPSになります(2×0.5=1)。
とありました。
 それでこれを見てフロップスの定義が分からなくなったのですが。
 フロップスはwikipeによれば"1秒間に浮動小数点数演算が何回できるか"ですよね。でも上記サイトだと"回路の列×クロックの周波数"とありますよね。
 これはどういったことなのでしょうか。

A 回答 (2件)

クロック周波数は、1秒間に何回動作できるかを表します。


1回路が1クロックで浮動少数点演算出来る場合は、回路数×クロック周波数となります。

周波数とは、振動などが単位時間あたりに繰り返される回数であり、その逆数は周期となります。

参考URL:http://www.pc-view.net/word_id-0053.html
    • good
    • 1
この回答へのお礼

URLを参考にしたいと思いますご解答ありがとうございました。

お礼日時:2007/03/21 09:52

昔のプロセッサだとx87演算装置(数値データプロセッサ)がなかったため、1クロックで1回のFP処理も出来ませんでしたけどね。



クロック周波数は毎秒でどれだけ回路同士の同期が取れるかを意味します。要は1秒間に何回入り口と出口が開くかです。Hzは電気の振幅を表す単位で、既に質問にあるとおりです。データはその振幅の波にのって送られているのです。
そのため、周波数が高く波が多ければ、より何度もデータを送り迎えすることができるのです。クロックが高ければ実質同じプロセッサなら浮動小数点演算能力も高くなります。

1回のクロック同期(1Hz)で理論上1回のFP処理が行えるプロセッサがあった場合、1GHzでは1GFlopsの処理能力があることになります。
近年のプロセッサでは、複数の分岐処理とパイプライン(流れ作業)を行うことで、1Hz同時に処理できるFP処理数が増えていますし、逆に処理によって減ることもあります。
これはプロセッサは条件分岐を行い、命令をパイプ内で専用の回路がそれぞれ処理します。要は、自動車の組み立てと同じでボンネットを付けてドアを付けてという専用の作業工程のように、プロセッサにも専用の作業工程があるのです。こうすることで、数クロックで1つの処理を完了させるため、効率が高くなります。それを複数持つことで並列処理ができるのです。(遅くなる理由は後述)

例えば、Pentium4は同時に4つの和と4つの積算(FP)処理を2クロックで行えます。そういう処理回路があり、1クロックで1回の処理ではないのです。(これは単精度時<32bitSIMD処理>です。倍精度<64bitSIMD>では1/2になります)

そのため、理論上3GHzで12GFlopsの演算が可能になります。
ただし、これは回路として見た場合の話で、"回路の列×クロックの周波数"というものになります。"1秒間に浮動小数点数演算が何回できるか"という点の目安として列数とクロック周波数の高さがあるのです。
これは、演算回路として何個のFPUがあるか×周波数を意味しますから、理論として性能を出す場合は正しいものです。これが絶対値(性能の最高値)になります。


尚、実際の性能はこうなるでしょうか?

いくら"回路の列×クロックの周波数"であっても、実際の処理は違います。同時に4つの和と4つの積算を常に行うプログラミング処理は現実にはそうそうありません。また、分岐ミスによって処理が滞り数クロック分を無駄にすることもあります。
そのため、実際の性能を測るにはある専用のFP計算ソフト(ベンチマークソフト)で"1秒間に浮動小数点数演算が何回できるか"を計算させたものとなります。
"1秒間に浮動小数点数演算が何回できるか"というのはそこになります。
ただし、ソフトウェアの物理的な処理がどうなるかは、作業するソフトウェアやプログラミング手法によって変わるため、性能数値として実際に用いられるのは、前者の論理演算能力です。
    • good
    • 4

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A