PCI Express

PCI-Express(The ぴ - it does and - can meet the く the ぷ れ which is done it does),2002 yearPCI SIGIt was decided by,I/OSerial interfaceSo it is.

PCI bus, andPCI-XFault of the bus is supplied in order that,IntelWas advancing development3GIO(The り which is done - the じ - it meets and -) has become the basis.

Per 1 lane 2.At the transfer rate of 5Gbps, transmission/reception was separatedDuplexTo adopt system, 5GbpsBand widthIt has. In addition the lane plural is bundled, furthermore low レイテンシ and high band width are made possible, also x2, x4, x8, x16 and x32 are converted to specification. As for especially x16 PCI-ExpressAGPIt is utilized as interface of the graphic device which is substituted to the bus.

In addition new PCI Express x1 is designated as the basePC cardExpressCardIt is decided.

Table of contents

Details of development

Problematical point of parallel interface

It seems like the PCI busParallel interfacePutting, there is a method of 2 sorts below roughly in the method of increasing the band width of data transfer.

  1. Bus width is made thick, (increase of the data line)
  2. Transfer rate is increased, (acceleration of the clock)

You learned the PCI bus in this, could pull up data rate from 32bit/33MHz of beginning to 64bit/66MHz. Furthermore in the PCI-X bus it includes also the DDR conversion of the clock and to specification is converted to 64bit/266MHz.

But, naturally there is a limit in acceleration of the above-mentioned 2 techniques. What makes bus width thick to be connected to the increase of the data line, as for thatLSIIt becomes pin increase and rebounds in cost. In addition as for acceleration of the clock, from the necessity which adjusts the timing of the data and the clock, very high-level LSI design technology and board design technology are required, rebound in the same way in cost.

As shown above, as for parallel interface when it tries to increase band width, there is a problem that immediately it reaches high cost.

Gaining force of serial interface

The serial interface data transfer with 1 signal conductor existed for a long time, was loaded onto most PC at one timeRS-232C is famous. But, there was a circumstance that from problem of reliability low speed it can be used in only data transfer, there was no thing which appears for a while in the chart stage.

However,IBM imbedding the clock, serial makes data-oriented the parallel data,8b/10b technology. FurthermoreEthernetWhen so this system is adopted, spread spreads, 8b/10b function was loadedSERDESAlso cost of the tip/chip to decrease suddenly, furthermoreFibre ChannelAlso transfer rate accelerated suddenly and the giga bit ethernet (GbE) by appearance.

The appearance of PCI-Express

Intel which groped the interface of the next generation for band width insufficient cancellation of I/O interface NGIO (Next Generation I/O) with started the development of the serial interface which is said. On the one hand, in the same time Hewlett Packard and IBM, developed the serial interface which is called Future I/O as the I/O interface which is substituted to the PCI bus.

Both are integrated afterwards,InfiniBandWith it becomes the I/O interface which is called, but there was a decisive defect in InfiniBand. Aim toward advanced and ideal I/O interface even in remainder and fold, software level. Because of this,MicrosoftAnd so on it is passive in support, InfiniBand when it has spread, is inexpressible reaching up to presently.

Intel designated this failure as teaching, 3GIO (Third Generation I/O) started development. It makes PCI bus full compatible at software level, makes the successor of the orthodox PCI bus in order that,PCI-ExpressWith name was changed, the specification conversion with of PCI SIG was done.

Specifications

PCI-ExpressData transfer system the PCI bus compared to, the net - is done in the form which is close to the sending and receiving of the packet with work. Because of this also internal configuration has been similar to network, it is designed to be 3 layer system of the transaction layer, the data link layer and the physical layer.

When transmission is taken as example, the request which is issued from CPU and the other device the to packet is converted in the transaction layer, covers to the data link layer. The data link layer has borne the control of sending and receiving between the opposite side device which is connected, in the packet sequence number,CRC, it transfers to the physical layer. The packet is sent the physical layer in the part which takes charge of serial transfer, by SERDES which converts 8b/10b as the serial data.

Transaction layer

