欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于I/O操作特征的SoC空閑功率狀態(tài)控制的系統(tǒng)和方法與流程

文檔序號:11288177閱讀:331來源:國知局
基于I/O操作特征的SoC空閑功率狀態(tài)控制的系統(tǒng)和方法與流程

相關(guān)內(nèi)容

本申請要求2015年1月26日提交的名稱為“systemandmethodforsocidlepowerstatecontrolbasedoni/ooperationcharacterization”的臨時專利申請62/108,033的在先提交日期的權(quán)益。

本公開整體涉及操作系統(tǒng),并且更具體地涉及用于性能管理的設(shè)備。



背景技術(shù):

操作系統(tǒng)是管理設(shè)備硬件資源并為計算機(jī)程序提供通用服務(wù)的一組軟件。操作系統(tǒng)是設(shè)備中系統(tǒng)軟件的重要部件。系統(tǒng)軟件管理并整合設(shè)備的能力。系統(tǒng)軟件包括操作系統(tǒng)、實用軟件、設(shè)備驅(qū)動程序以及其他軟件工具。操作系統(tǒng)管理設(shè)備的功率消耗和性能。

設(shè)備的功率管理在處理器非活動時將處理器功率門控到低功率狀態(tài)。低功率狀態(tài)可為處理器的空閑狀態(tài)。計算機(jī)系統(tǒng)內(nèi)的現(xiàn)代處理器常常采用進(jìn)取性功率管理技術(shù),以便為便攜式系統(tǒng)和嵌入式系統(tǒng)降低總體能量消耗、降低冷卻要求以及延長電池壽命。因此,處理器更頻繁地進(jìn)入低功率狀態(tài),并在此類低功率狀態(tài)中停留更長的時間段。向這些低功率狀態(tài)的轉(zhuǎn)變通常涉及附加的延遲,頻繁地向/從此類狀態(tài)轉(zhuǎn)變會降低凈效率增益。處理器可支持多種類型的空閑功率狀態(tài),其中每一種涉及不同轉(zhuǎn)變延遲、轉(zhuǎn)變能量、和可實現(xiàn)的功率電平。

輸入/輸出(i/o)是計算機(jī)與外部世界之間的通信。輸入是計算機(jī)接收的信號或數(shù)據(jù),并且輸出是從計算機(jī)發(fā)送的信號或數(shù)據(jù)。例如通過從磁盤驅(qū)動器讀取數(shù)據(jù)實現(xiàn)的向或從計算機(jī)的cpu或存儲器的任何信息傳遞被視為i/o。



技術(shù)實現(xiàn)要素:

本發(fā)明描述了一種通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的設(shè)備的方法和裝置。在一個實施方案中,i/o信息是與i/o操作有關(guān)的當(dāng)前信息和歷史信息。在一個實施方案中,當(dāng)前i/o信息包括當(dāng)前i/o操作的方向(例如,讀或?qū)?。在一個實施方案中,當(dāng)前i/o信息包括當(dāng)前i/o操作的尺寸(例如,所涉及的數(shù)據(jù)量)。在一個實施方案中,當(dāng)前i/o信息包括當(dāng)前i/o操作的服務(wù)質(zhì)量。在一個實施方案中,當(dāng)前i/o信息包括當(dāng)前i/o操作的介質(zhì)類型(例如,固態(tài)驅(qū)動器或硬盤驅(qū)動器)。一個實施方案的歷史i/o信息包括在采樣時間段內(nèi)的i/o操作的數(shù)量。在一個實施方案中,歷史i/o信息包括在采樣時間段內(nèi)i/o操作之間的到達(dá)間隔時間。在一個實施方案中,歷史i/o信息包括在采樣時間段內(nèi)讀操作的聚集尺寸以及在該采樣時間段內(nèi)寫操作的聚集尺寸。

在一個示例性實施方案中,設(shè)備采集歷史i/o信息。設(shè)備還接收設(shè)備要執(zhí)行的i/o操作的當(dāng)前i/o信息。設(shè)備基于歷史i/o信息和當(dāng)前i/o信息來確定功率狀態(tài),以降低功率消耗,同時改善系統(tǒng)效率并維持可接受水平的系統(tǒng)性能。設(shè)備還應(yīng)用所確定的功率狀態(tài)。在一個實施方案中,功率狀態(tài)被應(yīng)用于整個設(shè)備。在另一實施方案中,功率狀態(tài)被應(yīng)用于設(shè)備的處理器。在再一實施方案中,功率狀態(tài)被應(yīng)用于設(shè)備的片上系統(tǒng)(soc)。

還描述了其他方法和裝置。還描述了機(jī)器可讀非暫態(tài)介質(zhì),并且它們包括可執(zhí)行計算機(jī)程序指令,該可執(zhí)行計算機(jī)程序指令在被數(shù)據(jù)處理系統(tǒng)執(zhí)行時使得數(shù)據(jù)處理系統(tǒng)執(zhí)行本文所述的一個或多個方法。

附圖說明

本公開以舉例的方式進(jìn)行說明,并且不限于附圖中的示圖,在附圖中類似的附圖標(biāo)記指示類似的元件。

圖1是通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的設(shè)備的一個實施方案的框圖。

圖2是功率管理器的一個實施方案的詳細(xì)框圖。

圖3a是通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的過程的一個實施方案的流程圖。

圖3b是通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的另一過程的一個實施方案的流程圖。

圖4示出了一個實施方案中使用的當(dāng)前i/o信息的一個示例。

圖5示出了一個實施方案中使用的歷史i/o信息的一個示例。

圖6示出了用于基于i/o信息調(diào)節(jié)功率狀態(tài)的一個實施方案中的一個示例。

圖7示出了可與本公開的一個實施方案一起使用的數(shù)據(jù)處理系統(tǒng)的一個示例。

圖8示出了可與本公開的一個實施方案一起使用的另一數(shù)據(jù)處理系統(tǒng)的一個示例。

具體實施方式

本文描述了一種通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的設(shè)備的方法和裝置。在以下說明中給出了許多具體細(xì)節(jié),以提供對本公開的實施方案的徹底解釋。然而,對于本領(lǐng)域的技術(shù)人員顯而易見的是,本公開的實施方案可在不具有這些具體細(xì)節(jié)的情況下被實施。在其他情況下,尚未詳細(xì)示出熟知的部件、結(jié)構(gòu)和技術(shù),以免模糊對此說明的理解。

在本說明書中提到的“一個實施方案”或“實施方案”是指結(jié)合實施方案所述的特定特征、結(jié)構(gòu)或特性可被包括在本公開的至少一個實施方案中。在本說明書中的不同位置出現(xiàn)的短語“在一個實施方案中”不一定都是指同一個實施方案。

在以下描述和權(quán)利要求中,可以使用術(shù)語“耦接”和“連接”及其派生詞。應(yīng)當(dāng)理解,這些術(shù)語并非意在彼此同義?!榜罱印北挥糜诒硎究赡芑蚩赡懿槐舜酥苯游锢砘螂娊佑|的兩個或更多個元件彼此合作或交互?!斑B接”被用于表示彼此耦接的兩個或更多元件之間通信的建立。

