CN102420719B - 一种测试PCIe总线带宽的装置和方法 - Google Patents
一种测试PCIe总线带宽的装置和方法 Download PDFInfo
- Publication number
- CN102420719B CN102420719B CN201110383141.2A CN201110383141A CN102420719B CN 102420719 B CN102420719 B CN 102420719B CN 201110383141 A CN201110383141 A CN 201110383141A CN 102420719 B CN102420719 B CN 102420719B
- Authority
- CN
- China
- Prior art keywords
- module
- message
- dma
- message data
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明提供了一种测试PCIe总线带宽的装置,包括:位于主机设备中的内存;位于PCIe设备中的报文构造模块、DMA写引擎模块、DMA读引擎模块、报文解析模块、带宽计算模块;本发明还提供了一种测试PCIe总线带宽的方法,通过在PCIe设备的报文构造模块上构造报文,然后通过DMA写引擎模块将构造的报文上传到主机内存地址,以及通过DMA读引擎模块从主机内存地址读取存储的报文数据,最后在带宽计算模块中基于报文数据的总字节数和传输时间计算总线带宽;本发明提供的测试PCIe总线带宽的装置和方法,在增加了DMA方式下的测试效率的同时提高了数据测试结果的准确性。
Description
技术领域
本发明涉及计算机系统测试领域,具体涉及一种测试PCIe总线带宽的装置和方法。
背景技术
外部设备互联高速(Peripheral Component Interconnect Express,简称PCIe)总线是外部设备互联(Peripheral Component Interconnect;简称PCI)总线的一种,PCIe总线沿用了现有的PCI总线编程概念以及通讯标准,只需修改物理层而无需修改软件就可将现有PCI系统转换为PCIe系统。PCIe总线采用收发分开的串行物理层替代了PCI总线的并行物理层信号,PCIe总线拥有更快的速率,可以取代几乎全部的现有内部总线。PCIe总线上的数据传输是以报文(Packet)为单位的,报文的长度最小为1byte,不同设备支持的最大报文长度不同,PCIe规范定义的报文最大长度为4096bytes。
PCIe总线的连接是建立在一个双向的序列的点对点连接基础之上,这称之为“传输通道”,传送及接收不同数据会使用不同的传输通道;两个PCIe设备之间的连接称为“链接”,这形成了1组或更多的传输通道,各个设备最少支持1传输通道(X1)的链接,也可以有2、4、8、16、32个通道的链接,PCIe总线接口根据设备之间链路宽度的不同可以分为X1、X2、X4、X8、X16、X32这几种类型,X1表示PCIe总线接口上只有一个传输通道,X2、X4、X8、X16、X32的含义以此类推。不同链路宽度的PCIe总线的单向有效带宽为:链路宽度X1的带宽为2Gb/s、链路宽度X2的带宽为4Gb/s、链路宽度X4的带宽为8Gb/s、链路宽度X8的带宽为16Gb/s、链路宽度X16的带宽为32Gb/s以及链路宽度X32的带宽为64Gb/s。单向有效带宽是指PCIe总线接口上只有一个方向(数据接收方向和数据发送方向)存在数据流的最大带宽,双向有效带宽是指PCIe总线接口上有两个方向(数据接收方向和数据发送方向)都存在数据流的最大带宽。
现有技术中PCIe总线接口测试方法主要有两种:
第一种方法是使用专门的PCIe总线接口测试设备进行测试,这种方法可以对PCIe总线接口进行科学系统的测试,但是成本比较高。
第二种方法是使用直接存储器存取(Direct Memory Access;简称DMA)方法,这种方法可以简单方便地测试PCIe接口的实际最大带宽上。但是在测试PCIe接口的可靠性和稳定性方面存在不足。因为测试PCIe接口的可靠性和稳定性的时候,需要在PCIe接口上长时间传输随机长度的报文数据,且传榆的数据流量要达到PCIe接口的最大带宽。DMA方式下,每个随机长度的PCIe报文数据都需要CPU来生成,由于CPU的运算能力有限,这种情况下PCIe接口上传输的数据流量无法达其最大带宽,这样就不能测出PCIe接口的可靠性和稳定性。
发明内容
本发明的目的在于,提供一种测试PCIe总线带宽的装置和方法,在增加了DMA方式下的测试效率的同时提高了数据测试结果的准确性。
为实现上述目的,本发明提供一种测试PCIe总线带宽的装置,所述装置包括:PCIe设备和主机设备,其改进之处在于,所述主机设备包括内存;所述PCIe设备包括报文构造模块、DMA写引擎模块、DMA读引擎模块、报文解析模块和带宽计算模块;所述报文构造模块、所述DMA写引擎模块、所述内存、所述DMA读引擎模块、所述报文解析模块和所述带宽计算模块依次连接。
本发明提供的优选技术方案中,所述主机设备中的内存为从所述DMA写引擎模块写入的报文数据预留有相应的DMA写地址,并为所述DMA读引擎模块预留有相应的从所述主机内存读取报文数据的DMA读地址。
本发明提供的第二优选技术方案中,所述报文构造模块用于在所述PCIe设备上构造报文数据;所述DMA写引擎模块用于将所述构造的报文数据上传到所述主机内存;所述DMA读引擎模块将从所述主机内存读取的报文数据传输到所述报文解析模块;所述报文解析模块将报文数据的长度信息提交到所述带宽计算模块;所述报文构造模块将报文数据的长度信息提交到所述带宽计算模块;所述带宽计算模块根据得到的报文数据的长度信息进行报文带宽的计算。
本发明提供的第三优选技术方案中,所述DMA写地址和所述DMA读地址均为固定地址。
本发明提供的第四优选技术方案中,所述带宽计算模块得到的报文数据的长度信息包括所述报文数据的总字节数和传输时间。
本发明提供的第五优选技术方案中,提供一种测试PCIe总线带宽的方法,其改进之处在于,所述测试PCIe总线带宽的方法的具体步骤如下:
1.在PCIe设备的所述报文构造模块中构造报文;2.将构造好的报文通过所述DMA写引擎模块上传到所述主机内存的所述DMA写地址;3.利用所述DMA读引擎模块从所述主机内存的所述DMA读地址中读取报文数据,并将读取的报文数据传输到所述报文解析模块;4.将所述报文解析模块中的报文数据的长度信息提交到所述带宽计算模块;5.所述报文构造模块将报文数据的长度信息提交到所述带宽计算模块;6.根据得到的报文数据的长度信息,所述带宽计算模块进行报文带宽的计算。
本发明提供的第六优选技术方案中,在所述步骤5中,所述带宽计算模块使用的报文数据的长度信息包括所述报文数据的总字节数和传输时间。
与现有技术比,本发明的有益效果是,所述测试PCIe总线带宽的装置和方法,测试结果的准确性高;避免了使用专门的PCIe总线接口测试设备进行带宽的测试,降低了使用成本;而且在DMA方式下,每个随机长度的PCIe报文数据都由PCIe设备中的报文构造模块生成,无需CPU生成PCIe报文数据,避免了由于CPU的运算能力有限,导致PCIe接口上传输的数据流量无法达其最大带宽的问题;DMA的地址采用固定地址,这样就节省了DMA的地址计算时间;并且在测试过程中也不需要其他设备的参与。
附图说明
图1为测试PCIe总线带宽的装置的结构图。
具体实施方式
如图1所示,测试PCIe总线带宽的装置包括:位于所述主机设备中的内存;位于所述PCIe设备中的报文构造模块、DMA写引擎模块、DMA读引擎模块、报文解析模块、带宽计算模块;
所述测试PCIe总线带宽的装置通过在所述PCIe设备的所述报文构造模块上构造报文,然后通过所述DMA写引擎模块将构造好的报文上传到所述主机内存的所述DMA写地址,所述DMA读引擎模块通过所述主机内存的所述DMA读地址从所述主机内存地址中读取数据并将读取的数据传输到所述报文解析模块,所述报文解析模块将报文数据的长度信息提交到所述带宽计算模块;最后所述带宽计算模块根据得到的报文数据的长度信息计算报文的带宽来完成对PCIe总线带宽的测试。其中,报文数据的长度信息包括所述报文数据的总字节数和传输时间。而且在增加了DMA方式下的测试效率的同时提高了数据测试的准确性,其中DMA的地址可以采用固定地址,这样就可以去掉DMA的地址计算时间,使测试结果更准确。
其中,所述报文解析模块和所述DMA读引擎是用来测量DMA读带宽的;搜索出报文构造模块和所述DMA写引擎是用来计算DMA写带宽的;两者相互独立。
测试PCIe总线带宽的方法包括如下具体步骤:1.在PCIe设备的所述报文构造模块中构造报文;2.将构造好的报文通过所述DMA写引擎模块上传到所述主机内存的所述DMA写地址;3.利用所述DMA读引擎模块从所述主机内存的所述DMA读地址中读取报文数据,并将读取的报文数据传输到所述报文解析模块;4.将所述报文解析模块中的报文数据的长度信息提交到所述带宽计算模块;5.根据得到的报文数据的长度信息,所述带宽计算模块进行报文带宽的计算,其中,所述带宽计算模块使用的报文数据的长度信息包括所述报文数据的总字节数和传输时间。
本发明中测试PCIe总线带宽的装置和方法对PCIe总线进行的总线带宽测试具体是指对PCIe接口上单向写操作、单向读操作、双向写操作、双向读操作所能达到的最大总线带宽进行测试。
需要声明的是,本发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在阅读本申请说明书后,在其精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。
Claims (6)
1.一种测试PCIe总线带宽的装置,所述装置包括:PCIe设备和主机设备,其特征在于,所述主机设备包括内存;所述PCIe设备包括报文构造模块、DMA写引擎模块、DMA读引擎模块、报文解析模块和带宽计算模块;所述报文构造模块、所述DMA写引擎模块、所述内存、所述DMA读引擎模块、所述报文解析模块和所述带宽计算模块依次连接;
所述报文构造模块用于在所述PCIe设备上构造报文数据;
所述DMA写引擎模块用于将所述构造的报文数据上传到所述主机内存;所述DMA读引擎模块将从所述主机内存读取的报文数据传输到所述报文解析模块;所述报文解析模块将报文数据的长度信息提交到所述带宽计算模块;所述报文构造模块将报文数据的长度信息提交到所述带宽计算模块;所述带宽计算模块根据得到的报文数据的长度信息进行报文带宽的计算。
2.根据权利要求1所述的装置,其特征在于,所述主机设备中的内存为从所述DMA写引擎模块写入的报文数据预留有相应的DMA写地址,并为所述DMA读引擎模块预留有相应的从所述主机内存读取报文数据的DMA读地址。
3.根据权利要求2所述的装置,其特征在于,所述DMA写地址和所述DMA读地址均为固定地址。
4.根据权利要求1所述的装置,其特征在于,所述带宽计算模块得到的报文数据的长度信息包括所述报文数据的总字节数和传输时间。
5.一种测试PCIe总线带宽的方法,其特征在于,所述测试PCIe总线带宽的方法的具体步骤如下:
1.在PCIe设备的报文构造模块中构造报文;2.将构造好的报文通过DMA写引擎模块上传到主机内存的DMA写地址;3.利用DMA读引擎模块从所述主机内存的DMA读地址中读取报文数据,并将读取的报文数据传输到报文解析模块;4.将所述报文解析模块中的报文数据的长度信息提交到带宽计算模块;5.所述报文构造模块将报文数据的长度信息提交到所述带宽计算模块;6.根据得到的报文数据的长度信息,所述带宽计算模块进行报文带宽的计算。
6.根据权利要求5所述的方法,其特征在于,在所述步骤5中,所述带宽计算模块使用的报文数据的长度信息包括所述报文数据的总字节数和传输时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110383141.2A CN102420719B (zh) | 2011-11-28 | 2011-11-28 | 一种测试PCIe总线带宽的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110383141.2A CN102420719B (zh) | 2011-11-28 | 2011-11-28 | 一种测试PCIe总线带宽的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102420719A CN102420719A (zh) | 2012-04-18 |
CN102420719B true CN102420719B (zh) | 2014-04-23 |
Family
ID=45944966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110383141.2A Active CN102420719B (zh) | 2011-11-28 | 2011-11-28 | 一种测试PCIe总线带宽的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420719B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799507A (zh) * | 2012-06-29 | 2012-11-28 | 浪潮电子信息产业股份有限公司 | 一种测试pcie带宽稳定性的方法 |
US20160077942A1 (en) * | 2014-09-12 | 2016-03-17 | Celestica Technology Consultancy (Shanghai) Co., Ltd. | Storage system and test method for testing pci express interface |
CN108153624B (zh) * | 2016-12-02 | 2021-04-27 | 英业达科技有限公司 | 适用于ngff插槽的测试电路板 |
CN106649011A (zh) * | 2016-12-02 | 2017-05-10 | 曙光信息产业(北京)有限公司 | 一种服务器设备的检测方法和装置 |
CN107861846B (zh) * | 2017-10-19 | 2020-09-25 | 曙光信息产业(北京)有限公司 | 测试访存有效带宽的装置及方法 |
CN112416682B (zh) * | 2020-11-28 | 2022-02-25 | 郑州信大捷安信息技术股份有限公司 | 一种支持多个pcie卡的同时测试方法和系统 |
CN112416683B (zh) * | 2020-11-28 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 一种pcie卡异步高性能测试方法和系统 |
CN112416684B (zh) * | 2020-11-28 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 一种基于多个虚拟pcie卡的异步测试方法和系统 |
CN113347067B (zh) * | 2021-08-04 | 2021-10-29 | 苏州浪潮智能科技有限公司 | 一种PCIe信号的带宽确定方法、装置及设备 |
CN116048893B (zh) * | 2022-12-22 | 2024-04-30 | 航天新长征大道科技有限公司 | 光纤总线接口的测试方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1591382A (zh) * | 2003-08-29 | 2005-03-09 | 得州仪器公司 | 在pci-express扩展连接上的lpc处理桥接 |
CN101202707A (zh) * | 2007-12-03 | 2008-06-18 | 杭州华三通信技术有限公司 | 高速单板传输报文的方法、现场可编程门阵列及高速单板 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015443B2 (en) * | 2010-04-30 | 2015-04-21 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment |
-
2011
- 2011-11-28 CN CN201110383141.2A patent/CN102420719B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1591382A (zh) * | 2003-08-29 | 2005-03-09 | 得州仪器公司 | 在pci-express扩展连接上的lpc处理桥接 |
CN101202707A (zh) * | 2007-12-03 | 2008-06-18 | 杭州华三通信技术有限公司 | 高速单板传输报文的方法、现场可编程门阵列及高速单板 |
Also Published As
Publication number | Publication date |
---|---|
CN102420719A (zh) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420719B (zh) | 一种测试PCIe总线带宽的装置和方法 | |
KR102045712B1 (ko) | 메모리 시스템에서의 링크 에러 정정 | |
CN101706552B (zh) | 支持芯片不同引脚封装的可配置式片上测试模块 | |
CN101197649B (zh) | 外部设备互联高速总线接口与交换机端口测试方法及系统 | |
CN110471872B (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
CN103559156B (zh) | 一种fpga与计算机之间的通信系统 | |
US20080320191A1 (en) | System and method for providing a configurable command sequence for a memory interface device | |
CN103530211A (zh) | 一种基于uvm平台的pcie回环自检测的方法 | |
US10216669B2 (en) | Bus bridge for translating requests between a module bus and an axi bus | |
CN102253913A (zh) | 一种对多板卡端口进行状态获取和输出控制的装置 | |
KR100954568B1 (ko) | 집적 회로 내에서의 진단 데이터 수집 장치 및 방법 | |
CN105095054A (zh) | 一种bmc获取nvme ssd温度信息的系统及方法 | |
CN103488600B (zh) | 通用从机同步串行接口电路 | |
CN104714907A (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN105066985A (zh) | 六自由度平台运动状态监测装置 | |
CN104361143A (zh) | 一种便携式数据采集卡及其方法 | |
CN105446837A (zh) | 检测iic接口器件是否连接的方法、装置以及系统 | |
CN203772429U (zh) | 一种单总线温度监测装置 | |
US9396145B1 (en) | In-chip bus tracer | |
CN108318028B (zh) | 一种导航系统核心处理电路设计方法 | |
CN104123246A (zh) | 接口扩展装置及串行连接接口扩展器 | |
JP2011527800A (ja) | PCIExpressタグフィールドを用いて情報を伝達する方法 | |
CN107844447A (zh) | 多通道串行总线高速数据采集处理系统及方法 | |
CN103164313A (zh) | 调试系统及方法 | |
CN104572515B (zh) | 跟踪模块、方法、系统和片上系统芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210819 Address after: Room 111-1, 1st floor, building 23, No.8 yard, Dongbei Wangxi Road, Haidian District, Beijing 100193 Patentee after: Zhongke Tenglong Information Technology Co.,Ltd. Address before: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street. Patentee before: DAWNING INFORMATION INDUSTRY Co.,Ltd. |
|
TR01 | Transfer of patent right |