この記事の主な焦点は、デジタル電子システムにおける非同期制御です。[ 1 ] [ 2 ]同期システム では、操作(命令、計算、ロジックなど)は、1 つ以上の集中クロック信号によって調整されます。一方、非同期システムにはグローバルクロックがありません。非同期システムは、信頼性の高い動作のために信号やメッセージの厳密な到着時間に依存しません。調整は、ネットワークパケットの到着、信号の変化(遷移)、ハンドシェイクプロトコル、およびその他の方法によってトリガーされるイベント駆動型アーキテクチャを使用して実現されます。
非同期システムは、オブジェクト指向ソフトウェアと同様に、それぞれが明確に定義された通信インターフェースを持つモジュール式の「ハードウェアオブジェクト」から構成されるのが一般的です。これらのモジュールは、データ依存処理、動的電圧スケーリング、またはプロセス変動などにより、可変速度で動作する可能性があります。モジュールは、グローバルクロック信号を参照することなく、正しく動作するシステムを構成するために組み合わせることができます。コンポーネントは必要に応じてのみアクティブ化されるため、通常は低消費電力で動作します。さらに、いくつかの非同期方式はクロック付きインターフェースに対応できることが示されており、混合タイミング設計をサポートします。したがって、非同期システムは、大規模で異種混在かつスケーラブルなシステムを構築する際に求められる、構築段階からの正しさを確保する手法に非常に適しています。
非同期設計スタイルには幅広い種類があり、堅牢性とパフォーマンス(および電力などの他のパラメータ)の間にはトレードオフがあります。設計スタイルの選択は、アプリケーションのターゲット、つまり信頼性/設計の容易さ対速度に依存します。最も堅牢な設計は、ゲート遅延や配線遅延に関係なく正しく動作する「遅延不感回路」を使用しますが、このスタイルで設計できる有用なシステムは限られています。やや堅牢性は劣りますが、はるかに有用なのは、ゲート遅延に関係なく正しく動作する遅延不感最小項合成などの準遅延不感回路(速度非依存回路とも呼ばれる)です 。ただし、各ファンアウトポイントの配線は、ほぼ等しい遅延になるように調整する必要があります。堅牢性は劣りますが、単純な局所的な片側タイミング制約を必要とする高速回路には、基本モード動作(つまり、新しい入力を受信できるタイミングにセットアップ/ホールド要件がある)を使用するコントローラや、一致した遅延を使用するバンドルデータパス(下記参照)などがあります。極端な例として、高性能な「タイミング回路」が提案されている。これは、厳しい両側タイミング制約を使用するもので、クロックの使用を回避することは可能であるが、高速 パイプラインアプリケーションなどでは、慎重な物理的遅延調整が必要となる。
非同期通信は通常、通信チャネル上で実行されます。通信は、並行システムの動作を同期させるためと、データを渡すための両方に使用されます。単純なチャネルは通常、要求と確認の2本のワイヤで構成されます。「4フェーズハンドシェイクプロトコル」(またはリターントゥゼロ)では、送信側コンポーネントが要求をアサートし、受信側が確認をアサートして応答します。その後、両方の信号が順番にデアサートされます。「2フェーズハンドシェイクプロトコル」(またはトランジションシグナリング)では、要求側が要求ワイヤの値を(1回)切り替えるだけで、受信側が確認ワイヤの値を切り替えて応答します。チャネルは、データ通信にも拡張できます。
非同期データパスは、通常、いくつかの方式を使用してエンコードされます。堅牢な方式では、各ビットに 2 本のワイヤまたは「レール」を使用し、「デュアルレール エンコーディング」と呼ばれます。この場合、最初のレールは 0 値を送信するようにアサートされ、2 番目のレールは 1 値を送信するようにアサートされます。アサートされたレールは、次のデータ値が送信される前にゼロにリセットされ、「データなし」または「スペーサー」状態を示します。堅牢性は劣りますが、広く使用されている実用的な方式は、「シングルレールバンドル データ」と呼ばれます。ここでは、シングルレール (同期スタイル) のファンクション ブロックと、それに付随する最悪ケースのマッチング遅延を使用できます。有効なデータ入力が到着すると、リクエスト信号がマッチング遅延への入力としてアサートされます。マッチング遅延が「完了」出力を生成すると、ブロックの計算が完了したことが保証されます。この方式にはタイミング制約がありますが、それらは単純で、局所的 (同期システムとは異なり)、片側であるため、通常は検証が容易です。
この分野の文献は、さまざまな会議やジャーナルの議事録に存在します。主要なシンポジウムは、1994 年に設立された IEEE Async Symposium (International Symposium on Asynchronous Circuits and Systems) です。非同期に関するさまざまな論文は、1980 年代半ば以降、IEEE/ACM Design Automation Conference、IEEE International Conference on Computer Design、IEEE/ACM International Conference on Computer-Aided Design、International Solid-State Circuits Conference (2010 年 3 月 16 日にWayback Machineにアーカイブ)、Advanced Research in VLSI などの会議や、IEEE Transactions on VLSI Systems、IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems、Transactions on Distributed Computing などの主要ジャーナルにも掲載されています。
イゴール・マルコフがACM SIGDAの電子ニュースレターに掲載されたスティーブ・ノウィックのコラムを改編。 原文はhttps://web.archive.org/web/20060624073502/http://www.sigda.org/newsletter/2006/eNews_060115.htmlで閲覧可能。