專利名稱:程序運(yùn)行時(shí)間的測(cè)量方法及仿真器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種程序運(yùn)行時(shí)間的測(cè)量方法及仿真器,屬于芯片設(shè)計(jì)技術(shù)領(lǐng)域。
背景技術(shù):
秒表(StopWatch)仿真器是一種用于測(cè)量仿真芯片的程序運(yùn)行時(shí)間的軟件。程序是由仿真芯片支持的不同指令所組成,而程序運(yùn)行時(shí)間則是由這些指令的機(jī)器周期及當(dāng)前的時(shí)鐘頻率所決定的。在現(xiàn)有的指令中,部分程序跳轉(zhuǎn)指令及寄存器間尋址指令的運(yùn)行時(shí)間為兩個(gè)機(jī)器周期,其余指令的運(yùn)行時(shí)間均為一個(gè)機(jī)器周期,一個(gè)機(jī)器周期為η個(gè)主時(shí)鐘周期,η為整數(shù),由仿真芯片的特性決定。假設(shè)η = 4,當(dāng)仿真器運(yùn)行完一段程序時(shí),該程序的運(yùn)行時(shí)間的計(jì)算公式如下:程序運(yùn)行時(shí)間=程序執(zhí)行的所有機(jī)器周期數(shù)* 一個(gè)機(jī)器周期的時(shí)間其中,一個(gè)機(jī)器周期的時(shí)間=1/(時(shí)鐘頻率/4),當(dāng)時(shí)鐘頻率=4MHz時(shí),則一個(gè)機(jī)器周期的時(shí)間為I μ S?,F(xiàn)有實(shí)現(xiàn)方式一:仿真器由硬件計(jì)數(shù)器記錄仿真芯片在運(yùn)行時(shí)輸出時(shí)鐘信號(hào)的時(shí)鐘數(shù);當(dāng)程序停止運(yùn)行時(shí),仿真器的主控芯片在讀寄存器的時(shí)候同時(shí)讀出所述時(shí)鐘數(shù),再上傳至界面軟件,由界面軟件根據(jù)所述時(shí)鐘數(shù)和已知的時(shí)鐘頻率計(jì)算出所述程序的運(yùn)行時(shí)間。這種方式的缺陷在于:硬件計(jì)數(shù)器的計(jì)時(shí)長度是固定的,當(dāng)實(shí)際的時(shí)鐘數(shù)超出硬件的計(jì)時(shí)長度時(shí),便會(huì)發(fā)生計(jì)數(shù)溢出,使硬件計(jì)數(shù)器被強(qiáng)制清零,從而造成計(jì)算結(jié)果不準(zhǔn)確?,F(xiàn)有實(shí)現(xiàn)方式二:在程序開始運(yùn)行后,在被測(cè)量程序片斷的開始地址的位置和結(jié)束地址的位置分別設(shè)置斷點(diǎn);當(dāng)程序運(yùn)行到上述斷點(diǎn)時(shí),記錄開始時(shí)間戳和結(jié)束時(shí)間戳;將上述結(jié)束時(shí)間戳與開始時(shí)間戳之差作為程序運(yùn)行時(shí)間的測(cè)量結(jié)果。這種方式的缺陷在于:程序的執(zhí)行是由硬件完成的,而時(shí)間戳的記錄是由軟件執(zhí)行的,由于軟硬件之間的交互還存在額外的通信時(shí)間,并且仿真器固件的處理過程也需要額外的處理時(shí)間,使得上述時(shí)間戳差值中包含這兩種時(shí)間,因此造成測(cè)量結(jié)果不準(zhǔn)確。
發(fā)明內(nèi)容
本發(fā)明提供一種程序運(yùn)行時(shí)間的測(cè)量方法及仿真器,用以提高程序運(yùn)行時(shí)間的測(cè)
量準(zhǔn)確度。本發(fā)明一方面提供一種程序運(yùn)行時(shí)間的測(cè)量方法,其中包括:步驟110,將軟件計(jì)數(shù)器清零,并將程序計(jì)數(shù)器的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址;步驟120,根據(jù)所述程序計(jì)數(shù)器的值確定相應(yīng)的指令碼的機(jī)器周期;步驟130,匯編單步執(zhí)行所述指令碼,結(jié)束后,通過所述軟件計(jì)數(shù)器累計(jì)所述機(jī)器周期,當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼,或者當(dāng)所述收到用戶輸入的暫停命令時(shí),執(zhí)行步驟150,否則執(zhí)行步驟140 ;步驟140,將所述程序計(jì)數(shù)器的值更新為所述被測(cè)程序的下一個(gè)待執(zhí)行的指令碼的地址,并返回執(zhí)行步驟120;步驟150,停止所述累計(jì)得到累計(jì)值,并根據(jù)所述累計(jì)值和預(yù)設(shè)的時(shí)鐘頻率計(jì)算得到所述被測(cè)程序的程序運(yùn)行時(shí)間。本發(fā)明另一方面提供一種測(cè)量芯片的仿真器,其中包括:軟件部分和硬件部分,其中,所述硬件部分包括:程序計(jì)數(shù)器和微控制單元;所述軟件部分包括:執(zhí)行控制模塊,用于將軟件計(jì)數(shù)器清零,并將程序計(jì)數(shù)器的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址,并指示所述微控制單元匯編單步執(zhí)行所述指令碼;在所述匯編單步執(zhí)行結(jié)束后,將所述程序計(jì)數(shù)器的值更新為所述被測(cè)程序的下一個(gè)待執(zhí)行的指令碼的地址;周期確定模塊,用于根據(jù)所述程序計(jì)數(shù)器的值確定相應(yīng)的指令碼的機(jī)器周期;軟件計(jì)數(shù)器,用于在每個(gè)所述匯編單步執(zhí)行結(jié)束后,累計(jì)由周期確定模塊確定的所述機(jī)器周期,當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼,或者當(dāng)收到用戶輸入的暫停命令時(shí),停止所述累計(jì)得到累計(jì)值;時(shí)間運(yùn)算模塊,用于根據(jù)軟件計(jì)數(shù)器得到的所述累計(jì)值和預(yù)設(shè)的時(shí)鐘頻率計(jì)算得到所述被測(cè)程序的程序運(yùn)行時(shí)間。本發(fā)明采用軟件計(jì)數(shù)器對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)累計(jì),從而克服了計(jì)數(shù)溢出的問題;并且測(cè)量結(jié)果中不包含額外的通信時(shí)間和處理時(shí)間,因此測(cè)量的準(zhǔn)確度更高。
圖1為本發(fā)明所述程序運(yùn)行時(shí)間的測(cè)量方法實(shí)施例的流程圖;圖2為本發(fā)明所述測(cè)量芯片的仿真器實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式圖1為本發(fā)明所述程序運(yùn)行時(shí)間的測(cè)量方法實(shí)施例的流程圖,該方法可以結(jié)合仿真器的硬件實(shí)現(xiàn),也可以通過軟件模擬實(shí)現(xiàn),如圖所示,該方法包括如下步驟:步驟100,當(dāng)收到用戶輸入的運(yùn)行命令時(shí),識(shí)別運(yùn)行模式,當(dāng)識(shí)別出所述運(yùn)行模式為測(cè)量模式時(shí),繼續(xù)執(zhí)行下述步驟110。其中,當(dāng)采用仿真器實(shí)現(xiàn)本實(shí)施例時(shí),所述仿真器可以為秒表仿真器,該仿真器的運(yùn)行模式可以包括測(cè)量模式和仿真模式;所述測(cè)量模式是用于對(duì)被測(cè)程序的執(zhí)行時(shí)間進(jìn)行測(cè)量的模式;所述仿真模式是用于對(duì)程序在仿真芯片中的運(yùn)行狀況進(jìn)行模擬仿真的模式。仿真器在測(cè)量模式下接收到運(yùn)行命令時(shí),繼續(xù)執(zhí)行下述步驟進(jìn)行測(cè)量;仿真器在仿真模式下接收到運(yùn)行命令時(shí),可以采用現(xiàn)有技術(shù)的方式進(jìn)行處理,與本發(fā)明無關(guān),不再贅述。此處需要說明的是,如果采用現(xiàn)有技術(shù)中的其他方式可以確定仿真器已經(jīng)處于測(cè)量模式,則可以直接執(zhí)行下述步驟110而省略本步驟。步驟110,將軟件計(jì)數(shù)器清零,并將程序計(jì)數(shù)器的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址。其中,所述軟件計(jì)數(shù)器是所述仿真器通過占用緩存空間而構(gòu)建的計(jì)數(shù)器,與現(xiàn)有仿真器中的硬件計(jì)數(shù)器相比,由于緩存空間的容量相對(duì)較大,因此足夠保存機(jī)器周期的累計(jì)值而不會(huì)發(fā)生計(jì)數(shù)溢出。其中,所述程序計(jì)數(shù)器(Program Counter,簡稱:PC)是用于存放待執(zhí)行的指令碼的地址的存儲(chǔ)空間,仿真器中的微控制單元根據(jù)該地址可以找到相應(yīng)的指令碼,以便用于執(zhí)行。步驟120,根據(jù)所述程序計(jì)數(shù)器的值確定相應(yīng)的指令碼的機(jī)器周期。具體地,可以先根據(jù)所述PC的值確定相應(yīng)的指令碼,例如根據(jù)PC中存放的地址找到相應(yīng)的指令碼;然后根據(jù)預(yù)設(shè)的編譯前的指令碼與編譯后的二進(jìn)制碼的映射關(guān)系確定所述指令碼的機(jī)器周期,其中,該映射關(guān)系是在定義指令碼時(shí)預(yù)先保存在編譯器中的信息,用于對(duì)指令碼進(jìn)行編譯。步驟130,匯編單步執(zhí)行所述指令碼,結(jié)束后,通過所述軟件計(jì)數(shù)器累計(jì)所述機(jī)器周期,當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼,或者當(dāng)所述仿真器收到用戶輸入的暫停命令時(shí),執(zhí)行步驟150,否則執(zhí)行步驟140。其中,所述匯編單步執(zhí)行可以由所述仿真器實(shí)現(xiàn),也可以由軟件模擬實(shí)現(xiàn)。與連續(xù)執(zhí)行操作不同的是,匯編單步執(zhí)行操作每執(zhí)行一次指令碼,則返回一次執(zhí)行結(jié)果,使軟件計(jì)數(shù)器有機(jī)會(huì)對(duì)機(jī)器周期進(jìn)行累計(jì)。這樣做的目的是,指令碼的執(zhí)行是由仿真器中的硬件處理單元實(shí)現(xiàn)的,而機(jī)器周期的累計(jì)是由軟件計(jì)數(shù)器實(shí)現(xiàn)的,如果讓硬件處理單元連續(xù)執(zhí)行被測(cè)程序中的多個(gè)指令碼,則軟件計(jì)數(shù)器無法得知在該連續(xù)執(zhí)行過程中共執(zhí)行了多少個(gè)指令碼,也就無法進(jìn)行累計(jì),因此,本步驟中需要采用匯編單步執(zhí)行的操作方式。本步驟中設(shè)定的計(jì)數(shù)的結(jié)束條件:一個(gè)條件是當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼時(shí)停止計(jì)數(shù)累計(jì),在此之前執(zhí)行的指令碼的運(yùn)行時(shí)間對(duì)于用戶而言已經(jīng)具有一定的參考價(jià)值,如果用戶還關(guān)心該中斷指令碼之后的程序運(yùn)行時(shí)間,可以重復(fù)執(zhí)行本實(shí)施例所述方法;另一個(gè)條件是當(dāng)仿真器收到用戶輸入的暫停命令時(shí)也停止計(jì)數(shù)累計(jì),表明在此之前執(zhí)行的指令碼的運(yùn)行時(shí)間是用戶所關(guān)心的,因此不用再繼續(xù)累計(jì)。步驟140,將所述程序計(jì)數(shù)器的值更新為所述被測(cè)程序的下一個(gè)待執(zhí)行的指令碼的地址,并返回執(zhí)行步驟120;步驟150,停止所述累計(jì)得到累計(jì)值,并根據(jù)所述累計(jì)值和預(yù)設(shè)的時(shí)鐘頻率計(jì)算得到所述被測(cè)程序的程序運(yùn)行時(shí)間。具體地,可以先根據(jù)所述時(shí)鐘頻率計(jì)算得到單個(gè)機(jī)器周期的運(yùn)行時(shí)間;然后將所述單個(gè)機(jī)器周期的運(yùn)行時(shí)間與所述機(jī)器周期的累計(jì)值相乘后得到所述被測(cè)程序的程序運(yùn)行時(shí)間。步驟160,將計(jì)算得到的所述被測(cè)程序的程序運(yùn)行時(shí)間進(jìn)行顯示。本步驟是可選步驟,用于告知用戶最終的測(cè)量結(jié)果,采用其他方式進(jìn)行通知也是可以的。本實(shí)施例所述方法采用軟件計(jì)數(shù)器對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)累計(jì),從而克服了計(jì)數(shù)溢出的問題;并且測(cè)量結(jié)果中不包含額外的通信時(shí)間和處理時(shí)間,因此測(cè)量的準(zhǔn)確度更高。圖2為本發(fā)明所述測(cè)量芯片的仿真器實(shí)施例的結(jié)構(gòu)示意圖,用以實(shí)現(xiàn)上述方法,如圖所示,該仿真器包括:軟件部分10和硬件部分20,其中的硬件部分20包括程序計(jì)數(shù)器21和微控制單元22。此處需要說明的是,雖然本實(shí)施例將仿真器劃分為軟件部分10和硬件部分20,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,軟件部分10中的各模塊也必然要通過硬件實(shí)現(xiàn),例如在作為緩存的只讀存儲(chǔ)器(Read-Only Memory,簡稱:ROM)中實(shí)現(xiàn),只不過這些模塊的具體實(shí)現(xiàn)方式并不屬于本發(fā)明要討論的內(nèi)容,因此不做詳細(xì)描述。以下說明該仿真器的工作原理:軟件部分10中的模式設(shè)定模塊11根據(jù)用戶的選擇設(shè)定所述仿真器的運(yùn)行模式,具體地,該仿真器的運(yùn)行模式可以包括測(cè)量模式和仿真模式;當(dāng)收到用戶輸入的運(yùn)行命令時(shí),由模式識(shí)別模塊12識(shí)別所述運(yùn)行模式;當(dāng)識(shí)別模塊識(shí)別12出所述運(yùn)行模式為測(cè)量模式時(shí),由執(zhí)行控制模塊13將軟件計(jì)數(shù)器15清零,并將程序計(jì)數(shù)器21的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址,并指示所述微控制單元22匯編單步執(zhí)行所述指令碼,所述微控制單元22根據(jù)程序計(jì)數(shù)器21中記錄的地址找到相應(yīng)的指令碼進(jìn)行執(zhí)行。此處需要說明的是,如果采用現(xiàn)有技術(shù)中的其他方式可以設(shè)定仿真器的模式并確認(rèn)仿真器已經(jīng)處于測(cè)量模式,則可以省略上述模式設(shè)定模塊11和識(shí)別模塊識(shí)別12。在執(zhí)行指令碼之前,由周期確定模塊14根據(jù)所述程序計(jì)數(shù)器21的值確定相應(yīng)的指令碼的機(jī)器周期,具體地,可以先根據(jù)程序計(jì)數(shù)器21的值確定相應(yīng)的指令碼,然后根據(jù)預(yù)設(shè)的編譯前的指令碼與編譯后的二進(jìn)制碼的映射關(guān)系確定所述指令碼的機(jī)器周期。在所述微控制單元22的匯編單步執(zhí)行結(jié)束后,由軟件計(jì)數(shù)器15累計(jì)由周期確定模塊14確定的所述機(jī)器周期,并由執(zhí)行控制模塊13將所述程序計(jì)數(shù)器21的值更新為所述被測(cè)程序的下一個(gè)待執(zhí)行的指令碼的地址,然后重復(fù)進(jìn)行上述過程,直到當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼,或者當(dāng)收到用戶輸入的暫停命令時(shí),停止所述軟件計(jì)數(shù)器15的累計(jì),并得到累計(jì)值。此后,由時(shí)間運(yùn)算模塊16根據(jù)軟件計(jì)數(shù)器15得到的所述累計(jì)值和預(yù)設(shè)的時(shí)鐘頻率計(jì)算得到所述被測(cè)程序的程序運(yùn)行時(shí)間。具體地,可以先根據(jù)所述時(shí)鐘頻率計(jì)算得到單個(gè)機(jī)器周期的運(yùn)行時(shí)間;然后將所述單個(gè)機(jī)器周期的運(yùn)行時(shí)間與所述機(jī)器周期的累計(jì)值相乘后得到所述被測(cè)程序的程序運(yùn)行時(shí)間。另外,所述軟件部分10還可以進(jìn)一步包括結(jié)果顯示模塊17,用于將所述時(shí)間運(yùn)算模塊16計(jì)算得到的所述被測(cè)程序的程序運(yùn)行時(shí)間進(jìn)行顯示,使用戶及時(shí)得知測(cè)量結(jié)果。本實(shí)施例所述仿真器采用軟件計(jì)數(shù)器對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)累計(jì),從而克服了計(jì)數(shù)溢出的問題;并且測(cè)量結(jié)果中不包含額外的通信時(shí)間和處理時(shí)間,因此測(cè)量的準(zhǔn)確度更高。本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種程序運(yùn)行時(shí)間的測(cè)量方法,其特征在于,包括: 步驟110,將軟件計(jì)數(shù)器清零,并將程序計(jì)數(shù)器的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址; 步驟120,根據(jù)所述程序計(jì)數(shù)器的值確定相應(yīng)的指令碼的機(jī)器周期; 步驟130,匯編單步執(zhí)行所述指令碼,結(jié)束后,通過所述軟件計(jì)數(shù)器累計(jì)所述機(jī)器周期,當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼,或者當(dāng)所述收到用戶輸入的暫停命令時(shí),執(zhí)行步驟150,否則執(zhí)行步驟140 ; 步驟140,將所述程序計(jì)數(shù)器的值更新為所述被測(cè)程序的下一個(gè)待執(zhí)行的指令碼的地址,并返回執(zhí)行步驟120; 步驟150,停止所述累計(jì)得到累計(jì)值,并根據(jù)所述累計(jì)值和預(yù)設(shè)的時(shí)鐘頻率計(jì)算得到所述被測(cè)程序的程序運(yùn)行時(shí)間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟120包括: 根據(jù)所述程序計(jì)數(shù)器的值確定相應(yīng)的指令碼; 根據(jù)預(yù)設(shè)的編譯前的指令碼與編譯后的二進(jìn)制碼的映射關(guān)系確定所述指令碼的機(jī)器周期。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟150包括: 根據(jù)所述時(shí)鐘頻率計(jì)算得到單個(gè)機(jī)器周期的運(yùn)行時(shí)間; 將所述單個(gè)機(jī)器周期的運(yùn)行 時(shí)間與所述機(jī)器周期的累計(jì)值相乘后得到所述被測(cè)程序的程序運(yùn)行時(shí)間。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟150之后還包括:步驟160,將計(jì)算得到的所述被測(cè)程序的程序運(yùn)行時(shí)間進(jìn)行顯示。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟110之前還包括:步驟100,當(dāng)收到用戶輸入的運(yùn)行命令時(shí),識(shí)別運(yùn)行模式,當(dāng)識(shí)別出所述運(yùn)行模式為測(cè)量模式時(shí),執(zhí)行所述步驟110,其中,所述測(cè)量模式是用于對(duì)所述被測(cè)程序的執(zhí)行時(shí)間進(jìn)行測(cè)量的模式。
6.一種測(cè)量芯片的仿真器,其特征在于,包括:軟件部分和硬件部分,其中, 所述硬件部分包括:程序計(jì)數(shù)器和微控制單元; 所述軟件部分包括: 執(zhí)行控制模塊,用于將軟件計(jì)數(shù)器清零,并將程序計(jì)數(shù)器的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址,并指示所述微控制單元匯編單步執(zhí)行所述指令碼;在所述匯編單步執(zhí)行結(jié)束后,將所述程序計(jì)數(shù)器的值更新為所述被測(cè)程序的下一個(gè)待執(zhí)行的指令碼的地址;周期確定模塊,用于根據(jù)所述程序計(jì)數(shù)器的值確定相應(yīng)的指令碼的機(jī)器周期; 軟件計(jì)數(shù)器,用于在每個(gè)所述匯編單步執(zhí)行結(jié)束后,累計(jì)由周期確定模塊確定的所述機(jī)器周期,當(dāng)匯編單步執(zhí)行的所述指令碼為中斷指令碼,或者當(dāng)收到用戶輸入的暫停命令時(shí),停止所述累計(jì)得到累計(jì)值; 時(shí)間運(yùn)算模塊,用于根據(jù)軟件計(jì)數(shù)器得到的所述累計(jì)值和預(yù)設(shè)的時(shí)鐘頻率計(jì)算得到所述被測(cè)程序的程序運(yùn)行時(shí)間。
7.根據(jù)權(quán)利要求6所述的仿真器,其特征在于,所述軟件部分還包括:結(jié)果顯示模塊,用于將所述時(shí)間運(yùn)算模塊計(jì)算得到的所述被測(cè)程序的程序運(yùn)行時(shí)間進(jìn)行顯示。
8.根據(jù)權(quán)利要求6所述的仿真器,其特征在于,所述軟件部分還包括:模式設(shè)定模塊,用于根據(jù)用戶的選擇設(shè)定所述仿真器的運(yùn)行模式; 模式識(shí)別模塊,用于當(dāng)收到用戶輸入的運(yùn)行命令時(shí),識(shí)別所述運(yùn)行模式; 所述執(zhí)行控制模塊還用于當(dāng)識(shí)別模塊識(shí)別出所述運(yùn)行模式為測(cè)量模式時(shí),將軟件計(jì)數(shù)器清零,并將程序計(jì)數(shù)器的值設(shè)定為被測(cè)程序的待執(zhí)行的指令碼的地址,并指示所述微控制單元匯編單步執(zhí)行所述指令碼;其中,所述測(cè)量模式是用于對(duì)所述被測(cè)程序的執(zhí)行時(shí)間進(jìn)行測(cè) 量的模式。
全文摘要
本發(fā)明提供一種程序運(yùn)行時(shí)間的測(cè)量方法及仿真器,其中仿真器包括軟件部分和硬件部分。所述硬件部分包括程序計(jì)數(shù)器和微控制單元;所述軟件部分包括模式設(shè)定模塊、模式識(shí)別模塊、執(zhí)行控制模塊、周期確定模塊、軟件計(jì)數(shù)器和時(shí)間運(yùn)算模塊。本發(fā)明采用軟件計(jì)數(shù)器對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)累計(jì),從而克服了計(jì)數(shù)溢出的問題;并且測(cè)量結(jié)果中不包含額外的通信時(shí)間和處理時(shí)間,因此測(cè)量的準(zhǔn)確度更高。
文檔編號(hào)G06F11/26GK103198002SQ201210004989
公開日2013年7月10日 申請(qǐng)日期2012年1月9日 優(yōu)先權(quán)日2012年1月9日
發(fā)明者王珊珊 申請(qǐng)人:上海海爾集成電路有限公司