依处理器信息完整测试处理器内通信链路的系统及方法与流程

文档序号:21177796发布日期:2020-06-20 17:35阅读:184来源:国知局
依处理器信息完整测试处理器内通信链路的系统及方法与流程

一种测试的系统及其方法,特别系指一种依处理器信息完整测试处理器内通信链路的系统及方法。



背景技术:

为了确认服务器等计算设备的效能以及稳定性,在计算设备的生产过程中通常需要对计算设备进行测试。目前的方式通常是针对处理器、存储器模组、硬盘、网络卡等设置于计算设备上的各个零部件做并行的压力测试,借以完整覆盖所有的零部件,例如,扫描存储器的每一个位元、读写硬盘中的每一个位元、持续一段时间传送与接收大量封包等。

然而,上述的测试方式实际上仅仅只有对零部件本身进行测试,只能够保证零部件在计算设备运作时的稳定性,但却没有包含零部件与处理器之间在特定情况下的稳定性表现。例如,若处理器中的某个处理核心在存取所述特定零部件时会发生异常状况,但在上述压力测试的过程中,由于处理器中的处理核心(core)所测试的项目是由处理器随机指派的,因此在进行测试的过程中,有可能发生所述处理核心完全没有存取会导致异常的特定零部件的情况,如此,将无法测试出这样的问题。

综上所述,可知先前技术中长期以来一直存在现有压力测试没有对处理器与其他零部件之间的稳定性进行测试的问题,因此有必要提出改进的技术手段,来解决此问题。



技术实现要素:

有鉴于先前技术存在压力测试没有测试计算设备的处理器与其他零部件间的稳定性的问题,本发明遂公开一种依处理器信息完整测试处理器内通信链路的系统及方法,其中:

本发明所公开的依处理器信息完整测试处理器内通信链路的系统,至少包含:处理信息取得模组,用以取得主机板上的处理器的处理器信息,处理器包含多个处理核心(core)及多个节点;元件信息取得模组,用以取得主机板上的外部元件的元件信息,其中,外部元件与节点连接;线程配置模组,用以依据处理器信息及元件信息为每一处理核心配置与各节点对应的线程(thread),使各处理核心执行与节点数量相同的线程,借以通过与所执行的线程对应的节点存取与节点相连接的外部元件以产生存取结果;结果判断模组,用以判断存取结果是否正确。

本发明所公开的依处理器信息完整测试处理器内通信链路的方法,其步骤至少包括:取得主机板上的处理器的处理器信息,处理器包含多个处理核心及多个节点;取得主机板上的外部元件的元件信息,外部元件与节点连接;依据处理器信息及元件信息为每一处理核心配置与节点数量相同的线程;使用各处理核心执行各线程,借以通过与所执行的线程对应的节点存取与节点相连接的外部元件以产生存取结果;判断存取结果是否正确。

本发明所公开的系统与方法如上,与先前技术的间的差异在于本发明通过取得主机板上的处理器的处理器信息以及外部元件的元件信息后,依据处理器信息及元件信息为每一个处理核心配置与各个节点对应的线程,使用各处理核心执行各线程,并判断处理核心通过与所执行的线程对应的节点存取与节点相连接的外部元件所产生的存取结果是否正确,借以解决先前技术所存在的问题,并可以达成提升测试有效性的技术功效。

附图说明

图1为本发明所提的依处理器信息完整测试处理器内通信链路的系统架构图。

图2为本发明所提的处理器内部元件示意图。

图3a为本发明所提的依处理器信息完整测试处理器内通信链路的方法流程图。

图3b为本发明所提的依处理器信息完整测试处理器内通信链路的附加方法流程图。

【符号说明】

100计算设备

110处理信息取得模组

120元件信息取得模组

130线程配置模组

150结果判断模组

200处理器

211~214处理核心

231、232存储器控制器

250极快互连控制器

260外部互连控制器

270直接媒体接口(dmi)

400外部元件

411、412存储器模组

420外部互连装置

430平台控制单元(pch)

450芯片组

步骤310取得处理器的处理器信息,处理器包含多个处理核心及多个节点

步骤320取得外部元件的元件信息,外部元件与节点连接

步骤330依据处理器信息及元件信息为处理核心配置与节点对应的线程

步骤350使用各处理核心执行各线程,使处理核心通过与所执行的线程对应的节点存取相连接的外部元件并产生存取结果

步骤360判断存取结果是否正确

步骤370依据处理器信息选择处理核心,并为被选择的处理核心配置与产生不正确的存取结果相同的线程

