亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

避免長(zhǎng)延遲事件發(fā)生的方法

文檔序號(hào):6651238閱讀:146來(lái)源:國(guó)知局
專利名稱:避免長(zhǎng)延遲事件發(fā)生的方法
技術(shù)領(lǐng)域
本發(fā)明系有關(guān)一種防止長(zhǎng)延遲事件發(fā)生的程序,特別是有關(guān)于在處理器中防止長(zhǎng)延遲事件發(fā)生的程序。
背景技術(shù)
在現(xiàn)今的處理器工作程序中,當(dāng)許多個(gè)不同的工作程序要交由同一個(gè)處理器作運(yùn)算執(zhí)行時(shí),如何安排工作的處理次序是門重要的課題。當(dāng)處理器中具有多個(gè)不同的工作等待被執(zhí)行時(shí),適時(shí)地讓具有急迫性的工作先被完成,而較不急迫的工作則延后執(zhí)行是在習(xí)知的技術(shù)中常見(jiàn)的處理方式。
上述有關(guān)于工作急迫性的區(qū)分,則牽扯到在已有技術(shù)之中有關(guān)于「優(yōu)先權(quán)」概念的使用。對(duì)于重要性較高的工作程序,則處理器給予相對(duì)較高的優(yōu)先權(quán)以及早處理;反之,對(duì)于重要性較低的工作程序,那么處理器就會(huì)給予相對(duì)較低的優(yōu)先權(quán)以延后處理??上攵?,對(duì)于被認(rèn)定為最重要的工作,那么處理器勢(shì)必會(huì)給予最高的優(yōu)先權(quán),以及最多的運(yùn)算資源以最快地完成工作。
但在已有技術(shù)中,偶而會(huì)有最重要的工作必須先滿足某一特定條件之后才可被執(zhí)行的情況發(fā)生,因此如果該特定條件不能夠在一特定的時(shí)間內(nèi)被滿足的話,那么所有在處理器中的工作程序都將因此而被延后執(zhí)行,此即所謂的「長(zhǎng)延遲事件」。
圖1顯示一傳統(tǒng)處理器中工作程序的流程圖。首先在步驟100中,是驅(qū)動(dòng)處理器的驅(qū)動(dòng)程式被啟動(dòng);接著在步驟103中,驅(qū)動(dòng)程式檢查一事件(event)是否發(fā)生,若事件未發(fā)生則重復(fù)地再檢查,直到該事件發(fā)生才進(jìn)入下一步驟,而上述所謂的事件也就是驅(qū)動(dòng)程式即將要執(zhí)行的工作,一般而言,在電腦系統(tǒng)中的驅(qū)動(dòng)程式所要處理的工作,都是重要性較高的工作,因此處理器將會(huì)在處理完該事件后,才繼續(xù)執(zhí)行其它的工作;而當(dāng)該事件發(fā)生時(shí),會(huì)執(zhí)行一時(shí)間延遲程序106,讓處理器執(zhí)行一回圈,其目的是為了讓處理器靜待一段時(shí)間以等待一狀態(tài)(status)發(fā)生,而所謂的狀態(tài)是指一個(gè)必要條件,在滿足此必要條件的前提下,才可以使事件被執(zhí)行,而上述的事件與狀態(tài),都會(huì)在接下來(lái)的內(nèi)文中舉例說(shuō)明之。
當(dāng)執(zhí)行完時(shí)間延遲程序106后,接著便執(zhí)行輪詢狀態(tài)(poll status)109步驟,如果狀態(tài)符合事件可以被執(zhí)行的條件,那么就執(zhí)行事件目標(biāo)功能(performevent destination function)112,這時(shí)處理器會(huì)處理該事件,然后進(jìn)入步驟115中,驅(qū)動(dòng)程式會(huì)執(zhí)行其它的功能操作,最后再重新回到步驟103中;而如果在步驟109中,狀態(tài)不符合事件可以被執(zhí)行的條件,那么就會(huì)重新回到時(shí)間延遲程序106中。
由以上的說(shuō)明可知,如果在步驟109中的狀態(tài)遲遲不能符合事件可被執(zhí)行的條件,那么處理器的效能將重復(fù)地耗費(fèi)在步驟106與步驟109上,而使得長(zhǎng)延遲(long latency)的情形發(fā)生。
鑒于上述在習(xí)知驅(qū)動(dòng)程式中可能發(fā)生的長(zhǎng)延遲情形,特別是處理之事件需透過(guò)設(shè)定狀態(tài)位元通知處理器,而不是利用中斷的方式通知處理器,因而造成處理器無(wú)法處理其它的工作,因此極需要提出一種可以在驅(qū)動(dòng)程式的執(zhí)行過(guò)程中暫時(shí)釋放處理器資源以完成其它工作的方法,以避免處理器耗費(fèi)過(guò)多的時(shí)間在等待。

