从零开始讲PCIe(5)——66MHZ的PCI总线与其限制

一、前言

在之前的内容中,我们已经基本了解了PCI总线的设计思路和传输机制,之前的内容我们都是基于33MHZ版本的PCI总线进行学习的,为了支持更到的带宽,PCI协议还有一种66MHZ的版本。

二、高带宽PCI(66MHZ)

为了支持更高的带宽,PCI规范进行了更新,支持了更宽 (64位)和更快(66 MHz)的版本,从而实现了533 MB/s的传输速率。图1-14展示了一个66 MHz、64位PCI系统的示例。

在更新的PCI版本中,64位宽度使得数据传输量在每个时钟周期内增加了一倍,而66 MHz的时钟频率也进一步提升了数据传输速率。这些改进使得PCI总线能够更好地支持高带宽需求的设备,如高性能网络接口卡、显卡和存储控制器。

具体来说,在这种系统中,每个时钟周期能够传输64位(8字节)的数据,并且每秒钟的时钟频率为66百万次,因此最大带宽计算如下:带宽 = 64位(8字节) × 66 MHz = 528 MB/s(理想状态下),近似为533 MB/s。这种带宽的提升对当时的硬件系统来说是重要的进步,能够更好地应对不断增长的外设带宽需求。

三、66MHZ PCI的限制

尽管66 MHz的PCI总线相较于33 MHz的总线将吞吐量翻了一倍,但这一设计有一个显著的缺陷:依然使用相同的反射波切换模型 ,但可用的时间预算只有原来的一半。这意味着总线的负载必须大幅减少。结果是每条总线只能支持一个扩展卡。如果想增加更多设备,就必须增加更多的PCI桥接器和总线,这不仅增加了成本,还增加了电路板的空间需求。此外,64位PCI总线增加了引脚数量,导致系统成本上升,同时降低了系统的可靠性。这些因素共同作用,导致64位或66 MHz版本的PCI总线在市场上的普及受限。

简而言之,虽然66 MHz、64位PCI提高了数据传输速率,但由于负载限制、系统复杂性和成本的增加,它在实际应用中并没有得到广泛推广。这也是为什么多数系统选择继续使用较低频率和32位PCI总线的原因。

在66 MHz以上的时钟频率下,传统的并行PCI总线难以有效工作。这是由于总线上存在的负载以及信号的传输延迟导致的。在66 MHz时,时钟周期为15纳秒,其中3纳秒分配给接收端用于建立时间(setup time)。对于PCI总线的"non-registered信号模型来说,减少接收端的信号建立时间到低于3纳秒是不现实的。其余12纳秒的时间预算则用于发射端的输出延迟和信号传输时间。

要想提高PCI总线的频率,意味着必须缩短时钟周期。然而,如果时钟频率超过66 MHz,传输的信号在接收端将无法及时接收并采样,从而导致数据错误。

为了解决这一问题,PCI-X总线 引入了一种改进的方式,即在使用输入信号之前,将所有输入信号先通过触发器(Flip-Flop)进行寄存处理。通过这种方法,信号的建立时间减少到1纳秒以下。建立时间的减少允许PCI-X总线以更高的频率运行,例如100 MHz甚至133 MHz。

四、PCI总线小结

PCI(Peripheral Component Interconnect)是上世纪90年代广泛应用的并行总线标准,旨在为计算机系统中的外设设备提供高效的通信和数据传输接口。它支持显卡、声卡、网卡等多种设备,并通过即插即用(Plug and Play)功能简化设备的安装和配置,使操作系统能够自动识别并分配资源。PCI还允许每个设备包含多个独立的功能模块(function),增强了灵活性。