步骤390依据再次产生的存取结果判断错误原因

具体实施方式

以下将配合附图及实施例来详细说明本发明的特征与实施方式,内容足以使任何本领域技术人员能够轻易地充分理解本发明解决技术问题所应用的技术手段并据以实施,借此实现本发明可达成的功效。

本发明可以测试计算设备的处理器中的每一个处理核心(core)与处理器中的各个节点的间的通信链路,避免部分通信链路异常导致大部分处理核心可以正确存取节点但某些处理核心无法正确存取相同外部元件的情况。

以下先以图1本发明所提的依处理器信息完整测试处理器内通信链路的系统架构图来说明本发明的系统运作。如图1所示,本发明的系统含有处理信息取得模组110、元件信息取得模组120、线程配置模组130、结果判断模组150。

处理信息取得模组110负责取得计算设备100的处理器200的处理器信息,其中,处理器200包含多个处理核心与多个节点,处理器信息包含处理器200中的处理核心的数量、处理核心间的通信链路、处理器所包含的节点的节点信息、以及处理核心与节点间的连接关系等,但本发明并不以此为限。

本发明所提的节点为处理器200的对外通信单元,如图2所示,节点可以是存储器控制器231/232、外部互连控制器260,也可以是快速互连(quickpathinterconnect,qpi)控制器/极快互连(ultrapathinterconnect,upi)控制器250、直接媒体接口(directmediainterface,dmi)270等,但本发明所提的节点并不以上述为限。另外,同一类型的节点并不只限于一个,例如,处理器200也可以包含两个或两个以上的外部互连控制器260,及/或可以包含两个或两个以上的极快互连控制器250。

本发明所提的通信链路为处理器200中所包含的任意两个处理核心之间或任意处理核心与节点的传递数据的路线,如图2所示,在处理核心211与处理核心212之间、处理核心212与处理核心213之间、处理核心212与处理核心214之间,都有直接连接的通信链路;而在处理核心211与处理核心213之间、处理核心211与处理核心214之间、以及处理核心213与处理核心214之间,都有通过其他处理核心间接连接的通信链路。另外,本发明所提的处理核心与节点间的连接关系例如处理核心211与存储器控制器231及极快互连控制器250连接、处理核心212与外部互连控制器260连接、处理核心213与存储器控制器232及直接媒体接口270连接、处理核心214与存储器控制器231/232连接等。

一般而言,处理信息取得模组110可以通过计算装置的开机自我检测(power-onself-test,post)来检测处理器200或通过载入可扩展固件接口(extensiblefirmwareinterface,efi)驱动程序来辨识处理器200,借以取得处理器200的识别数据,再依据处理器200的识别数据载入对应的处理器信息,但处理信息取得模组110取得处理器信息的方式并不以上述为限。

元件信息取得模组120负责取得与处理器200连接的外部元件的元件信息。其中,外部元件可以是与存储器控制器231/232连接的存储器模组(memorymodule)411/412、与外部互连控制器260连接的外部互连(peripheralcomponentinterconnectexpress,pcie)装置420、与极快互连控制器250连接的各种芯片组(chipset)450、与直接媒体接口270连接的平台控制单元(platformcontrollerhub,pch)430等。

元件信息取得模组120可以提供使用者接口以设定外部元件的元件信息;元件信息取得模组120也可以如处理信息取得模组110,通过计算装置的开机自我检测的检测或可扩展固件接口驱动程序的辨识以取得外部元件的元件信息。但元件信息取得模组120取得外部元件的元件信息的方式并不以上述为限。

线程配置模组130负责依据处理信息取得模组110所取得的处理器信息,为处理器200中的每一个处理核心配置与各个节点对应的线程(thread),使得各个处理核心都分别执行与处理器200所包含的节点的数量相同的线程,借以让各个处理核心通过与所执行的线程存取对应的节点存取外部元件400以产生相对应的存取结果。其中,本发明所提的处理核心存取外部元件400的过程,可以是处理核心至外部元件400读取数据或处理核心写入数据至外部元件400,也可以是处理核心传送数据至外部元件400或接收外部元件400所传送的数据等,但本发明并不以上述为限,要特别说明的是,处理核心存取外部元件400的过程并不只限于执行一种作业,也可以执行两种或两种以上的作业,例如,处理核心可以在一个存取过程中进行写入与读取作业或是传送与接收作业、甚至可以在一个存取过程中依序进行读取、传送、接收、写入等作业。另外,本发明所提的存取结果包含与处理核心存取外部元件400的过程相关的任何数据,包含但不限于处理核心所传送、接收、读取、或写入的数据。

