• ベストアンサー

クロック同期とは何と何の同期ですか?

機械初心者です。 クロック同期とは何と何の同期をさしているのですか? クロック数が大きいほどCPUの処理速度が大きいことから「クロック数」についてよく知りたいと思い、調べています。 ただ同期を取るという意味がよく分かりません。 どうして同期をとる必要があるのか、また同期をとることによってデータが遅延するらしいのですが 遅延するなら同期をとらなくてもいいのにと思ってしまいます。 バカげた質問かもしれませんが、アドバイスいただけたらうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Yorisin
  • ベストアンサー率54% (364/663)
回答No.2

ogawa_soraさんが言うように、デジタル通信では0/1 (実際にはもっと多値の場合もあります)をどこで判断するかが不明確であるため、 クロックという基準信号にあわせて送信/受信を行います。 例えば、コレ(↓)を見て下さい。 http://monoist.atmarkit.co.jp/fembedded/articles/eledrill3/3term/09/fig09_02.gif CLKがクロック、D,X,Y,Zがデータとします。 クロックが無い場合、0や1が連続したときにどれだけ連続したデータがあるのかが判断できなくなります。 このため、通常はデータと別にクロックラインを用意し、 クロックの立ち上がり(または立ち下がり、場合によっては立ち上がりと立ち下がり両方)に同期させます。 なお、遅延については何の情報であるかわかりませんが、 クロック同期を行うことで発生するのではなく、同期を取る必要があるので遅延による影響が発生しうるという事だと思います。

morningood
質問者

お礼

回答ありがとうございます! 二人三脚するときにするかけごえ(1,2、1,2・・)みたいなものがクロックということでしょうか。 参考URLでは、データDとX,Y,Zは同じデータですが クロック同期のためにちょっとあとで入力されたX,Y,Zが遅れているということでしょうか。 0と1が、たとえば01010101と並んでいたら問題ないが、0000011011と並んでいる場合はクロックの回数で0と1がそれぞれ連続している数をカウントしてあげる必要があるというのは分かりました。 丁寧な説明ありがとうございます!

その他の回答 (2)

noname#252164
noname#252164
回答No.3

強いて言えば「全部」ですかね。 ものすごく遅い論理回路だとクロック同期していない回路というのもあるのですが、CPUみたいにある程度早い論理回路はクロック同期をしないと「設計がものすごく大変」になります。 たとえば 入力A,B 出力Cがあって、たとえばA,Bが1ミリ秒ごとに変化することにします。(コンピュータってこういうことを大量、高速にやる装置ですよね) 演算を C = A XOR B (A,Bが同じ値のとき C="1"、異なる値なら C="0") としたときに、 (A,B)=(0,0) から(A,B)=(1,1)に変化したときには、本来Cは"1"のままのはずですが、A,Bどちらかが早く変化(マイクロ秒単位で)したりすると、途中でその差の分だけあるべきでは無い出力C="0"が出力されます。(こういうタイミングのずれであるべきではない出力がでるのをハザードといいます) ハザードが発生すると、設計で考慮されていない状態に論理がなるので非常に危険ですが、回路の情報の遅延は情報を伝達する電線の長さやら、周囲の線との干渉により発生する浮遊容量などで変化しますので管理することが困難です。 CPUなどの大規模な論理回路では、遅れを管理するのがしんどいため、あるタイミングで"0""1"を判定させると決めることで、微小な時間の遅延を無視することをしています。これがクロック同期です。 実際のパソコンのマザーボードなどを見ると一部の配線がぎざぎざになっていて、それで遅延時間を調整しています。(高速通信をする比較的長い配線は、こうやって遅延をコントロールする必要がある。同期をすることで、遅延を考慮する配線の数をある程度減らせる。) 同期を使わない論理回路を作ると、遅延を管理するために、そこらじゅうで遅延を管理する必要が出てきて設計が困難になります。

morningood
質問者

お礼

回答ありがとうございます! 演算でも クロックが小さなズレを調節するとても大きな役割をはたしているというのがよく分かりました。 クロックが一定の周波数を維持しているのに、データ信号にタイミングのズレが生じるということから コンピュータは本当に繊細な機械なのだと改めて感じました(ズレがクロックよりも大きくなることはないですよね)。 回路について興味がわいたので勉強したいと思います! ありがとうございました。

  • ogawa_sora
  • ベストアンサー率36% (468/1280)
回答No.1

今晩は。 データ信号とクロック信号のタイミングを合わせることで同期を取ると 言います。(ビット同期とも言います) http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E5%90%8C%E6%9C%9F%E8%A8%AD%E8%A8%88 ディジタル信号の伝送には,同期が大切です。 ディジタル信号は、究極的には「0」か「1」しかない信号ですから、ど こから始まってどこで終わるのかが明らかでないと、信号としては伝送 できてもデータとしては意味をなさなくなるからです。 参考までに!

morningood
質問者

お礼

回答ありがとうございます! データというのがもともと「信号」であるという考えが欠落していました。 普段の生活だと 目にみえるもの(0101が書いてある紙のようなイメージ)をデータとして意識しているので・・。 非常に勉強になりました。

