[發明專利]一種低功耗程序指令編譯方法及系統有效
| 申請號: | 201711051040.9 | 申請日: | 2017-10-31 |
| 公開(公告)號: | CN109725904B | 公開(公告)日: | 2021-10-22 |
| 發明(設計)人: | 吳玉平;陳嵐;孫旭 | 申請(專利權)人: | 中國科學院微電子研究所 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100029 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 功耗 程序 指令 編譯 方法 系統 | ||
本發明提出一種程序指令編譯方法,包括:獲取程序指令序列;將所述程序指令序列劃分為多個程序指令序列片段;分別編譯每個程序指令序列片段,得到所述每個程序指令序列片段對應的控制代碼;分別根據每個控制代碼編譯生成寫控制寄存器指令,得到所述每個程序指令序列片段對應的寫控制寄存器指令序列;將所述每個程序指令序列片段,以及所述每個程序指令序列片段對應的寫控制寄存器指令序列進行組合得到新的程序指令序列。上述程序指令編譯方法編譯的指令序列,適用于利用動態可重構的低功耗的指令譯碼器進行譯碼。對上述編譯處理后的程序指令序列進行譯碼時,可以使重構的子譯碼器的譯碼功能更加符合實際需求,能夠降低譯碼器功耗。
技術領域
本發明涉及計算機程序編譯技術領域,尤其涉及一種低功耗程序指令編譯方法及系統。
背景技術
處理器是片上系統的重要組成部分,處理器執行每一指令任務需要經過多個階段,即取指、譯碼、執行、寫存儲器、寫寄存器等階段,無論是非流水線式還是流水線式的指令處理方式,其中的指令譯碼器電路在處理器處理每一指令時均處于上電工作狀態,在現有技術下為了降低指令譯碼器的功耗,多采用指令耦合分組技術將指令分組以實現分級分段對指令進行譯碼,其核心是基于指令的執行頻度的差異將指令譯碼器分解為若干耦合的子譯碼器。
基于指令的執行頻度的差異將指令譯碼器分解為若干耦合的子譯碼器是針對處理器運行的常見軟件程序中各指令出現頻度不同而進行的技術改進。該譯碼器在處理器中是固化的(hard-code)電路,是對整個程序起作用,基于統計信息降低譯碼部分的能耗,其對具體軟件程序或其中的代碼片斷的譯碼能耗不一定是最優的。因此,有待于研究更加靈活的動態可重構的低功耗的指令譯碼器,通過動態重構使得譯碼器對指令序列片段進行譯碼的能耗更低。
現有的程序編譯技術都是針對固化了譯碼器電路的處理器進行程序編譯。對于內置動態可重構的低功耗的指令譯碼器的處理器,尚沒有針對該處理器的程序指令編譯方法能夠使得上述動態可重構的低功耗的指令譯碼器發揮其動態重構功能,從而降低譯碼器程序指令片段的譯碼能耗。
發明內容
基于上述現有技術的缺陷和不足,本發明提出一種低功耗程序指令編譯方法及系統,經過該方法編譯的指令序列,適用于利用動態可重構的低功耗的指令譯碼器進行譯碼。
為了達到上述目的,本發明提出如下技術方案:
一種低功耗程序指令編譯方法,包括:
獲取程序指令序列;
將所述程序指令序列劃分為多個程序指令序列片段;
分別編譯每個程序指令序列片段,得到所述每個程序指令序列片段對應的控制代碼;其中,所述控制代碼用于重構動態可重構的指令譯碼器對程序指令序列片段進行譯碼處理;
分別根據每個控制代碼編譯生成寫控制寄存器指令,得到所述每個程序指令序列片段對應的寫控制寄存器指令序列;
將所述每個程序指令序列片段,以及所述每個程序指令序列片段對應的寫控制寄存器指令序列進行組合得到新的程序指令序列;其中,在所述新的程序指令序列中,程序指令序列片段置于該程序指令序列片段對應的寫控制寄存器指令序列之后。
優選地,在獲取所述程序指令序列之后,在將所述程序指令序列劃分為多個程序指令序列片段之前,該方法還包括:
對所述程序指令序列進行指令順序調整處理。
優選地,在分別編譯每個程序指令序列片段,得到所述每個程序指令序列片段對應的控制代碼之后,該方法還包括:
優化對所述程序指令序列的劃分結果,使劃分得到的多個程序指令序列片段的譯碼能耗之和最低。
優選地,所述優化對所述程序指令序列的劃分結果,使劃分得到的多個程序指令序列片段的譯碼能耗之和最低,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院微電子研究所,未經中國科學院微電子研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711051040.9/2.html,轉載請聲明來源鉆瓜專利網。





