具有低圖形引擎利用的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行的制作方法
【專利摘要】本發(fā)明提供具有低圖形引擎利用的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行。方法包括通過與處理器和/或在數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)相關(guān)聯(lián)的驅(qū)動程序、通過在數(shù)據(jù)處理設(shè)備的處理器上執(zhí)行的測試指令基于其啟動來確定由在數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對處理器的圖形引擎的利用,以及通過測試指令確定處理器的一個或多個非圖形引擎的空閑狀態(tài)。方法還包括通過處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式,以及將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到數(shù)據(jù)處理設(shè)備的存儲器。進(jìn)一步地,方法包括對一個或多個非圖形引擎進(jìn)行時鐘門控以降低數(shù)據(jù)處理設(shè)備的功耗,以及使圖形引擎能夠利用存儲器中的所拷貝的數(shù)據(jù)用于應(yīng)用的繼續(xù)執(zhí)行。
【專利說明】具有低圖形引擎利用的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總地涉及數(shù)據(jù)處理設(shè)備,并且,更具體地,涉及具有低圖形引擎利用的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行。
【背景技術(shù)】
[0002]數(shù)據(jù)處理設(shè)備(例如膝上型計(jì)算機(jī)、臺式計(jì)算機(jī)、工作站、筆記本、上網(wǎng)本、移動設(shè)備)可配置為在其處理器上執(zhí)行圖形引擎和若干非圖形引擎。前述數(shù)據(jù)處理設(shè)備可能在當(dāng)非圖形引擎中的一個或多個處于空閑狀態(tài)并且圖形引擎處于其低利用狀態(tài)時正在執(zhí)行應(yīng)用。盡管處于最小利用的空閑狀態(tài),非圖形引擎仍可能是造成數(shù)據(jù)處理設(shè)備的功耗的一個原因。前述功耗可能使數(shù)據(jù)處理設(shè)備的使用效率低下。
【發(fā)明內(nèi)容】
[0003]所公開的是具有低圖形引擎利用的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行的方法、設(shè)備和/或系統(tǒng)。
[0004]在一個方面中,方法包括通過與處理器和/或在數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)相關(guān)聯(lián)的驅(qū)動程序、通過在數(shù)據(jù)處理設(shè)備的處理器上執(zhí)行的測試指令基于其啟動來確定由在數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對處理器的圖形引擎的利用,以及通過在處理器上執(zhí)行的測試指令來檢測處理器的一個或多個非圖形引擎的空閑狀態(tài)。方法還包括,在確定圖形引擎的利用低于閾值和檢測到一個或多個非圖形引擎的空閑狀態(tài)之后,通過處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式,以及結(jié)合將幀緩沖區(qū)轉(zhuǎn)變成自我刷新模式來將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到數(shù)據(jù)處理設(shè)備的存儲器。
[0005]進(jìn)一步地,方法包括,在將幀緩沖區(qū)轉(zhuǎn)變成自我刷新模式和將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到存儲器之后,對一個或多個非圖形引擎進(jìn)行時鐘門控以降低數(shù)據(jù)處理設(shè)備的功耗,以及使圖形引擎能夠利用存儲器中的所拷貝的數(shù)據(jù)用于數(shù)據(jù)處理設(shè)備上的應(yīng)用的繼續(xù)執(zhí)行。
[0006]方法可包括基于幀緩沖區(qū)的利用、通過在處理器上執(zhí)行的測試指令來監(jiān)視一個或多個非圖形引擎和圖形引擎的利用。方法還可涉及通過在處理器上執(zhí)行的測試指令、基于其時鐘速度和/或處理器耦連到的總線的參數(shù)來監(jiān)視一個或多個非圖形引擎和圖形引擎的利用。參數(shù)可以是總線的速度和/或總線的功率狀態(tài)。方法可進(jìn)一步包括通過處理器、基于存儲器中的所拷貝的數(shù)據(jù)的利用來在數(shù)據(jù)處理設(shè)備的顯示單元上渲染數(shù)據(jù)。
[0007]當(dāng)圖形引擎的利用超過閾值時,方法可包括通過處理器將幀緩沖區(qū)轉(zhuǎn)變回到其活躍模式,在將幀緩沖區(qū)轉(zhuǎn)變回到活躍模式之后將數(shù)據(jù)從存儲器拷貝回到幀緩沖區(qū)中,和/或在基于另一個閾值檢測其活躍性之后通過處理器打開被時鐘門控的一個或多個非圖形引擎。處理器可以是圖形處理單元(GPU)或中央處理單元(CPU),和/或存儲器可以是系統(tǒng)存儲器、高速緩存存儲器或與處理器相關(guān)聯(lián)的本地存儲器。
[0008]在另一方面中,公開非暫時性介質(zhì),其通過數(shù)據(jù)處理設(shè)備可讀并且包括具體化在其中的通過數(shù)據(jù)處理設(shè)備可執(zhí)行的指令。非暫時性介質(zhì)包括指令以通過與處理器和/或在數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)相關(guān)聯(lián)的驅(qū)動程序、通過數(shù)據(jù)處理設(shè)備的處理器基于其啟動來確定由在數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對處理器的圖形引擎的利用,以及包括指令以通過處理器來檢測處理器的一個或多個非圖形引擎的空閑狀態(tài)。非暫時性介質(zhì)還包括指令以在確定圖形引擎的利用低于閾值和檢測到一個或多個非圖形引擎的空閑狀態(tài)之后,通過處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式,以及包括指令以結(jié)合將幀緩沖區(qū)轉(zhuǎn)變成自我刷新模式來將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到數(shù)據(jù)處理設(shè)備的存儲器。
[0009]進(jìn)一步地,非暫時性介質(zhì)包括指令以在將幀緩沖區(qū)轉(zhuǎn)變成自我刷新模式和將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到存儲器之后,對一個或多個非圖形引擎進(jìn)行時鐘門控以降低數(shù)據(jù)處理設(shè)備的功耗,以及包括指令以使圖形引擎能夠利用存儲器中的所拷貝的數(shù)據(jù)用于數(shù)據(jù)處理設(shè)備上的應(yīng)用的繼續(xù)執(zhí)行。非暫時性介質(zhì)還可包括指令以實(shí)施上文所討論的補(bǔ)充操作。
[0010]在又一個方面中,數(shù)據(jù)處理設(shè)備包括存儲器、與存儲器可通信地耦連的處理器以及與處理器和/或在數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)相關(guān)聯(lián)的驅(qū)動程序組件。驅(qū)動程序組件配置為使能通過在處理器上執(zhí)行的測試指令來確定由在數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對處理器的圖形引擎的利用,通過在處理器上執(zhí)行的測試指令來檢測處理器的一個或多個非圖形引擎的空閑狀態(tài),以及在確定圖形引擎的利用低于閾值和檢測到一個或多個非圖形引擎的空閑狀態(tài)之后,通過處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式。
[0011]驅(qū)動程序組件進(jìn)一步配置為使能結(jié)合將幀緩沖區(qū)轉(zhuǎn)變成自我刷新模式來將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到存儲器,在將幀緩沖區(qū)轉(zhuǎn)變成自我刷新模式和將與應(yīng)用的執(zhí)行相關(guān)的數(shù)據(jù)拷貝到存儲器之后,對一個或多個非圖形引擎進(jìn)行時鐘門控以降低數(shù)據(jù)處理設(shè)備的功耗,以及由圖形引擎利用存儲器中的所拷貝的數(shù)據(jù)用于數(shù)據(jù)處理設(shè)備上的應(yīng)用的繼續(xù)執(zhí)行。數(shù)據(jù)處理設(shè)備還可實(shí)施上文所討論的補(bǔ)充操作。
[0012]本文所公開的方法和系統(tǒng)可實(shí)現(xiàn)在用于達(dá)成各種方面的任何裝置中,并可以以機(jī)器可讀介質(zhì)的形式執(zhí)行,該機(jī)器可讀介質(zhì)具體化為指令集,當(dāng)由機(jī)器執(zhí)行時致使機(jī)器實(shí)施本文所公開的任何操作。根據(jù)附圖以及根據(jù)下面的詳細(xì)描述,其他特征將是顯而易見的。
【專利附圖】
【附圖說明】
[0013]以附圖形式通過示例而非限制的方式示出本發(fā)明的實(shí)施例,其中相似參考指示類似兀件,并且其中:
[0014]圖1是根據(jù)一個實(shí)施例的、在其處理器上執(zhí)行圖形引擎和非圖形引擎的數(shù)據(jù)處理設(shè)備的示意圖。
[0015]圖2是根據(jù)一個實(shí)施例的、監(jiān)視在圖1的數(shù)據(jù)處理設(shè)備的處理器上執(zhí)行的非圖形弓丨擎和圖形引擎的利用的示意圖。
[0016]圖3是根據(jù)一個實(shí)施例的、將圖1的數(shù)據(jù)處理設(shè)備的幀緩沖區(qū)轉(zhuǎn)變回到其活躍模式的示意圖。
[0017]圖4是根據(jù)一個實(shí)施例的、在數(shù)據(jù)處理設(shè)備上的應(yīng)用的執(zhí)行期間在驅(qū)動程序組件和圖1的數(shù)據(jù)處理設(shè)備的處理器之間的交互的示意圖。
[0018]圖5是根據(jù)一個或多個實(shí)施例的、詳細(xì)列出在具有低圖形引擎利用的圖1的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行中所涉及的操作的流程圖。
[0019]所呈現(xiàn)的實(shí)施例的其他特征從附圖和以下詳細(xì)描述中將是顯而易見的。
【具體實(shí)施方式】
[0020]如下文所述的示范性實(shí)施例可用來提供具有低圖形引擎利用的數(shù)據(jù)處理設(shè)備上的低功率應(yīng)用執(zhí)行的方法、設(shè)備和/或系統(tǒng)。雖然已參考具體示例實(shí)施例對所呈現(xiàn)的實(shí)施例加以描述,但將顯而易見的是可對這些實(shí)施例進(jìn)行各種修改和改變而不脫離各種實(shí)施例的更寬廣的精神和范圍。
[0021]圖1示出根據(jù)一個或多個實(shí)施例的、在其處理器100上執(zhí)行非圖形引擎110和圖形引擎106的數(shù)據(jù)處理設(shè)備102。在一個或多個實(shí)施例中,數(shù)據(jù)處理設(shè)備102可包括與處理器100可通信地耦連的存儲器124。在一個或多個實(shí)施例中,數(shù)據(jù)處理設(shè)備102可以是臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本、筆記本、個人數(shù)字助理(PDA)或諸如移動電話的移動設(shè)備。數(shù)據(jù)處理設(shè)備102的其他示例在示例性實(shí)施例的范圍內(nèi)。在一個或多個實(shí)施例中,應(yīng)用120可在數(shù)據(jù)處理設(shè)備102上執(zhí)行;圖1示出存儲在存儲器124中的、待在數(shù)據(jù)處理設(shè)備102上執(zhí)行的應(yīng)用120 (例如應(yīng)用程序)。
[0022]在一個或多個實(shí)施例中,處理器100可以是中央處理單元(CPU)或圖形處理單元(GPU);存儲器124可以是易失性存儲器和/或非易失性存儲器。存儲器124的示例可包括但不限于系統(tǒng)存儲器、高速緩存存儲器以及與處理器100相關(guān)聯(lián)的本地存儲器。在一個或多個實(shí)施例中,處理器100可執(zhí)行測試指令104以確定由應(yīng)用120對圖形引擎106的利用。在一個或多個實(shí)施例中,可通過驅(qū)動程序組件(軟件驅(qū)動程序;在圖1中未示出)啟動前述確定;驅(qū)動程序組件可與處理器100 (例如GPU)和/或與在數(shù)據(jù)處理設(shè)備102上執(zhí)行的操作系統(tǒng)146相關(guān)聯(lián);操作系統(tǒng)146作為圖1中的存儲器124的一部分來示出。在一個或多個實(shí)施例中,基于在處理器100上的測試指令104的執(zhí)行,還可檢測非圖形引擎110的空閑狀態(tài)108。顯而易見的是,圖形引擎106和非圖形引擎110 (例如與通過數(shù)據(jù)處理設(shè)備102的圖形處理無關(guān)的引擎)可以指在處理器100上執(zhí)行的模塊。在一個或多個實(shí)施例中,如圖1所示,處理器100還可具有與其相關(guān)聯(lián)的幀緩沖區(qū)112。在一個或多個實(shí)施例中,幀緩沖區(qū)112可包括與待在數(shù)據(jù)處理設(shè)備102的顯示單元172上顯示的信息相關(guān)聯(lián)的數(shù)據(jù)(例如顏色值)。
[0023]圖1示出與存儲器124分開的幀緩沖區(qū)112 ;然而顯而易見的是,幀緩沖區(qū)112可以是存儲器124的一部分。在一個或多個實(shí)施例中,幀緩沖區(qū)112可在其操作的活躍模式中。然而,在一個或多個實(shí)施例中,一旦確定圖形引擎106的利用低于閾值116并且檢測到非圖形引擎110的空閑狀態(tài)108,則處理器100可配置為將幀緩沖區(qū)112轉(zhuǎn)變成其低功率利用的自我刷新模式114(例如模擬待機(jī)模式)。在一個或多個實(shí)施例中,結(jié)合將幀緩沖區(qū)112轉(zhuǎn)變成自我刷新模式114,與數(shù)據(jù)處理設(shè)備102上的應(yīng)用120的執(zhí)行相關(guān)的數(shù)據(jù)(例如數(shù)據(jù)118)可被拷貝到存儲器124中。在一個或多個實(shí)施例中,在將幀緩沖區(qū)112轉(zhuǎn)變成自我刷新模式114和將數(shù)據(jù)118拷貝到存儲器124中之后,可隨后對時鐘門控非圖形引擎110進(jìn)行時鐘門控(例如,見被時鐘門控的非圖形引擎112 ;時鐘門控可涉及禁用處理器100的電路和/或管線)。
[0024]在一個或多個實(shí)施例中,前述時鐘門控可在數(shù)據(jù)處理設(shè)備102上的應(yīng)用120的執(zhí)行期間降低功耗。在一個或多個實(shí)施例中,對于應(yīng)用120的繼續(xù)執(zhí)行,圖形引擎106可利用存儲器124中的所拷貝的數(shù)據(jù)118。在一個或多個實(shí)施例中,測試指令104可在處理器100上執(zhí)行以基于幀緩沖區(qū)112的利用來監(jiān)視非圖形引擎110和圖形引擎106的利用,如圖2所示。圖2還示出基于其時鐘速度200、處理器100耦連到的總線202 (例如系統(tǒng)總線)的速度204和/或總線202的功率狀態(tài)206的對非圖形引擎110和圖形引擎106的利用的監(jiān)視。用來監(jiān)視利用的其他總線202參數(shù)在本文所討論的示例性實(shí)施例的范圍內(nèi)。
[0025]在一個或多個實(shí)施例中,非圖形引擎110的空閑狀態(tài)108可以是其持續(xù)低活躍性或非活躍性的狀態(tài)。顯而易見的是,處理器100可執(zhí)行多于一個的非圖形引擎110 ;進(jìn)一步地,如上文所討論的,顯而易見的是,并非所有非圖形引擎都需要被時鐘門控。當(dāng)存在若干非圖形引擎在處理器100上執(zhí)行時可依據(jù)系統(tǒng)要求來實(shí)施時鐘門控。
[0026]在一個或多個實(shí)施例中,可通過處理器100、基于存儲器124中的所拷貝的數(shù)據(jù)118的利用來在顯示單元172上渲染數(shù)據(jù)。圖3示出將幀緩沖區(qū)112轉(zhuǎn)變回到其活躍模式(例如活躍模式300)。在一個或多個實(shí)施例中,當(dāng)圖形引擎106的利用超過閾值116時,處理器100可配置為將幀緩沖區(qū)112轉(zhuǎn)變回到活躍模式300。在一個或多個實(shí)施例中,在轉(zhuǎn)變之后,數(shù)據(jù)118可從存儲器124被拷貝回到幀緩沖區(qū)112中以恢復(fù)其常規(guī)操作。在一個或多個實(shí)施例中,在基于另一個閾值(未示出)檢測其活躍性之后,可隨后通過處理器100打開一個或多個被時鐘門控的非圖形引擎110。顯而易見的是,可依據(jù)系統(tǒng)要求或數(shù)據(jù)處理設(shè)備102的用戶的要求來打開一個或多個被時鐘門控的非圖形引擎110。
[0027]圖4示出在數(shù)據(jù)處理設(shè)備102上的應(yīng)用120的執(zhí)行期間在上文所討論的驅(qū)動程序組件(例如驅(qū)動程序組件402)和處理器100之間的交互。在一個或多個實(shí)施例中,驅(qū)動程序組件402可啟動處理器100以基于數(shù)據(jù)處理設(shè)備102上的用戶干預(yù)(例如通過點(diǎn)擊用戶界面上的按鈕、數(shù)據(jù)處理設(shè)備102上的物理按鈕)、應(yīng)用120的執(zhí)行、與應(yīng)用120無關(guān)的另一個應(yīng)用的執(zhí)行和/或操作系統(tǒng)146的加載來自動地確定圖形引擎106的利用和檢測非圖形引擎110的空閑狀態(tài)108。其他形式的啟動在本文所討論的示例性實(shí)施例的范圍內(nèi)。
[0028]上文所討論的驅(qū)動程序組件(例如驅(qū)動程序組件402)或其等同軟件可在通過因特網(wǎng)的下載之后存儲在存儲器124中以安裝在數(shù)據(jù)處理設(shè)備102上。可替代地,可針對其利用外部存儲器。并且,與驅(qū)動程序組件相關(guān)聯(lián)的指令可具體化在通過數(shù)據(jù)處理設(shè)備102可讀的非暫時性介質(zhì)上,諸如壓縮光盤(⑶)、數(shù)字視頻光盤(DVD)、Blu-ray?光盤、軟盤、或軟磁盤等。前述指令可通過數(shù)據(jù)處理設(shè)備102執(zhí)行。
[0029]與驅(qū)動程序組件或其等同軟件相關(guān)聯(lián)的指令集不限于上文所討論的具體實(shí)施例,并且可實(shí)現(xiàn)在例如操作系統(tǒng)146、應(yīng)用程序(例如,應(yīng)用程序120)、前臺或后臺進(jìn)程、網(wǎng)絡(luò)堆棧或其任何組合中。其他變形在本文所討論的示例性實(shí)施例的范圍內(nèi)。
[0030]圖5示出根據(jù)一個或多個實(shí)施例的、詳細(xì)列出在具有低圖形引擎106利用的數(shù)據(jù)處理設(shè)備102上的低功率應(yīng)用120執(zhí)行中所涉及的操作的流程圖。在一個或多個實(shí)施例中,操作502可涉及通過與處理器100和/或操作系統(tǒng)146相關(guān)聯(lián)的驅(qū)動程序(例如驅(qū)動程序組件402)、通過在處理器100上執(zhí)行的測試指令104基于其啟動來確定由應(yīng)用120對圖形引擎106的利用。在一個或多個實(shí)施例中,操作504可涉及通過測試指令104來檢測處理器100的一個或多個非圖形引擎(例如非圖形引擎110)的空閑狀態(tài)108。
[0031]在一個或多個實(shí)施例中,操作506可涉及在確定圖形引擎106的利用低于閾值116和檢測到一個或多個非圖形引擎的空閑狀態(tài)108之后,通過處理器100將與其相關(guān)聯(lián)的幀緩沖區(qū)112轉(zhuǎn)變成其低功率利用的自我刷新模式114。在一個或多個實(shí)施例中,操作508可涉及結(jié)合將幀緩沖區(qū)112轉(zhuǎn)變成自我刷新模式114來將與應(yīng)用120的執(zhí)行相關(guān)的數(shù)據(jù)118拷貝到存儲器124。在一個或多個實(shí)施例中,操作510可涉及在將幀緩沖區(qū)112轉(zhuǎn)變成自我刷新模式114和將與應(yīng)用120的執(zhí)行相關(guān)的數(shù)據(jù)118拷貝到存儲器124中之后,對一個或多個非圖形引擎進(jìn)行時鐘門控以降低數(shù)據(jù)處理設(shè)備102的功耗。在一個或多個實(shí)施例中,操作512可隨后涉及使圖形引擎106能夠利用存儲器124中的所拷貝的數(shù)據(jù)118用于數(shù)據(jù)處理設(shè)備102上的應(yīng)用120的繼續(xù)執(zhí)行。
[0032]現(xiàn)在將描述涉及與本文所討論的示例性實(shí)施例相關(guān)聯(lián)的概念的示范性場景。工作站(示范性數(shù)據(jù)處理設(shè)備102)用戶可能希望當(dāng)存在圖形引擎106的低利用時以及當(dāng)非圖形引擎110處于空閑狀態(tài)108時在其上的應(yīng)用120的執(zhí)行期間降低功耗。處于空閑狀態(tài)108的非圖形引擎110即使其利用經(jīng)過降低也可能消耗功率。因此,用戶可能希望通過在工作站的處理器100上執(zhí)行測試指令104以檢測圖形引擎106的利用和非圖形引擎110的空閑狀態(tài)108來消除前述功率效率低下。通過驅(qū)動程序組件402可使能前述檢測?;跈z測,通過工作站的功耗可降低,如上文所討論。
[0033]雖然已參考具體示范性實(shí)施例來描述所呈現(xiàn)的實(shí)施例,但將顯而易見的是,可對這些實(shí)施例進(jìn)行各種修改和改變而不脫離各種實(shí)施例的更寬廣的精神和范圍。例如,可使用硬件電路、固件、軟件、或硬件、固件、軟件的任何組合(例如具體化在非暫時性機(jī)器可讀介質(zhì)中)來使能和操作本文所描述的各種設(shè)備和模塊。例如,可使用晶體管、邏輯門和電氣電路(例如專用集成電路(ASIC)和/或數(shù)字信號處理器(DSP)電路)來具體化各種電氣結(jié)構(gòu)和方法。
[0034]此外,將理解的是,本文所公開的各種操作、過程和方法可具體化在非暫時性機(jī)器可讀介質(zhì)和/或與數(shù)據(jù)處理系統(tǒng)(例如數(shù)據(jù)處理設(shè)備102)兼容的機(jī)器可訪問介質(zhì)中,并可以以任何次序加以實(shí)施(例如包括使用用于達(dá)成各種操作的裝置)。
[0035]因此,說明書和附圖被認(rèn)為是示例性的而非限制性意義。
【權(quán)利要求】
1.一種方法,包括: 通過與處理器和在數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)中的至少一個相關(guān)聯(lián)的驅(qū)動程序、通過在所述數(shù)據(jù)處理設(shè)備的所述處理器上執(zhí)行的測試指令基于其啟動來確定由在所述數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對所述處理器的圖形引擎的利用; 通過在所述處理器上執(zhí)行的所述測試指令來檢測所述處理器的至少一個非圖形引擎的空閑狀態(tài); 在確定所述圖形引擎的利用低于閾值和檢測到所述至少一個非圖形引擎的所述空閑狀態(tài)之后,通過所述處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式; 結(jié)合所述將所述幀緩沖區(qū)轉(zhuǎn)變成所述自我刷新模式來將與所述應(yīng)用的所述執(zhí)行相關(guān)的數(shù)據(jù)拷貝到所述數(shù)據(jù)處理設(shè)備的存儲器; 在所述將所述幀緩沖區(qū)轉(zhuǎn)變成所述自我刷新模式和將與所述應(yīng)用的所述執(zhí)行相關(guān)的所述數(shù)據(jù)拷貝到所述存儲器之后,對所述至少一個非圖形引擎進(jìn)行時鐘門控以降低所述數(shù)據(jù)處理設(shè)備的功耗;以及 使所述圖形引擎能夠利用所述存儲器中的所拷貝的數(shù)據(jù)用于所述數(shù)據(jù)處理設(shè)備上的所述應(yīng)用的繼續(xù)執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 基于所述幀緩沖區(qū)的利用、通過在所述處理器上執(zhí)行的所述測試指令來監(jiān)視所述至少一個非圖形引擎和所述圖形引擎的所述利用。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 通過在所述處理器上執(zhí)行的所述測試指令、基于其時鐘速度和所述處理器耦連到的總線的參數(shù)中的至少一個來監(jiān)視所述至少一個非圖形引擎和所述圖形引擎的所述利用,所述參數(shù)是所述總線的速度和所述總線的功率狀態(tài)中的至少一個。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括通過所述處理器、基于所述存儲器中的所拷貝的數(shù)據(jù)的所述利用來在所述數(shù)據(jù)處理設(shè)備的顯示單元上渲染數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的方法,其中當(dāng)所述圖形引擎的所述利用超過所述閾值時,所述方法進(jìn)一步包括: 通過所述處理器將所述幀緩沖區(qū)轉(zhuǎn)變回到其活躍模式;以及 在所述將所述幀緩沖區(qū)轉(zhuǎn)變回到所述活躍模式之后將所述數(shù)據(jù)從所述存儲器拷貝回到所述幀緩沖區(qū)中。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括: 在基于另一個閾值檢測其活躍性之后通過所述處理器打開被時鐘門控的至少一個非圖形引擎。
7.根據(jù)權(quán)利要求1所述的方法,其中至少以下之一: 所述處理器是圖形處理單元(GPU)和中央處理單元(CPU)中的一個,以及 所述存儲器是系統(tǒng)存儲器、高速緩存存儲器或與所述處理器相關(guān)聯(lián)的本地存儲器中的一個。
8.一種非暫時性介質(zhì), 其通過數(shù)據(jù)處理設(shè)備可讀并且包括具體化在其中的通過所述數(shù)據(jù)處理設(shè)備可執(zhí)行的指令,包括:指令以通過與處理器和在所述數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)中的至少一個相關(guān)聯(lián)的驅(qū)動程序、通過所述數(shù)據(jù)處理設(shè)備的所述處理器基于其啟動來確定由在所述數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對所述處理器的圖形引擎的利用; 指令以通過所述處理器檢測所述處理器的至少一個非圖形引擎的空閑狀態(tài); 指令以在確定所述圖形引擎的利用低于閾值和檢測到所述至少一個非圖形引擎的所述空閑狀態(tài)之后,通過所述處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式; 指令以結(jié)合所述將所述幀緩沖區(qū)轉(zhuǎn)變成所述自我刷新模式來將與所述應(yīng)用的所述執(zhí)行相關(guān)的數(shù)據(jù)拷貝到所述數(shù)據(jù)處理設(shè)備的存儲器; 指令以在所述將所述幀緩沖區(qū)轉(zhuǎn)變成所述自我刷新模式和將與所述應(yīng)用的所述執(zhí)行相關(guān)的所述數(shù)據(jù)拷貝到所述存儲器之后對所述至少一個非圖形引擎進(jìn)行時鐘門控以降低所述數(shù)據(jù)處理設(shè)備的功耗;以及 指令以使所述圖形引擎能夠利用所述存儲器中的所拷貝的數(shù)據(jù)用于所述數(shù)據(jù)處理設(shè)備上的所述應(yīng)用的繼續(xù)執(zhí)行。
9.根據(jù)權(quán)利要求8所述的非暫時性介質(zhì),進(jìn)一步包括: 指令以基于所述幀緩沖區(qū)的利用、通過所述處理器來監(jiān)視所述至少一個非圖形引擎和所述圖形引擎的所述利用。
10.根據(jù)權(quán)利要求8所述的非暫時性介質(zhì),進(jìn)一步包括: 指令以通過所述處理器、基于其時鐘速度和所述處理器耦連到的總線的參數(shù)中的至少一個來監(jiān)視所述至少一個非圖形引擎和所述圖形引擎的所述利用,所述參數(shù)是所述總線的速度和所述總 線的功率狀態(tài)中的至少一個。
11.根據(jù)權(quán)利要求8所述的非暫時性介質(zhì),進(jìn)一步包括指令以通過所述處理器、基于所述存儲器中的所拷貝的數(shù)據(jù)的所述利用來在所述數(shù)據(jù)處理設(shè)備的顯示單元上渲染數(shù)據(jù)。
12.根據(jù)權(quán)利要求8所述的非暫時性介質(zhì),其中當(dāng)所述圖形引擎的所述利用超過所述閾值時,所述非暫時性介質(zhì)進(jìn)一步包括: 指令以通過所述處理器將所述幀緩沖區(qū)轉(zhuǎn)變回到其活躍模式;以及 指令以在所述將所述幀緩沖區(qū)轉(zhuǎn)變回到所述活躍模式之后將所述數(shù)據(jù)從所述存儲器拷貝回到所述幀緩沖區(qū)中。
13.根據(jù)權(quán)利要求12所述的非暫時性介質(zhì),進(jìn)一步包括: 指令以在基于另一個閾值檢測其活躍性之后通過所述處理器打開被時鐘門控的至少一個非圖形引擎。
14.根據(jù)權(quán)利要求8所述的非暫時性介質(zhì),包括: 與作為處理器的GPU和CPU中的一個兼容的指令,以及 與作為所述存儲器的系統(tǒng)存儲器、高速緩存存儲器和與所述處理器相關(guān)聯(lián)的本地存儲器中的一個兼容的指令。
15.一種數(shù)據(jù)處理設(shè)備,包括: 存儲器; 可通信地耦連到所述存儲器的處理器;以及 與所述處理器和在所述數(shù)據(jù)處理設(shè)備上執(zhí)行的操作系統(tǒng)中的至少一個相關(guān)聯(lián)的驅(qū)動程序組件,所述驅(qū)動程序組件配置為使能: 通過在所述處理器上執(zhí)行的測試指令來確定由在所述數(shù)據(jù)處理設(shè)備上執(zhí)行的應(yīng)用對所述處理器的圖形引擎的利用, 通過在所述處理器上執(zhí)行的所述測試指令來檢測所述處理器的至少一個非圖形引擎的空閑狀態(tài), 在確定所述圖形引擎的利用低于閾值和檢測到所述至少一個非圖形引擎的所述空閑狀態(tài)之后,通過所述處理器將與其相關(guān)聯(lián)的幀緩沖區(qū)轉(zhuǎn)變成其低功率利用的自我刷新模式, 結(jié)合所述將所述幀緩沖區(qū)轉(zhuǎn)變成所述自我刷新模式來將與所述應(yīng)用的所述執(zhí)行相關(guān)的數(shù)據(jù)拷貝到所述存儲器, 在所述將所述幀緩沖區(qū)轉(zhuǎn)變成所述自我刷新模式和將與所述應(yīng)用的所述執(zhí)行相關(guān)的所述數(shù)據(jù)拷貝到所述存儲器之后,對所述至少一個非圖形引擎進(jìn)行時鐘門控以降低所述數(shù)據(jù)處理設(shè)備的功耗,以及 由所述圖形引擎利用所述存儲器中的所拷貝的數(shù)據(jù)用于所述數(shù)據(jù)處理設(shè)備上的所述應(yīng)用的繼續(xù)執(zhí)行。
16.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理設(shè)備,其中在所述處理器上執(zhí)行的所述測試指令使能基于所述幀緩沖區(qū)的利用來監(jiān)視所述至少一個非圖形引擎和所述圖形引擎的所述利用。
17.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理設(shè)備,其中在所述處理器上執(zhí)行的所述測試指令使能基于其時鐘速度和所述處理器耦連到的總線的參數(shù)中的至少一個來監(jiān)視所述至少一個非圖形引擎和所述圖形引擎的·所述利用,所述參數(shù)是所述總線的速度和所述總線的功率狀態(tài)中的至少一個。
18.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理設(shè)備,其中所述處理器配置為基于所述存儲器中的所述所拷貝的數(shù)據(jù)的所述利用來在與所述數(shù)據(jù)處理設(shè)備相關(guān)聯(lián)的顯示單元上渲染數(shù)據(jù)。
19.根據(jù)權(quán)利要求15所述的數(shù)據(jù)處理設(shè)備,其中當(dāng)所述圖形引擎的所述利用超過所述閾值時,所述驅(qū)動程序組件進(jìn)一步配置為使能: 通過所述處理器將所述幀緩沖區(qū)轉(zhuǎn)變回到其活躍模式;以及 在所述將所述幀緩沖區(qū)轉(zhuǎn)變回到所述活躍模式之后將所述數(shù)據(jù)從所述存儲器拷貝回到所述幀緩沖區(qū)中。
20.根據(jù)權(quán)利要求19所述的數(shù)據(jù)處理設(shè)備,其中所述驅(qū)動程序組件進(jìn)一步配置為使倉泛: 在基于另一個閾值檢測其活躍性之后通過所述處理器打開被時鐘門控的至少一個非圖形引擎。
【文檔編號】G06F9/44GK103853311SQ201310642081
【公開日】2014年6月11日 申請日期:2013年12月3日 優(yōu)先權(quán)日:2012年12月3日
【發(fā)明者】米泰斯·夏爾馬 申請人:輝達(dá)公司