作者:能P开普票j专G票q903095933 | 来源:互联网 | 2023-09-16 15:36
总线是计算机系统中从设备与总线控制器之间交换数据的通道。扩展总线是由PC机中发展出的概念,指的是连接PC系统中的CPU与插在扩展槽上的外设之间的总线。PCIExpress就是一种扩
总线是计算机系统中从设备与总线控制器之间交换数据的通道。扩展总线是由 PC 机中发展出的概念,指的是连接 PC 系统中的 CPU 与插在扩展槽上的外设之间的总线。PCI Express 就是一种扩展总线,但由于其高速低延迟的高性能,及良好的扩展性,PCI Express 在嵌入式系统中也获得了广泛的应用。
但 PCI 总线作为一种多设备共用的并行总线,其先天的劣势是:
1) 并行信号带来的信号完整性问题,以及共用信号线带来的驱动能力问题,这都使得总线频率难以提升。
2) 共用信号线的形式使得外设增多时无法满足实时性要求,分配给每个设备的带宽也急剧下降。
3) 并行总线使之使用了过多的针脚,增加了 PCB 布线和连接器设计的困难,影响嵌入式系统的集成度。
PCIe 总线是 PCI 总线的后继者。PCIe 是一种全双工的串行总线,并具有带宽可扩展的特性,而且向后兼容。
NVMe 协议兼容全部的 PCIe所支持的中断模式,并且这是由设备在初始化时与主机协商的,但规范中强烈建议不要使用 Legacy 模式。 在本文项目中,由于硬件限制(Xilinx 的 IP 核并不持 MSI-X),所以最终选择了MSI 作为设计中使用的中断模式。
PCIe 总线上并没有形成类似 USB 的那么多标准化的逻辑接口,这与 PCIe 的定位有关。一般来说 PCIe 终端设备的驱动都是由各个厂商自行维护,以满足高性能的需求。PCIe 用于大容量存储设备时依然是如此,众多厂商开发一系列互不兼容的产品,用于服务器等大型系统。这种情况持续至今,直到 NVM Express 出现。
NVM Express 正是一种为非易失存储介质在 PCIe 上的应用而设计的逻辑接口。作为一种存储器逻辑接口,NVMe 向主机隐藏了存储介质的细节&#