專利名稱:計(jì)算機(jī)組件測試方法及測試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)組件測試方法及測試系統(tǒng),尤其涉及一種在計(jì)算機(jī)組件測試過程中可調(diào)整測試環(huán)境溫度的計(jì)算機(jī)組件測試方法及測試系統(tǒng)。
背景技術(shù):
計(jì)算機(jī)是當(dāng)前社會(huì)不可缺少的工作和學(xué)習(xí)的工具,為了保證計(jì)算機(jī)能穩(wěn)定可靠的工作,需要對(duì)設(shè)計(jì)出的計(jì)算機(jī)雛型機(jī)中的各種組件進(jìn)行測試,這種測試不僅僅是找出有問題的組件,也為研發(fā)廠商發(fā)現(xiàn)雛型機(jī)設(shè)計(jì)不合理的部份提供參考資料。
以計(jì)算機(jī)中的一個(gè)關(guān)鍵組件一內(nèi)存為例,它是決定計(jì)算機(jī)系統(tǒng)穩(wěn)定性和可靠性的重要技術(shù)因素之一,因此,完整的發(fā)現(xiàn)、分析和驗(yàn)證影響內(nèi)存正常工作的因素是開發(fā)高性能計(jì)算機(jī)的必要技術(shù)基礎(chǔ),也是內(nèi)存測試的目標(biāo)所在。
測試內(nèi)存的方法多為通過雛型機(jī)運(yùn)行測試軟件,以發(fā)現(xiàn)內(nèi)存存在的問題,測試的指針主要是內(nèi)存的穩(wěn)定性及與雛型機(jī)的兼容性,體現(xiàn)這些特性主要是通過內(nèi)存的時(shí)鐘頻率以及工作參數(shù),其中測試內(nèi)存的軟件有多種,此處不在一一列舉。
對(duì)于生產(chǎn)內(nèi)存的廠商而言,上述測試遠(yuǎn)遠(yuǎn)不夠,為了提高整機(jī)穩(wěn)定性,并能夠?yàn)椴煌?guī)格的機(jī)型提供相應(yīng)配置的內(nèi)存,需要對(duì)內(nèi)存進(jìn)行更嚴(yán)格的測試,因此,測試還需要在加大測試環(huán)境壓力的情況下進(jìn)行。通常,外部環(huán)境包含測試溫度和電壓。
對(duì)于筆記本型計(jì)算機(jī)而言,測試環(huán)境的溫度對(duì)內(nèi)存測試更為重要,因?yàn)楣P記型計(jì)算機(jī)的組件結(jié)構(gòu)緊湊,熱量容易集中,因此在高溫測試環(huán)境下進(jìn)行筆記本型計(jì)算機(jī)的內(nèi)存測試對(duì)內(nèi)存本身和筆記本型計(jì)算機(jī)內(nèi)部的架構(gòu)是很有意義的。通常,對(duì)內(nèi)存進(jìn)行測試時(shí),高溫的測試環(huán)境(65℃以上)下內(nèi)存報(bào)錯(cuò)的頻率比低溫時(shí)的要高,這是因?yàn)闇囟茸兏吆?,變頻信號(hào)的傳輸產(chǎn)生干擾,而且溫度越高串?dāng)_越大,信號(hào)的衰減也越大,原本低溫下沒有出現(xiàn)的故障此時(shí)都出現(xiàn)了;因此,提供一種可以變化測試溫度的測試平臺(tái)非常具有實(shí)際意義。
目前加大內(nèi)存測試環(huán)境壓力的方法是使用高低溫老化箱,可通過其調(diào)整測試環(huán)境的溫度以達(dá)到在不同溫度環(huán)境下進(jìn)行內(nèi)存測試的目的,但是這種方法使用的高低溫老化箱成本高,而且需要將每塊裝設(shè)有內(nèi)存的電路板分別放入其中,調(diào)整高低溫老化箱的溫度再進(jìn)行測試,非常不方便,降低了測試效率。
因此,關(guān)鍵問題是如何以方便、有效并且成本低廉的方法加大測試內(nèi)存時(shí)的環(huán)境壓力,這也是業(yè)界一直致力解決的技術(shù)瓶頸。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種便于調(diào)整測試環(huán)境壓力的計(jì)算機(jī)組件測試方法及測試系統(tǒng)。
為了實(shí)現(xiàn)上述目的,本發(fā)明所揭露的一種計(jì)算機(jī)組件測試方法,通過控制計(jì)算機(jī)內(nèi)部的中央處理器溫度,以增加中央處理器周邊計(jì)算機(jī)組件的測試壓力進(jìn)而對(duì)計(jì)算機(jī)組件進(jìn)行測試,本發(fā)明的測試方法包含設(shè)置計(jì)算機(jī)組件的測試溫度波動(dòng)范圍;設(shè)置計(jì)算機(jī)組件的測試溫度,并令測試溫度處于測試溫度波動(dòng)范圍內(nèi);讀取中央處理器的實(shí)時(shí)溫度;判斷實(shí)時(shí)溫度是否等于測試溫度,如果否,則調(diào)整中央處理器的實(shí)時(shí)溫度,如果是,通過測試程序?qū)τ?jì)算機(jī)組件進(jìn)行測試。
本發(fā)明所揭示的一種計(jì)算機(jī)組件測試系統(tǒng),其包含測試溫度范圍設(shè)定單元,用于設(shè)定計(jì)算機(jī)組件的測試溫度的波動(dòng)范圍并儲(chǔ)存;測試溫度設(shè)定單元,用于將計(jì)算機(jī)組件的測試溫度控制在測試溫度范圍內(nèi);溫度讀取單元,用于讀取中央處理器的實(shí)時(shí)溫度;溫度判斷單元,判斷實(shí)時(shí)溫度是否等于測試溫度;溫度調(diào)整單元,當(dāng)實(shí)時(shí)溫度不等于測試溫度時(shí)調(diào)整實(shí)時(shí)溫度直至等于測試溫度;以及硬件測試單元,當(dāng)實(shí)時(shí)溫度等于測試溫度時(shí),運(yùn)行測試程序?qū)τ?jì)算機(jī)組件進(jìn)行測試。
本發(fā)明所述的計(jì)算機(jī)組件的測試方法和測試系統(tǒng),可自動(dòng)調(diào)整測試溫度,與先前技術(shù)使用高低溫老化箱相比,其自動(dòng)化程度更高并節(jié)約了成本;此外,本發(fā)明還可依照需要變更測試環(huán)境的溫度,為測試人員了解被測計(jì)算機(jī)組件在不同溫度壓力下的表現(xiàn)創(chuàng)造條件;而且本發(fā)明可廣泛應(yīng)用在測試內(nèi)存、硬盤或光驅(qū)等各種計(jì)算機(jī)組件的過程中。
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
圖1為本發(fā)明實(shí)施例的計(jì)算機(jī)組件測試方法的方法流程圖;圖2為本發(fā)明的自動(dòng)調(diào)整測試溫度的方法流程圖;圖3為本發(fā)明的時(shí)時(shí)監(jiān)控中央處理器實(shí)時(shí)溫度的方法流程圖;圖4為本發(fā)明的自動(dòng)調(diào)整實(shí)時(shí)溫度的方法流程圖;以及圖5為本發(fā)明實(shí)施例的計(jì)算機(jī)組件測試系統(tǒng)的系統(tǒng)方塊圖。
步驟301 設(shè)置CPU的溫度波動(dòng)范圍并儲(chǔ)存步驟303 設(shè)置測試溫度TmpL步驟305 運(yùn)行CPU使其溫度與環(huán)境溫度相當(dāng)步驟307 讀取CPU的實(shí)時(shí)溫度Tmp步驟309 判斷CPU的實(shí)時(shí)溫度Tmp是否等于測試溫度TmpL步驟311 調(diào)整CPU的實(shí)時(shí)溫度Tmp步驟313 進(jìn)行內(nèi)存測試并時(shí)時(shí)監(jiān)控CPU實(shí)時(shí)溫度Tmp步驟315 判斷是否變更CPU的測試溫度TmpL步驟317 調(diào)整測試溫度TmpL步驟319 判斷測試是否結(jié)束步驟3031初始化CPU的測試溫度TmpL步驟3032判斷測試溫度TmpL是否小于最小溫度步驟3033使測試溫度TmpL等于最小溫度步驟3034判斷測試溫度TmpL是否大于最大溫度步驟303 使測試溫度TmpL等于最大溫度步驟501 讀取CPU的實(shí)時(shí)溫度Tmp步驟503 判斷CPU的實(shí)時(shí)溫度Tmp是否等于測試溫度TmpL步驟505 調(diào)整CPU的實(shí)時(shí)溫度Tmp步驟801 初始化CPU的測試溫度TmpL步驟803 獲取CPU的實(shí)時(shí)溫度Tmp步驟805 計(jì)算測試溫度與實(shí)時(shí)溫度的差值步驟807 判斷差值是否小于正五等級(jí)步驟809執(zhí)行正五等級(jí)的升溫方案步驟811判斷差值是否小于正四等級(jí)步驟813執(zhí)行正四等級(jí)的升溫方案步驟815判斷差值是否小于正三等級(jí)步驟817執(zhí)行正三等級(jí)的升溫方案步驟819判斷差值是否小于正二等級(jí)步驟821執(zhí)行正二等級(jí)的升溫方案步驟823判斷差值是否小于正一等級(jí)步驟825執(zhí)行正一等級(jí)的升溫方案步驟827判斷差值是否小于負(fù)一等級(jí)步驟829執(zhí)行負(fù)一等級(jí)的降溫方案步驟831判斷差值是否小于負(fù)二等級(jí)步驟833執(zhí)行負(fù)二等級(jí)的降溫方案步驟835判斷差值是否小于負(fù)三等級(jí)步驟837執(zhí)行負(fù)三等級(jí)的降溫方案100計(jì)算機(jī)組件測試系統(tǒng)101溫度范圍設(shè)定單元103測試溫度設(shè)定單元105CPU溫度控制模塊107硬件測試單元109CPU溫度監(jiān)控單元111測試溫度變更判斷單元113測試完成判斷單元201CPU溫度讀取單元203CPU溫度判斷單元205CPU溫度調(diào)整單元具體實(shí)施方式
以下,將結(jié)合附圖對(duì)本發(fā)明的較佳實(shí)施方式作詳細(xì)說明。
本發(fā)明計(jì)算機(jī)組件測試方法包含循環(huán)升高整個(gè)測試環(huán)境的溫度并運(yùn)行現(xiàn)有的測試軟件進(jìn)行測試,因此可在不斷增加外界環(huán)境壓力的情況下對(duì)計(jì)算機(jī)組件進(jìn)行測試,本發(fā)明的重點(diǎn)在于如何調(diào)整測試環(huán)境的溫度,因此省略了對(duì)計(jì)算機(jī)組件如何運(yùn)行現(xiàn)有的測試軟件的贅述。
由于計(jì)算機(jī)尤其是筆記本型計(jì)算機(jī)的內(nèi)部結(jié)構(gòu)緊湊,內(nèi)部環(huán)境的溫度相當(dāng)于中央處理器(Centeral Processing Unit,CPU)這個(gè)主要發(fā)熱組件的溫度,因此,調(diào)整CPU的溫度即相當(dāng)于對(duì)環(huán)境溫度進(jìn)行調(diào)整。圖1所示為本發(fā)明實(shí)施例的計(jì)算機(jī)組件測試方法的方法流程圖。如圖1所示,以測試筆記本型計(jì)算機(jī)的內(nèi)存為例,本發(fā)明的測試方法包含下述步驟首先設(shè)置測試過程中CPU溫度的波動(dòng)范圍,并儲(chǔ)存這些設(shè)定(步驟301),設(shè)置CPU溫度波動(dòng)的最大值Thigh和最小值Tlow時(shí),最大值不能過高,最小值不宜過低,因?yàn)樽畲笾凳怯蒀PU可以承受的最高溫度決定的,如果CPU長期在高溫下運(yùn)行會(huì)縮短其使用壽命,通?;据斎胼敵鱿到y(tǒng)(Basic Input OutputSystem,BIOS)設(shè)計(jì)有高溫自動(dòng)重啟的功能也就是這個(gè)原因,如果最小值過低將無法達(dá)到增大測試壓力的效果,因?yàn)闇囟仍礁甙l(fā)現(xiàn)的問題越多,因此,波動(dòng)范圍的設(shè)置是經(jīng)驗(yàn)值,根據(jù)系統(tǒng)構(gòu)架、散熱情況、被測試的內(nèi)存以及采用CPU型號(hào)的不同,設(shè)置的溫度范圍也將不同,例如,某機(jī)型CPU溫度在65℃時(shí)內(nèi)存測試出錯(cuò)的狀況較多,因此在測試內(nèi)存時(shí)將溫度下限Tlow設(shè)為65℃,該機(jī)型采用的CPU耐高溫的上限通常為90℃(可以在CPU說明書中找到),故將波動(dòng)范圍的最大值Thigh設(shè)為90℃;設(shè)置測試溫度TmpL(步驟303),這個(gè)測試溫度是外界環(huán)境的測試溫度,據(jù)上所述也相當(dāng)于CPU的測試溫度,因此下稱CPU的測試溫度TmpL;設(shè)置測試溫度TmpL的目的是當(dāng)設(shè)置的測試溫度不在步驟301設(shè)置的溫度波動(dòng)范圍內(nèi)時(shí),自動(dòng)調(diào)整測試溫度使其處于溫度波動(dòng)范圍內(nèi),如圖2所示,其還包含下述步驟初始化CPU的測試溫度TmpL(步驟3031),此處CPU的測試溫度TmpL可由測試人員輸入;判斷測試溫度TmpL是否小于溫度波動(dòng)范圍的最小值Tlow(步驟3032),如果是,執(zhí)行步驟3033,如果不是,執(zhí)行步驟3034;令測試溫度TmpL等于溫度波動(dòng)范圍的最小值Tlow,也就是令TmpL=65℃(步驟3033),然后執(zhí)行步驟305;
判斷測試溫度TmpL是否大于溫度波動(dòng)范圍的最大值Thigh(步驟3034),如果是,執(zhí)行步驟3035,如果不是,執(zhí)行步驟305;令測試溫度TmpL等于溫度波動(dòng)范圍的最大值Thigh,也就是令TmpL=90℃(步驟3035),然后執(zhí)行步驟305;將裝設(shè)有需要進(jìn)行測試的內(nèi)存的電路板運(yùn)行一段時(shí)間,使CPU溫度與計(jì)算機(jī)內(nèi)部測試環(huán)境溫度相差無幾(步驟305),CPU運(yùn)行的時(shí)間通常在1秒左右溫度就可達(dá)到很高,而且計(jì)算機(jī)內(nèi)部環(huán)境緊湊,無需多時(shí)就可使CPU的溫度與環(huán)境溫度相當(dāng);讀取CPU的實(shí)時(shí)溫度Tmp(步驟307),實(shí)時(shí)溫度Tmp也稱為CPU的表面溫度,只要BIOS支持進(jìn)階組能與電源接口ACPI(Advanced Configuration andPower Interface),就可以正常獲取CPU的實(shí)時(shí)溫度,目前,ACPI已被業(yè)界作為標(biāo)準(zhǔn)廣泛執(zhí)行,因此各操作系統(tǒng)都提供了完整的程序設(shè)計(jì)接口(ApplicationProgramming Interface,API)訪問方法,因此本文不再詳述;判斷CPU的實(shí)時(shí)溫度Tmp是否等于測試溫度TmpL(步驟309),如果不等于,執(zhí)行步驟311,如果等于,執(zhí)行步驟313;調(diào)整CPU的實(shí)時(shí)溫度Tmp(步驟311),調(diào)整CPU的實(shí)時(shí)溫度使之等于測試溫度TmpL,調(diào)整過程下文將予以詳細(xì)說明;進(jìn)行內(nèi)存測試并時(shí)時(shí)監(jiān)控CPU實(shí)時(shí)溫度Tmp(步驟313),在本步驟中,測試和監(jiān)控是兩個(gè)并行的進(jìn)程,對(duì)于內(nèi)存測試的部份,即運(yùn)行的測試程序,可以依照測試人員的需要運(yùn)行一個(gè)或多個(gè),此處不作詳細(xì)說明;時(shí)時(shí)監(jiān)控CPU實(shí)時(shí)溫度Tmp與內(nèi)存測試是兩個(gè)單獨(dú)的進(jìn)程,但同時(shí)進(jìn)行,因?yàn)閮?nèi)存體測試過程中其它硬件也會(huì)散熱,從而為升高環(huán)境溫度做出貢獻(xiàn),而在測試過程中環(huán)境溫度應(yīng)該是恒定的,所以測試的同時(shí)也要時(shí)時(shí)監(jiān)控溫度,這樣一旦實(shí)時(shí)溫度高于測試溫度時(shí)才能迅速作出反應(yīng),保證實(shí)時(shí)溫度穩(wěn)定在測試溫度,因此只有使這兩個(gè)部分在程序上并行才能保證測試環(huán)境的穩(wěn)定,對(duì)于時(shí)時(shí)監(jiān)控CPU實(shí)時(shí)溫度Tmp的步驟,如圖3所示,其還包含讀取CPU的實(shí)時(shí)溫度Tmp(步驟501),讀取的方法請(qǐng)參照步驟307;判斷CPU的實(shí)時(shí)溫度Tmp是否等于測試溫度TmpL(步驟503),如果等于,繼續(xù)執(zhí)行步驟501,以繼續(xù)讀取CPU的實(shí)時(shí)溫度Tmp,如果不等于,執(zhí)行步驟505;調(diào)整CPU的實(shí)時(shí)溫度Tmp(步驟505),調(diào)整CPU的實(shí)時(shí)溫度使之等于測試溫度TmpL,調(diào)整的方法與步驟311相同,下文將予以詳細(xì)說明,然后繼續(xù)執(zhí)行步驟501,以繼續(xù)讀取CPU的實(shí)時(shí)溫度Tmp;但是受條件所限無法實(shí)現(xiàn)上述測試和監(jiān)控并行的系統(tǒng),如DOS系統(tǒng),可以增加溫度監(jiān)控的頻率以保證CPU的實(shí)時(shí)溫度維持在一個(gè)合理的波動(dòng)范圍內(nèi);判斷是否變更CPU的測試溫度TmpL(步驟315),是則執(zhí)行步驟317,否則執(zhí)行步驟319;判斷是否變更CPU的測試溫度TmpL可在一個(gè)內(nèi)存的測試程序都運(yùn)行完畢后進(jìn)行,或者在所有內(nèi)存的測試程序都運(yùn)行完成后進(jìn)行,此處可依照測試人員的需要進(jìn)行設(shè)定;判斷是否變更CPU的測試溫度TmpL的目的是不斷增加測試環(huán)境的溫度,循環(huán)運(yùn)行測試程序,以獲得內(nèi)存在不同溫度下的測試成績,如果沒有達(dá)到溫度波動(dòng)范圍的最上限,可加大CPU的測試溫度TmpL以在此溫度下進(jìn)行內(nèi)存測試,而如果已經(jīng)到了最上限,那幺就可以結(jié)束對(duì)測試溫度TmpL的調(diào)整了,因此判斷是否變更測試溫度TmpL是十分必要的;調(diào)整測試溫度TmpL(步驟317),增加或減少測試溫度TmpL,其增加或減少的幅度可依照測試人員的需要設(shè)定,如1℃或更多,然后執(zhí)行步驟303;判斷測試是否結(jié)束(步驟319),如果是,則結(jié)束整個(gè)溫度調(diào)整及測試過程,如果否,則執(zhí)行步驟313,繼續(xù)進(jìn)行測試。
其中,步驟311和步驟505中,調(diào)整CPU的實(shí)時(shí)溫度Tmp的途徑有兩種,分別是控制CPU風(fēng)扇的轉(zhuǎn)速和/或增加CPU的功率。CPU風(fēng)扇停轉(zhuǎn)可以升高CPU溫度,隨著風(fēng)扇轉(zhuǎn)速的增加CPU的溫度會(huì)逐漸降低,CPU的功率是與溫度成正比的,功率增加溫度也會(huì)上升。因此這兩種方法均可以實(shí)現(xiàn)提升/降低CPU溫度的效果。
風(fēng)扇的轉(zhuǎn)速的增加,機(jī)箱內(nèi)的空氣流動(dòng)起到了均衡機(jī)箱內(nèi)溫度(也就是硬件測試過程的環(huán)境溫度)的作用,CPU風(fēng)扇的控制方法包含在ACPI中,但很少有操作系統(tǒng)為用戶提供訪問接口,但可通過解析ACPI中的信息獲取到不同機(jī)型控制CPU風(fēng)扇的方法,可詳見有關(guān)計(jì)算機(jī)風(fēng)扇測試生成方法的書籍,在此不再贅述。但在測試過程中如無特殊要求不要使風(fēng)扇停轉(zhuǎn)而是盡量保持風(fēng)扇高速旋轉(zhuǎn)。
而調(diào)整CPU功率的方法也有兩種一種是計(jì)算圓周率;另一種是直接驅(qū)動(dòng)CPU指令進(jìn)行運(yùn)算。這兩種方式的共同點(diǎn)是增加單位時(shí)間內(nèi)的CPU浮點(diǎn)運(yùn)算量以提高CPU的功率,只是方式不同。下面就這兩種方法加以論述。
計(jì)算機(jī)語言實(shí)現(xiàn)計(jì)算圓周率的算法很多,如通過梅欽公式進(jìn)行計(jì)算。梅欽公式中用到了兩個(gè)反正切公式,分別是arctg(1/5)和arctg(1/239),可使用算法程序設(shè)計(jì)中的累加器來進(jìn)行計(jì)算,由于梅欽公式演算方法為現(xiàn)有技術(shù),故此處不作更詳細(xì)的說明。
利用令CPU計(jì)算圓周率的方法由于計(jì)算量恒定,可以將溫度穩(wěn)定在一定范圍內(nèi),但相應(yīng)地升溫的速度也無法加快。
提高CPU功率最有效的方式是增加單位時(shí)間內(nèi)浮點(diǎn)運(yùn)算的次數(shù),這是因?yàn)楦↑c(diǎn)運(yùn)算是CPU內(nèi)部執(zhí)行的最復(fù)雜的運(yùn)算過程,而且在運(yùn)算過程中用到的的寄存器、運(yùn)算器等也最多。
以下是采用單指令多數(shù)據(jù)流式擴(kuò)展(Streaming SIMD Extensions,SSE)技術(shù)提高CPU功率的方法。SSE技術(shù)是專為增強(qiáng)浮點(diǎn)運(yùn)算能力設(shè)計(jì)的,具有SSE指令集支持的處理器有8個(gè)128位的寄存器,每一個(gè)寄存器可以存放4個(gè)(即32位)單精度的浮點(diǎn)數(shù)。SSE同時(shí)提供了一個(gè)指令集,其中的指令允許把浮點(diǎn)數(shù)加載到這些128位的寄存器之中,這些浮點(diǎn)數(shù)就可以在這些寄存器中進(jìn)行算術(shù)邏輯運(yùn)算,然后把結(jié)果放回內(nèi)存。單指令多數(shù)據(jù)(single-instructionmultiple-data,SIMD)技術(shù)是一種使用單道指令處理多道數(shù)據(jù)流的CPU執(zhí)行模式,即在一個(gè)CPU指令執(zhí)行周期內(nèi)用一道指令完成處理多個(gè)數(shù)據(jù)的操作。SIMD是SSE技術(shù)的具體實(shí)現(xiàn)。
在SIMD指令集中對(duì)比不同指令測試后發(fā)現(xiàn)匯編語言的乘法指令“MULPS”與加法指令“ADDPS”對(duì)提高CPU功率的效果最好。MULPS指令用于對(duì)源操作數(shù)和目標(biāo)操作數(shù)中的四對(duì)單精度浮點(diǎn)數(shù)執(zhí)行成組乘法,并將結(jié)果存入目標(biāo)操作數(shù),ADDPS指令用于對(duì)源操作數(shù)和目標(biāo)操作數(shù)中的四對(duì)單精度浮點(diǎn)數(shù)執(zhí)行成組加法,并將結(jié)果存入目標(biāo)操作數(shù)。
單位時(shí)間內(nèi)增加CPU浮點(diǎn)運(yùn)算次數(shù)的方法對(duì)于提高CPU溫度的效果非常明顯,可在1秒鐘左右的時(shí)間內(nèi)將CPU溫度由常溫升到100℃左右,但是這種方法不容易使CPU溫度保持恒定,如果溫度不斷變化,則難以保證測試結(jié)果的準(zhǔn)確性。
因此,為了使CPU溫度保持穩(wěn)定又能加快溫度調(diào)整速度,需要一種溫度調(diào)整方法,這種方法既能快速升溫更可對(duì)溫度進(jìn)行微調(diào)。本發(fā)明將圓周率算法、增加CPU功率法和控制CPU風(fēng)扇的轉(zhuǎn)速的方法相結(jié)合,并對(duì)溫度調(diào)整的幅度進(jìn)行設(shè)置,當(dāng)實(shí)時(shí)溫度Tmp低于測試溫度TmpL時(shí),依升溫速度從慢到快分為五等級(jí),即正一等級(jí)至正五等級(jí),當(dāng)實(shí)時(shí)溫度Tmp高于測試溫度TmpL時(shí),依降溫速度從慢到快分為負(fù)一等級(jí)至負(fù)三等級(jí)。其中每一等級(jí)都對(duì)應(yīng)一項(xiàng)溫度調(diào)整方案(下文將詳述)。對(duì)于筆記本型計(jì)算機(jī)而言,正一等級(jí)至負(fù)三等級(jí)這些值可分別設(shè)定為0℃,2℃,5℃,9℃,15℃;-2℃,-5℃,-10℃。如圖5所示,這種具體方法包含下述步驟初始化CPU的測試溫度TmpL(步驟801),其具體方法請(qǐng)參照上文的步驟305;獲取CPU的實(shí)時(shí)溫度Tmp(步驟803),具體方法請(qǐng)參照上文的步驟307;計(jì)算測試溫度與實(shí)時(shí)溫度的差值L(步驟805),即L=TmpL-Tmp;判斷差值L是否小于正五等級(jí)(步驟807),如果小于,則執(zhí)行步驟811,如果不小于,執(zhí)行步驟809;執(zhí)行正五等級(jí)的升溫方案(步驟809),下文將祥述,然后執(zhí)行步驟803;判斷差值L是否小于正四等級(jí)(步驟811),如果小于,執(zhí)行步驟815,如果不小于,執(zhí)行步驟813;執(zhí)行正四等級(jí)的升溫方案(步驟813),下文將祥述,然后執(zhí)行步驟803;判斷差值L是否小于正三等級(jí)(步驟815),如果小于執(zhí)行步驟819,如果不小于執(zhí)行步驟817;執(zhí)行正三等級(jí)的升溫方案(步驟817),下文將祥述,然后執(zhí)行步驟803;判斷差值L是否小于正二等級(jí)(步驟819),如果小于,執(zhí)行步驟823,如果不小于,執(zhí)行步驟821;執(zhí)行正二等級(jí)的升溫方案(步驟821),下文將祥述,然后執(zhí)行步驟803;判斷差值L是否小于正一等級(jí)(步驟823),如果小于,執(zhí)行步驟827,如果不小于,執(zhí)行步驟825;執(zhí)行正一等級(jí)的升溫方案(步驟825),下文將祥述,然后執(zhí)行步驟803;判斷差值L是否小于負(fù)一等級(jí)(步驟827),如果小于,執(zhí)行步驟831,如果不小于,執(zhí)行步驟829;執(zhí)行負(fù)一等級(jí)的降溫方案(步驟829),即將風(fēng)扇的轉(zhuǎn)速增加50%,風(fēng)扇轉(zhuǎn)速的調(diào)整方法請(qǐng)參照上文,然后執(zhí)行步驟803;判斷差值L是否小于負(fù)二等級(jí)(步驟831),如果小于,執(zhí)行步驟835,如果不小于,執(zhí)行步驟833;執(zhí)行負(fù)二等級(jí)的降溫方案(步驟833),即將風(fēng)扇的轉(zhuǎn)速增加75%,風(fēng)扇轉(zhuǎn)速的調(diào)整方法請(qǐng)參照上文,然后執(zhí)行步驟803;判斷差值L是否小于負(fù)三等級(jí)(步驟835),如果小于,則結(jié)束,如果不小于,執(zhí)行步驟837;執(zhí)行負(fù)三等級(jí)的降溫方案(步驟837),即將風(fēng)扇的轉(zhuǎn)速增加100%,風(fēng)扇轉(zhuǎn)速的調(diào)整方法請(qǐng)參照上文,然后執(zhí)行步驟803。
其中,正一等級(jí)至正五等級(jí)的升溫方案分別為正一等級(jí),采用圓周率計(jì)算算法,用于恒定CPU溫度;正二等級(jí)至正五等級(jí)均采用增加CPU功率的方法,但是為了變化升溫的幅度,需要通過編程來區(qū)分出功率提升的速度,主要是利用在浮點(diǎn)運(yùn)算指令中間增加緩沖時(shí)間,各等級(jí)的簡略代碼如下正二等級(jí)的簡略代碼……movaps xmm5,oword ptr[esi] ;初始化xmm5寄存器mulps xmm2,xmm5;成組乘法運(yùn)算nop ;空指令nop ;空指令nop ;空指令nop ;空指令nop ;空指令nop ;空指令nop ;空指令……正三等級(jí)的簡略代碼……movaps xmm5,oword ptr[esi] ;初始化xmm5寄存器mulps xmm2,xmm5;成組乘法運(yùn)算nop ;空指令nop ;空指令……正四等級(jí)的簡略代碼……movaps xmm5,oword ptr[esi] ;初始化xmm5寄存器mulps xmm2,xmm5; 成組乘法運(yùn)算movaps xmm4,oword ptr[esi+10h] ;初始化xmm4寄存器
addps xmm3,xmm4 ;成組加法運(yùn)算nop ;空指令nop ;空指令……正五等級(jí)的簡略代碼……movaps xmm5,oword ptr[esi] ;初始化xmm5寄存器mulps xmm2,xmm5 ;成組乘法運(yùn)算movaps xmm4,oword ptr[esi+10h] ;初始化xmm4寄存器addps xmm3,xmm4 ;成組加法運(yùn)算……從上述代碼中可以發(fā)現(xiàn),各等級(jí)之間的差別主要是空指令使用的多少以及成組加法運(yùn)算的增加。利用上述方法可實(shí)現(xiàn)不同序列的讀/寫/比較操作,從而達(dá)到測試目的。
在本發(fā)明的計(jì)算機(jī)組件測試方法過程中,測試人員可在每次運(yùn)行測試程序后,記錄被測計(jì)算機(jī)組件的測試資料,以利用現(xiàn)有技術(shù)了解被測計(jì)算機(jī)組件在不同溫度壓力條件下的表現(xiàn),并且更可將測試資料作為后續(xù)的進(jìn)一步判斷系統(tǒng)架構(gòu)是否合理的參考資料。
本發(fā)明計(jì)算機(jī)組件的測試方法,可自動(dòng)調(diào)整測試溫度,與先前技術(shù)使用高低溫老化箱相比,自動(dòng)化程度高并節(jié)約了成本;此外,本發(fā)明可循環(huán)提高測試環(huán)境溫度,令外界環(huán)境壓力不斷增大,以為測試人員利用現(xiàn)有技術(shù)了解被測計(jì)算機(jī)組件在不同溫度壓力下的表現(xiàn)表現(xiàn)創(chuàng)造條件;而且本發(fā)明的方法不僅僅可以調(diào)整測試內(nèi)存測試環(huán)境的溫度,,顯然還可廣泛應(yīng)用在測試硬盤或光驅(qū)等其它計(jì)算機(jī)組件的測試過程中。
圖5所示為本發(fā)明實(shí)施例的計(jì)算機(jī)組件測試系統(tǒng)的系統(tǒng)方塊圖。如圖5所示,本發(fā)明計(jì)算機(jī)組件測試系統(tǒng)100包含溫度范圍設(shè)定單元101,用于設(shè)定CPU溫度波動(dòng)的最大值和最小值,測試人員可自行定義CPU溫度的波動(dòng)范圍并儲(chǔ)存這項(xiàng)設(shè)定,如可設(shè)定CPU溫度波動(dòng)的最小值為65℃,最大值為90℃;測試溫度設(shè)定單元103,用于設(shè)定外界環(huán)境也就是CPU的測試溫度TmpL,并儲(chǔ)存,這項(xiàng)指針由測試人員自行設(shè)定,但是,當(dāng)測試人員設(shè)置的測試溫度TmpL不在溫度范圍設(shè)定單元101設(shè)定的CPU溫度波動(dòng)范圍內(nèi)時(shí),測試溫度設(shè)定單元103自動(dòng)將測試溫度TmpL置于這個(gè)溫度波動(dòng)范圍內(nèi),如當(dāng)測試人員將測試溫度TmpL設(shè)置在50℃時(shí),測試溫度設(shè)定單元103自動(dòng)將其設(shè)為65℃,并儲(chǔ)存65℃的測試溫度TmpL,或者當(dāng)測試人員將測試溫度TmpL設(shè)置在100℃時(shí),測試溫度設(shè)定單元103自動(dòng)將其設(shè)為95℃,并儲(chǔ)存95℃的測試溫度TmpL。
CPU溫度控制模塊105,用于讀取、判斷及調(diào)整CPU的實(shí)時(shí)溫度Tmp,其還包含CPU溫度讀取單元201,負(fù)責(zé)讀取CPU的實(shí)時(shí)溫度Tmp(也稱為CPU的表面溫度),其可通過運(yùn)行ACPI獲得,并將獲得的CPU的實(shí)時(shí)溫度Tmp發(fā)送給CPU溫度判斷單元203;CPU溫度判斷單元203,用于判斷溫度讀取單元201讀取的CPU的實(shí)時(shí)溫度Tmp是否等于測試溫度設(shè)定單元103儲(chǔ)存的測試溫度TmpL,如果等于,通知硬件測試單元107和CPU溫度監(jiān)控單元109,如果不等于,通知CPU溫度調(diào)整單元205;CPU溫度調(diào)整單元205,是一個(gè)重要的單元,用于調(diào)整CPU的實(shí)時(shí)溫度Tmp,使之等于測試溫度TmpL,調(diào)整的方法有兩種,分別是控制CPU風(fēng)扇的轉(zhuǎn)速和/或增加CPU的功率,具體請(qǐng)參照上文說明;硬件測試單元107,用于進(jìn)行硬件的測試,其中可儲(chǔ)存有一系列進(jìn)行硬件如內(nèi)存或硬盤測試的進(jìn)程,這些進(jìn)程可由測試人員依照需要測試的計(jì)算機(jī)組件的種類提前進(jìn)行設(shè)定,如果需要測試的計(jì)算機(jī)組件是內(nèi)存,測試人員可將其執(zhí)行的測試程序設(shè)定為內(nèi)存的測試程序,根據(jù)需要,還可儲(chǔ)存有其它硬件如硬盤等組件的測試程序;CPU溫度監(jiān)控單元109,當(dāng)接到CPU溫度控制模塊105發(fā)出的實(shí)時(shí)溫度Tmp等于測試溫度TmpL的通知后,CPU溫度監(jiān)控單元109時(shí)時(shí)命令CPU溫度控制模塊105調(diào)整實(shí)時(shí)溫度Tmp使之恒定地等于測試溫度TmpL,這是因?yàn)橛布鐑?nèi)存的測試過程中其它硬件也會(huì)散熱,為升高環(huán)境溫度做出貢獻(xiàn)以使得實(shí)時(shí)溫度Tmp發(fā)生變化,而在測試過程中所需的測試溫度應(yīng)該是恒定的,所以測試的同時(shí)也要時(shí)時(shí)監(jiān)控實(shí)時(shí)溫度Tmp使之恒定地等于所設(shè)定的測試溫度TmpL;測試溫度變更判斷單元111,用于判斷是否變更測試溫度TmpL,判斷的依據(jù)是測試人員輸入的指令,如果需要變更測試溫度,則通知測試溫度設(shè)定單元103重新設(shè)置測試溫度TmpL,此處可依照需要,通知測試溫度設(shè)定單元103將測試溫度TmpL增加或降低一度,或更多,也可依照測試人員的命令調(diào)整,如果不進(jìn)行變更,則通知測試完成判斷單元113,其中測試人員可在所有內(nèi)存測試完成后下達(dá)改變測試溫度TmpL的命令,也可在雛型機(jī)的所有硬件都進(jìn)行完測試后再變更測試溫度;測試完成判斷單元113,用于判斷對(duì)計(jì)算機(jī)組件的測試是否完成,如果測試未完成,則通知硬件測試單元107和CPU溫度監(jiān)控單元109以繼續(xù)進(jìn)行計(jì)算機(jī)組件的測試并監(jiān)控CPU的實(shí)時(shí)溫度Tmp,如果測試完成,則結(jié)束測試。
本發(fā)明所述的計(jì)算機(jī)組件測試系統(tǒng),可提前裝入待測雛型機(jī)中,無須像現(xiàn)有技術(shù)一樣每臺(tái)測試雛型機(jī)都要人工放入高低溫老化箱內(nèi),因此既節(jié)省了成本,也提高了測試效率,適用于大規(guī)?;瘻y試作業(yè);而且,還可將組件測試與環(huán)境溫度整合到一起,并時(shí)時(shí)監(jiān)控測試環(huán)境溫度的變化,使測試結(jié)果更加穩(wěn)定可靠;此外,本發(fā)明的計(jì)算機(jī)組件測試系統(tǒng)可循環(huán)調(diào)整CPU的溫度,令測試可在多種溫度壓力條件下進(jìn)行,自動(dòng)化程度更高。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種計(jì)算機(jī)組件測試方法,通過控制計(jì)算機(jī)內(nèi)部的中央處理器溫度,以調(diào)整所述中央處理器周邊計(jì)算機(jī)組件的測試壓力進(jìn)而對(duì)所述計(jì)算機(jī)組件進(jìn)行測試,其特征在于,所述測試方法包含以下步驟步驟a、設(shè)置所述計(jì)算機(jī)組件的測試溫度波動(dòng)范圍并儲(chǔ)存所述測試溫度波動(dòng)范圍值;步驟b、設(shè)置并儲(chǔ)存所述計(jì)算機(jī)組件的一測試溫度,并令所述測試溫度處于所述測試溫度波動(dòng)范圍內(nèi);步驟c、讀取所述中央處理器的一實(shí)時(shí)溫度;步驟d、判斷所述實(shí)時(shí)溫度是否等于所述測試溫度,如果否,則執(zhí)行步驟e,如果是,則執(zhí)行步驟f;步驟e、調(diào)整所述中央處理器的實(shí)時(shí)溫度,然后執(zhí)行步驟c;以及步驟f、通過測試程序?qū)λ鲇?jì)算機(jī)組件進(jìn)行測試。
2.根據(jù)權(quán)利要求所述的計(jì)算機(jī)組件測試方法,其特征在于,所述步驟e中所述的調(diào)整所述中央處理器的實(shí)時(shí)溫度為通過控制所述中央處理器的風(fēng)扇轉(zhuǎn)速和/或增加所述中央處理器的功率對(duì)所述實(shí)時(shí)溫度進(jìn)行調(diào)整。
3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)組件測試方法,其特征在于,增加所述中央處理器的功率的方法為在增加單位時(shí)間內(nèi)所述中央處理器的浮點(diǎn)運(yùn)算量,其還包含令所述中央處理器計(jì)算圓周率的方法和/或驅(qū)動(dòng)所述中央處理器的指令進(jìn)行運(yùn)算的方法。
4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)組件測試方法,其特征在于,所述計(jì)算圓周率的方法為通過梅欽公式中所用的兩個(gè)反正切函數(shù)計(jì)算圓周率的演算方法,所述兩個(gè)反正切函數(shù)分別為arctg(1/5)和arctg(1/239)。
5.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)組件測試方法,其特征在于,驅(qū)動(dòng)所述中央處理器的指令進(jìn)行運(yùn)算的方法為采用單指令多數(shù)據(jù)流式擴(kuò)展技術(shù)驅(qū)動(dòng)匯編乘法指令和加法指令進(jìn)行運(yùn)算的方法。
6.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)組件測試方法,其特征在于,所述步驟f中還包含時(shí)時(shí)監(jiān)控所述中央處理器的實(shí)時(shí)溫度的步驟,所述步驟進(jìn)一步包含如下步驟時(shí)時(shí)讀取所述中央處理器的實(shí)時(shí)溫度;判斷所述實(shí)時(shí)溫度是否等于所述測試溫度;以及當(dāng)所述實(shí)時(shí)溫度不等于所述測試溫度時(shí),調(diào)整所述實(shí)時(shí)溫度至所述測試溫度。
7.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)組件測試方法,其特征在于,所述步驟f之后還包含如下步驟步驟g、判斷是否變更所述測試溫度,如果是,則執(zhí)行步驟h,如果否,則執(zhí)行步驟i;步驟h、在所述測試溫度波動(dòng)范圍內(nèi)調(diào)整所述測試溫度,并執(zhí)行步驟c;以及步驟i、判斷對(duì)所述計(jì)算機(jī)組件的測試是否完成,如果是,則結(jié)束測試,如果否,則繼續(xù)執(zhí)行步驟f。
8.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)組件測試方法,其特征在于,在所述步驟f后還包含記錄所述計(jì)算機(jī)組件的測試數(shù)據(jù),以獲得其在所述測試溫度條件下的運(yùn)行數(shù)據(jù)。
9.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)組件測試方法,其特征在于,所述計(jì)算機(jī)組件為計(jì)算機(jī)內(nèi)部的內(nèi)存。
10.一種計(jì)算機(jī)組件測試系統(tǒng),通過控制計(jì)算機(jī)內(nèi)部的中央處理器溫度,以增加所述中央處理器周邊計(jì)算機(jī)組件的測試壓力進(jìn)而對(duì)所述計(jì)算機(jī)組件進(jìn)行測試,其特征在于,所述測試系統(tǒng)包含有一測試溫度范圍設(shè)定單元,用于設(shè)定所述計(jì)算機(jī)組件的測試溫度的波動(dòng)范圍并儲(chǔ)存所述測試溫度波動(dòng)范圍值;一測試溫度設(shè)定單元,用于設(shè)置并儲(chǔ)存所述計(jì)算機(jī)組件的一測試溫度,并將所述測試溫度控制在所述測試溫度波動(dòng)范圍內(nèi);一溫度讀取單元,用于讀取所述中央處理器的一實(shí)時(shí)溫度;一溫度判斷單元,判斷所述實(shí)時(shí)溫度是否等于所述測試溫度;一溫度調(diào)整單元,當(dāng)所述實(shí)時(shí)溫度不等于所述測試溫度時(shí)調(diào)整所述實(shí)時(shí)溫度直至所述實(shí)時(shí)溫度等于所述測試溫度;以及一硬件測試單元,當(dāng)所述實(shí)時(shí)溫度等于所述測試溫度時(shí),運(yùn)行測試程序?qū)λ鲇?jì)算機(jī)組件進(jìn)行測試。
11.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)組件測試系統(tǒng),其特征在于,所述溫度調(diào)整單元通過控制所述中央處理器的風(fēng)扇轉(zhuǎn)速和/或增加所述中央處理器的功率對(duì)所述實(shí)時(shí)溫度進(jìn)行調(diào)整。
12.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)組件測試系統(tǒng),其特征在于,還包含一溫度監(jiān)控單元,用于時(shí)時(shí)監(jiān)視所述實(shí)時(shí)溫度,并通知所述溫度調(diào)整單元調(diào)整所述實(shí)時(shí)溫度恒等于所述測試溫度。
13.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)組件測試系統(tǒng),其特征在于,還包含一測試溫度變更判斷單元,用于判斷是否變更所述測試溫度,如果是,則將所述判斷結(jié)果通知所述測試溫度設(shè)定單元以變更所述測試溫度。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)組件測試系統(tǒng),其特征在于,還包含一測試完成判斷單元,當(dāng)所述測試溫度變更判斷單元的之判斷結(jié)果為不變更所述測試溫度時(shí),判斷對(duì)所述計(jì)算機(jī)組件的測試是否完成,如果是,則結(jié)束測試,如果否,則通知所述硬件測試單元繼續(xù)進(jìn)行測試。
全文摘要
一種計(jì)算機(jī)組件測試方法及測試系統(tǒng),通過控制計(jì)算機(jī)內(nèi)部的中央處理器溫度,以增加中央處理器周邊計(jì)算機(jī)組件的測試壓力進(jìn)而對(duì)計(jì)算機(jī)組件進(jìn)行測試,通過設(shè)置計(jì)算機(jī)組件的測試溫度波動(dòng)范圍來進(jìn)行計(jì)算機(jī)組件的測試溫度的設(shè)置,當(dāng)實(shí)時(shí)溫度等于測試溫度時(shí)便通過測試程序?qū)τ?jì)算機(jī)組件進(jìn)行測試。本發(fā)明的測試系統(tǒng)可提前裝入雛形機(jī)內(nèi),適宜進(jìn)行大規(guī)模測試,而且本發(fā)明的測試方法自動(dòng)化程度高,并可在特定溫度下對(duì)待測組件進(jìn)行測試,為了解待測計(jì)算機(jī)組件在不同溫度下的表現(xiàn)創(chuàng)造條件。
文檔編號(hào)G06F11/22GK1987503SQ20051013271
公開日2007年6月27日 申請(qǐng)日期2005年12月20日 優(yōu)先權(quán)日2005年12月20日
發(fā)明者胡幸, 陳玄同, 劉文涵 申請(qǐng)人:英業(yè)達(dá)股份有限公司