2.7 PCI Express性能与效率
PCI Express为点对点的串行总线,通过链路实现两台设备互联。一条链路在每个方向上可以有X1、X2、X4、X8、X12、X16、X32个信号对。表2.2列出了PCI Express1.0版本不同链路宽度的总宽带数。在1.0版本中,每个通路在每个方向上的发送和接收速率是2.5Gb/s,2.0版本为5Gb/s,3.0版本为8Gb/s。表中的速率考虑了8b/10b所产生的25%的额外开销,以及PCI Express为双一单工链路的情况,所以X1的链路宽度为0.5Gb/s。
表2.2 PCI Express各种链路的峰值总带宽
PCIE链路宽度 X1 X2 X4 X8 X12 X16 X32
峰值总带宽(GBps) 0.5 1 2 4 6 8 16
在PCI Express链路流量中,由于DLLP的大小是两个双字,不会占用很大的带宽。
TLP数据包中一般有6-7个双字是用于开始和结束帧、序列ID、TLP头、EREC和LCRC字段的开销。TLP剩余的部分是0-1024个双字有效数据载荷。可以明显地看出,总线的效率和所传送的有效数据大小有关。如果TLP中含有大量的有效数据载荷,总线的效率则非常高。当然,目前TLP数据包中有效数据载荷大小受限于芯片组。
为了提高链路利用率,数据包可以实现背靠背传送,不让链路处于空闲状态。
对于分离事务,比如读事务的开销也是存在的。报告写事务比非报告写更能充分利用链路,所以存储器写比IO写效率更高,速度更快。
2.8 本章小结
本章主要讲述了PCI Express的基本元素、事务、设备层次、中断方式、配置空间、性能与效率等。以便为下面PCI Express硬件接口模块的实现做好铺垫。
3 硬件模块设计与实现
3.1 引言
利用IP核设计电子系统,引用方面,修改基本元件的功能容易。具有复杂功能和商业价值的IP核一般具有知识产权,尽管IP核的市场活动还不规范,但是仍有许多集成电路设计公司从事IP核的设计、开发和营销工作。IP核由两种,与工艺无关的VHDL程序称为软核;具有特点电路功能的集成电路版图称为硬核。硬核一般不允许更改,利用硬核进行集成电路设计难度大,但是容易成功流片。
IP内核可以在不同的硬件描述级实现,由此产生了三类IP内核:软核、固核和硬核。这种分类主要依据产品交付的方式,而这三种IP内核实现方法也各具特色。
软核是用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。是以硬件描述语言HDL源文件的形势出现,应用开发过程与普通的HDL设计也十分相似,只是所需的开发硬软件环境比较昂贵。软IP的设计周期短,设计投入少。由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活度和适应度。其主要缺点是在一定程度上使后续工序无法适应整体设计,从而需要一定程度的软IP修正,在性能上也不可能获得全面的优化。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。
硬核提供设计阶段最终阶段产品:掩膜。以经过完全的布局布线的网表形式提供,这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器转移级(RTL)文件,因而更易于实现IP保护。 WinDriver基于PCIE的数据存储卡开发+文献综述(6):http://www.youerw.com/tongxin/lunwen_6744.html