PCI-X

PCI-X 是傳統 PCI 匯流排（Peripheral Components Interconnect）的升級版，有更高的頻寬。在 PCI Express 出現前，PCI-X 多用於伺服器和工作站。

PCI-X 是 1998 年由 IBM、惠普以及康柏（Compaq）等公司制定，採用 64 位元匯流排寬度，以及 133MHz 的頻率來傳送資料，相較於 PCI，有更多的接腳，而且所有的連線裝置會共享所有可用的頻寬，但兩者的協定相當類似。PCI-X 2.0 還可支援 266MHz 或 533MHz 的頻率。

PCI-X 還支援 MSI，這是一種主動通知的中斷機制。過去的 PCI 都是被動通知中斷，而且是共享中斷，當有裝置（device）發生中斷時，系統會通知 PCI 所有的裝置，這樣會造成時間的浪費。MSI 的特點是將中斷向量編號送至指定的記憶體，接著再觸發中斷。

歷史

背景和動機

在 PCI 中，若某個事務無法立即完成，目標裝置或發起方會透過發出重試周期來延遲處理，在此期間，其他代理裝置無法使用 PCI 匯流排。由於 PCI 缺少一種分割響應機制，允許目標裝置稍後返回資料，匯流排會一直被髮出重試周期的目標裝置佔用，直到讀取的資料準備就緒。而在 PCI-X 中，主裝置發出請求後便會與 PCI 匯流排斷開連線，這使得其他代理裝置能夠使用匯流排。分割響應僅在目標裝置準備好返回所有請求資料時產生。透過消除重試周期，分割響應提高了匯流排效率，因為在重試周期內無法進行資料傳輸。

在 PCI 中，由於獨特中斷線的相對稀缺，僅有的 4 箇中斷引腳（INT A/B/C/D）使得具有多個 PCI 裝置的系統需要多個功能共享一條中斷線，這增加了主機端中斷處理的複雜性。PCI-X 引入了訊息訊號中斷（MSI），這是一種透過向主機記憶體寫入資料來實現的中斷系統。在 MSI 模式下，功能的中斷不再透過拉高 INTx 線路來觸發，而是由功能部件執行一次記憶體寫操作到主機記憶體中系統配置的特定區域。由於內容和地址是基於功能進行配置的，MSI 模式的中斷是專用的，而非共享。PCI-X 系統允許同時使用 MSI 模式中斷和傳統的 INTx 中斷（儘管同一功能不能同時使用兩者）。

由於缺乏寄存 I/O，PCI 的最大頻率被限制在 66 MHz。而 PCI-X 的 I/O 則透過鎖相環（PLL）等手段將其時鐘訊號進行寄存，以主動控制匯流排引腳上的 I/O 延遲。這一改進縮短了建立時間，從而使得頻率能夠提升至 133 MHz。

某些裝置，尤其是千兆乙太網卡、SCSI 控制器（包括光纖通道和 Ultra320）以及叢集互連裝置，它們自身就足以耗盡 PCI 匯流排 133 MB/s 的頻寬。為了應對這一挑戰，業界採取了多種措施：有的將匯流排速度提升至 66 MHz，有的將匯流排寬度擴充套件至 64 位（相應地，引腳數從 124 個增加到 184 個），還有的同時實施了這兩種改進。這些擴充套件功能在 PCI 2.x 標準中作為可選部分得到了較為鬆散的支援，然而，在超越基本 133 MB/s 速率的情況下，裝置間的相容性問題依然棘手。

開發者們最終將 64 位與 66 MHz 的結合擴充套件作為基礎，並前瞻性地建立了 66 MHz 和 133 MHz 兩種變體，分別提供最高 532 MB/s 和 1064 MB/s 的頻寬。這一聯合成果被提交給 PCI 特別興趣小組（計算機協會特別興趣小組），並隨後獲得批准，成為所有計算機開發者均可採用的開放標準。PCI SIG 負責 PCI-X 的技術支援、培訓及合規性測試工作。IBM、Intel、微電子以及 Mylex 承擔起開發配套晶片組的任務，而 3Com 和 Adaptec 則致力於開發相容的外圍裝置。為了加速 PCI-X 在行業內的普及，康柏公司在其網站上提供了 PCI-X 開發工具。

PCI-X 1.0

PCI-X 標準由 IBM、惠普和康柏共同開發，並於 1998 年提交審批。這一標準旨在將專為伺服器設計的 PCI 本地匯流排擴充套件進行規範化，以解決 PCI 存在的若干不足，並提升如千兆乙太網、光纖通道和 Ultra3 SCSI 卡等高頻寬裝置的效能，同時支援處理器透過叢集方式互連。

