本申請(qǐng)案大體上涉及處理器存儲(chǔ)器管理。
背景技術(shù):
便攜式計(jì)算裝置(諸如,無線電話及個(gè)人數(shù)字助理(pda))不斷地要求增加數(shù)據(jù)存儲(chǔ)容量及處理速度。舉例來說,無線電話可同時(shí)地充當(dāng)數(shù)字相機(jī)、多媒體文件播放器及便攜式游戲播放器。與增加功能性及性能要求同時(shí)地,可用電池體積在減小,例如,歸因于便攜式裝置較小及/或體積被其它硬件占據(jù)。
一種用于縮減功率的已知常規(guī)技術(shù)是將計(jì)算裝置配置為可切換到低功率或“本地存儲(chǔ)器存取模式(localmemoryaccessmode)”,其中可將存取約束到本地存儲(chǔ)器。在本地存儲(chǔ)器存取模式中,可允許處理核心僅存取一組較低功率的本地資源(例如,緊密地耦接到處理核心的本地存儲(chǔ)器),而非能夠存取所有可用存儲(chǔ)器及裝置資源。
然而,常規(guī)技術(shù)響應(yīng)于特定“模式切換(modeswitch)”命令而切換到本地存儲(chǔ)器存取模式。因此,在不存在此模式切換命令的情況下,外部存儲(chǔ)器及其它裝置資源可保持電源開啟,而不管未被使用。另外,當(dāng)在本地存儲(chǔ)器存取模式中時(shí),可需要快速地存取電源切斷的外部存儲(chǔ)器或其它裝置資源。然而,在接收到明確模式切換命令以前,嘗試執(zhí)行那個(gè)存取可造成頁面錯(cuò)誤。
發(fā)明內(nèi)容
此
技術(shù)實(shí)現(xiàn)要素:
識(shí)別一些實(shí)例方面的特征及方面,且不為所公開主題的獨(dú)占式或窮盡性描述。在此【發(fā)明內(nèi)容】中包含還是從此【發(fā)明內(nèi)容】省略特征或方面并不被預(yù)期為指示此等特征的相對(duì)重要性。描述額外特征及方面,且對(duì)于所述領(lǐng)域的技術(shù)人員而言,在閱讀以下詳細(xì)描述且查看形成其部分的圖式后,所述額外特征及方面就將變得顯而易見。
公開可提供處理器的存儲(chǔ)器存取模式的切換的方法。根據(jù)一或多個(gè)方面,一種方法中的實(shí)例操作可包含監(jiān)視存儲(chǔ)器的存取,且所述監(jiān)視的結(jié)果可指示所述存取是對(duì)本地存儲(chǔ)器還是對(duì)非本地存儲(chǔ)器。根據(jù)一或多個(gè)方面,一種方法中的實(shí)例操作可包含響應(yīng)于所述監(jiān)視存儲(chǔ)器的所述存取而將所述處理器從本地存儲(chǔ)器存取模式及非本地存儲(chǔ)器存取模式中的一者切換到所述本地存儲(chǔ)器存取模式及所述非本地存儲(chǔ)器存取模式中的另一者。
公開實(shí)例設(shè)備,且根據(jù)一或多個(gè)方面,所述實(shí)例設(shè)備可提供處理器的存儲(chǔ)器存取模式的自動(dòng)基于規(guī)則的切換。在一方面中,實(shí)例特征可包含存儲(chǔ)體,且所述存儲(chǔ)體可經(jīng)配置以存儲(chǔ)切換規(guī)則。在一方面中,所述切換規(guī)則可包括用于將所述處理器的所述存取模式從本地存儲(chǔ)器存取(lp)模式及非本地存儲(chǔ)器存取(np)模式中的一者切換到所述lp模式及所述np模式中的另一者的規(guī)則。根據(jù)一或多個(gè)方面,實(shí)例特征可包含存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄,且所述存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄可經(jīng)配置為與所述處理器存取存儲(chǔ)器相關(guān)聯(lián)地予以更新。在一方面中,所述更新可反映所述存取是對(duì)本地存儲(chǔ)器還是對(duì)非本地存儲(chǔ)器。在一方面中,實(shí)例特征還可包含切換決策邏輯,且所述切換決策邏輯可耦接到所述存儲(chǔ)體且耦接到所述存儲(chǔ)器存取歷史記錄。在一方面中,所述切換決策邏輯可經(jīng)配置以至少部分地基于所述切換規(guī)則及所述存儲(chǔ)器存取歷史記錄而將所述處理器的所述存取模式從所述lp模式及所述np模式中的一者切換到所述lp模式及所述np模式中的另一者。
根據(jù)一或多個(gè)方面的實(shí)例設(shè)備可包含用于監(jiān)視存儲(chǔ)器的存取的裝置,其中所述監(jiān)視的結(jié)果可指示存儲(chǔ)器的所述存取是對(duì)本地存儲(chǔ)器還是對(duì)非本地存儲(chǔ)器,或此兩者。在一方面中,實(shí)例特征還可包含用于響應(yīng)于所述監(jiān)視存儲(chǔ)器的所述存取而將所述處理器從本地存儲(chǔ)器存取模式及非本地存儲(chǔ)器存取模式中的一者切換到所述本地存儲(chǔ)器存取模式及所述非本地存儲(chǔ)器存取模式中的另一者的裝置。
根據(jù)一或多個(gè)方面的一種非暫時(shí)性計(jì)算機(jī)可讀媒體的實(shí)例可包括代碼,所述代碼在由處理器執(zhí)行時(shí)可致使所述處理器監(jiān)視存儲(chǔ)器的存取,其中所述監(jiān)視的結(jié)果可指示存儲(chǔ)器的所述存取是對(duì)本地存儲(chǔ)器還是對(duì)非本地存儲(chǔ)器,且那個(gè)代碼可致使所述處理器響應(yīng)于所述監(jiān)視存儲(chǔ)器的所述存取而將處理器系統(tǒng)的存取模式從本地存儲(chǔ)器存取模式及非本地存儲(chǔ)器存取模式中的一者切換到所述本地存儲(chǔ)器存取模式及所述非本地存儲(chǔ)器存取模式中的另一者。
附圖說明
呈現(xiàn)隨附圖式以輔助對(duì)方面的描述,且提供所述隨附圖式是僅僅出于說明目的而非對(duì)其進(jìn)行任何限制。
圖1展示根據(jù)各種方面的一個(gè)實(shí)例自適應(yīng)存取模式存儲(chǔ)器存取處理器的塊示意圖。
圖2展示根據(jù)各種方面的在非本地存儲(chǔ)器存取模式與本地存儲(chǔ)器存取模式之間切換的一個(gè)過程中的實(shí)例操作的邏輯流程(參考圖1的塊示意圖)。
圖3展示根據(jù)各種方面的一個(gè)實(shí)例個(gè)人通信及計(jì)算裝置的功能示意圖。
具體實(shí)施方式
在有關(guān)于特定例示性方面的以下描述及相關(guān)圖式中公開本發(fā)明的方面??稍诓幻撾x本發(fā)明的范圍的情況下設(shè)計(jì)出替代方面。在某些所描述實(shí)例實(shí)施中,識(shí)別各種組件結(jié)構(gòu)及操作部分可取自已知常規(guī)技術(shù)且接著根據(jù)一或多個(gè)方面而布置的例子。在此等例子中,省略已知常規(guī)組件結(jié)構(gòu)及/或操作部分的內(nèi)部細(xì)節(jié)以幫助避免對(duì)本發(fā)明概念的潛在混淆。
本文中所使用的術(shù)語僅出于描述特定方面的目的,且并不旨在限制本發(fā)明的范圍。
詞語“例示性”在本文中用以意味“充當(dāng)實(shí)例、例子或說明”。未必將在本文中被描述為“例示性”的任何方面認(rèn)作比其它方面優(yōu)選或有利。同樣地,術(shù)語“本發(fā)明的方面”并不要求本發(fā)明的所有實(shí)施例都包含所論述的特征、優(yōu)點(diǎn)或操作模式。
如本文中所使用,單數(shù)形式“一(a/an)”及“所述”旨在也包含復(fù)數(shù)形式,除非上下文另有清楚指示。應(yīng)理解,術(shù)語“包括(comprises/comprising)”及/或“包含(includes/including)”在用于本文中時(shí)指定所陳述的特征、整數(shù)、步驟、操作、組件及/或組件的存在,但并不排除一或多個(gè)其它特征、整數(shù)、步驟、操作、組件、組件及/或其群組的存在或添加。
某些方面是在操作及步驟方面予以描述,例如,在各種設(shè)計(jì)及制造過程中或關(guān)于所述各種設(shè)計(jì)及制造過程。應(yīng)理解,除了在另有明確陳述或從特定上下文清楚的例子中以外,此等操作及步驟的所描述次序僅出于實(shí)例的目的,且未必限制實(shí)際上可根據(jù)各種例示性方面而應(yīng)用的操作或步驟的次序。
另外,參考流程圖來描述各種過程中的操作。應(yīng)理解,流程圖未必意味由一個(gè)塊展示的操作在由另一塊展示的操作開始后就終止或不能繼續(xù)。
某些方面是在實(shí)例操作、步驟、動(dòng)作以及操作、步驟及動(dòng)作的序列方面予以描述,所述操作、步驟及動(dòng)作可由(例如)計(jì)算裝置或計(jì)算裝置的組件執(zhí)行或控制。所述領(lǐng)域的技術(shù)人員在閱讀本發(fā)明后就應(yīng)理解,此等操作、步驟、動(dòng)作、序列及其其它組合可由特定電路(例如,專用集成電路(asic))執(zhí)行或控制、由一或多個(gè)處理器所執(zhí)行的程序指令執(zhí)行,或由此兩者的組合執(zhí)行。
因此,此等人員應(yīng)了解,操作、步驟、動(dòng)作、序列及其其它組合可完全地體現(xiàn)在存儲(chǔ)有一組對(duì)應(yīng)計(jì)算機(jī)指令的任何形式的計(jì)算機(jī)可讀存儲(chǔ)媒體內(nèi),所述計(jì)算機(jī)指令在執(zhí)行時(shí)可致使關(guān)聯(lián)處理器直接地或間接地執(zhí)行本文中所描述的操作、步驟、動(dòng)作、序列及其它組合。因此,本發(fā)明的各種方面可以許多不同形式予以體現(xiàn),所有所述形式被預(yù)期為在所要求主題的范圍內(nèi)。
圖1展示根據(jù)各種方面的自適應(yīng)存儲(chǔ)器存取模式處理器100的一個(gè)實(shí)例的一個(gè)功能框圖。應(yīng)理解,圖1的塊表示邏輯功能且并不限制實(shí)施此等功能的硬件架構(gòu)或布置。出于簡潔起見,詞組“自適應(yīng)存儲(chǔ)器存取模式”將在此描述中被縮寫為“apma”。應(yīng)理解,“apma”在此描述中不具有除了為“自適應(yīng)存儲(chǔ)器存取模式”的縮寫以外的涵義。
參看圖1,apma處理器100可包含可為(例如)armtm或其它相似架構(gòu)微處理器核心的指令執(zhí)行電路(在下文中為“處理器”)102,或能夠執(zhí)行計(jì)算機(jī)可執(zhí)行指令的任何其它可編程狀態(tài)機(jī)(圖1中未展示)。用于處理器102的計(jì)算機(jī)可執(zhí)行指令可存儲(chǔ)在存儲(chǔ)器資源中,所述存儲(chǔ)器資源包含(例如)緊密地耦接到處理器102的本地存儲(chǔ)器106,及可經(jīng)由(例如)總線104而連接的遠(yuǎn)程存儲(chǔ)器108。應(yīng)理解,在“本地存儲(chǔ)器”106及“遠(yuǎn)程存儲(chǔ)器”108的上下文中,“本地”及“遠(yuǎn)程”可涵蓋功能近接指定,其中“本地存儲(chǔ)器”及“遠(yuǎn)程存儲(chǔ)器”106兩者都未被定位成分別略微接近于或遠(yuǎn)離于處理器102。舉例來說,本地存儲(chǔ)器106及遠(yuǎn)程存儲(chǔ)器108可與處理器102等距,但本地存儲(chǔ)器106可(例如)經(jīng)由專用總線(圖1中未特定地展示)耦接到處理器102。
參看圖1,在一方面中,本地存儲(chǔ)器106及遠(yuǎn)程存儲(chǔ)器108的尋址可經(jīng)由翻譯后援緩沖器(tlb)110。tlb110可包含經(jīng)配置以存儲(chǔ)多個(gè)虛擬頁面翻譯條目150的內(nèi)容可尋址存儲(chǔ)器(cam)(圖1中未單獨(dú)地展示)。在一方面中,根據(jù)常規(guī)技術(shù),虛擬頁面翻譯條目150可包括虛擬地址(圖1中可見,但未單獨(dú)地編號(hào))及物理地址(圖1中可見,但未單獨(dú)地編號(hào))。在一方面中,虛擬頁面翻譯條目150可進(jìn)一步包括“本地/非本地”旗標(biāo)字段152,旗標(biāo)字段152保持指示虛擬頁面條目中的物理地址在本地存儲(chǔ)器(例如,本地存儲(chǔ)器106)還是非本地存儲(chǔ)器(例如,遠(yuǎn)程存儲(chǔ)器108)中的本地/非本地旗標(biāo)。除了本地/非本地旗標(biāo)字段152以外,tlb110的結(jié)構(gòu)及操作還可根據(jù)已知常規(guī)tlb技術(shù),且因此省略進(jìn)一步詳細(xì)描述。
在一方面中,補(bǔ)充或代替tlb110,處理器102可具有直接地址產(chǎn)生能力,即,物理地址的直接輸出,如由從處理器102到總線104的替代邏輯路徑112所表示。
在一方面中,apma處理器100可包含可經(jīng)指派或配置以存儲(chǔ)旗標(biāo)的寄存器114,所述旗標(biāo)指示apma處理器100是在其本地存儲(chǔ)器(在下文中被稱為“l(fā)p”)存取模式中或在其非本地存儲(chǔ)器(在下文中被稱為“np”)存取模式中。寄存器114將在下文中被稱作“存儲(chǔ)器存取模式寄存器”114。旗標(biāo)可被稱作“存儲(chǔ)器存取模式旗標(biāo)”。
在一方面中,apma處理器100可包含lp/np基于規(guī)則的切換模塊116。根據(jù)各種方面,lp/np基于規(guī)則的切換模塊116可經(jīng)配置以監(jiān)視處理器103的操作(例如,存儲(chǔ)器存取)且將lp/np切換規(guī)則應(yīng)用于監(jiān)視以在lp存取模式與np存取模式之間選擇性地切換apma處理器。lp/np基于規(guī)則的切換模塊116可提供僅使用基于命令的或其它特定事件(例如,活動(dòng)超時(shí))控制切換不可得到的適應(yīng)性,以及其它特征及益處。
在一方面中,lp/np基于規(guī)則的切換模塊116可包括經(jīng)配置以檢測(cè)總線104上的存儲(chǔ)器存取且確定所述存取是對(duì)本地存儲(chǔ)器(例如,本地存儲(chǔ)器106)還是對(duì)非本地存儲(chǔ)器(例如,遠(yuǎn)程存儲(chǔ)器108)的存取檢測(cè)及本地/非本地映像118。另外,lp/np基于規(guī)則的切換模塊116可包括經(jīng)配置以將時(shí)間戳應(yīng)用于由存取檢測(cè)及本地/非本地映像118檢測(cè)的存儲(chǔ)器存取的存取事件定時(shí)器120。在一個(gè)替代方面中,存取檢測(cè)及本地/非本地映像118可經(jīng)配置以通過接收旗標(biāo)(諸如虛擬頁面翻譯條目150的本地/非本地旗標(biāo)字段152中的旗標(biāo))來確定存取是對(duì)本地存儲(chǔ)器還是非本地存儲(chǔ)器。
參看圖1,在一方面中,lp/np基于規(guī)則的切換模塊116可包括存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122,其可經(jīng)配置以存儲(chǔ)存儲(chǔ)器存取歷史(圖1中不明確地可見)及存儲(chǔ)器存取統(tǒng)計(jì)(圖1中不明確地可見)。存儲(chǔ)在存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122中的實(shí)例存儲(chǔ)器存取歷史可包含(例如)如由本地/非本地映像118所檢測(cè)及由存取事件定時(shí)器120加時(shí)間戳的存儲(chǔ)器存取的記錄。存儲(chǔ)在存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122中的存儲(chǔ)器存取統(tǒng)計(jì)可進(jìn)一步包含與apma102的存儲(chǔ)器存取模式的優(yōu)選切換相關(guān)的統(tǒng)計(jì)參數(shù)。存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122可(例如)基于或包含或反映如由本地/非本地映像118及存取事件定時(shí)器120所檢測(cè)的存儲(chǔ)器存取的滑動(dòng)窗歷史。在一方面中,lp/np基于規(guī)則的切換模塊116或其它邏輯可經(jīng)配置以確定存儲(chǔ)器存取的特性及度量,且因此更新存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122。此等特性及度量的實(shí)例可包含(例如)但不限于存儲(chǔ)器存取的頻率及數(shù)量,以及存儲(chǔ)器存取是對(duì)本地存儲(chǔ)器或非本地存儲(chǔ)器的相對(duì)數(shù)量及頻率。在一另外方面中,代替存儲(chǔ)器存取的上述滑動(dòng)窗歷史或除了存儲(chǔ)器存取的上述滑動(dòng)窗歷史以外,lp/np基于規(guī)則的切換模塊116還可經(jīng)配置以在歷史/統(tǒng)計(jì)記錄122中維持存儲(chǔ)器存取的特性及度量的執(zhí)行中計(jì)算。
參看圖1,在一方面中,lp/np基于規(guī)則的切換模塊116可包含經(jīng)指派或?qū)S糜诖鎯?chǔ)np/lp切換規(guī)則的存儲(chǔ)體資源。圖1展示np/lp切換規(guī)則存儲(chǔ)體124作為此等存儲(chǔ)體資源的一個(gè)實(shí)例。在一方面中,np/lp切換規(guī)則存儲(chǔ)體124可經(jīng)配置以存儲(chǔ)np到lp切換規(guī)則。在一另外方面中,np/lp切換規(guī)則存儲(chǔ)體124可經(jīng)配置以存儲(chǔ)lp到np切換規(guī)則。應(yīng)理解,由np/lp切換規(guī)則存儲(chǔ)體124存儲(chǔ)的np到lp切換規(guī)則及(如果包含)lp到np切換規(guī)則的配置可為應(yīng)用特定的。舉例來說,在一方面中,np到lp切換規(guī)則可包含活動(dòng)超時(shí)規(guī)則。舉例來說,活動(dòng)超時(shí)規(guī)則可規(guī)定lp/np基于規(guī)則的切換模塊116在無存儲(chǔ)器存取的連續(xù)時(shí)間間隔超過給定超時(shí)持續(xù)時(shí)間(圖1中不明確地可見)的情況下從np模式切換到lp模式。監(jiān)視此等時(shí)間間隔的功能性可包含在存取事件定時(shí)器120中。活動(dòng)超時(shí)規(guī)則僅為可使用的np到lp切換規(guī)則的一個(gè)實(shí)例。在閱讀本發(fā)明之后面臨特定應(yīng)用的所屬領(lǐng)域的技術(shù)人員可易于以在無不當(dāng)實(shí)驗(yàn)的情況下適應(yīng)于那個(gè)特定應(yīng)用的方式來配置各種替代及額外np到lp切換規(guī)則或lp到np切換規(guī)則。因此省略對(duì)特定np-lp切換規(guī)則的進(jìn)一步詳細(xì)描述。
繼續(xù)參考圖1,在一方面中,lp/np基于規(guī)則的切換模塊116可包括np/lp切換決策邏輯126。在一方面中,所包括的np/lp切換決策邏輯126可經(jīng)配置以在將切換規(guī)則應(yīng)用于存儲(chǔ)器存取歷史或應(yīng)用于存儲(chǔ)器存取統(tǒng)計(jì)或此兩者后就或至少部分地基于將切換規(guī)則應(yīng)用于存儲(chǔ)器存取歷史或應(yīng)用于存儲(chǔ)器存取統(tǒng)計(jì)或此兩者而將apma處理器100的存取模式從np模式及l(fā)p模式中的一者切換到此等存取模式中的另一者。在一個(gè)實(shí)例中,在一方面中,np/lp切換決策邏輯126可經(jīng)配置以將存儲(chǔ)在np/lp切換規(guī)則存儲(chǔ)體124中的np-lp切換規(guī)則應(yīng)用于存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122中維持的存儲(chǔ)器存取歷史或存儲(chǔ)器存取統(tǒng)計(jì)或此兩者。在一相關(guān)方面中,np/lp切換決策邏輯126可經(jīng)配置以在確定存儲(chǔ)器存取的特性及度量符合切換決策閾值(圖1中不單獨(dú)地可見)后就或至少部分地基于確定存儲(chǔ)器存取的特性及度量符合切換決策閾值(圖1中不單獨(dú)地可見)而將apma處理器100的存取模式從np模式及l(fā)p模式中的一者切換到此等存取模式中的另一者。切換決策閾值可(例如)由存儲(chǔ)在np/lp切換規(guī)則存儲(chǔ)體124中的np-lp切換規(guī)則建立。在一方面中,np/lp切換決策邏輯126可經(jīng)配置以包含在存取模式寄存器114中設(shè)置存儲(chǔ)器存取模式旗標(biāo)以指示切換到存取模式(switched-toaccessmode)。在一相關(guān)方面中,np/lp切換決策邏輯126可經(jīng)配置以從存取模式寄存器114接收存儲(chǔ)器存取模式旗標(biāo),或接收識(shí)別存取模式的其它信息。在一另外方面中,np/lp切換決策邏輯126或其它邏輯(圖1中未必可見)可經(jīng)配置以具備或(例如)基于存取模式寄存器114中的存儲(chǔ)器存取模式旗標(biāo)來選擇在lp模式中操作時(shí)的lp到np切換規(guī)則,及在np模式中操作時(shí)的np到lp切換規(guī)則。在一方面中,選擇可經(jīng)配置以基于(例如)存取模式寄存器114中的存儲(chǔ)器存取模式旗標(biāo)而來自np/lp切換規(guī)則存儲(chǔ)體124。
在一方面中,lp/np基于規(guī)則的切換模塊116可經(jīng)配置以在無自動(dòng)基于規(guī)則的lp到np存取模式切換的情況下提供自動(dòng)基于規(guī)則的np到lp存取模式切換。在另一方面中,lp/np基于規(guī)則的切換模塊116可經(jīng)配置以在無自動(dòng)基于規(guī)則的np到lp存取模式切換的情況下提供自動(dòng)基于規(guī)則的lp到np存取模式切換。在另一方面中,lp/np基于規(guī)則的切換模塊116可經(jīng)配置以提供自動(dòng)基于規(guī)則的np到lp切換及自動(dòng)基于規(guī)則的lp到np切換兩者。
在一方面中,np/lp切換決策邏輯126可經(jīng)配置以接收外部命令,例如,圖1中可見的外部模式切換命令127。舉例來說,外部模式切換命令127可包含用以將np/lp切換決策邏輯126切換到lp存取模式或np存取模式中的特定存取模式的命令(圖1中不單獨(dú)地可見)。舉例來說,外部模式切換命令127可包含指示np/lp切換決策邏輯126維持目前l(fā)p存取模式或np存取模式而不顧存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122的命令(圖1中不單獨(dú)地可見)。
在一方面中,np/lp切換規(guī)則存儲(chǔ)體124可經(jīng)配置成使得np到lp切換規(guī)則或lp到np切換規(guī)則或此兩者可(例如)通過處理器102而可編程。在一另外方面中,np/lp切換規(guī)則存儲(chǔ)體124可經(jīng)配置為通過外部命令(諸如圖1所展示的實(shí)例“np-lp規(guī)則更新”128)而可編程。在可附加到或代替np/lp切換規(guī)則存儲(chǔ)體124的上述可編程性特征的方面中,可在制造時(shí)間安裝np到lp切換規(guī)則或lp到np切換規(guī)則或此兩者。
lp/np基于規(guī)則的切換模塊116的上述塊在圖1中以圖形方式被表示為單獨(dú)塊,這是出于將實(shí)例操作描述為一序列組件動(dòng)作及實(shí)例互依性的目的。應(yīng)理解,作為單獨(dú)塊的圖1的表示并不被預(yù)期為限制lp/np基于規(guī)則的切換模塊116或apma處理器100的任何其它塊的硬件或組合硬件-軟件實(shí)施的架構(gòu)。舉例來說,在一方面中,處理器102可經(jīng)配置以包含可實(shí)施lp/np基于規(guī)則的切換模塊116的所描述塊的所有或各種組合及子組合的電路系統(tǒng)(圖1中不明確地可見)。
圖2展示根據(jù)一或多個(gè)方面的在np模式與lp模式之間切換的一個(gè)過程中的實(shí)例操作的一個(gè)流程200(其將參考圖1的apma處理器100予以描述)。應(yīng)理解,參考圖1的塊示意圖而對(duì)流程200的描述并不旨在將流程200的性能限于apma處理器100或任何其它特定處理器。
將假設(shè)apma處理器100在202處的開始狀態(tài)處于np模式而描述流程200。流程200可繼續(xù)進(jìn)行到204且產(chǎn)生(例如,在總線104上)地址以存取(例如)本地存儲(chǔ)器106或遠(yuǎn)程存儲(chǔ)器108中的一者。在204處產(chǎn)生地址時(shí)的操作可包括(例如):處理器102產(chǎn)生虛擬地址;tlb110尋找匹配虛擬頁面翻譯條目150;及tlb110將對(duì)應(yīng)物理地址置放在總線104上。然而,tlb110的操作僅為在204處產(chǎn)生地址的一個(gè)實(shí)例。作為說明,在204處產(chǎn)生地址可包括:處理器102直接地產(chǎn)生物理地址(例如,圖1的替代邏輯路徑112)且將其置放在總線104上。
在204處產(chǎn)生存儲(chǔ)器地址后,流程200就可沿著兩個(gè)流程路徑繼續(xù)進(jìn)行。流程路徑中的一者可包括在206處使用在204處產(chǎn)生的地址來存取存儲(chǔ)器(例如,本地存儲(chǔ)器106及遠(yuǎn)程存儲(chǔ)器108中的一者),接著返回到204以產(chǎn)生另一存儲(chǔ)器地址。在204處產(chǎn)生地址之后,兩個(gè)流程路徑中的另一者可包括在208處監(jiān)視存儲(chǔ)器存取以反映與在204處產(chǎn)生的地址相關(guān)聯(lián)的在206處的存取,接著在210處將np到lp切換規(guī)則應(yīng)用于經(jīng)更新監(jiān)視。在212處,流程200可接著確定在210處將np到lp切換規(guī)則應(yīng)用于監(jiān)視的結(jié)果是否會(huì)展示符合給定np到lp切換條件或閾值。在一方面中,此為符合多個(gè)給定np到lp切換條件或閾值當(dāng)中的任一者的邏輯“或(or)”,或滿足符合條件或閾值的聯(lián)合的邏輯“及(and)”,或此兩者。在一方面中,np到lp切換條件或閾值可集成到np到lp切換規(guī)則中。在212處確定不符合np到lp切換條件或閾值后,流程就可返回到202處的“開始”。在212處確定符合一或多個(gè)np到lp切換條件或閾值后,流程200就可繼續(xù)進(jìn)行(如由來自確定212的“是”所展示)到214且將apma處理器100從np模式切換到lp模式。在一方面中,將apma處理器100從np模式切換到lp模式時(shí)的操作可包含設(shè)置模式寄存器,例如,在存取模式寄存器114中設(shè)置存取模式旗標(biāo),以反映所述切換。
繼續(xù)參看圖2,在一方面中,在apma處理器100在214處切換到lp模式之后,在216處可存在存儲(chǔ)器存取的另一監(jiān)視。參看圖1及2,在一方面中,在切換到lp模式后,由apma處理器100進(jìn)行的存儲(chǔ)器存取就可限于本地存儲(chǔ)器106。關(guān)于216處的監(jiān)視的配置,在一方面中,所述監(jiān)視可經(jīng)配置以檢測(cè)被確定為或根據(jù)經(jīng)驗(yàn)數(shù)據(jù)而已知為與apma處理器100要求切換回到np模式或從切換回到np模式獲得系統(tǒng)益處的概率相關(guān)聯(lián)的lp模式存儲(chǔ)器存取的特性。
在與(例如)在216處監(jiān)視存儲(chǔ)器存取的更新(圖2中不單獨(dú)地可見)相關(guān)聯(lián)的方面中,流程可繼續(xù)進(jìn)行到218且執(zhí)行基于216處的監(jiān)視來估計(jì)apma處理器100要求切換到np模式的概率的操作。流程200可接著繼續(xù)進(jìn)行到220且確定在218處估計(jì)的概率是否符合用于將apma處理器100切換到np模式的給定閾值。在一方面中,如由來自230的“是”分支所展示,如果220處的操作確定在218處估計(jì)的概率符合給定閾值,那么流程200可繼續(xù)進(jìn)行到222且將apma處理器100切換到np模式。在222處的切換之后,流程可返回到202處的“開始”。另一方面,如果220處的操作確定在218處估計(jì)的概率不符合給定閾值,那么流程200可返回到216且繼續(xù)監(jiān)視lp模式存儲(chǔ)器存取。
參看圖2,在一方面中,在208處監(jiān)視存儲(chǔ)器存取操作可包括(例如)在224處確定在204處產(chǎn)生的地址是對(duì)本地存儲(chǔ)器(例如,本地存儲(chǔ)器106)還是對(duì)非本地存儲(chǔ)器(例如,遠(yuǎn)程存儲(chǔ)器108)。在一方面中,224處的確定可通過本地/非本地映射(諸如針對(duì)圖1的存取檢測(cè)及本地/非本地映像118所描述)而執(zhí)行。在另一方面中,224處的確定可使用存儲(chǔ)器位置旗標(biāo),例如,可具備在204處產(chǎn)生的地址的上述本地/非本地旗標(biāo)字段152。在一方面中,208處的監(jiān)視中的操作可進(jìn)一步包括在226處對(duì)與在204處產(chǎn)生的地址相關(guān)聯(lián)的存取加時(shí)間戳。時(shí)間戳可(例如)由圖1的lp/np基于規(guī)則的切換模塊116的存取事件定時(shí)器120執(zhí)行。
繼續(xù)參看圖2,208處的監(jiān)視中的操作可進(jìn)一步包括在228處更新存取歷史/統(tǒng)計(jì)記錄以反映與在204處產(chǎn)生的地址相關(guān)聯(lián)的存取。228處的更新可反映206處的存取是對(duì)本地存儲(chǔ)器還是非本地存儲(chǔ)器,且在一方面中,可反映226處的時(shí)間戳。在228處更新存取歷史/統(tǒng)計(jì)記錄可(例如)包含更新存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122中的存儲(chǔ)器存取歷史或存取統(tǒng)計(jì)或此兩者。在一方面中,在228處更新存取歷史/統(tǒng)計(jì)記錄可包含更新存儲(chǔ)器存取的頻率及數(shù)量,以及存儲(chǔ)器存取是對(duì)本地存儲(chǔ)器或非本地存儲(chǔ)器的相對(duì)數(shù)量及頻率,如參考存儲(chǔ)器存取歷史/統(tǒng)計(jì)記錄122所描述。
在一方面中,208處的監(jiān)視中的操作可包含更新以反映未產(chǎn)生地址的時(shí)間間隔。舉例來說,在230處,超時(shí)定時(shí)器可運(yùn)用給定超時(shí)從最近存儲(chǔ)器存取以來已流逝的通知來更新存取歷史/統(tǒng)計(jì)記錄。參看圖1,230處的超時(shí)定時(shí)器的操作可(例如)由存取事件定時(shí)器120的定時(shí)器特征(圖1中不單獨(dú)地可見)執(zhí)行。在一方面中,224處的超時(shí)定時(shí)器可經(jīng)配置以確定相對(duì)于204處的非本地地址產(chǎn)生的超時(shí)。舉例來說,230處的超時(shí)定時(shí)器可經(jīng)配置以在給定超時(shí)從在224處已檢測(cè)到最近非本地存取以來流逝后就在228處更新存取歷史/統(tǒng)計(jì)記錄。舉例來說,此特征可檢測(cè)處理器102上的線程尚未要求存取非本地存儲(chǔ)器的時(shí)段。超時(shí)發(fā)生的實(shí)例包含但不限于未使用智能電話的時(shí)間間隔,例如,通知推送的接收。在另一方面中,230處的超時(shí)定時(shí)器的操作可經(jīng)配置以在檢測(cè)到無非本地存儲(chǔ)器存取的給定持續(xù)時(shí)間后就直接地將apma處理器100切換到lp模式。舉例來說,參看圖1,可將直接超時(shí)通知線(圖1中不明確地可見)從存取事件定時(shí)器120提供到lp/np切換決策邏輯126。
圖3說明個(gè)人通信及計(jì)算裝置300的一個(gè)實(shí)例,如本文中所描述,個(gè)人通信及計(jì)算裝置300可經(jīng)配置以支持或提供包括參考圖1的apma處理器100所描述的特征及功能性的設(shè)備。參看圖3,個(gè)人通信及計(jì)算裝置300可包含系統(tǒng)總線302,及耦接到系統(tǒng)總線302的一或多個(gè)cpu304。cpu304可包括(例如)一或多個(gè)處理器306及一或多個(gè)高速緩存存儲(chǔ)器308。處理器306可由(例如)諸如但不限于一或多個(gè)arm型處理裝置(圖3中不單獨(dú)地可見)的一或多個(gè)可編程計(jì)算裝置實(shí)施。處理器06可能夠作為主控裝置而執(zhí)行。處理器306可(例如)經(jīng)由系統(tǒng)總線302而相互耦接到各種主控及受控裝置。根據(jù)常規(guī)通信協(xié)議,cpu304可通過經(jīng)由系統(tǒng)總線302來交換地址、控制及數(shù)據(jù)信息而與此等其它裝置通信。盡管圖3中未繪示,但可提供多個(gè)系統(tǒng)總線302。在具有多個(gè)系統(tǒng)總線302的實(shí)例中,每一系統(tǒng)總線302可構(gòu)成一不同網(wǎng)狀架構(gòu)。
參看圖3,cpu304可將總線事物請(qǐng)求傳達(dá)到存儲(chǔ)器系統(tǒng)312的存儲(chǔ)器控制器310,其是作為受控裝置的一個(gè)實(shí)例。參看圖1及3,在一個(gè)方面中,cpu304可對(duì)應(yīng)于圖1的處理器102。cpu304可經(jīng)配置以包含實(shí)施處理器102、本地存儲(chǔ)器106及l(fā)p/np基于規(guī)則的切換模塊116的電路系統(tǒng)(圖3中不明確地可見)及/或計(jì)算機(jī)可執(zhí)行代碼(圖3中不明確地可見)。存儲(chǔ)器系統(tǒng)312可實(shí)施遠(yuǎn)程存儲(chǔ)器108或形成遠(yuǎn)程存儲(chǔ)器108的部分。
參看圖3,其它主控及受控裝置的實(shí)例可包含一或多個(gè)輸入裝置314、一或多個(gè)輸出裝置316、一或多個(gè)網(wǎng)絡(luò)接口裝置318及一或多個(gè)顯示控制器320。輸入裝置314(如果被使用)可包含任何類型的輸入裝置,包含但不限于輸入按鍵、開關(guān)、語音處理器及其類似者。輸出裝置316(如果被使用)可包含任何類型的輸出裝置,包含但不限于音頻、視頻、其它視覺指示器及其類似者。網(wǎng)絡(luò)接口裝置318(如果被使用)可為經(jīng)配置以允許將數(shù)據(jù)交換到網(wǎng)絡(luò)322及從網(wǎng)絡(luò)322交換數(shù)據(jù)的任何類型的網(wǎng)絡(luò)接口裝置。網(wǎng)絡(luò)322可為任何類型的網(wǎng)絡(luò),包含但不限于有線或無線網(wǎng)絡(luò)、私用或公用網(wǎng)絡(luò)、局域網(wǎng)絡(luò)(lan)、廣域網(wǎng)(wlan)及因特網(wǎng)。網(wǎng)絡(luò)接口裝置318可經(jīng)配置以支持任何類型的所要通信協(xié)議。
繼續(xù)參看圖3,cpu304還可經(jīng)配置以經(jīng)由系統(tǒng)總線302來存取顯示控制器320以控制被發(fā)送到一或多個(gè)顯示器324的信息。顯示控制器320可將信息發(fā)送到顯示器324以(例如)經(jīng)由一或多個(gè)視頻處理器326予以顯示。視頻處理器326可(例如)將待顯示的信息處理成適合于顯示器324的格式。顯示器324(如果被使用)可包含任何類型的顯示器,例如,有源或無源液晶顯示器(lcd)、等離子顯示器及陰極射線管(crt)。
前述所公開裝置及功能性可經(jīng)設(shè)計(jì)及配置到存儲(chǔ)在計(jì)算機(jī)可讀媒體上的計(jì)算機(jī)文件(例如,rtl、gdsii、gerber等等)中。一些或所有此等文件可被提供到基于此等文件來制造裝置的制造處置者。所得產(chǎn)品包含半導(dǎo)體晶片,其接著被切割成半導(dǎo)體裸片且封裝成半導(dǎo)體芯片。接著在上文所描述的裝置中使用所述芯片。
所述領(lǐng)域的技術(shù)人員應(yīng)了解,可使用多種不同科技及技術(shù)中的任一者來表示信息及信號(hào)。舉例來說,可通過電壓、電流、電磁波、磁場(chǎng)或磁性粒子、光場(chǎng)或光學(xué)粒子或其任何組合來表示可貫穿以上描述所參考的數(shù)據(jù)、指令、命令、信息、信號(hào)、位、符號(hào)及芯片。
另外,所述領(lǐng)域的技術(shù)人員應(yīng)了解,結(jié)合本文中所公開的方面而描述的各種說明性邏輯塊、模塊、電路及算法步驟可被實(shí)施為電子硬件、計(jì)算機(jī)軟件或此兩者的組合。計(jì)算機(jī)軟件可包含非暫時(shí)性計(jì)算機(jī)可讀媒體,其包括在由處理器執(zhí)行時(shí)可致使處理器根據(jù)所描述方面來執(zhí)行步驟及相關(guān)操作的指令。為了清楚地說明硬件與軟件的可互換性,上文已大體上在功能性方面描述各種說明性組件、塊、模塊、電路及步驟。此功能性被實(shí)施為硬件還是軟件取決于特定應(yīng)用及強(qiáng)加于總系統(tǒng)的設(shè)計(jì)約束。所述領(lǐng)域的技術(shù)人員可針對(duì)每一特定應(yīng)用而以不同方式來實(shí)施所描述功能性,但不應(yīng)將此等實(shí)施決策解譯為造成脫離本發(fā)明的范圍。
本文中所描述的各種方法、序列及/或算法可(例如)直接地以硬件、以由處理器執(zhí)行的軟件模塊或以此兩者的組合予以實(shí)施。軟件模塊可駐留在ram存儲(chǔ)器、閃存、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤、可移動(dòng)磁盤、cd-rom或此項(xiàng)技術(shù)中所知的任何其它形式的存儲(chǔ)媒體中。例示性存儲(chǔ)媒體耦接到處理器,使得處理器可從存儲(chǔ)媒體讀取信息及將信息寫入到存儲(chǔ)媒體。在替代例中,存儲(chǔ)媒體可與處理器成整體。
雖然前述公開內(nèi)容展示本發(fā)明的說明性實(shí)例及應(yīng)用,但應(yīng)注意,在不脫離如由所附權(quán)利要求書界定的本發(fā)明的范圍的情況下,可在本文中進(jìn)行各種改變及修改。所要求方法中敘述的功能、步驟及/或動(dòng)作無需以任何特定次序執(zhí)行。另外,盡管可以單數(shù)形式描述或要求特征,但除非明確地陳述限于單數(shù)形式,否則預(yù)期復(fù)數(shù)形式。