更详细的说,线程配置模组130可以依据处理信息取得模组110所取得的处理器信息中所包含的处理核心间的通信链路与各节点与处理核心的连接关系以及元件信息取得模组120所取得的外部元件的元件信息配置对应的线程,使得每一个处理核心都可以通过每一个节点存取外部元件400,例如,当元件信息表示外部元件为存储器模组411/412时,线程配置模组130可以配置与存储器模组411/412对应的线程给处理核心211,使得处理核心211在执行线程配置模组130所配置的线程后可以分别通过存储器控制器231/232读写存储器模组411/412;当元件信息表示外部元件为外部互连装置420、平台控制单元430、芯片组450时,线程配置模组130可以配置相对应的线程给处理核心211,使得处理核心211在执行线程后通过外部互连控制器260与外部互连装置420通信、通过极快互连控制器250与芯片组450通信、通过直接媒体接口270与平台控制单元430通信。相似的,线程配置模组130也可以分别配置与存储器模组411/412、外部互连装置420、平台控制单元430、芯片组450等外部元件对应的线程给处理核心212、处理核心213与处理核心214,使得处理核心212、处理核心213与处理核心214也都可以通过存储器控制器231/232分别读写存储器模组411/412、通过外部互连控制器260与外部互连装置420通信、通过极快互连控制器250与芯片组450通信、通过直接媒体接口270与平台控制单元430通信。

在部分的实施例中,线程配置模组130还可以依据处理信息取得模组110所取得的处理器信息中所包含的处理核心之间的通信链路以及节点与处理核心的连接关系,由处理器200所包含的所有处理核心中选择一个处理核心,并为被选择的处理核心配置其他处理核心所执行过的相同线程,使得被选择的处理核心执行相同的线程,也就是传送相同的数据至相同节点、写入相同的数据至相同节点中的相同位置、或由相同节点的相同位置读取相同的数据。其中,线程配置模组130所选择的处理核心为直接与节点连接的处理核心,也就是无须通过与其他核心之间的通信链路即可存取节点的处理核心。

结果判断模组150负责判断处理器200中的各个处理核心所产生的存取结果是否正确。例如,判断处理核心传送数据后所接收到的回应是否正确、读取并判断处理核心写入特定位置的数据是否正确等。

接着以一个实施例来解说本发明的运作系统与方法,并请参照图3a本发明所提的依处理器信息完整测试处理器内通信链路的方法流程图。在本实施例中,假设待测计算设备100的主机板上的处理器200如图2所示,包含四个处理核心(处理核心211~214)、两个存储器控制器、一个极快互连控制器250、一个外部互连控制器260、以及一个直接媒体接口270,但本发明并不以此为限,例如,处理器200可以包含四个以上的处理核心,也可以只包含一个或两个以上的存储器控制器,或可以包含两个或两个以上的极快互连控制器250、外部互连控制器260等。

在本发明所提的测试过程中,首先,处理信息取得模组110可以取得处理器200的处理器信息(步骤310),元件信息取得模组120可以取得外部元件的元件信息(步骤320)。在本实施例中,假设处理信息取得模组110与元件信息取得模组120可以通过计算设备100的基本输出入系统(basicinput/outputsystem,bios)执行开机自我检测或通过载入可扩展固件接口驱动程序所产生的数据分别取得处理器200的处理器信息以及与处理器200所包含的节点连接的外部元件的元件信息。

需要说明的是,在本发明中,处理信息取得模组110可以取得处理器200的处理器信息(步骤310)与元件信息取得模组120可以取得外部元件的元件信息(步骤320)并没有先后次序的关系,也就是说,可以先由元件信息取得模组120取得外部元件的元件信息(步骤320),再由处理信息取得模组110取得处理器200的处理器信息(步骤310)。

在处理信息取得模组110取得处理器200的处理器信息(步骤310)且元件信息取得模组120取得外部元件的元件信息(步骤320)后,线程配置模组130可以依据处理信息取得模组110所取得的处理器信息以及元件信息取得模组120所取得元件信息为处理器200所包含的每一个处理核心分别配置与处理器200所包含的每一个节点对应的线程(步骤330)。在本实施例中,假设线程配置模组130可以依据处理器信息所包含的各处理核心间的通信链路与各节点与各处理核心间的连接关系以及元件信息为各处理核心分别配置与各个节点对应的线程,更详细的说,由于处理器200中包含存储器控制器231/232、极快互连控制器250、外部互连控制器260以及直接媒体接口270等五个节点,因此线程配置模组130可以分别为每一个处理核心(处理核心211~214)都配与节点数量相同的五个线程,也就是通过存储器控制器231存取存储器模组411的线程、配置通过存储器控制器232存取存储器模组412的线程、配置通过极快互连控制器250与芯片组450通信的线程、配置通过外部互连控制器260与外部互连装置420通信的线程、配置通过直接媒体接口270与平台控制单元430通信的线程等。

