跳转到内容

PCI-X

本页使用了标题或全文手工转换
维基百科,自由的百科全书
PCI-X
A PCI-X Gigabit Ethernet expansion card.
發明日期1998年
發明者IBM惠普以及康柏
替代介面PCI Express
替代日期2004年
闊度64
最多連接1 per slot
带宽1064 MB/s
類別并行
熱插拔yes
外置介面不支持

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

PCI-X 是1998年由IBM惠普以及康柏(Compaq)等公司制定,採用64位元匯流排寬度,以及133MHz的頻率來傳送資料,相較於PCI,有更多的接腳,而且所有的連接裝置會共享所有可用的頻寬,但兩者的協定相當類似[1]。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位元版本如下:

  • 擴充卡
    • 66 MHz(1.0版加入)[1]
    • 100 MHz(通過133 MHz轉換器應用於部分伺服器[2]
    • 133 MHz(1.0版加入)[1]
    • 266 MHz(2.0版加入)[1]
    • 533 MHz(2.0版加入)[1]
  • 插槽
    • 66MHz(見諸於舊式伺服器)
    • 133MHz(多用於新式伺服器)
    • 266MHz(甚少, 已被PCIe取代)
    • 533MHz(甚少, 已被PCIe取代)

與PCI的区别

[编辑]

PCI-X在本質上還是PCI的一個擴展版本,故與PCI同樣使用並列傳輸介面,但在傳輸速度、擴展性和物理外觀方面有一些顯著的區別 ,且PCI設備不能在不經轉換的情況下,直接鏈接PCI-X接口[3]

在傳輸速度上,與PCI相比,PCI-X具有更高的數據傳輸速度。它最初支持的最大速度是1 GHz(64位,133 MHz),帶寬可達1 GB/s(PCI 最高爲264 MB/s)。後來的版本(PCI-X 2.0)進一步提升了帶寬,支持更高的頻率(最大533 MHz),帶寬可達4 GB/s。[1] [3][4]

在擴展性上,傳統的PCI總線通常最多支持5個或6個設備,而PCI-X則能夠支持更多設備的擴展,且提供了更好的擴展性和設備支持,能夠處理更多的並發設備和更高的數據傳輸需求。 [1]

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

與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的。[6][7]

在過渡時期裏有些廠商發展出一種橋接方式讓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與其相比就更有效,因為串列傳輸的關係各個通道彼此獨立,可以各自皆以最高速度進行通訊,讓各自的能力完全發揮。[8]

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

注釋

[编辑]
  1. ^ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 PCI-SIG — FAQ — PCI-X 2.0. [2008-02-17]. (原始内容存档于2008-02-15). 
  2. ^ PCI-X vs. PCI-Express. [2008-02-17]. (原始内容存档于2008-02-11). 
  3. ^ 3.0 3.1 PCI 和 PCI-X 平台 - SPECTRUM Instrumentation
  4. ^ PCI-X - 通信术语的基础知识
  5. ^ PCI-X - 通信术语的基础知识
  6. ^ PCI Express - IBM 文档
  7. ^ 什么是 PCI 和 PCI Express? | Dell 中国
  8. ^ 评论:PCI-X 2.0 和 PCI Express 的影响(第 1 部分) 1. 什么是传统 PCI 的继任者 PCI 3.0? - @IT

外部連結

[编辑]