[發(fā)明專(zhuān)利]一種程序編譯方法、設(shè)備以及計(jì)算機(jī)可讀介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202010148970.1 | 申請(qǐng)日: | 2020-03-05 |
| 公開(kāi)(公告)號(hào): | CN113360157A | 公開(kāi)(公告)日: | 2021-09-07 |
| 發(fā)明(設(shè)計(jì))人: | 楊岳鳴;崔世強(qiáng);臧傳奇 | 申請(qǐng)(專(zhuān)利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類(lèi)號(hào): | G06F8/41 | 分類(lèi)號(hào): | G06F8/41;G06F9/38 |
| 代理公司: | 上海百一領(lǐng)御專(zhuān)利代理事務(wù)所(普通合伙) 31243 | 代理人: | 陳貞健;邵棟 |
| 地址: | 英屬開(kāi)曼群島大開(kāi)*** | 國(guó)省代碼: | 暫無(wú)信息 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 程序 編譯 方法 設(shè)備 以及 計(jì)算機(jī) 可讀 介質(zhì) | ||
本申請(qǐng)?zhí)峁┝艘环N程序編譯方案,該方案可以獲取目標(biāo)程序的中間表示,并從所述中間表示中獲取可并發(fā)執(zhí)行的候選指令,而后根據(jù)硬件對(duì)應(yīng)的流水線描述信息,將多條可并發(fā)執(zhí)行的候選指令打包,獲得超長(zhǎng)指令集構(gòu)架的資源文件包格式指令文件。由于超長(zhǎng)指令集構(gòu)架的指令包被發(fā)送給硬件之后,硬件可以從指令包中解析出多條可并發(fā)執(zhí)行的指令,把這些指令并行發(fā)射至運(yùn)算單元中執(zhí)行處理,利用指令的并行運(yùn)行提升性能,使得目標(biāo)程序的運(yùn)行速度更快。
技術(shù)領(lǐng)域
本申請(qǐng)涉及信息技術(shù)領(lǐng)域,尤其涉及一種程序編譯方法、設(shè)備以及計(jì)算機(jī)可讀介質(zhì)。
背景技術(shù)
智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方以及可以在合約上面執(zhí)行承諾的協(xié)議。在實(shí)際場(chǎng)景中,智能合約可以依賴(lài)于區(qū)塊鏈,以區(qū)塊鏈上運(yùn)行的應(yīng)用程序的形式存在,從而實(shí)現(xiàn)自動(dòng)談判、履行和執(zhí)行協(xié)議條款等處理。
智能合約在運(yùn)行時(shí),需要構(gòu)建可信執(zhí)行環(huán)境(TEE,Trusted ExecutionEnvironment),以滿(mǎn)足智能合約的高安全性運(yùn)行要求。在硬件選擇上,由于FPGA(FieldProgrammable Gate Array,現(xiàn)場(chǎng)可編程邏輯陣列)可以開(kāi)放RTL源代碼,選擇FPGA可構(gòu)建透明可信任的硬件設(shè)備。智能合約的執(zhí)行過(guò)程可以采用Intel SGX方案或者是FPGA運(yùn)行wasm虛擬機(jī)的方案。其中,Intel SGX方案雖然可以提高智能合約的運(yùn)行效率但是由于是黑盒實(shí)現(xiàn),且根秘鑰、硬件設(shè)計(jì)均有由Intel掌控,無(wú)法對(duì)方案實(shí)現(xiàn)過(guò)程進(jìn)行有效掌控,難以對(duì)軟硬件進(jìn)行優(yōu)化。而FPGA運(yùn)行wasm虛擬機(jī)的方案,在實(shí)現(xiàn)過(guò)程中棧式虛擬機(jī)需要運(yùn)行出棧和入棧操作,并且按需執(zhí)行,因此無(wú)法實(shí)現(xiàn)指令級(jí)并行,運(yùn)行效率不高。
本申請(qǐng)的一個(gè)目的是提供一種程序編譯方法,用以解決現(xiàn)有方案中依賴(lài)于黑盒實(shí)現(xiàn)、運(yùn)行效率不高的問(wèn)題。
本申請(qǐng)實(shí)施例提供了一種程序編譯方法,其中,該方法包括:
獲取目標(biāo)程序的中間表示;
從所述中間表示中獲取可并發(fā)執(zhí)行的候選指令;
根據(jù)硬件對(duì)應(yīng)的流水線描述信息,將多條可并發(fā)執(zhí)行的候選指令打包,獲得超長(zhǎng)指令集構(gòu)架的資源文件包格式指令文件。
本申請(qǐng)實(shí)施例還提供了一種程序編譯方法,該方法包括:
獲取區(qū)塊鏈中智能合約的中間表示;
從所述中間表示中獲取可并發(fā)執(zhí)行的候選指令;
根據(jù)硬件對(duì)應(yīng)的流水線描述信息,將多條可并發(fā)執(zhí)行的候選指令打包,獲得超長(zhǎng)指令集構(gòu)架的資源文件包格式指令文件。
本申請(qǐng)實(shí)施例還提供了一種程序編譯設(shè)備,該設(shè)備包括:
前端模塊,用于獲取目標(biāo)程序的中間表示;
編譯處理模塊,用于從所述中間表示中獲取可并發(fā)執(zhí)行的候選指令;以及根據(jù)硬件對(duì)應(yīng)的流水線描述信息,將多條可并發(fā)執(zhí)行的候選指令打包,獲得超長(zhǎng)指令集構(gòu)架的資源文件包格式指令文件。
本申請(qǐng)實(shí)施例還提供了一種程序編譯設(shè)備,該方法包括:
前端模塊,用于獲取區(qū)塊鏈中智能合約的中間表示;
編譯處理模塊,用于從所述中間表示中獲取可并發(fā)執(zhí)行的候選指令;以及根據(jù)硬件對(duì)應(yīng)的流水線描述信息,將多條可并發(fā)執(zhí)行的候選指令打包,獲得超長(zhǎng)指令集構(gòu)架的資源文件包格式指令文件。
此外,本申請(qǐng)實(shí)施例還提供了一種計(jì)算設(shè)備,該設(shè)備包括用于存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器和用于執(zhí)行計(jì)算機(jī)程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)所述設(shè)備執(zhí)行所述程序編譯方法
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010148970.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:沉積氧化硅薄膜的方法
- 下一篇:一種定向天線及其家電設(shè)備
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開(kāi)發(fā)支持裝置、程序開(kāi)發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>
- 一種軟件開(kāi)發(fā)中的自動(dòng)化編譯方法及系統(tǒng)
- 一種動(dòng)態(tài)分配編譯機(jī)的系統(tǒng)及其方法
- 一種實(shí)現(xiàn)安卓編譯隔離的方法和系統(tǒng)
- 調(diào)度服務(wù)器、編譯服務(wù)器及分布式編譯方法
- 代碼編譯方法、編譯設(shè)備、存儲(chǔ)介質(zhì)及裝置
- 文件編譯方法、裝置、編譯設(shè)備及存儲(chǔ)介質(zhì)
- 一種編譯方法、裝置及系統(tǒng)
- 一種編譯方法和相關(guān)裝置
- 一種編譯方法、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種代碼編譯方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 傳感設(shè)備、檢索設(shè)備和中繼設(shè)備
- 簽名設(shè)備、檢驗(yàn)設(shè)備、驗(yàn)證設(shè)備、加密設(shè)備及解密設(shè)備
- 色彩調(diào)整設(shè)備、顯示設(shè)備、打印設(shè)備、圖像處理設(shè)備
- 驅(qū)動(dòng)設(shè)備、定影設(shè)備和成像設(shè)備
- 發(fā)送設(shè)備、中繼設(shè)備和接收設(shè)備
- 定點(diǎn)設(shè)備、接口設(shè)備和顯示設(shè)備
- 傳輸設(shè)備、DP源設(shè)備、接收設(shè)備以及DP接受設(shè)備
- 設(shè)備綁定方法、設(shè)備、終端設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備
- 設(shè)備、主設(shè)備及從設(shè)備
- 設(shè)備向設(shè)備轉(zhuǎn)發(fā)





