PCIE与PCI区别
2024-04-30
636
0
PCIe是基于PCI的基础上演进而来的,所以,PCIe在很多地方都有PCI的影子。从软件角度看,基于PCI的驱动和软件几乎可以无缝移植到PCIe系统上来而不需要做任何改变。
PCI总线:传统并行架构
技术特性:
- 功能定位:为显卡、声卡、网卡等扩展卡提供标准化主板接口
- 版本演进:
- 基础版:32位总线宽度,支持最多5个设备
- PCI-X升级版:扩展至64位总线
- 核心局限:
- 带宽共享导致性能瓶颈
- 最高传输速率仅133-533 MB/s
- 不支持热插拔与高级电源管理
PCIe总线:革新性串行架构
技术突破:
- 架构设计:采用点对点串行连接(类似网络拓扑),彻底解决带宽共享问题
- 性能优势:
- 单通道(x1)含4线(2发/2收),每周期传输1比特
- 多通道配置(x2/x4/x8/x12/x16/x32)实现带宽阶梯式提升
- 单通道速率从250 MB/s(1.0版)至数十GB/s(新版)
- 功能增强:
- 支持双向数据传输与热插拔
- 内置交换机管理多设备独立连接
- 提供等时传输与动态电源管理
Linux内核中pci的定义同样适用于PCIe(include /linux/pci.h)
而从硬件角度看,差异就非常大了。
- Intel革了自己的命,推出了PCIe。最重要的一点是把并行传输改成了串行。
- PCI是共享型总线,多个设备共享一条总线,这种情况下必然存在总线总裁。PCIe则是点对点连接,一个设备直接连接到另一个设备,不存在总线竞争和仲裁。
- PCI总线上是单向传输,任意时刻只有一个方向的传输,PCIe则是任意时刻都可以双向传输。
- PCI有很多的边带控制信号,如FRAME#, IRDY#, TRDY, STOP#等。PCIe总线上传输的都是基于包(packet),控制和其他处理都嵌入在包里。
PCIE与PCI区别
PCI/PCI-X | PCIe | |
---|---|---|
总线 | Up to 64bit | 8bit |
时钟 | Up to 133MHz | 2.5G/5G/8G/16G |
传输速度 | Up to 1066Mb/s | 250Mb/s(单lane单向 @ Gen1) |
传输模式 | 单向并行 | 双向串行 |
总线类型 | 共享 | 点对点 |
边带信号 | 有 | 无 |
PCI与PCIe核心参数对比
参数 | PCI | PCIe |
---|---|---|
总线类型 | 并行 | 串行 |
传输方向 | 单向 | 双向 |
带宽分配 | 共享 | 独占 |
连接器尺寸 | 较大 | 紧凑 |
等时传输 | 不支持 | 支持 |
带宽扩展性 | 固定 | 可扩展(通过多通道配置) |
电源管理 | 基础 | 高级 |
传输速率 | 133-533 MB/s | 单通道250MB/s起,多通道达GB级 |
最大设备数 | 5 | 32 |
拓扑结构 | 共享总线 | 点对点/交换拓扑 |
热插拔支持 | 否 | 是 |
Gen1 单lane的PCIe的带宽为什么不是2500M / 8=312.5MB呢?
PCIe Switch相当于PCI总线中的什么?
基于PCI开发的软件能否运行在PCIe上?
可以。