国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      借用中央處理單元定時(shí)器精確測量程序運(yùn)行時(shí)間的方法

      文檔序號:6457997閱讀:506來源:國知局
      專利名稱:借用中央處理單元定時(shí)器精確測量程序運(yùn)行時(shí)間的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信領(lǐng)域中一種借用CPU (中央處理單元)定時(shí)器精確測量程序運(yùn)行時(shí)間的方法,具體的說,涉及一種采用高精度定時(shí)器捕獲嵌入式 實(shí)時(shí)系統(tǒng)中某個(gè)函數(shù)、進(jìn)程或模塊運(yùn)行時(shí)間的方法。
      背景技術(shù)
      在通信領(lǐng)域中,大多數(shù)的產(chǎn)品是基于實(shí)時(shí)操作系統(tǒng)(如VxWorks、 Li皿x 等)開發(fā)的,而在高端的數(shù)據(jù)通訊產(chǎn)品中,又采用了復(fù)雜的分布式體系架構(gòu), 產(chǎn)品的工作效率是否達(dá)標(biāo)就必須引起我們的注意。通常越是高端的產(chǎn)品,運(yùn) 行的單板和業(yè)務(wù)模塊越是繁多,產(chǎn)品的性能問題越是關(guān)鍵。因此我們必須更 加精確的計(jì)算各個(gè)進(jìn)程CPU占用率,來評估我們系統(tǒng)的性能到底如何;對 于分布式的系統(tǒng),各個(gè)單板CPU間的板間通訊效率能不能滿足我們的要求, 還有沒有進(jìn)一步提高的空間;以及某個(gè)業(yè)務(wù)模塊流程的優(yōu)化等等,這些關(guān)系 我們產(chǎn)品生死存亡的大計(jì)都離不開系統(tǒng)程序指令運(yùn)行時(shí)間的測試。而我們也 正是通過不斷的測試發(fā)現(xiàn)產(chǎn)品中存在的問題,從而進(jìn)一步優(yōu)化我們的系統(tǒng)流 程,最終提高我們產(chǎn)品的性能,為今后的市場打下基礎(chǔ)。在我們目前使用的嵌入式VxWorks操作系統(tǒng)下,可以通過調(diào)用系統(tǒng)提 供的tickGet()函數(shù)獲取系統(tǒng)自啟動(dòng)以來運(yùn)行的總tick ( 一種計(jì)時(shí)單位,與秒 的換算關(guān)系可以在系統(tǒng)初始化中設(shè)置,如l秒400tick,則ltick-10毫秒) 數(shù)。這種方法使用起來比較簡單,但是隨著CPU運(yùn)行效率的提高,僅僅靠 tickGet()提供的時(shí)間戳的精度已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足我們的測試需求了 ,因?yàn)橥?常待測程序在不到1個(gè)tick的時(shí)間就運(yùn)行結(jié)束了,當(dāng)然也就得不到程序的真 實(shí)運(yùn)行時(shí)間了。此外,tickGet()方法獲取時(shí)間的時(shí)候還受中斷的影響,對于 中斷觸發(fā)比較頻繁的系統(tǒng),tickGet()得到的時(shí)間戳可能存在誤差。發(fā)明內(nèi)容本發(fā)明所解決的技術(shù)問題在于提供一種借用CPU定時(shí)器精確測量程序運(yùn)行時(shí)間的方法,以解決現(xiàn)有技術(shù)中測量方法由于時(shí)間精度不夠和受中斷的 影響,造成系統(tǒng)測量程序運(yùn)行時(shí)間上存在誤差的問題。為了解決上述問題,本發(fā)明提供了 一種借用中央處理單元定時(shí)器精確測 量程序運(yùn)行時(shí)間的方法,應(yīng)用于分布式體系架構(gòu)的實(shí)時(shí)操作系統(tǒng)中,其特征在于,包括以下步驟(1) 使能中央處理單元自帶的一個(gè)或多個(gè)定時(shí)器,同時(shí)配置定時(shí)器的 相關(guān)寄存器;(2) 利用所述定時(shí)器及其相關(guān)寄存器封裝一個(gè)全局的接口函數(shù),在待 測試程序指令或模塊執(zhí)行的開始階段調(diào)用提供的接口函數(shù)打時(shí)間戳tl,并在 結(jié)束階段再次調(diào)用該接口函數(shù)打時(shí)間戳t2,將時(shí)間戳tl和t2相減,得到該 待測試程序指令或模塊執(zhí)行耗費(fèi)的時(shí)間。本發(fā)明所述的方法,其中,進(jìn)一步包括步驟(3)所述中央處理單元對 步驟(2)所述定時(shí)器內(nèi)使用的接口函數(shù)進(jìn)行清除計(jì)數(shù)值,并關(guān)閉所述定時(shí) 器。本發(fā)明所述的方法,其中,所述步驟(l)中進(jìn)一步包括根據(jù)待測程 序指令或模塊的實(shí)際情況,估算所述定時(shí)器的計(jì)時(shí)范圍和計(jì)數(shù)精度。進(jìn)一步還包括根據(jù)待測程序指令或模塊的實(shí)際情況,同時(shí)按照中央處 理單元的使用手冊中提供的方法和步驟,對估算所述定時(shí)器的計(jì)時(shí)范圍和計(jì) 數(shù)精度進(jìn)行配置或更新。其中,所述定時(shí)器,為高精度時(shí)鐘源PPC系列的定時(shí)器、高精度時(shí)鐘 源MIPS系列的定時(shí)器、或高精度時(shí)鐘源ARM系列的定時(shí)器。與現(xiàn)有技術(shù)相比較,本發(fā)明借用嵌入式實(shí)時(shí)系統(tǒng)中CPU自帶的定時(shí)器, 軟件提供一定的接口函數(shù),設(shè)置不同的計(jì)時(shí)范圍和計(jì)數(shù)精度滿足我們的測試 需求。還可以和tickGet()配合使用,在擴(kuò)大計(jì)時(shí)范圍的同時(shí)保持較高的計(jì)數(shù) 精度,極大地提高了測試的靈活性和精確度。


      圖1是本發(fā)明實(shí)施例所述的借用CPU定時(shí)器精確測量程序運(yùn)行時(shí)間的方法流程圖。
      具體實(shí)施方式
      本發(fā)明在這里提供了一種借用CPU定時(shí)器精確測量程序運(yùn)行時(shí)間的方法,以解決現(xiàn)有技術(shù)中測量方法由于時(shí)間精度不夠和受中斷的影響,造成系 統(tǒng)測量程序運(yùn)行時(shí)間上存在誤差的問題。以下對具體實(shí)施方式
      進(jìn)行詳細(xì)描 述,但不作為對本發(fā)明的限定。本發(fā)明利用如下數(shù)據(jù)通信產(chǎn)品的軟硬件特性在數(shù)據(jù)通信產(chǎn)品中,嵌入式系統(tǒng)中使用CPU自帶了多個(gè)高精度時(shí)鐘 源一定時(shí)器,如常用的PPC系列、MIPS系列、ARM系列等。每個(gè)定時(shí)器 可以通過相應(yīng)的寄存器組設(shè)置,如使能該定時(shí)器、配置定時(shí)器的計(jì)數(shù)值和計(jì) 數(shù)精度、清除定時(shí)器計(jì)數(shù)值以及禁止定時(shí)器的使用等。不同的CPU的定時(shí) 器設(shè)置的計(jì)時(shí)范圍和計(jì)數(shù)精度與CPU的主頻相關(guān)。這些定時(shí)器的精度可以 達(dá)到百分之一亳秒,甚至更高。并且這些時(shí)鐘源采用硬件刷新的方式更新計(jì) 時(shí),不會(huì)受到軟件的干擾;這些定時(shí)器的計(jì)時(shí)范圍和計(jì)數(shù)精度都可以按照 CPU使用手冊中提供的方法和步驟予以配置或更新,從而能夠方便靈活的 滿足我們的測試需求。如圖1所示,本發(fā)明具體實(shí)現(xiàn)方法分為如下步驟步驟IOI,當(dāng)分布式體系架構(gòu)的實(shí)時(shí)操作系統(tǒng)啟動(dòng)時(shí),在硬件初始化過 程中,按照CPU手冊說明寫定時(shí)器的寄存器,使能CPU自帶的一個(gè)或多個(gè) 定時(shí)器;步驟102,根據(jù)待測程序指令或模塊的實(shí)際情況,估算測試定時(shí)器的計(jì) 時(shí)范圍和計(jì)數(shù)精度,避免在一次測試過程中定時(shí)器發(fā)生翻轉(zhuǎn);步驟103,根據(jù)步驟102估算的測試計(jì)時(shí)范圍和計(jì)數(shù)精度以及CPU手冊 的說明,繼續(xù)在硬件初始化過程中配置CPU的定時(shí)器的相關(guān)寄存器;步驟i04,根據(jù)上述步驟,利用所述定時(shí)器及其相關(guān)寄存器封裝一個(gè)全局的接口函數(shù)timerGet(),即讀CPU手冊中指明存儲當(dāng)前計(jì)數(shù)值的寄存器, timerGet()函數(shù)的返回值隨著程序的運(yùn)行不斷更新;步驟105,在待測試程序指令或模塊執(zhí)行的開始階段調(diào)用步驟104中提 供的接口函數(shù)打時(shí)間戳tl-timerGet(),并在結(jié)束階段再次調(diào)用該接口函數(shù)打 時(shí)間戳t2二 timerGet();步驟106,將步驟105中得到的時(shí)間戳tl和t2相減,即為程序執(zhí)行耗 費(fèi)的時(shí)間,這里供后續(xù)的研究分析使用;步驟107,最后提供對接口函數(shù)的初始化,方便我們在不需要定時(shí)器的 時(shí)候清除計(jì)數(shù)值或關(guān)閉定時(shí)器。與現(xiàn)有技術(shù)相比較,本發(fā)明實(shí)施例所述借用嵌入式實(shí)時(shí)系統(tǒng)中CPU自 帶的定時(shí)器,軟件提供一定的接口函數(shù),設(shè)置不同的計(jì)時(shí)范圍和計(jì)數(shù)精度滿 足我們的測試需求。還可以和tickGet()配合使用,在擴(kuò)大計(jì)時(shí)范圍的同時(shí)保 持較高的計(jì)數(shù)精度,極大地提高了測試的靈活性和精確度。當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的 但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
      權(quán)利要求
      1、一種借用中央處理單元定時(shí)器精確測量程序運(yùn)行時(shí)間的方法,應(yīng)用于分布式體系架構(gòu)的實(shí)時(shí)操作系統(tǒng)中,其特征在于,包括以下步驟(1)使能中央處理單元自帶的一個(gè)或多個(gè)定時(shí)器,同時(shí)配置定時(shí)器的相關(guān)寄存器;(2)利用所述定時(shí)器及其相關(guān)寄存器封裝一個(gè)全局的接口函數(shù),在待測試程序指令或模塊執(zhí)行的開始階段調(diào)用提供的接口函數(shù)打時(shí)間戳t1,并在結(jié)束階段再次調(diào)用該接口函數(shù)打時(shí)間戳t2,將時(shí)間戳t1和t2相減,得到該待測試程序指令或模塊執(zhí)行耗費(fèi)的時(shí)間。
      2、 如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括步驟(3)所述 中央處理單元對步驟(2)所述定時(shí)器內(nèi)使用的接口函數(shù)進(jìn)行清除計(jì)數(shù)值, 并關(guān)閉所述定時(shí)器。
      3、 如權(quán)利要求l所述的方法,其特征在于,所述步驟(l)中進(jìn)一步包 括根據(jù)待測程序指令或模塊的實(shí)際情況,估算所述定時(shí)器的計(jì)時(shí)范圍和計(jì) 數(shù)精度。
      4、 如權(quán)利要求l、 2或3所述的方法,其特征在于,所述定時(shí)器,為高 精度時(shí)鐘源PPC系列的定時(shí)器、高精度時(shí)鐘源MIPS系列的定時(shí)器、或高精 度時(shí)鐘源ARM系列的定時(shí)器。
      5、 如權(quán)利要求3所述的方法,其特征在于,進(jìn)一步包括根據(jù)待測程 序指令或模塊的實(shí)際情況,同時(shí)按照中央處理單元的使用手冊中提供的方法 和步驟,對估算所述定時(shí)器的計(jì)時(shí)范圍和計(jì)數(shù)精度進(jìn)行配置或更新。
      全文摘要
      本發(fā)明公開了一種借用中央處理單元定時(shí)器精確測量程序運(yùn)行時(shí)間的方法,應(yīng)用于分布式體系架構(gòu)的實(shí)時(shí)操作系統(tǒng)中,包括(1)使能中央處理單元自帶的一個(gè)或多個(gè)定時(shí)器,同時(shí)配置定時(shí)器的相關(guān)寄存器;(2)利用所述定時(shí)器及其相關(guān)寄存器封裝一個(gè)全局的接口函數(shù),在待測試程序指令或模塊執(zhí)行的開始階段調(diào)用提供的接口函數(shù)打時(shí)間戳t1,并在結(jié)束階段再次調(diào)用該接口函數(shù)打時(shí)間戳t2,將時(shí)間戳t1和t2相減,得到該待測試程序指令或模塊執(zhí)行耗費(fèi)的時(shí)間。本發(fā)明解決了現(xiàn)有技術(shù)中測量方法由于時(shí)間精度不夠和受中斷的影響,造成系統(tǒng)測量程序運(yùn)行時(shí)間上存在誤差的問題。
      文檔編號G06F11/36GK101226500SQ20081000594
      公開日2008年7月23日 申請日期2008年2月18日 優(yōu)先權(quán)日2008年2月18日
      發(fā)明者楊利君, 石江濤 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1