后面的圖中示出的過程通過處理邏輯部件來執(zhí)行,該處理邏輯部件包括硬件(例如,電路、專用邏輯部件等)、軟件(諸如在通用設(shè)備或?qū)S脵C(jī)上運行的軟件)、或兩者的組合。雖然下文按照某些順序操作來描述該過程,但應(yīng)當(dāng)理解,所述的某些操作可以不同的順序來執(zhí)行。此外,某些操作也可并行執(zhí)行而并非按順序執(zhí)行。

術(shù)語“服務(wù)器”、“客戶端”和“設(shè)備”旨在一般性地指代數(shù)據(jù)處理系統(tǒng),而不是特別地指代服務(wù)器、客戶端和/或設(shè)備的特定形狀因數(shù)。

有時,在處理器執(zhí)行i/o操作(例如向nand存儲設(shè)備發(fā)布讀/寫命令)之后,處理器和/或片上系統(tǒng)(soc)在沒有其他未決工作的情況下可進(jìn)入低功率狀態(tài)。在一個實施方案中,這個低功率狀態(tài)是空閑狀態(tài)。在該實施方案中,功率管理模塊使得處理器、相關(guān)聯(lián)的高速緩存和存儲器控制器、以及隨機(jī)存取存儲器(ram)進(jìn)入低功率狀態(tài)。根據(jù)所選的功率狀態(tài),處理器高速緩存可被驅(qū)除,并且ram可進(jìn)入自刷新。此后不久,nand存儲設(shè)備完成i/o請求,并且存儲器控制器和ram被重新激活,以便存取數(shù)據(jù)。生成中斷來向處理器通知i/o的完成并將處理器和相關(guān)聯(lián)部件從低功率狀態(tài)恢復(fù)到全功率狀態(tài),使得處理器能夠?qū)νㄟ^i/o操作返回的數(shù)據(jù)進(jìn)行操作。

因為在i/o請求完成之后將處理器和相關(guān)部件從低功率狀態(tài)拽出要花費時間,所以在接收來自i/o子系統(tǒng)的數(shù)據(jù)中存在延遲。因此,i/o操作完成將花費增大的時間量。這可能是不可接受的,因為用戶正在等待數(shù)據(jù)被拖入ram中,這可能是在應(yīng)用啟動期間或者在設(shè)備正在存儲于存儲設(shè)備上的存儲器中分頁時。因此,在發(fā)布i/o請求之后使處理器和相關(guān)部件頻繁地進(jìn)入低功率狀態(tài)對計算機(jī)系統(tǒng)的性能有不利的影響。

此外,通過使處理器和相關(guān)部件進(jìn)入低功率狀態(tài),僅僅使其立即回到正常功率狀態(tài),顯著量的能量被浪費用于執(zhí)行不同功率狀態(tài)之間的轉(zhuǎn)變,包括將處理器和相關(guān)部件向下功率門控以進(jìn)入低功率狀態(tài)、然后立即重新激活那些部件以離開低功率狀態(tài)。因此,對計算機(jī)系統(tǒng)的效率也有不利影響。

描述了一種管理系統(tǒng)性能以便降低設(shè)備的功率消耗,同時改善系統(tǒng)效率并維持合理水平的系統(tǒng)性能的設(shè)備的方法和裝置。在一個實施方案中,在處理器向非易失性存儲設(shè)備發(fā)布i/o請求之后,處理器進(jìn)入低功率狀態(tài),在低功率狀態(tài)下,至處理器和相關(guān)部件的功率被功率門控以降低設(shè)備的功率消耗。非易失性存儲設(shè)備完成i/o事務(wù),并通知處理器進(jìn)一步處理i/o事務(wù)中所涉及的數(shù)據(jù)。處理器和相關(guān)部件被重新激活以處理數(shù)據(jù)。這在接收來自i/o子系統(tǒng)的數(shù)據(jù)中引入延遲,并且增加了進(jìn)入和離開低功率狀態(tài)的不必要的能量成本。延遲是從低功率狀態(tài)進(jìn)入處理器在其中能夠執(zhí)行某些預(yù)期功能的更高功率狀態(tài)所花費的時間量。在一個實施方案中,設(shè)備基于歷史i/o信息和當(dāng)前i/o信息來確定功率狀態(tài),以降低功率消耗,同時改善系統(tǒng)效率并維持可接受水平的系統(tǒng)性能。設(shè)備然后進(jìn)入所確定的功率狀態(tài)。在一個實施方案中,設(shè)備在i/o操作處于飛行中時應(yīng)用所確定的功率狀態(tài)。在另一實施方案中,設(shè)備在i/o操作處于飛行中時以及在接收到i/o操作的結(jié)果之后應(yīng)用所確定的功率狀態(tài)。

圖1是通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的設(shè)備100的一個實施方案的框圖。在一個實施方案中,設(shè)備100可以是臺式計算機(jī)、服務(wù)器、智能電話、膝上型電腦、個人數(shù)字助理、音樂播放設(shè)備、游戲設(shè)備、或能夠執(zhí)行多個過程的任何其他設(shè)備。在圖1中,設(shè)備100包括集成電路110、操作系統(tǒng)102、易失性存儲器130、和非易失性存儲器135。在一個實施方案中,設(shè)備100可包括多個處理器和/或多個處理內(nèi)核。

集成電路110包括處理器120和存儲器控制器125。在一個實施方案中,集成電路110可為片上系統(tǒng)(soc)。處理器120是多用途的可編程設(shè)備,其接受數(shù)字?jǐn)?shù)據(jù)作為輸入,根據(jù)存儲在其存儲器中的指令處理數(shù)據(jù),并提供結(jié)果作為輸出。處理器120包括塊存儲驅(qū)動器122,其控制附接到處理器120的塊存儲設(shè)備(例如非易失性存儲器135)。存儲器控制器125管理流向和來自易失性存儲器130的數(shù)據(jù)流。

操作系統(tǒng)102是用于管理設(shè)備硬件資源并為其他運行的計算機(jī)程序(諸如應(yīng)用程序)提供通用服務(wù)的一組程序。操作系統(tǒng)102包括功率管理器105,其管理設(shè)備100的功率消耗。功率管理器105可確定整個設(shè)備100的功率狀態(tài),或者設(shè)備的各個部件的功率狀態(tài)。在一個實施方案中,功率管理器105將功率狀態(tài)應(yīng)用于集成電路110。在另一實施方案中,功率管理器105將功率狀態(tài)應(yīng)用于處理器120。

功率狀態(tài)限定設(shè)備、或者設(shè)備的一個或多個部件的功率消耗水平。例如,在一個實施方案中,功率狀態(tài)可以是全功率狀態(tài)(即最高功率狀態(tài))或斷電狀態(tài)(即最低功率狀態(tài))。在全功率狀態(tài)下,設(shè)備或者設(shè)備的部件組完全上電,沒有任何個體部件設(shè)置在功率節(jié)省模式中。在斷電狀態(tài)下,設(shè)備或部件被關(guān)斷。在另一實施方案中,可存在多個低功率狀態(tài),其限定介于全功率狀態(tài)和斷電狀態(tài)之間的不同功率消耗水平。對于設(shè)備或一組部件,越多部件處于功率節(jié)省模式,功率狀態(tài)就越低。

