Cpu性能测试的方法

文档序号:6651869阅读:1722来源:国知局
专利名称:Cpu性能测试的方法
技术领域
本发明有关一种CPU性能测试的方法,特别是一种借助于软件对CPU作性能测试的方法。
中央处理单元(Central Processing Unit;CPU)是计算机系统中主要的元件,所以又称计算机的心脏。CPU主要用来做算术、逻辑运算,解释每个指令的意义,并可能包含了储存“最近常用”数据的快取存储器,中央处理单元同时也控制计算机系统中大部分的元件。通常在个人计算机当中CPU是一个超大规模集成电路(VLSI),而在迷你型计算机系统中,CPU可能是一块包含许多元件的电路板,甚至由许多电路板组合而成。一套计算机系统通常使用一个CPU,但是服务器计算机或是较大型的计算机,则可能由多个CPU同时工作。
既然CPU称为计算机的心脏,所以扮演的角色对计算机系统而言相对地重要,因此,对于CPU的性能测试必须针对其算术、逻辑运算进行有效地测试,以确保CPU在计算机系统中能正确无误地运作。
以往,针对CPU的性能测试主要是靠硬件进行检测,由于方法复杂、成本高、效率低,因此,在大规模的生产过程中,无法提高有效的测试效益。
本发明提出一种利用软件来进行CPU性能测试的方法,其通过一标志测试单元、一算术测试单元及一逻辑测试单元,分别对CPU作不同的性能测试,借助软件的设计发出各种命令,达到控制硬件的目的。
其中,该标志测试单元主要测试CPU的标志位置;该算术测试单元主要测试CPU的运算功能,包括加、减、乘、除等运算功能;该逻辑测试单元主要测试CPU的逻辑功能,包括移位功能等。
有关本发明的详细内容及技术特征,将结合