PCI总线采用并行总线架构,多个设备共享同一总线进行通信,通过仲裁器控制设备的总线访问,确保设备之间的有序通信。它支持三种地址空间:内存地址空间用于设备的内存映射,允许CPU通过标准内存读写操作与设备交互;I/O地址空间专门用于外围设备的输入输出操作,CPU通过IN和OUT指令访问;配置地址空间则用于设备的识别和资源分配,每个PCI设备有256字节的配置空间,访问方式通过特定的I/O端口实现。此外,PCI支持多功能设备,每个设备最多可以有8个功能(function),如网络适配器的有线和无线功能。

PCI具有多个优势:即插即用功能(Plug and Play)使操作系统能够自动识别设备并分配资源,无需用户干预;设备兼容性强,支持显卡、声卡、网卡等多种设备;其中断管理机制通过INTA#等中断信号与系统通信,实现高效的中断处理。

为提高性能,PCI通过增加总线位宽(从32位到64位)和提高时钟频率(从33 MHz到66 MHz)来提升带宽,达到每秒533 MB的传输速度。然而,PCI的并行架构在更高频率下受到电气负载和信号延迟的限制,特别是在66 MHz时,其扩展能力和信号完整性遇到了瓶颈。为了支持更多设备,系统通常需要增加PCI桥接器和更多总线,这不仅提高了成本,还占用了更多板载空间。此外,PCI的并行设计导致带宽共享问题,多个设备同时工作时总线带宽被分摊,影响了整体性能。

为了在不牺牲兼容性的情况下进一步提高带宽和速度,PCI-X 被引入作为PCI的增强版本。PCI-X保持了与传统PCI的硬件和软件兼容性,但将频率提升至100 MHz甚至133 MHz,最大带宽达到1.06 GB/s至4.26 GB/s。PCI-X通过使用寄存器输入信号减少了建立时间,解决了PCI在高频率下的时序问题。然而,PCI-X仍然基于并行架构,存在引脚数量增加和扩展性限制等问题,最终未能广泛普及。随着技术的进步,**PCI Express(PCIe)**成为PCI和PCI-X的继任者。PCIe采用串行点对点连接,彻底解决了并行总线带宽共享问题,提供了更高的传输速率、更灵活的扩展能力以及更低的功耗。尽管如此,PCI和PCI-X在计算机硬件发展史上具有重要的地位,推动了设备互连技术的进步,并为现代系统的架构奠定了基础。

相关推荐
FPGA小徐12 小时前
数字IC/FPGA设计基础_ILA原理与使用
fpga开发
FPGA小徐13 小时前
FPGA 部署 YOLO 完整指南:从模型量化到 Zynq PS+PL 硬件加速
yolo·fpga开发
dadaobusi18 小时前
学习:chiesel,scala
学习·fpga开发·scala
爱吃汽的小橘19 小时前
异步FIFO核心揭秘:格雷码与指针同步
fpga开发
璞致电子20 小时前
基于 P201Pro | 接收端基础知识——Costas环锁定后为何仍会错?DQPSK与前导码相位校正(6)
经验分享·fpga开发·ad9361·软件无线电·sdr·qpsk·pzsdr
业余程序员plus20 小时前
RDMA-HCA-Mellanox网卡架构与初始化 (一)
pcie·rdma·hca·icm·mellanox·mlx5·command queue
璞致电子2 天前
基于 AD9361 (PZSDR‑P201Pro) 软件无线电实战综述:从板卡选型、硬件平台升级到 GNU Radio QPSK 完整收发链路
经验分享·嵌入式硬件·fpga开发·软件无线电·sdr·璞致电子
炎龙铠甲会合体2 天前
从 SPEC 到上板:在 Zynq-7020 上用 RTL 手写一个 YOLO 卷积加速器(完整教程)
yolo·fpga开发·axi·芯片验证
FPGA小徐2 天前
Vivado 按键消抖与复位模块代码修复详解:KEY_TOP、key、rst_gen 完整实战
fpga开发
炎龙铠甲会合体2 天前
AXI2ICACHE— AXI4-Full 四路组相联指令 Cache 设计与 UVM 验证
fpga开发·面试·芯片验证