專利名稱:用于管理存儲(chǔ)器空間的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種根據(jù)權(quán)利要求1的前文的系統(tǒng)以及一種根據(jù)權(quán)利要求7的前文的方法。
軟件中的媒體處理允許消費(fèi)者終端變得開(kāi)放且靈活。與此同時(shí),由于成本價(jià)格方面的巨大壓力,消費(fèi)者終端的資源嚴(yán)重受到限制。為了能夠與專用硬件解決方案競(jìng)爭(zhēng),軟件中的媒體處理必須以很高的平均資源利用率非常經(jīng)濟(jì)地使用可用資源,同時(shí)保持消費(fèi)者終端的典型品質(zhì)(比如魯棒性),并且滿足由高質(zhì)量數(shù)字音頻和視頻處理所施加的嚴(yán)格的定時(shí)要求。在這方面,一個(gè)很重要的實(shí)際情況是對(duì)于存儲(chǔ)器空間的管理。
存儲(chǔ)器分層結(jié)構(gòu)(例如高速緩存)的效率和性能對(duì)于在所謂的芯片上系統(tǒng)(SoC)上運(yùn)行的多媒體應(yīng)用的性能而言尤其關(guān)鍵。因此,存在許多旨在減少高速緩存錯(cuò)失或者錯(cuò)失延遲的高速緩存調(diào)度技術(shù)。對(duì)于在單一處理單元上運(yùn)行的單一應(yīng)用,傳統(tǒng)的高速緩存已經(jīng)被設(shè)計(jì)得工作良好。
例如,現(xiàn)有技術(shù)文獻(xiàn)EP 0 442 474 A2、US 6 427 195 B1或US 2002/0184445 A1涉及鎖定和/或保障高速緩存空間以便由單一任務(wù)/線程/應(yīng)用(此后稱作“任務(wù)”)來(lái)使用的機(jī)制。根據(jù)這些現(xiàn)有技術(shù)文獻(xiàn),在一個(gè)任務(wù)的壽命期間保障所保留的高速緩存空間。
在傳統(tǒng)的系統(tǒng)中,并發(fā)執(zhí)行的多個(gè)應(yīng)用共享高速緩存。這些并發(fā)應(yīng)用影響彼此的性能,這是由于它們會(huì)把彼此的數(shù)據(jù)沖刷出高速緩存。此外,不同類型的軟件結(jié)構(gòu)和存儲(chǔ)器使用將受益于不同的高速緩存組織。
可以從不同的角度提高高速緩存效率,例如通過(guò)-更好的高速緩存組織取決于存儲(chǔ)器存取模式,特定的分配將更為高效(例子在不同的存儲(chǔ)器組上的連續(xù)數(shù)據(jù)單元),或者-改進(jìn)的替換和分配技術(shù)。
在所提出的各種替換和分配技術(shù)當(dāng)中,其中的某些技術(shù)使用預(yù)算編制(或者預(yù)留)的概念。一個(gè)給定的應(yīng)用/任務(wù)/線程可以排他地對(duì)高速緩存的特定部分進(jìn)行存取,并且將不會(huì)受到其他應(yīng)用的干擾,所述其他應(yīng)用也將具有其自身的高速緩存片段。
在下列文章中給出了作為空間預(yù)算的所述預(yù)算編制的例子-“Compositional memory systems for multimedia communicatingtasks(用于多媒體通信任務(wù)的復(fù)合存儲(chǔ)器系統(tǒng))”(Anca Molnos,Internal Natlab底稿),以及-“CQoSA Framework for Enabling QoS in Shared Caches ofCMP Platforms(CQoS用于在CMP平臺(tái)的共享高速緩存中實(shí)現(xiàn)QoS的框架)”(Ravi Iyer,Hillsboro,Oregon,2004年,Proceedings ofthe 18th annual international conference on Supercomputing,第257至266頁(yè),ISBN1-58113-839-3)。
空間預(yù)算編制通過(guò)改進(jìn)高速緩存的可預(yù)測(cè)性而改進(jìn)了應(yīng)用性能。此外,空間預(yù)算編制實(shí)現(xiàn)了軟件子系統(tǒng)的可復(fù)合性。然而,在資源受限的系統(tǒng)中,高速緩存還是稀缺資源;這意味著當(dāng)一個(gè)應(yīng)用請(qǐng)求高速緩存預(yù)算時(shí),有可能無(wú)法獲得該高速緩存空間。一般來(lái)說(shuō),應(yīng)用將不會(huì)接收到所要求的那么多高速緩存空間,從而導(dǎo)致了性能懲罰。
從現(xiàn)有技術(shù)文獻(xiàn)US 2003/0101084 A1中獲知,當(dāng)一個(gè)任務(wù)不使用高速緩存空間時(shí)釋放該高速緩存空間。然而,如果該任務(wù)將需要該數(shù)據(jù)(即存儲(chǔ)器空間),那么這種方案可能導(dǎo)致非常低的性能。
從上述缺陷和缺點(diǎn)出發(fā)并且考慮到所討論的現(xiàn)有技術(shù),本發(fā)明的一個(gè)目的是進(jìn)一步開(kāi)發(fā)出一種在技術(shù)領(lǐng)域部分中描述的那種系統(tǒng)和方法,從而使得被提供給每個(gè)所執(zhí)行的任務(wù)的存儲(chǔ)器空間得到最大化。
本發(fā)明的所述目的是如下實(shí)現(xiàn)的-根據(jù)所確定的存儲(chǔ)器空間要求把存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù);以及-根據(jù)至少一個(gè)對(duì)應(yīng)的處理預(yù)算把存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù),該處理預(yù)算可以由至少一個(gè)處理預(yù)算預(yù)留裝置指定給每個(gè)任務(wù)。
在對(duì)應(yīng)的從屬權(quán)利要求中公開(kāi)了本發(fā)明的有利實(shí)施例和適宜改進(jìn)。
本發(fā)明主要基于下面的概念
-把時(shí)間添加到存儲(chǔ)器預(yù)算中,特別是添加到高速緩存預(yù)算中;或者-把時(shí)間添加到存儲(chǔ)器預(yù)留中,特別是添加到高速緩存預(yù)留中,從而提供了一種使用預(yù)算的時(shí)間高速緩存管理技術(shù)。
換句話說(shuō),本發(fā)明引入時(shí)間以作為存儲(chǔ)器空間預(yù)留、特別是高速緩存空間預(yù)留的一個(gè)參數(shù)。該時(shí)間被耦合到所述處理預(yù)算。這樣,總體存儲(chǔ)器利用率、特別是總體高速緩存利用率得到最大化。
此外,當(dāng)把存儲(chǔ)器空間預(yù)留(例如高速緩存空間預(yù)留)的時(shí)間參數(shù)與所述處理預(yù)留相關(guān)聯(lián)時(shí),系統(tǒng)性能也得到改進(jìn)。
根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,在一個(gè)具有中央處理單元(CPU)資源管理器的系統(tǒng)中,第一任務(wù)(例如第一線程或第一應(yīng)用)和/或第二任務(wù)(例如第二線程或第二應(yīng)用)或者各任務(wù)/線程/應(yīng)用的集合接收受保障并且強(qiáng)制的CPU預(yù)算。因此,一旦該預(yù)算被耗盡,相應(yīng)的一個(gè)或多個(gè)任務(wù)將不執(zhí)行,直到該預(yù)算再次得到補(bǔ)充。
該信息可以被用來(lái)-釋放由這些任務(wù)使用的存儲(chǔ)器空間,特別是高速緩存空間;以及-使得所述空間可用于確實(shí)需要存儲(chǔ)器空間的其他任務(wù)。
這種機(jī)制導(dǎo)致更為有效的存儲(chǔ)器空間利用率,特別是更為有效的高速緩存空間利用率。對(duì)于具有CPU預(yù)算并且正被執(zhí)行的任務(wù)有了更多的可用存儲(chǔ)器空間。
本發(fā)明的另一個(gè)本質(zhì)特征在于,當(dāng)所述任務(wù)確實(shí)將不需要所述存儲(chǔ)器空間時(shí)才發(fā)生釋放該存儲(chǔ)器空間,從而不會(huì)導(dǎo)致任何懲罰。因此,所述系統(tǒng)所能夠提供給所述任務(wù)或應(yīng)用或線程的存儲(chǔ)器空間(特別是高速緩存預(yù)算)得到最大化。
根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,所述存儲(chǔ)器空間可以是一個(gè)高速緩存,該高速緩存存儲(chǔ)整個(gè)系統(tǒng)存儲(chǔ)器的僅僅一部分的數(shù)據(jù)拷貝。此外,根據(jù)本發(fā)明的一種有利的實(shí)現(xiàn)方式,所述存儲(chǔ)器空間可以是第二級(jí)高速緩存,多個(gè)中央處理單元(CPU)共享對(duì)該第二級(jí)高速緩存的存取。
這種第二級(jí)高速緩存(或次級(jí)高速緩存或二級(jí)高速緩存)通常-被設(shè)置在第一級(jí)高速緩存(或主高速緩存或一級(jí)高速緩存)與主存儲(chǔ)器之間;并且-通過(guò)至少一條外部總線連接到中央處理單元(CPU)。
與所述第二級(jí)高速緩存不同,所述主高速緩存通常與CPU位于相同的集成電路(IC)上。
本發(fā)明還涉及-一種電視機(jī),其包括至少一個(gè)如上所述的系統(tǒng),并且/或者根據(jù)如上所述的方法工作;以及-一種機(jī)頂盒,其包括至少一個(gè)如上所述的系統(tǒng),并且/或者根據(jù)如上所述的方法工作。
根據(jù)本發(fā)明的一個(gè)有利實(shí)施例,所述方法基本上包括以下步驟-執(zhí)行第一任務(wù)和/或第二任務(wù);-確定第一任務(wù)和/或第二任務(wù)是否需要存儲(chǔ)器空間;-給對(duì)應(yīng)的任務(wù)分配存儲(chǔ)器空間,特別是-把第一存儲(chǔ)器空間分配給第一任務(wù);以及-把第二存儲(chǔ)器空間分配給第二任務(wù),該方法可以附加地包括以下步驟-如果處理預(yù)算被耗盡則補(bǔ)充所述處理預(yù)算,其中在所述補(bǔ)充期間不執(zhí)行相應(yīng)的任務(wù);-確定補(bǔ)充對(duì)應(yīng)的處理預(yù)算所需要的時(shí)間,特別是-確定所述任務(wù)的至少其中之一的執(zhí)行時(shí)間或繁忙周期;以及/或者-確定所述任務(wù)的至少其中之一的不執(zhí)行時(shí)間;以及-把被指定給不執(zhí)行的任務(wù)的存儲(chǔ)器空間分配給至少一個(gè)可執(zhí)行任務(wù)并且持續(xù)所確定的補(bǔ)充時(shí)間。
優(yōu)選地,所述存儲(chǔ)器空間-被排他地分配給第一任務(wù);以及/或者-被部分地分配給第一任務(wù),并且被部分地分配給第二任務(wù);以及/或者-被排他地分配給第二任務(wù)。
一般來(lái)說(shuō),本發(fā)明可以被使用在包含高速緩存的任何產(chǎn)品中,其中在所述高速緩存中存在中央處理單元(CPU)預(yù)留機(jī)制。
特別地,本發(fā)明最后涉及對(duì)于任何數(shù)字系統(tǒng)使用至少一個(gè)如上所述的系統(tǒng)和/或如上所述的方法,在所述數(shù)字系統(tǒng)中,多個(gè)應(yīng)用被并發(fā)執(zhí)行并且共享存儲(chǔ)器空間,例如對(duì)于以下情況使用上述系統(tǒng)和/或上述方法-多媒體應(yīng)用,特別是運(yùn)行在至少一個(gè)芯片上系統(tǒng)(SoC)上的多媒體應(yīng)用;以及/或者-類似于根據(jù)權(quán)利要求5的數(shù)字電視機(jī)的消費(fèi)者終端,特別是高質(zhì)量視頻系統(tǒng),或者根據(jù)權(quán)利要求6的機(jī)頂盒。
正如上面已經(jīng)討論的那樣,存在幾種以有利的方式具體實(shí)現(xiàn)以及改進(jìn)本發(fā)明的教導(dǎo)的選項(xiàng)。為此,參照分別從屬于權(quán)利要求1和權(quán)利要求7的各條權(quán)利要求;下面參照一個(gè)優(yōu)選實(shí)施例并且參照附圖以舉例的方式更加詳細(xì)地解釋本發(fā)明的其他改進(jìn)、特征和優(yōu)點(diǎn),在附圖中
圖1示意性地示出了根據(jù)本發(fā)明的方法工作的根據(jù)本發(fā)明的系統(tǒng)的一個(gè)實(shí)施例;圖2概略地示出了根據(jù)現(xiàn)有技術(shù)的高速緩存管理;圖3概略地示出了根據(jù)本發(fā)明的高速緩存管理;圖4示意性地示出了包括圖1的系統(tǒng)并且根據(jù)圖3的高速緩存管理操作的電視機(jī);以及圖5示意性地示出了包括圖1的系統(tǒng)并且根據(jù)圖3的高速緩存管理操作的機(jī)頂盒。
相同的附圖標(biāo)記被用于表示圖1到圖5中的相應(yīng)部件。
圖1示意性地示出了根據(jù)本發(fā)明的系統(tǒng)100的一個(gè)實(shí)施例的最重要的各部件。該系統(tǒng)100包括用于執(zhí)行第一任務(wù)50和第二任務(wù)60的中央處理單元10(與圖3對(duì)照)。該中央處理單元10與一個(gè)存儲(chǔ)器單元相連接,即與高速緩存20相連接。
為了把高速緩存空間22分配給第一任務(wù)50和/或第二任務(wù)60,特別是把第一高速緩存空間52分配給第一任務(wù)50并且把第二高速緩存空間62分配給第二任務(wù)60,所述系統(tǒng)100包括一個(gè)高速緩存預(yù)留機(jī)制,其具有分配裝置40。
為了把至少一個(gè)對(duì)應(yīng)的處理預(yù)算指定給每個(gè)任務(wù)50、60,所述系統(tǒng)100包括一個(gè)處理預(yù)算預(yù)留裝置12,其例如是中央處理單元(CPU)預(yù)留系統(tǒng)。該處理預(yù)算預(yù)留裝置12可以優(yōu)選地以至少一個(gè)軟件算法的形式來(lái)實(shí)現(xiàn),該軟件算法在該相同的CPU 10上執(zhí)行,或者在該系統(tǒng)100中的一個(gè)或多個(gè)其他可用CPU上執(zhí)行。為了進(jìn)行正確的操作,該軟件必須依賴于某些硬件設(shè)施,比如至少一個(gè)能夠中斷所述任務(wù)50和60在CPU 10上的正常執(zhí)行的定時(shí)器。
一旦所述處理預(yù)算被耗盡,相應(yīng)的任務(wù)50、60將不被執(zhí)行,直到其處理預(yù)算在一個(gè)時(shí)間周期的末尾70被再次補(bǔ)充。相應(yīng)地,第一任務(wù)50的處理預(yù)算確定所述第一任務(wù)50的預(yù)算繁忙時(shí)間54,并且第二任務(wù)60的處理預(yù)算確定所述第二任務(wù)60的預(yù)算繁忙時(shí)間64。
可以以遠(yuǎn)小于所述任務(wù)的壽命的粒度獲得所述系統(tǒng)100的處理預(yù)算并且/或者對(duì)所述處理預(yù)算進(jìn)行控制。舉例來(lái)說(shuō),相對(duì)于一個(gè)任務(wù)的幾個(gè)小時(shí)的壽命,5毫秒的處理預(yù)算每10毫秒重復(fù)一次。
所述任務(wù)50、60只有在其預(yù)算繁忙時(shí)間54、64期間才需要存儲(chǔ)器空間22。為了確定第一任務(wù)50和/或第二任務(wù)60是否需要存儲(chǔ)器空間22,所述系統(tǒng)100包括一個(gè)確定裝置30。該高速緩存空間確定裝置30可以被實(shí)現(xiàn)為至少一個(gè)軟件算法。
為了說(shuō)明本發(fā)明的特征,圖2示出了根據(jù)現(xiàn)有技術(shù)的高速緩存管理。在圖2中的上部示出了第一任務(wù)50隨時(shí)間t的任務(wù)執(zhí)行56以及第二任務(wù)60隨時(shí)間t的任務(wù)執(zhí)行66。
在圖2中的下部,在垂直軸上示出了高速緩存空間22,并且時(shí)間t在水平軸上延伸。從而在圖2中的下部示出了對(duì)應(yīng)于第一任務(wù)50的高速緩存預(yù)留52以及對(duì)應(yīng)于第二任務(wù)60的高速緩存預(yù)留62。如圖2中所示,在現(xiàn)有技術(shù)系統(tǒng)中,第一任務(wù)50保持其高速緩存預(yù)留直到一個(gè)時(shí)間周期的末尾70,即使第一任務(wù)50將不使用該高速緩存也是如此。
與現(xiàn)有技術(shù)不同,在圖3中示出了根據(jù)本發(fā)明的高速緩存管理。根據(jù)圖3,通過(guò)如下方式動(dòng)態(tài)地使用所述高速緩存預(yù)留機(jī)制-當(dāng)?shù)谝蝗蝿?wù)50和/或第二任務(wù)60需要高速緩存空間22時(shí)預(yù)留該高速緩存空間22;以及-當(dāng)?shù)谝蝗蝿?wù)50和/或第二任務(wù)60不需要該高速緩存空間22時(shí)釋放該高速緩存空間22。
與前面的工作(對(duì)照?qǐng)D2)的不同之處在于“當(dāng)所述任務(wù)需要高速緩存空間”的定義。在傳統(tǒng)的系統(tǒng)(對(duì)照?qǐng)D2)中,任務(wù)50、60在其壽命期間都需要高速緩存空間22。然而,根據(jù)本發(fā)明(對(duì)照?qǐng)D3),對(duì)于高速緩存空間22的需求與處理預(yù)算可用性相關(guān)聯(lián)。為此,所述高速緩存預(yù)留機(jī)制或者高速緩存預(yù)留系統(tǒng)耦合到所述中央處理單元(CPU)預(yù)留系統(tǒng)。圖3示出了一個(gè)直觀的例子第一任務(wù)50和第二任務(wù)60在相同的中央處理單元(CPU)10上執(zhí)行,并且這些任務(wù)50、60當(dāng)中的每一個(gè)以相同的粒度接收該CPU 10的百分之五十,例如每40毫秒中的20毫秒。當(dāng)?shù)谝蝗蝿?wù)50完成了其預(yù)算54時(shí),高速緩存中的所述空間被安全地釋放,并且完全可用于另一個(gè)任務(wù)60。
換句話說(shuō),如果第一任務(wù)50已經(jīng)消耗了其所有的處理預(yù)算,則釋放被分配給第一任務(wù)50的第一高速緩存空間52,并且在所述周期的剩余部分內(nèi)將其分配給第二任務(wù)62。結(jié)果,任務(wù)62將由于在所述周期的剩余部分內(nèi)(即直到所述預(yù)算在時(shí)間70被補(bǔ)充)使用百分之百的高速緩存而更加高效地運(yùn)行。因此,任務(wù)50、60都能夠使用百分之百的高速緩存22。
在通常的情況下,想要知道任務(wù)50、60已經(jīng)完成了其預(yù)算并且在一段時(shí)間內(nèi)將不執(zhí)行并不容易。然而,如果還提供了處理預(yù)算(如本發(fā)明所提出的那樣),則可以精確地計(jì)算任務(wù)50、60何時(shí)開(kāi)始執(zhí)行以及何時(shí)將完成執(zhí)行。
根據(jù)本發(fā)明,可以計(jì)算最壞情況下的繁忙周期,即最早的起始時(shí)間以及最遲的結(jié)束時(shí)間。通過(guò)計(jì)算最壞情況下的繁忙周期,分離的繁忙周期可以被用來(lái)最大化高速緩存預(yù)算劃撥。在圖3中示出了如何釋放由第一任務(wù)50使用的高速緩存空間52,以便由第二任務(wù)60使用。圖3上部的垂直箭頭示出了預(yù)算劃撥14。
圖4以示意性的方式示出了電視(TV)機(jī)200的最重要的各部件,其包括如上所述的系統(tǒng)100。在圖4中,天線202接收電視信號(hào)。該天線202例如還可以是圓盤(pán)式衛(wèi)星電視天線、有線電視線纜或者能夠接收電視信號(hào)的任何其他設(shè)備。接收器204接收該信號(hào)。除了接收器204之外,該電視機(jī)200包括一個(gè)可編程組件206,其例如是可編程集成電路。該可編程組件206包括所述系統(tǒng)100。電視屏幕210顯示圖像,所述圖像由接收器204接收并且由可編程組件206、系統(tǒng)100以及通常包括在電視機(jī)中的其他部件(這里為清楚起見(jiàn)沒(méi)有示出)處理。
圖5以示意性的方式示出了包括所述系統(tǒng)100的機(jī)頂盒300的最重要的各部件。該機(jī)頂盒300接收由天線202發(fā)送的信號(hào)。電視機(jī)200可以顯示由該機(jī)頂盒300與所述系統(tǒng)100一起從所接收信號(hào)產(chǎn)生的輸出信號(hào)。
本發(fā)明的上面描述的實(shí)現(xiàn)方式有可能實(shí)現(xiàn)一種多任務(wù)系統(tǒng),其中當(dāng)切換到新任務(wù)時(shí)完全釋放所述高速緩存空間,從而全部?jī)蓚€(gè)或多個(gè)任務(wù)具有百分之百的高速緩存。所述高速緩存預(yù)留被耦合到所述中央處理單元(CPU)預(yù)留系統(tǒng)。
上面描述的方法管理在多個(gè)任務(wù)50、60之間共享的高速緩存空間20。該方法同樣適用于包含多個(gè)CPU 10的系統(tǒng)100。在這種多CPU系統(tǒng)100中,典型地存在一個(gè)共享的高速緩存以作為所述存儲(chǔ)器分層結(jié)構(gòu)的一部分,可以以相同的優(yōu)點(diǎn)管理該高速緩存以用于任務(wù)共享。
附圖標(biāo)記列表100 用于管理存儲(chǔ)器空間的系統(tǒng)10 中央處理單元,特別是多個(gè)中央處理單元12 處理預(yù)算預(yù)留裝置,特別是中央處理單元預(yù)留裝置14 預(yù)算劃撥20 存儲(chǔ)器單元,特別是高速緩存單元22 存儲(chǔ)器空間,特別是高速緩存空間30 確定裝置40 分配裝置50 第一任務(wù)52 第一存儲(chǔ)器空間,特別被分配給第一任務(wù)5054 第一任務(wù)50的執(zhí)行時(shí)間或繁忙周期或預(yù)算繁忙時(shí)間56 第一任務(wù)50的任務(wù)執(zhí)行60 第二任務(wù)62 第二存儲(chǔ)器空間,特別被分配給第二任務(wù)6064 第二任務(wù)60的執(zhí)行時(shí)間或繁忙周期或預(yù)算繁忙時(shí)間66 第二任務(wù)60的任務(wù)執(zhí)行70 時(shí)間周期的末尾,特別是補(bǔ)充時(shí)間的末尾200 電視機(jī)202 天線204 接收器206 可編程組件,例如可編程集成電路(IC)210 電視屏幕300 機(jī)頂盒t 時(shí)間或時(shí)間周期
權(quán)利要求
1.一種用于管理存儲(chǔ)器空間(22)的系統(tǒng)(100),該系統(tǒng)包括-至少一個(gè)中央處理單元(10),其用于執(zhí)行至少一個(gè)第一任務(wù)(50)和至少一個(gè)第二任務(wù)(60);-至少一個(gè)存儲(chǔ)器單元(20),特別是至少一個(gè)高速緩存,其中該存儲(chǔ)器單元-與該中央處理單元(10)相連接;并且-包括所述存儲(chǔ)器空間(22),該存儲(chǔ)器空間被細(xì)分成-至少一個(gè)第一存儲(chǔ)器空間(52),特別是至少一個(gè)第一高速緩存空間;以及-至少一個(gè)第二存儲(chǔ)器空間(62),特別是至少一個(gè)第二高速緩存空間;-至少一個(gè)確定裝置(30),其用于確定第一任務(wù)(50)和/或第二任務(wù)(60)是否需要所述存儲(chǔ)器空間(22);以及-至少一個(gè)分配裝置(40),其用于把所述存儲(chǔ)器空間(22)分配給對(duì)應(yīng)的任務(wù),特別是用于-把第一存儲(chǔ)器空間(52)分配給第一任務(wù)(50);以及-把第二存儲(chǔ)器空間(62)分配給第二任務(wù)(60),其特征在于,所述存儲(chǔ)器空間(22)通過(guò)如下方式被分配給對(duì)應(yīng)的任務(wù)(50,60)-根據(jù)所確定的存儲(chǔ)器空間(22)的需求把所述存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù);以及-根據(jù)至少一個(gè)對(duì)應(yīng)的處理預(yù)算把所述存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù),該處理預(yù)算由至少一個(gè)處理預(yù)算預(yù)留裝置(12)指定給每個(gè)任務(wù)(50,60)。
2.根據(jù)權(quán)利要求1的系統(tǒng),其特征在于-一旦所述處理預(yù)算被耗盡,相應(yīng)的任務(wù)(50,60)將不被執(zhí)行,直到其處理預(yù)算被再次補(bǔ)充,特別是直到所述處理預(yù)算周期的末尾(70);-所述確定裝置(30)被設(shè)計(jì)成確定直到對(duì)應(yīng)的處理預(yù)算的隨后的補(bǔ)充所需要的時(shí)間,特別是-用于確定所述任務(wù)的至少其中之一的執(zhí)行時(shí)間或繁忙周期;以及/或者-用于確定所述任務(wù)(50,60)的至少其中之一的不執(zhí)行時(shí)間;以及-所述分配裝置(40)被設(shè)計(jì)成把被指定給不執(zhí)行的任務(wù)的所述存儲(chǔ)器空間(22)分配給至少一個(gè)可執(zhí)行任務(wù)(50,60),特別是直到所確定的處理預(yù)算周期的末尾(70)。
3.根據(jù)權(quán)利要求1或2的系統(tǒng),其特征在于,所述任務(wù)(50,60)的壽命長(zhǎng)于其對(duì)應(yīng)的處理預(yù)算的粒度。
4.根據(jù)權(quán)利要求1至3的至少其中之一的系統(tǒng),其特征在于-所述存儲(chǔ)器空間(22)被排他地分配給第一任務(wù)(50);以及/或者-所述存儲(chǔ)器空間(22)被部分地分配給第一任務(wù)(50)并且被部分地分配給第二任務(wù)(60);以及/或者-所述存儲(chǔ)器空間(22)被排他地分配給第二任務(wù)(60);以及/或者-所述存儲(chǔ)器空間(22)是被設(shè)計(jì)成存儲(chǔ)所述整個(gè)系統(tǒng)存儲(chǔ)器的至少一部分的數(shù)據(jù)拷貝的高速緩存;以及/或者-所述存儲(chǔ)器空間(22)是由多個(gè)中央處理單元(10)共享存取的第二級(jí)高速緩存。
5.一種包括根據(jù)權(quán)利要求1至4的至少其中之一的系統(tǒng)的電視機(jī)(200)。
6.一種包括根據(jù)權(quán)利要求1至5的至少其中之一的系統(tǒng)的機(jī)頂盒(300)。
7.一種用于管理存儲(chǔ)器空間(22)的方法,特別是用于調(diào)度至少一個(gè)第一任務(wù)(50)和至少一個(gè)第二任務(wù)(60),該方法包括以下步驟-執(zhí)行第一任務(wù)(50)和/或第二任務(wù)(60);-確定第一任務(wù)(50)和/或第二任務(wù)(60)是否需要存儲(chǔ)器空間(22);-給對(duì)應(yīng)的任務(wù)(50,60)分配所述存儲(chǔ)器空間(22),特別是-把第一存儲(chǔ)器空間(52)分配給第一任務(wù),該第一存儲(chǔ)器空間例如是第一高速緩存空間;以及-把第二存儲(chǔ)器空間(62)分配給第二任務(wù),該第二存儲(chǔ)器空間例如是第二高速緩存空間,其特征在于,所述存儲(chǔ)器空間(22)通過(guò)如下方式被分配給對(duì)應(yīng)的任務(wù)(50,60)-根據(jù)所確定的存儲(chǔ)器空間(22)的需求把所述存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù);以及-根據(jù)至少一個(gè)對(duì)應(yīng)的處理預(yù)算把所述存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù),該處理預(yù)算被指定給每個(gè)任務(wù)(50,60)。
8.根據(jù)權(quán)利要求7的方法,其特征在于以下的附加步驟-如果所述處理預(yù)算被耗盡則補(bǔ)充所述處理預(yù)算,其中相應(yīng)的任務(wù)(50,60)不被執(zhí)行,直到對(duì)所述處理預(yù)算的隨后的補(bǔ)充為止,特別是直到所述處理預(yù)算周期的末尾(70);-確定補(bǔ)充對(duì)應(yīng)的處理預(yù)算所需要的時(shí)間,特別是-確定所述任務(wù)(50,60)的至少其中之一的執(zhí)行時(shí)間或繁忙周期(54,64);以及/或者-確定所述任務(wù)(50,60)的至少其中之一的不執(zhí)行時(shí)間;以及-把被指定給不執(zhí)行的任務(wù)的存儲(chǔ)器空間(22)分配給至少一個(gè)可執(zhí)行任務(wù)(50,60),特別是直到所確定的處理預(yù)算周期的末尾(70)。
9.根據(jù)權(quán)利要求7或8的方法,其特征在于-所述存儲(chǔ)器空間(22)被排他地分配給第一任務(wù)(50);以及/或者-所述存儲(chǔ)器空間(22)被部分地分配給第一任務(wù)(50)并且被部分地分配給第二任務(wù)(60);以及/或者-所述存儲(chǔ)器空間(22)被排他地分配給第二任務(wù)(60)。
10.對(duì)于任何數(shù)字系統(tǒng)使用至少一個(gè)根據(jù)權(quán)利要求1至4的至少其中之一的系統(tǒng)(100)和/或根據(jù)權(quán)利要求7至9的至少其中之一的方法,在所述數(shù)字系統(tǒng)中,多個(gè)應(yīng)用被并發(fā)執(zhí)行并且共享存儲(chǔ)器空間(22),例如對(duì)于以下情況使用所述系統(tǒng)和/或所述方法-多媒體應(yīng)用,特別是運(yùn)行在至少一個(gè)芯片上系統(tǒng)(SoC)上的多媒體應(yīng)用;以及/或者-類似于根據(jù)權(quán)利要求5的數(shù)字電視機(jī)(200)的消費(fèi)者終端,特別是高質(zhì)量視頻系統(tǒng),或者根據(jù)權(quán)利要求6的機(jī)頂盒(300)。
全文摘要
為了提供一種用于管理存儲(chǔ)器空間(22)的系統(tǒng)(100)(其中有可能最大化被提供給每個(gè)所執(zhí)行的任務(wù)(50,60)的存儲(chǔ)器空間(22)),本發(fā)明提出通過(guò)如下方式把所述存儲(chǔ)器空間(22)分配給對(duì)應(yīng)的任務(wù)(50,60)根據(jù)所確定的存儲(chǔ)器空間(22)的需求把所述存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù);以及根據(jù)至少一個(gè)對(duì)應(yīng)的處理預(yù)算把所述存儲(chǔ)器空間分配給對(duì)應(yīng)的任務(wù),該處理預(yù)算由至少一個(gè)處理預(yù)算預(yù)留裝置(12)指定給每個(gè)任務(wù)(50,60)。所述系統(tǒng)包括至少一個(gè)中央處理單元(10),其用于執(zhí)行至少一個(gè)第一任務(wù)(50)和至少一個(gè)第二任務(wù)(60);至少一個(gè)存儲(chǔ)器單元(20),特別是至少一個(gè)高速緩存,其與該中央處理單元(10)相連接并且包括所述存儲(chǔ)器空間(22),該存儲(chǔ)器空間被細(xì)分成至少一個(gè)第一存儲(chǔ)器空間(52)(特別是至少一個(gè)第一高速緩存空間)以及至少一個(gè)第二存儲(chǔ)器空間(62)(特別是至少一個(gè)第二高速緩存空間);至少一個(gè)確定裝置(30),其用于確定第一任務(wù)(50)和/或第二任務(wù)(60)是否需要所述存儲(chǔ)器空間(22);以及至少一個(gè)分配裝置(40),其用于把所述存儲(chǔ)器空間(22)分配給對(duì)應(yīng)的任務(wù),特別是用于把第一存儲(chǔ)器空間(52)分配給第一任務(wù)(50)并且把第二存儲(chǔ)器空間(62)分配給第二任務(wù)(60)。
文檔編號(hào)G06F9/46GK101057220SQ200580038710
公開(kāi)日2007年10月17日 申請(qǐng)日期2005年11月4日 優(yōu)先權(quán)日2004年11月11日
發(fā)明者C·M·奧特羅帕里茨, J·范埃恩德霍芬 申請(qǐng)人:皇家飛利浦電子股份有限公司