CN1246777C - Cpu性能测试的方法 - Google Patents

Cpu性能测试的方法 Download PDF

Info

Publication number
CN1246777C
CN1246777C CN 01103484 CN01103484A CN1246777C CN 1246777 C CN1246777 C CN 1246777C CN 01103484 CN01103484 CN 01103484 CN 01103484 A CN01103484 A CN 01103484A CN 1246777 C CN1246777 C CN 1246777C
Authority
CN
China
Prior art keywords
test
zone bit
cpu
cpu performance
floating
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.)
Expired - Fee Related
Application number
CN 01103484
Other languages
English (en)
Other versions
CN1369798A (zh
Inventor
丁怀亮
陈玄同
林光信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN 01103484 priority Critical patent/CN1246777C/zh
Publication of CN1369798A publication Critical patent/CN1369798A/zh
Application granted granted Critical
Publication of CN1246777C publication Critical patent/CN1246777C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

一种CPU性能测试的方法,其通过一标志测试单元、一算术测试单元及一逻辑测试单元,借助软件的设计发出各种命令,分别对CPU的标志、算术及逻辑做不同的测试。

Description

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-X
603  判断-10-11<Z<10-11
700  运算测试单元
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个标志位,主要用于反映处理器的状态与运算结果的一些特征,各位的标志意义与说明分别如下表所示:
位元     标志位                   说明
    11     O(overflow) 发生溢位此标志位为1,否则为0。
    10     D(direction) 标志位1代表字串运算指令为递增方向,否则为递减方向。
    9     I(interrupt) 允许外部中断其值为1,否则为0。
    8     T(trap) 在单步调试模式(single steppingdebug mode)时,每个指令之后需要一个中断,这个标志必须设为1,否则为0。
    7     S(sign) 此标志为1表示数据(大部份是指AX或AL寄存器)的最高位为1,可能是一个负数,其它状态此标志位为0。
    6     Z(zero) 当结果(通常是比较结果)为零或相等时,此标志位为1,否则为0。
    4     A(adjust/auxiliary carry) 发生辅助进位或借位时,此标志位为1,否则为0。
    2     P(parity) 当低位元组为偶时,此标志位为1,奇时为0。
    0     C(carry) 最高位进位时,此标志位为1,没有进位时为0。
现就本发明提出的CPU性能测试的方法中,标志测试单元100作一说明,首先,用与的方法判断Z标志位与A标志位(步骤101),针对Z标志位的检测:将标志(FLAG)送至AH,然后,与10111111再送回标志(FLAG),检测Z是否为1?如果为1,则表示测试失败(步骤400),如果不是1,则继续A标志位的检测:将标志(FLAG)送至AH,然后,与11101111再送回标志(FLAG),将OfH送至AH中,加1,再送标志(FLAG)至AH,累加00010000检测A是否为1?如果为1,则表示测试失败(步骤400),如果不是1,表示正确,并进行下一步的检测。
接着用复原的方法判断C标志位、O标志位、S标志位与F标志位(步骤102),针对C标志位的检测:先清C标志位,送Off至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)。
依据上述本发明的说明,当测试失败时,显示错误信息,并将测试结果存入一错误记录文件中;当测试某一项目成功时,显示通过该项目测试信息,进入下一项目测试,并将测试结果存入一成功记录文件中。因此,在测试程序中,有一项出错时,则退出测试,唯有全部测试成功,才正确显示通过测试信息,终止此测试程序。
虽然参照较佳实施例对本发明进行了描述,然其并非用以限定本发明,本领域的任何技术人员在不脱离本发明的精神和范围内,可进行适当的更改与变动,因此本发明的保护范围应以所附的权利要求书为准。

Claims (10)