関連するQ&A

  • クロック数について

    CPUのクロック数で3.0GHzってものすごい速いですか?700MHzに比べるとやはりものすごい差が出る物なのでしょうか。まだ初心者なのでよく意味の分からない質問をしているかもしれませんが、回答よろしくお願いします。

  • クロック周波数について

    CPU性能のMHz。すなわちクロック周波数とは何なのかを調べたら、 「動作の同期をとるために出しているクロック信号の1秒間の振幅数」でした。 動作の同期をとるって何だろうって、考えたらとりあえずタイミングを図ることと考えれば良いかな、と思いました。ところで、なぜタイミングを図る必要があるのでしょうか。どういう時にタイミングを図ることの必要性が生じるのでしょうか。その具体的なイメージみたいなことを誰か教えていただけませんか。

  • CPUの処理速度を表している規格はクロック数だけですか?

    CPUの処理速度を表している規格はクロック数だけですか?

  • 「クロックの歪み」とは何でしょうか?

    Fortranプログラムをコンパイルしたところ,「クロックの歪みを検出しました.不完全なビルド結果になるかもしれません」との表示がでました. 「クロック」の意味 (1)時計 (2)クロック周波数のこと.これが大きいほど,コンピュータの処理速度が速い. 程度のことしかよくわからないのですが,この場合,どちらの意味になって,どう解釈すればよいのでしょうか.

  • CPUをオーバークロックしたいのですが…

    私、NEC の「PC-LL750CD」のノートPCを使っているのですが、CPUの処理速度に満足いかず、お金もかけたくないので、オーバークロックをしようと思ったのですが、オーバークロックについては全くの初心者なので質問しました。 安全性や、オーバークロックのやり方について教えてください。 回答お待ちしております。 スペック CPU:Celeron M 350J 1.3GHz メモリ:増設したので1512mb とりあえず以上です。 その他の情報は http://qurl.com/6cbyq でお願いします。※短縮URL

  • ノートPCのクロック周波数

    同じCPUでもノートPC搭載CPUの方が、デスクトップ搭載PCよりもクロック周波数の値が小さいのですが、これはなぜですか? また同じ種類のCPUであれば、周波数に関係なくノートPCもデスクトップPCも同じ速度で処理できるのでしょうか? 回答お待ちしています。 よろしくお願いします。

  • クロック周波数の計算問題について

    クロック周波数に関する問題を解こうとしているのですが、 公式がどうも覚えづらくて仕方ないのですが・・・ 何か良い解き方はないものでしょうか? 【問題】基本情報処理 平成19年 秋  「 1GHzで動作するCPUがある。このCPUは,機械語の1命令を平均0.8クロックで実行できることが分かっている。このCPUは1秒間に約何万命令実行できるか。 」 【公式】   (1) 1クロックの時間 = 1÷クロック周波数   (2) 1命令の実行時間 = 1命令の実行に必要なクロック数×1クロックの時間   (3) 1秒間の命令実行回数 = 1÷1命令の実行時間(命令) --------------------------------------------------------------- 【考え】  公式より、   (3)の答えを出したければ (2)が必要であり   (2)の答えを出したければ (1)が必要である。     であるから、先に(1)を求め (2)を求め (3)を最終的に求める。  という風に解いてはいるのですが、教科書を見ながらだと解ける状態ですが、いざ時間を空けると公式を忘れてしまって、この手の問題が解けないことがあり、困っています。   何か逆算みたいで、覚えづらいので一度覚えてもすぐに忘れしまうのですが・・・     この問題をとく方法としては、一旦、解き方の流れを把握して、求め方を覚えるしかないでしょうか? 【ふとした疑問】   この問題をしてふと思ったのですが、クロック周波数の計算事態は、実際にどこでどういう場面で使われるものなのでしょうか? 何だか、ただ問題を解いているようで、ちょっとイメージが浮いている感じがしているのです・・・(汗)   

  • CPUのクロック周波数が1クロック何秒になるかについて

    簡単な問題なのかもしれませんが、 質問させていただきます。 私の通っている学校で課題が出されたのですが、 CPUのクロック周波数が例えば4、0Ghzだったとき、1クロックが 何秒になるかってどうやって計算すれば分かるでしょうか? また、小数点ではなく整数で出してくれと言われたのですが・・・ 分かる方いらっしゃったら是非回答お願いします! 初心者にも分かるように説明していただければ幸せこの上ないです。

  • クロック周波数と値段に関して

    クロック周波数と値段に関して ノートPCの値段についてなのですが、 i5-2540M vPro 2.5 GHzモデルのものが7万円くらいで売られていて それと全く同じ機種で、クロック周波数が2.7 GHzのものが12万円とかで 売られていたりするのですが、 クロック周波数7%くらい上がるだけで、5万円程度にも違いが見られるものですか? 単純にCPUの動作速度が7%上がるだけで、実感速度としては 微々たるものだと思うのですがどうでしょうか?

  • CPI クロック周期について

    コンピュータの勉強はじめました。CPIは 一命令を実行するさいに必要となる平均のクロック周波数とかいてあり 値が小さいほど演算処理速度が速いとかいてあるのですが  理屈が残念ながら全然わかりません。しろうとが理解できる説明 していただけますでしょうか。