
電子工学、特に同期デジタル回路では、クロック信号(歴史的にはロジックビートとも呼ばれる)[ 1 ]は、一定の周波数で高状態と低状態の間を振動する電子ロジック信号(電圧または電流)であり、デジタル回路の動作を同期させるためにメトロノームのように使用されます。最も一般的なタイプのデジタル回路である同期ロジック回路では、クロック信号はすべてのストレージデバイス、フリップフロップ、ラッチに印加され、それらすべてが同時に状態を変化させ、競合状態を防ぎます。
クロック信号は、クロックジェネレータと呼ばれる電子発振器によって生成されます。最も一般的なクロック信号は、デューティ比50%の矩形波です。クロック信号を同期に使用する回路は、クロックサイクルの立ち上がりエッジ、立ち下がりエッジ、またはダブルデータレートの場合は立ち上がりエッジと立ち下がりエッジの両方で動作を開始します。
十分な複雑さを持つほとんどの集積回路(IC)は、回路のさまざまな部分を同期させるためにクロック信号を使用し、そのサイクル速度は最悪の場合の内部伝搬遅延よりも遅い。場合によっては、予測可能な動作を実行するために複数のクロックサイクルが必要となる。ICが複雑化するにつれて、すべての回路に正確で同期されたクロックを供給するという問題はますます困難になる。このような複雑なチップの代表的な例は、現代のコンピュータの中核部品であるマイクロプロセッサであり、水晶発振器からのクロックに依存している。唯一の例外は、非同期CPUなどの非同期回路である。
クロック信号は、ゲート処理されることもあります。つまり、回路の特定部分に対してクロック信号を有効または無効にする制御信号と組み合わせられるのです。この手法は、デジタル回路の一部が使用されていないときに効果的にシャットダウンすることで消費電力を削減するためによく用いられますが、タイミング解析の複雑さが増すという欠点があります。
現代の同期回路のほとんどは、単相クロックのみを使用する。つまり、すべてのクロック信号は(実質的に)1本のワイヤで伝送される。
同期回路では、2 相クロックとは、それぞれパルスが重ならない 2 本のワイヤに分配されるクロック信号を指します。従来、一方のワイヤは位相 1またはφ1 ( phi 1 ) と呼ばれ、もう一方のワイヤは位相 2またはφ2信号を伝送します。[ 2 ] [ 3 ] [ 4 ] [ 5 ] 2 つの位相が重ならないことが保証されているため、一方の位相のラッチへの入力が他方の位相のラッチからの出力のみに依存する限り、エッジトリガ フリップフロップではなくゲート ラッチを使用して状態情報を格納できます。ゲート ラッチは、エッジトリガ フリップフロップの 6 ゲートに対して 4 ゲートしか使用しないため、2 相クロックは全体的なゲート数が少ない設計につながりますが、通常は設計の難易度とパフォーマンスに何らかのペナルティが発生します。
1970年代の金属酸化物半導体(MOS)ICは、一般的にデュアルクロック信号(2相クロック)を使用していた。これらは、Motorola 6800とIntel 8080マイクロプロセッサの両方で外部で生成されていた。[ 6 ]次世代のマイクロプロセッサは、チップ上でクロック生成を組み込んだ。8080は2MHz のクロックを使用するが、処理スループットは1MHzの6800とほぼ同じである。8080は、プロセッサ命令を実行するためにより多くのクロックサイクルを必要とする。6800は動的ロジック のため、最小クロックレートは100kHz 、8080は最小クロックレートが500kHzである。両方のマイクロプロセッサの高速バージョンは1976年までにリリースされた。[ 7 ]
6501は外部の2相クロックジェネレータを必要とします。MOS Technologyの6502は内部で同じ2相ロジックを使用していますが、2相クロックジェネレータをチップ上に内蔵しているため、単相クロック入力のみで済み、システム設計が簡素化されます。
初期の集積回路の中には、 4相ロジックを使用するものがあり、4つの独立した重複しないクロック信号からなる4相クロック入力が必要でした。[ 8 ]これは、ナショナルセミコンダクターのIMP-16、テキサスインスツルメンツのTMS9900、DEC LSI-11で使用されたウェスタンデジタルのMCP-1600チップセットなどの初期のマイクロプロセッサで特に一般的でした。
4相クロックは、DEC WRL MultiTitanマイクロプロセッサ[ 9 ]やIntrinsityのFast14テクノロジーなどの新しいCMOSプロセッサでごくまれにしか使用されていません。ほとんどの最新のマイクロプロセッサとマイクロコントローラは、単相クロックを使用しています。
現代の多くのマイクロコンピュータは、「クロック乗算器」を使用しており、これは低周波数の外部クロックをマイクロプロセッサの適切なクロック周波数に乗算します。これにより、CPUはコンピュータの他の部分よりもはるかに高い周波数で動作することができ、CPUが外部要因(メモリや入出力など)を待つ必要がない状況でパフォーマンスが向上します。
デジタル機器の大部分は、固定された一定の周波数のクロックを必要としません。最小クロック周期と最大クロック周期が守られていれば、クロックエッジ間の時間は、あるエッジから次のエッジへ、そしてまた元の状態へと大きく変化しても問題ありません。このようなデジタル機器は、スペクトラム拡散クロック生成や動的周波数スケーリングなど、周波数を動的に変化させるクロックジェネレータでも問題なく動作します。静的ロジックを使用する機器には、最大クロック周期(つまり、最小クロック周波数)さえありません。このような機器は、無期限に速度を落として一時停止し、後でいつでもフルクロック速度で再開することができます。
高精度アナログ・デジタル変換器などの高感度混合信号回路では、クロック信号として方形波ではなく正弦波が使用されます。これは、方形波にはアナログ回路に干渉してノイズを引き起こす可能性のある高周波高調波が含まれているためです。このような正弦波クロックは、多くの場合差動信号です。これは、このタイプの信号が同じ電圧範囲のシングルエンド信号に比べてスルーレートが2倍、つまりタイミングの不確実性が半分になるためです。差動信号は、単一のラインよりも放射が弱くなります。あるいは、電源線と接地線でシールドされた単一のラインを使用することもできます。
CMOS回路では、ゲート容量は継続的に充電と放電を繰り返します。コンデンサ自体はエネルギーを消費しませんが、駆動トランジスタでエネルギーが無駄になります。可逆コンピューティングでは、インダクタを使用してこのエネルギーを蓄積し、エネルギー損失を低減できますが、インダクタは非常に大きくなる傾向があります。あるいは、正弦波クロック、CMOS伝送ゲート、および省エネルギー技術を使用することで、消費電力を削減できます。
クロック信号をチップの必要なすべての部分に最小限のスキューで届ける最も効果的な方法は、金属グリッドを使用することです。大型マイクロプロセッサでは、クロック信号を駆動するために使用される電力は、チップ全体の総電力の 30% を超える場合があります。両端のゲートと、その間のすべてのアンプを含む構造全体を、サイクルごとにロードおよびアンロードする必要があります。[ 10 ] [ 11 ]エネルギーを節約するために、クロックゲーティングはツリーの一部を一時的にオフにします。
クロック分配ネットワーク(または、Hツリーなどのツリー構造を形成する場合はクロックツリー)は、共通のポイントからクロック信号を必要とするすべての要素に分配します。この機能は同期システムの動作に不可欠であるため、これらのクロック信号の特性と分配に使用される電気ネットワークには多くの注意が払われてきました。クロック信号は単純な制御信号と見なされることが多いですが、これらの信号には非常に特別な特性と属性があります。
クロック信号は通常、同期システム内の信号の中で最も大きなファンアウトを持ち、最も高速で動作します。データ信号はクロック信号によって時間的な基準が与えられるため、クロック波形は特にクリーンでシャープである必要があります。さらに、これらのクロック信号は、技術スケーリング(ムーアの法則を参照)の影響を特に受けやすく、長いグローバル相互接続線は、線径が小さくなるにつれて抵抗が著しく増加します。この線抵抗の増加は、同期性能におけるクロック分配の重要性が高まっている主な理由の1つです。最後に、クロック信号の到着時間の差異や不確実性を制御すると、システム全体の最大性能が著しく制限され、誤ったデータ信号がレジスタ内にラッチされる競合状態が発生する可能性があります。
ほとんどの同期デジタルシステムは、直列レジスタのバンクをカスケード接続し、各レジスタセット間に組み合わせ論理回路を配置した構成になっています。デジタルシステムの機能要件は、論理ステージによって満たされます。各論理ステージは、タイミング性能に影響を与える遅延を発生させるため、タイミング解析によって、デジタル設計のタイミング性能をタイミング要件との関連で評価できます。多くの場合、タイミング要件を満たすためには特別な配慮が必要です。例えば、パイプラインレジスタを等間隔の時間ウィンドウに慎重に挿入して、クリティカルな最悪ケースのタイミング制約を満たすことで、グローバルな性能とローカルなタイミング要件を満たすことができます。クロック分配ネットワークを適切に設計することで、クリティカルなタイミング要件が満たされ、競合状態が発生しないことが保証されます(クロックスキューも参照)。
一般的な同期システムを構成する遅延要素は、メモリ記憶要素、論理要素、クロック回路および分配ネットワークという3つの個別のサブシステムから構成される。
これらの問題を改善し、効果的な解決策を提供するために、新しい構造が現在開発されています。重要な研究分野には、共振クロック技術(「共振クロックメッシュ」)[ 12 ] [ 13 ] [ 14 ] [ 15 ] 、オンチップ光相互接続、およびローカル同期方法が含まれます。
EV6のクロックサブシステムが消費する電力は、コア全体の電力の約32%でした。比較すると、EV56では約25%、EV5では約37%、EV4では約40%でした。
Eby Friedman 氏のACM SIGDA e-newsletterのIgor Markov氏によるコラムを基に作成。Wayback Machineに 2014 年 8 月 12 日にアーカイブ済み 。原文はhttps://web.archive.org/web/20100711135550/http://www.sigda.org/newsletter/2005/eNews_051201.htmlで閲覧可能。