インテル QuickPath インターコネクト
QPIは、QuickPath technologyを実装するQuickPathアーキテクチャの一部である。最も単純な構成であるシングルプロセッサ(ユニプロセッサ)マザーボードでは、1つのQPIがプロセッサをIOハブと接続するためだけに(たとえばIntel Core i7とIntel X58を接続するために)使用される。より複雑なデュアルプロセッサやマルチプロセッサマザーボードにおいて、個々のQPIリンクは各プロセッサ同士とIOハブまたはルーティングハブを相互接続し、すべてのコンポーネントが個々のQPIリンクで構成されたネットワークを経由して他のコンポーネントに接続することを可能にする。すなわちAMDのHyperTransportと同様にQuickPath architectureは、各プロセッサが(メモリコントローラを統合していて)ローカルメモリを配下に持っていたとしても、それら個々のCPU用メモリ群をNUMAとして使えるようにする。
シングルプロセッサ(ユニプロセッサ)でしか動作しないCPUとそれをホストするIOハブが装備しているべき最低QPIリンク数は1である。デュアルプロセッサやマルチプロセッサとしても使えるCPUやそれをホストするIOハブが装備しているQPIリンク数は2以上である。例えば、あるクアッドCPU構成の場合、1つのCPUは他の3つのCPUと相互通信するために3つのQPIリンクを消費する。
リンク層は、80ビットのフリットを送受信することを担当する。各フリットは4つの20ビットのphitとして物理層に送られる。各フリットはリンク層のトランスミッタによって生成された8ビットのCRCを含む。リンク層のレシーバがCRCエラーを検出したとき、レシーバはフリットを経由してトランスミッタに通知し、トランスミッタはフリットを再送する。レシーバのバッファがオーバーフローを起こさないために、リンク層は貸方/借方の手法を用いたフロー制御を行う。
リンク層は、上位層がキャッシュの一貫性を保つため、データフリットをデータでないメッセージと区別できるよう6個のクラスをサポートする。QuickPath architectureの複雑な実装の中で、リンク層を、違うクラスのために別のフローとフロー制御を維持するように設定することができる。これがシングルプロセッサとデュアルプロセッサの実装のために必要であるか、実装されるかは明らかではない。