對于處于功率節(jié)省模式中的部件,不同功率降低技術(shù)可限定不同功率狀態(tài)。例如,功率門控是切斷電流阻斷電路以降低功率消耗的功率降低技術(shù)。時鐘門控是通過對電路的部分禁用時鐘脈沖使得電路的那些部分中的晶體管不切換狀態(tài)來節(jié)省功率的功率降低技術(shù)。雖然避免了用于切換狀態(tài)的功率消耗,但在時鐘門控中仍然導(dǎo)致漏電流。因此,功率門控比時鐘門控節(jié)省更多功率,并且被功率門控的部件處于比被時鐘門控的部件更低的功率狀態(tài)。然而,功率門控不可能保持狀態(tài),諸如處理器高速緩存的內(nèi)容,其可能需要在功率門控退出時重構(gòu)。

非易失性存儲器135是持久性地存儲信息的塊存儲設(shè)備,諸如硬盤驅(qū)動器或nand堆棧。易失性存儲器130是需要功率來維持所存儲信息的計算機(jī)存儲器,諸如動態(tài)隨機(jī)存取存儲器(dram)。

在一個實施方案中,塊存儲驅(qū)動器122發(fā)布讀/寫命令123(通過發(fā)布i/o請求),以存取非易失性存儲器135上的數(shù)據(jù)。對于讀命令,非易失性存儲器135將所請求數(shù)據(jù)136發(fā)送給存儲器控制器125,存儲器控制器將該數(shù)據(jù)136傳遞給易失性存儲器130以進(jìn)一步處理。

在一個實施方案中,在發(fā)送讀/寫命令123時,塊存儲驅(qū)動器122還將與當(dāng)前i/o請求有關(guān)的i/o信息發(fā)送給功率管理器105。在一個實施方案中,功率管理器105基于當(dāng)前i/o信息106和所存儲的歷史i/o信息(未示出)來確定低功率狀態(tài),以便降低功率消耗,同時改善效率并維持可接受水平的系統(tǒng)性能。例如,在一個實施方案中,不是將處理器120及其相關(guān)部件降低到處理器120在其中被功率門控的非常低功率狀態(tài)(例如斷電狀態(tài)),功率管理器105基于當(dāng)前i/o信息106和歷史i/o信息(未示出)來確定處理器在其中被時鐘門控的低功率狀態(tài),因此具有更高水平的功率消耗。通過確定更高功率狀態(tài)并將更高功率狀態(tài)應(yīng)用于處理器120,可避免由進(jìn)入非常低功率狀態(tài)、然后在某些i/o操作期間快速地退出非常低功率狀態(tài)所導(dǎo)致的延遲和不利效率影響。

在一個實施方案中,當(dāng)前i/o信息106可包括當(dāng)前i/o操作的方向、尺寸、服務(wù)質(zhì)量(qos)和介質(zhì)類型。在一個實施方案中,功率管理器105將所確定的功率狀態(tài)應(yīng)用于整個設(shè)備100。在另一實施方案中,功率管理器105將所確定的功率狀態(tài)應(yīng)用于集成電路110。在再一實施方案中,功率管理器105將所確定的功率狀態(tài)應(yīng)用于處理器120和一些相關(guān)部件,諸如存儲器控制器125和易失性存儲器130。

在一個實施方案中,集成電路110包括多個處理器和/或多個處理內(nèi)核。在該實施方案中,功率管理器105通過將所確定的功率狀態(tài)應(yīng)用于集成電路110來控制整個集成電路110的空閑功率狀態(tài)。集成電路110被約束在其能夠?qū)崿F(xiàn)的空閑狀態(tài)上,即使一個內(nèi)核是活動的。例如,在一個實施方案中,功率管理器105通過將所確定的功率狀態(tài)應(yīng)用于接收來自i/o子系統(tǒng)的完成中斷的內(nèi)核來控制該內(nèi)核的空閑功率狀態(tài)。在一個實施方案中,來自i/o子系統(tǒng)的完成中斷被限制為能夠被指定內(nèi)核接收,以避免具體實施中的復(fù)雜性。

圖2是功率管理器105的一個實施方案的詳細(xì)框圖。在一個實施方案中,功率管理器105是操作系統(tǒng)的一部分,如上文參考圖1所述。在另一實施方案中,功率管理器105是管理設(shè)備功率消耗的單獨的硬件/軟件模塊。在圖2中,功率管理器105包括積分器210和歷史數(shù)據(jù)存儲裝置220。

在一個實施方案中,積分器210接收來自塊存儲驅(qū)動器(未示出)的當(dāng)前i/o信息106,并將當(dāng)前i/o信息106存儲到歷史i/o數(shù)據(jù)存儲裝置220中。在一個實施方案中,當(dāng)前i/o信息106可包括當(dāng)前i/o操作的方向、尺寸、服務(wù)質(zhì)量和介質(zhì)類型。積分器210還接收來自歷史數(shù)據(jù)存儲裝置220的歷史i/o數(shù)據(jù)225。在一個實施方案中,歷史i/o數(shù)據(jù)225可包括在采樣時間段內(nèi)i/o操作的數(shù)量、i/o操作之間的到達(dá)間隔時間、讀操作的聚集尺寸、和寫操作的聚集尺寸。在一個實施方案中,積分器210基于當(dāng)前i/o信息106和歷史i/o數(shù)據(jù)225來確定功率狀態(tài)230。

在一個實施方案中,積分器210輸出的功率狀態(tài)230是低功率狀態(tài)。在一個實施方案中,所確定的功率狀態(tài)230被應(yīng)用于整個設(shè)備。在另一實施方案中,所確定的功率狀態(tài)230被應(yīng)用于處理器及與處理器緊密相關(guān)聯(lián)的部件,例如存儲器控制器和dram。

歷史i/o數(shù)據(jù)存儲裝置220接收當(dāng)前i/o信息106并將當(dāng)前i/o信息106存儲作為歷史i/o數(shù)據(jù)的一部分。在一個實施方案中,每個i/o操作的信息作為單獨項被存儲在歷史i/o數(shù)據(jù)存儲裝置220中。在另一實施方案中,i/o操作的信息被聚集并存儲在歷史i/o數(shù)據(jù)存儲裝置220中。歷史i/o數(shù)據(jù)存儲裝置220將歷史i/o數(shù)據(jù)225提供給積分器210。

在一個實施方案中,積分器210基于當(dāng)前i/o信息106和歷史i/o數(shù)據(jù)225確定適當(dāng)?shù)牡凸β薁顟B(tài)230,以便降低功率消耗,同時改善效率并維持可接受水平的系統(tǒng)性能。例如在一個實施方案中,不是將處理器降低到處理器的大多數(shù)電路塊被功率門控的非常低功率狀態(tài),積分器210基于當(dāng)前i/o信息106和歷史i/o數(shù)據(jù)225選擇處理器的大多數(shù)電路塊被時鐘門控的功率狀態(tài)230,這導(dǎo)致更多能量消耗,但涉及更低延遲轉(zhuǎn)變。通過選擇這個更高的功率狀態(tài)并將該更高的功率狀態(tài)應(yīng)用于處理器,而不是像處理器的大多數(shù)被功率門控時那樣重新初始化和重新加載所有狀態(tài),時鐘門控的處理器只接收用于在指示i/o操作已經(jīng)完成的中斷到達(dá)時禁用時鐘門控的信號。因此,可避免由于進(jìn)入非常低功率狀態(tài)、然后在某些i/o操作期間快速離開非常低功率狀態(tài)所導(dǎo)致的延遲和不利效率影響。