英特爾對 PCI-X 僅表示了有保留的歡迎，強調下一代匯流排必須是一種 “根本性的新架構”。由於缺乏英特爾的支援，PCI-X 未能在個人電腦中得到廣泛應用。據《電子工程時報》的 Rick Merritt 所述，“PCI 特別興趣小組與一位曾主導加速圖形埠（AGP）開發的關鍵英特爾互連設計師之間的分歧，導致英特爾退出了初期對 PCI-X 的支援工作”。儘管如此，蘋果公司在其前幾代 Power Macintosh G5 中短暫採用了 PCI-X 介面。

首批採用 PCI-X 技術的產品於 1998 年問世，例如 Adaptec 的 AHA-3950U2B 雙通道 Ultra2 Wide SCSI 控制器，然而在當時，包裝上僅將 PCI-X 介面標註為 “64 位就緒 PCI”，預示著未來向前相容的可能性。實際的 PCI-X 品牌標識直到後來才成為標準，可能與配備 PCI-X 主機板的大規模上市時間相吻合。2001 年 8 月，當更多關於 PCI Express 的細節公佈後，PCI SIG 主席 Roger Tipley 表達了他的看法：“PCI-X 將在伺服器領域長久存在，因為它滿足了一定層次的功能需求，對於這些功能，轉向 3GIO（即 PCI Express）可能並不具備足夠的吸引力。我們從無法淘汰 ISA 的經歷中吸取了教訓，ISA 之所以能長期存在，正是因為許多系統並非高批次生產部件。”Tipley 同時宣佈，當時 PCI SIG 正計劃將 PCI Express 與 PCI-X 2.0 整合到一個暫名為 PCI 3.0 的統一規範中，但最終，PCI 3.0 這一名稱被用於對傳統 PCI 進行相對較小的修訂。

PCI-X 2.0

2003 年，PCI SIG 正式批准了 PCI-X 2.0 標準。該版本新增了 266MHz 和 533MHz 兩種頻率模式，分別提供大約 2,132 MB/s 和 4,266 MB/s 的資料傳輸速率。PCI-X 2.0 在協議層面進行了進一步改進，旨在增強系統穩定性，並引入了糾錯碼，以減少因錯誤導致的資料重傳。針對使用者對 PCI-X 形態因素 —— 尤其是 184 針聯結器 —— 的常見抱怨，新標準還開發了 16 位埠，使得 PCI-X 能夠適應空間受限裝置的需求。與 PCI Express 相似，PCI-X 2.0 增加了點對點（PtP）通訊功能，使得總線上的裝置可以直接相互通訊，從而減輕 CPU 或匯流排控制器的負擔。

儘管 PCI-X 2.0 具備諸多理論上的優勢，並且能夠向後相容 PCI-X 及 PCI 裝置，但截至 2008 年，其並未得到大規模實施。這一現象的主要原因在於硬體廠商普遍選擇整合 PCI Express 技術而非 PCI-X 2.0。

IBM 是少數幾家在其 System i5 Model 515、520 和 525 系列中提供 PCI-X 2.0（266 MHz）支援的廠商之一，並宣傳這些插槽適用於 10 千兆乙太網介面卡，他們也確實提供了此類介面卡。惠普則在其部分 ProLiant 和 Integrity 伺服器中提供了 PCI-X 2.0 介面，並推出了運行於 266 MHz 的雙埠 4 Gbit/s 光纖通道介面卡。AMD 透過其 8132 HyperTransport 至 PCI-X 2.0 隧道晶片支援了 PCI-X 2.0（266 MHz）。ServerWorks 曾是 PCI-X 2.0 的積極倡導者（甚至對第一代 PCI Express 持保留態度），其首席技術官 Raju Vegesna 尤為突出，然而他因與博通（Broadcom）高層在技術路線圖上存在分歧而很快被解僱。

2003 年，戴爾宣佈將跳過 PCI-X 2.0，轉而更快地採用 PCI Express 解決方案。據《PC Magazine》報道，英特爾在其 2004 年的技術路線圖中開始邊緣化 PCI-X，傾向於 PCI Express，理由是後者在系統延遲和功耗方面具有顯著優勢，更戲劇化地表述為避免了其 Tumwater 晶片組面臨的 “千針末日” 困境。

版本

PCI-X 的 64 位元版本如下:

擴充卡
66MHz（1.0 版加入）
100MHz（透過 133 MHz 轉換器應用於部分伺服器）
133MHz（1.0 版加入）
266MHz（2.0 版加入）
533MHz（2.0 版加入）
插槽
66MHz（見諸於舊式伺服器）
133MHz（多用於新式伺服器）
266MHz（甚少，已被 PCIe 取代）
533MHz（甚少，已被 PCIe 取代）

