私の理解では、最新のコンシューマーCPUのほとんどは同期ロジックに基づいています。一部の高速アプリケーション(信号処理など)は、高速化のために非同期ロジックを使用します。
しかし、今日の市場では、消費者製品の速度が主なセールスポイントの1つです(AMD対Intelを参照してください)。より複雑なリソグラフィの開発は、完全非同期ロジックの採用よりも高速ですか それとも、非同期ロジックはVLSIアプリケーションには複雑すぎる/実用的ではありませんか?
私の理解では、最新のコンシューマーCPUのほとんどは同期ロジックに基づいています。一部の高速アプリケーション(信号処理など)は、高速化のために非同期ロジックを使用します。
しかし、今日の市場では、消費者製品の速度が主なセールスポイントの1つです(AMD対Intelを参照してください)。より複雑なリソグラフィの開発は、完全非同期ロジックの採用よりも高速ですか それとも、非同期ロジックはVLSIアプリケーションには複雑すぎる/実用的ではありませんか?
回答:
私は非同期設計技術を商業化するスタートアップに数年を費やしたので、その理由をよく知っています。
非同期は本質的に高速ではありません。最悪の場合のパス遅延は同じままです。単に、より高速なパス実行を利用できるようになることもあります。
非同期には完了検出のオーバーヘッドもあります。
設計ツール。これは本当に大きなものです。同期設計と同じ品質で利用できるツールの完全な非同期「フロー」は実際にはありません。
トレーニング。新しいパラダイムとツールについて、すべてのデザイナーを効果的に再教育する必要があります。
リスクと保守主義。業界の大部分は「最後のものと似たものを生産していますが、少し異なっています」。これは働く可能性が非常に高いです。企業は、数千万ドルを要する合計償却になる可能性がはるかに高いため、まったく異なる何かを構築することをmuchします。
非同期集積回路を設計することは非常に魅力的です。他の答えは、それを行う前に考え直す多くの理由をすでにカバーしています。ここにもう1つあります。
IC開発は設計で完了していません。検証とテストも同様に重要です。同期回路の設計ツールは非常に高度であるだけでなく、シミュレーションツールやテスト機器でも同じです。
ラボ条件で回路を動作させるだけでは十分ではありません。これらは、動作電圧(V)範囲、動作温度(T)範囲、および製造プロセス(P)による変動に対して堅牢である必要があります。同期ロジックの場合、これは静的タイミング解析を使用して保証できます。回路は、フリップフロップからフリップフロップまでのすべてのタイミングパスに分けられます。セットアップおよびホールドタイムは、タイミングパスごと、およびP、T、Vのさまざまな組み合わせでチェックされます。これらのPTVの組み合わせは、いわゆるシミュレーションコーナーです。
非同期回路に対しても同様の検証を行うことができますが、設計ツールによるサポートははるかに難しく、サポートもはるかに少なくなります。また、設計者は実際に検証できる非同期構造に制限されます。任意の非同期回線の信頼できる検証はありません。
ハードウェアのテストに関しても同様の問題があります。同期ロジックのテストは、テスト標準および機器によって完全にサポートされています。非同期回路のテストはより複雑であるだけでなく、タイミングの抽象化がないため、回路がすべてのPTVコーナーで機能することを証明するだけでも十分ではありません。サーキットは、コーナーでカバーされていないPTVの組み合わせでの競合状態が原因で故障する可能性があります。
IC設計者は非同期パラダイムをあきらめていませんが、非同期ロジックには検証と検証中に大きな欠点があります。産業の文脈では、非同期IC設計は、プロセス変動の全パラメータ空間、および温度と電圧の動作範囲で機能することが証明できる構造に制限する必要があります。
いわゆる「ローカル同期グローバル非同期」設計は、両方のタイミングパラダイムの利点を増やし、欠点を少なくする1つの方法です。
非同期バイナリカウンタは、2分周ごとに1つのメモリセルまたはTフリップフロップのみを使用するため、より単純です。したがって、古いCDおよび74HC4020および4040は、多くのバイナリステージを安価に提供します。各ステージのプロップ遅延は、結果をラッチするために立ち下がりエッジを使用するプロップ遅延が入力クロックサイクルの1/2未満でない限り、バイナリアドレスのゲートデコードで競合状態またはグリッチなしで使用できないことを意味します。次に、出力レイテンシにNステージが乗算されます。
同期バイナリカウンターは、D FFに余分なメモリセルを使用して遅延しますが、カウンターの長さによって遅延を1の値に最小化し、より多くの領域を消費します。
したがって、すべてのCPUは相補クロックを使用して、アドレスおよびメモリの読み取り/書き込みの予想レイテンシを最適化し、スループットを最大化しますが、プロップの遅延、セットアップ、およびホールド時間を超えません。
メモリは、DDR、3DR、4DR、5DRなどの多くのフェーズを特にグラフィックメモリで使用しますが、CPUクロックはシングルサイクルRAMレートよりもはるかに高速であるため、読み取りまたは書き込みアドレスの遅延は、 Tパラメーターで指定されたスーパークロック(100MHz xNなど)または各パラメーターの整数カウント。これらのプロップ遅延は、温度とともに増加します。CMOSの場合、Vram電圧を高くすると低下します。適切に冷却すると、レイテンシーまたはその他のPdおよび温度上昇が低下し、悪化(遅く)する可能性があります。そのため、非同期操作または同期操作のどちらで使用する場合でも、冷却、V、f、Tはすべて最適なレイテンシーにとって重要です。
初期の論理設計は非同期でした。多くの場合、それらもアナログ回路と混在していました。しかし、時間の経過とともに設計が複雑になり、より多くのエンジニアが単一の設計に取り組む必要がありました。非同期のタイミング図。多くの状態がある場合、ロジックは扱いにくい場合があります。ここで、さまざまなロジックブロックを相互に接続しようとするエンジニアのチームを追加しますが、それらの間のタイミングはあまりうまく調整されていません。設計は、予期しない方法での変更に対して脆弱になります。
同期論理設計に入ります。これで、すべての状態フローがクロック信号に揃えられ、インターフェイスを非常に明確に定義できるようになり、設計変更に対してより堅牢になりました。はい、より多くのゲートを使用する可能性がありますが、設計により(通常)安定しています。誰も触れない限り安定しているのとは対照的です!