• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    仿真設備和仿真方法技術

    技術編號:8593811 閱讀:186 留言:0更新日期:2013-04-18 06:57
    提供了一種仿真設備和仿真方法,該仿真設備包括如下操作:將目標處理器中的程序的代碼劃分為塊;將取決于外部環境的外部相關指令的執行結果設定為預測結果;根據預測結果執行功能仿真;根據指令執行定時信息和功能仿真結果來計算外部相關指令的執行時間;根據功能仿真結果生成主代碼,該主代碼使得主處理器執行性能仿真;如果在主處理器執行主代碼時的外部相關功能的執行結果不同于預測結果,則根據外部相關指令的延遲時間和在外部相關功能前后執行的指令的執行時間,來校正外部相關指令的執行時間;以及將校正后的外部相關指令的執行時間設定為外部相關指令的執行時間。

    【技術實現步驟摘要】

    本文中描述的實施例涉及如下處理技術,該處理技術獲取有關性能或電力的仿真信息。
    技術介紹
    在安裝有多個處理器(例如,中央處理單元(CPU))的多核配置中,針對每個核(CPU)的功能、性能、電力等進行仿真處理,其具有高處理速度或高處理精度。第6,751,583B1號美國專利中公開了相關技術。關于作為功能、性能或功耗的仿真目標的目標CPU,將在作為主CPU的操作中的目標CPU的指令代碼(目標代碼)轉換為主CPU的指令代碼(主代碼)。在該轉換中,可以使用解釋器方法或即時(JIT,Just-1n-Time)編譯器方法。在基于JIT編譯器方法的仿真中,目標CPU的指令被主CPU的指令取代,其中,目標CPU的指令出現在正執行的程序中,主CPU的指令執行仿真。所以,JIT編譯器方法中的處理可以比解釋器方法中的處理更快地執行。當每個單元針對每個時鐘獨立地運行時,每當在流水線處理的控制下執行處理時,CPU的內部狀態就改變,其中,在流水線處理中,同時執行所輸入的指令。因此,可能停用所生成的主指令的重復使用,其中,所生成的主指令的重復使用是JIT編譯器方法的優點。當使用解釋器方法來仿真對流水線處理或亂序處理進行控制的CPU的功能、性能或電力時,處理速度可能變慢。當使用JIT編譯器方法來仿真性能或電力時,可以增加這樣的仿真代碼,該仿真代碼對應于在流水線處理控制中涉及的各種內部狀態。在性能仿真中,可將仿真代碼增加到主代碼,以適應于與目標CPU的延遲執行對應的定時。例如,當要執行加載(LD)指令的周期仿真時,可將條件代碼增加到主代碼,以檢查發生高速緩存未命中或高速緩存命中的哪個,或者檢查如果發生高速緩存未命中則是否存在代價周期。然而,為了保持高操作性,期望盡可能減少增加到功能代碼的用于性能仿真的代碼的量。
    技術實現思路
    根據實施例的一個方面,一種仿真設備,包括代碼轉換部分;以及仿真執行部分,其中,代碼轉換部分執行將被主處理器控制的目標處理器中的程序的代碼劃分為塊;將外部相關指令的執行結果設定為預測結果,其中,外部相關指令取決于包括在塊中的外部環境;根據預測結果執行功能仿真;根據包括在塊中的指令執行定時信息和功能仿真結果,計算在預測結果的情況下的外部相關指令的執行時間;以及根據功能仿真結果生成主代碼,該主代碼使主處理器執行在預測結果的情況下的性能仿真,其中,仿真執行部分執行如果在主處理器執行主代碼時的外部相關功能的執行結果不同于在主處理器執行主代碼時的預測結果,則通過使用基于外部相關指令的延遲時間和在外部相關功能前后執行的指令的執行時間的校正值,來校正外部相關指令的執行時間;以及將校正后的外部相關指令的執行時間設定為外部相關指令的執行時間。根據仿真設備,可以執行高速仿真。經由權利要求中特別指出的元件和組合,將實現和獲得本專利技術的目標和優點。應當理解,如所請求保護的,前述的概括說明和下面的詳細說明都是例示性和說明性的,而不是限制本專利技術。附圖說明圖1圖示例示性的仿真設備;圖2圖示例示性的指令;圖3圖示例示性的定時信息;圖4A和圖4B圖示指令的例示性的執行定時;圖5A圖示例示性的主代碼;圖5B圖示用于周期仿真的例示性代碼;圖6圖示校正部分的例示性處理;圖7A至圖7D圖示校正部分的例示性校正;圖8A至圖8D圖示校正部分的例示性校正;圖9A至圖9D圖示校正部分的例示性校正;圖10圖示代碼轉換部分的例示性處理;圖11圖示例示性的仿真;圖12圖示例示性的外部相關指令;圖13A至圖13C圖示目標程序中的指令與主程序中的主指令的數目之間的例示性關系;圖14圖示代碼轉換部分的例示性處理;圖15圖示代碼轉換部分的例示性處理;圖16圖示例示性的仿真設備;以及圖17圖示電力仿真信息生成部分的例示性處理。具體實施例方式圖1圖示例示性的仿真設備。仿真設備I可執行目標CPU的指令執行的性能仿真,其中,目標CPU控制流水線處理。目標CPU可以是要仿真的CPU的控制模型。仿真設備I輸出每個指令的周期仿真信息作為目標CPU的指令執行的性能仿真的結果。例如,目標CPU可為ARM架構CPU。例如,對應于主CPU的仿真設備I可為安裝有X86架構CPU的計算機。仿真設備I包括代碼轉換部分11、仿真執行部分12和仿真信息采集部分13。當執行目標CPU的程序時,代碼轉換部分11根據由目標CPU執行的程序代碼(例如目標代碼)生成執行仿真的主CPU的代碼(例如主代碼)。代碼轉換部分11包括塊劃分部分111、預測仿真執行部分113和代碼生成部分115。塊劃分部分111將提供到仿真設備I的程序的目標代碼劃分為規定塊。例如,規定塊可為基本塊(從分支到下一分支的代碼)或預定的任意代碼單元。圖2圖示例示性的指令。圖2中的指令可包括在塊中。如圖2中所示的,塊包括作為目標代碼的三個指令“LD[rl],r2”(加載)、“MULTr3,r4,r5” (相乘)和“ADD r2,r5,r6”(相加)。例如,LD、MULT和ADD依次輸入到目標CPU的流水線中,然后執行。在這些指令中,rl至r6表示寄存器(地址)。預測仿真執行部分113接收定時信息3和預測信息4,并且在基于執行結果的情況下對輸入的塊執行性能仿真。針對目標代碼中的每個指令,定時信息3包括表示指令執行中的每個處理(階段)與可用寄存器之間的對應的信息,并且針對每個外部相關指令,定時信息3還包括與根據執行結果確定的延遲時間對應的代價代價時間(代價代價周期數)。外部相關指令可包括在與外部環境有關的處理中涉及的指令,在加載指令、存儲指令等的執行結果取決于目標CPU以外的外部環境的處理(例如指令高速緩存、數據高速緩存或旁路轉換緩沖(TLB)的搜索處理)中涉及的指令,以及用于分支預測和用于將調用和返回進行堆棧的指令。圖3圖示例示性的定時信息。定時信息可為圖1中所示的定時信息3。對于圖3中的定時信息3中的LD指令,第一處理元件(el)可使用源寄存器rsl(rl),而第二處理元件(e2)可使用目的寄存器rd (r2)。對于MULT指令,第一元件(el)可使用第一源寄存器rsl (r3),第二元件(e2)可使用第二源寄存器rs2 (r4),而第三處理元件(e3)可使用目的寄存器rd (r5)。對于ADD指令,第一元件(el)可使用第一源寄存器rsl (r2)和第二源寄存器rs2 (r5),而第二處理元件(e2)可使用目的寄存器rd (r6)。圖4A和圖4B圖示指令的例示性的執行定時。圖4A和圖4B中的執行定時可為執行圖2所示的塊中的指令的定時。例如,如果LD指令的執行開始于定時t,則根據圖3中的定時信息3,在定時t+1將MULT指令輸入到流水線中,并且在定時t+2輸入ADD指令。由于ADD指令中的第一源寄存器(r2)和第二源寄存器(r5)被LD指令和MULT指令使用,所以在定時t+4之后開始ADD指令的執行,其中,在該定時t+4處已完成了 LD指令和MULT指令的執行,由此生成等同于兩個周期的等待時間(兩個周期延遲)。因此,當對圖2中的塊進行仿真時,如果LD指令的執行結果為高速緩存命中,則塊的執行時間可為如圖4A所示的六個周期。圖4B是當圖2中的塊中的LD指令的執行結果為高速緩存未命中時的時序圖。如果LD指令的執行結果為高速緩存未命中,則重新執行的時間段本文檔來自技高網
    ...

    【技術保護點】
    一種仿真設備,包括:代碼轉換部分;以及仿真執行部分,其中,所述代碼轉換部分執行:將被主處理器控制的目標處理器中的程序的代碼劃分為塊;將外部相關指令的執行結果設定為預測結果,其中所述外部相關指令取決于包括在塊中的外部環境;根據所述預測結果執行功能仿真;根據包括在所述塊中的指令執行定時信息和功能仿真結果,計算在所述預測結果的情況下的所述外部相關指令的執行時間;以及根據所述功能仿真結果生成主代碼,所述主代碼使得所述主處理器執行在所述預測結果的情況下的性能仿真,其中,所述仿真執行部分執行:如果在所述主處理器執行所述主代碼時的所述外部相關功能的執行結果不同于所述預測結果,則通過使用基于所述外部相關指令的延遲時間和在所述外部相關功能前后執行的指令的執行時間的校正值,來校正所述外部相關指令的執行時間;以及將校正后的所述外部相關指令的執行時間設定為所述外部相關指令的執行時間。

    【技術特征摘要】
    2011.10.12 JP 2011-2247141.ー種仿真設備,包括 代碼轉換部分;以及 仿真執行部分, 其中,所述代碼轉換部分執行 將被主處理器控制的目標處理器中的程序的代碼劃分為塊; 將外部相關指令的執行結果設定為預測結果,其中所述外部相關指令取決于包括在塊中的外部環境; 根據所述預測結果執行功能仿真; 根據包括在所述塊中的指令執行定時信息和功能仿真結果,計算在所述預測結果的情況下的所述外部相關指令的執行時間;以及 根據所述功能仿真結果生成主代碼,所述主代碼使得所述主處理器執行在所述預測結果的情況下的性能仿真, 其中,所述仿真執行部分執行 如果在所述主處理器執行所述主代碼時的所述外部相關功能的執行結果不同于所述預測結果,則通過使用基于所述外部相關指令的延遲時間和在所述外部相關功能前后執行的指令的執行時間的校正值,來校正所述外部相關指令的執行時間;以及 將校正后的所述外部相關指令的執行時間設定為所述外部相關指令的執行時間。2.根據權利要求1所述的仿真設備,其中,所述目標處理器控制流水線處理。3.根據權利要求1所述的仿真設備,其中,當要在所述外部相關指令之后執行的下一指令的執行時間沒有超過所述外部相關指令的所述延遲時間時,所述仿真執行部分使用所述下一指令的執行時間作為所述校正值。4.根據權利要求3所述的仿真設備,其中,所述仿真執行部分從所述外部相關指令的所述延遲時間中減去所述校正值。5.根據權利要求1所述的仿真設備,其中,所述仿真執行部分從包括在所述塊中的所述指令中檢測這樣的指令,該指令使用前一指令的執行時間來計算該指令的執行時間,并且所述仿真執行部分生成包括主指令的所述主代碼,其中,所述...

    【專利技術屬性】
    技術研發人員:桑村慎哉,池敦,
    申請(專利權)人:富士通株式會社
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV无码一区二区三区牲色 | 国产av无码专区亚洲av毛片搜| 亚洲美日韩Av中文字幕无码久久久妻妇 | 无码人妻精品一区二区三区99性| 一本色道久久综合无码人妻| 免费无码婬片aaa直播表情| 亚洲AV无码一区二区乱孑伦AS| 久久久无码精品午夜| 中文字幕无码人妻AAA片| 精品深夜AV无码一区二区老年 | 久久午夜夜伦鲁鲁片免费无码| 无码精品一区二区三区| 亚洲AV永久无码精品一百度影院| 无码人妻久久一区二区三区蜜桃 | 午夜无码伦费影视在线观看| 亚洲成?v人片天堂网无码| 精品深夜AV无码一区二区老年| 亚洲AV无码成人精品区在线观看| 在线无码视频观看草草视频| 一本色道久久综合无码人妻 | 影院无码人妻精品一区二区| 无码播放一区二区三区| 午夜无码伦费影视在线观看| 亚洲av中文无码乱人伦在线r▽| 久久中文字幕无码专区| 免费无码黄网站在线观看| 精品深夜AV无码一区二区老年| 日韩丰满少妇无码内射| 亚洲日韩v无码中文字幕| 中文字幕丰满乱子伦无码专区| 午夜寂寞视频无码专区| 色欲aⅴ亚洲情无码AV| 亚洲成a人无码亚洲成www牛牛 | 国产精品ⅴ无码大片在线看| 国产成人无码AⅤ片在线观看| 永久免费无码网站在线观看个| 免费A级毛片无码A| 日韩少妇无码喷潮系列一二三| 国产精品无码无片在线观看3D| 日韩AV无码一区二区三区不卡| 久久亚洲AV成人无码国产最大|