从零开始讲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在计算机硬件发展史上具有重要的地位,推动了设备互连技术的进步,并为现代系统的架构奠定了基础。

相关推荐
水饺编程1 小时前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-2
linux·嵌入式硬件·fpga开发
最好有梦想~4 小时前
FPGA时序分析和约束学习笔记(2、FPGA时序传输模型)
fpga开发
IM_DALLA5 小时前
【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL76
学习·fpga开发
诚实可靠小郎君952711 小时前
FPGA IO延迟的约束与脚本
fpga开发·fpga·数字电路
日晨难再1 天前
AMBA:APB的历史(从APB1到APB5)
arm开发·arm·硬件工程·fpga·数字ic
GGGLF1 天前
FPGA-UART串口接收模块的理解
fpga开发
北京太速科技股份有限公司1 天前
太速科技-495-定制化仪器户外便携式手提触摸一体机
fpga开发
9527华安1 天前
FPGA实现PCIE图片采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
fpga开发·pcie·xdma·hdmi
水饺编程1 天前
简易CPU设计入门:取指令(三),ip_buf与rd_en的非阻塞赋值
fpga开发