例如,分頁是一種存儲器管理機(jī)制,其中計算機(jī)按相同大小的塊(即頁)存儲以及從次級存儲裝置檢索數(shù)據(jù)以供在主存儲器中使用。在分頁風(fēng)暴期間,大量分頁請求被發(fā)布并且大量i/o操作在短的時間段中被執(zhí)行。例如,在一個實施方案中,在應(yīng)用程序正被啟動時生成分頁風(fēng)暴。當(dāng)功率狀態(tài)控制不是基于i/o信息時,在分頁風(fēng)暴期間每次發(fā)布i/o請求時,處理器可被降低到深低功率狀態(tài)(例如,具有非常低水平功率消耗并且為了被重新激活會具有高延遲的功率門控狀態(tài))。一旦i/o操作完成,將花費長的時間并消耗相當(dāng)多的能量以便將處理器拖出深低功率狀態(tài),以進(jìn)一步處理從i/o子系統(tǒng)接收的數(shù)據(jù)。這對于系統(tǒng)性能和效率會有不利影響,因為用戶會不得不等待更長的時間段供應(yīng)用被啟動,并且在頻繁進(jìn)入和離開深低功率狀態(tài)中浪費功率。

利用基于i/o的功率狀態(tài)控制,每次i/o請求在分頁風(fēng)暴期間被發(fā)布時,通過考慮i/o操作和歷史i/o數(shù)據(jù)的特征來確定處理器的功率狀態(tài)。在應(yīng)用啟動導(dǎo)致的分頁風(fēng)暴的情形中,每個i/o操作具有高qos,因為用戶正在等待應(yīng)用程序被啟動。與分頁風(fēng)暴相關(guān)的歷史i/o信息會指示i/o操作的數(shù)量大以及i/o操作之間的到達(dá)間隔時間短。因此,將在分頁風(fēng)暴中涉及的所有i/o操作上選擇淺低功率狀態(tài)(例如,相對高功率消耗水平和非常低延遲的空閑處理器功率狀態(tài)),以節(jié)省少量功率,同時改善系統(tǒng)效率并維持高水平的系統(tǒng)性能。用戶能夠感知的對應(yīng)用被啟動的等待會更短,并且更少的能量被消耗在不同功率狀態(tài)之間的轉(zhuǎn)變中。

上面針對本公開的一個實施方案描述了功率管理器105。本領(lǐng)域的普通技術(shù)人員將認(rèn)識到,在其他實施方案中,可采用不同方式實現(xiàn)該模塊。例如,在上文所述的一個實施方案中,某些模塊被實施為軟件模塊。然而,在另一實施方案中,這些模塊中的一些或全部可由硬件實施,這可以是專用的特定于應(yīng)用的硬件(例如,asic芯片或部件)或通用芯片(例如,微處理器或fpga)。

圖3a示出了通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的過程300的一個實施方案的流程圖。在一個實施方案中,上文在圖1和圖2中描述的功率管理器105執(zhí)行過程300以確定適當(dāng)?shù)牡凸β薁顟B(tài),以便降低功率消耗,同時改善系統(tǒng)效率并維持可接受水平的系統(tǒng)性能。在圖3a中,過程300開始于(在框305處)采集和聚集設(shè)備的歷史i/o信息。在一個實施方案中,積分器210采集當(dāng)前i/o信息并將當(dāng)前i/o信息聚集到歷史i/o信息中,如上文在圖2中所述。在一個實施方案中,歷史i/o信息可包括在采樣時間段內(nèi)i/o操作的數(shù)量、i/o操作之間的到達(dá)間隔時間、讀操作的聚集尺寸、和寫操作的聚集尺寸。

在框310處,過程300接收關(guān)于當(dāng)前i/o操作的i/o信息。在一個實施方案中,當(dāng)前i/o信息可包括當(dāng)前i/o操作的方向、尺寸、服務(wù)質(zhì)量和介質(zhì)類型。

在一個實施方案中,當(dāng)前i/o信息是關(guān)于要執(zhí)行的i/o操作的信息。在另一個實施方案中,當(dāng)前i/o信息是預(yù)測信息。例如,在一個實施方案中,操作系統(tǒng)可通知對文件的順序存取。系統(tǒng)可選擇為i/o操作進(jìn)行準(zhǔn)備,但不實際發(fā)布對i/o操作的i/o請求,并設(shè)置標(biāo)記來指示該i/o操作是預(yù)測性的。

在框315處,過程300基于歷史i/o信息和當(dāng)前i/o信息來確定設(shè)備的功率狀態(tài)。在一個實施方案中,在框315處確定的功率狀態(tài)是降低功率消耗、同時改善系統(tǒng)效率并維持合理水平系統(tǒng)性能的低功率狀態(tài)。例如,在一個實施方案中,不是將處理器降低到處理器在其中被功率門控的非常低功率狀態(tài),過程300基于當(dāng)前i/o信息和歷史i/o信息來確定處理器在其中被時鐘門控的低功率狀態(tài),因此具有更高水平的功率消耗。通過確定更高功率狀態(tài)并將更高功率狀態(tài)應(yīng)用于處理器,可避免由進(jìn)入非常低功率狀態(tài)、然后在某些i/o操作期間快速地退出非常低功率狀態(tài)所導(dǎo)致的延遲和不利效率影響。

在一個實施方案中,在當(dāng)前i/o被標(biāo)記為是預(yù)測性的時,可更長期地計劃功率狀態(tài)的確定。例如,在一個實施方案中,過程300限制一系列i/o操作的總延遲,并相應(yīng)地確定功率狀態(tài)。在一個實施方案中,過程300可在當(dāng)前i/o被標(biāo)記為是預(yù)測性的時候降低功率管理的進(jìn)取性。

過程300(在框320處)應(yīng)用所確定的功率狀態(tài)。在一個實施方案中,功率狀態(tài)被應(yīng)用于整個設(shè)備。在另一實施方案中,功率狀態(tài)被應(yīng)用于設(shè)備的處理器以及與處理器有關(guān)的部件,諸如存儲器控制器和dram。

本領(lǐng)域的普通技術(shù)人員將會認(rèn)識到,過程300是用于管理系統(tǒng)性能的操作的概念表示。過程300的特定操作可不以所示出和所描述的確切次序執(zhí)行。可不在一個連續(xù)的操作系列中執(zhí)行該特定操作,并且可在不同實施方案中執(zhí)行不同的特定操作。此外,過程300可使用若干子過程來實施,或者作為更大宏過程的一部分來實施。

