專利名稱:移動裝置和用于披露和管理一組性能縮放算法的方法
技術領域:
背景技術:
無線通信協(xié)議、能量儲存密度、處理器性能和效率的技術進步,以及蜂窩式發(fā)射器的密度的增加在19世紀90年代曾實現(xiàn)了無線數字網絡的引入。隨著第二代移動裝置的使用變得更廣泛,很明顯,對包含對因特網的接入權的數據服務的需求正在增長。與第三代無線通信系統(tǒng)的數據發(fā)射的包交換而不是電路交換的引入實現(xiàn)了將流式媒體遞送到移動裝置所需的數據發(fā)射速率的增加。如今的具有數據網絡能力的移動裝置包含高性能處理器,以將種類繁多的應用程序提供給最終用戶。然而,對性能的需求導致電力消耗的對應增加?,F(xiàn)代處理器中的電力耗散正隨著給定實施方案所需的時鐘頻率和晶體管數目增加而快速增加。遺憾的是,電池技術尚未跟上這些具有數據網絡能力的無線裝置的能量要求,這導致應用程序性能與電池壽命之間的設計折衷。即使在確定電池壽命可為全性能而犧牲時,對于通常為手掌大小的外殼內的電池和電子電路兩者來說,熱量管理也可能成問題。對提供高性能和低電力消耗的處理器的需求已引起在處理器設計中使用動態(tài)電壓和頻率縮放(DVFS)。DVFS實現(xiàn)電力消耗與性能之間的折衷。設計成利用DVFS的處理器允許通過電壓的對應調整來調整處理器的時鐘頻率。單獨降低時鐘頻率是沒用的,因為任何電力節(jié)省都被執(zhí)行時間的增加抵消,從而導致所消耗的總能量沒有凈減少。然而,操作電壓的降低導致所消耗電力的成比例的節(jié)省。具有DVFS能力的處理器的主要問題是如何控制性能與電力節(jié)省之間的平衡。常規(guī)的DVFS控制算法使用空閑時間的量度來識別準許計劃工作負載在時間上延伸到截止時間的經修改性能等級。就是說,通過在較低電壓和較慢時鐘頻率下操作處理器來減少空閑時間。雖然這種方法對于連續(xù)且已知的工作負載來說可能是合適的,但許多移動裝置應用程序是交互式的,且/或對處理器有不規(guī)律或無法預測的需求。因此,顯然沒有一個算法對于所有移動裝置應用程序、應用程序組合和使用來說是最佳的。
發(fā)明內容
一種用于管理和披露移動裝置上的一組性能縮放算法的方法包含以下步驟:將一組性能縮放算法提供給所述移動裝置內的非易失性存儲器;識別適合所述組性能縮放算法的相應成員中的每一者的一組參數;使所述組參數與所述非易失性存儲器中的所述組性能縮放算法的所述相應成員相關聯(lián)以界定一組程序;識別所述組程序中適合縮放所識別處理器核的性能的至少一個成員;使所述組程序的所述至少一個成員與所述非易失性存儲器中的所述所識別處理器核相關聯(lián);以及創(chuàng)建披露所述組程序的接口。所述用于管理和披露移動裝置上的一組性能縮放算法的方法的替代實施例包含以下步驟:將一組性能縮放算法提供給所述移動裝置內的非易失性存儲器,其中提供一組性能縮放算法包括提供電力節(jié)省算法,同時最小化對移動裝置的性能影響;識別適合所述組性能縮放算法的相應成員中的每一者的一組參數;使所述組參數與所述非易失性存儲器中的所述組性能縮放算法的所述相應成員相關聯(lián)以界定一組程序;識別所述組程序中適合縮放所識別處理器核的性能的至少一個成員;使所述組程序的所述至少一個成員與所述非易失性存儲器中的所述所識別處理器核相關聯(lián);以及創(chuàng)建披露所述組程序的接口?!N用于管理和披露移動裝置上的一組性能縮放算法的方法的又一替代實施例包含以下步驟:將一組性能縮放算法提供給所述移動裝置內的非易失性存儲器;識別適合所述組性能縮放算法的相應成員中的每一者的一組參數;使所述組參數與所述非易失性存儲器中的所述組性能縮放算法的所述相應成員相關聯(lián)以界定一組程序;識別所述組程序中適合縮放所識別處理器核的性能的至少一個成員;使所述組程序的所述至少一個成員與所述非易失性存儲器中的所述所識別處理器核相關聯(lián);創(chuàng)建披露所述組程序的接口 ;以及從所述組程序選擇第一程序以在啟動時執(zhí)行。一種用于管理和披露移動裝置上的一組性能縮放算法的方法的又一替代實施例包含以下步驟:將一組性能縮放算法提供給所述移動裝置內的非易失性存儲器;識別適合所述組性能縮放算法的相應成員中的每一者的一組參數;使所述組參數與所述非易失性存儲器中的所述組性能縮放算法的所述相應成員相關聯(lián)以界定一組程序;識別所述組程序中適合縮放所識別處理器核的性能的至少一個成員;使所述組程序的所述至少一個成員與所述非易失性存儲器中的所述所識別處理器核相關聯(lián);創(chuàng)建披露所述組程序的接口 ;從所述組程序選擇第一程序以在啟動時執(zhí)行;以及在識別到所界定事件后即刻用第二程序代替所述第一程序。根據用于管理和披露移動裝置上的一組性能縮放算法的方法的另一方面,所述方法進一步包含以分層次序來布置所述組程序的步驟。在一些實施例中,從最詳細成員到最不詳細成員來構造所述分層次序。根據用于管理和披露移動裝置上的一組性能縮放算法的各種方法的方面,所述接口可由移動裝置的制造商和操作者中的一者或一者以上接入。根據另一方面,披露一種移動裝置。所述移動裝置包含多核處理器,其以通信方式耦合到非易失性存儲器。所述非易失性存儲器中存儲有:一組程序,其由性能縮放算法與一組參數的相應組合界定;啟動程序,其在由所述多核處理器執(zhí)行時識別所述組程序中適合監(jiān)視所述移動裝置的操作并縮放所識別處理器核的性能的至少一個成員;以及應用程序編程接口,其披露所述組程序。在一些實例實施例中,所述移動裝置是蜂窩式電話、尋呼機、個人數字助理、閱讀器、衛(wèi)星電話、導航裝置或具有無線連接的計算裝置中的一者。在實例實施例中,移動裝置包含性能縮放算法,其平衡多個處理器核上的負載。在替代實施例中,移動裝置進一步包含管理應用程序,其在由處理器執(zhí)行時,檢測事件的發(fā)生、響應于所述事件而識別所述組程序的第二成員以代替所述組程序的所述至少一個成員、加載所述第二成員以供在所述所識別處理器核中執(zhí)行,且引導所述所識別處理器核執(zhí)行所述組程序的所述第二成員。根據移動裝置的另一方面,應用程序編程接口可由移動裝置的制造商和操作者中的一者或一者以上接入。根據移動裝置的又一方面,非易失性存儲器以分層次序存儲所述組程序。在一些實施例中,從最詳細成員到最不詳細成員來構造所述分層次序。此外,一種管理在所述移動裝置上操作的一組性能縮放算法的移動裝置包含:用于使一組性能縮放算法與相應一組參數關聯(lián)并存儲所述組性能縮放算法以界定一組程序的機構,所述組程序的至少一個成員適合縮放所識別處理器核的性能,所述用于關聯(lián)和存儲的機構包含用于識別所述組程序的適合在所述移動裝置上可用的處理器核上執(zhí)行的成員的相應指示符;以及用于披露所述組程序的機構。根據管理一組性能縮放算法的移動裝置的另一方面,所述性能縮放算法中的一者或一者以上包含負載平衡算法。根據管理一組性能縮放算法的移動裝置的又一方面,移動裝置進一步包含:用于檢測事件的發(fā)生的一個或一個以上機構;用于響應于所述事件而識別所述組程序的第二成員以代替所述組程序的所述至少一個成員的一個或一個以上機構;以及用于加載和執(zhí)行所述第二成員的一個或一個以上機構。根據管理一組性能縮放算法的移動裝置的又一方面,用于披露的一個或一個以上機構向所述移動裝置的制造商和操作者中的一者或一者以上披露所述組程序。根據管理一組性能縮放算法的移動裝置的又一方面,所述用于關聯(lián)和存儲的一個或一個以上機構以分層次序布置所述組程序。在一些實施例中,從最詳細成員到最不詳細成員來構造所述分層次序。在又一方面中,披露一種計算機程序產品,其包含具有包含于其中的計算機可讀程序代碼的計算機可用媒體。所述計算機可讀程序代碼適于執(zhí)行和實施用于管理移動裝置上的一組性能縮放算法的方法。所述方法包含以下步驟:從一組程序選擇適合縮放可在所述移動裝置上操作的處理器核的性能的成員以界定選定程序,所述組程序由性能縮放算法與相應一組參數的相應組合界定;響應于啟動序列而將所述選定程序加載在可在所述移動裝置上操作的處理器中;監(jiān)視所述移動裝置的使用以識別指示來自所述組程序的代替程序將代替所述選定程序的條件;以及在運行時期間用所述代替程序代替所述選定程序。根據計算機程序產品的另一方面,用于管理移動裝置上的一組性能縮放算法的所述方法且具體地說選擇成員包含搜索分層布置的文件系統(tǒng)。根據計算機程序產品的又一方面,用于管理移動裝置上的一組性能縮放算法的所述方法且具體地說監(jiān)視移動裝置的使用的步驟包含維持作用中進程列表。根據計算機程序產品的又一方面,用于管理移動裝置上的一組性能縮放算法的所述方法且具體地說監(jiān)視移動裝置的使用的步驟包含維持作用中資源列表。根據計算機程序產品的又一方面,用于管理移動裝置上的一組性能縮放算法的所述方法且具體地說監(jiān)視移動裝置的使用的步驟包含接收來自操作者接口的輸入。
參考下圖可更好地理解移動裝置和用于披露和管理可在移動裝置上操作的一組性能縮放算法的方法。圖內的組件不一定按比例繪制,而是將重點放在清楚地說明管理包含算法和相應的運行時參數的一組程序的原理。此外,在圖中,相同參考標號在不同視圖中始終表示對應部分。圖1是說明移動裝置的實施例的示意圖。
圖2是說明圖1的移動裝置的特征的示意圖。圖3是說明用于管理和披露在圖1的移動裝置上操作的性能縮放算法的方法的實施例的流程圖。圖4是說明可在圖1的移動裝置上操作的計算機程序產品的實施例的流程圖。
具體實施例方式詞語“示范性”在本文中用于表示“充當實例、例子或說明”。不必將本文中描述為“示范性”的任何方面解釋為與其它方面相比為優(yōu)選或有利的。在此描述中,術語“應用程序”也可包含具有可執(zhí)行內容的文件,例如:目標代碼、腳本、字節(jié)代碼、標記語言文件及補丁。另外,本文中所提到的“應用程序”還可包括本質上不可執(zhí)行的文件,例如可能需要打開的文檔或其它需要存取的數據文件。在此描述中,術語“移動裝置”用以描述依靠有限容量電源(例如電池)來操作的任何裝置。盡管依靠電池操作的移動裝置已經使用了數十年,但隨著第三代(“3G”)無線技術的出現(xiàn),相關的可再充電電池的技術進步已使大量移動裝置能夠具有多種能力。因此,移動裝置可為蜂窩式電話、衛(wèi)星電話、尋呼機、PDA、智能電話、導航裝置、智能本或閱讀器、媒體播放器、前面所提到的裝置的組合、具有無線連接的膝上型計算機,等等。引入多核處理器和專用硬件資源來實施移動裝置上的各種功能,且對電池壽命的改進的持續(xù)需要已進一步使動態(tài)地調整移動裝置以降低電力消耗并同時提供可接受的最終用戶體驗的任務變得復雜。作為響應,本發(fā)明披露用于管理和披露多個性能縮放算法的改進的移動裝置和方法。不同可用移動裝置的數目、用以與所述裝置通信的各種通信協(xié)議或標準、不同類型的可用應用程序、使用所述裝置的不同方式等表明了沒有單個方法或解決方案可為所有可能的操作組合而調整或優(yōu)化。作為響應,提出在移動裝置上提供并實施一組性能縮放算法。所述組性能縮放算法的可用性提供電力節(jié)省機會,同時最小化在正確應用選定性能縮放算法時的性能影響。進一步提出向各種移動裝置的制造商披露所述組性能縮放算法。相信制造商將有興趣基于各種使用條件的所要性能而在移動裝置上提供選定或經優(yōu)化的性能縮放解決方案??稍趩訒r應用這些制造商選定或經優(yōu)化解決方案。在一些情形中,制造商可能愿意經由相應移動裝置向其客戶披露性能縮放替代方案。在這些情形中,制造商可提供或修改應用程序編程接口,其將使最終用戶能夠細調其可在啟動時應用的所要性能對電池壽命的折衷,或可提供運行時選擇以及性能縮放解決方案的實時替換。這些替代運行時解決方案可包含完全停用移動裝置上的所有性能縮放解決方案。用于管理和披露移動裝置上的性能縮放算法的方法通常是經由軟件或固件與硬件的組合來實施。所述軟件和固件可存儲在耦合到可在移動裝置上操作的一個或一個以上處理器的非易失性存儲器元件中。存儲在非易失性存儲器元件中的軟件被傳送到合適的指令執(zhí)行系統(tǒng)(微處理器)并由其執(zhí)行。移動裝置上的硬件實施方案可包含以下技術(全部為此項技術中眾所周知)中的任一者或組合:離散電子組件、具有用于對數據信號實施邏輯功能的邏輯門的離散邏輯電路、具有適當邏輯門的專用集成電路、可編程門陣列(PGA)、現(xiàn)場可編程門陣列(FPGA)等。參看圖1,此圖為呈無線電話形式的移動裝置100的示范性非限制方面的圖。如圖所示,移動裝置100包含芯片上系統(tǒng)102,其包含耦合在一起的數字信號處理器110和模擬信號處理器126。如圖1中所說明,顯示器控制器128和觸摸屏控制器130耦合到數字信號處理器110。在芯片上系統(tǒng)102外部的觸摸屏顯示器132耦合到顯示器控制器128和觸摸屏控制器130。圖1進一步指示視頻編碼器134(例如,逐行倒相(“PAL”)編碼器、順序色彩與存儲(“SECAM”)編碼器、國家電視系統(tǒng)委員會(“NTSC”)編碼器或任何其它視頻編碼器)耦合到數字信號處理器110。另外,視頻放大器136耦合到視頻編碼器134和觸摸屏顯示器132。視頻端口 138耦合到視頻放大器136。如圖1中所描繪,通用串行總線(“USB”)控制器140耦合到數字信號處理器110。并且,USB端口 142耦合到USB控制器140。存儲器112和訂戶身份模塊(SM)卡146也可耦合到數字信號處理器110。另外,如圖1中所示,數字相機148可耦合到數字信號處理器110。在示范性方面中,數字相機148為電荷耦合裝置(“CXD”)相機或互補金屬氧化物半導體(“CMOS”)相機。如圖1中進一步說明,立體聲音頻C0DEC150可耦合到模擬信號處理器126。此外,音頻放大器152可耦合到立體聲音頻C0DEC150。在示范性方面中,第一立體聲揚聲器154和第二立體聲揚聲器156耦合到音頻放大器152。圖1展示麥克風放大器158可也耦合到立體聲音頻C0DEC150。另外,麥克風160可耦合到麥克風放大器158。在特定方面中,調頻(“FM”)無線電調諧器162可耦合到立體聲音頻C0DEC150。并且,F(xiàn)M天線164耦合到FM無線電調諧器162。另外,立體聲頭戴式耳機166可耦合到立體聲音頻C0DEC150。圖1進一步指示射頻(“RF”)收發(fā)器168可耦合到模擬信號處理器126。RF開關170可耦合到RF收發(fā)器168和RF天線172。如圖1中所示,小鍵盤174可耦合到模擬信號處理器126。并且,具有麥克風的單聲道耳機176可耦合到模擬信號處理器126。另外,振動器裝置178可耦合到模擬信號處理器126。圖1還展示電源180(例如電池)耦合到芯片上系統(tǒng)102。在特定方面中,所述電源包含可再充電DC電池或從連接到AC電力源的交流(“AC” )到DC變換器得出的DC電源。圖1還展示移動裝置100可包含監(jiān)視器模塊114。監(jiān)視器模塊114與遍布芯片上系統(tǒng)102的多個操作傳感器且與移動裝置100的數字信號處理器110通信。如圖1中所描繪,觸摸屏顯示器132、視頻端口 138、USB端口 142、相機148、第一立體聲揚聲器154、第二立體聲揚聲器156、麥克風160、FM天線164、立體聲頭戴式耳機166、RF開關170、RF天線172、小鍵盤174、單聲道耳機176、振動器178以及電源180在芯片上系統(tǒng)322外部。然而,應理解,監(jiān)視器模塊114還可借助模擬信號處理器126和數字信號處理器110從這些外部裝置中的一者或一者以上接收一個或一個以上指示或信號,以輔助對可在移動裝置100上操作的資源的實時管理。在特定方面中,本文所述的方法步驟中的一者或一者以上可由存儲在存儲器112中的可執(zhí)行指令和參數來實施。這些指令可由數字信號處理器110、模擬信號處理器126或另一處理器執(zhí)行以實施本文所述的方法。另外,處理器110、126、存儲器112、存儲在其中的指令或其組合可充當用于執(zhí)行本文所述的方法步驟中的一者或一者以上的裝置。圖2是說明圖1的移動裝置100的特征的示意圖。如圖2中所指示,數字信號處理器110經由總線211耦合到存儲器112。數字信號處理器110為具有N個核處理器的多核處理器。就是說,數字信號處理器110包含第一核222、第二核224和第N核230。如所知,第一核222、第二核224和第N核230中的每一者可用于支持專用應用程序或程序?;蛘?,一個或一個以上應用程序或程序可經分布以用于跨可用核中的兩者或兩者以上的處理。第一核222、第二核224到第N核230可集成在單個集成電路裸片上,或其可集成或耦合在多電路封裝中的單獨裸片上。設計者可經由一個或一個以上共享高速緩沖存儲器來耦合第一核222、第二核224到第N核230,且其可經由例如總線、環(huán)狀、網狀和縱橫拓撲等網絡拓撲來實施消息或指令傳遞。在所說明的實施例中,RF收發(fā)器268是經由數字電路元件來實施,且包含至少一個處理器,例如核處理器210(標記為“核”)。在此數字實施方案中,RF收發(fā)器268經由總線213耦合到存儲器112。總線211和總線213中的每一者可包含經由一個或一個以上有線或無線連接的多個通信路徑,如此項技術中已知??偩€211和總線213可具有額外元件(為了簡單性而省略),例如控制器、緩沖器(高速緩沖存儲器)、驅動器、中繼器和接收器,來實現(xiàn)通信。另外,總線211和總線213可包含地址、控制和/或數據連接,以實現(xiàn)前面提到的組件之間的適當通信。當移動裝置100所使用的邏輯在軟件中實施時,如圖2中所示,應注意,啟動邏輯250、管理邏輯260、DVFS接口邏輯270、應用程序存儲裝置280中的應用程序以及文件系統(tǒng)290的部分中的一者或一者以上可存儲在任何計算機可讀媒體上,以供任何計算機有關的系統(tǒng)或方法使用,或結合任何計算機有關的系統(tǒng)或方法使用。在本文獻的上下文中,計算機可讀媒體是可含有或存儲計算機程序和數據以供計算機有關的系統(tǒng)或方法使用或結合計算機有關的系統(tǒng)或方法使用的電子、磁性、光學或其它物理裝置。各種邏輯元件和數據存儲裝置可體現(xiàn)于任何計算機可讀媒體中以供指令執(zhí)行系統(tǒng)、設備或裝置使用或結合指令執(zhí)行系統(tǒng)、設備或裝置使用,例如可從指令執(zhí)行系統(tǒng)、設備或裝置取指令并執(zhí)行所述指令的基于計算機的系統(tǒng)、含有處理器的系統(tǒng)或其它系統(tǒng)。在本文獻的上下文中,“計算機可讀媒體”可為可存儲、傳送、傳播或輸送程序以供指令執(zhí)行系統(tǒng)、設備或裝置使用或結合指令執(zhí)行系統(tǒng)、設備或裝置使用的任何裝置。計算機可讀媒體可為(例如但不限于)電子、磁性、光學、電磁、紅外線或半導體系統(tǒng)、設備、裝置或傳播媒體。計算機可讀媒體的更具體實例(非詳盡列表)將包含以下各項:具有一個或一個以上線的電連接(電子)、便攜式計算機磁盤(磁性)、隨機存取存儲器(RAM)(電子)、只讀存儲器(ROM)(電子)、可擦除可編程只讀存儲器(EPROM、EEPROM或快閃存儲器)(電子)、光纖(光學),以及便攜式壓縮光盤只讀存儲器(CDROM)(光學)。注意,計算機可讀媒體甚至可為程序印刷于其上的紙或另一合適媒體,因為可例如經由對紙或其它媒體的光學掃描來以電子方式捕獲所述程序,接著如有必要以合適方式來編譯、解譯或以其它方式處理所述程序,且接著將所述程序存儲在計算機存儲器中。在替代實施例中,其中啟動邏輯250、管理邏輯260以及可能DVFS接口邏輯270中的一者或一者以上在硬件中實施,各種邏輯可結合以下技術(各自為此項技術中眾所周知)中的任一者或組合來實施:具有用于對數據信號實施邏輯功能的邏輯門的離散邏輯電路、具有適當組合邏輯門的專用集成電路(ASIC)、可編程門陣列(PGA)、現(xiàn)場可編程門陣列(FPGA)等。存儲器112為非易失性數據存儲裝置,例如快閃存儲器或固態(tài)存儲器裝置。盡管描繪為單個裝置,但存儲器112可為具有單獨數據存儲裝置的分布式存儲器裝置,所述數據存儲裝置耦合到數字信號處理器和/或RF收發(fā)器268中的核210 (或額外處理器核)。啟動邏輯250包含一個或一個以上可執(zhí)行指令,其用于選擇性地識別、加載和執(zhí)行選定程序,以用于管理或控制例如第一核222、第二核224到第N核230等可用核中的一者或一者以上的性能。選定程序可在嵌入式文件系統(tǒng)290的程序存儲裝置296中找到,且由性能縮放算法297與一組參數298的特定組合界定。選定程序在由數字信號處理器中的核處理器以及RF收發(fā)器268中的核210中的一者或一者以上執(zhí)行時,可根據監(jiān)視器模塊114提供的一個或一個以上信號來操作,以縮放相應處理器核的性能。在這點上,監(jiān)視器模塊114可提供事件、進程、應用程序、資源狀態(tài)情況、逝去時間、溫度等的一個或一個以上指示符。管理邏輯260包含一個或一個以上可執(zhí)行指令,用于終止相應處理器核中的一者或一者以上上的操作性能縮放程序,以及選擇性地識別、加載和執(zhí)行較合適的替換程序來管理或控制可用核中的一者或一者以上的性能。管理邏輯260經布置以在運行時或在移動裝置被供電且正由裝置的操作者使用時執(zhí)行這些功能。替換程序可在嵌入式文件系統(tǒng)290的程序存儲裝置296中找到,且由性能縮放算法297與一組參數298的特定組合界定。替換程序在由數字信號處理器中的核處理器或RF收發(fā)器268中的核210中的一者或一者以上執(zhí)行時,可根據監(jiān)視器模塊114提供的一個或一個以上信號或各種處理器核的相應控制輸入上提供的一個或一個以上信號來操作,以縮放相應處理器核的性能。在這點上,監(jiān)視器模塊114可提供事件、進程、應用程序、資源狀態(tài)情況、逝去時間、溫度等的一個或一個以上指示符。DVFS接口邏輯或接口邏輯270包含一個或一個以上可執(zhí)行指令,以用于呈現(xiàn)、管理和與外部輸入交互,以觀察、配置或以其它方式更新存儲在嵌入式文件系統(tǒng)290中的信息。在一個實施例中,接口邏輯270可結合經由USB端口 142接收的制造商輸入而操作。這些輸入可包含待從程序存儲裝置296刪除或添加到程序存儲裝置296的一個或一個以上程序?;蛘?,所述輸入可包含對程序存儲裝置296中的程序中的一者或一者以上的編輯或改變。此外,所述輸入可識別對啟動邏輯250和管理邏輯260中的一者或兩者的一個或一個以上改變或整個替換。舉例來說,所述輸入可包含對管理邏輯260的改變,其指令移動裝置100在接收到的信號功率下降到低于所識別閾值時暫停RF收發(fā)器268中的所有性能縮放。作為另一實例,所述輸入可包含對管理邏輯260的改變,其指令移動裝置100在視頻編解碼器134活動時應用所要程序。接口邏輯270使制造商能夠在移動裝置100上的所定義操作條件下可控地配置和調整最終用戶的體驗。當存儲器112為快閃存儲器時,可編輯、替換或以其它方式修改啟動邏輯250、管理邏輯260、接口邏輯270、應用程序存儲裝置280中的應用程序或嵌入式文件系統(tǒng)290中的信息中的一者或一者以上。在一些實施例中,接口邏輯270可準許移動裝置100的最終用戶或操作者搜索、定位、修改或替換啟動邏輯250、管理邏輯260、應用程序存儲裝置280中的應用程序以及嵌入式文件系統(tǒng)290中的信息。操作者可使用所得接口來進行改變,所述改變將在移動裝置100的下次啟動后即刻實施。或者,操作者可使用所得接口來進行改變,所述改變在運行時期間實施。嵌入式文件系統(tǒng)290包含分層布置的DVFS存儲裝置292。在這點上,文件系統(tǒng)290可包含其總文件系統(tǒng)容量的保留部分,用于存儲用于移動裝置100所使用的各種參數298和性能縮放算法297的配置和管理的信息。如圖2中所示,DVFS存儲裝置292包含核存儲裝置294,其包含程序存儲裝置296,程序存儲裝置296包含一個或一個以上DVFS程序。將每一程序界定為相應的性能縮放算法和與特定算法相關聯(lián)的一組參數的組合。作為DVFS存儲裝置292的分層性質的另一實例,一組文件的特定成員可由\startup\coreO\algorithm\parameterset的路徑定位和識別。在此實例中,程序由算法結合存儲在參數集中的信息的內容來識別。舉例來說,可根據參數取樣率、要增加的樣本(列舉為“上”)以及要減少的樣本(列舉為“下”)來識別被稱為“經典”的常規(guī)DVFS算法,以管理核0222上的性能縮放,如下:\startup\coreO\classic\samplerate,內容100,其中取樣率是以MHz計;\startup\coreO\classic\up,內容2,其中要增加的樣本為整數;以及\startup\coreO\classic\down,內容I,其中要減少的樣本為整數。就是說,相應文件名界定參數,且所述參數的值由文件的內容識別。所述算法由CPU空閑百分比的周期性取樣界定,且根據低閾值(%空閑)和高閾值空閑)來操作。如果要增加樣本閾值比較器針對2個連續(xù)樣本指示應增加性能,那么DVFS算法根據預定的時鐘等級調整來增加性能。相反,如果要減少樣本閾值比較器針對I個連續(xù)樣本指示應降低性能,那么DVFS算法根據預定的時鐘等級(即,頻率)調整來降低性能。如上文所闡釋,可連同時鐘頻率的改變一起改變處理器或核操作電壓。替代地或另外,DVFS存儲裝置292可經布置以使得操作系統(tǒng)遭遇以一序列存儲在其中的信息,使得所遭遇的第一信息是最詳細的,且其中如果在搜索期間沒有其它程序被識別為適合于移動裝置100上的相應處理器核的縮放性能,則所遭遇的最后信息將被應用為默認。舉例來說,參數可在目錄/coreO、/coreall以及/default中界定。針對每一參數將以所述次序搜索所述路徑。找到的第一參數將是使用的參數。/default位置將總是具有有效參數文件。預期個別核的架構、一個或一個以上共享高速緩沖存儲器以及用以在核之間傳遞指令的機構的架構,以及移動裝置100的所要使用情況指示存儲在存儲器112中的各種性能縮放算法297的性質。圖3是說明用于管理和披露在圖1的移動裝置100上操作的性能縮放算法的方法300的實施例的流程圖。方法300以框302開始,其中在移動裝置100中的非易失性存儲器(例如存儲器112)中提供一組性能縮放算法。在框304中,為所述組性能縮放算法的每一成員識別一組參數。此后,如框306中所指示,使所述組參數與所述組性能縮放算法的相應成員相關聯(lián)以界定一組程序。如上文所指示,這可通過建立所定義序列以用于組織可結合特定性能縮放算法而應用的各種參數在例如文件系統(tǒng)290等文件系統(tǒng)中實現(xiàn)。接下來,如框308中所示,識別所述組程序的至少一個成員,以用于縮放所識別處理器核的性能。在框310中,使所識別的處理器核與框308中識別的所述組程序的成員彼此相關聯(lián)。如上文所指示,這可通過在指定核識別符下將算法和參數分層存儲或以其它方式布置而在例如文件系統(tǒng)290等文件系統(tǒng)中實現(xiàn)。在框312中,創(chuàng)建披露所述組程序與所述核關聯(lián)的接口。在任選框314中,在啟動時選擇第一程序來執(zhí)行以在可用處理器核上實施性能縮放。這可由搜索例程來實現(xiàn),所述搜索例程遍歷DVFS存儲裝置292以便識別用于管理相應處理器核的操作的適當DVFS程序(即,性能縮放算法與一組參數的組合)。此后,如任選框316中所示,在識別所定義事件、操作條件、對特定硬件資源的請求、應用程序等中的一者或一者以上后,可即刻在運行時期間用第二程序來代替第一程序。圖4是說明可在圖1的移動裝置上操作的計算機程序產品的實施例的流程圖。在一些實施例中,計算機程序產品可包含上文與啟動邏輯250和管理邏輯260相關聯(lián)而描述的功能性?;蛘?,計算機程序產品可進一步包含接口邏輯270的方面以及適合填充用于特定移動裝置100的DVFS存儲裝置292的信息。如圖4中所說明,以流程圖或方法400的形式說明計算機程序產品的實例功能性。方法400以框402開始,其中從一組程序選擇適合縮放可在移動裝置100上操作的處理器核的性能的成員來界定程序。如框402中進一步說明,所述組程序由性能縮放算法與結合所述算法應用的相應一組參數的相應組合界定。在框404中,將選定程序加載或以其它方式傳送到移動裝置100上的處理器核。如框404中所指示,這是根據啟動序列來完成的。所屬領域的技術人員將理解,所述啟動序列可在固件、軟件或甚至操作系統(tǒng)本身中實現(xiàn)。一旦將選定程序傳送到相應的處理器核,就可執(zhí)行所述選定程序,以根據需要縮放所述處理器核或在移動裝置100上操作的其它處理器核的性能。此后,如框406中所指示,監(jiān)視移動裝置100的使用,以識別指示來自所述組程序的代替程序將代替所述選定程序的條件。在框408中,在運行時期間用代替程序代替選定程序。如上文所指示,用代替程序來代替選定程序可伴隨有在加載和執(zhí)行代替程序之前選定程序的受管理終止。本說明書中描述的過程或過程流中的某些步驟為了使本發(fā)明如所描述那樣運作而自然地在其它步驟之前。然而,本發(fā)明不限于所描述的步驟的次序,前提是此次序或序列并不更改本發(fā)明的功能性。就是說,應認識到,在不脫離本發(fā)明的范圍和精神的情況下,一些步驟可在其它步驟之前、之后或與其它步驟并行(大體上同時)執(zhí)行。在一些例子中,可在不脫離本發(fā)明的情況下,省略或不執(zhí)行某些步驟。另外,例如“此后”、“接著”、“接下來”等詞語無意限制步驟的次序。這些詞語只是用來引導讀者瀏覽對示范性方法的描述。編程領域的技術人員能夠在無過度困難或試驗的情況下寫入計算機代碼或識別適當硬件來實施所披露的過程。因此,不將特定一組可執(zhí)行指令或詳述硬件裝置的披露視為對充分理解如何制作和使用本發(fā)明來說為必要的。在以上描述中且結合可說明各種過程流的圖更詳細地闡釋所主張的移動裝置100和過程的發(fā)明性功能性。另外,編程領域的技術人員能夠在無困難的情況下基于例如本說明書中的流程圖和相關聯(lián)描述而寫入計算機代碼或識別適當硬件和/或電路來實施所披露的本發(fā)明。因此,不將特定一組程序代碼指令或詳述硬件裝置的披露視為對充分理解如何制作和使用本發(fā)明來說為必要的。在以上描述中且結合可說明各種過程流的圖更詳細地闡釋所主張的計算機實施過程的發(fā)明性功能性。在一個或一個以上示范性方面中,所描述的功能可以硬件、軟件、固件、或其任何組合來實施。如果以軟件來實施,那么可將所述功能作為一個或一個以上指令或代碼存儲在計算機可讀媒體上或經由計算機可讀媒體傳輸。計算機可讀媒體包含計算機存儲媒體與包含促進計算機程序從一處傳遞到另一處的任何媒體的通信媒體兩者。存儲媒體可為可由計算機存取的任何可用媒體。作為實例而非限制,此計算機可讀媒體可包括RAM、R0M、EEPROMXD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,或可用以運載或存儲呈指令或數據結構形式的所要程序代碼且可由計算機存取的任何其它媒體。
并且,可適當地將任何連接稱作計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數字訂戶線(“DSL”)或例如紅外線、無線電及微波的無線技術從網站、服務器或其它遠程源傳輸軟件,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電及微波的無線技術包含于媒體的定義中。如本文中所使用,磁盤及光盤包括壓縮光盤(“⑶”)、激光光盤、光學光盤、數字多功能光盤(“DVD”)、軟磁盤及藍光光盤,其中磁盤通常磁性地再生數據,而光盤使用激光光學地再生數據。以上各項的組合也應包含在計算機可讀媒體的范圍內。盡管已詳細說明和描述了選定方面,但將理解,可在不脫離如所附權利要求書中所界定的本發(fā)明的范圍的情況下,在本文中作出各種替代和更改。
權利要求
1.一種用于管理和披露移動裝置上的一組性能縮放算法的方法,所述方法包括: 將一組性能縮放算法提供給所述移動裝置內的非易失性存儲器; 識別適合所述組性能縮放算法的相應成員中的每一者的一組參數; 使所述組參數與所述非易失性存儲器中的所述組性能縮放算法的所述相應成員相關聯(lián)以界定一組程序; 識別所述組程序中適合縮放所識別處理器核的性能的至少一個成員; 使所述組程序的所述至少一個成員與所述非易失性存儲器中的所述所識別處理器核相關聯(lián);以及 創(chuàng)建披露所述組程序的接口。
2.根據權利要求1所述的方法,其中提供一組性能縮放算法包括提供電力節(jié)省算法,同時最小化對所述移動裝置的性能影響。
3.根據權利要求1所述的方法,其進一步包括: 從所述組程序選擇第一程序來在啟動時執(zhí)行。
4.根據權利要求3所述的方法,其進一步包括: 在識別到所界定事件后即刻用第二程序來代替所述第一程序。
5.根據權利要求1所述的方法,其中所述移動裝置包括: 蜂窩式電話、尋呼機、個人數字助理、閱讀器、衛(wèi)星電話、導航裝置或具有無線連接的計算機中的一者。
6.根據權利要求1所述的方法,其中所述接口可由所述移動裝置的制造商接入。
7.根據權利要求6所述的方法,其中所述接口可由所述移動裝置的操作者接入。
8.根據權利要求1所述的方法,其進一步包括: 以分層次序來布置所述組程序。
9.根據權利要求8所述的方法,其中所述分層次序是從最詳細成員到最不詳細成員來構造。
10.一種移動裝置,其包括: 多核處理器,其以通信方式耦合到非易失性存儲器,所述非易失性存儲器含有: 一組程序,其由性能縮放算法與一組參數的相應組合界定; 啟動程序,其在由所述多核處理器執(zhí)行時識別所述組程序中適合監(jiān)視所述移動裝置的操作并縮放所識別處理器核的性能的至少一個成員;以及應用程序編程接口,其披露所述組程序。
11.根據權利要求10所述的移動裝置,其中所述組性能縮放算法包括負載平衡算法。
12.根據權利要求10所述的移動裝置,其進一步包括: 管理應用程序,其在由所述處理器執(zhí)行時,檢測事件的發(fā)生、響應所述事件而識別所述組程序的第二成員以代替所述組程序的所述至少一個成員、加載所述第二成員以供在所述所識別處理器核中執(zhí)行,且引導所述所識別處理器核執(zhí)行所述組程序的所述第二成員。
13.根據權利要求10所述的移動裝置,其中所述應用程序編程接口可由所述移動裝置的制造商接入。
14.根據權利要求10所述的移動裝置,其中所述應用程序編程接口可由所述移動裝置的操作者接入。
15.根據權利要求10所述的移動裝置,其中所述非易失性存儲器以分層次序存儲所述組程序。
16.根據權利要求15所述的移動裝置,其中所述分層次序是從最詳細成員到最不詳細成員來構造。
17.—種移動裝置,其管理在所述移動裝置上操作的一組性能縮放算法,所述移動裝置包括: 用于使一組性能縮放算法與相應一組參數相關聯(lián)并存儲所述組性能縮放算法以界定一組程序的裝置,所述組程序的至少一個成員適合縮放所識別處理器核的性能,所述用于關聯(lián)和存儲的裝置包含用于識別所述組程序的適合在所述移動裝置上可用的處理器核上執(zhí)行的成員的相應指示符;以及 用于披露所述組程序的裝置。
18.根據權利要求17所述的移動裝置,其中所述組性能縮放算法包括負載平衡算法。
19.根據權利要求17所述的移動裝置,其進一步包括: 用于檢測事件的發(fā)生的裝置; 用于響應所述事件而識別所述組程序的第二成員以代替所述組程序的所述至少一個成員的裝置;以及 用于加載和執(zhí)行所述第二成員的裝置。
20.根據權利要求17所述的移動裝置,其中所述用于披露的裝置向所述移動裝置的制造商披露所述組程序。
21.根據權利要求17所述的移動裝置,其中所述用于披露的裝置向所述移動裝置的操作者披露所述組程序。
22.根據權利要求17所述的移動裝置,其中所述用于關聯(lián)和存儲的裝置以分層次序布置所述組程序。
23.根據權利要求22所述的移動裝置,其中所述分層次序是從最詳細成員到最不詳細成員來構造。
24.一種計算機程序產品,其包括其中包含有于計算機可讀程序代碼的計算機可用媒體,所述計算機可讀程序代碼適于經執(zhí)行以實施用于管理移動裝置上的一組性能縮放算法的方法,所述方法包括: 從一組程序中選擇適合縮放可在所述移動裝置上操作的處理器核的性能的成員以界定選定程序,所述組程序由性能縮放算法與相應一組參數的相應組合界定; 響應于啟動序列而將所述選定程序加載在可在所述移動裝置上操作的處理器中; 監(jiān)視所述移動裝置的使用以識別指示來自所述組程序的代替程序將代替所述選定程序的條件;以及 在運行時期間用所述代替程序代替所述選定程序。
25.根據權利要求24所述的 計算機程序產品,其中選擇成員包括搜索分層布置的文件系統(tǒng)。
26.根據權利要求24所述的計算機程序產品,其中監(jiān)視所述移動裝置的使用包括維持作用中進程列表。
27.根據權利要求24所述的計算機程序產品,其中監(jiān)視所述移動裝置的使用包括維持作用中資源列表。
28.根據權利要求24所述的計算機程序產品,其中監(jiān)視所述移動裝置的使用包括接收來自操作者接口的輸 入。
全文摘要
本發(fā)明揭示一種移動裝置、一種用于管理和披露所述裝置上的一組性能縮放算法的方法,以及一種計算機程序產品。所述移動裝置包含多核處理器,其以通信方式耦合到非易失性存儲器。所述非易失性存儲器包含一組程序,其由性能縮放算法與一組參數的相應組合界定;啟動程序,其在由所述多核處理器執(zhí)行時識別所述組程序中適合監(jiān)視所述移動裝置的操作且縮放所識別處理器核的性能的至少一個成員;以及應用程序編程接口,其披露所述組程序。
文檔編號G06F1/32GK103154853SQ201180048996
公開日2013年6月12日 申請日期2011年7月8日 優(yōu)先權日2010年9月16日
發(fā)明者布賴恩·J·薩爾斯貝里, 諾曼·S·加爾加石 申請人:高通股份有限公司