书签 分享 收藏 举报 版权申诉 / 10

CPU的总线测试装置及其方法.pdf

  • 上传人:000****221
  • 文档编号:1583969
  • 上传时间:2018-06-26
  • 格式:PDF
  • 页数:10
  • 大小:1.60MB
  • 摘要
    申请专利号:

    CN201310222082.X

    申请日:

    2013.06.06

    公开号:

    CN104239173A

    公开日:

    2014.12.24

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):G06F 11/26申请公布日:20141224|||公开

    IPC分类号:

    G06F11/26

    主分类号:

    G06F11/26

    申请人:

    鸿富锦精密工业(深圳)有限公司; 鸿海精密工业股份有限公司

    发明人:

    王光建

    地址:

    518109 广东省深圳市宝安区龙华镇油松第十工业区东环二路2号

    优先权:

    专利代理机构:

    代理人:

    PDF完整版下载: PDF下载
    内容摘要

    本发明之一种CPU的总线测试装置及其方法,所述测试装置与一CPU模块连接,该CPU模块与一内存模块连接。所述CPU模块包含多个CPU,而该多个CPU又分别包含一一级缓存,该多个CPU分别通过多条QPI总线与其他CPU的一级缓存连接,所述内存模块包含多个内存,所述总线测试装置包含一读取控制模块、一写入控制模块以及一数据刷新模块,该测试装置通过控制多个CPU之间的相互读取和写入操作测试出每条QPI总线的访问速度,为服务器产品的合格性判断提供依据。本发明还提供了一种CPU的总线测试方法。

    权利要求书

    权利要求书
    1.  一种CPU的总线测试装置,所述总线测试装置与一CPU模块相连,该CPU模块与一内存模块连接,该CPU模块中设置多个CPU,该多个CPU通过多条QPI总线连接,其特征在于,该总线测试装置包括:
    一读取控制模块,用于向所述CPU模块中的CPU发送读取操作指令,并计算读取速度;
    一写入控制模块,用于向所述CPU模块中的CPU发送写入操作指令,并计算写入速度;以及
    一数据刷新模块,用于在所述CPU模块中的CPU完成读取或者写入操作后清空对应一级缓存中的数据。

    2.  如权利要求1所述的CPU的总线测试装置,其特征在于,所述测试装置还包括:
    一缓存确定模块,用于向所述CPU模块中的每个CPU发送一询问指令,并通过每个CPU的响应信息确定对应缓存的大小;
    一内存分配模块,根据所述缓存确定模块确定的缓存大小将一内存模块分配为多个与缓存大小相应的内存,以及
    一数据写入模块,用于向所述内存分配模块分配的多个内存随机写入数据。

    3.  如权利要求1所述的CPU的总线测试装置,其特征在于,所述总线测试装置还包括:
    一存储模块,用于存储所述读取控制模块和写入控制模块计算出的读取和写入速度,以及
    一显示模块,用于显示所述存储模块中存储的读取速度和写入速度。

    4.  如权利要求1所述的CPU的总线测试装置,其特征在于,所述存储模块还用于存储所述CPU模块中多个CPU的一级缓存大小以及指向所述内存分配模块分配的内存的地址指针。

    5.  如权利要求1所述的CPU的总线测试装置,其特征在于,所述显示模块为一显示屏。

    6.  一种CPU的总线测试方法,能够通过多个CPU之间的相互读取和写入操作测试出每条QPI总线的访问速度,其特征在于,该方法包括:
    a.向所述CPU模块中的一个CPU发送一读取操作指令,并根据读取时间和读取数据的大小计算读取速度;
    b.向所述完成读取操作的CPU发送一数据刷新指令;
    c.向所述完成读取操作的CPU发送一写入操作指令,并根据写入时间和写入数据的大小计算写入速度。

    7.  如权利要求6所述的CPU的总线测试方法,其特征在于,所述步骤a之前还包括步骤:
    d.向所述CPU模块中的多个CPU发送一询问指令,根据该多个CPU的响应信息确定缓存的大小;
    e.根据所述缓存确定模块确定的缓存大小将一内存模块分配为多个与缓存大小相应的内存;
    f.向所述内存分配模块分配的多个内存随机写入数据。

    8.  如权利要求6所述的CPU的总线测试方法,其特征在于,所述步骤d之后还包括步骤:
    g.向所述完成写入操作的CPU发送一数据刷新指令;
    h.变换其他CPU,重复以上步骤a~c,直到与所有CPU连接的QPI总线的读取和写入速度都测试完毕。

    9.  如权利要求6所述的CPU的总线测试方法,其特征在于,还包括步骤:
    i.显示每条QPI总线的读取速度和写入速度。

    10.  如权利要求6所述的CPU的总线测试方法,其特征在于,所述CPU模块中多个CPU在进行读取和写入操作时,连接同一个CPU的所有QPI总线顺序进行读取或写入操作。

    说明书

    说明书CPU的总线测试装置及其方法
    技术领域
    本发明涉及一种服务器系统的总线测试装置及其方法,尤其涉及一种测试QPI总线的装置及其方法。
    背景技术
    随着互联网技术的快速发展,服务器系统给人们的生活带来了越来越大的便利。传统的服务器只有一个CPU(中央处理器),这样的架构已经不能满足对数据的处理要求,所以产生了一种SMP系统(多处理机系统),配合FSB(前端总线)技术,服务器的数据处理能力有了大幅度的提高。但是,FSB技术需要北桥芯片作为多个CPU之间的数据通信桥梁,原本只需要在CPU之间传输的数据访问速度因北桥芯片的加入而大大变慢,为了解决这一问题,一种新的QPI(快速通道互联)总线技术应运而生。QPI总线技术使多个CPU之间的数据直接传输成为可能,数据访问速度也因此大大提高。在对使用QPI总线技术的服务器产品进行测试时,往往需要检测QPI总线的实际访问速度,以判断服务器产品的实际性能是否达到设计要求。
    发明内容
    有鉴于此,有必要提供一种对SMP系统的QPI总线访问速度进行测试的装置及其方法。
    本发明提供了一种CPU的总线测试装置,所述总线测试装置与一CPU模块相连,该CPU模块与一内存模块连接,该CPU模块中设置多个CPU,该多个CPU通过多条QPI总线连接,该总线测试装置包括:
    一读取控制模块,用于向所述CPU模块中的CPU发送读取操作指令,并计算读取速度;
    一写入控制模块,用于向所述CPU模块中的CPU发送写入操作指令,并计算写入速度;以及
    一数据刷新模块,用于在所述CPU模块中的CPU完成读取或者写入操作后清空对应一级缓存中的数据。
    本发明还提供了一种CPU的总线测试方法,能够通过多个CPU之间的相互读取和写入操作测试出每条QPI总线的访问速度,该方法包括:
    a.向所述CPU模块中的CPU发送一读取操作指令,并根据读取时间和读取数据的大小计算读取速度;
    b.向所述CPU模块中完成读取操作的CPU发送一数据刷新指令;
    c.向所述CPU模块中完成读取操作的CPU发送一写入操作指令,并根据写入时间和写入数据的大小计算写入速度。
    本发明之CPU的总线测试装置与方法,通过多个CPU之间相连的QPI总线,对每个CPU进行反复读取和写入,以计算出QPI总线的访问速度,为使用QPI总线的服务器产品的合格性判断提供依据。
    附图说明
    图1为本发明一实施方式中的系统组成示意图。
    图2为图1系统的方法流程图。
    主要元件符号说明
    QPI总线T1~T3CPU模块10第一CPU11第一一级缓存111第二CPU12第二一级缓存121第三CPU13第三一级缓存131第四CPU14第四一级缓存141内存模块20第一内存21第二内存22第三内存23第四内存24总线测试装置30QPI总线确定模块31缓存确定模块32内存分配模块33数据写入模块34读取控制模块35数据刷新模块36写入控制模块37存储模块38显示模块39步骤S1~S11
    如下具体实施方式将结合上述附图进一步说明本发明。
    具体实施方式
    下面将结合附图,对本发明作进一步的详细说明。
    请参阅图1,本发明提供了一种CPU的总线测试装置30,所述总线测试装置30与一CPU模块10连接,该CPU模块10又与一内存模块20相连。所述CPU模块10包含多个CPU,该多个CPU中的每个CPU包含一一级缓存,每个CPU需要处理的数据首先会存放到其一级缓存中。该CPU模块10中的每个CPU分别通过多条QPI总线与其他CPU的一级缓存连接,该多条QPI总线负责CPU之间数据的传输。所述内存模块20也包含多个内存,该内存模块20中内存的数量与所述CPU模块10中CPU的数量相同,并与每个CPU中的一级缓存一一对应。所述总线测试装置30包含一QPI总线确定模块31、一缓存确定模块32、一内存分配模块33、一数据写入模块34、一读取控制模块35、一数据刷新模块36、一写入控制模块37、一存储模块38以及一显示模块39。在本实施方式中,所述CPU模块10包含4个CPU,分别为第一CPU 11、第二CPU 12、第三CPU 13以及第四CPU 14,对应地,该4个CPU包含的一级缓存分别为第一一级缓存111、第二一级缓存121、第三一级缓存131以及第四一级缓存141。该4个CPU之间通过12条QPI总线连接(图示出3条),T1、T2和T3分别为第一CPU 11与第二CPU 12、第三CPU 13以及第四CPU 14的一级缓存连接的QPI总线。所述内存模块20也包含4个内存,分别为第一内存21、第二内存22、第三内存23以及第四内存24,该第一内存21、第二内存22、第三内存23以及第四内存24分别与所述第一一级缓存111、第二一级缓存121、第三一级缓存131以及第四一级缓存141对应连接。在本实施方式中,所述总线测试装置30为一具有多功能模块的控制装置,例如FPGA(现场可编程门阵列)芯片和MCU(微控制器)等,内存模块20为一内存设备(图未示出),其中的第一内存21、第二内存22、第三内存23以及第四内存24分别为该内存设备上的4个内存区域。
    所述QPI总线确定模块31用于向所述CPU模块10中的每个CPU发送指令确定该CPU模块10中CPU的数量并计算相应的QPI总线数量。在本实施方式中,若所述CPU模块10中的CPU数量为M,则对应的QPI总线数量为M*(M-1)。
    所述缓存确定模块32用于向所述CPU模块10中的每个CPU发送指令并确定每个CPU的一级缓存大小。在本实施方式中,该CPU模块10中的每个CPU为相同的型号,其一级缓存大小也相同。
    所述内存分配模块33用于根据所述缓存确定模块32确定的每个CPU的缓存大小将一内存设备分为与所述CPU模块10中CPU数量及其一级缓存大小相对应的多个内存区域。
    所述数据写入模块34用于向所述内存分配模块33分配出的多个内存随机写入与该多个内存大小相同的数据。
    所述读取控制模块35用于向所述CPU模块10中的每个CPU发送读取操作指令,记录每个CPU的读取操作时间,并根据每个CPU的读取操作时间以及所读取的数据大小计算相应的读取速度。
    所述数据刷新模块36用于在所述CPU模块10中的CPU完成读取或写入操作后清空一级缓存中的数据。
    所述写入控制模块37用于向所述CPU模块10中的每个CPU发送读取操作指令,记录每个CPU的写入操作时间,并根据每个CPU的写入操作时间以及写入数据的大小计算相应的写入速度。
    所述存储模块38用于存储所述内存分配模块33分配的多个内存的对应地址指针以及读取控制模块35和写入控制模块36计算出的每条QPI总线的读取速度和写入速度。
    所述显示模块39用于显示所述存储模块38存储的每条QPI总线的读取速度和写入速度。
    请参阅图2,为本发明一实施方式中用于所述CPU的总线测试装置10上的CPU总线测试方法的流程图。所述CPU总线测试方法能够通过多个CPU之间的相互读取和写入操作测试出每条QPI总线的访问速度,该方法包括:
    步骤S1,所述QPI总线确定模块31向CPU模块10中的每个CPU分别发送一询问指令,通过该多个CPU的响应信息确定该多个CPU的数量M,并根据该CPU的数量M计算与该多个CPU连接的QPI总线数量N。在本实施方式中,CPU的数量M为4,故根据公式N=M*(M-1)可计算出与该多个CPU连接的QPI总线数量N为12。
    步骤S2,所述缓存确定模块32向CPU模块10中的每个CPU分别发送一一级缓存大小询问指令,并通过该多个CPU的响应信息确定与该多个CPU对应的的一级缓存大小,由该总线测试装置30的存储模块38记录每个一级缓存的大小以及与各个CPU的对应关系。在本实施方式中,由于该CPU模块10中的4个CPU具有相同的型号,故该4个CPU的一级缓存大小相同,均为m。
    步骤S3,所述内存分配模块33根据与所述CPU模块10中多个CPU对应的多个一级缓存的大小将所述内存模块20分配为多个与该多个一级缓存一一对应的内存,并由所述存储模块38记录指向该多个内存的地址指针以及每个CPU与内存的对应关系。在本实施方式中,由于该多个CPU中的一级缓存大小均为m,故该内存分配模块33分配出的4个内存为该内存模块上4个大小相同的区域,且该内存区域的大小均为m。
    步骤S4,所述数据写入模块34向所述内存分配模块33分配的多个内存中写入数据。在本实施方式中,该数据写入模块34向内存模块20中的4个内存中分别随机写入大小为m的数据。
    步骤S5,所述读取控制模块35向所述CPU模块10的其中一个CPU发送一读取操作指令,该CPU接收到读取操作指令后对其他CPU的一级缓存开始进行读取操作。
    具体地,以第一CPU 11为例,该第一CPU 11接收到读取操作指令后,按顺序读取所述内存模块20的第二内存22、第三内存23和第四内存24中的数据。以第二内存22为例,该第一CPU 11首先通过QPI总线T1以及指向该第二内存22的地址指针将该第二内存22中的数据复制到第二一级缓存121,然后读取该第二一级缓存121中的数据,并存放于第一一级缓存111中,由该读取控制模块35记录读取操作的时间和读取数据的大小,并计算本次读取操作的读取速度。例如,在t1的时间内读取了大小为m的数据,那么读取速度就是m/t1。当本次读取操作完成后,所述存储模块38记录读取速度,并按顺序进行第三内存23和第四内存24的读取操作。
    步骤S6,所述数据刷新模块36向完成读取操作的CPU发送一数据刷新指令,该CPU接收到该指令后清空一级缓存中的数据。
    具体地,仍以第一CPU 11读取第二CPU 12对应的第二一级缓存121中的数据为例,所述第一CPU 11接收到数据刷新指令后,清空第一一级缓存111和第二一级缓存121中的数据。
    步骤S7,所述写入控制模块37向完成读取操作的CPU发送一写入操作指令,该CPU接收到写入操作命令后开始对其他CPU的一级缓存进行写入操作。
    具体地,在所述第一CPU 11接收到写入操作指令后,按顺序向第二一级缓存121、第三一级缓存131和第四一级缓存141中写入数据。以第二一级缓存121为例,该第一CPU 11首先将第一内存21中的数据复制到第一一级缓存111中,然后通过QPI总线T1将该第一一级缓存111中的数据写入到第二一级缓存121中,由该写入控制模块37记录写入操作的时间和写入数据的大小,并计算本次写入操作的写入速度。例如,在t2的时间内写入了大小为m的数据,那么写入速度就是m/t2。当本次写入操作完成后,所述存储模块38记录写入速度,并按顺序进行第三一级缓存131和第四一级缓存141的写入操作。
    步骤S8,所述数据刷新模块36向完成写入操作的CPU发送一数据刷新指令,该CPU接收到该指令后清空一级缓存中的数据。
    具体地,仍以第一CPU 11将数据写入第二CPU 12对应的第二一级缓存121中为例,所述第一CPU 11接收到数据刷新指令后,清空第一一级缓存111和第二一级缓存121中的数据。
    步骤S9,变换其他CPU,重复以上步骤S5~S7,直到与所有CPU连接的QPI总线的读取和写入速度都测试完毕。为了确保计算结果的精确,需要重复进行多次测试,再将多次测试的读取速度和写入速度分别取平均值即可,QPI总线的访问速度即包含读取速度和写入速度。
    步骤S10,所述存储模块38存储所述读取控制模块35和写入控制模块37计算出的每一条QPI总线的读取和写入速度。
    步骤S11,所述显示模块39将存储模块38中存储的每一条QPI总线的读取和写入速度显示出来。在本实施方式中,该显示模块为一显示屏。
    本发明之CPU的总线测试装置与方法,利用一测试装置控制多个CPU进行相互的读取和写入操作,并计算和记录QPI总线的访问速度,为使用QPI总线的服务器产品的合格性判断提供依据。
    本技术领域的普通技术人员应当认识到,以上的实施方式仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围之内,对以上实施方式所作的适当改变和变化都落在本发明要求保护的范围之内。

    关 键  词:
    CPU 总线 测试 装置 及其 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:CPU的总线测试装置及其方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1583969.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1