以上在圖3a中從功率管理器的角度描述了基于i/o的功率狀態(tài)控制的過程。圖3b示出了一種通過基于i/o信息控制功率狀態(tài)來管理系統(tǒng)性能的另一過程350的一個實施方案的流程圖。圖3b從i/o操作的角度描述基于i/o的功率狀態(tài)控制的過程。在一個實施方案中,以上在圖1中所述的設(shè)備100執(zhí)行過程350。在圖3b中,過程350開始于(在框355處)采集歷史i/o數(shù)據(jù)。在一個實施方案中,歷史i/o數(shù)據(jù)可包括在采樣時間段內(nèi)i/o操作的數(shù)量、i/o操作之間的到達(dá)間隔時間、讀操作的聚集尺寸、和寫操作的聚集尺寸。

在框360處,過程350確定要執(zhí)行的i/o操作。在一個實施方案中,i/o操作可以是讀操作或?qū)懖僮?。在?65處,過程350確定i/o操作的特征。在一個實施方案中,i/o操作的特征可包括i/o操作的方向、尺寸、服務(wù)質(zhì)量和介質(zhì)類型。

在一個實施方案中,當(dāng)前i/o信息是關(guān)于要執(zhí)行的i/o操作的信息。在另一實施方案中,當(dāng)前i/o信息是預(yù)測信息。例如,在一個實施方案中,操作系統(tǒng)可通知對文件的順序存取。系統(tǒng)可選擇為i/o操作進(jìn)行準(zhǔn)備,但不實際發(fā)布對i/o操作的i/o請求,并設(shè)置標(biāo)記來指示該i/o操作是預(yù)測性的。

在框370處,過程350基于歷史i/o數(shù)據(jù)和i/o操作的特征來確定低功率狀態(tài)。在一個實施方案中,在框370處確定的低功率狀態(tài)是降低功率消耗、同時改善系統(tǒng)效率并維持合理水平系統(tǒng)性能的低功率狀態(tài)。例如,在一個實施方案中,不是將處理器降低到處理器在其中被功率門控的非常低功率狀態(tài),過程350基于i/o操作的特征和歷史i/o數(shù)據(jù)確定處理器在其中被時鐘門控的低功率狀態(tài),因此具有較高水平的功率消耗。通過確定更高功率狀態(tài)并將更高功率狀態(tài)應(yīng)用于處理器,可避免由進(jìn)入非常低功率狀態(tài)、然后在某些i/o操作期間快速地退出非常低功率狀態(tài)所導(dǎo)致的延遲和不利效率影響。

在一個實施方案中,在當(dāng)前i/o被標(biāo)記為是預(yù)測性的時,可更長期地計劃低功率狀態(tài)的確定。例如,在一個實施方案中,過程350限制一系列i/o操作的總延遲,并相應(yīng)地確定功率狀態(tài)。在一個實施方案中,過程350可在當(dāng)前i/o操作被標(biāo)記為是預(yù)測性的時候降低功率管理的進(jìn)取性。例如,在一個實施方案中,通過使用時鐘門控的狀態(tài)而不是功率門控的狀態(tài)來實施進(jìn)取性較低的功率管理。

在框375處,過程350發(fā)布對i/o操作的i/o請求。過程350(在框380處)進(jìn)入所確定的低功率狀態(tài)。在一個實施方案中,低功率狀態(tài)被應(yīng)用于整個設(shè)備。在另一實施方案中,低功率狀態(tài)被應(yīng)用于設(shè)備的處理器以及與處理器有關(guān)的部件,諸如存儲器控制器和dram。

在框385處,過程350接收關(guān)于i/o操作已完成的通知。在一個實施方案中,通知是從執(zhí)行i/o操作的存儲設(shè)備接收的。在框390處,處理器離開低功率狀態(tài),以處理i/o操作的結(jié)果。

本領(lǐng)域的普通技術(shù)人員將會認(rèn)識到,過程350是用于管理系統(tǒng)性能的操作的概念表示。過程350的特定操作可不以所示出和所描述的確切次序執(zhí)行。例如,框370和375的操作可并行執(zhí)行或者按相反的次序執(zhí)行??刹辉谝粋€連續(xù)的操作系列中執(zhí)行該特定操作,并且可在不同實施方案中執(zhí)行不同的特定操作。此外,過程350可使用若干子過程來實施,或者作為更大宏過程的一部分來實施。

圖4示出了一個實施方案中使用的當(dāng)前i/o信息的一個示例。如圖所示,當(dāng)前i/o信息106包含包括但不限于i/o方向405、i/o尺寸410、i/oqos415和i/o介質(zhì)類型420的信息項。在一個實施方案中,當(dāng)前i/o操作的這些信息項中的一者或多者可用于確定適當(dāng)?shù)牡凸β薁顟B(tài),以便降低功率消耗、同時改善系統(tǒng)效率并維持可接受水平的系統(tǒng)性能。

i/o方向405表示i/o操作的方向(例如,讀或?qū)?。在一個實施方案中,如果i/o操作是寫操作,則當(dāng)前i/o信息106在確定低功率狀態(tài)時被忽略,因為寫操作可在塊存儲裝置處被緩沖,并且處理器在寫操作完成時不進(jìn)行操作。在該實施方案中,關(guān)于讀操作的信息可影響功率狀態(tài)的確定,而關(guān)于寫操作的信息不影響功率狀態(tài)的確定。在一個實施方案中,在關(guān)于寫操作的信息被接收時,將選擇較淺低功率狀態(tài)(即,與在不考慮i/o信息的情況下的情況相比,功率消耗水平較高且延遲較低的功率狀態(tài))。

本領(lǐng)域的普通技術(shù)人員將認(rèn)識到,高功率消耗水平小于全操作功率水平,并且低功率消耗水平大于完全斷電。本領(lǐng)域的普通技術(shù)人員還將認(rèn)識到,“高”是相對于“無功率”,并且“低”是相對于“全功率”。

i/o尺寸410表示i/o操作的尺寸(例如,所涉及數(shù)據(jù)的量)。在一個實施方案中,在確定低功率狀態(tài)時為大尺寸i/o操作給予比小尺寸i/o操作少的權(quán)重,因為大尺寸i/o操作完成要花更長的時間并且對功率狀態(tài)的即近未來具有更小的影響。相反,小尺寸i/o操作更快完成,因此對功率狀態(tài)的即近未來具有更多影響。在一個實施方案中,對于小尺寸i/o操作將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而對于大尺寸i/o操作將選擇較深低功率狀態(tài)(即,較低功率消耗水平和較高延遲的功率狀態(tài))。

i/oqos415表示i/o操作是否重要。在一個實施方案中,具有低qos的i/o操作對功率狀態(tài)的確定具有很少或沒有影響。在該實施方案中,標(biāo)記有高qos的i/o操作(例如分頁操作)對功率狀態(tài)的確定具有更多影響。例如,在一個實施方案中,具有低qos的i/o操作在確定功率狀態(tài)時可被完全濾除或者較低地加權(quán)。例如在一個實施方案中,具有中等qos的i/o操作在確定功率狀態(tài)時可被加權(quán)為(例如來自分頁的)重要i/o操作的正好一半。例如在一個實施方案中,對于具有高qos的i/o操作將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而對于具有中等qos的i/o操作將選擇較深低功率狀態(tài)(例如,具有高qos的i/o操作的功率狀態(tài)的功率消耗水平約一半的功率狀態(tài))。

