インテル QuickPath インターコネクト


 QuickPath  (QuickPath Interconnect, QPI)Common System Interface (CSI)YAP(Yet Another Protocol)YAP+DECAlphaMMDC (Massachusetts Microprocessor Design Center) QPIXeonItanium200811Intel Core i7Intel X5820093NehalemXeon5500使NehalemXeonTukwilaItanium使

概要

編集

QPIQuickPath technologyQuickPath1QPIIOIntel Core i7Intel X58使QPIIOQPIAMDHyperTransportQuickPath architectureCPUNUMA使

CPUIOQPI1使CPUIOQPI2CPU1CPU3CPU3QPICPUIOQPI

QPI204284205480 (Flit :Flow control unit)224808864QPI264

4使QPI使QPI20+1110+15+1

Nehalem425.6GB/使X48使1600MHzFSB2

QuickPath インターコネクトの周波数の仕様

編集

QPI2.4GHz3.2GHzCore i7 9209402.4GHz28064(GB/s)QPI23.2GHz20QPI25.6GB/s2.4GHz19.2GB/s20QPI48

:
  • 3.2GHz
  • x 2 bits/Hz (2倍のデータ転送速度)
  • x 20 (QPIのリンクの幅)
  • x (64/80) (データビット/フリット全体のビット)
  • x 2 (双方向)
  • / 8 (ビット/バイト)
  • = 25.6 GB/s

プロトコルレイヤ

編集

QPIは物理的、リンク、ルーティング、トランスポート、プロトコルの5レイヤアーキテクチャーで規定される。Core i7やXeon DPプロセッサなどの転送なしでポイントツーポイントのQPIのみを意図したデバイスでは、トランスポートレイヤは存在せず、ルーティングレイヤは最小である。

物理層

編集

物理層は、実際の配線と差動トランスミッターとレシーバー、および物理層単位で転送と受信を行う最も低レベルのロジックによって構成される。物理層単位は20ビットの「phit」である。20ビットのphitを送るとき、20レーンすべてが使用可能であるときには20レーンを用いてシングルクロックで転送し、失敗のため再設定される際は10レーン・5レーンを使用する。

リンク層

編集

リンク層は、80ビットのフリットを送受信することを担当する。各フリットは4つの20ビットのphitとして物理層に送られる。各フリットはリンク層のトランスミッタによって生成された8ビットのCRCを含む。リンク層のレシーバがCRCエラーを検出したとき、レシーバはフリットを経由してトランスミッタに通知し、トランスミッタはフリットを再送する。レシーバのバッファがオーバーフローを起こさないために、リンク層は貸方/借方の手法を用いたフロー制御を行う。

リンク層は、上位層がキャッシュの一貫性を保つため、データフリットをデータでないメッセージと区別できるよう6個のクラスをサポートする。QuickPath architectureの複雑な実装の中で、リンク層を、違うクラスのために別のフローとフロー制御を維持するように設定することができる。これがシングルプロセッサとデュアルプロセッサの実装のために必要であるか、実装されるかは明らかではない。

ルーティング層

編集

ルーティング層は8ビットのヘッダと64ビットのペイロードからなる72ビットのユニットを送る。ヘッダはあて先とメッセージタイプを含む。ルーティング層がユニットを受け取ると、ユニットがその目的地に到着したかどうかを判定するために、ルーティングテーブルを調査する。正しく到着したならば、より上位の層に送られる。到着していないならば、正しい外向きのQPIに送られる。一つしかQPIが存在しない機器であれば、ルーティング層は最小である。より複雑な実装では、ルーティング層のルーティングテーブルはより複雑であり、故障したQPIのリンクを避けるために動的に修正される。

トランスポート層

編集

トランスポート層は必須ではなく、Core i7のようにポイントツーポイント接続しかない機器には存在しない。直接接続されないかもしれない(すなわち、データが介在機器によって発送されたかもしれない)他のデバイス上のQPIのピアからQPIネットワークを横断してデータを送受信する。トランスポート層は、データが完全であることを確認し、そうでなければ、再送をそのピアに要求する。

プロトコル層

編集

プロトコル層は機器のためにパケットを送受信する。典型的なパケットはメモリキャッシュ列である。プロトコル層はまた、キャッシュの一貫性のメッセージを送受信することによって、キャッシュ一貫性の維持に関与する。

関連項目

編集

外部リンク

編集