1.一种CPU性能测试的方法,其利用一测试程序分别对该CPU作不同的性能测试,该测试的方法至少包含下列步骤:
提供一标志测试单元,用与的方法判断Z标志位与A标志位,用复原的方法判断C标志位、O标志位、S标示位与F标示位,用与0400h的方法判断D标志位、I标志位与T标志位,以判断这些标志位的正确性;
提供一算术测试单元,利用四则运算法测试,确定该CPU的该算术测试的正确性;及
提供一逻辑测试单元,恢复AX二进位值,将该AX左移与右移,再依据CF值判断逻辑的正确性。
2.如权利要求1所述的CPU性能测试的方法,其特征在于该标志测试单元、算术测试单元及逻辑测试单元的测试步骤的顺序是随意的。
3.如权利要求1所述的CPU性能测试的方法,其特征在于还包含浮点测试。
4.如权利要求3所述的CPU性能测试的方法,其特征在于该浮点测试,是任取双精度实数的数值(X,Y),以进行浮点测试,并判断该浮点测试的误差范围。
5.如权利要求4所述的CPU性能测试的方法,其特征在于该浮点测试以一公式Z=X/Y*Y-X来加以判断该浮点测试的误差范围。
6.如权利要求1所述的CPU性能测试的方法,其中还包含运算测试。
7.如权利要求6所述的CPU性能测试的方法,其特征在于该运算测试,是任取双精度实数的数值(X′,Y′),以进行运算测试,并判断该运算测试的正确性。
8.如权利要求7所述的CPU性能测试的方法,其特征在于该运算测试可以取X′=88.88888888888,Y′=1/9*100*8,再判断Y′是否等于X′。
9.如权利要求1所述的CPU性能测试的方法,其特征在于还包含当测试失败时,将测试结果存入一错误记录文件中的步骤。
10.如权利要求1所述的CPU性能测试的方法,其特征在于还包含当测试某一项目成功时,将测试结果存入一成功记录文件中的步骤。
CN 01103484 2001-02-14 2001-02-14 Cpu性能测试的方法 Expired - Fee Related CN1246777C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01103484 CN1246777C (zh) 2001-02-14 2001-02-14 Cpu性能测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01103484 CN1246777C (zh) 2001-02-14 2001-02-14 Cpu性能测试的方法

Publications (2)

Publication Number Publication Date
CN1369798A CN1369798A (zh) 2002-09-18
CN1246777C true CN1246777C (zh) 2006-03-22

Family

ID=4653270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01103484 Expired - Fee Related CN1246777C (zh) 2001-02-14 2001-02-14 Cpu性能测试的方法

Country Status (1)

Country Link
CN (1) CN1246777C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298112B (zh) * 2011-05-05 2016-06-01 中兴通讯股份有限公司 一种可编程逻辑器件的测试方法及系统

Also Published As

Publication number Publication date
CN1369798A (zh) 2002-09-18

Similar Documents

Publication Publication Date Title
US7447948B2 (en) ECC coding for high speed implementation
Iyer et al. Experimental analysis of computer system dependability
US5168499A (en) Fault detection and bypass in a sequence information signal processor
CN1201229C (zh) 用动态可重新配置的测试电路来跟踪硬件状态的方法和装置
US6219685B1 (en) Method to detect IEEE overflow and underflow conditions
CA2367793A1 (en) Method and apparatus for computer system reliability
CN101719087B (zh) 微处理器可靠性评测方法及其系统
US6742145B2 (en) Method of de-allocating multiple processor cores for an L2 correctable error
Guo et al. Paris: Predicting application resilience using machine learning
US20110137631A1 (en) Simulation method, system and program product
Di Mascio et al. Open-source IP cores for space: A processor-level perspective on soft errors in the RISC-V era
CN1246777C (zh) Cpu性能测试的方法
Yim Characterization of impact of transient faults and detection of data corruption errors in large-scale n-body programs using graphics processing units
Pflanz et al. Online check and recovery techniques for dependable embedded processors
Ammar et al. A comparative analysis of hardware and software fault tolerance: Impact on software reliability engineering
Silva et al. Practical issues in the use of ABFT and a new failure model
CN112765609B (zh) 一种基于单类支持向量机的多位sdc脆弱指令识别方法
Sadi et al. An efficient approach towards mitigating soft errors risks
Yan et al. Multi-Bit Data Flow Error Detection Method Based on SDC Vulnerability Analysis
JP3920336B2 (ja) ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置
Chen et al. Fault-tolerance design of the ibm enterprise system/9000 type 9021 processors
Aidemark et al. Path-based error coverage prediction
EP0365186A2 (en) Apparatus for enhanced tagged data processing in a generalized computer execution unit
Rojas et al. Exploring the effects of silent data corruption in distributed deep learning training
Chen et al. Comprehensive algorithmic resilience for numeric applications

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060322

Termination date: 20110214