專利名稱:用于控制處理器中的時序的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng),且更明確地說,涉及一種用于控制處理器中的時序的方法 和系統(tǒng)。
背景技術(shù):
中央處理單元(CPU)是計算機的解譯并實行軟件中所含有的指令的部分,其可具 有各種功能,例如控制硬件、執(zhí)行計算、與其它軟件通信。指令的時序執(zhí)行可變化,其 取決于許多各種條件(例如,狀態(tài)寄存器內(nèi)容、位的值、后面指令的大小、所存取的外 圍設(shè)備等)。
當時序必須恒定或可預測時,時序執(zhí)行的變化可以是 一 個嚴重的問題。舉例來說, 在軟件通信例行程序期間,處現(xiàn)器必須與CPU冋步。時序變化還可導致例如敏感信息
的泄漏等問題。
一般來說,己知的解決方案實施起來并不可靠且耗時。舉例來說,以匯編語言開發(fā) 且手動地平衡軟件例行程序,以確保所冇可能的路徑在相等數(shù)目的時鐘循環(huán)中執(zhí)行。這 是易出錯且耗時的過程,其還引起高維護成本和風險。
因此,需要 一種用于控制CPU中的時序的改進的方法和系統(tǒng)。本發(fā)明解決這一需要。
發(fā)明內(nèi)容
本發(fā)明揭示一種用于控制處理器中的時序的方法和系統(tǒng)。在本發(fā)明的一個方而,所 述方法包括獲取多個指令,其中每個指令在第一條件期間具有第一默認執(zhí)行時間,且其
中每個指令在第二條件期間具有第二默認執(zhí)行時間在第一模式期間,在同一執(zhí)行時間 內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件;且在第二模式期間, 在隨機執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件。
根據(jù)本文所揭示的所述系統(tǒng)和方法,所述方法通過控制指令的所述執(zhí)行時間的變化 和/或使指令的所述執(zhí)行時間的變化減到最小來有效地修改處理器的吋序。
圖1是常規(guī)計算機系統(tǒng)的框圖。
6圖2是根據(jù)本發(fā)明的處理器的框圖,所述處理器可用于實施圖1的處理器。
圖3是說明根據(jù)本發(fā)明的控制寄存器的圖,所述控制寄存器可用于實施圖2的一個
或一個以上控制寄存器。
圖4是展示根據(jù)本發(fā)明的用于控制處理器中的時序的方法的流程圖。 圖5是說明具有假條件的跳過指令(即,不跳過)的時序圖,且其中根據(jù)本發(fā)明而
啟用時序補償。
圖6是說明具有真條件的跳過指令(即,跳過)的時序圖,且其中根據(jù)本發(fā)明而啟 用時序補償。
圖7是說明根據(jù)本發(fā)明另一實施例的具有受控補償?shù)闹噶畹臅r序圖。 圖8是說明根據(jù)本發(fā)明另一實施例的跳過指令上的CPU環(huán)的時序圖。
具體實施例方式
本發(fā)明涉及計算機系統(tǒng),且史明確地說,涉及 一種用丁-控制處理器中的時序的方法 和系統(tǒng)。呈現(xiàn)以下描述內(nèi)容以使得所屬領(lǐng)域的技術(shù)人員能夠制作和使用本發(fā)明,且在專 利巾請案及其要求的情形下提供以下描述內(nèi)容。所屬領(lǐng)域的技術(shù)人員將容易明白對優(yōu)選 實施例的各種修改以及木文所描述的 一 般原理和特征。因此,不希望木發(fā)明限于所展示 的實施例,而是賦予木發(fā)明與本文所描述的原理和特征一致的最廣范圍。
本發(fā)明揭示根據(jù)木發(fā)明的用于控制處理器中的時序的方法和系統(tǒng)。所述方法包含控 制處理器執(zhí)行特定類型的指令的執(zhí)行時間,以便改進處理器的整體安全性。根據(jù)本文所 揭示的系統(tǒng)和方法,所述方法通過控制指令的執(zhí)行時間的變化和/或使指令的執(zhí)行時間的 變化減到最小來有效地修改處理器的時序。在時序補償模式期間,在同 一 執(zhí)行吋間內(nèi)執(zhí) 行指令,不管條件是真還是假。在受控補償模式期間,在隨機執(zhí)行時間內(nèi)執(zhí)行指令,不 管條件是真還是假。為了更明確地描述本發(fā)明的特征,現(xiàn)結(jié)合附圖參考以下描述內(nèi)容。
盡管在CPU、分支指令和跳過指令的上下文中描述本文所揭示的本發(fā)明,但本發(fā)明
可應用于其它類型的處理器和其它類型的指令,且仍保留在本發(fā)明的精神和范圍內(nèi)。
圖1是常規(guī)計算機系統(tǒng)的框圖。計算機系統(tǒng)100包含處理器102、總線104、系統(tǒng) 存儲器106 (例如,硬盤驅(qū)動器、隨機存取存儲器(RAM)、 1/0裝置108 (例如,鍵盤、 顯示器、鼠標等)以及用于連接到網(wǎng)絡(luò)(例如局域網(wǎng)(LAN)或因特網(wǎng))的網(wǎng)絡(luò)接口 110。 圖2是根據(jù)本發(fā)明的處理器200的框圖,處理器200可用于實施圖1的處理器102。處 理器200包含控制機構(gòu)201,其具有一個或一個以上控制寄存器202。圖3是說明根據(jù) 本發(fā)明的控制寄存器300的圖,控制寄存器300可用于實施圖2的一個或一個以上控制寄存器202??刂萍拇嫫?00包含兩個位302和304。下文進一步詳細描述控制寄存器 300的操作。
根據(jù)本發(fā)明,時序補償是指提供指令的恒定執(zhí)行時序的過程。在一個實施方案中, 將時序補償應用于分支和跳過指令,但可應用于其它類型的指令。表l展示各種類型的 分支指令320和跳過指令322的列表。分支和跳過指令的時序執(zhí)行通常變化,因為執(zhí)行 給定指令所需的循環(huán)數(shù)目變化。有條件分支或有條件跳過指令在不同數(shù)目的循環(huán)中執(zhí) 行,其取決于所述條件是真還是假。舉例來說,如表1的列330中所示,分支指令的默 認時序執(zhí)行可在從一個循環(huán)到兩個循環(huán)的范圍內(nèi),且跳過指令的默認時序執(zhí)行可在從一 個循環(huán)到二個循環(huán)的范圍內(nèi)。根據(jù)本發(fā)明,控制機構(gòu)201改變其執(zhí)行特定指令所花費的 循環(huán)數(shù)目。在時序補償期間,執(zhí)行時間相同,不管條件如何。在受控補償期間,執(zhí)行時 間是隨機的,不管條件如何,這防止了信息的泄漏??刂茩C構(gòu)201是補償或控制(隨機 化)冇條件指令執(zhí)行所花費的循環(huán)數(shù)目的數(shù)字區(qū)塊。
均衡或隨機化可由軟件自動執(zhí)行,這比手動操作有利,因為手動操作易出錯、耗時、 具有高維護成本且不與高級語言(例如C)兼容??刂茩C構(gòu)20通過將不同類型的指令 的執(zhí)行吋間的變化以及功率特征的變化減到最小來改進執(zhí)行時序,尤其是對吋間敏感的 應州屮的執(zhí)行時序。舉例來說,如表1的列332'l'所示,將分支指令的經(jīng)平衡的時序執(zhí) 行(即,經(jīng)時序補償)設(shè)置為三個循環(huán),且將跳過指令的經(jīng)平衡的吋序執(zhí)行設(shè)置為四個 循環(huán)。用于分支和跳過指令的循環(huán)的具體數(shù)目將視特定實施方案而定。
再次參看圖3,在一個實施例中,當位302 (也標記為"位0-TCE"(時序補償啟用)) 由軟件設(shè)置時,啟用時序補償特征,且所有分支和跳過指令時序執(zhí)行對于分支指令將花 費三個循環(huán),且對于跳過指令將花費四個循環(huán)。當然,循環(huán)的具體數(shù)目將視特定實施方 案而定。當位302被清除時,所有分支和跳過指令將遵循默認時序執(zhí)行。
在一個實施例中,當位304 (還標記為"位l-CCE"(受控補償啟用))由軟件設(shè)置 且TCE位也被設(shè)置時,啟用受控補償機制。當此位被清除時,停用受控補償機制。在優(yōu) 選實施例中,當TCE被清除時,任何設(shè)置此位的嘗試都不起作用。在一個實施例中,位 302是"主開關(guān)",而位304是"選項選擇器"。位302用于接通補償,且位304選擇是 選擇平衡還是隨機化。在替代實施例中,可提供兩個選項中的一者。舉例來說,單個位 可接通/斷開一種類型的補償(例如,時序補償)。
圖4是展示根據(jù)本發(fā)明的用于控制處理器中的時序的方法的流程圖。參看圖2和圖 4,當處理器200獲取多個指令時,過程開始步驟402。每個指令在第一條件(例如,真)期間具有第一默認執(zhí)行時間,且每個指令在第二條件(例如,假)期間具有第二默認執(zhí) 行時間。在一個實施例中,所述指令可包含不同類型的指令(例如,分支指令和跳過指 令)。接下來,在步驟404中,在第一模式(例如,時序補償)期間,處理器200在同 一執(zhí)行時間內(nèi)執(zhí)行多個指令,不管條件是第一條件還是第二條件。或者,在步驟406中, 在第二模式(即,受控補償)期間,處理器200在隨機執(zhí)行時間內(nèi)執(zhí)行多個指令,不管 條件是第一條件還是第二條件。
在時序補償期間,處理器200在第一預定執(zhí)行時間內(nèi)執(zhí)行第一類型的多個指令中的 至少一個指令,其中第一預定執(zhí)行時間大于第一默認執(zhí)行時間。處理器200在第二預定 執(zhí)行時間內(nèi)執(zhí)行第二類型的多個指令中的至少一個指令,其中第二預定執(zhí)行時間大于第 二默認執(zhí)行時間。在一個實施例中,第一和第二預定執(zhí)行時間是不同的。在另一實施例 中,第一和第二預定執(zhí)行時間是相同的。第一和第二執(zhí)行時間是基于執(zhí)行給定類型的指 令所需的循環(huán)的數(shù)目。在此特定實施例中,第一預定執(zhí)行時間大于第一默認執(zhí)行時間, 且第二預定執(zhí)行時間大于第二默認執(zhí)行時間。這使得給定類型的指令的指令執(zhí)行時間能 夠相同。特定類型的指令將視特定實施方案而定。舉例來說,第一和第二類型的指令可 分別為有條件分支和跳過指令。或者,第'和第二類型的指令可分別為跳過和有條件分 支指令。
圖5是說明具有假條件的跳過指令(即,不跳過)的時序圖,且其中根據(jù)本發(fā)明而 啟用時序補償。如圖5中所示,執(zhí)行此特定類型的跳過指令所需的循環(huán)的默認數(shù)目為一 個循環(huán)。在處理器200 (圖2)獲取跳過指令之后'控制機構(gòu)201添加三個循環(huán),以便 使執(zhí)行跳過指令所需的循環(huán)數(shù)目從一個循環(huán)增加到四個循環(huán)。所添加的循環(huán)的具體數(shù)目 將視特定實施方案而定。
圖6是說明具有真條件的跳過指令(即,跳過)的時序圖,且其中根據(jù)本發(fā)明而啟 用時序補償。如圖5中所示,執(zhí)行此特定類型的跳過指令所需的循環(huán)的默認數(shù)目為兩個 循環(huán)。在處理器獲取跳過指令之后,控制機構(gòu)201添加兩個循環(huán)以使執(zhí)行跳過指令所需 的循環(huán)數(shù)目從兩個循環(huán)增加到四個循環(huán)。圖5和圖6還可應用于分支指令或任何其它類 型的指令。關(guān)鍵點是控制機構(gòu)201在必要的情況下添加循環(huán),使得執(zhí)行給定類型的指令 所需的循環(huán)的數(shù)目受到控制,或消除執(zhí)行時序的變化。
根據(jù)本發(fā)明,受控補償是指提供指令的隨機執(zhí)行時序的過程。圖7是說明根據(jù)本發(fā) 明另一實施例的具有受控補償?shù)闹噶畹臅r序圖。在優(yōu)選實施例中,3位可變值控制所述 過程執(zhí)行給定類型的指令(例如跳過指令)所花費的循環(huán)的數(shù)目。因此,可將0到7個循環(huán)或更多循環(huán)添加到指令長度,以控制執(zhí)行時序。處理器確定循環(huán)的數(shù)目,其數(shù)目是 隨機的。舉例來說,分支指令可在3個循環(huán)+ "3位數(shù)目"(其從3個循環(huán)隨機改變到10 個循環(huán))中執(zhí)行,且跳過指令可在4個循環(huán)+"3位數(shù)目"(其從4個循環(huán)改變到11個循 環(huán))中執(zhí)行。
圖8是說明根據(jù)本發(fā)明另一實施例的跳過指令上的CPU循環(huán)的時序圖。在一個實 施方案中,CPU循環(huán)使得執(zhí)行跳過指令所花費的循環(huán)的數(shù)目是隨機的。
根據(jù)本文所揭示的系統(tǒng)和方法,木發(fā)明提供大量益處。舉例來說,其自動平衡和控 制時序變化(例如,由有條件分支引起),使處理器功能變成高級語言友好的。木發(fā)明 的實施例還控制執(zhí)行吋序,以避免信息泄漏,以簡化安全性特征的實施。本發(fā)明的實施 例還使得能夠減慢處理器指令執(zhí)行以改進功率消耗、存取較慢外圍設(shè)備、擴展電磁頻譜 等。本發(fā)明的實施例還平衡對不同存儲器(例如,隨機存取存儲器(RAM)、非易失性 存儲器)的存取時間。
已經(jīng)揭示了根據(jù)本發(fā)明的用于控制處理器中的時序的方法和系統(tǒng)。所述方法包含控 制CPU執(zhí)行特定類型的指令的執(zhí)行時間,以便改進CPU的整體安全性。根據(jù)本文所揭 示的系統(tǒng)和方法,所述方法通過控制指令的執(zhí)行吋間的變化和/或使控制指令的執(zhí)行時間 的變化減到最小來有效地修改處理器的吋序。
已經(jīng)根據(jù)所展示的實施例而描述了本發(fā)明。所屬領(lǐng)域的技術(shù)人員將容易認識到可存 在實施例的變化形式,且任何變化都將在本發(fā)明的精神和范圍內(nèi)。舉例來說,可使ffl硬 件、軟件、含有程序指令的計算機可讀媒體或其組合來實施本發(fā)明。根據(jù)本發(fā)明而編寫 的軟件將存儲在某一形式的計算機可讀媒體(例如存儲器或CD-ROM)中,或?qū)⒔?jīng)由網(wǎng) 絡(luò)傳輸,且將由處理器執(zhí)行。因此,希望計算機可讀媒體包含可(例如)經(jīng)由網(wǎng)絡(luò)傳輸 的計算機可讀信號。因此,所屬領(lǐng)域的技術(shù)人員可在不脫離所附權(quán)利要求書的精神和范 圍的情況下作出許多修改。
權(quán)利要求
1. 一種用于控制處理器中的時序的方法,所述方法包括獲取多個指令,其中每個指令在第一條件期間具有第一默認執(zhí)行時間,且其中每個指令在第二條件期間具有第二默認執(zhí)行時間;在第一模式期間,在同一執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件;以及在第二模式期間,在隨機執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件。
2.根據(jù)權(quán)利要求l所述的方法,其中所述第一條件是真,且所述第二條件是假。
3.根據(jù)權(quán)利要求1所述的方法,其中所述第一條件是假,且所述第二條件是真。 根據(jù)權(quán)利要求1所述的方法,其進一歩包括在第 一 預定執(zhí)行時間內(nèi)執(zhí)行第 一 類型的所述多個指令中的至少 一 個指令,其中所 述第 一 預定執(zhí)行時間人于第 一 默認執(zhí)行時間;以及在第二預定執(zhí)行時間內(nèi)執(zhí)行第二類型的所述多個指令中的至少一個指令,其中所 述第二預定執(zhí)行時間大于第二默認執(zhí)行時間。
4.根據(jù)權(quán)利耍求4所述的方法,其中所述第一和第二預定執(zhí)行時間是相同的。
5.根據(jù)權(quán)利要求4所述的方法,其中所述第一和第二預定執(zhí)行時間是不同的。
6.根據(jù)權(quán)利耍求4所述的方法,其中所述第一類型的指令是分支指令,且所述第二類型的指令是跳過指令。
7.根據(jù)權(quán)利要求4所述的方法,其中所述第一類型的指令是跳過指令,且所述第二類 型的指令是有條件分支指令。
8.根據(jù)權(quán)利要求4所述的方法,其中所述第一預定執(zhí)行時間是基于執(zhí)行所述至少一個 指令所需的循環(huán)的數(shù)目。
9.根據(jù)權(quán)利要求9所述的方法,其中所述執(zhí)行包括通過增加執(zhí)行所述至少一個指令所 需的循環(huán)的所述數(shù)目來將用于執(zhí)行所述第 一 類型的指令中的指令的第 一 執(zhí)行時間 調(diào)節(jié)為所述第 一 預定執(zhí)行時間。
10.根據(jù)權(quán)利要求4所述的方法,其中所述第一預定執(zhí)行時間是基于執(zhí)行所述至少一個 指令所需的循環(huán)的數(shù)目。
11.根據(jù)權(quán)利要求11所述的方法,其屮所述執(zhí)行包括通過增加執(zhí)行所述至少一個指令 所需的循環(huán)的所述數(shù)目來將用于執(zhí)行所述第 一 類型的指令中的指令的第 一 執(zhí)行時間調(diào)節(jié)為所述第 一 預定執(zhí)行時間。
12.
13. 根據(jù)權(quán)利要求4所述的方法,其中所述第一預定時間是基于可變值。
14. 根據(jù)權(quán)利要求13所述的方法,其中所述可變值是隨機的。
15. 根據(jù)權(quán)利要求13所述的方法,其中所述可變值控制所述處理器執(zhí)行給定類型的指 令所花費的循環(huán)的所述數(shù)目。
16. 根據(jù)權(quán)利要求15所述的方法,其中所述可變值使所述處理器執(zhí)行給定類型的指令 所花費的循環(huán)的所述數(shù)目增加至少一個循環(huán)。
17. —種計算機可讀媒體,其含有用于控制處理器中的時序的程序指令,所述程序指令 在由計算機系統(tǒng)執(zhí)行時致使所述計算機系統(tǒng)執(zhí)行以下操作的方法獲取多個指令,其中每個指令在第一條件期間具有第一默認執(zhí)行時間,且其中每個指令在第條件期間具有第:默認執(zhí)行時間;在第一模式期間,在同一執(zhí)行時間內(nèi)執(zhí)行所述多個指令.不管條件是所述第一條 件還是所述第二條件以及在第二模式期間,在隨機執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條 件還是所述第二條件。
18. 根據(jù)權(quán)利要求17所述的計算機可讀媒體,其'l'所述第一條件是真,且所述第二條 件是假。
19. 根據(jù)權(quán)利要求17所述的計算機可讀媒體,其中所述第條件是假,且所述第二條 件是真。
20. 根據(jù)權(quán)利要求17所述的計算機可讀媒體,其進一步包括用于以下操作的程序指令在第一預定執(zhí)行時間內(nèi)執(zhí)行第一類型的所述多個指令中的至少一個指令,其中所 述第 一 預定執(zhí)行時間大于第 一 默認執(zhí)行時間;以及在第二預定執(zhí)行時間內(nèi)執(zhí)行第二類型的所述多個指令中的至少一個指令,其中所 述第二預定執(zhí)行時間大于第二默認執(zhí)行時間。
21. 根據(jù)權(quán)利要求20所述的計算機可讀媒體,其中所述第一和第二預定執(zhí)行時間是相 同的。
22. 根據(jù)權(quán)利要求20所述的計算機可讀媒體,其中所述第一和第二預定執(zhí)行時間是不 同的。
23. 根據(jù)權(quán)利要求20所述的計算機可讀媒體,其中所述第一類型的指令是分支指令, 且所述第二類型的指令是跳過指令。
24. 根據(jù)權(quán)利耍求20所述的計算機可讀媒體,其中所述第一類型的指令是跳過指令,且所述第二類型的指令是有條件分支指令。
25. 根據(jù)權(quán)利要求20所述的計算機可讀媒體,其中所述第一預定執(zhí)行時間是基于執(zhí)行 所述至少一個指令所需的循環(huán)的數(shù)目。
26. 根據(jù)權(quán)利要求25所述的計算機可讀媒體,其中所述執(zhí)行包括用于通過增加執(zhí)行所 述至少一個指令所需的循環(huán)的所述數(shù)目來將用于執(zhí)行所述第一類型的指令中的指 令的第一執(zhí)行時間調(diào)節(jié)為所述第一預定執(zhí)行時間的程序指令。
27. 根據(jù)權(quán)利要求20所述的計算機可讀媒體,其中所述第一預定執(zhí)行時間是基于執(zhí)行 所述至少一個指令所需的循環(huán)的數(shù)目。
28. 根據(jù)權(quán)利要求27所述的計算機可讀媒體,其中所述執(zhí)行包括用于通過增加執(zhí)行所 述至少一個指令所需的循環(huán)的所述數(shù)目來將用于執(zhí)行所述第一類型的指令中的指 令的第 一 執(zhí)行時間調(diào)節(jié)為所述第 一 預定執(zhí)行時間的程序指令。
29. 根據(jù)權(quán)利要求20所述的計算機可讀媒體,其中所述第-一預定時間是基于可變值。
30. 根據(jù)權(quán)利要求29所述的計算機可讀媒體,其中所述可變值是隨機的。
31. 根據(jù)權(quán)利要求29所述的計算機可讀媒體,其中所述可變值控制所述處理器執(zhí)行給 定類型的指令所花費的循環(huán)的所述數(shù)目。
32. 根據(jù)權(quán)利要求31所述的計算機可讀媒體,其屮所述可變值使所述處理器執(zhí)行給定 類型的指令所花費的循環(huán)的所述數(shù)目增加至少 個循環(huán)。
33. —種用于控制處理器中的時序的系統(tǒng),所述系統(tǒng)包括處理器,其用于獲取多個指令,其中每個指令在第一條件期間具有第一默認執(zhí)行 時問,且其中每個指令在第二條件期問具有第二默認執(zhí)行時間;以及至少一個寄存器,其用于啟用時序補償,其中在第一模式期問,所述處理器在問 一執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件'且 其中在第二模式期間,所述處理器在隨機執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件。
34. 根據(jù)權(quán)利要求33所述的系統(tǒng),其中在所述第一模式期間,所述處理器在第一預定 執(zhí)行時間內(nèi)執(zhí)行第一類型的所述多個指令中的至少一個指令,其中所述第一預定執(zhí) 行時間大于第 一 默認執(zhí)行時間,且其中所述處理器在第二預定執(zhí)行時間內(nèi)執(zhí)行第二 類型的所述多個指令中的至少 一 個指令,其中所述第二預定執(zhí)行時間大于第二默認 執(zhí)行時間。
35. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述第一和第二預定執(zhí)行時間是相同的。
36. 根據(jù)權(quán)利耍求34所述的系統(tǒng),其中所述第一和第二預定執(zhí)行時間是不同的。
37. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述第一類型的指令是分支指令,且所述第二 類型的指令是跳過指令。
38. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述第一類型的指令是跳過指令,且所述第二 類型的指令是有條件分支指令。
39. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述第一預定執(zhí)行時間是基于執(zhí)行所述至少一 個指令所需的循環(huán)的數(shù)目。
40. 根據(jù)權(quán)利要求39所述的系統(tǒng),其中所述處理器通過增加執(zhí)行所述至少一個指令所 需的循環(huán)的所述數(shù)目,來將用于執(zhí)行所述第一類型的指令中的指令的第一執(zhí)行時間 調(diào)節(jié)為所述第 一 預"執(zhí)行時間。
41. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述第一預定執(zhí)行時間是基于執(zhí)行所述至少一 個指令所需的循環(huán)的數(shù)目。
42. 根據(jù)權(quán)利要求41所述的系統(tǒng),其中所述處理器通過增加執(zhí)行所述至少一個指令所 需的循環(huán)的所述數(shù)目,來將用于執(zhí)行所述第 一 類型的指令中的指令的第 一 執(zhí)行時間 調(diào)節(jié)為所述第 一 預定執(zhí)行時間。
43. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述第一預定時間是基于可變值。
44. 根據(jù)權(quán)利要求43所述的系統(tǒng),其中所述可變值是隨機的。
45. 根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述可變值控制所述處理器執(zhí)行給定類型的指 令所花費的循環(huán)的所述數(shù)目。
46. 根據(jù)權(quán)利要求45所述的系統(tǒng),其中所述可變值使所述處理器執(zhí)行給定類型的指令 所花費的循環(huán)的所述數(shù)目增加至少一個循環(huán)。
全文摘要
一種用于控制處理器中的時序的方法和系統(tǒng)。在本發(fā)明的一個方面中,所述方法包括獲取多個指令,其中每個指令在第一條件期間具有第一默認執(zhí)行時間,且其中每個指令在第二條件期間具有第二默認執(zhí)行時間;在第一模式期間,在同一執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件;且在第二模式期間,在隨機執(zhí)行時間內(nèi)執(zhí)行所述多個指令,不管條件是所述第一條件還是所述第二條件。根據(jù)本文所揭示的所述系統(tǒng)和方法,所述方法通過控制指令的所述執(zhí)行時間的變化和/或使指令的所述執(zhí)行時間的變化減到最小來有效地修改處理器的所述時序。
文檔編號G06F9/30GK101432691SQ200680054441
公開日2009年5月13日 申請日期2006年5月26日 優(yōu)先權(quán)日2006年5月2日
發(fā)明者埃里克·勒科克恩, 馬希德·卡布 申請人:愛特梅爾公司