i/o介質(zhì)類型420表示在上面執(zhí)行i/o操作的介質(zhì)的類型(例如固態(tài)驅(qū)動器或硬盤驅(qū)動器)。在一個實施方案中,在硬盤驅(qū)動器上執(zhí)行的i/o操作與在固態(tài)驅(qū)動器上執(zhí)行的i/o操作相比對功率狀態(tài)的確定具有更少的影響,因為硬盤驅(qū)動器上i/o操作的延遲更長,因此i/o操作的完成對功率狀態(tài)的即近未來具有更少的影響。在一個實施方案中,對于固態(tài)驅(qū)動器上的i/o操作將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而對于硬盤驅(qū)動器上的i/o操作將選擇較深低功率狀態(tài)(即,較低功率消耗水平和較高延遲的功率狀態(tài))。

上面已經(jīng)分別討論了當(dāng)前i/o信息106的每個信息項對低功率狀態(tài)的確定的影響。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識到,兩個或更多個信息項可被組合以進(jìn)一步改善低功率狀態(tài)的確定。在一個實施方案中,基于當(dāng)前i/o信息106的兩個或更多個信息項的累積效應(yīng)來確定低功率狀態(tài)。

圖5示出了一個實施方案中使用的歷史i/o信息的一個示例。如圖所示,歷史i/o數(shù)據(jù)225包含包括但不限于i/o操作的數(shù)量505、i/o操作之間的到達(dá)間隔時間510、讀操作的聚集尺寸515、和寫操作的聚集尺寸520的信息項。在一個實施方案中,歷史i/o數(shù)據(jù)的這些信息項中的一者或多者可用于確定適當(dāng)?shù)牡凸β薁顟B(tài),以便降低功率消耗、同時改善系統(tǒng)效率并維持合理水平的系統(tǒng)性能。

i/o操作的數(shù)量505表示在采樣時間段期間i/o操作的計數(shù)。在一個實施方案中,當(dāng)i/o操作的數(shù)量高時,將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而當(dāng)i/o操作的數(shù)量低時,將選擇較深低功率狀態(tài)(即,較低功率消耗水平和較高延遲的功率狀態(tài))。在一個實施方案中,i/o操作的數(shù)量越高,低功率狀態(tài)將越淺。

在一個實施方案中,i/o操作之間的到達(dá)間隔時間表示在采樣時間段期間i/o操作之間的平均到達(dá)間隔時間。在一個實施方案中,如果i/o操作之間的到達(dá)間隔時間短,則將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而如果i/o操作之間的到達(dá)間隔時間長,則將選擇較深低功率狀態(tài)(例如,較低功率消耗水平和較高延遲的功率狀態(tài))。在一個實施方案中,i/o操作之間的到達(dá)間隔時間越短,低功率狀態(tài)將越淺。

讀操作的聚集尺寸515表示采樣時間段期間讀操作的總尺寸。在一個實施方案中,如果讀操作的聚集尺寸小,則將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而如果讀操作的聚集尺寸大,則將選擇較深低功率狀態(tài)(例如,較低功率消耗水平和較高延遲的功率狀態(tài))。在一個實施方案中,讀操作的聚集尺寸越小,低功率狀態(tài)將越淺。

寫操作的聚集尺寸520表示采樣時間段期間寫操作的總尺寸。在一個實施方案中,如果寫操作的聚集尺寸小,則將選擇較淺低功率狀態(tài)(即,較高功率消耗水平和較低延遲的功率狀態(tài)),而如果寫操作的聚集尺寸大,則將選擇較深低功率狀態(tài)(例如,較低功率消耗水平和較高延遲的功率狀態(tài))。在一個實施方案中,寫操作的聚集尺寸越小,低功率狀態(tài)將越淺。

上面已經(jīng)分別討論了歷史i/o數(shù)據(jù)225的每個信息項對低功率狀態(tài)的確定的影響。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識到,兩個或更多個信息項可被組合以進(jìn)一步改善低功率狀態(tài)的確定。在一個實施方案中,基于歷史i/o數(shù)據(jù)225的兩個或更多個信息項的累積效應(yīng)來確定低功率狀態(tài)。

圖6示出了用于基于i/o信息來調(diào)節(jié)功率狀態(tài)的一個實施方案中的一個示例。圖6在圖表600的x軸上標(biāo)記了幾個不同時間點610a-f。三個i/o操作在這個時間段期間發(fā)生。第一i/o操作在時間610a發(fā)出,并在時間610b完成。第二i/o操作在時間610c發(fā)出,并在時間610d完成。第三i/o操作在時間610e發(fā)出,并在時間610f完成。

圖6還在圖表600的y軸上標(biāo)記了幾個不同功率狀態(tài)620a-e。延遲是從低功率狀態(tài)進(jìn)入處理器在其中能夠執(zhí)行某些預(yù)期功能的更高功率狀態(tài)所花費的時間量。功率狀態(tài)距離圖表600的原點越近,功率狀態(tài)具有越低的功率消耗水平和越高的延遲。功率狀態(tài)距離圖表600的原點越遠(yuǎn),功率狀態(tài)具有越高的功率消耗水平和越低的延遲。例如,功率狀態(tài)620d具有比功率狀態(tài)620a-c更高的功率消耗水平和更低的延遲。

在一個實施方案中,第一、第二和第三i/o操作具有相同特征,例如相同的尺寸和qos等等。在該實施方案中,在第一i/o操作被發(fā)出之前,功率狀態(tài)被設(shè)置在620a。在時間610a,沒有歷史i/o信息。在一個實施方案中,沒有歷史i/o信息意味著沒有歷史i/o信息被存儲。在另一實施方案中,沒有歷史i/o信息意味著舊的歷史i/o信息已經(jīng)過期并且不被用于分析。在又一實施方案中,沒有歷史i/o信息意味著在時間段內(nèi)沒有i/o操作。在時間610a,功率狀態(tài)被提高到620b以發(fā)出第一i/o操作。在時間610b,第一i/o操作完成,并且功率狀態(tài)被降低到620b。

在時間610c,由于在那個時間之前第一i/o操作和可能的其他i/o操作的發(fā)生,所以有歷史i/o信息可用。因為有i/o歷史信息可用,所以功率狀態(tài)在時間610c被提高到620d,這是比時間610a時更大的功率消耗水平提高,以發(fā)出第二i/o操作。在時間610d,第二i/o操作完成,并且功率狀態(tài)降低到620c,其具有比第一i/o操作完成之后的功率狀態(tài)620b更高的功率消耗水平和更低的延遲。

在時間610e,由于在那個時間之前第一和第二i/o操作和可能其他i/o操作的發(fā)生,所以有更多歷史i/o信息可用。因為有更多i/o歷史信息可用,所以功率狀態(tài)在時間610e被提高到620e,這是比時間610c時甚至更大的功率消耗水平提高,以發(fā)出第三i/o操作。在時間610f,第三i/o操作完成,并且功率狀態(tài)降低到620d,其具有比第二i/o操作完成之后的功率狀態(tài)620c甚至更高的功率消耗水平和更低的延遲。

圖6示出了當(dāng)有越來越多的歷史i/o信息可用時功率狀態(tài)的加速提高。使得具有高功率消耗水平和低延遲的功率狀態(tài)被維持以處理i/o操作,以降低功率消耗、同時改善系統(tǒng)效率,并確保合理水平的系統(tǒng)性能。