As for transaction layer mainly transaction layer packet (Transaction Layer Pakcet:TLP) Forming and decoding are borne. TLP consists of command and address and the data etc. such as lead/read and the light/write. In addition, the transaction layer also flow control with the connected partner. PCI-ExpressFlow controlIt is done in the credit base, this by his receiving beforehand it is possible buffer to the partner, designates being less crowded as the buffer it is the system which conveys the effect. When transmitting end keeps adding the size of the packet which itself transmitted, in addition from the transmission partner the being less crowded of the buffer can convey, subtraction it does that much. Because of this transfer of the packet becomes possible without exceeding the buffer size of the transmission partner.

トランザクション・レイヤはまた、パケットを任意のサイズに分割する機能を有する。例えば、PCI-Expressの場合、一つのTLPで最大4 KByteのメモリ・リードを発行することが可能である。しかし実際にメモリから一度に4 Kbyteを読むことは出来ない。それはCPUのキャッシュサイズに依存するからである。全てのメモリ・リードはキャッシュ・コヒーレンシ維持のため、CPUに対しキャッシュに最新データの有無を問い合わせる。例えばIntel系の32bit CPUはキャッシュ・ライン・サイズは64 Byteであるため、4 Kbyteのメモリ・リードは全て64 Byteの64個のメモリ・リードに分割される必要がある。
このように、トランザクション・レイヤは自デバイス内で都合の良いようにパケットを分割する。また、データを返す場合は、もとの要求サイズで返す必要はなく、分割したまま返信することも可能である(但し返す順序は入れ換えられない)。

トランザクション・レイヤは以下の4個のアドレス空間をサポートする。

  1. Memory 空間
  2. I/O 空間
  3. Configuration 空間
  4. Message 空間

前者3空間はPCIバス互換の空間である。Message空間は、従来サイドバンド信号で通知を行っていたもので、割り込み、電源制御などの通知に使用される。

データリンク・レイヤ

データリンク・レイヤは、トランザクション・レイヤと物理レイヤの中間に位置し、主にPCI-Expressリンクの管理、エラー検出と訂正を担う。

送信側データリンク・レイヤは、トランザクション・レイヤから渡されたTLPをバイナリ値とし、データを保護するためのCRCを算出し、さらにTLPの授受を確認するためのシーケンス・ナンバを、TLPに付加して物理レイヤに渡す。 受信側ではCRCによるデータ化けチェックと、シーケンス・ナンバによるパケット欠落チェックを行う。

受信側でエラーを見つけた場合、送信側に再送を促すためにNAK (Not Acknowledge) パケットをエラー検出したTLPのシーケンス・ナンバと共に送信側に返す。正常にTLPを受信した場合は、同様にACK (Acknowledge) パケットを返す。 エラーによるパケットの再送機能もデータリンク・レイヤが受け持っており、NAKを受信した場合そのシーケンス・ナンバから全て送信し直すことになる。このため、一般的にデータリンク・レイヤ内には再送バッファが実装される。

データリンク・レイヤはTLPの送受信の他にも、DLLP (Data Link Layer Packet) と呼ばれる、データリンク・レイヤ同士でのみ情報の交換を行うパケットの送受信も行う。ACK, NACKパケットや、フロー制御に使用するバッファ・サイズ通知などもDLLPが使用される。

物理レイヤ

物理レイヤは入出力バッファの制御回路、シリアル-パラレル/パラレル-シリアル変換回路、PLL、インピーダンス調整回路などから成る。

PCI-Express1.1での物理メディアは、2線,800mV差動で400ps単位でデータのドライブが行われる。送信、受信専用の信号を必要とする全二重方式であることから、x1の場合、実際には4本の信号が使用される。

PCI-Express 1.1までは2.5Gpbsでのデータ転送を行っているが、PCI-Express 2.0では5.0Gpbs以上のスピードを目指している。さらに、PCI-Expressをケーブルで接続するための仕様検討も行われている。 このように、物理レイヤは将来的により高速なメディアに置き換えられていくレイヤであり、このため物理レイヤとデータリンク・レイヤ間のインタフェースは特に規定されておらず各ベンダの実装依存となっている。

 

  > Japanese to English > ja.wikipedia.org (Machine translated into English)