[發(fā)明專利]一種C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201810762687.0 | 申請(qǐng)日: | 2018-07-11 |
| 公開(kāi)(公告)號(hào): | CN109062575B | 公開(kāi)(公告)日: | 2022-05-10 |
| 發(fā)明(設(shè)計(jì))人: | 陳元豐 | 申請(qǐng)(專利權(quán))人: | 合肥市芯海電子科技有限公司 |
| 主分類號(hào): | G06F8/41 | 分類號(hào): | G06F8/41 |
| 代理公司: | 深圳國(guó)新南方知識(shí)產(chǎn)權(quán)代理有限公司 44374 | 代理人: | 周雷 |
| 地址: | 230000 安徽省合肥市中國(guó)(安徽)自由貿(mào)易試*** | 國(guó)省代碼: | 安徽;34 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 編譯器 利用 距離 優(yōu)化 sram 選擇 方法 系統(tǒng) | ||
1.一種C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法,包括如下步驟:
S1,依次遍歷函數(shù)的所有基本塊,把任一基本塊中的指令保存到順序容器中;
S2,根據(jù)SRAM中當(dāng)前Bank值和訪問(wèn)Bank值,計(jì)算出海明距離值,訪問(wèn)Bank值是指將要訪問(wèn)SRAM變量所在的Bank值;
S3,當(dāng)存在訪問(wèn)SRAM變量時(shí),根據(jù)海明距離值來(lái)決定是否要插入頁(yè)選擇指令,以及插入何種頁(yè)選擇指令。
2.根據(jù)權(quán)利要求1所述的C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法,其特征在于,所述S1步驟中具體包括:
S11、初始化獲取基本塊指令;
S12、獲取函數(shù)的一個(gè)基本塊,獲取失敗則結(jié)束;
S13、從基本塊中取出一條指令,保存該指令到特定的容器中,如取出失敗則結(jié)束;
S14、從基本塊中取出下一條指令,保存該指令到特定的容器中,如取出失敗則獲取函數(shù)的下一個(gè)基本塊。
3.根據(jù)權(quán)利要求1所述的C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法,其特征在于,所述S2步驟中還包括:當(dāng)計(jì)算出的海明距離值為1時(shí),還要計(jì)算出這兩個(gè)Bank值之間的不同處于哪個(gè)bit位置上。
4.根據(jù)權(quán)利要求3所述的C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法,其特征在于,所述S2步驟中具體包括:
S21、初始化獲取海明距離值;
S22、設(shè)置當(dāng)前Bank值為Src,下一條訪問(wèn)SRAM指令的Bank值的值為Dest;
S23、獲取Src的第N位的值,獲取Dest第N位的值,N=0‐8為整數(shù);
S24、判定上述第N位的兩個(gè)值是否不同,是則海明距離值加1,否則獲取Src的第N+1位的值與獲取Dest第N+1位的值;
S25、保存位值不同的位置值。
5.根據(jù)權(quán)利要求1所述的C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法,其特征在于,所述S3步驟中具體包括:
S31、初始化SRAM頁(yè)選擇指令;
S32、設(shè)置當(dāng)前Bank值為0;
S33、獲取基本塊中的第一條指令,獲取失敗則結(jié)束;
S34、獲取指令類型,判定是否為訪問(wèn)SRAM指令,否則獲取基本塊的下一條指令;
S35、獲取該指令訪問(wèn)SRAM變量所在的訪問(wèn)Bank值;
S36、根據(jù)當(dāng)前Bank值和訪問(wèn)Bank值,計(jì)算出海明距離值;
S37、當(dāng)海明距離值為0時(shí),設(shè)置當(dāng)前當(dāng)前Bank值為訪問(wèn)Bank值;當(dāng)海明距離值為1時(shí),獲取當(dāng)前Bank值和訪問(wèn)Bank值不同的位置的位值并進(jìn)行替換,然后設(shè)置當(dāng)前Bank值為訪問(wèn)Bank值;當(dāng)海明距離值大于1時(shí),則直接插入banksel指令;
S38、獲取基本塊的下一條指令。
6.根據(jù)權(quán)利要求5所述的C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的方法,其特征在于,所述S36步驟中的獲取當(dāng)前Bank值和訪問(wèn)Bank值不同的位置的位值并進(jìn)行替換具體是指:
若當(dāng)前Bank值變?yōu)樵L問(wèn)Bank值,對(duì)應(yīng)的位置的值是從0變?yōu)?,則插入bsf指令,反之若是從1變?yōu)?則插入bcf指令。
7.一種C編譯器利用海明距離優(yōu)化SRAM頁(yè)選擇的系統(tǒng),包括有:
獲取基本塊指令集模塊,執(zhí)行依次遍歷函數(shù)的所有基本塊,把任一基本塊中的指令保存到順序容器中的指令;
獲取海明距離值模塊,執(zhí)行根據(jù)SRAM中當(dāng)前Bank值和訪問(wèn)Bank值,計(jì)算出海明距離值的指令,訪問(wèn)Bank值是指將要訪問(wèn)SRAM變量所在的Bank值;
SRAM頁(yè)選擇優(yōu)化執(zhí)行模塊,執(zhí)行當(dāng)存在訪問(wèn)SRAM變量時(shí),根據(jù)海明距離值來(lái)決定是否要插入頁(yè)選擇指令,以及插入何種頁(yè)選擇指令的指令。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于合肥市芯海電子科技有限公司,未經(jīng)合肥市芯海電子科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810762687.0/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 距離測(cè)定裝置、距離測(cè)定方法以及距離測(cè)定程序
- 光波距離測(cè)定方法、距離測(cè)定程序以及距離測(cè)定系統(tǒng)
- 光波距離測(cè)定方法、距離測(cè)定程序以及距離測(cè)定裝置
- 瞳孔距離、視線距離測(cè)量裝置
- 距離測(cè)定系統(tǒng)、距離測(cè)定方法
- 距離測(cè)定方法及距離測(cè)定系統(tǒng)
- 距離檢測(cè)裝置及其距離檢測(cè)方法
- 距離測(cè)量裝置、距離測(cè)量方法和距離測(cè)量系統(tǒng)
- 距離測(cè)量處理裝置、距離測(cè)量模塊和距離測(cè)量處理方法
- 距離測(cè)量裝置、距離測(cè)量系統(tǒng)、距離測(cè)量方法和程序





