經(jīng)由頁(yè)訪問(wèn)計(jì)數(shù)的處理器存儲(chǔ)器優(yōu)化的制作方法
【專(zhuān)利說(shuō)明】經(jīng)由頁(yè)訪問(wèn)計(jì)數(shù)的處理器存儲(chǔ)器優(yōu)化
[0001]枏據(jù)35 U.S.C.§ 119主張優(yōu)先權(quán)
[0002]依據(jù)35 U.S.C.§ 119,本申請(qǐng)案主張2012年11月9日申請(qǐng)的標(biāo)題為“經(jīng)由頁(yè)訪問(wèn)計(jì)數(shù)的處理器存儲(chǔ)器優(yōu)化”的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)案第61/724,310號(hào)的優(yōu)先權(quán),所述申請(qǐng)案的全部?jī)?nèi)容據(jù)此以引用的方式并入本文中。
技術(shù)領(lǐng)域
[0003]本申請(qǐng)案總體上涉及處理器存儲(chǔ)器優(yōu)化,且具體來(lái)說(shuō)涉及有效地指派更有效低功率和低密度存儲(chǔ)器以在移動(dòng)處理器中獲得有效存儲(chǔ)器利用。
【背景技術(shù)】
[0004]處理器通常在可包含與便攜式或移動(dòng)電子裝置相關(guān)聯(lián)的嵌入式應(yīng)用程序的各種應(yīng)用程序中執(zhí)行計(jì)算任務(wù)。與這些電子裝置相關(guān)聯(lián)的不斷擴(kuò)充特征集和增強(qiáng)的功能性總體上要求計(jì)算上更強(qiáng)大的處理器。舉例來(lái)說(shuō),大部分現(xiàn)代處理器將近來(lái)執(zhí)行指令和近來(lái)使用數(shù)據(jù)存儲(chǔ)于指令執(zhí)行管線可容易地訪問(wèn)以利用與大部分程序或應(yīng)用程序相關(guān)聯(lián)的空間和時(shí)間局部性性質(zhì)的一或多個(gè)高速緩沖存儲(chǔ)器中。具體來(lái)說(shuō),高速緩存總體上是指包括隨機(jī)存取存儲(chǔ)器(RAM)和/或?qū)?yīng)內(nèi)容可尋址存儲(chǔ)器(CAM)的高速(通常芯片上)存儲(chǔ)器結(jié)構(gòu)。
[0005]除最后高速緩存層級(jí)以外,許多處理器具有主存儲(chǔ)器,其具有通常根據(jù)不同吞吐量、功率效率、容量和延遲時(shí)間操作的多個(gè)不同存儲(chǔ)器類(lèi)型。舉例來(lái)說(shuō),可用于主處理器存儲(chǔ)器中的不同存儲(chǔ)器類(lèi)型可包含寬輸入/輸出(I/o)存儲(chǔ)器、串行存儲(chǔ)器、極限數(shù)據(jù)速率(XDR)或移動(dòng)XDR(M-XDR)存儲(chǔ)器、雙數(shù)據(jù)速率(DDR)存儲(chǔ)器、低功率DDR(LPDDR)存儲(chǔ)器、堆疊式存儲(chǔ)器接口(SDI)架構(gòu)和外部總線接口(EBI)存儲(chǔ)器架構(gòu)以及其它存儲(chǔ)器。嘗試在不同吞吐量、功率效率、容量、延遲時(shí)間與相關(guān)聯(lián)于不同存儲(chǔ)器類(lèi)型的其它特性之間平衡或以其它方式管理權(quán)衡的現(xiàn)存技藝傾向于將固定地址指派到不同存儲(chǔ)器類(lèi)型。舉例來(lái)說(shuō),有效地利用處理器存儲(chǔ)器的一個(gè)所提出解決方案為在設(shè)計(jì)時(shí)配置如何將不同存儲(chǔ)器分配于軟件內(nèi)。然而,此所提出解決方案具有各種缺點(diǎn),包含靜態(tài)地定義如何指派更有效存儲(chǔ)器可在許多使用狀況下導(dǎo)致更有效存儲(chǔ)器處于空閑狀態(tài)。此問(wèn)題的另一所提出解決方案為使動(dòng)態(tài)存儲(chǔ)器分配例程處理所述指派。然而,此所提出解決方案也具有缺點(diǎn),包含在指派存儲(chǔ)器時(shí)動(dòng)態(tài)存儲(chǔ)器分配例程可并不知道實(shí)際存儲(chǔ)器利用。
[0006]因此,增加執(zhí)行速度、減少功率消耗且增強(qiáng)存儲(chǔ)器利用的處理器優(yōu)化是合乎需要的。
【發(fā)明內(nèi)容】
[0007]以下呈現(xiàn)本文中所揭示的經(jīng)由頁(yè)訪問(wèn)計(jì)數(shù)的處理器存儲(chǔ)器優(yōu)化的一或多個(gè)實(shí)施例的簡(jiǎn)化概述以便提供對(duì)此等實(shí)施例的基本理解。因而,此概述不應(yīng)被視為所有涵蓋實(shí)施例的廣泛綜述,且此概述也并不意圖識(shí)別本文中所描述的所有實(shí)施例的關(guān)鍵或至關(guān)重要要素或劃定任何特定實(shí)施例的范圍。因此,此概述的唯一目的為將相關(guān)于相關(guān)本文中所揭示的處理器存儲(chǔ)器優(yōu)化的一或多個(gè)實(shí)施例的某些概念以簡(jiǎn)化形式呈現(xiàn)為下文呈現(xiàn)的較詳細(xì)描述的序目。
[0008]根據(jù)各種實(shí)施例,頁(yè)訪問(wèn)計(jì)數(shù)可用于在處理器(例如,移動(dòng)處理器)中有效地利用低功率和低密度存儲(chǔ)器。具體來(lái)說(shuō),所述處理器可包含具有多個(gè)不同存儲(chǔ)器類(lèi)型的主存儲(chǔ)器,可動(dòng)態(tài)地指派、改變或以其它方式利用所述存儲(chǔ)器類(lèi)型以在各種使用狀況下獲得效率。在一個(gè)實(shí)施例中,可經(jīng)由所述頁(yè)訪問(wèn)計(jì)數(shù)基于頁(yè)測(cè)量存儲(chǔ)器利用且接著內(nèi)核例程或操作系統(tǒng)例程可用于在有效存儲(chǔ)器中進(jìn)行映射。舉例來(lái)說(shuō),基于硬件頁(yè)訪問(wèn)計(jì)數(shù)器可用于記錄所述存儲(chǔ)器利用且所述內(nèi)核或操作系統(tǒng)例程可接著改變虛擬地址到物理地址映射以動(dòng)態(tài)地改變存儲(chǔ)器指派。
[0009]根據(jù)各種實(shí)施例,相對(duì)于可用的頁(yè)訪問(wèn)計(jì)數(shù)器的數(shù)目,所述主存儲(chǔ)器中可用的所述多個(gè)不同存儲(chǔ)器類(lèi)型內(nèi)的較多存儲(chǔ)器頁(yè)可通常在使用,此情況可實(shí)質(zhì)上類(lèi)似于地址翻譯高速緩存(還被稱(chēng)作翻譯后援緩沖器或TLB)中的情形。因而,在一個(gè)實(shí)施例中,所述頁(yè)訪問(wèn)計(jì)數(shù)器可因此整合到與所述不同存儲(chǔ)器相關(guān)聯(lián)的頁(yè)表中,其中響應(yīng)于訪問(wèn)特定頁(yè)表的事件可遞增整合到所述頁(yè)表中的所述頁(yè)訪問(wèn)計(jì)數(shù)器。此外,響應(yīng)于從所述地址翻譯高速緩存或TLB收回條目的事件,可重設(shè)或因此更新與所述所收回條目相關(guān)聯(lián)的所述頁(yè)訪問(wèn)計(jì)數(shù)器。在一個(gè)實(shí)施例中,為在所述不同存儲(chǔ)器類(lèi)型中的更有效一者(例如,相對(duì)于DDR存儲(chǔ)器的寬I/O存儲(chǔ)器)的存儲(chǔ)器頁(yè)中進(jìn)行切換,可將所述存儲(chǔ)器頁(yè)中的內(nèi)容從一個(gè)物理存儲(chǔ)器裝置復(fù)制到另一物理存儲(chǔ)器裝置(例如,從所述DDR存儲(chǔ)器到所述寬I/O存儲(chǔ)器)。此外,從將大量使用存儲(chǔ)器頁(yè)指派到所述更有效存儲(chǔ)器類(lèi)型所獲得的所述效率可補(bǔ)償與所述復(fù)制操作相關(guān)聯(lián)的任何額外負(fù)荷。
[0010]根據(jù)各種實(shí)施例,經(jīng)由所述頁(yè)訪問(wèn)計(jì)數(shù)利用所述處理器的主存儲(chǔ)器中可用的所述低功率、低密度或以其它方式更有效存儲(chǔ)器的技術(shù)可允許更有效存儲(chǔ)器與所述主存儲(chǔ)器并行存在。此外,可基于所測(cè)量利用(例如,經(jīng)由所述頁(yè)訪問(wèn)計(jì)數(shù)器)動(dòng)態(tài)地指派所述可用存儲(chǔ)器以確保在并不要求任何用戶(hù)程序或應(yīng)用程序變化的情況下所述更有效存儲(chǔ)器將始終用于最頻繁訪問(wèn)存儲(chǔ)器頁(yè),這是因?yàn)榭蓪⑺熊浖С志窒抻谒鰞?nèi)核或操作系統(tǒng)例程。具體來(lái)說(shuō),動(dòng)態(tài)地改變虛擬地址與物理地址之間的所述映射的所述優(yōu)化可透明于利用所述虛擬地址訪問(wèn)存儲(chǔ)于物理存儲(chǔ)器中的數(shù)據(jù)的用戶(hù)程序,這是因?yàn)閮?nèi)核或操作系統(tǒng)例程可改變所述物理存儲(chǔ)器存儲(chǔ)所述數(shù)據(jù)的所述物理地址并更新與所述虛擬地址相關(guān)聯(lián)的所述映射以反映所述新物理地址。因而,用戶(hù)程序可在無(wú)需進(jìn)行任何變化的情況下在所述新物理地址處利用所述相同虛擬地址訪問(wèn)所述數(shù)據(jù)。
[0011]根據(jù)一個(gè)實(shí)施例,一種有效地利用處理器存儲(chǔ)器的方法可包括監(jiān)視測(cè)量與第一存儲(chǔ)器中的頁(yè)和第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的利用的頁(yè)訪問(wèn)計(jì)數(shù)器,其中所述第一存儲(chǔ)器具有比所述第二存儲(chǔ)器高的效率(例如,基于與其相關(guān)聯(lián)的相應(yīng)功率消耗、密度、延遲時(shí)間和/或帶寬),且所述方法可進(jìn)一步包括基于所述所監(jiān)視頁(yè)訪問(wèn)計(jì)數(shù)器動(dòng)態(tài)地指派所述第一存儲(chǔ)器中的所述頁(yè)和所述第二存儲(chǔ)器中的所述頁(yè)。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,動(dòng)態(tài)地指派所述第一存儲(chǔ)器中的所述頁(yè)和所述第二存儲(chǔ)器中的所述頁(yè)可包括:將具有高利用的與所述第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的內(nèi)容復(fù)制到所述第一存儲(chǔ)器、將具有低利用的與所述第一存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的內(nèi)容復(fù)制到所述第二存儲(chǔ)器,和基于所述復(fù)制改變對(duì)應(yīng)于所述動(dòng)態(tài)指派頁(yè)的虛擬地址與物理地址之間的映射。在一個(gè)實(shí)施例中,所述頁(yè)訪問(wèn)計(jì)數(shù)器可包括整合到頁(yè)表中的基于硬件計(jì)數(shù)器,所述頁(yè)表存儲(chǔ)與所述第一存儲(chǔ)器和所述第二存儲(chǔ)器中的所述頁(yè)相關(guān)聯(lián)的虛擬地址與物理地址之間的映射。此外,在一個(gè)實(shí)施例中,所述方法可進(jìn)一步包括檢測(cè)與所述第一存儲(chǔ)器中的頁(yè)或所述第二存儲(chǔ)器中的頁(yè)中的一或多者相關(guān)聯(lián)的事件,和基于與所述所檢測(cè)事件相關(guān)聯(lián)的類(lèi)型更新與對(duì)應(yīng)于所述所檢測(cè)事件的所述頁(yè)相關(guān)聯(lián)的所述頁(yè)訪問(wèn)計(jì)數(shù)器。舉例來(lái)說(shuō),如果與所述所檢測(cè)事件相關(guān)聯(lián)的所述類(lèi)型包括訪問(wèn)所述頁(yè),那么可遞增與對(duì)應(yīng)于所述所檢測(cè)事件的所述頁(yè)相關(guān)聯(lián)的所述頁(yè)訪問(wèn)計(jì)數(shù)器,或替代性地如果與所述所檢測(cè)事件相關(guān)聯(lián)的所述類(lèi)型從將虛擬地址映射到與其相關(guān)聯(lián)的物理地址的數(shù)據(jù)結(jié)構(gòu)收回對(duì)應(yīng)于所述頁(yè)的條目,那么可重設(shè)所述頁(yè)訪問(wèn)計(jì)數(shù)器。
[0012]根據(jù)另一實(shí)施例,一種有效地利用處理器存儲(chǔ)器的設(shè)備可包括:用于監(jiān)視測(cè)量與第一存儲(chǔ)器中的頁(yè)和第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的利用的頁(yè)訪問(wèn)計(jì)數(shù)器的裝置,和用于基于所述所監(jiān)視頁(yè)訪問(wèn)計(jì)數(shù)器動(dòng)態(tài)地指派所述第一存儲(chǔ)器中的所述頁(yè)和所述第二存儲(chǔ)器中的所述頁(yè)的裝置。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,所述用于動(dòng)態(tài)地指派所述頁(yè)的裝置可包括:用于將具有高利用的與所述第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的內(nèi)容復(fù)制到所述第一存儲(chǔ)器的裝置、用于將具有低利用的與所述第一存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的內(nèi)容復(fù)制到所述第二存儲(chǔ)器的裝置,和用于基于所述復(fù)制改變對(duì)應(yīng)于所述動(dòng)態(tài)指派頁(yè)的虛擬地址與物理地址之間的映射的裝置。在一個(gè)實(shí)施例中,所述頁(yè)訪問(wèn)計(jì)數(shù)器可包括整合到頁(yè)表中的基于硬件計(jì)數(shù)器,所述頁(yè)表存儲(chǔ)與所述第一存儲(chǔ)器和所述第二存儲(chǔ)器中的所述頁(yè)相關(guān)聯(lián)的虛擬地址與物理地址之間的映射。此外,在一個(gè)實(shí)施例中,所述用于動(dòng)態(tài)地指派所述第一存儲(chǔ)器中的所述頁(yè)和所述第二存儲(chǔ)器中的所述頁(yè)的裝置包括內(nèi)核或操作系統(tǒng)例程。
[0013]根據(jù)另一實(shí)施例,一種其上記錄有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)媒體可用于有效地利用處理器存儲(chǔ)器,其中在處理器上執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令可致使所述處理器:監(jiān)視測(cè)量與第一存儲(chǔ)器中的頁(yè)和第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的利用的頁(yè)訪問(wèn)計(jì)數(shù)器,和基于所述所監(jiān)視頁(yè)訪問(wèn)計(jì)數(shù)器動(dòng)態(tài)地指派所述第一存儲(chǔ)器中的所述頁(yè)和所述第二存儲(chǔ)器中的所述頁(yè)。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,所述計(jì)算機(jī)可執(zhí)行指令可致使所述處理器:將具有高利用的與所述第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的內(nèi)容復(fù)制到所述第一存儲(chǔ)器、將具有低利用的與所述第一存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的內(nèi)容復(fù)制到所述第二存儲(chǔ)器,和基于所述復(fù)制改變對(duì)應(yīng)于所述動(dòng)態(tài)指派頁(yè)的虛擬地址與物理地址之間的映射以便動(dòng)態(tài)地指派所述第一存儲(chǔ)器和所述第二存儲(chǔ)器中的所述頁(yè)。在一個(gè)實(shí)施例中,所述計(jì)算機(jī)可執(zhí)行指令包括內(nèi)核或操作系統(tǒng)例程,且所述頁(yè)訪問(wèn)計(jì)數(shù)器可包括整合到頁(yè)表中的基于硬件計(jì)數(shù)器,所述頁(yè)表存儲(chǔ)與所述第一存儲(chǔ)器和所述第二存儲(chǔ)器中的所述頁(yè)相關(guān)聯(lián)的虛擬地址與物理地址之間的映射。
[0014]根據(jù)另一實(shí)施例,一種可有效地利用處理器存儲(chǔ)器的設(shè)備可尤其包括具有第一存儲(chǔ)器和第二存儲(chǔ)器的存儲(chǔ)器架構(gòu)和經(jīng)配置以執(zhí)行內(nèi)核或操作系統(tǒng)例程的處理器,所述例程致使所述處理器:監(jiān)視測(cè)量與所述第一存儲(chǔ)器中的頁(yè)和所述第二存儲(chǔ)器中的頁(yè)相關(guān)聯(lián)的利用的頁(yè)訪問(wèn)計(jì)數(shù)器,并基于所述所監(jiān)視頁(yè)訪問(wèn)計(jì)數(shù)器動(dòng)態(tài)地指派所述第一存儲(chǔ)器中的所述頁(yè)和所述第二存儲(chǔ)器中的所述頁(yè)。舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,所述內(nèi)核或操作系統(tǒng)例程可致使所述處理器:將來(lái)自所述第二存儲(chǔ)器中的具有高利用頁(yè)的內(nèi)容復(fù)制到所述第一存儲(chǔ)器,并將來(lái)自所述第一存儲(chǔ)器中的具有低利用頁(yè)的內(nèi)容復(fù)制到所述第二存儲(chǔ)器以便動(dòng)態(tài)地指派所述第一存儲(chǔ)器和所述第二存儲(chǔ)器中的所述頁(yè),其中可接著適當(dāng)改變對(duì)應(yīng)于所述動(dòng)態(tài)指派頁(yè)的虛擬地址與物理地址之間的映射。
[0015]基于隨附圖式和詳細(xì)描述,所屬領(lǐng)域的技術(shù)人員將顯而易見(jiàn)與相關(guān)于本文中所描述的處理器存儲(chǔ)器優(yōu)化的實(shí)施例相關(guān)聯(lián)的其它目標(biāo)和優(yōu)勢(shì)。
【附圖說(shuō)明】
[0016]呈現(xiàn)隨附圖式以輔助描述本文中所揭示的實(shí)施例,且僅僅提供所述隨附圖式以說(shuō)明與所揭示實(shí)施例相關(guān)聯(lián)的示范性特征而非定義其的任何限制。
[0017]圖1說(shuō)明根據(jù)一個(gè)示范性實(shí)施例的包含具有可實(shí)施本文中所描述的處理器存儲(chǔ)器優(yōu)化的存儲(chǔ)器架構(gòu)的移動(dòng)裝置的示范性無(wú)線通信系統(tǒng)。
[0018]圖2說(shuō)明根據(jù)一個(gè)示范性實(shí)施例的具有可實(shí)施本文中所描述的處理器存儲(chǔ)器優(yōu)化的存儲(chǔ)器架構(gòu)的示范性移動(dòng)裝置。
[0