發(fā)明內(nèi)容鑒于上述之先前技術(shù)中傳統(tǒng)驅(qū)動(dòng)程式的諸多缺點(diǎn),本發(fā)明的主要目的在于提出一種可以暫時(shí)釋放處理器資源,以避免長(zhǎng)延遲事件的方法。
本發(fā)明的另一目的在提出一種處理器處理工作的方法,其可以在長(zhǎng)延遲事件發(fā)生時(shí),仍然能夠暫時(shí)處理其它的工作。
根據(jù)以上所述之目的,本發(fā)明提供了一種可以在處理器工作程序中,避免長(zhǎng)延遲事件的方法,主要包含以下步驟(a)重復(fù)檢查一事件(event)是否發(fā)生;(b)當(dāng)事件發(fā)生時(shí),執(zhí)行一時(shí)間延遲程序以等待一第一預(yù)設(shè)值的時(shí)間經(jīng)過(guò);(c)檢查一狀態(tài)(status)是否發(fā)生;及(d)當(dāng)步驟(c)中的該狀態(tài)沒(méi)有發(fā)生時(shí),執(zhí)行一資源釋放程序,讓該處理器在一第二預(yù)設(shè)值的時(shí)間內(nèi)執(zhí)行其它的工作程序,然后再回到步驟(b)。

