專利名稱:用于優(yōu)化轉換后備緩沖器條目的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明大體而言涉及轉換后備緩沖器,且更具體而言,涉及用于優(yōu)化轉換后備緩 沖器條目的方法及系統(tǒng)。
背景技術:
當今,很多現有的計算機系統(tǒng)使用虛擬存儲器。虛擬存儲器是將存儲器抽象為大 型、統(tǒng)一的虛擬存儲陣列的技術,其超出處理器現成可用的存儲器。當只有比較小的 物理存儲器(通常是在下文中簡稱"存儲器"的半導體存儲器(例如但不限于RAM或DRAM)可使用時,這種劃分允許為程序員提供大型虛擬存儲器,從而使程序員免于顧慮存儲器存儲限制。因此,可以通過將許多應用程序的部分從較高延時的硬盤驅 動器存儲載入至較低延時的存儲器來啟動所述許多應用程序,即使較低延時的存儲器 不夠大,無法存儲全部應用程序。這可通過識別存儲器最近尚未使用的部分且將其復 制回至硬盤驅動器來實現。這釋放了存儲器中的空間以載入新的存儲器部分供較緊急 情況下使用。
當今,在很多處理系統(tǒng)中,中央處理單元(cpu)使用虛擬存儲器來執(zhí)行程序。在這類處理系統(tǒng)中,將虛擬地址映射到對應的物理地址。通常,轉換后備緩沖器
("tlb")實施這種映射,所述轉換后備緩沖器僅僅是將最經常用到的虛擬存儲器頁 面地址映射到其對應的物理存儲器頁面地址的存儲器。
通常,每一 tlb條目將存儲器中的一個頁面映射到一虛擬存儲器頁面地址。這 限制了可由每一tlb條目表示的地址的數量。由于tlb的維護需要系統(tǒng)資源,因此 需要提供用于通過將多個鄰接頁面條目合并為單個條目來優(yōu)化tlb條目的更有效率 的方法及系統(tǒng)。
發(fā)明內容
本發(fā)明揭示一種處理系統(tǒng)。所述處理系統(tǒng)包括轉換后備緩沖器(tlb),其經 配置以將虛擬存儲器的鄰接塊映射到物理存儲器,且提供指示虛擬存儲器的所述鄰接 塊的大小的大小屬性;及處理器,其經配置以更改虛擬存儲器的所述鄰接塊及所述對 應物理存儲器的大小,且相應地更改所述大小屬性。
下面揭示所述處理系統(tǒng)的另一方面。所述處理系統(tǒng)包括轉換后備緩沖器(tlb),
其經配置以存儲多個條目,每一條目將虛擬存儲器的鄰接塊映射到物理存儲器,且每一條目具有指示虛擬存儲器的其各自的塊的大小的大小屬性;及處理器,其經配置以 更改用于所述條目中的一者的虛擬存儲器的所述鄰接塊及所述對應物理存儲器的所述 大小,且其中所述處理器進一步經配置以更改用于所述條目中的所述一者的所述大小屬性。
本發(fā)明揭示一種用于在轉換后備緩沖器中存儲多個條目的方法。所述方法包括 映射鄰接虛擬存儲器塊到物理存儲器,提供指示虛擬存儲器的所述鄰接塊的大小的大 小屬性;更改虛擬存儲器的所述鄰接塊及所述對應物理存儲器的所述大??;及更改所 述大小屬性以反映虛擬存儲器的所述鄰接塊及所述對應物理存儲器中的改變。
下面揭示一種在轉換后備緩沖器中存儲多個條目的方法的另一方面。所述方法包 括識別虛擬存儲器的新塊;在具有與虛擬存儲器的所述新塊相鄰接的虛擬存儲器的 現有塊的TLB中定位條目,所述TLB條目含有虛擬存儲器的所述現有塊與物理存儲 器之間的映射;及將虛擬存儲器的所述新塊及現有塊及其對應物理存儲器合并在所述 TLB條目中,所述虛擬存儲器的所述新塊及現有塊的合并進一步包含調節(jié)大小屬性 以反映從虛擬存儲器的所述現有塊的大小到虛擬存儲器的合并塊大小的大小改變。
應了解,根據下文的詳細說明,本發(fā)明的其它實施例對所屬領域的技術人員將顯 而易見;其中本發(fā)明的各種實施例均以圖解說明的方式加以顯示及闡述。應了解,本 發(fā)明能夠具有其它的、不同的實施例,且能夠在各其它方面對其幾個細節(jié)進行修改, 此并不違背本發(fā)明的精神及范圍。因此,應將圖式及詳細說明視為舉例說明性的,而 非限制性的。
圖1是簡化方塊圖,其圖解說明根據本發(fā)明的用于優(yōu)化轉換后備表格的系統(tǒng);
圖2是簡化示意圖,其顯示根據本發(fā)明的TLB條目;及
圖3是簡化示意圖,其顯示根據本發(fā)明的供圖解說明使用的TLB條目及建議條目。
具體實施例方式
下文結合附圖所闡述的詳細說明意在說明本發(fā)明的各種實施例,而非意在表示本 發(fā)明僅可實施為這些實施例。此詳細說明包括具體細節(jié),其用于提供對本發(fā)明的透徹
了解。然而,對所屬領域的技術人員而言,顯然無需這些具體細節(jié)也可實施本發(fā)明。 在某些例示中,以方塊圖的形式顯示各已知結構及組件,以免淡化對本發(fā)明的說明。
圖1是概念性方塊圖,其圖解說明數據處理系統(tǒng)100的實例。數據處理系統(tǒng)100可以是獨立的系統(tǒng),或者嵌入裝置中例如有線或無線電話、個人數字助理(PDA)、個 人計算機(PC)、膝上型計算機、數字照相機、游戲控制臺、尋呼機、調制解調器、 視頻會議設備,或任一其他合適的裝置。數據處理系統(tǒng)100可包括處理器102,例如
6
微處理器或其他處理實體。處理器102可用作用于運行任一數量的應用程序的平臺, 舉例來說,操作系統(tǒng)、網頁瀏覽器、電子郵件系統(tǒng)、字處理程序,以及支持視頻、電 話及諸如此類的其他軟件程序。
處理系統(tǒng)100還可包括存儲器104,其保存處理器102實施其功能所需的程序指 令及數據。存儲器104可構建有隨機存取存儲器("RAM")或其他合適的存儲器,且 可用作處理器的主存儲器、L2高速緩沖存儲器,或其組合。可將用于由處理器102啟 動的各種程序的程序指令自非易失性存儲裝置106(如硬盤驅動器)載入至存儲器104。
TLB 108可用于將106 (其可出于例示目的包含非易失性存儲裝置)中的存儲器 頁面地址映射到存儲器104中對應的頁面地址。TLB可以是相當小的、速度高的高速 緩沖存儲器,其集成于處理器102中,但出于圖解說明的目的顯示為與處理器102分 開。當處理器102需要對存儲器104進行存取時,其在TLB108中搜索虛擬存儲器頁 面地址。如果存儲器102在TLB 108中找到虛擬存儲器頁面地址,則出現"TLB命中"。 在TLB命中中,處理器102檢索TLB 108中的對應物理存儲器頁面且通過地址總線 110將其提供至存儲器104。處理器102隨后可對存儲器104中這個地址的內容進行存 取以通過數據總線112實施讀取或寫入操作。
假如處理器無法在TLB 108中找到虛擬存儲器頁面地址,則出現"TLB未命中"。 用于處理TLB未命中的各種技術在所屬技術領域中已眾所周知,因此本文中將不做進 一步的論述,但除此之外還應指出的是,處理器102可調用某些處理功能以確定其實 施其當前操作所需的物理存儲器頁面地址。 一旦處理器確定物理存儲器頁面地址,則 其可對處理器104進行存取,所述處理器104可能或可能不需要在存儲器104與非易 失性存儲裝置106之間傳遞程序指令??稍赥LB 108中生成新的TLB條目以處理將來 對同一物理存儲器頁面地址的存取。
處理器102可經配置以動態(tài)地管理在單個TLB條目中可存儲的頁面的數量。如 圖2所示,在TLB 108中的每一 TLB條目200可包括虛擬存儲器頁面地址202及物理 存儲器頁面地址204。如上文所述,將虛擬存儲器頁面地址202映射到對應于存儲器 中的頁面(未顯示)的物理存儲器頁面地址204。可為虛擬存儲器頁面地址202附加 大小屬性206。大小屬性206可用于指示每一TLB條目表示的頁面的數量。
在數據處理系統(tǒng)的至少一個實施例中,處理器可經配置以動態(tài)地調節(jié)用于給定的 TLB條目的大小屬性。這可通過多種方式來實現?;氐綀Dl,當TLB未命中出現時, 處理器102調用某些處理功能以確定其實施其當前操作所需的物理存儲器頁面地址。 然而,在處理器102生成新的TLB條目之前,其首先確定所建議的新條目是否與TLB 108中現有的條目相鄰接。如果虛擬存儲器頁面地址是鄰接的,且物理存儲器頁面地 址也是鄰接的,則認為TLB108中的兩個條目為鄰接的。如果處理器102確定存在與 現有TLB條目的鄰接,則可將兩個虛擬存儲器頁面地址及兩個物理存儲器頁面地址合 并成TLB 108中的單個條目??稍黾哟笮傩?06 (見圖2)以指示虛擬存儲器頁 面地址及對應的物理存儲器頁面地址表示存儲器104中的兩個頁面?;蛘撸绻幚砥?02確定不存在與現有TLB條目的鄰接,則可生成新的TLB條目。
下文中為顯示處理器102如何優(yōu)化TLB 108中條目的圖解說明性實例。圖3顯示 TLB中的現有條目300及所建議的新條目302?,F有條目300可包括大小屬性、具有 最高有效位部分(XI)及最低有效位部分(Yl)的虛擬存儲器頁面地址、及具有最高 有效位部分(Al)及最低有效位部分(Bl)的對應的物理存儲器頁面地址。大小屬性 經設定以指示TLB條目表示存儲器的一個頁面。位13-31組成XI部分且位12組成 Yl部分。類似地,所建議的新條目302可包括具有最高有效位部分(X2)及最低有 效位部分(Y2)的虛擬存儲器頁面地址、及具有最高有效位部分(A2)及最低有效位 部分(B2)的對應的物理存儲器頁面地址。應注意的是,對于現有條目300及建議條 目302兩者,位O-ll均對應于地址的偏移部分且因而并不是條目的一部分。
處理器按如下所述確定是否可優(yōu)化現有條目300及建議條目302。首先,將現有 條目300與建議條目302的虛擬存儲器頁面地址進行比較。如果X1=X2且Y1=Y2, 則視為TLB命中。如先前所述,處理器可隨后在TLB中檢索對應的物理存儲器頁面 地址且將其放置于地址總線中以對存儲器進行存取。另一方面,如果X1^X2或Yl ^Y2,則視為TLB未命中。假設處理器無法通過另一TLB條目獲得TLB命中,其調 用某些處理功能以確定對應的物理存儲器頁面地址。然而,在生成新TLB條目之前, 將檢查建議條目302與TLB中現有條目的鄰接。
在圖3所示的實例中,響應于TLB未命中,檢查建議條目302與現有條目300 的鄰接性。這可通過四步驟的過程來實現。首先,通過比較XI與X2及Yl與Y2來 檢査虛擬存儲器頁面地址的鄰接。如果X^X2且Y1^Y2,則虛擬存儲器頁面地址去 掉一個最低有效位,且認為在虛擬存儲器地址空間中是鄰接的。其次,通過比較Al 與A2及Bl與B2來檢査物理存儲器頁面地址的鄰接性。如果A1=A2且B1學B2,則 物理存儲器頁面地址也去掉一個最低有效位,且認為在物理存儲器地址空間中是鄰接 的。再次,對現有條目及建議條目的虛擬及物理存儲器頁面地址進行檢査以確保建議 條目的虛擬及物理存儲器頁面地址兩者均分別高于或低于現有條目的虛擬及物理存儲 器頁面地址。最后,在將現有及建議條目合并成一個較大的條目的時候,檢查所述較 大條目所覆蓋的虛擬及物理頁面地址范圍以確保兩種地址范圍均對準在較大大小邊界 上。如果滿足了所有這些條件,則可將現有及建議條目合并成單個條目。假如用于建 議條目302的虛擬及物理存儲器頁面地址高于用于現有條目300的虛擬及物理存儲器 頁面地址,則可僅通過增加大小屬性來合并所述兩個條目以指示所合并的TLB條目 表示在存儲器中始于初始條目300的虛擬及物理存儲器頁面地址的兩個頁面。或者, 假如用于建議條目302的虛擬及物理存儲器頁面地址低于用于現有條目300的虛擬及 物理存儲器頁面地址,則可通過用現有條目寫入建議虛擬及物理存儲器頁面地址并改 變所述大小屬性來合并所述兩個條目以指示所合并的TLB條目表示在存儲器中始于 新條目302的虛擬及物理存儲器頁面地址的兩個頁面。
現將提供實例。假設現有條目300的虛擬存儲器頁面為4KB,開始于地址"0x0000_0000",且對應的物理存儲器頁面是開始于地址"0x8000—0000"的4KB頁 面。如果建議條目302的虛擬存儲器頁面是開始于地址"0x0000—1000"的4KB頁面, 且對應的物理存儲器地址是開始于地址"0x8000_1000"的4KB物理存儲器頁面,則 可將所述兩個條目合并成開始于與現有條目相同的地址的8KB區(qū)域。然而,如果現有 條目的虛擬區(qū)域開始于地址"0x0000—1000 "且其對應物理區(qū)域開始于地址 "0x8000J000",建議條目的虛擬區(qū)域開始于地址"0x0000—2000"且其對應物理區(qū)域 開始于地址"0x8000—2000",則無法組合現有及建議條目,因為所得出的8KB頁面將 不會開始于在8KB區(qū)域中對準的邊界。
因此,假設鄰接性檢查是令人滿意的,則將現有條目300中的大小屬性動態(tài)地改 變?yōu)?KB。 8KB的大小基于現有頁面是4KB且新頁面是4KB的事實。因此,合并或 組合新頁面及現有頁面將產生8KB頁面。如前述實例所說明,如果可在TLB中定位 與新頁面鄰接的現有頁面,則可僅修改用于現有頁面的條目且無需為用于新頁面的 TLB添加單獨的條目。
此外,所修改的(8KB)條目可能需要在Yl及B1兩者還均未是"0"的情況下 將其均設定為"0"。實施此操作以便所修改的條目正確地反映新的8KB頁面的開始地 址(即,兩個鄰接4KB頁面中的低編號地址)。然而,應注意的是,并不是所有實施 方案都要求這種改變?;旧?,在將4KB條目轉換成8KB條目時,現有條目的位12 從作為虛擬頁面地址的最低有效位改變?yōu)橛行У刈鳛槠频淖罡哂行?未顯示)。偏 移用于形成用于對存儲器進行存取的完整的物理頁面。偏移在虛擬頁面地址與物理頁 面地址之間的轉換或映射過程中并不重要。8KB (而不是4KB)條目的大小屬性指示 位12現己是偏移的一部分。這樣,不需要再將虛擬頁面地址的位12視為TLB條目的 一部分,且因此其無需參加用于確定匹配度的與后續(xù)地址的比較。某些實施方案可基 于大小屬性適當且自動地在TLB條目的虛擬及物理頁面部分中忽略這種位位置。其他 實施方案可能需要這些位位置中的一者或另一者,或兩者以反映低編號頁面地址(換 句話說,當所述位位置為0時)。
基于本文提供的揭示內容及教示,應了解,可將前述內容進行擴展以適應較大頁 面大小的合并。用所修改的條目300做進一步圖解說明,條目300現參考8KB頁面(因 為己將兩(2)個鄰接的4KB頁面合并)。處理器102 (見圖1)現可進一步經配置以 搜索在TLB 108中參考與由所修改的條目300參考的8K頁面相鄰接的另一8K頁面 .的條目。如果確定有另一8K頁面與由所修改的條目300參考的8K頁面相鄰接,則兩 個現有條目中的一者的大小屬性現可經修改以反映此條目的頁面大小是16K且可消除 剩下的那個條目。結果,與兩(2)個不同條目參考兩(2)個鄰接的8K頁面相反的 是,現在一單個條目參考一16K頁面。進一步擴展前文所述,可將與新合并的16K頁 面相鄰接的另一現有16K頁面進行合并以形成由單個條目參考的32K頁面??蓪⑶拔?所述進行擴展以將頁面合并成不斷增大的頁面大小。
視情況,處理器102 (見圖1)也可經配置以合并參考具有較小頁面大小的頁面
的條目以生成參考具有所期望頁面大小的頁面的更新條目。隨后可將更新條目與參考 具有相同的所期望頁面大小的頁面的另一條目進行合并。例如,再次用所修改的條目 300做圖解說明,條目300現參考8K頁面。處理器102 (見圖l)可首先合并兩(2) 個鄰接的4K頁面以生成由單個條目參考的8KB頁面?,F可將新生成的8KB頁面進一 步與由條目300參考的8KB頁面進行合并以形成由單個條目參考的一 16KB頁面。類 似地,處理器102可隨后合并四(4)個鄰接的4KB頁面以形成由另一條目參考的另 一 16KB頁面。然后,可將新形成的16KB頁面與先前形成的16KB頁面合并以形成 32KB頁面。基于本文所提供的揭示內容及教示,所屬領域的一般技術人員將了解如 何擴展前文所述的內容以根據本發(fā)明優(yōu)化TLB 108中的條目以覆蓋其他較大的頁面大 小。
結合本文所揭示的實施例所闡述的各種圖解說明性邏輯塊、模塊、電路、元件及 /或組件可通過通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可 編程門陣列(FPGA)或其它可編程邏輯組件、離散門或晶體管邏輯、離散硬件組件、 或設計用于實施本文所述功能的其任何組合來構建或實施。通用處理器可以是微處理 器,或者,處理器也可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器也 可構建為計算組件的組合,例如DSP與微處理器的組合、若干個微處理器的組合、一 個或多個微處理器與DSP核心的組合、或任何其他這類配置。
結合本文所揭示實施例所闡述的方法或算法可以以控制邏輯、編程指令或其他指 示的形式直接實施于硬件中、可由處理器執(zhí)行的軟件模塊中,或兩者的組合中。軟件 模塊可常駐于RAM存儲器、閃速存儲器、ROM存儲器、EPROM存儲器、EEPROM 存儲器、寄存器、硬盤、可移動磁盤、CD-ROM、或現有技術中已知的任一其它形式 的存儲媒體中。存儲媒體可耦合至處理器,以便處理器可自存儲媒體讀取信息或向存 儲媒體寫入信息?;蛘?,所述存儲媒體可以是處理器的組成部分。
本文提供先前所述所揭示實施例的說明意在使任何所屬領域的技術人員都能夠 制作或使用本發(fā)明。所屬領域的技術人員將易于制作出這些實施例的各種修改,且本 文所界定的一般原理也可適用于其他實施例,此并不違背本發(fā)明的精神或范圍。因此, 本發(fā)明并非意在限定為本文所顯示的實施例,而是意在賦予其與權利要求書相一致的 全部范圍,其中除非明確指出,否則,以單數形式參考的元件并非意在表示"一個或 只有一個",而是"一個或多個"。所有為所述領域的一般技術人員所了解或此后將了 解的在本揭示內容中通篇所述各實施例的元件的結構及功能等效物均明確地以參考方 式并入本文中并意欲涵蓋于權利要求書的范圍內。此外,本文所揭示的內容均并非意 在奉獻給大眾,無論是否在權利要求書中明確地陳述此揭示內容。權利要求書的要素 均不依據35 U.S.C. § 112第六段的規(guī)定加以解釋,除非使用短語"用于…的裝置"明 確描述此要素,或在方法項中使用短語"用于…的步驟"描述此要素。
權利要求
1、一種處理系統(tǒng),其包含轉換后備緩沖器(TLB),其經配置以將虛擬存儲器的鄰接塊映射至物理存儲器,且提供指示虛擬存儲器的所述鄰接塊的大小的大小屬性;及處理器,其經配置以更改虛擬存儲器的所述鄰接塊及對應物理存儲器的大小,且相應地更改所述大小屬性。
2、 如權利要求1所述的處理系統(tǒng),其中所述處理器包括所述TLB。
3、 如權利要求1所述的處理系統(tǒng),其中所述處理器進一步經配置以通過將虛擬 存儲器的第一塊與虛擬存儲器的第二塊合并來更改虛擬存儲器的所述鄰接塊的大小。
4、 如權利要求3所述的處理系統(tǒng),其中所述處理器進一步經配置以響應于確定虛擬存儲器的所述第一及第二塊兩者是鄰接的且物理存儲器的對應者也是鄰接的而合并虛擬存儲器的所述第一及第二塊。
5.如權利要求4所述的處理系統(tǒng),其中所處理器進一步經配置以通過將虛擬存儲器的所述第一塊的頁面地址映射到物理存儲器的其對應塊的頁面地址而將虛擬存 儲器的所述第一及第二塊映射到物理存儲器的其對應塊,虛擬存儲器的所述第一塊的 頁面地址低于虛擬存儲器的所述第二塊的頁面地址。
6、 如權利要求5所述的處理系統(tǒng),其中所述處理器進一步經配置以通過更改所 述大小屬性但不改變所述頁面地址映射來合并虛擬存儲器的所述第一及第二塊。
7、 如權利要求5所述的處理系統(tǒng),其中所述處理器進一步經配置以通過更改所 述地址屬性且將虛擬存儲器的所述第二塊的頁面地址改變?yōu)樘摂M存儲器的所述第一塊 的頁面地址且相應地改變物理存儲器的所述塊的頁面地址來合并虛擬存儲器的所述第 一及第二塊。
8、 一種處理系統(tǒng),其包含轉換后備緩沖器(TLB),其經配置以存儲多個條目,所述條目中的每一者將虛 擬存儲器的鄰接塊映射到物理存儲器,且所述條目中的每一者具有指示虛擬存儲器的 其各自塊的大小的大小屬性;及處理器,其經配置以更改虛擬存儲器中用于所述條目中的一者的所述鄰接塊及對 應物理存儲器的大小,且其中所述處理器進一步經配置以更改用于所述條目中的所述 一者的所述大小屬性。
9、 如權利要求8所述的處理系統(tǒng),其中所述處理器包括所述TLB。
10、 如權利要求8所述的處理系統(tǒng),其中所述處理器進一步經配置以通過將虛擬 存儲器中用于所述條目中所述一者的所述塊與虛擬存儲器的新塊合并來更改虛擬存儲 器中用于所述條目中的所述一者的所述鄰接塊的大小。
11、 如權利要求10所述的處理系統(tǒng),其中所述處理器進一步經配置以響應于確定虛擬存儲器的所述兩個塊是鄰接的且物理存儲器的所述對應塊也是鄰接的而合并用 于所述條目中的所述一者的所述虛擬存儲器塊及所述新的虛擬存儲器塊。
12、 如權利要求11所述的處理系統(tǒng),其中所述處理器進一步經配置以通過將用 于所述條目中的所述一者的所述虛擬存儲器塊的頁面地址映射到物理存儲器的其對應 塊的頁面地址而將虛擬存儲器的所述合并塊映射到物理存儲器。
13、 如權利要求11所述的處理系統(tǒng),其中所述處理器進一步經配置以通過將所 述新虛擬存儲器塊的頁面地址映射到物理存儲器的其對應塊的頁面地址而將虛擬存儲 器的所述合并塊映射到物理存儲器。
14、 一種在轉換后備緩沖器(TLB)中存儲多個條目的方法,其包含 將鄰接虛擬存儲器塊映射到物理存儲器; 提供指示虛擬存儲器的所述鄰接塊的大小的大小屬性; 更改虛擬存儲器的所述鄰接塊及對應物理存儲器的大??;及更改所述大小屬性以反映虛擬存儲器的所述鄰接塊及所述對應物理存儲器中的 改變。
15、 如權利要求14所述的方法,其中通過將虛擬存儲器的第一塊與虛擬存儲器的第二塊合并來更改虛擬存儲器的所述鄰接塊及所述對應物理存儲器的大小。
16、 如權利要求15所述的方法,其中響應于確定虛擬存儲器的所述第一及第二 塊兩者是鄰接的且所述對應物理存儲器也是鄰接的而合并虛擬存儲器的所述第一及第二塊。
17、 如權利要求16所述的處理系統(tǒng),其中所述將虛擬存儲器的所述合并的第一 及第二塊映射到物理存儲器包含確定虛擬存儲器的所述第一塊的頁面地址低于虛擬 存儲器的所述第二塊的頁面地址,及將虛擬存儲器的所述第一塊的頁面地址映射到物 理存儲器的其對應塊的頁面地址。
18、 如權利要求17所述的方法,其中通過更改所述大小屬性但不改變所述頁面 地址映射來合并虛擬存儲器的所述第一及第二塊。
19、 如權利要求17所述的方法,其中通過更改所述大小屬性及將虛擬存儲器的 所述第二塊的頁面地址改變?yōu)樘摂M存儲器的所述第一塊的頁面地址并相應地改變對應 物理存儲器的頁面地址來合并虛擬存儲器的所述第一及第二塊。
20、 一種在轉換后備緩沖器(TLB)中存儲多個條后的方法,其包含 識別虛擬存儲器的新塊;在具有虛擬存儲器的現有塊的所述TLB中定位條目,虛擬存儲器的所述現有塊 與虛擬存儲器的所述新塊鄰接,所述TLB條目包含虛擬存儲器的所述現有塊與物理存 儲器之間的映射;及將虛擬存儲器的所述新塊及現有塊及其對應物理存儲器合并在所述TLB條目中, 虛擬存儲器的所述新塊及現有塊的所述合并進一步包含調節(jié)大小屬性以反映從虛擬 存儲器的所述現有塊大小到虛擬存儲器的所述合并塊大小的大小改變。
21、 如權利要求21所述的方法,其進一步包含確定虛擬存儲器的所述現有塊 的所述對應物理存儲器與所述虛擬存儲器的所述新塊的所述對應存儲器是鄰接的。
22、 如權利要求22所述的方法,其進一步包含確定虛擬存儲器的所述合并塊映射到由對應于虛擬存儲器的所述現有塊及新塊的物理存儲器表示的物理存儲器的 塊。
23、 如權利要求21所述的方法,其中通過將虛擬存儲器的所述現有塊的頁面地 址映射到其對應物理存儲器的頁面地址而將虛擬存儲器的所述現有塊映射到其對應物 理存儲器。
24、 如權利要求23所述的方法,其進一步包含確定虛擬存儲器的所述現有塊 的頁面地址低于虛擬存儲器的所述新塊的頁面地址,且其中虛擬存儲器的所述新塊及現有塊的所述合并進一步包含調節(jié)所述大小屬性但不改變所述條目中的頁面映射。
25、 如權利要求23所述的方法,其進一步包含確定虛擬存儲器的所述現有塊的頁面地址高于虛擬存儲器的所述新塊的頁面地址,且其中虛擬存儲器的所述新塊及現有塊的所述合并進一步包含調節(jié)所述大小屬性且將虛擬存儲器的所述新塊的頁面地址映射到其對應物理存儲器的頁面地址。
全文摘要
本發(fā)明提供一種用于優(yōu)化轉換后備緩沖器條目的系統(tǒng)。所述系統(tǒng)包括轉換后備緩沖器,其經配置以存儲若干個條目,每一條目具有大小屬性,每一條目參考對應頁面;及控制邏輯,其經配置以在新頁面與現有條目所參考的現有頁面相鄰接的情況下在轉換后備緩沖器中修改現有條目的大小屬性。所述現有條目在已使其大小屬性被修改后參考包含所述現有頁面及所述新頁面的合并頁面。
文檔編號G06F12/10GK101176078SQ200680016065
公開日2008年5月7日 申請日期2006年3月17日 優(yōu)先權日2005年3月17日
發(fā)明者托馬斯·安德魯·薩托里烏斯, 杰弗里·托德·布里奇斯, 維克托·羅伯茨·奧格斯堡, 詹姆斯·諾里斯·迪芬德爾費爾 申請人:高通股份有限公司