一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法
【專利摘要】本發(fā)明公開了一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,所述方法通過利用計算機(jī)實(shí)時時鐘,系統(tǒng)時鐘和CPU時間戳相互比對來測試實(shí)時時鐘和系統(tǒng)時鐘設(shè)計和生產(chǎn)問題。本發(fā)明方法可以大大節(jié)省測試時間,并有效解決了計算機(jī)生產(chǎn)中實(shí)時時鐘和系統(tǒng)時鐘測試問題,大大節(jié)省了測試成本,提高了產(chǎn)品出貨品質(zhì)。
【專利說明】
一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機(jī)系統(tǒng)測試技術(shù)領(lǐng)域,具體涉及一種計算機(jī)實(shí)時時鐘(CMOS時鐘)和系統(tǒng)時鐘的納秒級測試方法,具體是利用計算機(jī)實(shí)時時鐘(CMOS時鐘),系統(tǒng)時鐘和CPU時間戳相互比對來測試實(shí)時時鐘和系統(tǒng)時鐘設(shè)計和生產(chǎn)問題,此方法可以大大節(jié)省測試時間,并有效解決了計算機(jī)生產(chǎn)中實(shí)時時鐘和系統(tǒng)時鐘測試問題,大大節(jié)省了測試成本,提高了產(chǎn)品出貨品質(zhì)。
【背景技術(shù)】
[0002]當(dāng)前測試計算機(jī)實(shí)時時鐘(CMOS時鐘)多采用給計算機(jī)設(shè)置正確的CMOS時間,AC斷電,然后靜置計算機(jī)幾天,再開機(jī)比對時間是否有偏差;針對系統(tǒng)時鐘測試則采用計算機(jī)開機(jī)進(jìn)OS,然后設(shè)置系統(tǒng)時鐘,靜置計算機(jī)幾天,再看系統(tǒng)時鐘是否有偏差,以此判斷實(shí)時時鐘和系統(tǒng)時鐘偏差是否在設(shè)計規(guī)范內(nèi),采用這種測試方法從計算機(jī)設(shè)計驗證階段會浪費(fèi)大量時間和資源來測試時鐘問題,在計算機(jī)生產(chǎn)驗證階段則無法滿足生產(chǎn)驗證所需要的短時間內(nèi)做功能測試需求。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題是:針對以上問題,本發(fā)明提出了一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法。
[0004]本發(fā)明所采用的技術(shù)方案為:
一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,所述方法通過利用計算機(jī)實(shí)時時鐘(CMO S時鐘),系統(tǒng)時鐘和CPU時間戳相互比對來測試實(shí)時時鐘和系統(tǒng)時鐘設(shè)計和生產(chǎn)問題。
[0005]所述方法實(shí)現(xiàn)過程如下:
1)讀取CMOS時鐘整一秒時間,抓取CPU時間戳變化值;
2)讀取系統(tǒng)時鐘整一秒時間,抓取CPU時間戳變化值;
3)比較CMOS時鐘變化一秒和系統(tǒng)時鐘同樣變化一秒CPU時間戳差異;因為CPU時間戳I秒計數(shù)次數(shù)和CPU主頻值一致,所以可以利用CPU時間戳來將時間測試精確到納秒,即時間戳計數(shù)一次時間為CPU主頻分之一秒,當(dāng)前CPU主頻都在GHZ以上,CPU主頻分之一秒為納秒級;
4)比對一天時間差異秒數(shù)(放大數(shù)值,更直觀)即:24小時*3600秒*兩個時鐘CPU時間戳差/CPU主頻。
[0006]時間戳(timestamp),通常是一個字符序列,唯一地標(biāo)識某一刻的時間。
[0007]所述測試方法具體操作步驟如下:
I)循環(huán)讀取計算機(jī)CMOS時間,一旦秒變化,則讀出此時CMOS時間秒記錄為timel和CPU時間戳記錄為timestampl ;
2)繼續(xù)循環(huán)讀取計算機(jī)CMOS時間,一旦時間秒與t ime I不同,則記錄CPU時間戳為timestamp2;
3)然后計算出兩次CPU時間戳差值為diffI,diff l=timestamp2-timestampl;
4)讀取當(dāng)前CPU時間戳為timeStamp3,然后系統(tǒng)等待I秒鐘,例如使用DOS函數(shù)Delay(1000)或Iinux函數(shù)SIeep( I);
5)讀取當(dāng)前CPU時間戳timestamp4;
6)計算出第四步和第五步CPU時間戳差值為diff2,diff2=timestamp4-timestamp3,其實(shí)diff 2也是當(dāng)前使用CPU的主頻;
7)計算兩次CPU 時間戳差值為 timeDiff,timeDiff=|diff2-diffl |,SPdiff2-diffl 的絕對值,t imeD i ff為I秒時間內(nèi)CMOS時鐘和系統(tǒng)時鐘相差多少納秒。
[0008]8)計算一天中CMOS時鐘和系統(tǒng)時鐘差值為diff of day,diff of day=3600*24*timeDiff/diff2,其中timeDiff/diff2為I秒鐘CMOS時鐘和系統(tǒng)時鐘相差多少秒。
[0009]9)如果diffofday不在設(shè)計差值內(nèi),則為測試失敗(fail)。
[0010]所述方法操作流程如下:
1)架設(shè)測試計算機(jī);
2)運(yùn)行根據(jù)測試內(nèi)容編寫的軟件;
3)查看報錯信息;
4)測試成功即產(chǎn)品出貨或設(shè)計驗證通過,測試失敗即產(chǎn)品不能出貨或設(shè)計驗證存在問題。
[0011]本發(fā)明的有益效果為:
本發(fā)明方法可以大大節(jié)省測試時間,并有效解決了計算機(jī)生產(chǎn)中實(shí)時時鐘和系統(tǒng)時鐘測試問題,大大節(jié)省了測試成本,提高了產(chǎn)品出貨品質(zhì)。
【附圖說明】
[0012]圖1為本發(fā)明操作流程圖。
【具體實(shí)施方式】
[0013]下面結(jié)合說明書附圖,根據(jù)【具體實(shí)施方式】對本發(fā)明進(jìn)一步說明:
實(shí)施例1:
一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,所述方法通過利用計算機(jī)實(shí)時時鐘(CMO S時鐘),系統(tǒng)時鐘和CPU時間戳相互比對來測試實(shí)時時鐘和系統(tǒng)時鐘設(shè)計和生產(chǎn)問題。
[0014]實(shí)施例2
在實(shí)施例1的基礎(chǔ)上,本實(shí)施例所述方法實(shí)現(xiàn)過程如下:
1)讀取CMOS時鐘整一秒時間,抓取CPU時間戳變化值;
2)讀取系統(tǒng)時鐘整一秒時間,抓取CPU時間戳變化值;
3)比較CMOS時鐘變化一秒和系統(tǒng)時鐘同樣變化一秒CPU時間戳差異;因為CPU時間戳I秒計數(shù)次數(shù)和CPU主頻值一致,所以可以利用CPU時間戳來將時間測試精確到納秒,即時間戳計數(shù)一次時間為CPU主頻分之一秒,當(dāng)前CPU主頻都在GHZ以上,CPU主頻分之一秒為納秒級; 4)比對一天時間差異秒數(shù)(放大數(shù)值,更直觀)即:24小時*3600秒*兩個時鐘CPU時間戳差/CPU主頻。
[0015]時間戳(timestamp),通常是一個字符序列,唯一地標(biāo)識某一刻的時間。
[0016]實(shí)施例3
在實(shí)施例1或2的基礎(chǔ)上,本實(shí)施例所述測試方法具體操作步驟如下:
I)循環(huán)讀取計算機(jī)CMOS時間,一旦秒變化,則讀出此時CMOS時間秒記錄為timel和CPU時間戳記錄為timestampl ;
2)繼續(xù)循環(huán)讀取計算機(jī)CMOS時間,一旦時間秒與t ime I不同,則記錄CPU時間戳為timestamp2;
3)然后計算出兩次CPU時間戳差值為diffI,diff l=timestamp2-timestampl ;
4)讀取當(dāng)前CPU時間戳為timeStamp3,然后系統(tǒng)等待I秒鐘,例如使用DOS函數(shù)Delay(1000)或Iinux函數(shù)SIeep( I);
5)讀取當(dāng)前CPU時間戳timestamp4;
6)計算出第四步和第五步CPU時間戳差值為diff2,diff2=timestamp4-timestamp3,其實(shí)diff 2也是當(dāng)前使用CPU的主頻;
7)計算兩次CPU 時間戳差值為 timeDiff ,timeDiff= I diff2-diffl |,SPdiff2-diffl 的絕對值,t imeD i ff為I秒時間內(nèi)CMOS時鐘和系統(tǒng)時鐘相差多少納秒。
[0017]8)計算一天中CMOS時鐘和系統(tǒng)時鐘差值為diff of day,diff of day=3600*24*timeDiff/diff2,其中timeDiff/diff2為I秒鐘CMOS時鐘和系統(tǒng)時鐘相差多少秒。
[0018]9)如果diffofday不在設(shè)計差值內(nèi),則為測試失敗(fail)。
[0019]實(shí)施例4
如圖1所示,在實(shí)施例3的基礎(chǔ)上,本實(shí)施例所述方法操作流程如下:
1)架設(shè)測試計算機(jī);
2)運(yùn)行根據(jù)測試內(nèi)容編寫的軟件;
3)查看報錯信息;
4)測試成功即產(chǎn)品出貨或設(shè)計驗證通過,測試失敗即產(chǎn)品不能出貨或設(shè)計驗證存在問題。
[0020]以上實(shí)施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【主權(quán)項】
1.一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,其特征在于:所述方法通過利用計算機(jī)實(shí)時時鐘,系統(tǒng)時鐘和CPU時間戳相互比對來測試實(shí)時時鐘和系統(tǒng)時鐘設(shè)計和生產(chǎn)問題。2.根據(jù)權(quán)利要求1所述的一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,其特征在于,所述方法實(shí)現(xiàn)過程如下: 1)讀取CMOS時鐘整一秒時間,抓取CPU時間戳變化值; 2)讀取系統(tǒng)時鐘整一秒時間,抓取CRJ時間戳變化值; 3 )比較CMOS時鐘變化一秒和系統(tǒng)時鐘同樣變化一秒CRJ時間戳差異; 4)比對一天時間差異秒數(shù)。3.根據(jù)權(quán)利要求1或2所述的一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,其特征在于,所述測試方法具體操作步驟如下: I)循環(huán)讀取計算機(jī)CMOS時間,一旦秒變化,則讀出此時CMOS時間秒記錄為timel和CPU時間戳記錄為timestampl ; 2)繼續(xù)循環(huán)讀取計算機(jī)C M O S時間,一旦時間秒與t i m e I不同,則記錄C P U時間戳為timestamp2; 3)然后計算出兩次CRJ時間戳差值為diffI,diff l=timestamp2-timestampl ; 4)讀取當(dāng)前CPU時間戳為timestamp3,然后系統(tǒng)等待I秒鐘; 5 )讀取當(dāng)前CRJ時間戳t imestamp4 ; 6)計算出第四步和第五步CRJ時間戳差值為diff2,diff2=timestamp4-timestamp3; 7)計算兩次CPU 時間戳差值為 timeDiff,timeDiff=|diff2-diffl |,SPdiff2-diffl 的絕對值,t imeD i f f為I秒時間內(nèi)CMOS時鐘和系統(tǒng)時鐘相差多少納秒; 8)計算一天中0103時鐘和系統(tǒng)時鐘差值為乜€€(^(^7,(1丨€€(^(^7=3600*24*衍11160丨打/diff2,其中timeDiff/diff2為I秒鐘CMOS時鐘和系統(tǒng)時鐘相差多少秒; 9)如果diffofday不在設(shè)計差值內(nèi),則為測試失敗。4.根據(jù)權(quán)利要求3所述的一種計算機(jī)實(shí)時時鐘和系統(tǒng)時鐘的納秒級測試方法,其特征在于,所述方法操作流程如下: 1)架設(shè)測試計算機(jī); 2)運(yùn)行根據(jù)測試內(nèi)容編寫的軟件; 3)查看報錯信息; 4)測試成功即產(chǎn)品出貨或設(shè)計驗證通過,測試失敗即產(chǎn)品不能出貨或設(shè)計驗證存在問題。
【文檔編號】G06F11/22GK105893194SQ201610199822
【公開日】2016年8月24日
【申請日】2016年4月1日
【發(fā)明人】孫連震, 王佩
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司