專利名稱:一種估計(jì)任務(wù)進(jìn)度的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明與一種估計(jì)任務(wù)進(jìn)度的方法和系統(tǒng)有關(guān),任務(wù)在實(shí)時(shí)處理器上執(zhí)行,實(shí)時(shí)處理器提供多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期,該方法包括下列步驟第一步,保留任務(wù)的實(shí)時(shí)預(yù)算,其中實(shí)時(shí)預(yù)算包括與多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期的至少一部分相等的多個(gè)時(shí)鐘周期;第二步,通過管理由任務(wù)使用的多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期的實(shí)際數(shù)量來估計(jì)任務(wù)的進(jìn)度;此外本發(fā)明還與估計(jì)任務(wù)進(jìn)度的系統(tǒng)有關(guān),該系統(tǒng)包括實(shí)時(shí)處理器裝置,用來提供多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期;保留裝置,用來保留任務(wù)的實(shí)時(shí)預(yù)算,其中實(shí)時(shí)預(yù)算包括與多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期的至少一部分相等的多個(gè)時(shí)鐘周期;管理裝置,用來管理由任務(wù)使用的多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期的實(shí)際數(shù)量;從EP-B-0 534 884得到上述類型的方法和系統(tǒng)的一種實(shí)施方案。這里,公開一種多任務(wù)計(jì)算機(jī)系統(tǒng),它必須在像多媒體計(jì)算機(jī)和顯示系統(tǒng)這樣的硬實(shí)時(shí)環(huán)境中提供任務(wù)執(zhí)行。在這種計(jì)算機(jī)系統(tǒng)中,每個(gè)任務(wù)必須聲明該任務(wù)運(yùn)行到結(jié)束所需要的最大執(zhí)行周期計(jì)數(shù)限制,該計(jì)算機(jī)系統(tǒng)提供周期計(jì)數(shù)寄存器來計(jì)數(shù)每個(gè)單獨(dú)的任務(wù)所用的處理器周期。此外,該計(jì)算機(jī)系統(tǒng)在已經(jīng)有更高優(yōu)先級(jí)任務(wù)先占的任務(wù)的情況下在其它任務(wù)當(dāng)中跟蹤剩余每個(gè)單獨(dú)任務(wù)的周期并防止任意單個(gè)任務(wù)在任務(wù)執(zhí)行期間超過它聲明和規(guī)定的最大執(zhí)行周期數(shù)??梢酝ㄟ^跟蹤每個(gè)任務(wù)所使用的周期來計(jì)算系統(tǒng)處理器使用的測(cè)量。為了使任務(wù)能在給定時(shí)間解釋它還剩下多少個(gè)處理器周期,任務(wù)必須向系統(tǒng)詢問它仍然能夠使用的周期數(shù)并且該任務(wù)必須執(zhí)行特殊的邏輯用于解釋。
本發(fā)明的一個(gè)目標(biāo)是依照以改善的方式估計(jì)任務(wù)進(jìn)度的開端部分提供一種方法。為了實(shí)現(xiàn)這個(gè)目標(biāo),依照本發(fā)明的方法的特征如下任務(wù)進(jìn)一步指虛擬參考時(shí)鐘,虛擬參考時(shí)鐘提供多個(gè)多個(gè)參考時(shí)鐘周期,其中多個(gè)多個(gè)參考時(shí)鐘周期中的一個(gè)參考時(shí)鐘周期與多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期和實(shí)時(shí)預(yù)算中所包括的時(shí)鐘周期數(shù)的比值成比例;該方法還包括第三步,當(dāng)向任務(wù)提供實(shí)時(shí)預(yù)算時(shí)使虛擬時(shí)鐘前進(jìn)至少一個(gè)參考時(shí)鐘周期;并且其中方法的第二步包括管理由任務(wù)使用的多個(gè)多個(gè)參考時(shí)鐘周期的參考數(shù)量。
通過給任務(wù)提供以時(shí)鐘周期進(jìn)行的虛擬參考時(shí)鐘,而該時(shí)鐘周期和多個(gè)多個(gè)實(shí)時(shí)時(shí)鐘周期和實(shí)時(shí)預(yù)算之間的比值成比例,任務(wù)的邏輯變得不那么復(fù)雜了?,F(xiàn)在,任務(wù)只需要知道虛擬時(shí)鐘所提供的時(shí)間并且比較該時(shí)間和該任務(wù)已經(jīng)執(zhí)行的子處理步驟的數(shù)量。這種比較是對(duì)任務(wù)執(zhí)行的一種測(cè)量,因?yàn)閰⒖紩r(shí)間的進(jìn)度可以是任務(wù)經(jīng)歷的時(shí)間概念。多個(gè)多個(gè)時(shí)鐘周期能夠表示任務(wù)執(zhí)行一個(gè)工作量的一段時(shí)間。然后,實(shí)時(shí)時(shí)鐘周期能夠表示從實(shí)時(shí)周期開始以來所經(jīng)過的時(shí)間,參考時(shí)鐘周期能夠表示從參考周期開始以來經(jīng)過的參考時(shí)間。參考和實(shí)時(shí)周期的開始和結(jié)束可以相同,但不同時(shí)間的前進(jìn)可以不同。實(shí)時(shí)時(shí)間可以用實(shí)時(shí)處理器的正常時(shí)鐘頻率進(jìn)行,而參考時(shí)間以向任務(wù)提供實(shí)時(shí)預(yù)算的速度進(jìn)行。參考時(shí)間的進(jìn)度可以是任務(wù)經(jīng)歷的時(shí)間概念。進(jìn)度測(cè)量或估計(jì)可以由提前工作的任務(wù)所用,例如處理視頻幀的視頻算法或解碼音頻流的音頻算法。
權(quán)利要求2中描述了根據(jù)本發(fā)明的方法的一種實(shí)施方案。當(dāng)任務(wù)知道它相對(duì)于已經(jīng)執(zhí)行的子處理步驟的數(shù)量是提前還是落后時(shí),任務(wù)可以主動(dòng)反應(yīng)以改變處理要求。當(dāng)一個(gè)任務(wù),例如視頻算法落后時(shí),它能夠決定不處理幀的剩余部分,因?yàn)樘幚韼氖S嗖糠謺?huì)導(dǎo)致處理下一幀的延遲。另外,任務(wù)可以決定跳過該下一幀并在下一周期完成對(duì)當(dāng)前幀的處理。一個(gè)任務(wù)能夠例如在近似處理中決定處理質(zhì)量,其中待處理的像素的分辨率可以變化,該任務(wù)可以決定在它滯后時(shí)以較低質(zhì)量進(jìn)行處理或者在它提前時(shí)以較高質(zhì)量進(jìn)行處理。
權(quán)利要求3中描述了根據(jù)本發(fā)明的方法的一種實(shí)施方案。通過以多個(gè)增提供實(shí)時(shí)預(yù)算,系統(tǒng)上運(yùn)行的其它任務(wù)也可以使用處理器時(shí)間。于是,系統(tǒng)能夠并行運(yùn)行多個(gè)任務(wù)。
權(quán)利要求4中描述了根據(jù)本發(fā)明的方法的一種實(shí)施方案。通過以步長(zhǎng)使參考時(shí)鐘前進(jìn),在該步長(zhǎng)上給任務(wù)提供多個(gè)增量中的一個(gè)增量,任務(wù)可以運(yùn)行在具有時(shí)鐘的參考處理器上,該參考處理器以不同于實(shí)時(shí)處理器的頻率運(yùn)行。
權(quán)利要求5中描述了根據(jù)本發(fā)明的方法的一種實(shí)施方案。通過在給任務(wù)提供附加實(shí)時(shí)預(yù)算時(shí)不進(jìn)行參考時(shí)鐘,任務(wù)仍然能夠關(guān)于它已經(jīng)完成的子處理步驟的數(shù)量估計(jì)它的進(jìn)度。實(shí)時(shí)預(yù)算是確保在預(yù)定周期中接收的預(yù)算。例如,當(dāng)任務(wù)處理幀時(shí),實(shí)時(shí)預(yù)算可以是任務(wù)為它必須處理的每個(gè)幀所接收的預(yù)算。
權(quán)利要求6中描述了根據(jù)本發(fā)明的方法的一種實(shí)施方案。通過在對(duì)任務(wù)撤消實(shí)時(shí)預(yù)算時(shí)進(jìn)行參考時(shí)鐘,任務(wù)仍然能夠關(guān)于它已經(jīng)完成的子處理步驟的數(shù)量估計(jì)它的進(jìn)度。當(dāng)撤消實(shí)時(shí)預(yù)算時(shí),任務(wù)已經(jīng)關(guān)于參考時(shí)鐘進(jìn)行完畢。
權(quán)利要求7中描述了根據(jù)當(dāng)前發(fā)明的方法的一種實(shí)施方案。通過用實(shí)時(shí)時(shí)鐘周期表達(dá)參考時(shí)鐘周期,能夠在一個(gè)周期中調(diào)整它們的處理的任務(wù)能夠更精確地判斷它們是提前還是落后并相應(yīng)地做出反應(yīng)。
本發(fā)明進(jìn)一步的目標(biāo)是根據(jù)以改善的方式估計(jì)任務(wù)進(jìn)度的開端部分提供一種系統(tǒng)。為了實(shí)現(xiàn)這個(gè)目標(biāo),根據(jù)本發(fā)明的系統(tǒng)其特征在于,該系統(tǒng)還包括參考時(shí)鐘裝置,用來模擬提供多個(gè)多個(gè)參考時(shí)鐘周期的虛擬參考時(shí)鐘,其中多個(gè)多個(gè)參考時(shí)鐘周期中的一個(gè)參考時(shí)鐘周期與在多個(gè)實(shí)時(shí)時(shí)鐘周期和實(shí)時(shí)預(yù)算中包括的時(shí)鐘周期數(shù)之間的比值成比例;進(jìn)行裝置,用來在給任務(wù)提供實(shí)時(shí)預(yù)算時(shí)使虛擬參考時(shí)鐘前進(jìn)至少一個(gè)參考時(shí)鐘周期;其中管理裝置還用來管理多個(gè)參考時(shí)鐘周期的參考數(shù)量多個(gè)。
權(quán)利要求9和10中描述了根據(jù)本發(fā)明的用于估計(jì)任務(wù)進(jìn)度的系統(tǒng)的實(shí)施方案。
將通過下列附圖中所描繪的實(shí)施方案來描述本發(fā)明。
圖1描述根據(jù)本發(fā)明的方法的主要步驟;圖2描述預(yù)算和周期的概念;圖3描述實(shí)時(shí)時(shí)間和參考時(shí)間的概念;圖4以示意方式描述根據(jù)本發(fā)明的系統(tǒng)的一種實(shí)施方案中最重要的部分;圖5以示意方式描述包含根據(jù)本發(fā)明的系統(tǒng)的一種實(shí)施方案的電視機(jī);圖6以示意方式描述包含根據(jù)本發(fā)明的系統(tǒng)的一種實(shí)施方案的置頂盒中最重要的部分。
現(xiàn)今,連續(xù)的媒體數(shù)據(jù)處理越來越多地由可編程部件而不是專用單一功能部件來執(zhí)行。連續(xù)的媒體數(shù)據(jù)處理的一種特征,例如音頻和視頻所要求的特征是定時(shí)限制的存在,也稱為截止時(shí)間。為了適當(dāng)?shù)靥幚磉@樣的數(shù)據(jù),系統(tǒng)必須觀察定時(shí)限制并且確保有足夠的系統(tǒng)資源用于處理。
因?yàn)閷?shí)時(shí)資源(例如CPU和存儲(chǔ)器)是有限的,可能無法為特定的處理會(huì)話保留足夠的系統(tǒng)資源。這會(huì)導(dǎo)致任務(wù)錯(cuò)過它們的截止時(shí)間,這引起系統(tǒng)性能的下降以及對(duì)可利用資源的最佳利用不夠充分。
可以把連續(xù)的媒體數(shù)據(jù)處理細(xì)分成多個(gè)任務(wù),其中每個(gè)任務(wù)執(zhí)行一個(gè)處理步驟。例如,在MPEG視頻解碼器中,可以把解碼視頻流按需要解碼的幀綜合細(xì)分成下列任務(wù)報(bào)頭檢測(cè)、反離散余弦轉(zhuǎn)換、動(dòng)作補(bǔ)償和顯示解碼過的幀。這些任務(wù)中的每個(gè)任務(wù)都被依次細(xì)分為多個(gè)子處理步驟,并且都有允許用來運(yùn)行和處理例如一個(gè)視頻幀的預(yù)定數(shù)量的周期。此外,任務(wù)的所有周期可以等長(zhǎng)度并且它們可以是連續(xù)的。在每個(gè)周期中允許任務(wù)消耗的資源預(yù)算稱為周期預(yù)算。一個(gè)任務(wù)的周期預(yù)算在每一個(gè)周期中可以是相同的或者也可以是不同的。任務(wù)可以有表示一個(gè)時(shí)間標(biāo)記的截止時(shí)間,在該時(shí)間標(biāo)記之前任務(wù)必須在一個(gè)周期內(nèi)完成一定的工作量,例如報(bào)頭檢測(cè)。這里,截止時(shí)間等于周期的結(jié)尾。當(dāng)任務(wù)在一個(gè)周期內(nèi)沒有滿足它的截止時(shí)間時(shí),它就無法完成它的處理步驟,這會(huì)對(duì)下一個(gè)處理步驟產(chǎn)生負(fù)面影響并導(dǎo)致系統(tǒng)的總體性能下降。因而,任務(wù)能夠在與例如幀速率相對(duì)應(yīng)的周期中執(zhí)行一定的工作量或者任務(wù)能夠在獨(dú)立于幀速率的周期中執(zhí)行一定的工作量,并且每個(gè)周期的預(yù)算相同。尤其當(dāng)任務(wù)提前工作時(shí),它們能夠根據(jù)每單位時(shí)間要處理的進(jìn)度決定調(diào)整自己的處理。
圖1描述根據(jù)本發(fā)明的方法的一種實(shí)施方案的主要步驟。這些步驟是對(duì)由商業(yè)可獲得的稱為pSOS的實(shí)時(shí)操作系統(tǒng)執(zhí)行的方法步驟之外附加執(zhí)行的,它們?cè)谝黄鸨环Q為系統(tǒng)軟件。這些步驟還可以是對(duì)由其它實(shí)時(shí)操作系統(tǒng)(例如VxWorks)執(zhí)行的方法步驟之外附加執(zhí)行的。系統(tǒng)軟件調(diào)度任務(wù)并保留這些任務(wù)的實(shí)時(shí)資源預(yù)算。考慮將要由CPU或能夠執(zhí)行任務(wù)的協(xié)處理器執(zhí)行的有T周期的周期任務(wù)。讓我們考慮三種情況1、任務(wù)完全消耗分配給它的預(yù)算2、任務(wù)在它的預(yù)算之外還消耗額外時(shí)間3、任務(wù)消耗小于它的預(yù)算的時(shí)間下面將參考圖1詳細(xì)描述這三種情況??紤]第一種情況。在S102中系統(tǒng)軟件保留允許任務(wù)在當(dāng)前周期中使用的CPU的時(shí)鐘周期的實(shí)時(shí)預(yù)算。當(dāng)預(yù)算在多個(gè)連續(xù)周期沒有變化時(shí),可以只在每次預(yù)算必須變化時(shí)僅執(zhí)行一次這個(gè)步驟。這個(gè)實(shí)時(shí)預(yù)算表示任務(wù)能夠用于它的處理的CPU時(shí)鐘周期量,參見圖2。在圖2中,202描述任務(wù)的周期,204描述允許任務(wù)在該周期中使用或消耗的實(shí)時(shí)預(yù)算。在每個(gè)周期202,系統(tǒng)軟件確保任務(wù)可以使用實(shí)時(shí)預(yù)算204中的量。任務(wù)可以選擇接收附加時(shí)鐘周期206,稱為松弛時(shí)間。松弛時(shí)間是由于內(nèi)在的調(diào)度不完全而留下的時(shí)間或時(shí)鐘周期,或者是其它任務(wù)留下的時(shí)間。此外,任務(wù)可以選擇接收少于實(shí)時(shí)預(yù)算204的時(shí)間,由208表示。例如可以是不允許任務(wù)在該周期中再運(yùn)行的情況。因此,有三種可以考慮的不同時(shí)間概念實(shí)時(shí)由實(shí)際處理器提供的時(shí)間;預(yù)算內(nèi)時(shí)間根據(jù)兩個(gè)連續(xù)周期之間預(yù)算的任務(wù)可用實(shí)時(shí)時(shí)間;消耗時(shí)間任務(wù)所消耗的實(shí)時(shí)時(shí)間量,它等于預(yù)算內(nèi)時(shí)間加上所消耗的松弛時(shí)間再減去產(chǎn)生的松弛時(shí)間;為了使任務(wù)能夠在不需要對(duì)任務(wù)的特殊功能和接口的情況下即可方便的確定它的進(jìn)度,引入了虛擬參考時(shí)鐘,任務(wù)可以參考這個(gè)虛擬參考時(shí)鐘來取代參考實(shí)時(shí)處理器。虛擬參考時(shí)鐘對(duì)任務(wù)來說表現(xiàn)得如同實(shí)時(shí)時(shí)鐘,但它以不同于實(shí)時(shí)處理器的頻率進(jìn)行。虛擬參考時(shí)鐘上的時(shí)鐘周期數(shù)由周期202中所包括的多個(gè)實(shí)時(shí)時(shí)鐘周期和在所保證的任務(wù)預(yù)算中包括的時(shí)鐘周期之間的比值決定,也可參見圖3。圖3描述了實(shí)時(shí)時(shí)間tr和參考時(shí)間tv的概念。這里,周期202被描述為從t0到t1的時(shí)間間隔。系統(tǒng)軟件向這個(gè)時(shí)間間隔的任務(wù)確保預(yù)定量的實(shí)時(shí)處理器時(shí)間,稱為實(shí)時(shí)預(yù)算204。在本節(jié)剩余部分中,實(shí)時(shí)預(yù)算204由b204表示,周期202由T202表示。以多個(gè)增量Δj的形式把該實(shí)時(shí)處理器時(shí)間量提供給任務(wù),其中0<j<=n,因此b204=Σk=1nΔn]]>每次向任務(wù)提供增量時(shí),虛擬參考時(shí)鐘前進(jìn)Δj×T/B。因此,虛擬參考時(shí)鐘以不同于實(shí)時(shí)處理器的頻率運(yùn)行。除了保留任務(wù)的實(shí)時(shí)資源之外,在這個(gè)步驟中設(shè)置參考時(shí)鐘上的參考時(shí)間等于實(shí)時(shí)處理器所提供的實(shí)時(shí)時(shí)間。
在步驟S104中任務(wù)開始使用它的預(yù)算。任務(wù)開始使用它的預(yù)算的時(shí)間由302表示,參見圖3。在下一步驟,即步驟S106中任務(wù)消耗它的預(yù)算并執(zhí)行它的子處理步驟。系統(tǒng)軟件根據(jù)恢復(fù)和掛起任務(wù)決定該任務(wù)何時(shí)開始使用預(yù)算以及它何時(shí)必須停止使用它的預(yù)算的時(shí)間。
在步驟S106中,任務(wù)可以選擇執(zhí)行子步驟S108向系統(tǒng)軟件請(qǐng)求時(shí)間,這個(gè)時(shí)間由tv表示。然后在S110中系統(tǒng)軟件根據(jù)下面的公式計(jì)算參考時(shí)鐘上tv的時(shí)間tv=t0+(t1-t0)*Σk=1jΔk/b204]]>這個(gè)公式表示當(dāng)任務(wù)在間隔的開始處接收它的整個(gè)預(yù)算b204時(shí),參考時(shí)間將提前于實(shí)際時(shí)間tv>tr。當(dāng)任務(wù)在間隔的結(jié)尾處接收它的整個(gè)預(yù)算時(shí),參考時(shí)間將落后于實(shí)際時(shí)間tv<tr。換句話說,在周期202中參考時(shí)間可能提前或落后,這取決于預(yù)算何時(shí)對(duì)任務(wù)可用。不管怎樣,對(duì)j=n來說tv=t1。也可以用其它公式或方式確定參考時(shí)鐘上的時(shí)間。
在步驟S112中,系統(tǒng)軟件將虛擬參考時(shí)間返回給任務(wù)。接著,在可選步驟S114中任務(wù)比較這個(gè)時(shí)間和已經(jīng)執(zhí)行的子處理操作數(shù)。當(dāng)處理操作數(shù)與由任務(wù)已經(jīng)消耗的時(shí)間相比太小時(shí),任務(wù)落后。例如當(dāng)任務(wù)由100個(gè)操作組成,參考時(shí)間與周期結(jié)尾相一致,但任務(wù)僅執(zhí)行了10個(gè)操作,則該任務(wù)在周期結(jié)束之前完成剩下的90個(gè)處理步驟的機(jī)會(huì)很小。
估計(jì)進(jìn)度的另一種方式是通過查看剩余時(shí)間。例如,考慮任務(wù)接收最壞情況預(yù)算的情形。這種預(yù)算只能在需要極端的處理要求時(shí)使用或在超載情形的期間使用。在正常操作期間,任務(wù)不能正常地使用它的完整預(yù)算。換句話說,在正常執(zhí)行期間任務(wù)將完成處理,但在虛擬參考時(shí)鐘上仍然有剩余時(shí)間。剩余的時(shí)間量隨后可由任務(wù)使用以便估計(jì)它的進(jìn)度。當(dāng)剩余時(shí)間量大于所預(yù)期的時(shí),任務(wù)提前;當(dāng)它小于所預(yù)期的時(shí),任務(wù)落后。對(duì)所有情況來說,任務(wù)都能通過跳過工作、拒絕剩余預(yù)算或者通過在可能時(shí)用較少的努力執(zhí)行工作來采取合適的措施。例如,考慮能夠在多次迭代中提高圖像分辨率的任務(wù),在每次迭代后當(dāng)它滯后時(shí)它可以決定不再提高分辨率。通過跳過工作,當(dāng)任務(wù)落后時(shí)它能夠趕上去。在MPEG環(huán)境中,跳過工作意味著在沒有隨后的B-幀時(shí)跳過來自圖片群(GOP)的整個(gè)B-幀或最后的P-幀。當(dāng)工作被跳過時(shí),執(zhí)行該相同工作的下一個(gè)任務(wù)也受影響。
在確定它的進(jìn)度后,執(zhí)行步驟S116。在可選步驟S108、S110、S112和S114沒有執(zhí)行時(shí)也可以從S106到達(dá)S116。在步驟S116中,任務(wù)停止使用它的預(yù)算。任務(wù)停止使用它的預(yù)算的時(shí)間由304表示,見圖3。每次任務(wù)使用它的預(yù)算增量的時(shí)候執(zhí)行步驟S104到S116。在完成時(shí)方法到達(dá)S118。
考慮第二種情況,在使用由306表示的最后增量之后,見圖3,虛擬參考時(shí)鐘上的時(shí)間等于實(shí)時(shí)時(shí)間。因此,系統(tǒng)軟件根據(jù)在任務(wù)已經(jīng)消耗了分配給它的預(yù)算之后對(duì)該時(shí)間的每次請(qǐng)求,在步驟S112中把這個(gè)最后的參考時(shí)鐘時(shí)間返回給任務(wù)。
考慮第三種情況,這種情況發(fā)生在任務(wù)沒有消耗增量或把它對(duì)資源的請(qǐng)求返回給系統(tǒng)軟件時(shí)。然后在S116中,使參考時(shí)鐘上的時(shí)間等于表示周期結(jié)尾的實(shí)時(shí)時(shí)間。隨后任務(wù)在當(dāng)前周期內(nèi)完成。
因而松弛時(shí)間的消耗和產(chǎn)生對(duì)參考時(shí)間沒有影響。
在所描述的當(dāng)前發(fā)明的方法的實(shí)施方案中的順序不是強(qiáng)制的,本領(lǐng)域的技術(shù)人員可以在不偏離本發(fā)明的概念的情況下更改步驟的順序或用多線程模式、多處理器系統(tǒng)或多進(jìn)度并發(fā)執(zhí)行這些步驟。
圖4以示意方式描述根據(jù)本發(fā)明的系統(tǒng)的一種實(shí)施方案中最重要的部分。系統(tǒng)400包括CPU402。系統(tǒng)還可以包括多個(gè)處理器和協(xié)處理器。此外,系統(tǒng)包括在存儲(chǔ)器412中的實(shí)時(shí)系統(tǒng)軟件。子系統(tǒng)420包括任務(wù),存儲(chǔ)器404包括任務(wù)能夠如前所述地在它的周期中使用的實(shí)時(shí)處理器周期的預(yù)算。存儲(chǔ)器404的內(nèi)容由實(shí)時(shí)系統(tǒng)軟件決定,實(shí)時(shí)系統(tǒng)軟件決定由系統(tǒng)執(zhí)行的所有任務(wù)的預(yù)算。在存儲(chǔ)器406中管理由任務(wù)實(shí)際使用的實(shí)時(shí)處理器周期數(shù)。系統(tǒng)軟件訪問這個(gè)存儲(chǔ)器。存儲(chǔ)器408包括模擬包括它的進(jìn)度的參考時(shí)鐘的軟件,存儲(chǔ)器410包括在一個(gè)任務(wù)周期中參考時(shí)鐘前進(jìn)的參考時(shí)鐘周期數(shù)。當(dāng)提供實(shí)時(shí)預(yù)算的增量給任務(wù)時(shí),參考時(shí)鐘按照前面所述的速度進(jìn)行。存儲(chǔ)器410至少可以由任務(wù)訪問,任務(wù)可以用存儲(chǔ)器410的內(nèi)容來驅(qū)動(dòng)任務(wù)的進(jìn)度。系統(tǒng)400是用軟件實(shí)現(xiàn)的,所用軟件用來作為由計(jì)算機(jī)或能夠運(yùn)行軟件的其它標(biāo)準(zhǔn)結(jié)構(gòu)運(yùn)行的應(yīng)用程序而運(yùn)行。可以用該系統(tǒng)來運(yùn)行數(shù)字電視機(jī)414。還可以從包含可執(zhí)行根據(jù)本發(fā)明的方法的計(jì)算機(jī)程序產(chǎn)品的存儲(chǔ)設(shè)備418中更新軟件。存儲(chǔ)設(shè)備可以由合適的讀取設(shè)備讀取,例如與系統(tǒng)400相連的CD讀取器416。
圖5以示意方式描述電視機(jī)510,它包括根據(jù)本發(fā)明的系統(tǒng)的一種實(shí)施方案。這里天線500接收電視信號(hào)。任意能夠接收或再生成電視信號(hào)的設(shè)備,例如圓盤式衛(wèi)星電視天線、有線電纜、存儲(chǔ)設(shè)備、互連網(wǎng)或以太網(wǎng),都可以代替天線500。接收器502接收信號(hào)。信號(hào)可以是例如數(shù)字、模擬、RGB或YUV。除了接收器502之外,電視機(jī)包含可編程部件504,例如可編程集成電路。這種可編程部件包括根據(jù)本發(fā)明的系統(tǒng)506。電視屏幕508顯示由接收器502接收并由可編程部件504處理過的圖像。當(dāng)用戶要記錄接收到的信號(hào)(例如電影)時(shí),根據(jù)本發(fā)明的系統(tǒng)506在記錄設(shè)備上記錄接收到的信號(hào),例如在DVD+RW、緊致磁盤(compact disk)或硬盤上。當(dāng)用戶想播放記錄下的電影時(shí),根據(jù)本發(fā)明的系統(tǒng)506從記錄設(shè)備檢索合適的數(shù)據(jù)。
圖6以示意方式描述包括根據(jù)本發(fā)明的系統(tǒng)的一種實(shí)施方案的置頂盒中的最重要部分。這里,天線600接收電視信號(hào)。天線還可以是圓盤式衛(wèi)星電視天線、有線電纜、存儲(chǔ)設(shè)備、互連網(wǎng)、以太網(wǎng)或者能夠接收電視信號(hào)的任意其它設(shè)備。置頂盒602接收信號(hào)。信號(hào)可以是例如數(shù)字信號(hào)、模擬信號(hào)、RGB或YUV。除了置頂盒中包含的普通部件(這里沒有顯示出來)之外,置頂盒包含根據(jù)本發(fā)明的系統(tǒng)604。當(dāng)用戶想記錄接收到的信號(hào)(例如電影)時(shí),根據(jù)本發(fā)明的系統(tǒng)604把接收到的信號(hào)記錄在記錄設(shè)備上,例如DVD+RW、緊致磁盤(compactdisk)或硬盤。當(dāng)用戶想播放記錄下的電影時(shí),根據(jù)本發(fā)明的系統(tǒng)604從記錄設(shè)備中檢索合適的數(shù)據(jù)。電視機(jī)606能夠顯示由從置頂盒602接收到的信號(hào)所生成的輸出信號(hào)。
權(quán)利要求
1.一種估計(jì)任務(wù)進(jìn)度的方法,任務(wù)在實(shí)時(shí)處理器上執(zhí)行,實(shí)時(shí)處理器提供多個(gè)實(shí)時(shí)時(shí)鐘周期,該方法包括下列步驟第一步,保留任務(wù)的實(shí)時(shí)預(yù)算,其中實(shí)時(shí)預(yù)算包括與多個(gè)實(shí)時(shí)時(shí)鐘周期的至少一部分相等的多個(gè)時(shí)鐘周期;第二步,通過管理由任務(wù)使用的多個(gè)實(shí)時(shí)時(shí)鐘周期的實(shí)際數(shù)量估計(jì)任務(wù)的進(jìn)度,其特征是任務(wù)還參考虛擬參考時(shí)鐘,虛擬參考時(shí)鐘提供多個(gè)參考時(shí)鐘周期,其中多個(gè)參考時(shí)鐘周期的一個(gè)參考時(shí)鐘周期與多個(gè)實(shí)時(shí)時(shí)鐘周期和實(shí)時(shí)預(yù)算中包括的時(shí)鐘周期數(shù)之間的比值成比例;以及該方法還包括第三步,當(dāng)向任務(wù)提供實(shí)時(shí)預(yù)算時(shí)使虛擬參考時(shí)鐘前進(jìn)至少一個(gè)參考時(shí)鐘周期;和其中方法的第二步還包括管理由任務(wù)使用的多個(gè)參考時(shí)鐘周期的參考數(shù)量。
2.權(quán)利要求1的估計(jì)任務(wù)進(jìn)度的方法,其中當(dāng)由參考量表示的參考時(shí)間超過實(shí)際量時(shí)任務(wù)的進(jìn)度提前,當(dāng)由參考量表示的參考時(shí)間小于實(shí)際量時(shí)任務(wù)的進(jìn)度落后。
3.權(quán)利要求1的估計(jì)任務(wù)進(jìn)度的方法,其中以多個(gè)增量提供實(shí)時(shí)預(yù)算給任務(wù)。
4.權(quán)利要求3的估計(jì)任務(wù)進(jìn)度的方法,其中當(dāng)向任務(wù)提供多個(gè)增量的增量時(shí)參考時(shí)鐘前進(jìn)。
5.權(quán)利要求1的估計(jì)任務(wù)進(jìn)度的方法,其中當(dāng)向任務(wù)提供附加實(shí)時(shí)預(yù)算時(shí)參考時(shí)鐘不前進(jìn)。
6.權(quán)利要求1的估計(jì)任務(wù)進(jìn)度的方法,其中當(dāng)從任務(wù)撤消實(shí)時(shí)預(yù)算時(shí)參考時(shí)鐘前進(jìn)。
7.權(quán)利要求4的估計(jì)任務(wù)進(jìn)度的方法,其中多個(gè)參考時(shí)鐘周期的一個(gè)時(shí)鐘周期tr由多個(gè)實(shí)時(shí)時(shí)鐘周期表示tr=t0+(t1-t0)*Σk=1jΔkbsys]]>其中bsys是實(shí)時(shí)預(yù)算,Δk是多個(gè)增量的增量,t0是多個(gè)參考時(shí)鐘周期的第一個(gè)時(shí)鐘周期,t1是多個(gè)參考時(shí)鐘周期的結(jié)束。
8.一種用于估計(jì)任務(wù)進(jìn)度的系統(tǒng),該系統(tǒng)包括實(shí)時(shí)處理器裝置(402),用來執(zhí)行多個(gè)實(shí)時(shí)時(shí)鐘周期;保留裝置(404),用來保留任務(wù)的實(shí)時(shí)預(yù)算,其中實(shí)時(shí)預(yù)算包括與多個(gè)實(shí)時(shí)時(shí)鐘周期的至少一部分相等的多個(gè)時(shí)鐘周期;管理裝置(406),用來管理由任務(wù)使用的多個(gè)實(shí)時(shí)時(shí)鐘周期的實(shí)際數(shù)量以估計(jì)該任務(wù)的進(jìn)度,其特征在于該系統(tǒng)還包括參考時(shí)鐘裝置(408),用來模擬提供多個(gè)參考時(shí)鐘周期的虛擬參考時(shí)鐘,其中多個(gè)參考時(shí)鐘周期中的一個(gè)參考時(shí)鐘周期與多個(gè)實(shí)時(shí)時(shí)鐘周期和實(shí)時(shí)預(yù)算中包括的周期數(shù)之間的比值成比例;前進(jìn)裝置(408),用來在給任務(wù)提供實(shí)時(shí)預(yù)算時(shí)使虛擬參考時(shí)鐘前進(jìn)至少一個(gè)參考時(shí)鐘周期;其中管理裝置(410)還用來管理多個(gè)參考時(shí)鐘周期的參考數(shù)量;
9.權(quán)利要求8的系統(tǒng)(400),其中前進(jìn)裝置(408)還用來在給任務(wù)提供多個(gè)實(shí)時(shí)預(yù)算增量的增量時(shí)使虛擬參考時(shí)鐘前進(jìn)至少一個(gè)時(shí)鐘周期。
10.一種被安排成用來執(zhí)行根據(jù)權(quán)利要求1到7的方法的計(jì)算機(jī)程序產(chǎn)品。
11.一種包括根據(jù)權(quán)利要求10的計(jì)算機(jī)程序產(chǎn)品的存儲(chǔ)設(shè)備(418)。
12.一種包括接收器(502)、可編程部件(504)、顯示屏幕(508)和根據(jù)權(quán)利要求8或9的系統(tǒng)的電視機(jī)(510),接收器用于接收視頻信號(hào),可編程部件用于運(yùn)行處理視頻信號(hào)的任務(wù),顯示屏幕用于顯示處理過的視頻信號(hào)。
13.一種包括接收器(602)和根據(jù)權(quán)利要求8或9的系統(tǒng)的置頂盒(602),接收器用于接收視頻和/或音頻流并對(duì)視和/或音頻流進(jìn)行解碼。
全文摘要
在實(shí)時(shí)處理領(lǐng)域中,對(duì)例如視頻幀或音頻的處理可以分成多個(gè)任務(wù)。任務(wù)接收在處理期間允許它使用的資源預(yù)算(S102)。因?yàn)橛扇蝿?wù)執(zhí)行的處理是有定時(shí)限制的,任務(wù)必須能夠確定它的進(jìn)度(S108)。為了使任務(wù)能夠確定它的進(jìn)度,任務(wù)參考它所用的來自虛擬參考時(shí)鐘的參考時(shí)鐘周期的數(shù)量并把該數(shù)量和任務(wù)已經(jīng)執(zhí)行的子處理步驟的數(shù)量進(jìn)行比較。虛擬參考時(shí)鐘提供多個(gè)參考時(shí)鐘周期,其中多個(gè)參考時(shí)鐘周期中的一個(gè)參考時(shí)鐘周期與多個(gè)實(shí)時(shí)時(shí)鐘周期和實(shí)時(shí)預(yù)算中包括的時(shí)鐘周期數(shù)之間的比值成比例。
文檔編號(hào)G06F11/34GK1513141SQ02811391
公開日2004年7月14日 申請(qǐng)日期2002年6月3日 優(yōu)先權(quán)日2001年6月5日
發(fā)明者E·F·M·斯特芬斯, E F M 斯特芬斯, R·J·布里爾, 布里爾 申請(qǐng)人:皇家菲利浦電子有限公司