圖7示出了可與本公開的一個實施方案一起使用的數(shù)據(jù)處理系統(tǒng)700的一個示例。例如,系統(tǒng)700可以圖1所示的設(shè)備100來實施。需注意,雖然圖7示出了設(shè)備的各種部件,但它并不旨在表示使這些部件互連的任何特定構(gòu)造或方式,因此這些細(xì)節(jié)與本公開并無密切關(guān)系。還應(yīng)理解,具有更少部件或可能更多部件的網(wǎng)絡(luò)計算機(jī)以及其他數(shù)據(jù)處理系統(tǒng)或其他消費電子設(shè)備也可用于本公開。

如圖7所示,數(shù)據(jù)處理系統(tǒng)形式的設(shè)備700包括耦接到一個或多個微處理器705、rom(只讀存儲器)707、易失性ram709和非易失性存儲器711的總線703。微處理器705耦接到高速緩存存儲器704。高速緩存存儲器704可以是易失性或非易失性存儲器。微處理器705可從存儲器707,709,711和704檢索指令并執(zhí)行所述指令以執(zhí)行上述操作??偩€703將這些各種部件互連在一起,并且還將這些部件705,707,709和711互連至顯示控制器和顯示設(shè)備713以及互連至外圍設(shè)備諸如輸入/輸出(i/o)設(shè)備715,該輸入/輸出(i/o)設(shè)備可以是鼠標(biāo)、鍵盤、調(diào)制解調(diào)器、網(wǎng)絡(luò)接口、打印機(jī)和本領(lǐng)域熟知的其他設(shè)備。

通常,輸入/輸出設(shè)備715通過輸入/輸出控制器710耦接到系統(tǒng)。易失性ram(隨機(jī)存取存儲器)709通常被實現(xiàn)為動態(tài)ram(dram),其需要連續(xù)供電以刷新或保持存儲器中的數(shù)據(jù)。

海量存儲裝置711通常為即使在系統(tǒng)斷電后也保持?jǐn)?shù)據(jù)(例如,大量數(shù)據(jù))的磁性硬盤驅(qū)動器或磁性光驅(qū)或光驅(qū)或dvdram或閃存存儲器或者其他類型的存儲器系統(tǒng)。通常,海量存儲裝置711也可以是隨機(jī)存取存儲器,雖然這并非必需。雖然圖7示出海量存儲裝置711為直接耦接到數(shù)據(jù)處理系統(tǒng)中的其余部件的本地設(shè)備,但應(yīng)當(dāng)理解,本公開可利用遠(yuǎn)離系統(tǒng)的非易失性存儲器,諸如通過網(wǎng)絡(luò)接口諸如調(diào)制解調(diào)器、以太網(wǎng)接口或無線網(wǎng)絡(luò)耦接到數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)存儲設(shè)備??偩€703可包括通過本領(lǐng)域熟知的各種橋接器、控制器和/或適配器彼此連接的一條或多條總線。

圖8示出了可與本公開的一個實施方案一起使用的另一數(shù)據(jù)處理系統(tǒng)800的一個示例。例如,系統(tǒng)800可被實現(xiàn)為圖1所示的設(shè)備100。圖8所示的數(shù)據(jù)處理系統(tǒng)800包括處理系統(tǒng)811,處理系統(tǒng)811可以是一個或多個微處理器,或者可以是片上系統(tǒng)集成電路,并且數(shù)據(jù)處理系統(tǒng)還包括存儲器801,用于存儲數(shù)據(jù)和程序供處理系統(tǒng)執(zhí)行。系統(tǒng)800還包括音頻輸入/輸出子系統(tǒng)805,該子系統(tǒng)可包括麥克風(fēng)和揚聲器,例如用于通過揚聲器和麥克風(fēng)來播放音樂或提供電話功能性。

顯示控制器和顯示設(shè)備809為用戶提供可視用戶界面;這個數(shù)字界面可包括圖形用戶界面,其類似于當(dāng)運行osx操作系統(tǒng)軟件時在macintosh計算機(jī)上顯示的、或者當(dāng)運行ios操作系統(tǒng)時在apple上顯示的等等。系統(tǒng)800還包括一個或多個無線收發(fā)器803,以與另一數(shù)據(jù)處理系統(tǒng)(諸如圖8的系統(tǒng)800)通信。無線收發(fā)器可為wlan收發(fā)器、紅外收發(fā)器、藍(lán)牙收發(fā)器和/或無線蜂窩電話收發(fā)器。應(yīng)當(dāng)理解,在某些實施方案中,未示出的附加部件也可以是系統(tǒng)800的部分,并且在某些實施方案中,也可以在數(shù)據(jù)處理系統(tǒng)中使用比圖8中所示更少的部件。系統(tǒng)800還包括一個或多個通信端口817,以與另一數(shù)據(jù)處理系統(tǒng)(諸如圖10中的系統(tǒng))通信。通信端口可為usb端口、火線端口、藍(lán)牙接口等。

數(shù)據(jù)處理系統(tǒng)800還包括一個或多個輸入設(shè)備813,提供所述輸入設(shè)備以允許用戶向系統(tǒng)提供輸入。這些輸入設(shè)備可為小鍵盤或鍵盤或觸摸面板或多點觸摸面板。數(shù)據(jù)處理系統(tǒng)800還包括可選的輸入/輸出設(shè)備815,其可以是用于對接站的連接器。應(yīng)當(dāng)理解,如本領(lǐng)域所熟知的,可以使用未示出的一個或多個總線來互連各種部件。圖8所示的數(shù)據(jù)處理系統(tǒng)可以是手持式設(shè)備或個人數(shù)字助理(pda)、或具有pda類似功能性的蜂窩電話、或包括蜂窩電話的手持式設(shè)備、或媒體播放器諸如或組合這些設(shè)備的方面或功能的設(shè)備,諸如在一個設(shè)備中與pda和蜂窩電話組合的媒體播放器或者嵌入式設(shè)備或其他消費電子設(shè)備。在其它實施方案中,數(shù)據(jù)處理系統(tǒng)800可以是具有比圖8中所示更少部件或可能更多部件的網(wǎng)絡(luò)計算機(jī)或者另一設(shè)備內(nèi)的嵌入處理設(shè)備或者其他類型的數(shù)據(jù)處理系統(tǒng)。

本公開的至少某些實施方案可以是數(shù)字媒體播放器(諸如便攜式音樂和/或視頻媒體播放器)的一部分,數(shù)字媒體播放器可包括用于呈現(xiàn)媒體的媒體處理系統(tǒng)、用于存儲媒體的存儲設(shè)備,并且可以進(jìn)一步包括與天線系統(tǒng)和媒體處理系統(tǒng)耦接的射頻(rf)收發(fā)器(例如,用于蜂窩電話的rf收發(fā)器)。在某些實施方案中,存儲在遠(yuǎn)程存儲設(shè)備上的媒體可通過rf收發(fā)器發(fā)送到媒體播放器。例如,媒體可以是音樂或其他音頻、靜態(tài)圖片或運動圖片中的一個或多個。

