こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CPUのクロックはどのように生成するのでしょうか?

水晶で数十MHzの信号を出し、PLLで位相を整え、トランジスタでたたき上げる方式かな?と考えています。
Wikipediaにある、Core2, Conroeでは、266×n(n = 7-10)としてあるので、266MHzの中間周波数にたたき上げた後、逓倍にたたき上げるのかな?と勝手に想像しています。

投稿日時 - 2007-10-12 15:32:29

QNo.3422989

暇なときに回答ください

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

Intel の CPU の場合, Pentium4 以降は「CPU に与えるクロックは FSB の 1/4」です (CPU 内部の PLL で逓倍しています).
だから, 例えば FSB が 1066MHz の Core2 なら CPU に与えるクロックは (1066 / 4 =) 266MHz です.
で, これをどうやって作るかというと, Intel の Core2 のデータシートでは「CK410B というクロックジェネレータを使えば仕様は全部満たせる」と書いています. で CK410B の仕様を見ると, クロック入力として水晶の 14.31818MHz をとり, これをもとに 100/133/166/200/266/333/400MHz (CPU), 100MHz (SRC = Serial Reference Clock), 33MHz (PCI/PCI free running), 48MHz (USB) の各クロック信号を生成しています (仕様からはうまく読めませんが, CK410B 内部でも PLL を使っている: この PLL が生成する周波数は不明).
だから, Intel の仕様書をそのまま使うと
・水晶で 14.31818MHz を作る
・その信号を CK410B に入れて, CPU に与える (266MHz などの) クロックを作る
・そのクロックをもとに CPU が内部の PLL で指定されたクロックを生成する
という手順になります.
かなり手を抜いて書いていますので, 詳細はそれぞれの仕様書にあたってください.

投稿日時 - 2007-10-12 20:14:35

補足

有難うございます。
感覚的に分かりました。
Intelの仕様書をざっくり読みましたが、同じようなことが書いてありました。詳しく読んでみたいと思います。

投稿日時 - 2007-10-13 03:25:55

お礼

・・・補足を書いてしまいました。
お礼は補足と一緒です。

投稿日時 - 2007-10-13 03:29:38

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>ppmでみれば同一です。
基準周波数比で見ればどちらも同一です。

>無線のGHzの周波数の作り方が、質問で書いたやり方
確かに昔はバラクターダイオードや、トランジスターによる逓倍回路で目的周波数を作っていましたが、周波数が高くなると逓倍の段数が多くなり、電力を使って熱を発生しやすくなるので、今ではほとんどの場合一発発振か、ミキサーを合わせて目的周波数を作ります。
その昔々、その昔は、144MHzの周波数を作るのに12MHzの水晶から12逓倍(3*4または3*2*2の逓倍を使用する)していました。これと同じようにしてGHzの周波数を作ることにすると大変な段数が必要でかつ、その動作の安定度(周波数ではなく回路そのもの)にも十分な保証を得ることが難しく、大量生産向きでなくなります。

投稿日時 - 2007-10-14 08:41:58

ANo.3

PLLの回路に逓倍は使いません。
必ず、目的の発振周波数から分周して位相比較します。
普通の増幅器に正帰還をかけて発信器を作ります。
その時、コンデンサーに可変容量ダイオードを使用し、電圧で容量を可変できるようにします。
水晶発振の信号は位相比較の基準信号として使用し、全体の安定度を高める為に使用しているだけです。
水晶の 14.31818MHzはテレビのカラー調整用サブ信号の3.579545MHzの4倍にあたり、一般的に入手しやすい為、使用する周波数です。
フリーの安定度を無視した発振器なら、ギガヘルツ帯でも十分に作成でき、コイルは基板上に線を作るだけでもインダクターになります。
No.1では「数十MHzの信号」と誤って書いてしまいましたが「数GHzの信号」でも今ではこの手法を使う事ができます。
逓倍を用いると必ず安定度の絶対値が低下するのでせっかくPLLを使っているのにそのような事はしません。
たとえば、10MHzあたり10Hzの安定度は1GHzでは1KHzになってしまい、元の基準信号と同程度の安定度は保てなくなります。
ちなみに私は趣味で無線機の調整機をPLL回路で作ったことがあり、この時も「分周すれど逓倍せず」でした。

...........No.1の補足です。

投稿日時 - 2007-10-12 22:54:15

お礼

有難うございます。
基準となる精度の高い周波数源は水晶で、発信源は別に作るということでしょうね。

>たとえば、10MHzあたり10Hzの安定度は1GHzでは1KHzになってしまい、元の基準信号と同程度の安定度は保てなくなります。

とありましたが、ppmでみれば同じ1ppmですよね。周波数のゆらぎの絶対値は大きくなりますが、ppmでみれば同一です。
無線であれば、送信部ではクロストークの影響を考えたり、受信部のIMに落とすときに受信フィルタ帯域内に落とさなくてはいけないので、安定度は重要ですよね。
私が知っている無線のGHzの周波数の作り方が、質問で書いたやり方だったもので、同じかなあ??と思っていました。

投稿日時 - 2007-10-13 03:39:07

ANo.1

Wikipediaのどこに書いてあるのか判りませんが、数十MHzの信号を必要とする場合、直接LC発振し、その分周した周波数で位相比較しそれをLC発振にフィードバックする方法が多いと思います。この方法がいわゆるPLL発振回路の原理です。
特に水晶振動子の価格は30MHzを超えると極端に上昇します。
昔は、通信機などでも水晶発振を逓倍して使用していましたが、逓倍後の安定度の絶対値は逓倍前の値に逓倍数を掛け算した値になり、十分な安定度が得られない事からこの様な手法が用いられるようになりました。
実際の回路図を見た事はありませんが、CPUはCR発振回路でも十分に動作する(実際にZ80を2MHzで動作させた事があります)ので、クロックの正確性を必要としない部分はどのような方法でもいいことになります。
クロックの正確性を必要とする通信周りや、時計周りなどは十分に安定度のある発振回路(水晶発振)を用いる必要があります。

投稿日時 - 2007-10-12 18:24:40

あなたにオススメの質問