儲(chǔ)器101的存取來降低處理器101的峰值功率消耗。因此,處理器101不像現(xiàn)有技術(shù)那樣在導(dǎo)致功率消耗中的大尖峰的大突發(fā)中對(duì)外部存儲(chǔ)器103進(jìn)行存取。根據(jù)一個(gè)實(shí)施例,對(duì)外部存儲(chǔ)器103的存取保持不可存取達(dá)預(yù)定時(shí)間量。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,對(duì)外部存儲(chǔ)器103的存取保持不可存取,直到處理器101執(zhí)行了預(yù)定數(shù)目的內(nèi)部存儲(chǔ)器存取為止。對(duì)內(nèi)部和外部存儲(chǔ)器的存取的預(yù)定數(shù)目可以是相同的數(shù)目,或者可以是不同的數(shù)目。具體的預(yù)定數(shù)目將取決于具體情況以及處理例程所需的總的存取的具體數(shù)目。一旦處理器101完成了預(yù)定數(shù)目的內(nèi)部存儲(chǔ)器存取,處理器101就可以再次回到對(duì)外部存儲(chǔ)器103的存取。
[0052]如前所述,在某些實(shí)施例中,用來分散對(duì)外部存儲(chǔ)器103的存取的預(yù)定數(shù)目被選擇成使得連續(xù)外部存儲(chǔ)器存取的數(shù)目被最小化。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,所述預(yù)定數(shù)目在整個(gè)處理例程中基本上是恒定的。因此,對(duì)于外部存儲(chǔ)器103的存取的分散在整個(gè)處理例程中基本上是均勻的。根據(jù)其他實(shí)施例,在處理器101執(zhí)行處理例程時(shí),所述預(yù)定數(shù)目可以發(fā)生改變,并且因此處理器101所執(zhí)行的存取數(shù)目將發(fā)生改變。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,根據(jù)外部對(duì)內(nèi)部存儲(chǔ)器存取的近似比例用內(nèi)部存儲(chǔ)器存取來中斷外部存儲(chǔ)器存取。因此,例如如果所需要的內(nèi)部存儲(chǔ)器存取對(duì)外部存儲(chǔ)器存取的比例是2:1,則對(duì)外部存儲(chǔ)器的存取將在每一次外部存取之后被中斷,并且在處理器101回到對(duì)外部存儲(chǔ)器進(jìn)行存取之前將保持中斷兩次內(nèi)部存儲(chǔ)器存取。
[0053]可以按照多種方式來實(shí)施所述分散存取的方法??梢酝ㄟ^手動(dòng)方式、通過軟件或者通過硬件實(shí)施所述分散。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在處理例程的編譯之后執(zhí)行所述分散。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,在處理例程的編譯之前執(zhí)行所述分散。根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過手動(dòng)分散來實(shí)施分散存取??梢越?jīng)由對(duì)源代碼的檢查和手工分散來實(shí)現(xiàn)對(duì)外部存儲(chǔ)器存取的手動(dòng)分散。這一點(diǎn)可以通過對(duì)源代碼的檢查和手工分散來完成。雖然這種方法適用于某些情況,但是其易于出錯(cuò)并且耗時(shí)。此外還必須對(duì)每一次新的代碼改變或軟件發(fā)布都執(zhí)行這種方法,從而增長(furthering)所需的時(shí)間。
[0054]根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可以以軟件來分散存儲(chǔ)器存取。根據(jù)一個(gè)實(shí)施例,可以利用后處理程序來修改軟件。前面簡(jiǎn)要示出了這種方法,其中對(duì)于每“η”條指令插入一個(gè)“跳躍(jump)”。舉例來說,在結(jié)合圖8和9的討論中,對(duì)于每“η”次外部存取插入一個(gè)跳躍,即對(duì)于內(nèi)部存取的指令。這樣做的效果是在內(nèi)部和外部存儲(chǔ)器102、103之間劃分處理資源。
[0055]根據(jù)本發(fā)明的另一實(shí)施例,利用實(shí)時(shí)操作系統(tǒng)(RT0S)。根據(jù)該實(shí)施例,處理器101的每一項(xiàng)任務(wù)都具有將該項(xiàng)任務(wù)限定在內(nèi)部或外部存儲(chǔ)器102、103中的特性。外部任務(wù)在“η”條指令之后被搶先式(preemptively)中斷。直到已執(zhí)行了 “m”條內(nèi)部指令之后,才允許恢復(fù)執(zhí)行外部任務(wù)。在本文中,“η”和“m”分別是需要在外部和內(nèi)部存儲(chǔ)器103、102中進(jìn)行存取的位置的數(shù)目。此外,可以對(duì)RTOS進(jìn)行編程,以便使“η”的大小保持得盡可能小。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可以對(duì)RTOS進(jìn)行編程,以便隨著時(shí)間使“η”和“m”保持相對(duì)恒定,從而最大化外部存儲(chǔ)器存取的最優(yōu)分散。
[0056]根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可以以硬件來實(shí)施存儲(chǔ)器存取的分散,在所述硬件中對(duì)存儲(chǔ)器高速緩存進(jìn)行修改,以便按照暫時(shí)最優(yōu)方式對(duì)外部存儲(chǔ)器進(jìn)行存取。根據(jù)一個(gè)實(shí)施例,所述暫時(shí)最優(yōu)方式包括對(duì)于每“η”次總的存取的一次外部存儲(chǔ)器存取。該實(shí)施例的一個(gè)缺陷在于,其需要內(nèi)部高速緩沖存儲(chǔ)器。但是,在內(nèi)部高速緩沖存儲(chǔ)器可用的實(shí)施例中,可以實(shí)施該實(shí)施例。本領(lǐng)域中公知的其他方法也可以被用來對(duì)處理系統(tǒng)進(jìn)行編程,并且因此被包括在本發(fā)明的范圍內(nèi)。
[0057]前面的描述提供一種用于對(duì)存取外部存儲(chǔ)器103所需的處理例程進(jìn)行編程的方法。在某些實(shí)施例中,處理例程也利用內(nèi)部存儲(chǔ)器102。所述方法基于連續(xù)外部存儲(chǔ)器存取的預(yù)定數(shù)目來分散(中斷)外部存儲(chǔ)器存取。雖然前面的描述的各部分提到了具體的存取數(shù)目,但是應(yīng)當(dāng)理解的是,所述數(shù)目?jī)H僅是被用來幫助理解本發(fā)明,而不應(yīng)當(dāng)以任何方式限制本發(fā)明的范圍,這是因?yàn)榫唧w的存取數(shù)目將根據(jù)處理例程而改變。此外,本發(fā)明不應(yīng)受到外部存儲(chǔ)器存取對(duì)內(nèi)部存儲(chǔ)器存取的具體比例的限制,這是因?yàn)樗霰壤梢愿淖儯梢孕∮?、大于I或等于I。
[0058]前面的描述還提供一種基于可用能量供應(yīng)來控制對(duì)外部存儲(chǔ)器103的存取的方法。因此,所述方法確保處理器101在對(duì)外部存儲(chǔ)器103進(jìn)行存取時(shí)所消耗的能量不會(huì)超出可用能量供應(yīng)。應(yīng)當(dāng)認(rèn)識(shí)到,可以按照需要一起使用或單獨(dú)使用所述兩種方法(基于可用能量控制存取和存取分散)。
[0059]對(duì)于前面的實(shí)施例的詳細(xì)描述并不是對(duì)發(fā)明人設(shè)想落在本發(fā)明的范圍內(nèi)的所有實(shí)施例的窮盡描述。實(shí)際上,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,可以按照多種方式組合或去除前面描述的實(shí)施例的某些元件以創(chuàng)建另外的實(shí)施例,并且所述另外的實(shí)施例也落在本發(fā)明的范圍和教導(dǎo)之內(nèi)。本領(lǐng)域普通技術(shù)人員還將認(rèn)識(shí)到,可以整體上或部分地組合前面描述的各實(shí)施例,以便創(chuàng)建落在本發(fā)明的范圍和教導(dǎo)之內(nèi)的附加實(shí)施例。
[0060]因此,雖然在這里出于說明的目的描述了本發(fā)明的具體實(shí)施例和實(shí)例,但是相關(guān)領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,在本發(fā)明的范圍內(nèi)可能有各種等效修改。這里給出的教導(dǎo)可以被應(yīng)用于其他處理系統(tǒng),而不僅僅被應(yīng)用于前面描述并且在附圖中示出的實(shí)施例。相應(yīng)地,應(yīng)當(dāng)從下面的權(quán)利要求確定本發(fā)明的范圍。
【主權(quán)項(xiàng)】
1.一種用于執(zhí)行利用內(nèi)部存儲(chǔ)器及外部存儲(chǔ)器的處理例程的方法,其包括以下步驟: 確定可用能量供應(yīng); 只有在所述可用能量供應(yīng)超出閾值的情況下對(duì)外部存儲(chǔ)器進(jìn)行存??;以及 如果所述可用能量供應(yīng)不超出閾值,則對(duì)內(nèi)部存儲(chǔ)器進(jìn)行存取。2.根據(jù)權(quán)利要求1所述的方法,還包括以下步驟:如果所述可用能量供應(yīng)不超出閾值,則分散外部存儲(chǔ)器存取。3.根據(jù)權(quán)利要求2所述的方法,還包括以下步驟:基于連續(xù)外部存儲(chǔ)器存取的預(yù)定數(shù)目來分散外部存儲(chǔ)器存取。4.根據(jù)權(quán)利要求3所述的方法,其中,所述連續(xù)外部存儲(chǔ)器存取的預(yù)定數(shù)目至少部分地由可用能量供應(yīng)等級(jí)確定。5.根據(jù)權(quán)利要求2所述的方法,其中,所述處理例程還利用內(nèi)部存儲(chǔ)器,并且所述方法還包括以下步驟:通過在預(yù)定數(shù)目的連續(xù)外部存儲(chǔ)器存取和預(yù)定數(shù)目的內(nèi)部存儲(chǔ)器存取之后中斷對(duì)外部存儲(chǔ)器的存取來分散對(duì)外部存儲(chǔ)器的存取。
【專利摘要】提供一種用于執(zhí)行利用外部存儲(chǔ)器的處理例程的方法。所述處理例程需要多于一次外部存儲(chǔ)器存取。所述方法包括以下步驟:在預(yù)定數(shù)目的外部存儲(chǔ)器存取之后分散外部存儲(chǔ)器存取。
【IPC分類】G06F3/06, G06F13/16, G06F1/32
【公開號(hào)】CN104915149
【申請(qǐng)?zhí)枴緾N201510112754
【發(fā)明人】P.J.海斯, C.B.麥卡納利, W.M.曼斯菲爾德
【申請(qǐng)人】微動(dòng)公司
【公開日】2015年9月16日
【申請(qǐng)日】2008年7月23日