在线程配置模组130为处理器200所包含的每一个处理核心(处理核心211~214)分别配置与处理器200所包含的每一个节点对应的线程(步骤330)后,各个处理核心在执行配置到的线程时,可以通过与所执行的线程对应的节点频繁的存取与节点连接的外部元件400,并产生存取结果(步骤350)。在本实施例中,也就是每一个处理核心(处理核心211~214)都可以通过存储器控制器231/232、极快互连控制器250、外部互连控制器260、直接媒体接口270等节点存取与各个节点相连的存储器模组411/412、芯片组450、外部互连装置420、平台控制单元430等外部元件400,并可以在存取后产生与各个节点对应的存取结果。

在各个处理核心执行配置到的线程并产生存取结果后,结果判断模组150可以判断存取结果是否正确(步骤360),并可以产生并输出结果报告。如此,通过本发明,可以完整的测试处理器200中的各个处理核心与每一个节点之间的通信链路是否正确。

上述的实施例中,还可以如图3b的流程所示,在结果判断模组150判断存取结果不正确(步骤360)时,线程配置模组130可以依据处理信息取得模组110所取得的处理器200的处理器信息选择处理核心,并为被选择的处理核心配置与产生不正确的存取结果相同的线程(步骤370)。在本实施例中,假设结果判断模组150判断处理核心213在通过存储器控制器231存取存储器模组411所产生的存取结果不正确时,线程配置模组130可以选择直接与产生不正确的存取结果连接的节点的处理核心,若处理器信息中记录处理核心213与存储器控制器231的间的数据传递路线包含处理核心213与处理核心212之间的通信链路、处理核心212与处理核心211之间的通信链路、处理核心211与存储器控制器231之间的连线,则线程配置模组130可以依据处理核心213至存储器控制器231之间的数据传递路线选择可以直接与存储器控制器231连接的处理核心211,并为被选择的处理核心211配置与在处理核心213上产生的不正确的存取结果的线程相同的线程。

在线程配置模组130为被选择的处理核心配置再次配置线程后,被选择的处理核心(也就是被配置线程的处理核心)可以再次执行被配置的线程,借以通过相连接的节点存取节点所连接的外部元件400,并产生相对应的存取结果,结果判断模组150可以依据新产生的存取结果判断错误原因(步骤390)。在本实施例中,处理核心211可以对存储器模组411进行与处理核心213存取存储器模组411相同的存取作业并产生相对应的新的存取结果,结果判断模组150可以依据处理核心211所产生的新的存取结果是否正确来判断是处理核心213至处理核心211之间的通信链路发生错误或是存储器控制器231与存储器模组411之间的总线(也就是连接处理器200与外部元件400之间的总线)发生错误,例如,当新的存取结果仍然错误时,表示存储器控制器231与存储器模组411之间的总线发生错误;而当新的存取结果正确时,表示处理核心213至处理核心211之间的通信链路发生错误。

综上所述,可知本发明与先前技术之间的差异在于具有取得主机板上的处理器的处理器信息以及外部元件的元件信息后,依据处理器信息及元件信息为每一个处理核心配置与各个节点对应的线程,使用各处理核心执行各线程,并判断处理核心通过与所执行的线程对应的节点存取与节点相连接的外部元件所产生的存取结果是否正确的技术手段,借由此技术手段可以来解决先前技术所存在压力测试没有测试计算设备的处理器与其他零部件间的稳定性的问题,进而达成提升测试有效性的技术功效。

再者,本发明的依处理器信息完整测试处理器内通信链路的方法,可实现于硬件、软件或硬件与软件的组合中,也可在电脑系统中以集中方式实现或以不同元件散布于若干互连的电脑系统的分散方式实现。

虽然本发明所公开的实施方式如上,惟所述的内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中的技术人员,在不脱离本发明所公开的精神和范围的前提下,对本发明的实施的形式上及细节上作些许的更动润饰,均属于本发明的专利保护范围。本发明的专利保护范围,仍须以所附的申请专利范围所界定者为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1