国产精品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>

      動態(tài)切換仿真模式的仿真方法及仿真設備的制作方法

      文檔序號:6462737閱讀:184來源:國知局
      專利名稱:動態(tài)切換仿真模式的仿真方法及仿真設備的制作方法
      技術領域
      本發(fā)明涉及在仿真過程中動態(tài)切換仿真模式的仿真方法和仿真設備。
      背景技術
      長期以來,計算機架構師依靠軟件仿真來研究設計出的硬件的功能和性 能。通常,軟件仿真設備具有周期精確仿真和功能仿真兩種仿真模式。功能 仿真是較為簡單的仿真模式,其通常用于軟件開發(fā)。在功能仿真模式中,仿 真設備仿真所設計的硬件的功能來調試和運行開發(fā)的應用程序和操作系統并 給出運行的結果。但是,功能仿真無法反映所設計的硬件的性能如何。與此 相反,周期精確仿真是較為復雜的仿真模式,其通常用于硬件體系結構的研 究。在周期精確仿真模式中,仿真設備不僅能夠仿真所設計的硬件的功能, 而且能夠準確地評估所設計的硬件的性能。然而,盡管周期精確仿真模式與 功能仿真模式相比具有準確評估硬件性能的優(yōu)勢,但其有著固有的缺點,即
      仿真速度比功能模式下的仿真速度慢得多。以Mambo為例,仿真設備在周期 精確仿真模式下的速度比在功能仿真模式下的速度要慢2個數量級,比所仿 真的硬件更是慢了 4個數量級以上。因此,如何能夠通過恰當地應用所述功 能仿真模式和周期精確仿真模式來實現準確的硬件性能評估和較快的仿真速
      度是人們所關心的。
      針對這一問題, 一種解決方法是采用采樣微體系結構仿真(Sampling Microarchitecture Simulation, SMARTS )框架作為使得能夠進行全長基準的快 速和準確的性能測量的途徑(參見R. Wunderlich, T.Wenisch, B. Falsafi和J. Hoe.SMARTS: Accelerating Microarchitecture Simulation via Rigorous Statistical Sampling, International Symposium on Computer Architecture,第84—95頁,San Diego, California, 2003年6月)。SMARTS通過僅以周期精確仿真模式選擇性 地仿真適當的基準子集、以功能仿真模式來仿真其余的指令集來加速仿真。 SMARTS規(guī)定了統計的探測過程,用于配置系統采樣仿真運行以獲取期望的 準確度。另一種方法是通過避免周期精確仿真重復代碼段來減少仿真量(參見W. Liu禾口 M. Huang, EXPERT: expedited simulation exploiting program behavior repetition, Proceedings of the l她annual International Conference on Supercomputing, 2004年6月)。因為重復代碼段代表平穩(wěn)的程序行為,因此 通過辨別程序行為的重復并且采用功能仿真模式對重復代碼段進行仿真,可 以明顯地加快仿真速度而不會影響性能評估的準確度。
      然而上述方法以及其他在此處未提到的方法在實現時都需要首先對程序 進行分析,并基于分析結果來確定進行周期精確仿真的指令子集和進行功能 仿真的其余指令集。但是,對程序的分析處理往往都基于非常復雜的算法和 數學統計。例如,它們需要分析源代碼或二進制代碼來搜索所有的基本塊, 子程序或重復循環(huán),因而非常難于實現。而且在很多時候,無法獲取源代碼 或二進制代碼,從而導致無法進行分析。另一方面,在程序運行之前的這種 靜態(tài)分析無法觀察到程序的動態(tài)行為,從而可能花費不必要的時間進行分析 和仿真。例如,程序中的許多子程序和循環(huán)實際并不執(zhí)行很多次(可能在整 個程序的運行過程中僅僅」執(zhí)行一次或兩次),從而它們對準確度的影響非常 小,所以實際上并不需要花費時間對它們進行分析和仿真。

      發(fā)明內容
      本發(fā)明的目的在于提供能夠準確地評估硬件性能并具有較快的仿真速度 的仿真方法和仿真設備。
      本發(fā)明利用局部性原理和推測采樣,在仿真過程中動態(tài)地切換功能仿真 模式和周期精確仿真模式,從而實現了較快的仿真速度,并且具有與完全以 周期精確仿真模式進行仿真相比可接受的準確度。
      根據本發(fā)明的一個方面,提供了一種動態(tài)切換仿真模式的仿真方法'所 述方法包括步驟A)以周期精確仿真模式在一個第一預定長度的周期精確 仿真時間段內進行仿真,并計算該周期精確仿真時間段內的性能度量的值;
      B)確定整個仿真是否完成,當整個仿真已完成時,結束所述仿真方法;當整
      個仿真尚未完成時,繼續(xù)以周期精確仿真模式在一個第二預定長度的周期精
      確仿真時間段內進行仿真,并計算該周期精確仿真時間段內的性能度量的值; c)計算所述第二預定長度的周期精確仿真時間段內的性能度量的值與前一個 周期精確仿真時間段內的性能度量的值之差的絕對值;d)當所述絕對值小于 一預定的閾值時,以功能仿真模式在一個第三預定長度的功能仿真時間段內進行仿真;E)重復執(zhí)行步驟B-D直至結束。
      根據本發(fā)明的又一個方面,提供了 一種動態(tài)切換仿真模式的仿真設備。 所述設備包括周期精確仿真器,以周期精確仿真模式進行仿真;功能仿真 器,以功能仿真模式進行仿真;性能度量值計算部件,響應于周期精確仿真 器在一個第一預定長度的周期精確仿真時間段內進行仿真而計算該周期精確 仿真時間段內性能度量的值;比較部件,用于將兩個相鄰的周期精確仿真時 間段內的性能度量的值之差的絕對值與預定的閾值進行比較;控制器,用于 根據由比較部件得出的比較結果動態(tài)切換仿真模式,并控制周期精確仿真器 和功能仿真器進行仿真。
      本發(fā)明在仿真過程中動態(tài)地切換仿真模式,因此不需要在仿真進行之前 基于非常復雜的算法和數學統計對程序進行靜態(tài)的分析,所以本發(fā)明非常容 易實現。另外,由于本發(fā)明基于局部性原理和推測采樣選擇需要以周期精確 模式進行仿真的代碼段,因此能夠保證具有較高的性能評估準確度,并極大 地減少了仿真時間。


      結合附圖,從下面對實施例的描述中,本發(fā)明的這些和/或其他方面、 特征和優(yōu)點將變得清楚和更加容易理解,其中 圖1示出了描述程序的重復特性的曲線圖2示出了根據本發(fā)明實施例的、動態(tài)切換仿真模式的仿真方法的流程
      圖3示出了應用根據本發(fā)明的仿真方法的示例;
      圖4示出了根據本發(fā)明實施例的、動態(tài)切換仿真模式的仿真設備的框圖。
      具體實施例方式
      現在將參考本發(fā)明的示例性實施例進行詳細的描述,在附圖中圖解說明 了所述實施例的示例,其中相同的參考數字始終指示相同的元件。應當理解, 本發(fā)明并不限于所公開的示例實施例。還應當理解,并非所述方法和設備的 每個特征對于實施任一權利要求所要求保護的本發(fā)明都是必要的。此外,在 整個公開中,當顯示或描述處理或方法時,方法的步驟可以以任何順序或者 同時執(zhí)行,除非從上下文中能清楚一個步驟依賴于先執(zhí)行的另一步驟。此外,步驟之間可以有顯著的時間間隔。
      計算機程序通常具有重復特性,某些相同的操作往往會重復執(zhí)行多次。
      循環(huán)迭代或子程序調用的重復執(zhí)行是所述重復中的常見示例。例如,以SPEC CPU 2000測試程序集為例,其靜態(tài)指令的數目只不過是幾百萬條,然而由于 循環(huán)迭代或子程序調用的重復執(zhí)行,其典型的運行由數十億或數百億的動態(tài) 指令組成。容易想到,在重復執(zhí)行相同的操作時,硬件的性能度量應該是基 本相同的。舉例來說,如圖1所示,如果以IPC (每周期執(zhí)行的指令數)作 為評估硬件的性能度量,則在循環(huán)迭代的每一次重復或子程序調用的每一次 重復中,IPC值應該是基本相同的。例如上圖中第一個子程序Sl的IPC和第 二個S1的IPC是基本相同的,下圖中迭代1與迭代2的IPC也是基本相同的。 由此,在整個程序的運行期間,IPC值表現出明顯的局部性。
      局部性原理(locality principle)是程序行為的一種性質。它包括時間局 部性和空間局部性。前者指的是,如果某數據剛才被訪問,則它很可能在近 期內還要被訪問;后者指的是,如果某數據剛才被訪問,則和它位置上相鄰 的數據很可能被訪問。所述局部性原理已經在現代計算機架構中廣為使用, 例如高速緩存、翻譯后援緩沖器(TLB, translation lookaside buffer)和分支預 測。由于程序行為具有局部性,因此可以通過最近過去的行為來推測程序未 來的行為。
      基于以上特性,本發(fā)明人認識到,在程序運行期間,對于硬件性能度量 (例如IPC )基本不變的時間段一直以周期精確仿真模式進行仿真顯然會不 必要地降低仿真速度。如果能夠獲得硬件性能度量基本保持不變的時間段的 樣本(例如,相當于該時間段的1/10長度的極短時間段),并且僅對該樣本 應用周期精確仿真模式進行仿真,而對于除了樣本之外的其余部分以功能仿 真模式進行仿真,則能夠獲得較快的仿真速度,同時能夠對硬件性能做出比 較準確的評估。由此,本發(fā)明人提出基于歷史和推測確定以周期精確仿真模 式進行仿真的樣本,并以功能仿真模式對除了樣本之外的其余部分進行仿真, 從而減少仿真時間同時獲得準確的性能評價。
      下面將參考圖2對根據本發(fā)明實施例的、動態(tài)切換仿真模式的仿真方法 進行描述。首先,在步驟S201,由用戶預先設定周期精確仿真模式下的周期 精確仿真時間段的長度(下文中稱為第一預定長度),并以周期精確仿真模式
      7在一個第一預定長度的周期精確仿真時間段內進行仿真。在步驟S202中,計 算該周期精確仿真時間段內的性能度量的值,并進行存儲。隨后,在步驟S203 中判斷整個仿真是否完成。當確定整個仿真仍未完成時,在步驟S204中,繼 續(xù)以周期精確仿真^f莫式在一個第二預定長度的周期精確仿真時間段內進行仿 真,并且在步驟S205中計算該周期精確仿真時間段內的性能度量的值,并進 行存儲。所述第二預定長度由用戶預先設定,其既可以設為與第一預定長度 相同,也可以不同,并且當用戶沒有預先設定第二預定長度時,默認其與第 一預定長度相同。接著,在步驟S206中將計算出的兩個性能度量的值進行比 較,并判斷這兩個性能度量的值之差的絕對值是否小于一個預定的閾值。
      當所述絕對值小于預定的閾值時,表明在過去的兩個相鄰的周期精確仿 真時間段內程序是平穩(wěn)的。這里"平穩(wěn)"表示硬件的性能度量的值基本保持 不變。因此基于局部性原理預測在隨后的一個時間段內程序仍將保持平穩(wěn), 而硬件的性能度量的值也將基本保持不變。基于這一預測,在步驟S207,仿 真模式切換至功能仿真模式,并以該功能仿真模式在一個第三預定長度的功 能仿真時間段內進行仿真。該第三預定長度也由用戶預先設定,并且其長度 既可以設為與用于周期精確仿真的第一預定長度或第二預定長度相同,也可 以設為不同。在此之后,按照本發(fā)明的仿真方法返回至步驟S203以判斷整個 仿真是否完成,并在確定整個仿真尚未結束時再次執(zhí)行后續(xù)的各個步驟。由 此,重復執(zhí)行前述的步驟S203 -S207,直到確定整個仿真結束。另一方面, 當所述絕對值大于等于預定的閾值時,表明在過去的兩個相鄰的周期精確仿 真時間段內程序是不平穩(wěn)的,從而硬件的性能度量的值變化較大。因此為了 獲得準確的硬件性能評估,需要繼續(xù)以周期精確仿真模式進行仿真。因而, 按照本發(fā)明的仿真方法繼續(xù)保持周期精確仿真模式,并直接返回至步驟S203。
      所述閾值是由用戶預先設定的。根據以上描述可以看出,用戶 可以取決于其 所期望的硬件性能評估的準確度來設定閾值。例如,當用戶對準確度的要求 較低而對仿真速度要求較高時,可以將闞值設定得較大,從而增加在整個仿 真過程中以功能仿真模式進行仿真的機會。相反,當用戶對準確度的要求較 高而對仿真速度要求較低時,可以將閾值設定得較小,從而減少在整個仿真 過程中以功能仿真模式進行仿真的機會。另外上述多個預定周期精確仿真時間段和功能仿真時間段的是由用戶人為初始設定,優(yōu)選地也可以由計算機根 據所仿真程序的執(zhí)行時間或者其他度量動態(tài)設定。
      優(yōu)選地,在完成了整個仿真之后,可以計算所存儲的各個性能度量的值
      的加權平均值,如步驟S210所示,以獲得對于所仿真的硬件整體的性能評價。
      在計算加權平均值時,可以將與各個性能度量的值對應的仿真時間長度作為 權重,也可以由用戶來設定權重。
      優(yōu)選地,為了獲得更好的效果,功能仿真時間段的長度(即第三預定長 度)在設定之后可以根據運行的程序的動態(tài)行為動態(tài)改變。具體地,如果在
      步驟S206中確定兩個性能度量的值之差的絕對值小于預定的閾值,則在步驟 S207中以功能仿真模式進行仿真之后,可以通過將第三預定長度增大一倍或 多倍來延長功能仿真時間段,從而下一次以功能仿真模式進行仿真的時間變 長,如步驟S208所示。相反,如果在步驟S206中確定兩個性能度量的值之 差的絕對值大于等于預定的閾值,則可以通過將第三預定長度減小一倍或多 倍來縮短功能仿真時間段,從而下一次以功能模式進行仿真的時間變短,如
      行的程序的動態(tài)行為動態(tài)改變。例如,當在步驟S206中確定兩個性能度量的 值之差的絕對值小于預定的閾值,可以在步驟208中通過將第二預定長度減 ,J、 一倍或多倍來縮短周期精確仿真時間段,從而減少周期精確仿真的采樣時 間;而如果絕對值大于等于預定的閾值,則可以在步驟209中通過將第二預 定長度增大一倍或多倍來延長周期精確仿真時間段,從而增加周期精確仿真 的采樣時間。
      上述實施例中所述的性能度量可以是任何具有良好的局部性的度量,例 如CPI(每指令周期,即IPC的倒數)、高速緩存未命中率、TLB未命中率以及 分支預測精確性等。
      確模擬器和功能模擬器。例如,除了 IBM的模擬器Mambo,現有的周期精 確模擬器還有SimpleScalar中的Outorder沖莫式(www.simplescalar.com )等' 功負&才莫4以器還有Simics (www.virtutech.com)等。
      圖3示出了應用根據本發(fā)明的仿真方法的示例。如圖3所示,圖中最上 面的線表示運行程序的仿真時間。第二條線代表對于平穩(wěn)程序應用本發(fā)明的仿真方法的情形。首先,使用周期精確仿真模式在兩個周期精確仿真時間段 tO和tl中進行仿真(在本示例中,為了簡單起見,假設t0和tl時間段的長 度是相等的,并且設定在后續(xù)的仿真過程中周期精確仿真時間段的長度始終
      保持不變),并分別計算to和tl時間段內的性能度量的值CPI[O]和CPI[l]。 然后,計算CPI
      和CPI[1]之差的絕對值。由于這一差的絕對值小于預定的 閾值,因此切換至功能仿真模式,并以該模式在一個功能仿真時間段t,O中進
      行仿真。之后,再次切換至周期精確仿真模式,并以該模式在周期精確仿真
      時間段t2中進行仿真,并計算CPI[2]。由于CPI[2]和CPI[1]之差的絕對值仍 然小于預定的閾值,這意味著程序是平穩(wěn)的。由此可以推測,程序將在隨后 的較長時間內仍保持平穩(wěn),所以可以以功能模式在較長的時間內進行仿真。 在本示例中,將初始功能仿真時間段的長度增大一倍,并且仿真模式再次切 換到功能仿真模式,并以功能仿真模式在長度更新后的 一個功能仿真時間段 t,l中進行仿真。之后,再次切換至周期精確仿真模式,并以該模式在周期精 確仿真時間段t3中進行仿真,并計算CPI[3]。在本示例中,CPI[3]和CPI[2〗 之差的絕對值仍然小于預定的閾值,所以將功能仿真時間段的長度再增大一 倍,并且仿真模式再次切換到功能仿真模式,并以功能仿真模式在長度更新 后的一個功能仿真時間段t'2中進行仿真。依此類推,直到仿真結束為止???br> 以看出,通過不斷增加以功能仿真模式進行仿真的時間長度,采用周期精確 仿真模式進行仿真的時間變得越來越少,因此可以獲得較快的仿真速度???br> 見,通過動態(tài)地確定并交替使用功能仿真模式和周期精確仿真模式可以減少 仿真時間,并且保證具有較高的硬件性能評估準確度。
      圖3中的第三條線代表對于不平穩(wěn)程序應用本發(fā)明的仿真方法的情形。 類似地,首先使用周期精確仿真模式在兩個周期精確仿真時間段tO和tl中進 行仿真,并計算CPI[O]和CPI[l]。然后,計算CPI
      和CPI[1]之差的絕對值。
      由于這一差的絕對值大于等于預定的閾值,這意味著程序在這一段時間是不 平穩(wěn)的,所以為了能夠獲得準確度較高的硬件性能評估,需要繼續(xù)以周期精
      確仿真模式進行仿真。因此,繼續(xù)以周期精確仿真模式在時間段t2中進行仿 真。在本示例中,在第一至第三個周期精確仿真時間段(t0-12)中,CPI變 化較大。當在時間段t3中進行周期精確仿真之后,發(fā)現CPI[3]和CPI[2]之差 的絕對值小于預定的閾值。因此,仿真模式切換到功能仿真模式,并以該模 式在功能仿真時間段t,O中進行仿真。隨后,仿真模式再次切換到周期精確仿真模式,并以該模式在時間段t4中進行仿真,并計算CPI[4]。由于CPI[4]和 CPI[3]的差的絕對值大于等于預定的閾值,因此仍使用周期精確仿真模式在 時間段。中進行仿真,并計算CPI[5]。由于CPI[5]和CPI[4]之差的絕對值小 于預定的閾值,因此,仿真模式切換到功能仿真模式,并以該模式在功能仿 真時間段t,l中進行仿真。依此類推,直到仿真結束。需要說明的是,在本示 例中,在時間段t3之后,以初始設定的功能仿真時間段長度進行功能仿真。 然而,由于在時間段t0-t2中CPI變化較大,即意味著程序是不平穩(wěn)的,因此
      時,將功能仿真時間段的長度縮小一倍。從而在時間段t3之后,在長度為初 始功能仿真時間段長度的1/8的時間內進行功能仿真。由此,通過縮短對不 平穩(wěn)程序進行功能仿真的時間,來確保對仿真的硬件的性能評估的準確性。
      從上述的示例中可以看出程序行為越平穩(wěn),需要以周期精確仿真模式 進行仿真的時間越少。而即使程序行為是不平穩(wěn)的,應用本發(fā)明的仿真方法 也可以基于局部性原理減少仿真時間。
      下面將參考圖4對根據本發(fā)明的、動態(tài)切換仿真模式的仿真設備進行描 述。如圖4所示,仿真設備包括周期精確仿真器401,用于以周期精確仿 真模式進行仿真;功能仿真器402,用于以功能仿真模式進行仿真;性能度 量值計算部件403,用于計算在各個周期精確仿真時間段內的性能度量的值, 并將計算出的性能度量的值存儲在存儲器中;比較部件404,用于將相鄰兩
      個周期精確仿真時間段內的性能度量的值之差的絕對值與預定的閾值進行比 較;控制器405,用于根據由比較部件404得出的比較結果動態(tài)切換仿真模 式,并控制周期精確仿真器401和功能仿真器402進行仿真。
      周期精確仿真器401在控制器405的控制下以預定長度的周期精確仿真 時間段為單位進行仿真。功能仿真器402在控制器405的控制下以預定長度 的功能仿真時間段為單位進行仿真。所述周期精確仿真時間段和功能仿真時 間段的長度可以由用戶預先設定,并且這兩種時間段的預先設定的長度既可 以相同,也可以不同。
      響應于在一個周期精確仿真時間段中進行了周期精確仿真,性能度量值 計算部件403計算在剛剛過去的周期精確仿真時間段內性能度量的值,并將 計算出的性能度量的值存儲在存儲器中。所述存儲器可以是仿真設備的內部 存儲器,也可以是外接于該仿真設備的外部存儲器。性能度量是用于對所仿真的硬件的性能進行評估的參數,其可以是任意具有良好的局部性的度量,
      例如CPI、高速緩存未命中率、TLB未命中率以及分支預測精確性等。另夕卜, 如何計算各個時間段內的性能度量的值是本領域技術人員公知的,在此不再 贅述。
      控制器405根據從比較部件404獲得的比較結果動態(tài)地切換仿真模式。 具體地,當性能度量的值之差的絕對值小于閾值時,控制器控制功能仿真器 402在一個功能仿真時間段內進行功能仿真,并控制周期精確仿真器在所述 一個功能仿真時間段之后在 一個周期精確仿真時間段內進行周期精確仿真。 當性能度量的值之差的絕對值大于等于閾值時,控制器405控制周期精確仿 真器401在一個周期精確仿真時間段內進行周期精確仿真??刂破?05以上 述方式控制功能仿真器402和周期精確仿真器401交替進行仿真,直到整個 仿真完成為止。
      以上對根據本發(fā)明實施例的、動態(tài)切換仿真模式的仿真設備進行了描述。 該仿真設備通過交替采用功能仿真模式和周期精確仿真模式進行仿真減少了 仿真時間,并且保證仿真具有較高的硬件性能評估準確度。
      優(yōu)選地,盡管預先設定了功能仿真時間段的長度,為了獲得更好的效果, 控制器405可以根據運行的程序的動態(tài)行為動態(tài)改變所述功能仿真時間段的 長度。具體地,如前所述,在性能度量的值之差的絕對值小于閾值、控制器 405通知功能仿真器402進行功能仿真之后,將功能仿真時間段的長度增大 一倍或多倍,從而下一次以功能仿真模式進行仿真的時間變長。相反,在性 能度量的值之差的絕對值大于等于閾值時,控制器405將功能仿真時間段的 長度減小一倍或多倍,從而下一次以功能模式進行仿真的時間變短。同樣地,
      為動態(tài)改變。例如,當如前所述性能度量的值之差的絕對值小于閾值時,控 制器405將周期精確仿真時間段的長度減小一倍或多倍,從而減少周期精確 仿真的采樣時間;而如果絕對值大于等于閾值,則將周期精確仿真時間^歐的 長度增大一倍或多倍,從而增加周期精確仿真的采樣時間。
      優(yōu)選地,根據本發(fā)明實施例的仿真設備還可以包括性能評估部件,用于 在完成了整個仿真之后,計算存儲器中所存儲的各個性能度量的值的加權平 均值,以獲得對于所仿真的硬件整體的性能評價。在計算加權平均值時,可 以將與各個性能度量的值對應的仿真時間長度作為權重,也可以由用戶來設定權重。
      另外,根據本發(fā)明的仿真方法還可以通過計算機程序產品來實施,該計 算機程序產品包括用于當在計算機上運行所述計算機程序產品時執(zhí)行以實施 本發(fā)明的仿真方法的軟件代碼部分。
      還可以通過在計算機可讀記錄介質中記錄一計算機程序來實施本發(fā)明, 該計算機程序包括用于當在計算機上運行所述計算機程序時執(zhí)行以實施根據 本發(fā)明的仿真方法的軟件代碼部分。即,根據本發(fā)明的仿真方法的過程能夠 以計算機可讀介質中的指令的形式和各種其它形式分發(fā),而不管實際用來執(zhí)
      行分發(fā)的信號承載介質的特定類型。計算機可讀介質的例子包括諸如
      EPROM、 ROM、磁帶、紙、軟盤、硬盤驅動器、RAM和CD-ROM的介質 以及諸如數字和模擬通信鏈路的傳輸型介質。
      盡管參考本發(fā)明的優(yōu)選實施例具體展示和描述了本發(fā)明,但是本領域一 般技術人員應該明白,在不脫離所附權利要求限定的本發(fā)明的精神和范圍的 情況下,可以對其進行形式和細節(jié)上的各種修改。
      1權利要求
      1.一種動態(tài)切換仿真模式的仿真方法,所述方法包括步驟A)以周期精確仿真模式在一個第一預定長度的周期精確仿真時間段內進行仿真,并計算該周期精確仿真時間段內的性能度量的值;B)確定整個仿真是否完成,當整個仿真已完成時,結束所述仿真方法;當整個仿真尚未完成時,繼續(xù)以周期精確仿真模式在一個第二預定長度的周期精確仿真時間段內進行仿真,并計算該周期精確仿真時間段內的性能度量的值;C)計算所述第二預定長度的周期精確仿真時間段內的性能度量的值與前一個周期精確仿真時間段內的性能度量的值之差的絕對值;D)當所述絕對值小于一預定的閾值時,以功能仿真模式在一個第三預定長度的功能仿真時間段內進行仿真;E)重復執(zhí)行步驟B-D直至結束。
      2. 如權利要求1所述的仿真方法,其中步驟D)進一步包括當所述絕 對值小于一預定的閾值時,增大所述第三預定長度;否則,減小所述第三預 定長度。
      3. 如權利要求1或2所述的仿真方法,其中步驟D)進一步包括當所 述絕對值小于一預定的閾值時,減小所述第二預定長度;否則,增大所述第 二預定長度。
      4. 如權利要求2所述的仿真方法,其中所述增大所述第三預定長度進一 步包括將該第三預定長度增大一倍或多倍。
      5. 如權利要求2所述的仿真方法,其中所述減小所述第三預定長度進一 步包括將該第三預定長度減小 一倍或多倍。
      6. 如權利要求3所述的仿真方法,其中所述減小所述第二預定長度進一 步包括將該預定長度減、 一倍或多倍。
      7. 如權利要求3所述的仿真方法,其中所述增大所述第二預定長度進一 步包括將該預定長度增大一倍或多倍。
      8. 如權利要求1 - 7任一項所述的仿真方法,其中所述性能度量為每指 令周期、高速緩存未命中率、翻譯后援緩沖器未命中率和分支預測精確性中 的任一 個。
      9. 如權利要求1-7任一項所述的仿真方法,還包括步驟F)計算各個 性能度量的值的加權平均值。
      10. —種動態(tài)切換仿真模式的仿真設備,所述設備包括 周期精確仿真器,以周期精確仿真模式進行仿真; 功能仿真器,以功能仿真模式進行仿真;性能度量值計算部件,響應于周期精確仿真器在一個第一預定長度的周 期精確仿真時間段內進行仿真而計算該周期精確仿真時間段內性能度量的 值;比較部件,用于將兩個相鄰的周期精確仿真時間段內的性能度量的值之 差的絕對值與預定的閾值進行比較;控制器,用于根據由比較部件得出的比較結果動態(tài)切換仿真模式,并控 制周期精確仿真器和功能仿真器進行仿真。
      11. 如權利要求10所述的仿真設備,其中當所述絕對值小于所述閾值時,控制器控制功能仿真器在一個第二預定 長度的功能仿真時間段內進行功能仿真,并控制周期精確仿真器在所述功能 仿真時間段之后在一個所述周期精確仿真時間段內進行周期精確仿真;當所述絕對值大于等于所述閾值時,控制器控制周期精確仿真器在一個 所述周期精確仿真時間段內進行周期精確仿真。
      12. 如權利要求11所述的仿真設備,其中,所述控制器進一步用于 當所述絕對值小于所述閾值時,將所述第二預定長度增大一倍或多倍;否則,將所述第二預定長度減小一倍或多倍。
      13. 如權利要求11或12所述的仿真設備,其中,所述控制器進一步用于當所述絕對值小于所述閾值時,將所述第一預定長度減小一倍或多倍; 否則,將所述第一預定長度增大一倍或多倍。
      14. 如權利要求10或11所述的仿真設備,還包括性能評估部件,用于計算所存儲的各個性能度量的值的加權平均值。
      15. 如權利要求10或11所述的仿真設備,其中所述性能度量為每指令 周期、高速緩存未命中率、翻譯后援緩沖器未命中率和分支預測精確性中的 任一個。
      全文摘要
      本發(fā)明提供了動態(tài)切換仿真模式的仿真方法和設備。該方法包括A)以周期精確仿真模式在一個第一預定長度的周期精確仿真時間段內進行仿真,并計算該時間段內的性能度量的值;B)確定整個仿真是否完成,當已完成時,結束仿真方法;否則,繼續(xù)以周期精確仿真模式在一個第二預定長度的周期精確仿真時間段內進行仿真,并計算該時間段內的性能度量的值;C)計算第二預定長度的周期精確仿真時間段內的性能度量的值與前一個周期精確仿真時間段內的性能度量的值之差的絕對值;D)當絕對值小于一預定的閾值時,以功能仿真模式在一個第三預定長度的功能仿真時間段內進行仿真;E)重復B-D直至結束。本發(fā)明保證了較高的仿真性能評估準確度,同時減少了仿真時間。
      文檔編號G06F17/50GK101593219SQ20081009872
      公開日2009年12月2日 申請日期2008年5月30日 優(yōu)先權日2008年5月30日
      發(fā)明者銳 侯, 常曉濤, 鯤 王, 宇 章 申請人:國際商業(yè)機器公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1