專利名稱:可配置的翻譯旁視緩沖器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及翻譯旁視緩沖器。
背景技術(shù):
技術(shù)的進(jìn)步已產(chǎn)生體積較小且功能較強(qiáng)大的個人計(jì)算裝置。舉例來說,目前存在 多種便攜式個人計(jì)算裝置,包含無線計(jì)算裝置,例如便攜式無線電話、個人數(shù)字助理(PDA) 和尋呼裝置,其體積較小、重量較輕且容易被用戶攜帶。更具體地說,例如蜂窩式電話和IP 電話等便攜式無線電話可經(jīng)由無線網(wǎng)絡(luò)傳送語音和數(shù)據(jù)包。此外,許多此些無線電話包含 并入其中的其它類型的裝置。舉例來說,無線電話還可包含數(shù)字靜態(tài)相機(jī)、數(shù)字?jǐn)z像機(jī)、數(shù) 字記錄器和音頻文件播放器。而且,此些無線電話可處理可執(zhí)行指令,包含軟件應(yīng)用程序, 例如可用以接入因特網(wǎng)的網(wǎng)絡(luò)瀏覽器應(yīng)用程序。由此,這些無線電話可包含相當(dāng)大的計(jì)算 能力。在便攜式計(jì)算裝置處執(zhí)行的過程可使用虛擬地址來參考數(shù)據(jù)和指令,所述虛擬地 址必須被翻譯為物理地址以用于處理。翻譯旁視緩沖器(TLB)可存儲數(shù)據(jù)以用于將虛擬地 址快速地翻譯為物理地址,且可通過減少與翻譯虛擬地址相關(guān)聯(lián)的延遲來改進(jìn)應(yīng)用程序性 能。然而,功率消耗也可因TLB的操作而增加。增加的功率消耗可引起便攜式個人計(jì)算裝 置在需要電池更換或再充電之前的操作時間的對應(yīng)減少。
發(fā)明內(nèi)容
在一特定實(shí)施例中,揭示一種方法,其包含接收至少一個翻譯旁視緩沖器(TLB) 配置指示符。所述方法還包含響應(yīng)于所述TLB配置指示符的值而修改TLB的可搜索條目的 數(shù)目。在另一特定實(shí)施例中,揭示一種方法,其包含確定翻譯旁視緩沖器(TLB)未中率。 所述方法包含檢測所述TLB未中率超過閾值。所述方法進(jìn)一步包含在檢測到所述TLB未中 率已超過所述閾值之后發(fā)送增加TLB大小的指令。在另一特定實(shí)施例中,揭示一種系統(tǒng),所述系統(tǒng)包含翻譯旁視緩沖器(TLB)配置 位,其存儲在存儲器中。所述系統(tǒng)還包含TLB,所述TLB包含第一部分和第二部分。所述第 一部分是響應(yīng)于所述TLB配置位的值而選擇性地停用。在另一特定實(shí)施例中,揭示一種計(jì)算機(jī)可讀媒體。所述計(jì)算機(jī)可讀媒體包含配 置寄存器,其包含第一字段和第二字段。所述第二字段包含翻譯旁視緩沖器(TLB)配置值。 所述TLB配置值識別第一設(shè)定值或第二設(shè)定值。當(dāng)所述TLB配置值識別出所述第一設(shè)定值 時,所述TLB具有第一數(shù)目個可搜索條目,且當(dāng)所述值識別出所述第二設(shè)定值時,所述TLB 具有第二數(shù)目個可搜索條目。所揭示的實(shí)施例所提供的一個特定優(yōu)點(diǎn)是通過選擇性地停用若干可搜索TLB條 目而實(shí)現(xiàn)的減少的功率消耗。在審閱整個申請案之后將明了本發(fā)明的其它方面、優(yōu)點(diǎn)和特征,申請案包含以下部分
具體實(shí)施方式
和權(quán)利要求書。
圖1是包含可配置翻譯旁視緩沖器(TLB)的系統(tǒng)的特定說明性實(shí)施例的功能圖;圖2是包含可配置TLB的系統(tǒng)的第二說明性實(shí)施例的功能圖;圖3是配置TLB的方法的特定說明性實(shí)施例的流程圖;圖4是配置TLB的方法的第二說明性實(shí)施例的流程圖;以及圖5是包含可配置TLB的便攜式通信裝置的框圖。
具體實(shí)施例方式參看圖1,描繪包含可配置TLB的系統(tǒng)的特定說明性實(shí)施例,且概括表示為100。系 統(tǒng)100包含操作系統(tǒng)102、處理器104、中斷控制器106和軟件應(yīng)用程序108。操作系統(tǒng)102 響應(yīng)來自軟件應(yīng)用程序108的輸入和來自中斷控制器106的輸入。處理器104響應(yīng)操作系 統(tǒng)102,且提供中斷輸出,所述中斷輸出被提供給中斷控制器106。在特定實(shí)施例中,處理器104包含配置寄存器110,其包含多個配置字段,包含TLB 大小指示符112。處理器104還包含翻譯旁視緩沖器(TLB)大小選擇邏輯電路114,其響應(yīng) 配置寄存器110且響應(yīng)存儲器管理單元(MMU) 116。處理器104進(jìn)一步包含TLB118,其響應(yīng) TLB大小選擇邏輯電路114且響應(yīng)MMU 116。在特定實(shí)施例中,處理器104可操作以控制在TLB 118處可用的若干可搜索條目。 處理器104可經(jīng)配置以經(jīng)由信號126從操作系統(tǒng)102接收指令,且響應(yīng)于指令126而更新 TLB大小指示符112的值。TLB大小選擇邏輯114可適合于基于TLB大小指示符112的值 且基于從MMU 116接收到的輸入,向TLB118提供輸出。TLB 118包含至少兩個部分,例如第一部分120、第二部分122和第三部分124,如 所說明。在特定實(shí)施例中,TLB 118包含第一部分和第二部分。在另一實(shí)施例中,TLB 118 包含第一部分、第二部分、第三部分和第四部分。應(yīng)理解,TLB 118可包含多個部分,且可包 含四個以上部分,視特定應(yīng)用和系統(tǒng)設(shè)計(jì)約束而定。每一 TLB部分120到124包含一個或一個以上TLB條目,以存儲用于將虛擬地址 翻譯為物理地址的數(shù)據(jù)。在特定實(shí)施例中,TLB118是可編程軟件,使得TLB 118的條目中 的每一者可由軟件程序填充。另外,TLB部分120到124中的一者或一者以上經(jīng)配置以基 于TLB大小選擇邏輯電路114的輸出而選擇性地停用或啟用。在特定實(shí)施例中,處理器104 經(jīng)配置以在待翻譯的虛擬地址與被啟用的TLB部分120到124的任何條目不匹配時,將TLB 未中信號150發(fā)送到中斷控制器106。在特定實(shí)施例中,中斷控制器106適合于接收一個或一個以上TLB未中信號150, 且響應(yīng)于TLB未中信號中的每一者而起始中斷或異常處置。中斷控制器106可經(jīng)配置以響 應(yīng)于接收到的TLB未中信號150而將控制輸出142提供給操作系統(tǒng)102。在特定實(shí)施例中,操作系統(tǒng)102包含TLB大小模塊130,其可執(zhí)行以基于從一個或 一個以上軟件應(yīng)用程序108、從中斷控制器106或其任意組合接收到的數(shù)據(jù)而確定TLB118 的選定大小。TLB大小模塊130可包含TLB未中率評估模塊132,其可執(zhí)行以基于來自中斷 控制器106的提供TLB未中數(shù)據(jù)的控制輸出142而評估TLB未中率。在特定實(shí)施例中,操
5作系統(tǒng)102經(jīng)配置以基于所確定的TLB未中率而自動監(jiān)視和更新TLB 118的TLB大小、被 啟用的TLB部分120到124的數(shù)目或TLB條目的數(shù)目。在說明性實(shí)施例中,處理器104是交錯多線程管線式處理器。配置寄存器110和 TLBl 18可在處理器104的不同處理線程之間共享。操作系統(tǒng)102可適合于支持無線通信裝 置處的多線程處理。在特定實(shí)施例中,操作系統(tǒng)102是LINUX 型操作系統(tǒng)。在操作期間,操作系統(tǒng)102可從一個或一個以上軟件應(yīng)用程序108接收指定TLB 配置參數(shù)的一個或一個以上輸入140。作為說明性、非限制性實(shí)例,輸入140可指示每一軟 件應(yīng)用程序108所需或優(yōu)選的TLB條目的數(shù)目。操作系統(tǒng)102還可從中斷控制器106或另 一裝置接收TLB未中信息,且可在TLB未中率評估模塊132處確定TLB未中率。在TLB 118 接收到針對未存儲在TLB的可搜索條目處的虛擬地址的翻譯的查詢時發(fā)生的每一 TLB未中 均導(dǎo)致處理延遲,同時通過搜索頁表(未圖示)來定位對應(yīng)于特定虛擬地址的物理地址,且 接著將其加載到TLB118的條目中。TLB未中率可指示導(dǎo)致TLB未中的TLB查詢的百分比、 TLB未中與非TLB未中(即,TLB“命中”)的比率、每單位時間的TLB未中的數(shù)目或反映TLB 性能的其它信息。操作系統(tǒng)102可基于從軟件應(yīng)用程序108接收到的數(shù)據(jù)、TLB未中率數(shù)據(jù)或其任 意組合而在TLB大小模塊130處確定TLB大小設(shè)定值。在特定實(shí)施例中,操作系統(tǒng)102經(jīng) 由信號126將所確定的TLB大小設(shè)定值傳送到處理器104。舉例來說,在說明性實(shí)施例中,TLB大小模塊130從一個或一個以上軟件應(yīng)用程序 108接收對TLB條目的數(shù)目的指示,且可確定經(jīng)啟用以提供足夠數(shù)目的TLB條目供軟件應(yīng)用 程序108以可接受的因TLB未中而導(dǎo)致的少量處理延遲來執(zhí)行的TLB部分的數(shù)目。TLB大 小模塊130還可將從TLB未中率評估模塊132接收到的TLB未中率數(shù)據(jù)與一個或一個以上 閾值進(jìn)行比較。舉例來說,如果TLB未中率超過上部閾值,那么TLB大小模塊130可確定應(yīng) 啟用一個或一個以上額外TLB部分120到124以減小TLB未中率,且改進(jìn)處理性能。然而, 如果TLB未中率低于下部閾值,那么TLB大小模塊130可確定應(yīng)停用一個或一個以上TLB 部分120到124,以在不會因增加的TLB未中而使性能顯著降級的情況下減少功率消耗。在特定實(shí)施例中,由操作系統(tǒng)102產(chǎn)生的信號126包含用以設(shè)定TLB大小指示符 112的值的指令。在說明性實(shí)施例中,操作系統(tǒng)102指令處理器104遞增或遞減被啟用的 TLB部分120到124的數(shù)目。在另一實(shí)施例中,操作系統(tǒng)102指令處理器104啟用特定數(shù)目 的TLB部分120到124,或指定啟用特定的TLB部分120到124。在特定實(shí)施例中,操作系 統(tǒng)102指令處理器104將特定值寫入到TLB大小指示符112。作為說明性實(shí)例,在其中TLB 118僅包含兩個部分的實(shí)施例中,可總是啟用第一 TLB部分,且TLB大小指示符112可為單個位值。操作系統(tǒng)102可指令處理器104將邏輯 “1”值寫入到TLB大小指示符112,以停用第二 TLB部分,或?qū)⑦壿嫛?”值寫入到TLB大小 指示符112,以啟用第二 TLB部分。作為另一實(shí)例,在其中TLB 118包含兩個以上TLB部分 的實(shí)施例中,操作系統(tǒng)102可指令處理器104將值編程到TLB大小指示符112,所述值為待 啟用的TLB部分的數(shù)目的二進(jìn)制表示。為了說明,TLB大小指示符112可包含指示四個設(shè) 定值的兩個位,其中每一設(shè)定值與不同數(shù)目的被啟用TLB部分(且因此不同數(shù)目的可搜索 TLB條目)有關(guān)。作為另一實(shí)例,TLB大小指示符112可包含用于每一 TLB部分的專用位, 用于供操作系統(tǒng)102選擇性地啟用或停用特定TLB部分。
響應(yīng)于TLB大小指示符112的設(shè)定值,TLB大小選擇邏輯電路114將命令信號提 供給TLB 118?;趤碜訲LB大小選擇邏輯電路114的命令信號,且還基于來自MMU 116的 輸入,TLB 118經(jīng)配置以在操作期間使用所述TLB部分中的一者或一者以上,例如所指示的 TLB部分120到124。當(dāng)來自TLB大小選擇邏輯114的命令信號指示將使用少于全部的TLB 部分120到124時,TLB 118可使經(jīng)停用或未使用的TLB部分去活且任選地掉電,以節(jié)省處 理器104的功率和資源。在實(shí)施例中,可響應(yīng)于存儲在存儲器中的TLB配置位(例如存儲在配置寄存器110 中的TLB大小指示符112內(nèi)的一個或一個以上位)的值而選擇性地停用第一 TLB部分120。 處理器104包含響應(yīng)耦合到存儲器的輸入的邏輯元件,例如TLB大小選擇邏輯電路114。所 述邏輯元件具有耦合到TLB 118的輸出,且TLB部分120、122和124中的任一者可響應(yīng)于 邏輯元件的輸出而選擇性地停用。在特定實(shí)施例中,第一 TLB部分120可包含TLB 118中 的條目的一半。在另一實(shí)施例中,第一 TLB部分120可包含TLB 118中的條目的三分之一、 四分之一或任何其它部分。此外,第一 TLB部分120可與第二 TLB部分122具有相同大小 或不同大小。包含軟件應(yīng)用程序108的系統(tǒng)100可在各種操作模式中使用。在第一操作模式中, 軟件應(yīng)用程序108可僅需要單個TLB條目以用于執(zhí)行目的。在此第一操作模式中,軟件應(yīng) 用程序108可引導(dǎo)操作系統(tǒng)102設(shè)定配置寄存器110內(nèi)的TLB大小指示符112,使得僅使用 TLB 118中的單個條目(或單個部分)。在此第一操作模式中,軟件應(yīng)用程序108可正常執(zhí) 行,且TLB 118可以低功率且高效的方式使用,因?yàn)閮H利用TLB 118中的單個條目??山?jīng)配 置以使用TLB 118的單個條目的軟件應(yīng)用程序108的實(shí)例是運(yùn)動圖片專家組(MPEG)-I音 頻層3(MP3)型應(yīng)用程序。 在第二操作模式中,軟件應(yīng)用程序108可能需要多個TLB條目,且甚至可能要求利 用TLB 118的所有條目。在此第二操作模式中,啟用多個TLB條目,且可啟用所有TLB條目, 視軟件應(yīng)用程序108的性能要求而定。應(yīng)理解,軟件應(yīng)用程序108包含可由處理器104執(zhí) 行的程序代碼,且僅為了示范性和說明性目的而單獨(dú)說明軟件應(yīng)用程序108。參看圖2,描繪包含可配置TLB的系統(tǒng)的第二特定實(shí)施例,且將其概括表示為200。 在特定實(shí)施例中,系統(tǒng)200說明圖1的系統(tǒng)100的一部分。系統(tǒng)200包含翻譯旁視緩沖器 (TLB) 202、TLB配置指示符208、存儲器管理單元(MMU) 210、TLB配置邏輯212、輸出邏輯電 路214和功率邏輯電路216。TLB配置邏輯212經(jīng)耦合以接收來自TLB配置指示符208和 MMU 210的輸入。在特定實(shí)施例中,TLB配置指示符208是圖1的TLB大小指示符112。TLB 配置邏輯212經(jīng)耦合以將輸出控制信號提供給功率邏輯電路216且提供給TLB 202。TLB 202經(jīng)耦合以將多個輸出提供給輸出邏輯電路214,輸出邏輯電路214又經(jīng)配置以產(chǎn)生輸出 244。TLB 202包含第一代表性部分204和第二代表性部分206。第一代表性部分204 包含第一多個條目220。所述第一多個條目220中的每一者包含第一有效字段222、地址空 間識別符(ASID)字段224、虛擬頁號(VPN)字段226和物理頁號(PPN)字段228。類似地, TLB 202的第二代表性部分206包含第二多個條目234。第一代表性部分204還包含第一啟用輸入218,其響應(yīng)TLB配置邏輯212以選擇性 地啟用或停用對第一多個條目220的搜索。第二代表性部分206包含第二啟用輸入230,其響應(yīng)TLB配置邏輯212以選擇性地啟用或停用對第二多個條目234的搜索。另外,TLB 202的第二代表性部分206包含功率輸入232,其響應(yīng)功率邏輯電路216 以選擇性地激活或去活到達(dá)第二代表性部分206的功率。盡管未圖示,但在特定實(shí)施例中, 第一代表性部分204還可包含輸入,所述輸入響應(yīng)功率邏輯電路216以選擇性地激活或去 活到達(dá)TLB 202的第一代表性部分204的功率。輸出邏輯電路214包含選擇電路240和多路復(fù)用器242。多路復(fù)用器242響應(yīng)來 自TLB 202的多個輸出中的每一者。選擇電路240響應(yīng)TLB配置邏輯212,且控制多路復(fù)用 器242以選擇性地啟用TLB 202的選定條目作為所得輸出244。在操作期間,TLB配置邏輯212接收來自TLB配置指示符208和來自MMU 210的 輸入。TLB配置邏輯212基于所接收到的輸入而產(chǎn)生輸出信號,所述輸出信號被提供給第一 啟用輸入218、第二啟用輸入230、功率邏輯電路216和輸出邏輯電路214。TLB 202的一個或一個以上部分(例如所說明的部分204和206)可基于TLB配置 邏輯212的輸出信號而動態(tài)地啟用或停用。當(dāng)停用TLB部分204和206中的一者或一者以 上時,也可經(jīng)由功率邏輯電路216斷開到達(dá)所停用部分的功率,以進(jìn)一步節(jié)省功率資源。另 外,當(dāng)停用或去活TLB 202的一個或一個以上部分時,那些部分的輸出是無效的。因此,輸 出邏輯電路214內(nèi)的選擇電路240經(jīng)配置以通過經(jīng)由多路復(fù)用器242停用對經(jīng)去活部分的 選擇來控制多路復(fù)用器242屏蔽來自TLB 202的所停用部分的無效輸出信號,使得所得輸 出244只能傳播TLB 202的處于活動狀態(tài)的有效選定條目。由此,在特定實(shí)施例中,多路復(fù) 用器242響應(yīng)TLB 202的輸出,且還選擇TLB 202的響應(yīng)于如由TLB配置邏輯212指示的 配置寄存器內(nèi)的配置位設(shè)定值而啟用的輸出。在其中TLB 202的經(jīng)停用部分的輸出限于特 定值(例如邏輯“0”值或高阻抗?fàn)顟B(tài))的另一實(shí)施例中,輸出邏輯電路214可不包含響應(yīng) TLB配置邏輯212的選擇邏輯240,且可改為包含另一輸出選擇邏輯,例如經(jīng)配置以動態(tài)地 僅選擇TLB 202的活動輸出的節(jié)點(diǎn)。在特定說明性實(shí)施例中,第一代表性部分204包含32個條目220,且第二代表性 部分206包含32個條目234。TLB配置指示符208可經(jīng)配置以使得默認(rèn)的邏輯“0”值指示 將啟用所有64個TLB條目220和234用于搜索,且邏輯“ 1 ”值指示將僅啟用第一 32個條 目220 (第一部分204中的條目)用于搜索。MMU 210可經(jīng)配置以在將執(zhí)行TLB搜索時在 輸出250處提供邏輯“1”且否則提供邏輯“0”。TLB配置邏輯212可(例如)經(jīng)由“與”元 件的輸出而在MMU輸出250為“1”且TLB配置指示符208為“0”時產(chǎn)生為邏輯“1”的輸出 252,所述“與”元件使TLB配置指示符208耦合到反相輸入,且使MMU輸出250耦合到第二 輸入。在特定說明性實(shí)施例中,當(dāng)TLB配置指示符208從默認(rèn)“0”值(例如,64個可搜索 條目)復(fù)位到“1”(例如,32個可搜索條目)時,可執(zhí)行多個步驟以使得在停用第二代表性 部分206之前,將第二代表性部分206中的任何有效條目傳送到第一代表性部分204。舉 例來說,可將第二代表性部分206中的所有有效條目(例如在對應(yīng)的有效字段222中具有 “1”的那些條目)復(fù)制到第一代表性部分204的未使用條目。類似地,當(dāng)TLB配置指示符 208從“1”復(fù)位到“0”時,可將第二代表性部分206的條目234中的每一者的有效字段222 設(shè)定為“0”,以指示新啟用的條目無效。此些操作可由硬件、軟件或其任意組合來控制。參看圖3,描繪配置TLB的方法的特定說明性實(shí)施例,且將其概括表示為300。通過所述方法,在302處,接收至少一個翻譯旁視緩沖器(TLB)配置指示符。在特定實(shí)施例中, 在包含可配置TLB的處理器(例如圖1的處理器104)處接收TLB配置指示符。可在處理 器處從操作系統(tǒng)(例如圖1的操作系統(tǒng)102)接收TLB配置指示符。可響應(yīng)于TLB未中率 超過閾值、響應(yīng)于軟件應(yīng)用程序、響應(yīng)于與地址翻譯有關(guān)的一個或一個以上其它事件或者 其任意組合來確定TLB配置指示符。在特定實(shí)施例中,TLB配置指示符確定TLB是具有第 一數(shù)目個可用條目還是第二數(shù)目個可用條目。在304處,可基于TLB配置指示符的值而做出是增加還是減少可搜索TLB條目的 數(shù)目的確定。在特定實(shí)施例中,可通過將處理器配置寄存器的TLB大小字段的一個或一個 以上位值與當(dāng)前TLB配置進(jìn)行比較來做出所述確定。在說明性實(shí)施例中,所述確定可由圖 1的TLB大小選擇邏輯電路114做出。在特定實(shí)施例中,當(dāng)在決策步驟305處將增加可搜索TLB條目的數(shù)目時,在306 處,可啟用TLB的一部分以增加可搜索條目的數(shù)目。在特定實(shí)施例中,TLB的新啟用的部分 可存儲來自TLB部分被停用之前的先前操作時期的數(shù)據(jù),且因此新啟用的條目的數(shù)據(jù)可能 是不可靠的。因此在308處,可為TLB的經(jīng)啟用的部分中的條目中的每一者設(shè)定無效指示 符。在說明性實(shí)施例中,TLB可為圖2的TLB 202,且無效指示符可為存儲在每一 TLB條目 的有效字段222中的“0”位值?;蛘?,在決策步驟305處將減少可搜索TLB條目的數(shù)目的情況下,在310處,可停 用TLB的一部分以減少可搜索條目的數(shù)目。作為說明性實(shí)例,停用操作可包含在不使TLB 斷電的情況下使TLB的選定部分不可用于搜索。在另一實(shí)施例中,TLB的選定部分可在被 停用之后斷電。舉例來說,當(dāng)TLB大小將響應(yīng)于低TLB未中率而減小時,TLB的選定部分可 在一段時間內(nèi)保持停用,以確保在使TLB的所停用部分?jǐn)嚯娭?,新的TLB未中率是可接受 的。在另一實(shí)施例中,停用TLB的所述部分可包含使TLB的所述部分?jǐn)嚯?。在特定?shí)施例中,TLB的將被停用的部分可包含與一個或一個以上持續(xù)過程相關(guān) 聯(lián)的應(yīng)保留在TLB處的地址翻譯數(shù)據(jù)。數(shù)據(jù)可從TLB的被停用的部分的至少一個條目復(fù)制 到TLB的至少另一部分(如312處所示)。以此方式,來自TLB的所停用部分的數(shù)據(jù)可保存 以供未來使用。參看圖4,其描繪使用可配置TLB的方法的說明性實(shí)施例,且概括表示為400。在 特定實(shí)施例中,方法400可由圖1的操作系統(tǒng)102執(zhí)行。所述方法包含在402處確定TLB 未中率。在特定實(shí)施例中,TLB未中率是基于與TLB查詢的總數(shù)目相比的導(dǎo)致異常的所嘗 試TLB查詢的數(shù)目。在說明性實(shí)施例中,可使用來自中斷控制器的數(shù)據(jù)來確定TLB未中率, 所述中斷控制器接收響應(yīng)于TLB未中而產(chǎn)生的中斷。繼續(xù)到404,檢測到TLB未中率超過閾值。前進(jìn)到406,在檢測到TLB未中率已超 過閾值之后發(fā)送增加TLB大小的指令。在說明性實(shí)施例中,可將指令發(fā)送到包含可配置TLB 的處理器,例如圖1的處理器104。進(jìn)行到408,在特定實(shí)施例中,在配置寄存器處設(shè)定至少一個配置指示符以指示 TLB的被啟用部分的數(shù)目。在說明性實(shí)施例中,所述至少一個配置指示符包含TLB大小指示 符字段(例如圖1的TLB大小指示符字段112)的一個或一個以上位。可響應(yīng)于指令,例如 響應(yīng)于從圖1的操作系統(tǒng)102發(fā)送的信號126,而設(shè)定所述至少一個配置指示符。圖5說明包含可配置TLB且概括表示為520的便攜式通信裝置的示范性、非限制性實(shí)施例。如圖5所說明,便攜式通信裝置520包含芯片上系統(tǒng)522,其包含數(shù)字信號處理 器524和配置寄存器580。在特定說明性實(shí)施例中,配置寄存器580包含一個或一個以上指 示符,以確定翻譯旁視緩沖器(TLB) 590處的可搜索條目的數(shù)目。TLB 590包含多個TLB部 分,其可根據(jù)系統(tǒng)需求和功率使用考慮因素而選擇性地啟用或停用。在特定實(shí)施例中,配置 寄存器580和TLB 590可為數(shù)字信號處理器524的組件。在說明性實(shí)施例中,TLB 590和 配置寄存器580可大體上如相對于圖1的TLB 118和配置寄存器110而揭示的那樣操作。圖5還展示顯示器控制器526耦合到數(shù)字信號處理器524且耦合到顯示器528。 存儲器532也耦合到數(shù)字信號處理器524。另外,編碼器/解碼器(CODEC) 534可耦合到數(shù) 字信號處理器524。揚(yáng)聲器536和麥克風(fēng)538可耦合到CODEC 534。圖5還指示無線控制器540可耦合到數(shù)字信號處理器524且耦合到無線天線542。 在特定實(shí)施例中,輸入裝置530和電源544耦合到芯片上系統(tǒng)522。而且,在特定實(shí)施例中, 如圖5中所說明,顯示器528、輸入裝置530、揚(yáng)聲器536、麥克風(fēng)538、無線天線542和電源 544在芯片上系統(tǒng)522的外部。然而,顯示器528、輸入裝置530、揚(yáng)聲器536、麥克風(fēng)538、無 線天線542和電源544每一者均耦合到芯片上系統(tǒng)522的組件。在特定實(shí)施例中,數(shù)字信號處理器524利用交錯多線程來處理與程序線程相關(guān)聯(lián) 的指令,以執(zhí)行便攜式通信裝置520的各種組件所需的功能性和操作。舉例來說,當(dāng)經(jīng)由無 線天線542建立無線通信會話時,用戶可對著麥克風(fēng)538說話。表示用戶的語音的電子信 號可發(fā)送到CODEC 534以被編碼。數(shù)字信號處理器524可為CODEC 534執(zhí)行數(shù)據(jù)處理,以 編碼來自麥克風(fēng)的電子信號。此外,經(jīng)由無線天線542接收到的傳入信號可由無線控制器 540發(fā)送到CODEC 534以被解碼且發(fā)送到揚(yáng)聲器536。數(shù)字信號處理器524還可在解碼經(jīng) 由無線天線542接收到的信號時為CODEC 534執(zhí)行數(shù)據(jù)處理。此外,在無線通信會話之前、期間或之后,數(shù)字信號處理器524可處理從輸入裝置 530接收到的輸入。舉例來說,在無線通信會話期間,用戶可能正使用輸入裝置530和顯示 器528經(jīng)由嵌入在便攜式通信裝置520的存儲器532內(nèi)的網(wǎng)絡(luò)瀏覽器在因特網(wǎng)上沖浪。數(shù) 字信號處理器524可使輸入裝置530、顯示器控制器526、顯示器528、CODEC 534和無線控 制器540所使用的各種程序線程交錯,以高效地控制便攜式通信裝置520和其中的各種組 件的操作。與各種程序線程相關(guān)聯(lián)的指令中的許多指令是在一個或一個以上時鐘周期期間 同時執(zhí)行的。由此,因浪費(fèi)的時鐘周期而導(dǎo)致的功率和能量消耗得以實(shí)質(zhì)性減少。所屬領(lǐng)域的技術(shù)人員將進(jìn)一步了解,結(jié)合本文所揭示的實(shí)施例而描述的各種說明 性邏輯塊、配置、模塊、電路和算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了 清楚地說明硬件與軟件的這種可互換性,上文已大體上依據(jù)各種說明性組件、塊、配置、模 塊、電路和步驟的功能性而描述了各種說明性組件、塊、配置、模塊、電路和步驟。將此功能 性實(shí)施為硬件還是軟件取決于特定應(yīng)用和強(qiáng)加于整個系統(tǒng)的設(shè)計(jì)約束。熟練的技術(shù)人員可 針對每一特定應(yīng)用以不同方式來實(shí)施所描述的功能性,但此實(shí)施決策不應(yīng)被解釋為導(dǎo)致脫 離本發(fā)明的范圍。結(jié)合本文所揭示的實(shí)施例而描述的方法或算法的步驟可直接以硬件、以由處理器 執(zhí)行的軟件模塊或以上述兩者的組合的形式體現(xiàn)。軟件模塊可駐存在RAM存儲器、快閃存 儲器、ROM存儲器、PROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可裝卸盤、 CD-ROM或此項(xiàng)技術(shù)中已知的任何其它形式的存儲媒體中。示范性存儲媒體耦合到處理器,
10使得處理器可從存儲媒體讀取信息且將信息寫入到存儲媒體。在替代方案中,存儲媒體可 與處理器成一體式。處理器和存儲媒體可駐存在ASIC中。ASIC可駐存在計(jì)算裝置或用戶 終端中。在替代方案中,處理器和存儲媒體可作為離散組件駐存在計(jì)算裝置或用戶終端中。
提供對所揭示實(shí)施例的先前描述,以使所屬領(lǐng)域的技術(shù)人員能夠制作或使用所揭 示的實(shí)施例。對這些實(shí)施例的各種修改對所屬領(lǐng)域的技術(shù)人員來說將是顯而易見的,且在 不脫離本發(fā)明的精神或范圍的情況下,本文所定義的一般原理可適用于其它實(shí)施例。因此, 本發(fā)明無意限于本文所展示的實(shí)施例,而是將被賦予與所附權(quán)利要求書所界定的原理和新 穎特征一致的最寬可能范圍。
權(quán)利要求
一種方法,其包括接收至少一個翻譯旁視緩沖器(TLB)配置指示符;以及響應(yīng)于所述TLB配置指示符的值而修改TLB的可搜索條目的數(shù)目。
2.根據(jù)權(quán)利要求1所述的方法,其中從操作系統(tǒng)接收所述至少一個TLB配置指示符。
3.根據(jù)權(quán)利要求2所述的方法,其中響應(yīng)于TLB未中率超過閾值而確定所述至少一個 TLB配置指示符。
4.根據(jù)權(quán)利要求1所述的方法,其中所述至少一個TLB配置指示符包含配置寄存器中 的位。
5.根據(jù)權(quán)利要求1所述的方法,其中修改可搜索條目的所述數(shù)目包含啟用TLB的一部 分以增加可搜索條目的所述數(shù)目。
6.根據(jù)權(quán)利要求5所述的方法,其進(jìn)一步包括為所述TLB的被啟用的所述部分中的所 述可搜索條目中的每一者設(shè)定無效指示符。
7.根據(jù)權(quán)利要求1所述的方法,其中所述TLB配置指示符確定所述TLB是具有第一數(shù) 目個可用條目還是第二數(shù)目個可用條目。
8.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括 停用TLB的一部分以減少可搜索條目的所述數(shù)目。
9.根據(jù)權(quán)利要求8所述的方法,其進(jìn)一步包括將數(shù)據(jù)從所述TLB的被停用的所述部分的至少一個條目復(fù)制到所述TLB的至少另一部分。
10.根據(jù)權(quán)利要求8所述的方法,其進(jìn)一步包括使所述TLB的被停用的所述部分?jǐn)嚯姟?br>
11.一種方法,其包括確定翻譯旁視緩沖器(TLB)未中率; 檢測所述TLB未中率超過閾值;以及在檢測到所述TLB未中率已超過所述閾值之后發(fā)送增加TLB大小的指令。
12.根據(jù)權(quán)利要求11所述的方法,其中所述TLB未中率是基于與TLB查詢的總數(shù)目相 比的導(dǎo)致異常的所嘗試TLB查詢的數(shù)目。
13.根據(jù)權(quán)利要求11所述的方法,其進(jìn)一步包括在配置寄存器處設(shè)定至少一個配置指 示符以指示TLB的被啟用部分的數(shù)目。
14.一種計(jì)算機(jī)可讀媒體,其包括配置寄存器,其包含翻譯旁視緩沖器(TLB)配置字段,所述TLB配置字段包含TLB配置值;其中所述TLB配置值識別第一設(shè)定值或第二設(shè)定值,且其中當(dāng)所述TLB配置值識別出 所述第一設(shè)定值時,所述TLB具有第一數(shù)目個可搜索條目,且當(dāng)所述值識別出所述第二設(shè) 定值時,所述TLB具有第二數(shù)目個可搜索條目,所述第二數(shù)目不同于所述第一數(shù)目。
15.根據(jù)權(quán)利要求14所述的媒體,其中所述TLB配置字段可由處理器在軟件控制下編程。
16.根據(jù)權(quán)利要求15所述的媒體,其中所述軟件控制由操作系統(tǒng)執(zhí)行。
17.根據(jù)權(quán)利要求14所述的媒體,其中所述TLB配置字段具有至少兩個位,且其中所述 值經(jīng)配置以進(jìn)一步識別第三設(shè)定值或第四設(shè)定值,所述第三設(shè)定值與所述TLB的第三部分有關(guān),且所述第四設(shè)定值與所述TLB的第四部分有關(guān)。
18.一種系統(tǒng),其包括翻譯旁視緩沖器(TLB)配置位,其存儲在存儲器中;TLB,其包含第一部分和第二部分,其中所述第一部分響應(yīng)于所述TLB配置位的值而被 選擇性地停用。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其進(jìn)一步包括響應(yīng)所述存儲器的邏輯元件,所述邏 輯元件具有耦合到所述TLB的輸出,其中所述第一部分響應(yīng)于所述邏輯元件的所述輸出而 被選擇性地停用。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述邏輯元件進(jìn)一步響應(yīng)存儲器管理單元控制信號。
21.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述第一部分包含所述TLB中的條目的一半。
22.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述第一部分包含與所述第二部分不同數(shù)目的 條目。
23.根據(jù)權(quán)利要求18所述的系統(tǒng),其進(jìn)一步包括響應(yīng)所述TLB的輸出的多路復(fù)用器,且 其中所述多路復(fù)用器選擇響應(yīng)于TLB配置位設(shè)定值而啟用的那些輸出。
24.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述TLB中的多個條目由軟件程序填充。
25.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述TLB并入經(jīng)配置以執(zhí)行軟件應(yīng)用程序的處 理器內(nèi),且其中所述軟件應(yīng)用程序具有使用第一數(shù)目個TLB條目的第一操作模式,TLB條目 的所述第一數(shù)目小于所述TLB的所述第一部分中的條目數(shù)目。
全文摘要
本發(fā)明包含一種配置翻譯旁視緩沖器(TLB)的方法和系統(tǒng)。在一實(shí)施例中,所述TLB包含第一部分和第二部分。所述第一部分或所述第二部分可響應(yīng)于TLB配置指示符的值而被選擇性地停用。
文檔編號G06F12/10GK101896892SQ200880120600
公開日2010年11月24日 申請日期2008年11月7日 優(yōu)先權(quán)日2007年11月7日
發(fā)明者保羅·巴塞特, 盧奇安·科德雷斯庫, 埃里克·普隆德克, 阿賈伊·阿南特·英格爾 申請人:高通股份有限公司