與 PCI 的區別

PCI-X 在本質上還是 PCI 的一個擴充套件版本，故與 PCI 同樣使用並列傳輸介面，但在傳輸速度、擴充套件性和物理外觀方面有一些顯著的區別 ，且 PCI 裝置不能在不經轉換的情況下，直接連結 PCI-X 介面

在傳輸速度上，與 PCI 相比，PCI-X 具有更高的資料傳輸速度。它最初支援的最大速度是 1 GHz（64 位，133 MHz），頻寬可達 1 GB/s（PCI 最高為 264 MB/s）。後來的版本（PCI-X 2.0）進一步提升了頻寬，支援更高的頻率（最大 533 MHz），頻寬可達 4 GB/s。

在擴充套件性上，傳統的 PCI 匯流排通常最多支援 5 個或 6 個裝置，而 PCI-X 則能夠支援更多裝置的擴充套件，且提供了更好的擴充套件性和裝置支援，能夠處理更多的並發裝置和更高的資料傳輸需求。

在物理插槽上，PCI 插槽通常為 32 位或 64 位設計，並且標準化，常見於大多數桌面和伺服器計算機中，而 PCI-X 插槽的設計與傳統的 PCI 插槽不同，通常是 64 位寬，並且支援較高的頻率。雖然 PCI-X 插槽與 PCI 插槽在形態上相似（都使用長插槽），但 PCI-X 裝置與標準 PCI 裝置不完全相容。主機板必須明確支援 PCI-X 接口才能使用 PCI-X 裝置。

與 PCI Express 的混淆

PCI-X 經常與另一種名為 PCI Express 的滙流排架構相提並論，甚至因為 PCI Express 的泛用縮寫是 PCI-E 或 PCIe，使得它們不管怎麼看都和 PCI-X 很相似；除了字型字意很像之外，PCI-X 和 PCI Express 的英文發音也很相近所以很容易造成混淆。然而從外觀及效能上看，這兩者仍有差異性。如果換個角度，從功能上來看，除了兩者都是一種高速電腦內部週邊裝置的滙流排的這個共通點外，在應用方面它們卻是不同的；首先 PCI-X 是一種並列傳輸介面，它可以向下相容於所有早期的 + 3.3V PCI 滙流排（但不容於最早期的 + 5V PCI BUS），然而 PCI Express 卻是一種串列傳輸介面，它是全新設計用來取代 PCI 和 PCI-X 的。

在過渡時期裡有些廠商發展出一種橋接方式讓 PCI-X 或 PCI 滙流排可以和 PCI Express 滙流排併存於同一個系統中，這就像過去曾出現過 ISA 滙流排與 PCI 滙流排同時出現在同一塊主機板上的情形一樣。其次在最大頻寬方面 PCI-X（533-1066MB/S）甚至是後來的 PCI-X 2.0（2.1-4.2GB/S）也不是 PCI Express 的對手。即使是規格最低的 PCI Express X1 也可以提供單一方向 250MB/S 的速度（全雙工時 x 2 倍），若是最高規格的 PCI Express X32 還可以提供 32 個通道總共單向 8GB/S 的頻寬。

若再考慮技術與成本的方面，PCI Express 更遠遠勝於 PCI-X。不難想象在 PCI-X 的設計室裡，佈線工程師們要如何才能把 64 條資料線放進小小的接線區；同時還要考慮同步、雜訊、串音、屏敝等一連串的問題。相較之下串列傳輸就不必考慮這麼多因素，因此在電路設計上就簡單很多。此外不管是 PCI 還是 PCI-X 都只是半雙工的通訊機製，但 PCI Express 卻完全可以用全雙工方式進行通訊。此外在同一個滙流排裡因為平行傳輸的關係，雖然控製器可以和每個接入的裝置自動協調傳輸速率，但卻必需選用各個裝置中速度最慢者的速度作為滙流排內共同的傳輸速度上限，高速裝置往往因此而失去特別作用。而 PCI Express 與其相比就更有效，因為串列傳輸的關係各個通道彼此獨立，可以各自皆以最高速度進行通訊，讓各自的能力完全發揮。

最後對比兩者的插槽的長度，PCI Express 即使拿最長的 X16 版本來和最短的 PCI-X 版本作比較，後者（PCI-X）119.91mm 的長度還是比前者（PCI Express）89mm 的總長還要長許多（非常規的 Mini PCI 不在此進行比較），這使得 ATX 規格或更小型機箱和主機板廠商會更喜歡 PCI Express。