如下图1为根据本发明的CPU性能测试的主要流程示意图;图2为根据本发明的CPU性能测试的详细流程示意图;及图3为根据本发明的较佳实施例流程图。
100标志测试单元
101用与的方法判断Z标志位与A标志位102用复原的方法判断C标志位、O标志位、S标志位与F标志位103用与0400h的方法判断D标志位、I标志位与T标志位200算术测试单元201利用四则(加、减、乘、除)运算法测试300逻辑测试单元301回复AX二进位值,然后左移与右移302依据AX数值判断CF值400测试失败500测试成功,继续下一测试600浮点测试单元601任取双精度实数(double precision)的数值(X,Y)602计算Z=X/Y*Y-X603判断-10-11<Z<10-11700运算测试单元701任取双倍精度实数(double precision)的数值(X’=88.88888888888,Y’=1/9*100*8)702判断Y’是否等于X’依据本发明的CPU性能测试的方法,是通过一标志测试单元100、一算术测试单元200及一逻辑测试单元300,分别对CPU作不同的性能测试。
首先,提供该标志测试单元100用以测试CPU的标志位置;其次,提供该算术测试单元200用以测试CPU的运算功能,包括加、减、乘、除等运算功能;最后提供该逻辑测试单元300用以测试CPU的逻辑功能,包括移位功能等。
就标志测试单元100而言,该标志是在一个程序执行过程中用来表示某一个状态的变量,这个状态只有两种可能,所以这个标志的值仅有On和Off两种,或是True或False的两种布尔状态。以C语言为例,则直接以1和0代表这两种状态。标志变量只需使用一位的储存空间。在CPU硬件结构中,也有一个用来代表CPU各种运算状态的寄存器,称为标志寄存器(flag register)。该标志寄存器是具有十六位的标志寄存器,包含9个标志位,主要用于反映处理器的状态与运算结果的一些特征,各位的标志意义与说明分别如下表所示
现就本发明提出的CPU性能测试的方法中,标志测试单元100作一说明,首先,用与的方法判断Z标志位与A标志位(步骤101),针对Z标志位的检测将标志(FLAG)送至AH,然后,与10111111再送回标志(FLAG),检测Z是否为1?如果为1,则表示测试失败(步骤400),如果不是1,则继续A标志位的检测将标志(FLAG)送至AH,然后,与11101111再送回标志(FLAG),将0fH送至AH中,加1,再送标志(FLAG)至AH,累加00010000检测Z是否为1?如果为1,则表示测试失败(步骤400),如果不是1,表示正确,并进行下一步的检测。
接着用复原的方法判断C标志位、O标志位、S标志位与F标志位(步骤102),针对C标志位的检测先清C标志位,送0ff至BL中,若C=1,则测试失败(步骤400),BL+1,若C=0,则测试失败(步骤400),反之正确,继续进行O标志位的检测主要先清O标志位,送7f至AL中,若O=1,则失败,AL+1送至AL中,若O=0,则测试失败(步骤400),反之正确,继续进行S标志位的检测主要先清S标志位,送1至AH中,若S=1,则失败,AH+80h送至AH中,若S=0,则测试失败(步骤400),反之正确,继续进行P标志位的检测主要先清P标志位,送0A8h至AH中,若P=1,则失败,AH+02h送至AH中,若P=0,则测试失败(步骤400),反之正确,并进行下一步的检测。
接着,再用与0400h的方法判断D标志位、I标志位与T标志位(步骤103),针对D标志位的检测主要先清D标志位,将标志(FLAG)与0400h,若Z=1,则测试失败(步骤400),再置D位,将其与0400h,若Z=0,则测试失败(步骤400),反之正确;接着就I标志位与T标志位作相同的检测,该方法与D标志位的检测一致。
接着,就本发明提出的CPU性能测试的方法中,以算术测试单元200作一说明,该算术测试单元200利用四则(加、减、乘、除)运算法测试(步骤201)分别来加以检测,就加法而言,如果算术运算测试失败,则表示测试失败(步骤400),如果成功,继续下一算术运算测试(减、乘、除法测试),其中,加法测试的方法也即将任意两个整数值相加,与一个比其大的数相比较,如果为大,则表示测试失败(步骤400),如果为小,则表示测试正确,接着继续进行减、乘、除法的测试,其测试方法与加法相同。
最后,就本发明提出的CPU性能测试的方法中,以逻辑测试单元300作一说明,首先,恢复AX二进位值,然后左移与右移(步骤301),接着依据AX数值判断CF值(步骤302);该逻辑测试单元300为一移位指令测试,也即把操作数的最高位或最低位移入C标志位,移位指令与C标志位的配合,可实现操作数之间的传送,恢复AX二进位值,然后左移与右移,依据C标志位判断移位是否正确,其中,测试的指令包含SAL、SAR、ROL及ROR。SAL是数据左移,将最高位移入C标志位,同时最低位用零补充;SAR是数据右移,将最低位移入C标志位,同时最高位用零补充;ROL是循环左移,将最高位移入C标志位,同时移入最低位;ROR是循环右移,将最低位移入C标志位,同时移入最高位。完成上述所有测试后,如果没有任何错误信息显示,表示针对CPU性能测试正常,显示测试成功,继续下一测试(步骤500)。
在此,特别要强调的是,上述测试的步骤并非用以限定本发明的测试流程的应用范围,也就是说,该标志测试单元100、该算术测试单元200及该逻辑测试单元300,分别可以不同阶段的测试步骤加以检测,不限定依序的测试步骤。
本发明还提出一较佳实施例,以简单、有效与快速的CPU性能测试的方法,说明检测的具体解决方案,其中,第3图为根据本发明的较佳实施例流程图,说明利用本方法测试CPU浮点运算功能,以满足生产线对CPU检测的需要,其中,包含浮点测试单元600与运算测试单元700两个测试项目,就浮点测试单元600来说,任取双精度实数(double precision)的数值(X,Y)(步骤601),并进行计算Z=X/Y*Y-X(步骤602),接着判断-10-11<Z<10-11(步骤603),如果-10-11<Z或Z<10-11,则表示浮点测试有问题,显示测试失败(步骤400),否则,表示浮点测试无误,显示测试成功,继续下一测试(步骤500);就运算测试单元700来说,任取双精度实数(double precision)的数值(以X’=88.88888888888,Y’=1/9*100*8为例)(步骤701),接着判断Y’是否等于X’(步骤702),如果Y’=X’,则表示运算测试成功,显示测试成功,继续下一测试(步骤500),否则显示测试失败(步骤400)。
依据上述本发明的说明,当测试失败时,显示错误信息,并将测试结果存入一错误记录文件中;当测试某一项目成功时,显示通过该项目测试信息,进入下一项目测试,并将测试结果存入一成功记录文件中。因此,在测试程序中,有一项出错时,则退出测试,唯有全部测试成功,才正确显示通过测试信息,终止此测试程序。
虽然参照较佳实施例对本发明进行了描述,然其并非用以限定本发明,本领域的任何技术人员在不脱离本发明的精神和范围内,可进行适当的更改与变动,因此本发明的保护范围应以所附的为准。
权利要求
1.一种CPU性能测试的方法,其利用一测试程序分别对该CPU作不同的性能测试,该测试的方法至少包含下列步骤提供一标志测试单元,以累加一数值的方法判断Z标志位、A标志位、D标志位、I标志位与T标志位的正确性;以复原标志位的方法判断C标志位、O标志位、S标志位与F标志位的正确性;提供一算术测试单元,利用四则(加、减、乘、除)运算法测试,确定该CPU的该算术测试的正确性;及提供一逻辑测试单元,恢复AX二进位值,将该AX左移与右移,再依据CF值判断逻辑的正确性。
2.如权利要求1所述的CPU性能测试的方法,其特征在于该标志测试单元、算术测试单元及逻辑测试单元的测试步骤,可以彼此相互对调。
3.如权利要求1所述的CPU性能测试的方法,其特征在于还包含浮点测试单元。
4.如权利要求3所述的CPU性能测试的方法,其特征在于该浮点测试单元,是任取双精度实数(double precision)的数值(X,Y),以进行浮点测试,并判断该浮点测试的误差范围。
5.如权利要求4所述的CPU性能测试的方法,其特征在于该浮点测试可以一公式Z=X/Y*Y-X来加以判断该浮点测试的误差范围。
6.如权利要求1所述的CPU性能测试的方法,其中还包含运算测试单元。
7.如权利要求6所述的CPU性能测试的方法,其特征在于该运算测试单元,是任取双精度实数(double precision)的数值(X’,Y’),以进行运算测试,并判断该运算测试的正确性。
8.如权利要求7所述的CPU性能测试的方法,其特征在于该运算测试可以取X’=88.88888888888,Y’=1/9*100*8,再判断Y’是否等于X’。
9.如权利要求1所述的CPU性能测试的方法,其特征在于还包含测试失败时,将测试结果存入一错误记录文件的步骤。
10.如权利要求1所述的CPU性能测试的方法,其特征在于还包含测试成功时,将测试结果存入一成功记录文件的步骤。
全文摘要
一种CPU性能测试的方法,其通过一标志测试单元、一算术测试单元及一逻辑测试单元,借助软件的设计发出各种命令,分别对CPU的标志、算术及逻辑做不同的测试。
文档编号G06F11/26GK1369798SQ0110348
公开日2002年9月18日 申请日期2001年2月14日 优先权日2001年2月14日
发明者丁怀亮, 陈玄同, 林光信 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1