欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于控制處理器中的時(shí)序的方法和系統(tǒng)的制作方法

文檔序號(hào):6570667閱讀:141來(lái)源:國(guó)知局
專利名稱:用于控制處理器中的時(shí)序的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),且更明確地說(shuō),涉及一種用于控制處理器中的時(shí)序的方法 和系統(tǒng)。
背景技術(shù)
中央處理單元(CPU)是計(jì)算機(jī)的解譯并實(shí)行軟件中所含有的指令的部分,其可具 有各種功能,例如控制硬件、執(zhí)行計(jì)算、與其它軟件通信。指令的時(shí)序執(zhí)行可變化,其 取決于許多各種條件(例如,狀態(tài)寄存器內(nèi)容、位的值、后面指令的大小、所存取的外 圍設(shè)備等)。
當(dāng)時(shí)序必須恒定或可預(yù)測(cè)時(shí),時(shí)序執(zhí)行的變化可以是 一 個(gè)嚴(yán)重的問(wèn)題。舉例來(lái)說(shuō), 在軟件通信例行程序期間,處現(xiàn)器必須與CPU冋步。時(shí)序變化還可導(dǎo)致例如敏感信息
的泄漏等問(wèn)題。
一般來(lái)說(shuō),己知的解決方案實(shí)施起來(lái)并不可靠且耗時(shí)。舉例來(lái)說(shuō),以匯編語(yǔ)言開(kāi)發(fā) 且手動(dòng)地平衡軟件例行程序,以確保所冇可能的路徑在相等數(shù)目的時(shí)鐘循環(huán)中執(zhí)行。這 是易出錯(cuò)且耗時(shí)的過(guò)程,其還引起高維護(hù)成本和風(fēng)險(xiǎn)。
因此,需要 一種用于控制CPU中的時(shí)序的改進(jìn)的方法和系統(tǒng)。本發(fā)明解決這一需要。

發(fā)明內(nèi)容
本發(fā)明揭示一種用于控制處理器中的時(shí)序的方法和系統(tǒng)。在本發(fā)明的一個(gè)方而,所 述方法包括獲取多個(gè)指令,其中每個(gè)指令在第一條件期間具有第一默認(rèn)執(zhí)行時(shí)間,且其
中每個(gè)指令在第二條件期間具有第二默認(rèn)執(zhí)行時(shí)間在第一模式期間,在同一執(zhí)行時(shí)間 內(nèi)執(zhí)行所述多個(gè)指令,不管條件是所述第一條件還是所述第二條件;且在第二模式期間, 在隨機(jī)執(zhí)行時(shí)間內(nèi)執(zhí)行所述多個(gè)指令,不管條件是所述第一條件還是所述第二條件。
根據(jù)本文所揭示的所述系統(tǒng)和方法,所述方法通過(guò)控制指令的所述執(zhí)行時(shí)間的變化 和/或使指令的所述執(zhí)行時(shí)間的變化減到最小來(lái)有效地修改處理器的吋序。


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