[發(fā)明專利]仿真器的性能優(yōu)化方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201680057532.6 | 申請日: | 2016-09-26 |
| 公開(公告)號: | CN108139921B | 公開(公告)日: | 2022-06-17 |
| 發(fā)明(設(shè)計)人: | T·H·曾;A·U·基什安 | 申請(專利權(quán))人: | 微軟技術(shù)許可有限責(zé)任公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 陳小剛;陳斌 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 仿真器 性能 優(yōu)化 方法 系統(tǒng) | ||
本文解說的一個實施例包括一種可以在具有運行本機(jī)體系結(jié)構(gòu)系統(tǒng)的客體系結(jié)構(gòu)的計算環(huán)境中實施的方法。該方法包括用于處置函數(shù)調(diào)用的動作。該方法包括接收對目標(biāo)二進(jìn)制的調(diào)用,其中該調(diào)用是用于客體系結(jié)構(gòu)的格式。該方法還包括確定該調(diào)用是對作為混合二進(jìn)制的二進(jìn)制的調(diào)用?;旌隙M(jìn)制包括使用客體系結(jié)構(gòu)源代碼編譯成本機(jī)體系結(jié)構(gòu)二進(jìn)制代碼的本機(jī)函數(shù)以及用于處理客體系結(jié)構(gòu)與本機(jī)體系結(jié)構(gòu)之間的不兼容性的特殊化形實轉(zhuǎn)換程序。該方法還包括調(diào)用特殊化形實轉(zhuǎn)換程序以允許混合二進(jìn)制中的本機(jī)函數(shù)在本機(jī)體系結(jié)構(gòu)系統(tǒng)上本機(jī)地執(zhí)行。
背景
背景和相關(guān)技術(shù)
軟件仿真系統(tǒng)可被用來在一種類型的本機(jī)計算機(jī)架構(gòu)上執(zhí)行另一類型的客計算機(jī)架構(gòu)的應(yīng)用。這使用動態(tài)轉(zhuǎn)換來達(dá)成,這是一種用來將x86指令在運行時轉(zhuǎn)換成對應(yīng)ARM指令的技術(shù)。如可預(yù)期的,轉(zhuǎn)換過程可能將延遲引入應(yīng)用的運行時執(zhí)行。在客體系結(jié)構(gòu)和本機(jī)體系結(jié)構(gòu)之間存在不兼容性時情況尤其如此。
例如,ARM處理器具有比x86弱得多的存儲器模型。為了在ARM上仿真x86應(yīng)用時達(dá)到兼容的存儲器排序,運行時編譯器被迫在ARM代碼中積極地生成存儲器屏障以準(zhǔn)確地仿真x86強(qiáng)排序語義。存儲器屏障的自由使用是驚人昂貴的。作為結(jié)果,一些仿真器默認(rèn)每當(dāng)可能時就使用單個處理器(由此消除對屏障生成的需求),但以放棄多核處理為代價。
作為又一示例,客體系結(jié)構(gòu)可以使用不同于本機(jī)體系結(jié)構(gòu)的數(shù)據(jù)類型。例如,客體系結(jié)構(gòu)可使用32位數(shù)據(jù)類型,而本機(jī)體系結(jié)構(gòu)使用64位數(shù)據(jù)類型。這可能需要仿真器在運行時在這兩個方向上都執(zhí)行附加數(shù)據(jù)編排(marshal)。因而,數(shù)據(jù)將需要從32位數(shù)據(jù)類型編排成64位數(shù)據(jù)類型以及從64位數(shù)據(jù)類型編排成32位數(shù)據(jù)類型。在沒有開發(fā)者努力的情況下,自動編排數(shù)據(jù)類型是困難的。對于大型軟件項目,這需要每一工程師適當(dāng)?shù)刈⑨寯?shù)據(jù)類型并且不是可伸縮的。
本文要求保護(hù)的主題不限于解決任何缺點或僅在諸如上述環(huán)境這樣的環(huán)境中操作的各實施例。相反,提供該背景僅用于例示其中可實踐所述一些實施例的一個示例性技術(shù)領(lǐng)域。
簡要概述
本文解說的一個實施例包括一種可以在具有運行本機(jī)體系結(jié)構(gòu)系統(tǒng)的客體系結(jié)構(gòu)的計算環(huán)境中實施的方法。該方法包括用于處置函數(shù)調(diào)用的動作。該方法包括接收對目標(biāo)二進(jìn)制的調(diào)用,其中該調(diào)用是用于客體系結(jié)構(gòu)的格式。該方法還包括確定該調(diào)用是對作為混合二進(jìn)制的二進(jìn)制的調(diào)用?;旌隙M(jìn)制包括使用客體系結(jié)構(gòu)源代碼編譯成本機(jī)體系結(jié)構(gòu)二進(jìn)制代碼的本機(jī)函數(shù)以及用于處理客體系結(jié)構(gòu)與本機(jī)體系結(jié)構(gòu)之間的不兼容性的特殊化形實轉(zhuǎn)換程序 (thunk)。作為確定客體系結(jié)構(gòu)的格式的調(diào)用是對作為混合二進(jìn)制的二進(jìn)制的調(diào)用的結(jié)果,該方法還包括調(diào)用特殊化形實轉(zhuǎn)換程序來允許混合二進(jìn)制中的本機(jī)函數(shù)在本機(jī)體系結(jié)構(gòu)系統(tǒng)上本機(jī)地執(zhí)行。
另一實施例包括一種可在計算環(huán)境中實施的方法。該方法包括用于使用在本機(jī)體系結(jié)構(gòu)系統(tǒng)上運行的客體系結(jié)構(gòu)的客源代碼來創(chuàng)建二進(jìn)制的動作。該二進(jìn)制被配置成在本機(jī)體系結(jié)構(gòu)系統(tǒng)上本機(jī)地運行。該方法包括訪問客體系結(jié)構(gòu)源代碼。該方法還包括將客源代碼編譯成混合二進(jìn)制。這包括使用客體系結(jié)構(gòu)源代碼創(chuàng)建編譯成本機(jī)體系結(jié)構(gòu)二進(jìn)制代碼的本機(jī)函數(shù)。這還包括創(chuàng)建特殊化形實轉(zhuǎn)換程序以處置客體系結(jié)構(gòu)與本機(jī)體系結(jié)構(gòu)調(diào)用慣例之間的不兼容性。
提供本概述以便以簡化的形式介紹以下在詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并非旨在標(biāo)識出要求保護(hù)的主題的關(guān)鍵特征或必要特征,亦非旨在用作輔助確定要求保護(hù)的主題的范圍。
附加特征和優(yōu)點將在以下描述中提出,且部分會從描述中顯而易見,或者可以通過實施本文的原理來獲悉。本發(fā)明的特征和優(yōu)點可以通過在所附權(quán)利要求書中特別指出的工具和組合來實現(xiàn)和獲得。本發(fā)明的特征從以下描述和所附權(quán)利要求書中將更完全顯而易見,或者可以通過如下文所述實施本發(fā)明而獲悉。
附圖簡述
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟技術(shù)許可有限責(zé)任公司,未經(jīng)微軟技術(shù)許可有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680057532.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 支持多芯片配置功能的仿真器
- 行程仿真器、具有該行程仿真器的主缸、以及使用該主缸的制動系統(tǒng)
- 一種聯(lián)合RTDS和RT?LAB的MMC仿真系統(tǒng)
- 一種電力信息物理融合系統(tǒng)實時仿真平臺及其方法
- 一種支持NVM掉電保護(hù)功能測試的仿真器
- 一種多仿真器協(xié)同的仿真方法、仿真主控平臺和仿真系統(tǒng)
- 一種基于計算機(jī)的煉鋼物流仿真系統(tǒng)
- 支持調(diào)試權(quán)限控制的CPU芯片仿真器
- 一種仿真器切換方法及系統(tǒng)
- 支持?jǐn)?shù)據(jù)安全傳輸?shù)腃PU芯片仿真器及數(shù)據(jù)安全傳輸方法





