[發明專利]程序模糊方法和用于執行模糊程序的處理設備無效
| 申請號: | 200980104710.6 | 申請日: | 2009-02-09 |
| 公開(公告)號: | CN101939749A | 公開(公告)日: | 2011-01-05 |
| 發明(設計)人: | 馬克·沃克萊爾 | 申請(專利權)人: | NXP股份有限公司 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 王波波 |
| 地址: | 荷蘭艾*** | 國省代碼: | 荷蘭;NL |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 模糊 方法 用于 執行 處理 設備 | ||
技術領域
本發明涉及一種包括可編程處理器的數據處理設備,以及一種轉換可編程處理器的指令程序的方法。
背景技術
代碼模糊是按照模糊其內容的方式轉換計算機的指令程序的技術的統稱??梢詰么a模糊以使其更加難以識別需要在未授權類型的計算機上執行程序的相關部分,或者無需保護策略。
美國專利No.6,779,114描述了一種代碼模糊技術,所述代碼模糊技術包含模糊程序的控制流。將分支指令按照以下方式添加到指令塊中,對所述塊的預期執行順序進行了模糊。美國專利No.5,559,884描述了一種程序基本塊的偽隨機重排序,以創建簽名,所述簽名用于識別通過其分布程序的源。
許多現代處理器使用指令緩存、預取和/或流水線操作技術,其依賴于程序流的本地性。具有模糊目標的分支指令的添加減小了本地性,這可以具有防止根據這種技術所期待的執行速度增益的效果。
發明內容
其中,本發明的目的是提供一種程序模糊,其中支持高速緩存使用效率。
提出了根據權利要求1所述的轉換可編程處理器的程序指令的方法。在所述方法中,將在原始地址空間內的原始指令地址的序列映射到目標地址的有限的范圍集合內,用于對重排序的指令進行尋址。連續的原始指令地址的目標地址之間的地址步長包括:所述范圍的第一范圍內的第一地址步長;這些第一地址步長之間的、所述范圍的至少第二范圍內的第二地址步長。限制所述范圍的個數促進了其原始指令地址彼此相鄰的指令的聯合緩存的可能性。通過步進至范圍內的地址步長之間的不同范圍,對所述范圍內的指令順序進行了模糊,使其難以重構程序。同樣,這使得可以使用在范圍內和或范圍之間相互相反符號(方向)的地址步長。
在實施例中,在每一個范圍內只使用一個指令長度的地址步長,例如,該大小的背向和正向步長。對于其他范圍的中間偏移的使用使得可以在避免所述范圍連續執行的指令的簡單序列的同時進行尋址。通過使用一個指令長度的地址步長,甚至更加促進了緩存。
提供根據權利要求18所述的處理設備用于執行已轉換的程序。該處理設備對與重排序地址一致的連續指令進行尋址。在其他實施例中,例如,通過在執行之前對本地存儲器中的指令序列重新排序的處理器可以執行所述程序。在另一個示例中,可以使用包括添加的跳轉指令的程序,以使得處理器能夠按照正常順序執行所述程序,或者可以將分離的信息提供用于使得處理器能夠執行這種行為。
附圖說明
使用以下附圖,根據典型實施例的描述,這些和其他目的和有利方面將變得清楚明白。
圖1示出了數據處理設備
圖1a-d示出了程序流控制單元
圖2示出了程序轉換的流程圖
圖3示出了地址映射
圖3a示出了空間填充路徑以形象化地址映射
圖4示出了程序流控制單元
圖5、5a示出了程序流控制單元
具體實施方式
基本數據處理設備
圖1示出了數據處理設備,例如集成電路。除了數據處理設備的程序流控制單元16之外,所述處理設備可以具有傳統的結構,包括存儲器10、指令發布電路12和多個功能單元14、16,所述功能單元包括程序流控制單元16。指令發布電路12具有分別與存儲器10的地址輸入和數據輸出相連的地址輸出以及指令輸入。指令發布電路12具有與功能單元14、16相連的指令輸出。程序流控制單元16具有與指令發布電路12相連的地址輸出。
程序流控制單元16配置用于確保程序的已重新排序以便模糊程序內容的指令序列的正確執行。在實施例中,使用最小化了指令緩存有效性的減小的重新排序。
圖1a示出了程序流控制單元16的第一實施例。在該實施例中,程序流控制單元16包括程序計數器160和分支執行電路162。程序計數器160具有與指令發布電路(未示出)相連的輸出。分支執行電路162具有與指令發布電路(未示出)相連的輸入,用于接收分支命令,以及與程序計數器160相連的輸出和輸入。在操作時,程序計數器對由時鐘CL表示的連續指令周期求和??蛇x地,當沒有按照恒定距離存儲指令時,通過從指令解碼器(未示出)接收到的指令長度代碼控制增量。計數值作為提供給指令發布電路的指令的地址。在其中分支執行電路162已經接收到分支命令并且已經確定必須接受所述分支命令的指令周期內,分支執行電路162根據所述分支重寫程序計數器值,典型地從所述程序計數器值中增加或減去分支距離。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于NXP股份有限公司,未經NXP股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200980104710.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種離子風機輸出平衡裝置
- 下一篇:高頻自然零電位軟開關變壓器