便攜式媒體播放器可包括媒體選擇設(shè)備,諸如得自appleinc.(cupertino,ca)的或ipod媒體播放器上的點擊輪輸入設(shè)備、觸摸屏輸入設(shè)備、按鈕設(shè)備、可移動指示輸入設(shè)備或其他輸入設(shè)備。可以使用媒體選擇設(shè)備來選擇存儲在存儲設(shè)備和/或遠(yuǎn)程存儲設(shè)備上的媒體。在至少某些實施方案中,便攜式媒體播放器可包括顯示設(shè)備,該顯示設(shè)備耦接到媒體處理系統(tǒng)以顯示通過輸入設(shè)備選擇的并且通過揚聲器或一個或多個耳機(jī)或者在顯示設(shè)備上、或者在顯示設(shè)備上且在揚聲器或一個或多個耳機(jī)上呈現(xiàn)的媒體的標(biāo)題或其他指示符。便攜式媒體播放器的示例在公布的美國專利7,345,671和美國專利7,627,343中有所描述,這兩個美國專利以引用方式并入本文。

上述內(nèi)容的部分可利用邏輯電路諸如專用邏輯電路來實現(xiàn),或利用微控制器或用于執(zhí)行程序代碼指令的其他形式的處理內(nèi)核來實現(xiàn)。從而,可利用程序代碼諸如機(jī)器可執(zhí)行指令來執(zhí)行上述討論所教導(dǎo)的過程,該機(jī)器可執(zhí)行指令使得機(jī)器執(zhí)行這些指令以執(zhí)行某些函數(shù)。在本上下文中,“機(jī)器”可為將中間形式(或“抽象”)指令轉(zhuǎn)換為特定于處理器的指令(例如,抽象執(zhí)行環(huán)境諸如“虛擬機(jī)”(例如,java虛擬機(jī))、解譯器、公共語言運行時、高級語言虛擬機(jī)等)的機(jī)器,和/或被設(shè)計用于執(zhí)行指令的被設(shè)置在半導(dǎo)體芯片(例如,利用晶體管實現(xiàn)的“邏輯電路”)上的電子電路,諸如通用處理器和/或?qū)S锰幚砥?。上述討論所教?dǎo)的過程也可通過(作為機(jī)器的替代或與機(jī)器結(jié)合)電子電路來執(zhí)行,該電子電路被設(shè)計用于執(zhí)行過程(或其一部分)而不執(zhí)行程序代碼。

本公開還涉及一種用于執(zhí)行本文所述的操作的裝置。該裝置可專門構(gòu)造用于所需的目的,或者其可包括由被存儲在設(shè)備中的計算機(jī)程序選擇性地激活或重新配置的通用計算機(jī)。此類計算機(jī)程序可被存儲在計算機(jī)可讀存儲介質(zhì)中,例如但不限于任何類型的盤,包括軟盤、光盤、cd-rom和磁光盤,只讀存儲器(rom)、ram、eprom、eeprom、磁卡或光卡、或適于存儲電子指令的任何類型的介質(zhì),并且每一者均耦接到設(shè)備總線。

機(jī)器可讀介質(zhì)包括以機(jī)器(例如,計算機(jī))可讀形式存儲或發(fā)送信息的任何機(jī)構(gòu)。例如,機(jī)器可讀介質(zhì)包括只讀存儲器(“rom”);隨機(jī)存取存儲器(“ram”);磁盤存儲介質(zhì);光學(xué)存儲介質(zhì);閃存存儲器設(shè)備等。

制品可用于存儲程序代碼。存儲程序代碼的制品可被實施為但不限于一個或多個存儲器(例如,一個或多個閃存存儲器、隨機(jī)存取存儲器(靜態(tài)、動態(tài)或其他))、光盤、cd-rom、dvdrom、eprom、eeprom、磁卡或光卡、或適于存儲電子指令的其他類型的機(jī)器可讀介質(zhì)。也可借助在傳播介質(zhì)(例如,經(jīng)由通信鏈路(例如網(wǎng)絡(luò)連接))中實施的數(shù)據(jù)信號來將程序代碼從遠(yuǎn)程計算機(jī)(例如,服務(wù)器)下載到請求計算機(jī)(例如,客戶端)。

前面的具體實施方式部分是按照對設(shè)備存儲器內(nèi)數(shù)據(jù)位的操作的算法和符號表示來提供的。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域的技術(shù)人員所使用的工具,而這些工具也能最有效地將其工作實質(zhì)傳達(dá)給該領(lǐng)域的其他技術(shù)人員。算法在這里并通常是指導(dǎo)致所希望的結(jié)果的操作的自相一致的序列。操作是需要對物理量進(jìn)行物理操縱的那些操作。通常,盡管不是必須的,但這些量采用能夠被存儲、傳送、組合、比較以及換句話講操縱的電信號或磁信號的形式。已被證明,有時,主要是出于通用的原因,將這些信號指代為位、值、元素、符號、字符、術(shù)語、數(shù)字等是方便的。

然而,應(yīng)當(dāng)牢記的是,所有這些以及類似的術(shù)語都與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),并且其只是應(yīng)用于這些量的方便標(biāo)簽。除非另外特別說明,否則從上述討論中顯而易見的是,可以理解,在整個說明書中,使用術(shù)語諸如“接收”、“選擇”、“確定”、“采集”、“應(yīng)用”、“進(jìn)入”等的討論是指設(shè)備或類似的電子計算設(shè)備的動作和處理,其對設(shè)備的寄存器和存儲器中表示為物理(電子)量的數(shù)據(jù)進(jìn)行操縱,并將其轉(zhuǎn)換成在設(shè)備存儲器或寄存器或其他此類信息存儲、傳輸或顯示設(shè)備中相似地表示為物理量的其他數(shù)據(jù)。

本文中所呈現(xiàn)的過程和顯示并不固有地與任何特定設(shè)備或其他裝置相關(guān)。根據(jù)本文的教導(dǎo)內(nèi)容,各種通用系統(tǒng)可與程序一起使用,或者可證明便于構(gòu)造用于執(zhí)行所述操作的更專用的裝置。根據(jù)下文的描述,用于各種這些系統(tǒng)的所需結(jié)構(gòu)將是顯而易見的。此外,本公開未參照任何特定的編程語言進(jìn)行描述。應(yīng)當(dāng)理解,多種編程語言可用于實現(xiàn)如本文所述的公開內(nèi)容的教導(dǎo)。

前面的討論僅描述了本公開的一些示例性實施方案。本領(lǐng)域的技術(shù)人員將易于從此類討論、附圖和權(quán)利要求書中認(rèn)識到,可在不脫離本公開的實質(zhì)和范圍的情況下進(jìn)行各種修改。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
龙陵县| 元阳县| 黑山县| 田阳县| 白沙| 盖州市| 大方县| 同心县| 保康县| 长子县| 新化县| 隆子县| 安庆市| 红安县| 独山县| 青海省| 两当县| 二手房| 留坝县| 昌平区| 成都市| 霍林郭勒市| 彩票| 宜州市| 特克斯县| 台北市| 阿克| 老河口市| 金秀| 伊吾县| 木兰县| 新化县| 武宁县| 沁阳市| 会理县| 保康县| 隆回县| 扎囊县| 洛浦县| 壤塘县| 车险|