本申請案大體上是關(guān)于翻譯后援緩沖器(tlb)結(jié)構(gòu)及管理。
背景技術(shù):
便攜式計(jì)算裝置,例如無線電話及個人數(shù)字助理(pda),持續(xù)要求增大數(shù)據(jù)存儲容量及處理速度。舉例來說,無線電話可同時(shí)充當(dāng)數(shù)字相機(jī)、多媒體檔案播放器及便攜式游戲播放器。與增大功能性及性能需求同時(shí),可用電池容積正(例如)歸因于較小便攜式裝置及/或容積由其它硬件占據(jù)而減小。
用于降低功率的一個已知技術(shù)為將計(jì)算裝置配置為(例如)響應(yīng)于明確指令而切換至本地存儲器/低功率模式。在本地存儲器/低功率模式中,可允許處理核心僅存取一組較低功率本地資源(例如,可緊密地耦合至所述處理核心的本地存儲器),且選擇其它低功率及/或基本裝置資源,且不可存取非本地資源。
在本地存儲器/低功率模式中,可使非本地資源中的一些或全部斷電,或以其它方式將其置放于非操作狀態(tài)下,從而提供電力節(jié)省。然而,必須在非本地資源可由處理器核心存取前執(zhí)行通電序列。此外,必須禁止當(dāng)在本地資源低功率模式中操作時(shí)存取非本地資源的嘗試,此是因?yàn)槟切┵Y源可能是非操作性的。用于阻止此類存取的已知常規(guī)技術(shù)可具有成本及其它缺點(diǎn)。
舉例來說,用于阻止當(dāng)在本地存儲器/低功率模式中操作時(shí)存取非本地資源的嘗試的一個已知技術(shù)為當(dāng)將切換至所述模式時(shí)使計(jì)算裝置的翻譯后援緩沖器(tlb)中指向非本地資源的全部條目失效。結(jié)果為,當(dāng)在本地存儲器/低功率模式中時(shí)存取非本地資源的任何嘗試將引起“頁面錯誤異常”,此是因?yàn)樵趖lb中不存在有效的映射條目。然而,使指向非本地資源的全部tlb條目失效可能需要大量處理功率及時(shí)間。而且,在喚醒至正常功率操作后,可能需要相當(dāng)大數(shù)目個tlb遺漏及所得頁面查核行程搜尋,直至tlb重新填入有效的外部存儲器翻譯條目。重復(fù)頁面查核行程搜尋可承擔(dān)相當(dāng)大的功率及時(shí)間成本。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明內(nèi)容識別一些實(shí)例方面,且不為對所揭示目標(biāo)物的窮盡性描述。特征包含于本發(fā)明內(nèi)容還是從本發(fā)明內(nèi)容忽略并不意圖作為具有相對重要性的指示物。描述額外特征及方面,且所屬領(lǐng)域的技術(shù)人員在閱讀以下詳細(xì)描述且在檢視組成其一部分的圖式后將明了所述特征及方面。
各方面可提供用于在可約束對本地存儲器的存取的本地存儲器/低功率模式與啟用對(例如)遠(yuǎn)程存儲器及其它資源的完整存取的正常功率模式之間切換的快速、低處理額外負(fù)荷的裝置及方法(以及其它特征)。另外方面可提供(例如)切換至本地存儲器/低功率模式而不需要翻譯后援緩沖器條目的失效,及切換回至正常功率模式,及提供對應(yīng)完整存取,而不需要再填充翻譯后援緩沖器的tlb遺漏/頁面查核行程。
根據(jù)一或多個所揭示方法方面的實(shí)例可提供對存儲器的存取,且實(shí)例操作可包含在翻譯后援緩沖器中存儲多個翻譯條目,且每一翻譯條目可包括虛擬地址、物理地址及本地存儲器旗標(biāo),且在一方面中,所述本地存儲器旗標(biāo)可指示所述物理地址是否在本地存儲器外部。實(shí)例操作可進(jìn)一步包含當(dāng)處理器處于低功率模式中時(shí),接收所產(chǎn)生虛擬地址,且在識別出具有匹配所述所產(chǎn)生虛擬地址的虛擬地址的匹配翻譯條目后,即接著,如果所述匹配翻譯條目的所述本地存儲器旗標(biāo)指示所述匹配翻譯條目的所述物理地址在所述本地存儲器外部,則實(shí)例操作可包含產(chǎn)生超出存取范圍存儲器存取異常。
根據(jù)一或多個所揭示設(shè)備方面的實(shí)例可提供存取存儲器,且可包含可經(jīng)配置以存儲多個翻譯條目的翻譯后援緩沖器(tlb),且每一翻譯條目可包括虛擬地址、物理地址及本地存儲器旗標(biāo),且在一方面中,所述本地存儲器旗標(biāo)可指示所述物理地址是否在本地存儲器外部。根據(jù)一或多個方面的實(shí)例設(shè)備可經(jīng)進(jìn)一步配置以接收所產(chǎn)生虛擬地址,及識別具有匹配所述所產(chǎn)生虛擬地址的虛擬地址的匹配翻譯條目。根據(jù)一或多個方面的實(shí)例設(shè)備可進(jìn)一步包含超出存取范圍異常電路,所述超出存取范圍異常電路可經(jīng)配置以響應(yīng)于所述匹配翻譯條目的所述本地旗標(biāo)指示所述匹配翻譯條目的所述物理地址在所述本地存儲器外部而產(chǎn)生超出存取范圍存儲器存取異常。
根據(jù)一或多個其它所揭示設(shè)備方面的實(shí)例可提供對存儲器的存取,且包含用于存儲多個翻譯條目的裝置,多個翻譯條目中的每一者可包括虛擬地址、物理地址及本地存儲器旗標(biāo)。在一方面中,所述本地存儲器旗標(biāo)可指示所述物理地址是否在本地存儲器外部。根據(jù)其它設(shè)備方面的實(shí)例可包含用于當(dāng)處理器在低功率模式中時(shí)接收所產(chǎn)生虛擬地址的裝置,包含用于識別具有匹配所述所產(chǎn)生虛擬地址的虛擬地址的匹配翻譯條目的裝置,且可包含用于在所述匹配翻譯條目的所述本地存儲器旗標(biāo)指示所述匹配翻譯條目的所述物理地址在所述本地存儲器外部的情況下產(chǎn)生超出存取范圍存儲器存取異常的裝置。
根據(jù)一或多個所揭示方面的非暫時(shí)性計(jì)算機(jī)可讀媒體的實(shí)例可包括程序代碼,所述程序代碼當(dāng)由處理器執(zhí)行時(shí)可使得所述處理器在翻譯后援緩沖器(tlb)中存儲多個翻譯條目,多個翻譯條目中的每一者可包括虛擬地址、物理地址及本地存儲器旗標(biāo)。在根據(jù)一個方面的實(shí)例中,所述本地存儲器旗標(biāo)可指示所述物理地址是否在本地存儲器外部。在根據(jù)一方面的實(shí)例中,當(dāng)由處理器執(zhí)行時(shí),當(dāng)處理器處于低功率模式中時(shí),所述程序代碼可使得所述處理器接收所產(chǎn)生虛擬地址,且在識別出具有匹配所述所產(chǎn)生虛擬地址的虛擬地址的匹配翻譯條目后,即接著,如果所述匹配翻譯條目的所述本地存儲器旗標(biāo)指示所述匹配翻譯條目的所述物理地址在所述本地存儲器外部,則產(chǎn)生超出存取范圍存儲器存取異常。
附圖說明
呈現(xiàn)附圖以輔助各方面的描述,且根據(jù)各方面且展示各方面而為說明性實(shí)例單獨(dú)提供附圖,且附圖并不為其限制。
圖1為根據(jù)一或多個方面的一個實(shí)例可切換功率/存儲器存取模式處理器的邏輯塊示意圖。
圖2展示在根據(jù)一或多個方面的系統(tǒng)及方法中的一個本地低功率模式存儲器存取程序中的實(shí)例操作的邏輯流程圖。
圖3展示在根據(jù)一或多個方面的系統(tǒng)及方法中的一個正常功率模式存儲器存取程序中的實(shí)例操作的邏輯流程圖。
圖4展示根據(jù)一或多個方面的一個實(shí)例個人通信及計(jì)算裝置的功能示意圖。
具體實(shí)施方式
在以下描述及相關(guān)圖式中揭示方面。在閱讀本揭示后,并未脫離所揭示方面的范圍的各種變更可變得顯而易見。另外,在對某些實(shí)例申請案、實(shí)施及其相關(guān)操作的描述中,明確地或隱含地從所描述上下文識別個例,其中可采用已知的常規(guī)技術(shù)用于某些組件及動作。在這些情況下,可忽略對所采用常規(guī)技術(shù)的詳細(xì)描述,以免混淆本發(fā)明的相關(guān)細(xì)節(jié)。
詞語“示范性”在本文中用以意謂“充當(dāng)實(shí)例、個例或說明”。本文中描述為“示范性”的相同的任何方面或?qū)嵗渲梦幢貞?yīng)被解釋為比其它方面或配置優(yōu)選或有利。同樣,相對于術(shù)語“本發(fā)明的方面”的對特征、優(yōu)點(diǎn)或操作模式的論述并不暗示本發(fā)明的全部方面包含所論述特征、優(yōu)點(diǎn)或操作模式。
本文所使用的術(shù)語僅是出于描述特定方面的目的,且并不意圖限制本發(fā)明。如本文所使用,單數(shù)形式“一”及“所述”意圖也包含復(fù)數(shù)形式,除非上下文另有明確指示。此外,如本文所用的術(shù)語“包括”及/或“包含”指定所陳述特征、整體、步驟、操作、組件及/或組件的存在,但不排除一或多個其它特征、整體、步驟、操作、組件、組件及/或其群組的存在或添加。
另外,就實(shí)例操作來說描述某些方面。應(yīng)了解,除了在以其它方式描述之處之外,可通過特定電路(例如,特殊應(yīng)用集成電路(asic)),通過由一或多個處理器執(zhí)行的程序指令,或通過兩者的組合執(zhí)行此類操作。此外,可將特定電路(例如,asic)、處理器及由其中的一或多者執(zhí)行的程序指令描述為“經(jīng)配置以”執(zhí)行所描述操作及動作的“邏輯”。另外,可認(rèn)為本文中所描述的動作序列完全體現(xiàn)于任何形式的計(jì)算機(jī)可讀存儲媒體內(nèi),計(jì)算機(jī)可讀存儲媒體中已存儲有相對應(yīng)計(jì)算機(jī)指令的集合,計(jì)算機(jī)指令集合在被執(zhí)行時(shí)將使得相關(guān)聯(lián)的處理器執(zhí)行本文中所描述的功能性。因此,可以數(shù)個不同形式體現(xiàn)各個方面,各個方面皆預(yù)期為在所主張的目標(biāo)物的范圍內(nèi)。
圖1展示根據(jù)一或多個方面的一個實(shí)例可切換功率/存儲器存取模式處理器100的邏輯塊示意圖。
在一方面中,可切換功率/存儲器存取模式處理器100可包含指令執(zhí)行電路102,指令執(zhí)行電路102可為(例如)armtm或其它類似架構(gòu)微處理器核心,或能夠執(zhí)行計(jì)算機(jī)可執(zhí)行指令的任何其它架構(gòu)可編程狀態(tài)機(jī)(圖1中未展示)。用于指令執(zhí)行電路102的計(jì)算機(jī)可執(zhí)行指令可存儲于存儲器資源中,包含(例如)緊密地耦合至指令執(zhí)行電路102的本地存儲器104,及可經(jīng)由(例如)總線108連接至指令執(zhí)行電路102的遠(yuǎn)程存儲器106。應(yīng)了解,術(shù)語“本地”及“遠(yuǎn)程”在“本地存儲器”104及“遠(yuǎn)程存儲器”106的上下文中未必為對物理距離的描述詞。舉例來說,本地存儲器104及遠(yuǎn)程存儲器106可距指令執(zhí)行電路102具有任何相對距離。在一方面中,本地存儲器104可(例如)經(jīng)由專用鏈接或總線(在圖1中未具體展示)緊密地耦合至指令執(zhí)行電路102。
繼續(xù)參看圖1,在一方面中,指令執(zhí)行電路102可產(chǎn)生由翻譯后援單元110翻譯成實(shí)際物理地址的虛擬地址,用于存取(例如)本地存儲器104、遠(yuǎn)程存儲器106及其它非本地資源。翻譯后援單元110可具有翻譯后援緩沖器(tlb)112,翻譯后援緩沖器112具有存儲例如標(biāo)記為150-1、1502……150-r(統(tǒng)稱為“翻譯條目150”)的可見實(shí)例的r個虛擬頁面條目(以下稱作“翻譯條目”)的內(nèi)容可尋址存儲器(cam)(在圖1中未單獨(dú)地展示)。每一翻譯條目150可將虛擬頁面(即,根據(jù)指令執(zhí)行電路102虛擬尋址方案的頁面)映射至物理頁碼。物理頁碼可對應(yīng)于本地存儲器104、遠(yuǎn)程存儲器106或另一非本地資源。r個翻譯條目150可為較大(圖1中未展示)虛擬地址至物理地址(以下稱作“虛擬至物理”)映射(在圖1中未具體可見)的一部分。
tlb112可經(jīng)配置以使用由指令執(zhí)行電路102(例如,q位虛擬地址的p個位)產(chǎn)生的虛擬地址的至少一部分而存取其r個翻譯條目150。tlb112可具有cam地址解碼器(圖中未展示),且可包含寫入電路系統(tǒng)(圖中未展示)以更新翻譯條目150??墒褂贸R?guī)tlb技術(shù)實(shí)施cam地址解碼器及寫入電路系統(tǒng),常規(guī)tlb技術(shù)可補(bǔ)充有稍后更詳細(xì)地描述的選擇性啟用。在一方面中,tlb112可經(jīng)配置以在其發(fā)現(xiàn)匹配其從指令執(zhí)行電路102接收的虛擬地址(或所述虛擬地址的p位字段)的翻譯條目150時(shí)指示“tlb命中事件”。在類似方面中,tlb112可經(jīng)配置以響應(yīng)于未發(fā)現(xiàn)匹配翻譯條目150而識別“tlb遺漏事件”。在另一方面中,tlb112可經(jīng)配置以與識別tlb遺漏事件結(jié)合而產(chǎn)生頁面錯誤信號(在圖1中縮寫為“pf”)。
參看圖1的代表性實(shí)例翻譯條目的放大圖,標(biāo)記為“150-r”的翻譯條目150可包含虛擬地址頁碼(vpn)字段1502、物理地址頁碼字段1504(以下稱作“頁面字段1504”,且在圖1中縮寫為“pgn”),且在一方面中包含本地存儲器旗標(biāo)字段1506。在一方面中,本地存儲器旗標(biāo)字段1506可保持具有一值的“本地旗標(biāo)”(在圖1中縮寫為“l(fā)m”),所述值可在指示頁面字段1504中的物理地址為在本地存儲器104中的位置的第一值與指示所述物理地址為不在本地存儲器104中的位置的第二值之間切換。出于描述的目的,邏輯“0”將被指派為本地存儲器旗標(biāo)的第一值,且邏輯“1”將被指派為本地存儲器旗標(biāo)的第二值。此指派是任意的,且不意圖限制任何方面的范圍。在稍后部分中更詳細(xì)地描述與本地存儲器旗標(biāo)相關(guān)的實(shí)例特征及操作。
參看代表性翻譯條目150-r,也可包含有效/非有效字段,例如實(shí)例“有效”字段1508??筛鶕?jù)已知、常規(guī)tlb有效/非有效欄技術(shù)設(shè)定且使用有效字段1508,且因此,忽略進(jìn)一步詳細(xì)描述。
參看圖1,在一方面中,可切換功率/存儲器存取模式處理器100可進(jìn)一步包括寄存器,例如經(jīng)指派或經(jīng)配置以存儲功率模式指示符的功率模式寄存器114(在圖1中標(biāo)記為縮寫“pwr模式”。功率模式寄存器114可為(例如)翻譯后援單元110的特征。功率模式指示符可具有一值,所述值可在指示可切換功率/存儲器存取模式處理器100處于其正常功率模式中的第一值(例如,邏輯“0”)與指示可切換功率/存儲器存取模式處理器100處于其低功率模式中的第二值(例如,邏輯“1”)之間切換。此指派是任意的,且不意圖限制任何方面的范圍。
繼續(xù)參看圖1,在一方面中,翻譯后援單元110可包含低功率模式超出范圍存取異常邏輯116,為簡潔起見在本說明書中縮寫為任意名稱“l(fā)p存取異常邏輯116”。lp存取異常邏輯116可經(jīng)配置以(例如,從本地存儲器旗標(biāo)字段1506)接收對應(yīng)于tlb命中的所擷取翻譯條目150的本地存儲器旗標(biāo),且經(jīng)配置以從功率模式寄存器114接收功率模式指示符。lp存取異常邏輯116可經(jīng)配置以當(dāng)可切換功率/存儲器存取模式處理器100處于低功率模式中時(shí),響應(yīng)于tlb命中的指示物理地址在本地存儲器外部的本地存儲器旗標(biāo)而產(chǎn)生低功率存取異常信號。
參看圖1,所屬領(lǐng)域的一般技術(shù)人員從閱讀本發(fā)明將了解,lp存取異常邏輯116的特定實(shí)施可至少部分取決于指派至本地存儲器旗標(biāo)、功率模式指示符及低功率存取異常信號的所要極性的邏輯值。
作為一個說明,邏輯“1”可被指派為作用中低功率存取異常信號的值。上述至本地存儲器旗標(biāo)的值的實(shí)例指派為用以分別指示tlb命中的物理地址在本地存儲器104內(nèi)部及外部的邏輯“0”及邏輯“1”。上述至存儲于中功率模式寄存器114中的功率模式指示符的值的實(shí)例指派為用以分別指示可切換功率/存儲器存取模式處理器100處于其正常功率模式中及其低功率模式中的邏輯“0”及邏輯“1”。如在圖1中可見,lp存取異常邏輯116可由此實(shí)施為與門(andgate)。在稍后部分中進(jìn)一步描述的處于其低功率模式中的可切換功率/存儲器存取模式處理器100的實(shí)例操作中,具有在本地存儲器外部的物理地址的tlb位將引起lp存取異常邏輯116的輸入處的本地存儲器旗標(biāo)的邏輯“1”值與功率模式指示符的邏輯“1”值之間的同時(shí)發(fā)生(即,相互并行存在的間隔)。因此,lp存取異常邏輯116的實(shí)例實(shí)施的與運(yùn)算將輸出低功率存取異常信號的作用中(意謂邏輯“1”)值。
在一方面中,可切換功率/存儲器存取模式處理器100可包含功率模式停用硬件頁面查核器電路118。根據(jù)另一方面,功率模式停用硬件頁面查核器電路118可經(jīng)配置以接收tlb112響應(yīng)于tlb遺漏事件而產(chǎn)生的頁面錯誤信號,且從功率模式寄存器114接收功率模式指示符。在一方面中,功率模式停用硬件頁面查核器電路118可經(jīng)配置以當(dāng)其接收到處于指示低功率模式的值的功率模式指示符時(shí)自行停用,即相關(guān)于執(zhí)行頁面查核行程而變得不操作。參看圖1,展示lp模式停用硬件頁面查核器電路118的可見實(shí)例,所述可見實(shí)例具有任意地標(biāo)記為“de”的用于接收功率模式指示符的停用輸入,且具有任意地標(biāo)記為“pw”的用于接收頁面錯誤信號的輸入。邏輯“1”可被指派為功率模式指示符的指示低功率模式的值,如在本發(fā)明中先前所述。假定功率模式指示符的實(shí)例經(jīng)指派值,lp模式停用硬件頁面查核器電路118可經(jīng)配置以響應(yīng)于在其de輸入處接收到邏輯“1”而自行停用。
根據(jù)另一方面,功率模式停用硬件頁面查核器電路118可經(jīng)配置以響應(yīng)于當(dāng)啟用時(shí)(例如,當(dāng)接收在邏輯“0”處的功率模式指示符時(shí))接收到頁面錯誤信號而執(zhí)行對先前所描述的較大(例如,全系統(tǒng))虛擬至物理映射的硬件頁面查核行程。功率模式停用硬件頁面查核器電路118可實(shí)施為(例如)已知常規(guī)硬件頁面查核器電路系統(tǒng)(未具體展示)與經(jīng)配置以接收功率模式指示符的所添加停用邏輯(未具體展示)的組合。所屬領(lǐng)域的技術(shù)人員可通過將這些人擁有的常規(guī)工程訣竅應(yīng)用至本發(fā)明而實(shí)施常規(guī)硬件頁面查核器電路系統(tǒng)與停用邏輯的此類組合,而無需過度實(shí)驗(yàn)。因而忽略進(jìn)一步詳細(xì)描述。
在一方面中,可切換功率/存儲器存取模式處理器100或外部處理器或操作環(huán)境(圖1中未展示)可經(jīng)配置以通過調(diào)用特定異常處理程序(圖中未展示)而響應(yīng)于來自lp存取異常邏輯116的低功率存取異常信號。特定異常處理程序可任意地被稱為“超出可允許存取范圍異常處理程序”。超出可允許存取范圍異常處理程序可經(jīng)配置以當(dāng)可切換功率/存儲器存取模式處理器100處于低功率模式中時(shí),提供從指令執(zhí)行電路102存取非本地資源(例如,在本地存儲器104外部的位置)的嘗試而恢復(fù)由超出可允許存取范圍異常處理程序執(zhí)行的特定恢復(fù)操作可至少部分地為應(yīng)用特定的,但可易于由所屬領(lǐng)域的一般技術(shù)人員通過將這些人擁有的常規(guī)工程訣竅應(yīng)用至本發(fā)明而實(shí)施,而無需過度實(shí)驗(yàn)。因而忽略進(jìn)一步詳細(xì)描述。
現(xiàn)將描述處于正常功率模式中的可切換功率/存儲器存取模式處理器100的實(shí)例操作。在一個實(shí)例中,指令執(zhí)行電路102可將虛擬地址發(fā)送至翻譯后援單元110。所述虛擬地址可具有q個位,如先前所描述。使用(例如)q個位中的p個,tlb112可搜尋其r個翻譯條目150。如果發(fā)現(xiàn)匹配翻譯條目,則產(chǎn)生tlb命中事件。匹配翻譯條目的本地存儲器旗標(biāo)字段1506可具有本地存儲器旗標(biāo),所述本地存儲器旗標(biāo)可處于指示頁面字段1504的內(nèi)容是否對應(yīng)于本地存儲器104的邏輯值(“0”或“1”)。然而,當(dāng)可切換功率/存儲器存取模式處理器100處于正常功率模式中時(shí),功率模式寄存器114值為邏輯“0”,且lp存取異常邏輯116的邏輯與運(yùn)算因而使得本地存儲器旗標(biāo)為邏輯“0”值。處于其正常功率模式中的可切換功率/存儲器存取模式處理器100因而通過無關(guān)于本地存儲器旗標(biāo)值而產(chǎn)生完整物理地址(例如,經(jīng)由在所擷取翻譯條目150的頁面字段1504上操作的偏移電路120),而響應(yīng)tlb命中事件。
繼續(xù)對實(shí)例正常功率模式操作的描述,如果tlb112無法在r個翻譯條目150中發(fā)現(xiàn)翻譯條目,則產(chǎn)生tlb遺漏事件(在圖1中未單獨(dú)地展示)。作為響應(yīng),tlb112將指示未發(fā)現(xiàn)匹配翻譯條目的頁面錯誤信號傳送至功率模式停用硬件頁面查核器電路118的pw輸入。因?yàn)樵赿e輸入處接收的功率模式指示符為邏輯“0”,故啟用功率模式停用硬件頁面查核器電路118。功率模式停用硬件頁面查核器電路118因而通過執(zhí)行具有分頁表(圖1中未展示)的硬件頁面查核行程而響應(yīng)于頁面錯誤信號,所述分頁表如先前所描述,具有完整的經(jīng)更新虛擬至物理映射,以供指令執(zhí)行電路102存取其全部存儲器及其它資源。
由功率模式停用硬件頁面查核器電路118執(zhí)行的硬件頁面查核行程可產(chǎn)生兩個結(jié)果中的任一者。一個結(jié)果為在分頁表中發(fā)現(xiàn)用于引起tlb遺漏事件的虛擬地址的虛擬至物理映射。另一可能結(jié)果為未發(fā)現(xiàn)任何虛擬至物理映射。如果發(fā)現(xiàn)虛擬至物理映射,則功率模式停用硬件頁面查核器電路118可將其提供至翻譯后援單元110用于更新tlb112。tlb112的更新可產(chǎn)生新翻譯條目150,新翻譯條目150除了常規(guī)tlb映射信息之外,也包括具有經(jīng)設(shè)定以指示由硬件頁面查核行程發(fā)現(xiàn)的物理地址在本地存儲器104中還是不在本地存儲器104中的本地存儲器旗目標(biāo)本地存儲器旗標(biāo)字段1506。因此,在一方面中,功率模式停用硬件頁面查核器電路118、翻譯后援單元110或其它邏輯(在圖1中未單獨(dú)地標(biāo)記)中的一或多者可經(jīng)配置以識別由功率模式停用硬件頁面查核器電路118發(fā)現(xiàn)的虛擬至物理映射的物理地址字段在還是不在本地存儲器104中。在另一方面中,翻譯后援單元110及功率模式停用硬件頁面查核器電路118中的一或多者可經(jīng)配置以根據(jù)物理地址位置在還是不在本地存儲器104中的識別而設(shè)定tlb112中的新翻譯條目的本地存儲器旗標(biāo)字段1506中的本地存儲器旗標(biāo)。
上述實(shí)例操作與處于其正常功率模式中的可切換功率/存儲器存取模式處理器100相關(guān)聯(lián)。現(xiàn)將描述可切換功率/存儲器存取模式處理器100的實(shí)例低功率模式操作。可切換功率/存儲器存取模式處理器100可經(jīng)配置以(例如)響應(yīng)于對外部所產(chǎn)生命令(在圖1中未明確地可見)的接收而切換至低功率模式。與將切換至低功率模式相關(guān)聯(lián),功率模式寄存器114中的功率模式指示符可被設(shè)定為處于邏輯“1”。
一個實(shí)例低功率模式存取操作可以指令執(zhí)行電路102將虛擬地址發(fā)送至翻譯后援單元110而開始。如果翻譯后援單元110發(fā)現(xiàn)匹配翻譯條目150,則翻譯后援單元110產(chǎn)生tlb命中事件(在圖1中未具體展示)。假定發(fā)現(xiàn)匹配翻譯條目,將首先描述實(shí)例操作。將在稍后部分中進(jìn)一步描述在翻譯后援單元未發(fā)現(xiàn)匹配翻譯條目的情況下可執(zhí)行的實(shí)例操作。當(dāng)處于低功率模式中時(shí),在lp存取異常邏輯116處接收來自功率模式寄存器114的功率模式指示符的邏輯“1”值,而非在處于正常功率模式中時(shí)所接收的邏輯“0”。所述邏輯“1”使得lp存取異常邏輯116的輸出取決于匹配翻譯條目150的本地存儲器旗標(biāo)字段1506中的本地旗標(biāo)。因此,在低功率模式中,可切換功率/存儲器存取模式處理器100響應(yīng)于tlb命中事件的操作取決于匹配翻譯條目150中的本地存儲器旗標(biāo)。如果本地存儲器旗標(biāo)指示頁面字段1504中的物理頁碼處于本地存儲器104中,則操作可如對于正常功率模式所述而繼續(xù),即,可產(chǎn)生物理地址且可存取本地存儲器104。然而,如果本地存儲器旗標(biāo)識別出頁面字段1504中的物理頁碼在本地存儲器104外部,則lp存取異常邏輯116將輸出作用中(在此實(shí)例中,邏輯“1”)低功率存取異常信號。在一方面中,作用中低功率存取異常信號可使得先前所描述的超出可允許存取范圍異常處理程序被調(diào)用。
參看圖1,在當(dāng)處于低功率模式中時(shí)與tlb命中事件相關(guān)聯(lián)的上述操作期間,功率模式停用硬件頁面查核器電路118通過其de輸入接收到功率模式指示符的邏輯“1”值而被停用。在一方面中,可切換功率/存儲器存取模式處理器100可包含經(jīng)配置以在處于低功率模式中時(shí)響應(yīng)于tlb遺漏事件而產(chǎn)生低功率模式tlb遺漏異常信號的邏輯。此類邏輯的一個實(shí)例實(shí)施可為邏輯“與”電路122,邏輯“與”電路122可經(jīng)配置以執(zhí)行功率模式指示符與從tlb112輸出的頁面錯誤信號的邏輯“與”運(yùn)算。處于低功率模式中時(shí)的tlb遺漏事件可在邏輯“與”電路122的輸入處產(chǎn)生功率模式指示符與tlb112的頁面出錯輸出的同時(shí)發(fā)生(意謂相互同時(shí)存在的間隔)。邏輯“與”電路122可產(chǎn)生所得作用中(在此實(shí)例中,邏輯“1”)低功率模式tlb遺漏異常信號。
切換可切換功率/存儲器存取模式處理器100可包含將功率模式寄存器114中的功率模式指示符設(shè)定為指示正常功率模式的值。當(dāng)處于正常功率模式中時(shí),操作可接著包含在tlb112處接收另一虛擬地址、識別具有匹配所述另一虛擬地址的虛擬地址的另一匹配翻譯150條目、存取存儲器(例如,本地存儲器104或遠(yuǎn)程存儲器106),而不管本地存儲器旗標(biāo)為何。
圖2展示根據(jù)一或多個方面的與切換至低功率(圖2中縮寫為“l(fā)p”)模式相關(guān)聯(lián)的存儲器存取過程中的實(shí)例操作的邏輯流程200。為方便起見,將參看圖1的可切換功率/存儲器存取模式處理器100而描述實(shí)例操作。應(yīng)了解,此類描述不意圖限制與圖1的可切換功率/存儲器存取模式處理器100或其架構(gòu)相同的任何方面或?qū)嵺`。
參看圖1及2,流程200中的操作可在202處開始,其中(例如)響應(yīng)于外部指令(在圖1及2中未明確地可見),可切換功率/存儲器存取模式處理器100切換至低功率模式。在一方面中,202處的操作可包含將模式寄存器設(shè)定為指示至低功率模式的切換。舉例來說,可將功率模式寄存器114中的功率模式指示符設(shè)定為邏輯“1”。與在202處切換至低功率模式結(jié)合,流程200可在204處停用硬件頁面查核行程。參看圖1,204處的停用操作可由功率模式停用硬件頁面查核器電路118響應(yīng)于在其de輸入處接收到邏輯“1”功率模式指示符而執(zhí)行。
在206處,在翻譯后援單元110處(例如)從指令執(zhí)行電路102接收到虛擬地址后,流程200可接著繼續(xù)進(jìn)行至208,其中tlb112可使用所接收虛擬地址搜尋其r個翻譯條目150。如果208處的搜尋導(dǎo)致tlb命中(在決策塊206處展示為“是”),則接著,如由決策塊210所示,流程200可繼續(xù)進(jìn)行至決策塊212,從決策塊212,取決于匹配翻譯條目150的本地存儲器旗標(biāo)字段1506中的本地存儲器旗標(biāo)而采取兩個路徑中的一者。參看圖1,決策塊212的操作可通過lp存取異常邏輯116對本地存儲器旗標(biāo)與來自功率模式寄存器114的本地存儲器旗標(biāo)及邏輯“1”功率模式指示符進(jìn)行邏輯及運(yùn)算(logicaland)而提供。出于此描述的目的,本地存儲器旗標(biāo)的所指派值對于本地存儲器104中的匹配翻譯條目的物理地址為邏輯“1”,且對于不在本地存儲器104中的物理地址為邏輯“0”。使用所述指派,如果本地存儲器旗標(biāo)為邏輯“1”(即,匹配翻譯條目150的物理地址在本地存儲器104中),則流程200可從212的“是”分支繼續(xù)進(jìn)行至214,以(例如)使用匹配翻譯條目150的頁面字段1504產(chǎn)生完整物理地址。流程200可接著繼續(xù)進(jìn)行至216,且使用在214處產(chǎn)生的物理地址而存取本地存儲器104,且接著在218處結(jié)束。當(dāng)在206處接收到另一虛擬地址時(shí),流程200可重復(fù)。
在上述所描述實(shí)例操作中,在208處對tlb112的搜尋產(chǎn)生命中,從而引起從決策塊210的“是”選路。參看圖1及2,在另一實(shí)例中,在208處對tlb112的搜尋可能未能產(chǎn)生命中,從而導(dǎo)致從決策塊210的“否”選路。流程200接著可繼續(xù)進(jìn)行至220,且(例如)基于邏輯及電路122對來自所述tlb112的頁面錯誤及處于邏輯“1”的功率模式指示符的操作而產(chǎn)生低功率模式tlb遺漏異常信號。
參看圖1及2,且再次查看決策塊212,如果由tlb搜尋在208處發(fā)現(xiàn)的匹配翻譯條目150的本地存儲器旗標(biāo)展示(例如,處于邏輯“0”的本地存儲器旗標(biāo))在其頁面字段1504中的物理地址不在本地存儲器104中,則流程200可繼續(xù)進(jìn)行至222,且產(chǎn)生低功率存取異常信號(在塊項(xiàng)222中縮寫為“l(fā)xe”)。參看圖1,222處的操作可包括lp存取異常邏輯116的及運(yùn)算。流程200可接著繼續(xù)進(jìn)行至224,且(例如)調(diào)用先前所描述的超出存取范圍異常處理程序。
圖3展示根據(jù)一或多個方面的與切換至正常功率模式相關(guān)聯(lián)的存儲器存取程序中的實(shí)例操作的邏輯流程300。為方便起見,參看圖1的可切換功率/存儲器存取模式處理器100描述流程300中的實(shí)例操作。應(yīng)了解,此類描述不意圖限制與圖1的可切換功率/存儲器存取模式處理器100架構(gòu)相同的任何方面或?qū)嵺`。
參看圖1及3,流程300中的操作可在302處開始,其中(例如)響應(yīng)于外部指令(在圖1及3中未明確地可見),可切換功率/存儲器存取模式處理器100切換至正常功率模式(在塊項(xiàng)302中縮寫為“np”)。在一方面中,302處的操作可包含將功率模式寄存器114中的功率模式指示符設(shè)定為邏輯“0”。與在302處切換至正常功率模式結(jié)合,流程300可在304處啟用功率模式停用硬件頁面查核器電路118。參看圖1,304處的啟用操作可由功率模式停用硬件頁面查核器電路118響應(yīng)于在其de輸入處接收到邏輯“0”功率模式指示符而執(zhí)行。流程300接著可等待直至由翻譯后援單元110在306處(例如)從指令執(zhí)行電路102接收到虛擬地址。
繼續(xù)參看圖1及3,在翻譯后援單元110在306處接收到虛擬地址后,流程300即可繼續(xù)進(jìn)行至308,其中tlb112可使用在306處所接收的虛擬地址而搜尋其r個翻譯條目150。如果308處的搜尋導(dǎo)致tlb命中,即,發(fā)現(xiàn)匹配翻譯條目150(在決策塊310處展示為“是”),則流程300可繼續(xù)進(jìn)行至312,且使用(例如)匹配翻譯條目150的頁面字段1504而產(chǎn)生完整物理地址。流程300可接著繼續(xù)進(jìn)行至314,且使用在312處所產(chǎn)生的物理地址來存取其存儲器資源,例如,遠(yuǎn)程存儲器106及/或本地存儲器104。在312處的存取之后,流程300可在314處結(jié)束,且當(dāng)在306處接收到另一虛擬地址時(shí),流程300可重復(fù)。
參看圖1的lp存取異常邏輯116及圖3,應(yīng)了解,歸因于lp存取異常邏輯116及與正常功率模式相關(guān)聯(lián)的功率模式指示符的邏輯“0”值,匹配翻譯條目150的本地存儲器旗標(biāo)字段1506中的本地存儲器旗標(biāo)與流程300不相關(guān)。應(yīng)了解,相比于需要重復(fù)tlb遺漏及頁面查核行程以重新填入tlb(如由使tlb中的全部非本地物理地址條目失效的常規(guī)技術(shù)所需要),此特征可在切換至正常功率模式操作后即刻為可切換功率/存儲器存取模式處理器100提供不受限存儲器存取。
參看圖3,流程300中的操作的上述實(shí)例假定tlb命中源自于308處的搜尋。在另一實(shí)例中,參看圖1及3,308處的搜尋可能未能發(fā)現(xiàn)tlb112中的匹配翻譯條目。作為響應(yīng),如由離開決策塊310的“否”分支所示,流程300可繼續(xù)進(jìn)行至318,且執(zhí)行對分頁表(在圖1中未明確地可見)的硬件頁面查核行程。在318處執(zhí)行的硬件頁面查核行程可根據(jù)已知、常規(guī)硬件頁面查核行程技術(shù),且因此忽略進(jìn)一步詳細(xì)描述。流程300中的在318處的硬件頁面查核行程之后的隨后操作可取決于硬件頁面查核行程是否發(fā)現(xiàn)虛擬至物理映射,如由決策塊320所示。如果未發(fā)現(xiàn)虛擬至物理映射,則如由離開決策塊320的“否”分支所示,流程300可繼續(xù)進(jìn)行至322且調(diào)用頁面錯誤異常。322處的頁面錯誤異??身憫?yīng)于不成功硬件頁面查核行程而根據(jù)已知常規(guī)頁面錯誤技術(shù),且因此,忽略進(jìn)一步詳細(xì)描述。
參看圖1及如3,如果318處的硬件頁面查核行程發(fā)現(xiàn)虛擬至物理映射(在圖1中未明確地可見),則接著如由離開決策塊320的“是”分支所示,流程300可繼續(xù)進(jìn)行至324且確定虛擬至物理映射的物理地址字段指向本地存儲器(例如,本地存儲器104)還是在本地存儲器外部(例如,遠(yuǎn)程存儲器106)。流程300可接著繼續(xù)進(jìn)行至326,且使用324處的所述確定用于以新翻譯映射條目150更新tlb112??筛鶕?jù)實(shí)例150-r格式化新翻譯映射條目150,新翻譯映射條目150在其vpn字段1502及頁面字段1504中具有由318處的硬件頁面查核行程發(fā)現(xiàn)的虛擬至物理映射,且在其本地存儲器旗標(biāo)字段1506中,具有設(shè)定為指示物理地址在本地存儲器104中還是在本地存儲器外部(例如,在遠(yuǎn)程存儲器106中)的值(例如,邏輯“0”或“1”)的本地存儲器旗標(biāo)。流程300可接著繼續(xù)進(jìn)行至314,使用由318處的硬件頁面查核行程發(fā)現(xiàn)的虛擬至物理映射存取存儲器,且接著在316處結(jié)束。
圖4說明可如本文所描述,經(jīng)配置以支持或提供參看圖1的處理器系統(tǒng)100所描述的功能及特征的個人通信及計(jì)算裝置400的一個實(shí)例。參看圖4,個人通信及計(jì)算裝置400可包含系統(tǒng)總線402及耦合至所述系統(tǒng)總線402的一或多個cpu404。cpu404可包括(例如)一或多個處理器或cpu406及一或多個高速緩存408。cpu406可由(例如)一或多個可編程計(jì)算裝置實(shí)施,例如(但不限于)一或多個arm類型處理裝置(在圖4中未單獨(dú)地可見)。cpu406可能夠作為主控裝置執(zhí)行。cpu406可(例如)經(jīng)由系統(tǒng)總線402互相耦合至各種主控及從屬裝置。根據(jù)常規(guī)通信協(xié)議,cpu404可經(jīng)由系統(tǒng)總線402通過交換地址、控制及數(shù)據(jù)信息而與這些其它裝置通信。盡管在圖4中未說明,但可提供多個系統(tǒng)總線402。在具有多個系統(tǒng)總線402的實(shí)例中,每一系統(tǒng)總線402可構(gòu)成不同網(wǎng)狀架構(gòu)。
參看圖4,cpu404可將總線異動請求傳達(dá)至存儲器系統(tǒng)412的存儲器控制器410(作為從屬裝置的一個實(shí)例)。參看圖1及4,在一個方面中,cpu404可對應(yīng)于圖1的指令執(zhí)行電路102。cpu404可經(jīng)配置以包含實(shí)施本地存儲器104、翻譯后援單元110及功率模式停用硬件頁面查核器電路118的電路系統(tǒng)(在圖4中非明確地可見)及/或計(jì)算機(jī)可執(zhí)行碼(在圖4中非明確地可見)。存儲器系統(tǒng)412可實(shí)施遠(yuǎn)程存儲器106或形成遠(yuǎn)程存儲器106的一部分。應(yīng)了解,各方面可包含將可從cpu404物理上分離的某些存儲器資源(在圖4中未必可見)指定為“本地存儲器”。同樣,諸方面可包含將可物理上布置于可接近或可甚至在cpu404中的一或多者內(nèi)的區(qū)域(在圖4中未必可見)內(nèi)的某些存儲器資源(在圖4中未必可見)指定為“在本地存儲器外部”或“遠(yuǎn)程存儲器”。
參看圖4,其它主控及從屬裝置的實(shí)例可包含一或多個輸入裝置414、一或多個輸出裝置416、一或多個網(wǎng)絡(luò)接口裝置418、及一或多個顯示器控制器420。如果經(jīng)采用,則輸入裝置414可包含任何類型的輸入裝置,包含但不限于輸入鍵、開關(guān)、語音處理器及其類似者。如果被使用,則輸出裝置416可包含任何類型的輸出裝置,包含但不限于音頻、視頻、其它視覺指示器及其類似者。如果被使用,則網(wǎng)絡(luò)接口裝置418可為經(jīng)配置以允許與網(wǎng)絡(luò)422交換數(shù)據(jù)的任何類型的網(wǎng)絡(luò)接口裝置。網(wǎng)絡(luò)422可為任何類型的網(wǎng)絡(luò),包含但不限于有線或無線網(wǎng)絡(luò)、私人或公用網(wǎng)絡(luò)、局域網(wǎng)絡(luò)(lan)、廣域網(wǎng)(wlan)及因特網(wǎng)。網(wǎng)絡(luò)接口裝置418可經(jīng)配置以支持任一類型的所要通信協(xié)議。
繼續(xù)參看圖4,cpu404還可經(jīng)配置以經(jīng)由系統(tǒng)總線402存取顯示器控制器420,以將控制信息發(fā)送至一或多個顯示器424。顯示器控制器420可(例如)經(jīng)由一或多個視頻處理器426而將待顯示的信息發(fā)送至顯示器424。視頻處理器426可將(例如)待顯示的信息處理成適合于顯示器424的格式。如果被使用,則顯示器424可包含任何類型的顯示器,例如,主動或被動液晶顯示器(lcd)、電漿顯示器及陰極射線管(crt)。
前述所揭示裝置及功能性可經(jīng)設(shè)計(jì)且經(jīng)配置成存儲于計(jì)算機(jī)可讀媒體上的計(jì)算機(jī)檔案(例如,rtl、gdsii、gerber等)。這些檔案中的一些或全部可被提供至基于這些檔案制造裝置的制造處理程序。所得產(chǎn)品包含接著被切割成半導(dǎo)體晶粒且封裝成半導(dǎo)體芯片的半導(dǎo)體晶圓。接著在上文所述的裝置中采用所述芯片。
所屬領(lǐng)域的技術(shù)人員將了解,可使用多種不同技藝及技術(shù)中的任一者來表示信息及信號。舉例來說,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學(xué)粒子或其任何組合表示貫穿以上描述可能提及的數(shù)據(jù)、指令、命令、信息、信號、位、符號及芯片。
此外,所屬領(lǐng)域的技術(shù)人員將了解,結(jié)合本文中所揭示的方面而描述的各種說明性邏輯塊、模塊、電路及算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說明硬件與軟件的此可互換性,各種說明性組件、塊、模塊、電路及步驟已在上文大體按其功能性加以描述。此功能性實(shí)施為硬件還是軟件取決于特定應(yīng)用及強(qiáng)加于整個系統(tǒng)上的設(shè)計(jì)約束。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以不同方式實(shí)施所描述的功能性,但不應(yīng)將這些實(shí)施決策解釋為導(dǎo)致脫離本發(fā)明的范圍。
結(jié)合本文中所揭示的方面描述的方法、序列及/或算法可以硬件、以由處理器執(zhí)行的軟件模塊、或以兩者的組合直接體現(xiàn)。軟件模塊可駐留于ram存儲器、快閃存儲器、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、可移動磁盤、cd-rom,或此項(xiàng)技術(shù)中已知的任何其它形式的存儲媒體中。示范性存儲媒體耦合至處理器,使得處理器可從存儲媒體讀取信息且將信息寫入至存儲媒體。在替代方案中,存儲媒體可整合至處理器。
盡管前述揭示內(nèi)容展示相同的說明性方面及實(shí)例實(shí)施,但應(yīng)注意,本文中可做出各種改變及修改而無需脫離本發(fā)明的如由所附權(quán)利要求書定義的范圍。不必以任何特定次序執(zhí)行根據(jù)方法權(quán)利要求書的功能、步驟及/或動作。此外,盡管可以單數(shù)形式描述或主張本發(fā)明的組件,但除非明確地陳述對單數(shù)形式的限制,否則預(yù)期復(fù)數(shù)形式。