国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      地址轉(zhuǎn)換方法和設(shè)備的制作方法

      文檔序號(hào):6476391閱讀:238來源:國知局
      專利名稱:地址轉(zhuǎn)換方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明大體上涉及地址轉(zhuǎn)換,且特定來說,涉及轉(zhuǎn)換產(chǎn)生存儲(chǔ)器頁邊界跨越情況的 虛擬地址。
      背景技術(shù)
      虛擬存儲(chǔ)器是借以可能將非連續(xù)物理存儲(chǔ)器(物理地址空間)作為連續(xù)存儲(chǔ)器(虛 擬地址空間)呈現(xiàn)給進(jìn)程(軟件)的存儲(chǔ)器管理技術(shù)。即使所分配的物理存儲(chǔ)器并不 總是被循序地組織的(乃至在相同媒體中,例如,SDRAM和ROM),但由于其處理連 續(xù)的虛擬地址空間,因此進(jìn)程將存儲(chǔ)器視作線性序列。另外,程序通常不知道物理存儲(chǔ) 器如何被分配。而是,處理器或其它裝置常規(guī)上管理虛擬存儲(chǔ)器分配。
      存儲(chǔ)器管理將物理存儲(chǔ)器劃分為多個(gè)頁(或區(qū)段)且提供虛擬地址到實(shí)際物理存儲(chǔ) 器頁上的映射,所述映射對(duì)于存取存儲(chǔ)器的過程是透明的。過程僅觀察虛擬地址空間, 而物理地址空間為對(duì)應(yīng)數(shù)據(jù)實(shí)際上駐存于存儲(chǔ)器中的地方。處理器常規(guī)上使用地址轉(zhuǎn)換 將虛擬地址空間映射到物理地址空間上。地址轉(zhuǎn)換涉及基于給定虛擬地址查找物理地 址。虛擬地址常規(guī)上被劃分為至少兩部分虛擬頁號(hào)和頁偏移。虛擬頁號(hào)識(shí)別虛擬存儲(chǔ) 器的特定頁。頁偏移識(shí)別頁內(nèi)的所要區(qū)域(或塊)。
      主存儲(chǔ)器中所維持的頁表常規(guī)上存儲(chǔ)虛擬頁號(hào)和對(duì)應(yīng)物理頁號(hào)的列表。使用虛擬地 址的虛擬頁號(hào)部分來搜索頁表。如果虛擬頁號(hào)與頁表中的條目匹配,則從表檢索對(duì)應(yīng)的 物理頁號(hào)。否則,出現(xiàn)頁表錯(cuò)誤。所檢索的物理頁號(hào)與頁偏移一起形成用于從存儲(chǔ)器檢 索信息的物理地址。頁號(hào)識(shí)別物理存儲(chǔ)器的適當(dāng)頁。隨后使用頁偏移來存取頁內(nèi)的所要 存儲(chǔ)器區(qū)域。
      為了改進(jìn)性能,頻繁存取的頁表?xiàng)l目在本地存儲(chǔ)到處理器,例如,轉(zhuǎn)換旁視緩沖器 (TLB)中。TLB可支持單級(jí)本地高速緩沖存儲(chǔ)器或多個(gè)高速緩沖存儲(chǔ)器級(jí),例如,一 級(jí)指令和數(shù)據(jù)高速緩沖存儲(chǔ)器和二級(jí)高速緩沖存儲(chǔ)器。在任何情況下,TLB以與頁表執(zhí) 行的方式大致相同的方式執(zhí)行地址轉(zhuǎn)換。如果在使用虛擬頁號(hào)的TLB查找期間出現(xiàn)匹 配,則從TLB檢索對(duì)應(yīng)的物理頁號(hào)且與頁偏移一起提供到物理標(biāo)記的高速緩沖存儲(chǔ)器。 如果物理地址在高速緩沖存儲(chǔ)器中命中,則從高速緩沖存儲(chǔ)器檢索對(duì)應(yīng)于物理地址的高速緩沖存儲(chǔ)器線。否則,可出現(xiàn)較高級(jí)高速緩沖存儲(chǔ)器査找。
      虛擬存儲(chǔ)器使得程序能夠執(zhí)行而不需要其全部地址空間駐存于物理存儲(chǔ)器中。因 此,可使用比實(shí)際所需少的物理存儲(chǔ)器來執(zhí)行程序。此外,由于每一程序的虛擬地址空 間可獨(dú)立地映射到物理存儲(chǔ)器的專門分配到那個(gè)程序的一個(gè)或一個(gè)以上頁,因此虛擬存 儲(chǔ)器使程序彼此隔離。而且,由于應(yīng)用程序不對(duì)存儲(chǔ)器管理負(fù)責(zé),因此簡化了應(yīng)用程序。 然而,某些類型的存儲(chǔ)器存取需要額外的地址轉(zhuǎn)換處理以成功地完成。
      舉例來說,當(dāng)出現(xiàn)未對(duì)準(zhǔn)的存儲(chǔ)器存取時(shí),所要字部分位于一個(gè)存儲(chǔ)器行中且部分 位于另一存儲(chǔ)器行中。如果兩行被分配到不同存儲(chǔ)器頁,則出現(xiàn)頁邊界跨越。參考存儲(chǔ) 器中的跨越兩個(gè)存儲(chǔ)器頁之間的邊界的區(qū)域的指令常規(guī)上被復(fù)制且以兩部分執(zhí)行。經(jīng)復(fù) 制指令的第一頁片基于與第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址完成執(zhí)行,且經(jīng)復(fù)制指令的第 二頁片基于與第二存儲(chǔ)器頁相關(guān)聯(lián)的地址完成執(zhí)行。因此,通過復(fù)制指令單獨(dú)存取不同 存儲(chǔ)器頁。
      常規(guī)上需要多個(gè)地址轉(zhuǎn)換以獲得與不同存儲(chǔ)器頁相關(guān)聯(lián)的物理存儲(chǔ)器地址。執(zhí)行第 一地址轉(zhuǎn)換以檢索與第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址且執(zhí)行第二地址轉(zhuǎn)換以檢索與第 二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址。產(chǎn)生邊界跨越情況的指令所需的額外地址轉(zhuǎn)換處理降低 了處理器性能且增加了功率消耗,尤其在需要存取主存儲(chǔ)器中所維持的頁表時(shí)。

      發(fā)明內(nèi)容
      根據(jù)本文中所教示的方法和設(shè)備,通過識(shí)別引起存儲(chǔ)器中的不同頁之間的邊界跨越 的虛擬或物理地址來改進(jìn)處理器內(nèi)的地址轉(zhuǎn)換性能。即,如果指令將引起也跨越頁邊界 的未對(duì)準(zhǔn)的存儲(chǔ)器存取,則識(shí)別指令。當(dāng)辨識(shí)此情況時(shí),將與兩個(gè)存儲(chǔ)器頁相關(guān)聯(lián)的地
      址轉(zhuǎn)換信息鏈接在一起且存儲(chǔ)于處理器內(nèi)??身憫?yīng)于隨后存取存儲(chǔ)器中的相同跨頁區(qū)域 而使用單一地址轉(zhuǎn)換來獲得與兩個(gè)頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息。因此,避免多個(gè)地址轉(zhuǎn)換。
      根據(jù)處理器的一個(gè)實(shí)施例,所述處理器包含經(jīng)配置以辨識(shí)對(duì)存儲(chǔ)器中的跨越第一存 儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界的區(qū)域的存取的電路。所述電路還經(jīng)配置以鏈接與 第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息。因此,響應(yīng)于對(duì)相同存儲(chǔ)器區(qū)域 的后續(xù)存取,可基于單一地址轉(zhuǎn)換來檢索與第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址 轉(zhuǎn)換信息。
      當(dāng)隨后存取存儲(chǔ)器中的相同區(qū)域時(shí),處理器電路辨識(shí)對(duì)應(yīng)指令且將由指令呈現(xiàn)的虛 擬地址轉(zhuǎn)換為與第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址。電路基于將虛擬地址鏈接到與第二存 儲(chǔ)器頁相關(guān)聯(lián)的物理地址的先前所建立信息來檢索與第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址。因此,基于單一地址轉(zhuǎn)換來檢索與第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信 息。
      當(dāng)然,本發(fā)明不限于以上特征和優(yōu)點(diǎn)。所屬領(lǐng)域的技術(shù)人員在閱讀詳細(xì)描述且在觀 看附圖后將認(rèn)識(shí)到額外特征和優(yōu)點(diǎn)。


      圖1為說明具有用于在地址轉(zhuǎn)換期間跟蹤頁邊界跨越的電路的處理器的實(shí)施例的框圖。
      圖2為說明圖1的跨頁跟蹤電路的一個(gè)實(shí)施例的框圖。
      圖3為說明用于將地址轉(zhuǎn)換信息存儲(chǔ)于圖1的跨頁跟蹤電路中的程序邏輯的實(shí)施例 的邏輯流程圖。
      圖4為說明用于從圖1的跨頁跟蹤電路檢索地址轉(zhuǎn)換信息的程序邏輯的實(shí)施例的邏 輯流程圖。
      圖5為說明圖1的跨頁跟蹤電路的另一實(shí)施例的框圖。
      具體實(shí)施例方式
      圖1說明處理器10的實(shí)施例,處理器IO包括指令單元12、執(zhí)行單元14、數(shù)據(jù)高 速緩沖存儲(chǔ)器16和指令高速緩沖存儲(chǔ)器18、 二級(jí)高速緩沖存儲(chǔ)器20和總線接口單元 22。指令單元12將指令流的集中控制提供到執(zhí)行單元14。執(zhí)行單元14執(zhí)行由指令單元 12派遣的指令,其包括將信息加載并存儲(chǔ)于數(shù)據(jù)高速緩沖存儲(chǔ)器16中。數(shù)據(jù)高速緩沖 存儲(chǔ)器16和指令高速緩沖存儲(chǔ)器18分別存儲(chǔ)數(shù)據(jù)和指令。L2高速緩沖存儲(chǔ)器20在數(shù) 據(jù)高速緩沖存儲(chǔ)器16和指令高速緩沖存儲(chǔ)器18與處理器外部的主存儲(chǔ)器(例如DRAM 24)和/或一個(gè)或一個(gè)以上硬盤驅(qū)動(dòng)器(HDD) 26之間提供高速存儲(chǔ)器緩沖器。總線接 口單元22提供用于在處理器10與處理器外部的裝置(例如外圍裝置28和主存儲(chǔ)器) 之間傳遞數(shù)據(jù)、指令、地址和控制信號(hào)的機(jī)構(gòu)。
      主存儲(chǔ)器被表示為處理器10上運(yùn)行的程序的虛擬存儲(chǔ)器。g卩,主存儲(chǔ)器的頁被分 配為虛擬存儲(chǔ)器以供程序執(zhí)行期間由程序使用。存儲(chǔ)器管理將物理存儲(chǔ)器劃分為多個(gè) 頁,且提供虛擬地址到物理存儲(chǔ)器頁上的映射,其對(duì)于存取存儲(chǔ)器的程序是透明的。頁 表(未圖示)維持在主存儲(chǔ)器中以用于實(shí)現(xiàn)虛擬存儲(chǔ)器地址與物理存儲(chǔ)器地址之間的映 射。存儲(chǔ)器管理單元(MMU) 30或包括于處理器10中的類似裝置將頻繁或最近參考的 頁表?xiàng)l目維持在處理器IO本地處以用于改進(jìn)地址轉(zhuǎn)換性能。為此,包括于MMU 30中或與MMU 30相關(guān)聯(lián)的轉(zhuǎn)換旁視緩沖器(TLB) 32存儲(chǔ) 最頻繁或最近存取的頁表?xiàng)l目。由TLB 32在處理器10內(nèi)在本地執(zhí)行地址轉(zhuǎn)換。如果 TLB條目與給定虛擬頁號(hào)匹配,則TLB 32提供對(duì)應(yīng)的物理頁號(hào)。否則,經(jīng)由維持于主 存儲(chǔ)器中的頁表通常由操作系統(tǒng)軟件來執(zhí)行較高級(jí)地址轉(zhuǎn)換。包括于MMU 30中或與 MMU 30相關(guān)聯(lián)的跨頁跟蹤器34通過減少經(jīng)執(zhí)行以協(xié)調(diào)跨越存儲(chǔ)器頁邊界的未對(duì)準(zhǔn)的 存儲(chǔ)器存取的地址轉(zhuǎn)換數(shù)目來改進(jìn)地址轉(zhuǎn)換性能。
      跨頁跟蹤器34存儲(chǔ)與產(chǎn)生頁邊界跨越情況的一個(gè)或一個(gè)以上虛擬地址或物理地址 相關(guān)聯(lián)的地址轉(zhuǎn)換信息。即,如果由處理器10執(zhí)行的指令參考跨越兩個(gè)物理存儲(chǔ)器頁 之間的邊界的存儲(chǔ)器區(qū)域,則跨頁跟蹤器34存儲(chǔ)與第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信 息,例如,識(shí)別第二存儲(chǔ)器頁的物理地址或頁號(hào)和到虛擬地址的鏈接。由此,如果后續(xù) 指令參考相同地址,則跨頁跟蹤器34能夠辨識(shí)地址且提供對(duì)應(yīng)的物理地址信息。因此, TLB 32僅執(zhí)行一個(gè)地址轉(zhuǎn)換以檢索與第一存儲(chǔ)器頁相關(guān)聯(lián)的物理頁號(hào)。從跨頁跟蹤器 34非轉(zhuǎn)換地檢索與第二存儲(chǔ)器頁相關(guān)聯(lián)的物理頁號(hào)。BP,從跨頁跟蹤器34檢索與第二 存儲(chǔ)器頁相關(guān)聯(lián)的物理頁號(hào)來取代必須執(zhí)行第二地址轉(zhuǎn)換。指令基于各自物理地址而被 復(fù)制且以兩部分執(zhí)行。如果指令促使若干高速緩沖存儲(chǔ)器線在高速緩沖存儲(chǔ)器16、 18、 22中的一者中跨越,則可多次復(fù)制指令。
      圖2說明跨頁跟蹤器34和包括于處理器IO中的若干負(fù)載存儲(chǔ)單元級(jí)(即,執(zhí)行單 元14中的-一者)的--個(gè)實(shí)施例。根據(jù)此實(shí)施例,跨頁跟蹤器34包含用于存儲(chǔ)與產(chǎn)生頁 邊界跨越情況的地址相關(guān)聯(lián)的地址轉(zhuǎn)換信息的寄存器?;蛘?,跨頁跟蹤器34可為具有 多個(gè)條目的表??傊?,跨頁跟蹤器34通過存儲(chǔ)與引起頁邊界跨越的至少一個(gè)虛擬或物 理地址相關(guān)聯(lián)的地址轉(zhuǎn)換信息來減少地址轉(zhuǎn)換處理。
      接下來參考圖3的程序邏輯和由最初不與TLB 32中的任何條目匹配的指令所呈現(xiàn) 的虛擬地址來描述跨頁跟蹤器34的操作。因而,執(zhí)行較高級(jí)地址轉(zhuǎn)換以獲得對(duì)應(yīng)于虛 擬地址的物理地址。更詳細(xì)來說,虛擬地址可包含虛擬頁號(hào)和偏移。虛擬頁號(hào)識(shí)別特定 虛擬存儲(chǔ)器頁,而頁偏移識(shí)別頁內(nèi)的位置。由于在此實(shí)例中最初不存在匹配的TLB條目, 因此一級(jí)地址轉(zhuǎn)換級(jí)36指示需要較高級(jí)地址轉(zhuǎn)換,例如,如由圖3的塊100說明。較 高級(jí)地址轉(zhuǎn)換級(jí)38 (例如)通過存取包括于處理器10中的較高級(jí)TLB (未圖示)或維 持于主存儲(chǔ)器中的頁表來請(qǐng)求虛擬地址的轉(zhuǎn)換??傊罱K獲得與虛擬地址相關(guān)聯(lián)的物 理地址。
      地址轉(zhuǎn)換信息存儲(chǔ)于TLB條目中,例如,如由圖3的塊102說明。由此,在隨后請(qǐng) 求相同虛擬地址的情況下,可更易得到地址轉(zhuǎn)換信息。在一個(gè)實(shí)施例中,例如多路復(fù)用器電路等物理地址選擇級(jí)40或已知虛擬地址的任何其它級(jí)還確定虛擬地址是否轉(zhuǎn)換到 跨越兩個(gè)頁之間的邊界的物理存儲(chǔ)器區(qū)域,例如,如由圖3的塊104說明。舉例來說, 將虛擬地址的頁偏移部分與存儲(chǔ)器頁大小設(shè)置進(jìn)行比較以確定是否將出現(xiàn)頁邊界跨越。 如果地址轉(zhuǎn)換到位于單個(gè)存儲(chǔ)器頁內(nèi)的存儲(chǔ)器區(qū)域,則基于所轉(zhuǎn)換的物理地址完成指令 執(zhí)行,例如,如由圖3的塊106說明。舉例來說,高速緩沖存儲(chǔ)器存取級(jí)42確定數(shù)據(jù) 高速緩沖存儲(chǔ)器16或L2高速緩沖存儲(chǔ)器20是否含有由物理地址標(biāo)記的線,且如果不 含有,則從外部存儲(chǔ)器檢索所述線。
      然而,如果虛擬地址參考橫跨多個(gè)存儲(chǔ)器頁的存儲(chǔ)器區(qū)域,則指令復(fù)制級(jí)44復(fù)制 指令,例如,如由圖3的塊108說明。舉例來說,如果地址參考具有位于一個(gè)物理存儲(chǔ) 器頁中的四個(gè)字節(jié)和位于另一頁中的四個(gè)字節(jié)的四倍長字,則先前所轉(zhuǎn)換的物理地址用 于檢索駐存于第一存儲(chǔ)器頁中的四個(gè)字節(jié)。為了檢索位于第二存儲(chǔ)器頁中的四個(gè)字節(jié), 由較高級(jí)地址轉(zhuǎn)換級(jí)38來獲得識(shí)別第二頁的物理地址,例如,如由圖3的塊110說明。 所復(fù)制指令的第一頁片基于識(shí)別第一存儲(chǔ)器頁的物理地址來完成執(zhí)行,例如,如由圖3 的塊112說明。所復(fù)制指令的第二頁片基于識(shí)別第二存儲(chǔ)器頁的物理地址來完成執(zhí)行, 例如,如由圖3的塊114說明。寫回級(jí)46確保指令執(zhí)行結(jié)果的適當(dāng)存儲(chǔ)。
      由于檢測到頁邊界跨越,因此存儲(chǔ)針對(duì)第二存儲(chǔ)器頁而獲得的地址轉(zhuǎn)換信息以用于 隨后使用。然而,不再將信息存儲(chǔ)于不同的TLB條目中,將其存儲(chǔ)于跨頁跟蹤器34的 物理地址字段48中,例如,如由圖3的塊116說明。此外,指示符值存儲(chǔ)于指示符字 段50中。指示符值將含有第二頁的地址轉(zhuǎn)換信息的跨頁跟蹤器條目鏈接到含有第一頁 的地址轉(zhuǎn)換信息的TLB條目。
      在一個(gè)實(shí)施例中,指示符字段50存儲(chǔ)含有與第一存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息 的TLB條目的索引值。在另一實(shí)施例中,指示符字段50存儲(chǔ)與第一存儲(chǔ)器頁相關(guān)聯(lián)的 物理地址或頁號(hào)。在又一實(shí)施例中,指示符字段50存儲(chǔ)產(chǎn)生邊界跨越情況的虛擬地址。 所屬領(lǐng)域的技術(shù)人員將容易認(rèn)識(shí)到廣泛多種值可存儲(chǔ)于指示符字段50中以鏈接物理地 址信息48與和第一存儲(chǔ)器頁相關(guān)聯(lián)的TLB條目。另外,指令復(fù)制級(jí)44替代于物理地址 選擇級(jí)40而可(例如)通過識(shí)別引起頁邊界跨越的物理地址來識(shí)別頁邊界跨越。無論 如何,如果隨后存取存儲(chǔ)器中的相同區(qū)域,則跨頁跟蹤器34通過檢查指示符字段50來 辨識(shí)邊界跨越情況。作為響應(yīng),跟蹤器34提供與第二頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息。
      接下來參考圖4的程序邏輯和呈現(xiàn)引起了先前所論述的邊界跨越情況的相同虛擬地 址的后續(xù)指令來描述跨頁跟蹤器34的操作。因?yàn)樵诖藢?shí)例中TLB32含有匹配的條目, 所以由TLB 32提供與虛擬地址相關(guān)聯(lián)的物理地址或頁號(hào),例如,如由圖4的塊200說明。物理地址選擇級(jí)40確定虛擬地址是否參考存儲(chǔ)器中的跨越頁邊界的區(qū)域,例如, 如由圖4的塊202說明。或者,指令復(fù)制級(jí)44確定對(duì)應(yīng)的物理地址是否引起頁邊界跨 越情況。無論如何,如果未檢測到邊界跨越情況,則指令基于由TLB 32提供的物理地 址信息來完成執(zhí)行,例如,如由圖4的塊204說明。
      然而,在本實(shí)例中,已知虛擬地址引起第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界 跨越。因此,如先前所述復(fù)制指令,例如,如由圖4的塊206說明。另外,檢査跨頁跟 蹤器34的指示符字段50以確定是否已形成與虛擬地址的鏈接。在一個(gè)實(shí)施例中,將匹 配的TLB條目索引與存儲(chǔ)于指示符字段50中的一個(gè)或一個(gè)以上值進(jìn)行比較。在另一實(shí) 施例中,將由TLB 32提供的虛擬地址或?qū)?yīng)的物理地址(或頁號(hào))與存儲(chǔ)于指示符字 段50中的一個(gè)或一個(gè)以上地址值進(jìn)行比較。
      無論如何,存儲(chǔ)于指示符字段50中的信息指示跟蹤器34是否含有所要物理地址信 息。除非有效字段52指示條目無效,否則從跨頁跟蹤器34中檢索與第二頁相關(guān)聯(lián)的物 理地址信息,例如,如由圖4的塊208說明。當(dāng)TLB中的對(duì)應(yīng)條目無效時(shí),有效字段 52指示無效。
      所復(fù)制指令的第一頁片基于如由TLB 32提供的識(shí)別第一存儲(chǔ)器頁的物理地址來完 成執(zhí)行,例如,如由圖4的塊210說明。所復(fù)制指令的第二頁片基于如從跨頁跟蹤器34 中檢索的識(shí)別第二存儲(chǔ)器頁的物理地址來完成執(zhí)行,例如,如由圖4的塊212說明。當(dāng) 跨頁跟蹤器34含有用于第二頁的地址轉(zhuǎn)換信息時(shí),電路(未圖示)防止后續(xù)地址轉(zhuǎn)換 的發(fā)生。因此,當(dāng)跨頁跟蹤器34辨識(shí)頁邊界跨越情況時(shí)僅執(zhí)行單一地址轉(zhuǎn)換。
      圖5說明跨頁跟蹤器34的另一實(shí)施例。根據(jù)此實(shí)施例,跟蹤器34經(jīng)實(shí)施為TLB 32 的部分。TLB32中的每一條目具有有效字段54、指示符字段56、索引58、標(biāo)記字段60 和兩個(gè)物理地址字段62和64。標(biāo)記字段60存儲(chǔ)其物理地址信息由TLB 32維持的那些 虛擬地址的虛擬地址(或頁號(hào))。因而,在TLB存取期間搜索標(biāo)記字段60以確定匹配給 定虛擬地址的記錄是否存儲(chǔ)于TLB 32中。
      第一物理地址字段62含有對(duì)應(yīng)于具有由TLB 32維持的記錄的每一虛擬地址的物理 地址信息(例如完整地址或物理頁號(hào))。如果已知特定虛擬地址引起兩個(gè)存儲(chǔ)器頁之間 的邊界跨越,則第二物理地址字段64含有與第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息。當(dāng) 對(duì)應(yīng)的TLB條目與產(chǎn)生邊界跨越情況的虛擬地址相關(guān)聯(lián)時(shí),指示符字段56含有鏈接兩 個(gè)物理地址字段62和64的一個(gè)或一個(gè)以上位。
      接下來參考由最初不與TLB 32中的任何條目匹配的指令所呈現(xiàn)的虛擬地址來描述 被實(shí)施為TLB 32的部分的跨頁跟蹤器34的操作。執(zhí)行較高級(jí)地址轉(zhuǎn)換以獲得對(duì)應(yīng)于虛擬地址的物理地址,例如,如由圖3的塊100說明。用轉(zhuǎn)換結(jié)果更新對(duì)應(yīng)的TLB條目中 的物理地址字段62,例如,如由圖3的塊102說明。如果物理地址選擇級(jí)40確定虛擬 地址將在存儲(chǔ)器存取期間引起兩個(gè)存儲(chǔ)器頁之間的邊界跨越,則執(zhí)行第二較高級(jí)地址轉(zhuǎn) 換?;蛘?,指令復(fù)制級(jí)44可基于對(duì)應(yīng)的物理地址來檢測頁邊界跨越情況。無論如何, 在第二較高級(jí)地址轉(zhuǎn)換期間獲得識(shí)別第二存儲(chǔ)器頁的物理地址,例如,如由圖3的塊110 說明。由此,兩個(gè)頁的物理地址信息可用于完成指令執(zhí)行。
      如先前所述復(fù)制指令且使用兩個(gè)物理存儲(chǔ)器地址來完成執(zhí)行,例如,如由圖3的塊 108、 112和114說明。此外,與第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息存儲(chǔ)于含有與第一 頁相關(guān)聯(lián)的物理地址信息的相同TLB條目中,例如,如由圖3的塊116說明。艮P,在相 同TLB條目中,與第一頁相關(guān)聯(lián)的物理地址信息存儲(chǔ)于第一地址字段62中且與第二頁 相關(guān)聯(lián)的物理地址信息存儲(chǔ)于第二地址字段64中。設(shè)置TLB條目中的指示符字段56 以指示兩個(gè)物理地址經(jīng)鏈接且與產(chǎn)生頁邊界跨越情況的虛擬地址相關(guān)聯(lián)。由此,如果后 續(xù)指令參考相同的虛擬或物理地址,則僅需要單一地址轉(zhuǎn)換來獲得與第一存儲(chǔ)器頁和第 二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息。
      接下來參考存取產(chǎn)生了先前所描述的邊界跨越情況的相同虛擬地址的后續(xù)指令來 描述被實(shí)施為TLB32的部分的跨頁跟蹤器34的操作。當(dāng)存取TLB32時(shí),通過將虛擬 地址與存儲(chǔ)于TLB 32中的標(biāo)記值進(jìn)行比較來識(shí)別匹配的條目,例如,如由圖4的塊200 說明。在本實(shí)例中,已知所述虛擬地址引起第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界 跨越。因此,如先前所述復(fù)制指令,例如,如由圖4的塊206說明。另外,匹配的TLB 條目的第一地址字段62提供與第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息?;趶牡谝坏刂?字段62所獲得的物理地址信息來完成所復(fù)制指令的第一頁片的執(zhí)行,例如,如由圖4 的塊210說明。
      此外,匹配的TLB條目中的指示符字段56指示第一物理地址字段62和第二物理地 址字段64經(jīng)鏈接。因此,檢索存儲(chǔ)于第二地址字段64中的物理地址信息,例如,如由 圖4的塊208說明。從第二地址字段64檢索到的物理地址信息識(shí)別第二存儲(chǔ)器頁?;?于從第二地址字段64所獲得的物理地址信息來完成所復(fù)制指令的第二頁片的執(zhí)行,例 如,如由圖4的塊212說明。由此,在后續(xù)指令的執(zhí)行期間僅執(zhí)行單一地址轉(zhuǎn)換。
      如先前所述,如果有效字段54指示TLB條目無效,則不執(zhí)行地址轉(zhuǎn)換,且較高級(jí) 地址轉(zhuǎn)換級(jí)38獲得必要的物理地址,例如,如由圖3的塊100和110說明。另外,指 示符字段56也可響應(yīng)于影響正更新的地址轉(zhuǎn)換或正蓋寫的TLB條目的經(jīng)架構(gòu)寄存器而 指示兩個(gè)存儲(chǔ)器頁之間的鏈接無效。當(dāng)遇到無效跨頁鏈接時(shí),不使用與所鏈接頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息。而是,執(zhí)行后續(xù)的地址轉(zhuǎn)換。
      通過牢記以上范圍的變化和應(yīng)用,應(yīng)理解,本發(fā)明不受以上描述的限制,也不受附 圖的限制。而是,本發(fā)明僅由所附權(quán)利要求書和其合法等效物來限制。
      權(quán)利要求
      1.一種在處理器中處置未對(duì)準(zhǔn)的存儲(chǔ)器存取的方法,其包含辨識(shí)對(duì)存儲(chǔ)器中的跨越第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界的區(qū)域的存取;以及鏈接與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息,其中響應(yīng)于對(duì)存儲(chǔ)器中的相同區(qū)域的后續(xù)存取,可基于單一地址轉(zhuǎn)換來檢索與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的所述地址轉(zhuǎn)換信息。
      2. 根據(jù)權(quán)利要求1所述的方法,其中辨識(shí)所述存取包含識(shí)別經(jīng)配置以在存儲(chǔ)器存取 期間引起所述頁邊界跨越的地址。
      3. 根據(jù)權(quán)利要求2所述的方法,其中鏈接與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián) 的地址轉(zhuǎn)換信息包含將所述地址鏈接到與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述地址轉(zhuǎn) 換信息。
      4. 根據(jù)權(quán)利要求2所述的方法,其進(jìn)一步包含復(fù)制呈現(xiàn)了所述地址的指令,其中基于 與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址來完成所述指令的執(zhí)行,且基于與所述第二 存儲(chǔ)器頁相關(guān)聯(lián)的物理地址來完成所述所復(fù)制指令的執(zhí)行。
      5. 根據(jù)權(quán)利要求1所述的方法,其中鏈接與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息包含-.將與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的虛擬地址信息和物理地址信息存儲(chǔ)于轉(zhuǎn)換旁視緩沖器條目中;以及將所述轉(zhuǎn)換旁視緩沖器條目鏈接到與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息。
      6. 根據(jù)權(quán)利要求5所述的方法,其中將所述轉(zhuǎn)換旁視緩沖器條目鏈接到與所述第二存 儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息包含存儲(chǔ)與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地 址信息和識(shí)別所述轉(zhuǎn)換旁視緩沖器條目的信息。
      7. 根據(jù)權(quán)利要求5所述的方法,其中將所述轉(zhuǎn)換旁視緩沖器條目鏈接到與所述第二存 儲(chǔ)器頁相關(guān)聯(lián)的物理地址信息包含將與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的所述虛擬地址信息和物理地址信息和與所述第 二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址信息存儲(chǔ)于所述轉(zhuǎn)換旁視緩沖器條目中;以及設(shè)置所述轉(zhuǎn)換旁視緩沖器條目中的--個(gè)或一個(gè)以上位以用于指示與所述第一存 儲(chǔ)器頁相關(guān)聯(lián)的虛擬地址引起了所述頁邊界跨越。
      8. 根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含斷開與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器 頁相關(guān)聯(lián)的所述地址轉(zhuǎn)換信息之間的所述鏈接。
      9. 根據(jù)權(quán)利要求8所述的方法,其中斷開所述鏈接包含使將與所述第二存儲(chǔ)器頁相 關(guān)聯(lián)的物理地址信息鏈接到與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的虛擬地址信息的信息無 效。
      10. —種處理器,其包含經(jīng)配置以執(zhí)行以下操作的電路辨識(shí)對(duì)跨越第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界的存儲(chǔ)器區(qū)域的存取;以及鏈接與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息,其中響應(yīng)于對(duì) 相同存儲(chǔ)器區(qū)域的后續(xù)存取,與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的所述地 址轉(zhuǎn)換信息可基于單一地址轉(zhuǎn)換而檢索。
      11. 根據(jù)權(quán)利要求10所述的處理器,其中所述電路經(jīng)配置以識(shí)別經(jīng)配置以在存儲(chǔ)器存 取期間引起所述頁邊界跨越的地址。
      12. 根據(jù)權(quán)利要求11所述的處理器,其中所述電路經(jīng)配置以將所述地址鏈接到與所述 第二存儲(chǔ)器頁相關(guān)聯(lián)的所述地址轉(zhuǎn)換信息。
      13. 根據(jù)權(quán)利要求11所述的處理器,其中所述電路進(jìn)一步經(jīng)配置以復(fù)制呈現(xiàn)了所述地 址的指令,其中所述指令的執(zhí)行是基于與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址而完成,且所述所復(fù)制指令的執(zhí)行是基于與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址而完 成。
      14. 根據(jù)權(quán)利要求10所述的處理器,其中所述電路經(jīng)配置以將與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的虛擬地址信息和物理地址信息存儲(chǔ)于轉(zhuǎn)換旁視緩沖器條目中。
      15. 根據(jù)權(quán)利要求14所述的處理器,其中所述電路經(jīng)配置以存儲(chǔ)與所述第二存儲(chǔ)器相 關(guān)聯(lián)的物理地址信息和識(shí)別所述轉(zhuǎn)換旁視緩沖器條目的信息。
      16. 根據(jù)權(quán)利要求14所述的處理器,其中所述電路經(jīng)配置以將與所述第一存儲(chǔ)器頁相 關(guān)聯(lián)的所述虛擬地址信息和物理地址信息以及與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的物理 地址信息存儲(chǔ)于所述轉(zhuǎn)換旁視緩沖器條目中,且設(shè)置所述轉(zhuǎn)換旁視緩沖器條目中的 一個(gè)或一個(gè)以上位以用于指示與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的虛擬地址引起了所述 頁邊界跨越。
      17. 根據(jù)權(quán)利要求10所述的處理器,其中所述電路進(jìn)一步經(jīng)配置以斷開與所述第一存 儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的所述地址轉(zhuǎn)換信息之間的所述鏈接。
      18. 根據(jù)權(quán)利要求17所述的處理器,其中所述電路經(jīng)配置以使將與所述第二存儲(chǔ)器頁 相關(guān)聯(lián)的物理地址信息鏈接到與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的虛擬地址信息的信息 無效。
      19. 一種在處理器中執(zhí)行地址轉(zhuǎn)換的方法,其包含辨識(shí)經(jīng)配置以存取存儲(chǔ)器中的跨越第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界 的區(qū)域的指令;將由所述指令呈現(xiàn)的虛擬地址轉(zhuǎn)換為與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址;以及基于將所述虛擬地址鏈接到與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址的先前建立 的信息來檢索與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址。
      20. 根據(jù)權(quán)利要求19所述的方法,其進(jìn)一步包含復(fù)制所述指令,其中基于與所述第一 存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址來完成所述指令的執(zhí)行,且基于與所述第二存儲(chǔ)器 頁相關(guān)聯(lián)的所述物理地址來完成所述所復(fù)制指令的執(zhí)行。
      21. 根據(jù)權(quán)利要求19所述的方法,其中轉(zhuǎn)換所述虛擬地址包含識(shí)別對(duì)應(yīng)于所述虛擬地址的轉(zhuǎn)換旁視緩沖器條目;以及從所述轉(zhuǎn)換旁視緩沖器條目中檢索與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址。
      22. 根據(jù)權(quán)利要求21所述的方法,其中檢索與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址包含確定所述先前建立的信息是否與存儲(chǔ)于所述轉(zhuǎn)換旁視緩沖器條目中的對(duì)應(yīng)信息匹配;以及響應(yīng)于所述信息匹配來檢索地址轉(zhuǎn)換信息。
      23. 根據(jù)權(quán)利要求21所述的方法,其中檢索與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地 址包含確定所述轉(zhuǎn)換旁視緩沖器條目中的一個(gè)或一個(gè)以上位是否指示所述第一存儲(chǔ)器 頁與第二存儲(chǔ)器頁之間的鏈接;以及響應(yīng)于所述一個(gè)或一個(gè)以上位指示所述第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的鏈 接而從含有與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址的所述轉(zhuǎn)換旁視緩沖器條 目中檢索地址轉(zhuǎn)換信息。
      24. —種處理器,其包含經(jīng)配置以執(zhí)行以下操作的電路辨識(shí)經(jīng)配置以存取存儲(chǔ)器中的跨越第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界的區(qū)域的指令;將由所述指令呈現(xiàn)的虛擬地址轉(zhuǎn)換為與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的物理地址;以及基于將所述虛擬地址鏈接到與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的物理地址的先前建立 的信息來檢索與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址。
      25. 根據(jù)權(quán)利要求24所述的處理器,其中所述電路進(jìn)一步經(jīng)配置以復(fù)制所述指令,其 中所述指令的執(zhí)行是基于與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址而完成,且所 述所復(fù)制指令的執(zhí)行是基于與所述第二存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址而完成。
      26. 根據(jù)權(quán)利要求24所述的處理器,其中所述電路經(jīng)配置以識(shí)別對(duì)應(yīng)于所述虛擬地址 的轉(zhuǎn)換旁視緩沖器條目,且從所述轉(zhuǎn)換旁視緩沖器條目中檢索與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址。
      27. 根據(jù)權(quán)利要求26所述的處理器,其中所述電路經(jīng)配置以確定所述先前建立的信息 是否與存儲(chǔ)于所述轉(zhuǎn)換旁視緩沖器條目中的對(duì)應(yīng)信息匹配,且響應(yīng)于所述信息匹配來檢索地址轉(zhuǎn)換信息。
      28. 根據(jù)權(quán)利要求26所述的處理器,其中所述電路經(jīng)配置以確定所述轉(zhuǎn)換旁視緩沖器 條目中的一個(gè)或一個(gè)以上位是否指示所述第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的鏈 接,且響應(yīng)于所述一個(gè)或一個(gè)以上位指示所述第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的 鏈接而從含有與所述第一存儲(chǔ)器頁相關(guān)聯(lián)的所述物理地址的所述轉(zhuǎn)換旁視緩沖器 條目中檢索地址轉(zhuǎn)換信息。
      全文摘要
      通過識(shí)別引起存儲(chǔ)器中的不同頁之間的邊界跨越的地址且鏈接與兩個(gè)存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息而改進(jìn)處理器內(nèi)的地址轉(zhuǎn)換性能。根據(jù)處理器的一個(gè)實(shí)施例,所述處理器包含經(jīng)配置以辨識(shí)對(duì)跨越第一存儲(chǔ)器頁與第二存儲(chǔ)器頁之間的頁邊界的存儲(chǔ)器區(qū)域的存取的電路。所述電路還經(jīng)配置以鏈接與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的地址轉(zhuǎn)換信息。因此,響應(yīng)于對(duì)相同存儲(chǔ)器區(qū)域的后續(xù)存取,可基于單一地址轉(zhuǎn)換來檢索與所述第一存儲(chǔ)器頁和第二存儲(chǔ)器頁相關(guān)聯(lián)的所述地址轉(zhuǎn)換信息。
      文檔編號(hào)G06F12/04GK101606134SQ200880004324
      公開日2009年12月16日 申請(qǐng)日期2008年2月7日 優(yōu)先權(quán)日2007年2月7日
      發(fā)明者布賴恩·約瑟夫·科佩茨, 托馬斯·安德魯·薩托里烏斯, 維克托·羅伯茨·奧格斯堡, 詹姆斯·諾里斯·迪芬德爾費(fèi)爾 申請(qǐng)人:高通股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1