[發(fā)明專(zhuān)利]鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201910559287.4 | 申請(qǐng)日: | 2019-06-26 |
| 公開(kāi)(公告)號(hào): | CN110362502B | 公開(kāi)(公告)日: | 2021-05-04 |
| 發(fā)明(設(shè)計(jì))人: | 陳李維;許奇臻;李錦峰;史崗;孟丹 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)科學(xué)院信息工程研究所 |
| 主分類(lèi)號(hào): | G06F12/0804 | 分類(lèi)號(hào): | G06F12/0804;G06F12/0891;G06F12/0893 |
| 代理公司: | 北京路浩知識(shí)產(chǎn)權(quán)代理有限公司 11002 | 代理人: | 苗曉靜 |
| 地址: | 100093 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 鏈?zhǔn)?/a> 哈希棧 影子 緩存 優(yōu)化 方法 裝置 | ||
1.一種鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法,其特征在于,包括:
鏈?zhǔn)焦T谡{(diào)用函數(shù)并更新top寄存器值時(shí),將所述函數(shù)頭部哈希運(yùn)算的輸入項(xiàng)作為緩存項(xiàng)保存在影子緩存表中;
鏈?zhǔn)焦T诜祷睾瘮?shù)時(shí),查詢(xún)最近的緩存項(xiàng),若此時(shí)返回的函數(shù)的輸入項(xiàng)與影子緩存表中的緩存項(xiàng)相同,則不需要再進(jìn)行哈希運(yùn)算,通過(guò)影子緩存表中的緩存項(xiàng)來(lái)更新top寄存器值;
所述影子緩存表包括head指針、valid位、old_hash和ret_addr;
所述head指針用于指向當(dāng)前函數(shù)體對(duì)應(yīng)的緩存項(xiàng)的下一項(xiàng);
所述valid位用于表示當(dāng)前緩存項(xiàng)是否有效;
所述old_hash為進(jìn)入函數(shù)時(shí)的top寄存器值;
所述ret_addr為函數(shù)的返回地址。
2.根據(jù)權(quán)利要求1所述的鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法,其特征在于,將所述函數(shù)頭部哈希運(yùn)算的輸入項(xiàng)作為緩存項(xiàng)保存在影子緩存表中,具體包括:
將哈希運(yùn)算的輸入old_hash和輸入ret_addr作為緩存項(xiàng)分別保存到影子緩存表的old_hash和ret_addr中,并將對(duì)應(yīng)緩存項(xiàng)的valid位置為1,然后head指針+1,移動(dòng)到下一項(xiàng)緩存項(xiàng)。
3.根據(jù)權(quán)利要求2所述的鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法,其特征在于,若此時(shí)返回的函數(shù)的輸入項(xiàng)與影子緩存表中的緩存項(xiàng)相同,則不需要再進(jìn)行哈希運(yùn)算,具體包括:
函數(shù)尾部在校驗(yàn)從鏈?zhǔn)焦V凶x取出的返回地址和哈希值這兩個(gè)值時(shí),若判斷獲知此時(shí)影子緩存表中head-1指針項(xiàng)valid位為1,且這兩個(gè)值與最新一項(xiàng)valid位為1對(duì)應(yīng)的old_hash和ret_addr相等,則不需要進(jìn)行本次哈希計(jì)算;
當(dāng)哈希值的更新運(yùn)算還未結(jié)束時(shí),若校驗(yàn)運(yùn)算已進(jìn)入流水線,則不停頓流水線,終止正在進(jìn)行的哈希值更新運(yùn)算,通過(guò)影子緩存表對(duì)比校驗(yàn)。
4.根據(jù)權(quán)利要求3所述的鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法,其特征在于,通過(guò)影子緩存表中的緩存項(xiàng)來(lái)更新top寄存器值,具體包括:
通過(guò)old_hash來(lái)更新top寄存器值,head指針-1。
5.根據(jù)權(quán)利要求3所述的鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法,其特征在于,若判斷獲知head-1指針項(xiàng)valid位為1,則不進(jìn)行哈希計(jì)算,通過(guò)影子緩存表來(lái)校驗(yàn)從鏈?zhǔn)焦V凶x取出的返回地址和哈希值是否被篡改。
6.一種鏈?zhǔn)焦5挠白泳彺鎯?yōu)化裝置,其特征在于,包括:
第一模塊,用于鏈?zhǔn)焦T谡{(diào)用函數(shù)并更新top寄存器值時(shí),將所述函數(shù)頭部哈希運(yùn)算的輸入項(xiàng)作為緩存項(xiàng)保存在影子緩存表中;
第二模塊,用于鏈?zhǔn)焦T诜祷睾瘮?shù)時(shí),查詢(xún)最近的緩存項(xiàng),若此時(shí)返回的函數(shù)的輸入項(xiàng)與影子緩存表中的緩存項(xiàng)相同,則不需要再進(jìn)行哈希運(yùn)算,通過(guò)影子緩存表中的緩存項(xiàng)來(lái)更新top寄存器值;
所述影子緩存表包括head指針、valid位、old_hash和ret_addr;
所述head指針用于指向當(dāng)前函數(shù)體對(duì)應(yīng)的緩存項(xiàng)的下一項(xiàng);
所述valid位用于表示當(dāng)前緩存項(xiàng)是否有效;
所述old_hash為進(jìn)入函數(shù)時(shí)的top寄存器值;
所述ret_addr為函數(shù)的返回地址。
7.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至5任一項(xiàng)所述鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法的步驟。
8.一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至5任一項(xiàng)所述鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法的步驟。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)科學(xué)院信息工程研究所,未經(jīng)中國(guó)科學(xué)院信息工程研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910559287.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F12-00 在存儲(chǔ)器系統(tǒng)或體系結(jié)構(gòu)內(nèi)的存取、尋址或分配
G06F12-02 .尋址或地址分配;地址的重新分配
G06F12-14 .阻止存儲(chǔ)器越權(quán)使用的保護(hù)
G06F12-16 .阻止存儲(chǔ)物丟失的保護(hù)
G06F12-04 ..字長(zhǎng)可變的字或字的一部分的尋址
G06F12-06 ..物理存儲(chǔ)塊定位的尋址,例如,基地址尋址、模塊尋址、專(zhuān)用存儲(chǔ)區(qū)尋址
- 一種高效大規(guī)模系統(tǒng)的LTL模型檢測(cè)去內(nèi)存抖動(dòng)的方法
- 一種哈希表數(shù)據(jù)沖突處理方法及裝置
- 多鏈?zhǔn)焦5挠布_(kāi)銷(xiāo)優(yōu)化方法及系統(tǒng)
- 多鏈哈希棧結(jié)構(gòu)及檢測(cè)函數(shù)返回地址被篡改的方法
- 鏈?zhǔn)焦5挠白泳彺鎯?yōu)化方法和裝置
- 鏈?zhǔn)焦5膬?yōu)化方法及優(yōu)化系統(tǒng)
- 一種提高數(shù)據(jù)轉(zhuǎn)發(fā)性能的方法、電子設(shè)備及存儲(chǔ)介質(zhì)
- 崩潰調(diào)用棧聚合的方法、裝置、介質(zhì)和設(shè)備
- 一種基于自編碼器的無(wú)監(jiān)督哈希方法
- 一種鏈?zhǔn)焦_\(yùn)算方法及裝置
- 一種非玩家角色的控制方法
- 路由傳輸方法和裝置及系統(tǒng)
- 分散熱點(diǎn)的數(shù)據(jù)庫(kù)賬戶(hù)轉(zhuǎn)入、轉(zhuǎn)出的記賬方法及裝置
- 一種基于最小二乘法的影子定位技術(shù)
- 虛擬機(jī)內(nèi)核的保護(hù)方法及裝置
- 營(yíng)銷(xiāo)活動(dòng)仿真驗(yàn)證方法及裝置
- 一種交易所登錄方法及裝置
- 數(shù)據(jù)同步方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 影子棧管理方法及裝置、介質(zhì)、設(shè)備
- 設(shè)備影子的控制方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備
- 逐出高速緩存的行的電路布置、數(shù)據(jù)處理系統(tǒng)和方法
- 共享緩存管理系統(tǒng)及方法
- 分布式緩存系統(tǒng)、數(shù)據(jù)的緩存方法及緩存數(shù)據(jù)的查詢(xún)方法
- 一種緩存替換方法;裝置和系統(tǒng)
- 加速引擎及處理器
- 一種日志緩存方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 緩存控制方法、裝置和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 至少具有三個(gè)緩存級(jí)別的緩存層級(jí)的混合低級(jí)緩存包含策略
- 基于雙緩存區(qū)的緩存方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 緩存預(yù)載方法、裝置、處理器芯片及服務(wù)器