圖1顯示習(xí)知的處理器工作流程圖;圖2顯示水平遮蔽與垂直遮蔽的示意圖;及圖3顯示符合本發(fā)明的處理器工作流程圖。
具體實(shí)施方式本發(fā)明的一些實(shí)施例會(huì)詳細(xì)描述如下。然而,除了詳細(xì)描述外,本發(fā)明還可以廣泛地在其他的實(shí)施例中施行,且本發(fā)明的范圍不受限定,其以之后的專利范圍為準(zhǔn)。
本發(fā)明揭露一種可以在驅(qū)動(dòng)程式的執(zhí)行過(guò)程中暫時(shí)釋放處理器資源以完成其它工作的方法。此方法可以應(yīng)用于任何具有輪詢(polling)功能的處理器驅(qū)動(dòng)程式上。
接下來(lái)將以一個(gè)實(shí)施例來(lái)說(shuō)明本發(fā)明之內(nèi)容。在常見(jiàn)的電腦系統(tǒng)中,當(dāng)系統(tǒng)所執(zhí)行的工作較為單調(diào)或是對(duì)于運(yùn)算處理的效能需求不大時(shí),那么此時(shí)為了節(jié)省資源,電腦系統(tǒng)會(huì)自動(dòng)判定對(duì)中央處理器(CPU)進(jìn)行降低工作時(shí)脈頻率的處理,或是降低供給中央處理器的工作電壓。但由于電腦系統(tǒng)此時(shí)仍處于工作狀態(tài),所以在對(duì)中央處理器進(jìn)行上述的變動(dòng)時(shí),必須在適當(dāng)?shù)臅r(shí)機(jī)作調(diào)整才不至于影響電腦系統(tǒng)目前正在處理的工作。
舉例來(lái)說(shuō),假設(shè)電腦系統(tǒng)目前只進(jìn)行播放VCD而沒(méi)有執(zhí)行其它的工作時(shí),那么因?yàn)殡娔X系統(tǒng)并不需要中央處理器全部的運(yùn)算資源,所以此時(shí)驅(qū)動(dòng)程式可以對(duì)中央處理器降低工作頻率或是降低工作電壓以節(jié)省資源的浪費(fèi),而這即所謂一個(gè)事件(event)的發(fā)生。在一事件發(fā)生后,接著驅(qū)動(dòng)程式應(yīng)當(dāng)?shù)却粋€(gè)適當(dāng)?shù)臅r(shí)機(jī),也就是說(shuō)在該時(shí)機(jī)的電腦系統(tǒng)正處于某種狀態(tài)(status)中,可以執(zhí)行降低工作頻率或是降低工作電壓的處理。在本例中,其中一個(gè)上述的狀態(tài)條件,指的是屏幕的顯示正好處于”垂直遮蔽”(vertical blanking)或是”水平遮蔽”(horizontal blanking)的時(shí)候。
在第二A圖中顯示一垂直遮蔽與一水平遮蔽的例子。當(dāng)一屏幕要顯示一畫面,那么此畫面依次是由屏幕的最左上角開始,由左至右的顯示出第一列的像素(pixel),接著再?gòu)牡谝涣凶詈笠粋€(gè)像素移動(dòng)至第二列的第一個(gè)像素,再由左至右的顯示出第二列,然后依序顯示接下來(lái)的每一列直到最后一列的最后一個(gè)像素,也就是該屏幕的最右下角為止。而當(dāng)屏幕要顯示下一畫面時(shí),那么則必須從屏幕的最右下角再重回到屏幕的最左上角之后,才開始作畫面的顯示。在以上的說(shuō)明中,當(dāng)屏幕的顯示由某一列的最后一個(gè)像素,返回至下一列的第一個(gè)像素位置之間的時(shí)間差,就是所謂的”水平遮蔽”。在水平遮蔽的期間屏幕將不會(huì)顯示任何新的像素。而屏幕從最后一列的最后一個(gè)像素,返回至屏幕第一列的第一個(gè)像素準(zhǔn)備要顯示下一畫面時(shí),這中間的時(shí)間差即稱之為”垂直遮蔽”。同樣地,在垂直遮蔽的期間屏幕也將不會(huì)顯示任何新的像素。
在上述的”水平遮蔽”或是”垂直遮蔽”的期間,由于沒(méi)有任何像素作顯示的動(dòng)作,因此可以被利用來(lái)執(zhí)行事件而不至于使屏幕上的畫面顯示不連貫,特別是”垂直遮蔽”所持續(xù)的時(shí)間較長(zhǎng),所以在本例中以”垂直遮蔽”的發(fā)生定義為事件可執(zhí)行的狀況已滿足。但在本發(fā)明的應(yīng)用上,并不限定電腦系統(tǒng)所執(zhí)行的單調(diào)工僅為播放VCD,也不限定在本發(fā)明中的事件僅表示中央處理器的降低工作頻率或是降低工作電壓,而且狀態(tài)也不限定僅表示”垂直遮蔽”的發(fā)生。
圖3顯示本發(fā)明的處理器工作流程圖。本發(fā)明提供一種可以暫時(shí)釋放處理器資源的方法。首先在步驟300中,是處理器的驅(qū)動(dòng)程式被啟動(dòng);接著在步驟303中,驅(qū)動(dòng)程式檢查一事件(event)是否發(fā)生,若事件未發(fā)生則重復(fù)地再檢查,直到該事件發(fā)生才進(jìn)入下一步驟,在本例中的事件是指電腦系統(tǒng)為了節(jié)省資源而對(duì)中央處理器作降低工作頻率或是降低工作電壓;而當(dāng)該事件發(fā)生時(shí),會(huì)執(zhí)行一時(shí)間延遲程序306,讓處理器執(zhí)行一回圈,其目的是為了讓處理器靜待一段時(shí)間以等待一狀態(tài)(status)發(fā)生,而所謂的狀態(tài)是指一個(gè)必要條件,在滿足此必要條件的前提下,才可以使事件被執(zhí)行,在本實(shí)施例中的狀態(tài)是指屏幕此時(shí)正處于”垂直遮蔽”的情況。
在時(shí)間延遲程序306中包含了將計(jì)數(shù)器設(shè)定一第一預(yù)設(shè)值的步驟3060、將計(jì)算器的內(nèi)值減1的步驟3063,以及判斷計(jì)數(shù)器的內(nèi)值是否為0的步驟3066,在步驟3066中若計(jì)數(shù)器的內(nèi)值不為0,則重回至步驟3063,但若計(jì)數(shù)器的內(nèi)值為0,則接著便執(zhí)行步驟309的輪詢狀態(tài)(poll status),如果狀態(tài)符合事件可以被執(zhí)行的條件,那么就執(zhí)行事件目標(biāo)功能(perform event destinationfunction)312,這時(shí)處理器會(huì)處理該事件,然后進(jìn)入步驟315中,驅(qū)動(dòng)程式會(huì)執(zhí)行其它的功能操作,最后再重新回到步驟303中。
而如果在步驟309中,狀態(tài)不符合事件可以被執(zhí)行的條件,那么就會(huì)進(jìn)入步驟318中的睡眠模式,讓中央處理器在一特定時(shí)間T1內(nèi),可以暫時(shí)釋收中央處理器的資源,來(lái)執(zhí)行其它的工作以避免長(zhǎng)延遲事件的發(fā)生。在本實(shí)施例中,當(dāng)電腦系統(tǒng)在播放VCD的過(guò)程里,發(fā)生了要將中央處理器作降頻或是降壓的事件,那么即使屏幕顯示的”垂直遮蔽”狀態(tài)尚未發(fā)生,中央處理器也可以在步驟318之中的睡眠模式暫時(shí)處理其它工作,讓VCD的播放工作得以連貫而不出現(xiàn)延遲,例如VCD撥放畫面掃描頻率不足。
由以上的說(shuō)明可知,本發(fā)明中所提出的方法可以在驅(qū)動(dòng)程式的執(zhí)行程序中,暫時(shí)釋放中央處理器的資源以處理其它的工作,所以不會(huì)出現(xiàn)長(zhǎng)延遲事件。而本發(fā)明并不限定僅能應(yīng)用于電腦系統(tǒng)中的中央處理器,在其它的處理器驅(qū)動(dòng)程式之中,只要該驅(qū)動(dòng)程式的程序中具有輪詢的步驟,且當(dāng)事件發(fā)生時(shí)該驅(qū)動(dòng)程式并不是利用中斷的方式來(lái)通知處理器,那么皆可以應(yīng)用本發(fā)明之方法。
以上所述僅為本發(fā)明之較佳實(shí)施例而已,并非用以限定本發(fā)明之申請(qǐng)專利范圍;凡其它未脫離本發(fā)明所揭示之精神下所完成之等效改變或修飾,均應(yīng)包含在下述之申請(qǐng)專利范圍中。
權(quán)利要求
1.一種避免長(zhǎng)延遲事件的方法,應(yīng)用于一處理器的工作程序中,包含(a)重復(fù)檢查一事件(event)是否發(fā)生;(b)當(dāng)該事件發(fā)生時(shí),執(zhí)行一時(shí)間延遲程序以等待一第一預(yù)設(shè)值的時(shí)間經(jīng)過(guò);(c)檢查一狀態(tài)(status)是否發(fā)生;及(d)當(dāng)步驟(c)中的該狀態(tài)沒(méi)有發(fā)生時(shí),執(zhí)行一資源釋放程序讓該處理器在一第二預(yù)設(shè)值的時(shí)間內(nèi),執(zhí)行一第一工作程序,然后再回到步驟(b)。
2.根據(jù)權(quán)利要求1所述的避免長(zhǎng)延遲事件的方法,其特征在于,步驟(d)包含當(dāng)步驟(c)中的該狀態(tài)發(fā)生時(shí),執(zhí)行一事件目的功能(event destinationfunction)。
3.根據(jù)權(quán)利要求2所述的避免長(zhǎng)延遲事件的方法,其特征在于,包含當(dāng)執(zhí)行完該事件目的功能后,會(huì)執(zhí)行一第二工作程序。
4.根據(jù)權(quán)利要求3所述的避免長(zhǎng)延遲事件的方法,其特征在于,包含當(dāng)執(zhí)行完該第二工作程序后,會(huì)重回到步驟(a)。
5.根據(jù)權(quán)利要求1所述的避免長(zhǎng)延遲事件的方法,其特征在于,該時(shí)間延遲程序由以下步驟完成(e)在一計(jì)數(shù)器中設(shè)定一計(jì)數(shù)器預(yù)設(shè)值;(f)將計(jì)數(shù)器中的計(jì)數(shù)器預(yù)設(shè)值減1;(g)檢查計(jì)數(shù)器預(yù)設(shè)值是否等于0;及(h)當(dāng)步驟(g)中的計(jì)數(shù)器預(yù)設(shè)值不等于0時(shí),重回到步驟(f)。
6.根據(jù)權(quán)利要求5所述的避免長(zhǎng)延遲事件的方法,其特征在于,當(dāng)步驟(g)中的計(jì)數(shù)器預(yù)設(shè)值等于0時(shí),會(huì)進(jìn)行步驟(c)。
7.一種避免長(zhǎng)延遲事件的方法,應(yīng)用于一處理器的工作程序中,包含(a)重復(fù)檢查一事件(event)是否發(fā)生;(b)當(dāng)該事件發(fā)生時(shí),在一計(jì)數(shù)器中設(shè)定一計(jì)數(shù)器預(yù)設(shè)值;(c)將計(jì)數(shù)器中的計(jì)數(shù)器預(yù)設(shè)值減1;(d)檢查計(jì)數(shù)器預(yù)設(shè)值是否等于0;(e)當(dāng)步驟(d)中的計(jì)數(shù)器預(yù)設(shè)值等于0時(shí),檢查一狀態(tài)(status)是否發(fā)生;及(f)當(dāng)步驟(e)中的該狀態(tài)沒(méi)有發(fā)生時(shí),執(zhí)行一資源釋放程序讓該處理器在一第二預(yù)設(shè)值的時(shí)間內(nèi),執(zhí)行一第一工作程序,然后再回到步驟(b)。
8.根據(jù)權(quán)利要求7所述的避免長(zhǎng)延遲事件的方法,其特征在于,步驟(f)包含當(dāng)步驟(e)中的該狀態(tài)發(fā)生時(shí),執(zhí)行一事件目的功能。
9.根據(jù)權(quán)利要求8所述的避免長(zhǎng)延遲事件的方法,其特征在于,包含當(dāng)執(zhí)行完該事件目的功能后,會(huì)執(zhí)行一第二工作程序。
10.根據(jù)權(quán)利要求9所述的避免長(zhǎng)延遲事件的方法,其特征在于,包含當(dāng)執(zhí)行完該第二工作程序后,會(huì)重回到步驟(a)。
11.根據(jù)權(quán)利要求7所述的避免長(zhǎng)延遲事件的方法,其特征在于,當(dāng)步驟(d)中的計(jì)數(shù)器預(yù)設(shè)值不等于0時(shí),會(huì)進(jìn)行步驟(c)。
12.一種避免長(zhǎng)延遲事件的方法,應(yīng)用于一處理器的工作程序中,包含(a)重復(fù)檢查一事件(event)是否發(fā)生;(b)當(dāng)該事件發(fā)生時(shí),在一計(jì)數(shù)器中設(shè)定一計(jì)數(shù)器預(yù)設(shè)值;(c)將計(jì)數(shù)器中的計(jì)數(shù)器預(yù)設(shè)值減1;(d)檢查計(jì)數(shù)器預(yù)設(shè)值是否等于0;(e)當(dāng)步驟(d)中的計(jì)數(shù)器預(yù)設(shè)值等于0時(shí),檢查一狀態(tài)(status)是否發(fā)生;(f)當(dāng)步驟(e)中的該狀態(tài)沒(méi)有發(fā)生時(shí),執(zhí)行一資源釋放程序讓該處理器在一第二預(yù)設(shè)值的時(shí)間內(nèi),執(zhí)行一第一工作程序,然后再回到步驟(b);及(g)當(dāng)步驟(e)中的該狀態(tài)發(fā)生時(shí),執(zhí)行一事件目的功能。
13.根據(jù)權(quán)利要求12所述的避免長(zhǎng)延遲事件的方法,其特征在于,更包含當(dāng)執(zhí)行完該事件目的功能后,會(huì)執(zhí)行一第二工作程序。
14.根據(jù)權(quán)利要求13所述的避免長(zhǎng)延遲事件的方法,其特征在于,包含當(dāng)執(zhí)行完該第二工作程序后,會(huì)重回到步驟(a)。
15.根據(jù)權(quán)利要求12所述的避免長(zhǎng)延遲事件的方法,其特征在于,當(dāng)步驟(d)中的計(jì)數(shù)器預(yù)設(shè)值不等于0時(shí),會(huì)進(jìn)行步驟(c)。
全文摘要
一種避免長(zhǎng)延遲事件的方法,應(yīng)用于一處理器的工作程序中,其于處理器檢查一狀態(tài)(status)是否發(fā)生的步驟中,如果該狀態(tài)并沒(méi)有發(fā)生,則執(zhí)行一資源釋放程序讓該處理器在一特定的時(shí)間內(nèi),執(zhí)行一第一工作程序,以避免處理器的長(zhǎng)延遲發(fā)生。
文檔編號(hào)G06F9/38GK1971506SQ20051012870
公開日2007年5月30日 申請(qǐng)日期2005年11月24日 優(yōu)先權(quán)日2005年11月24日
發(fā)明者平德林 申請(qǐng)人:矽統(tǒng)科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1