国产精品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>

      一種虛擬大頁面與物理大頁面的對應(yīng)方法及裝置制造方法

      文檔序號:6514493閱讀:264來源:國知局
      一種虛擬大頁面與物理大頁面的對應(yīng)方法及裝置制造方法
      【專利摘要】本發(fā)明公開了一種虛擬大頁面與物理大頁面的對應(yīng)方法及裝置,涉及計算機(jī)應(yīng)用領(lǐng)域,將虛擬大頁面對應(yīng)到多個離散的物理大頁面上,從而使得虛擬大頁面能夠占用指定的cache set,降低虛擬大頁面之間的cache沖突。本發(fā)明的具體實施例包括:獲取虛擬大頁面的顏色配置信息,并根據(jù)該虛擬大頁面的顏色配置信息獲取該虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系,其中,顏色配置信息包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)。本發(fā)明技術(shù)方案主要應(yīng)用于虛擬大頁面與物理大頁面的對應(yīng)流程中。
      【專利說明】一種虛擬大頁面與物理大頁面的對應(yīng)方法及裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種虛擬大頁面與物理大頁面的對應(yīng)方法及裝置。

      【背景技術(shù)】
      [0002]大頁面(Hugepage或Hugetlb)技術(shù)可實現(xiàn)將連續(xù)的多個虛擬內(nèi)存空間頁面映射到連續(xù)的多個物理內(nèi)存空間頁面,從而使這些物理內(nèi)存空間頁面組成一個大頁面,每個大頁面在轉(zhuǎn)址旁路緩存(Translat1n Lookaside Buffer, TLB)中只需占用I個TLB項,進(jìn)而在不增加TLB項數(shù)的情況下,極大提高TLB可覆蓋的地址范圍,有效降低TLB缺失(Miss)個數(shù),提高了應(yīng)用程序及系統(tǒng)的性能。在實際應(yīng)用中,將虛擬地址連續(xù)的多個虛擬頁面組成的大頁面稱為虛擬大頁面,而這些虛擬頁面通過TLB表項,映射到與之對應(yīng)個數(shù)的物理地址連續(xù)的多個物理頁面上,這些連續(xù)的物理頁面組成的大頁面稱為物理大頁面。在操作系統(tǒng)中,物理頁面與緩存器cache中的緩存組cache set存在固定的對應(yīng)關(guān)系。并且每一個cache set控制一種顏色,當(dāng)存在多個虛擬大頁面時,這些虛擬大頁面對應(yīng)的物理大頁面會共享cache,這樣就會出現(xiàn)cache沖突。比如,對于2MB的物理大頁面,該物理大頁面將占用連續(xù)的512個頁面顏色,剛好是一個顏色周期,這就意味著,每個2MB的物理大頁面都將占用全部可用的頁面顏色,這樣每個2MB的物理大頁面就會共享cache,從而在訪問物理大頁面時,就是出現(xiàn)cache沖突問題。


      【發(fā)明內(nèi)容】

      [0003]本發(fā)明的實施例提供一種虛擬大頁面與物理大頁面的對應(yīng)方法及裝置,能夠?qū)⑻摂M大頁面對應(yīng)到多個離散的物理大頁面上,從而控制虛擬大頁面能夠占用的cache set,降低了虛擬大頁面之間的cache沖突。
      [0004]為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
      [0005]第一方面,提供了一種虛擬大頁面與物理大頁面的對應(yīng)方法,包括:
      [0006]獲取虛擬大頁面的顏色配置信息,所述顏色配置信息包括所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面和所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的物理頁面的個數(shù);
      [0007]其中,所述虛擬大頁面中的一個虛擬頁面對應(yīng)所述物理大頁面中的一個物理頁面;
      [0008]根據(jù)所述虛擬大頁面的顏色配置信息,獲取所述虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。
      [0009]在第一方面的第一種可能實現(xiàn)方式中,所述獲取虛擬大頁面的顏色配置信息,包括:
      [0010]確定所述虛擬大頁面的虛擬地址;
      [0011]通過所述虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定所述顏色配置信息。
      [0012]結(jié)合第一方面、第一方面的第一種可能實現(xiàn)方式,在第一方面的第二種可能實現(xiàn)方式中,還包括:
      [0013]將所述虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset兩個部分,所述Scattered Shift用于索引所述虛擬大頁面對應(yīng)的物理大頁面號;
      [0014]所述顏色塊用于表征所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色;
      [0015]其中,與所述顏色塊對應(yīng)的所述多個物理頁面在一個物理大頁面中,且所述多個物理頁面的物理地址連續(xù)。
      [0016]結(jié)合第一方面、第一方面的第一種可能實現(xiàn)方式、第一方面的第二種可能實現(xiàn)方式,在第一方面的第三種可能實現(xiàn)方式中,所述TLB中記錄有虛擬大頁面號和物理大頁面號的對應(yīng)關(guān)系,所述方法還包括:
      [0017]通過所述虛擬地址中的虛擬大頁面號,從所述TLB中確定與所述虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號;
      [0018]將所述第一個物理大頁面的頁面號與所述虛擬大頁面對應(yīng)的所述物理大頁面的個數(shù)相加,得到與所述虛擬大頁面對應(yīng)的每個物理大頁面的頁面號;
      [0019]確定所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號;并將每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號與所述CR Offset拼接,得到與所述虛擬地址對應(yīng)的所述物理地址。
      [0020]第二方面,提供了一種虛擬大頁面與物理大頁面的對應(yīng)裝置,在所述裝置中,一個虛擬大頁面與多個物理大頁面對應(yīng),所述多個物理大頁面的物理地址不連續(xù),所述裝置包括:
      [0021]獲取單元,用于獲取虛擬大頁面的顏色配置信息,所述顏色配置信息包括所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面和所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的物理頁面的個數(shù);
      [0022]其中,所述虛擬大頁面中的一個虛擬頁面對應(yīng)所述物理大頁面中的一個物理頁面;
      [0023]所述獲取單元,還用于根據(jù)獲取的所述虛擬大頁面的顏色配置信息,獲取所述虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系;
      [0024]存儲單元,用于存儲所述獲取單元獲取的所述虛擬大頁面的顏色配置信息。
      [0025]在第二方面的第一種可能實現(xiàn)方式中,所述獲取單元包括:
      [0026]確定子單元,用于確定所述虛擬大頁面的虛擬地址;并通過所述虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定所述顏色配置信息。
      [0027]結(jié)合第二方面、第二方面的第一種可能實現(xiàn)方式,在第二方面的第二種可能實現(xiàn)方式中,還包括:
      [0028]劃分單元,用于將所述確定子單元確定的所述虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset兩個部分,所述Scattered Shift用于索引所述虛擬大頁面對應(yīng)的物理大頁面號;
      [0029]所述顏色塊用于表征所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色;
      [0030]其中,與所述顏色塊對應(yīng)的所述多個物理頁面在一個物理大頁面中,且所述多個物理頁面的物理地址連續(xù)。
      [0031]結(jié)合第二方面、第二方面的第一種可能實現(xiàn)方式、第二方面的第二種可能實現(xiàn)方式,在第二方面的第三種可能實現(xiàn)方式中,所述TLB中記錄有虛擬大頁面號和物理大頁面號的對應(yīng)關(guān)系,所述裝置還包括:
      [0032]確定單元,還用于通過所述虛擬地址中的虛擬大頁面號,從所述TLB中確定與所述虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號;
      [0033]計算單元,用于將所述確定單元確定的所述第一個物理大頁面的頁面號與所述虛擬大頁面對應(yīng)的所述物理大頁面的個數(shù)相加,得到與所述虛擬大頁面對應(yīng)的每個物理大頁面的頁面號;
      [0034]所述確定單元,還用于確定所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號;
      [0035]拼接單元,用于將所述確定單元確定的每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號與所述CR Offset拼接,得到與所述虛擬地址對應(yīng)的所述物理地址。
      [0036]本發(fā)明實施例提供的虛擬大頁面與物理大頁面的對應(yīng)方法及裝置,在本發(fā)明實施例中,一個虛擬大頁面與多個物理大頁面對應(yīng),且多個物理大頁面的物理地址不連續(xù)。在獲取到包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)的顏色配置信息后,進(jìn)而能夠根據(jù)該顏色配置信息獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。在現(xiàn)有技術(shù)中,虛擬大頁面只能與物理地址連續(xù)的物理大頁面對應(yīng),這樣在存在多個虛擬大頁面時,就會造成這一虛擬大頁面對應(yīng)的物理大頁面共享cache,從而引起cache沖突。本發(fā)明實施例提供的技術(shù)方案,能夠?qū)⑻摂M大頁面對應(yīng)到多個離散的物理大頁面上,從而控制虛擬大頁面能夠占用的cache set,降低了虛擬大頁面之間的cache沖突。

      【專利附圖】

      【附圖說明】
      [0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0038]圖1為本發(fā)明一實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)方法的流程圖;
      [0039]圖2為本發(fā)明另一實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)方法的流程圖;
      [0040]圖3為本發(fā)明另一實施例提供的一種虛擬大頁面的虛擬地址的組成示意圖;
      [0041]圖4為本發(fā)明另一實施例提供的一種TLB的結(jié)構(gòu)示意圖;
      [0042]圖5-1為本發(fā)明另一實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)關(guān)系示意圖;
      [0043]圖5-2為本發(fā)明另一實施例提供的另一種虛擬大頁面與物理大頁面的對應(yīng)關(guān)系示意圖;
      [0044]圖6為本發(fā)明另一實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)裝置的組成示意圖;
      [0045]圖7為本發(fā)明另一實施例提供的另一種虛擬大頁面與物理大頁面的對應(yīng)裝置的組成示意圖;
      [0046]圖8為本發(fā)明另一實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)裝置的組成示意圖。

      【具體實施方式】
      [0047]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
      [0048]本發(fā)明一實施例提供了一種虛擬大頁面與物理大頁面的對應(yīng)方法,在該方法中,一個虛擬大頁面與多個物理大頁面對應(yīng),且該多個物理大頁面的物理地址不連續(xù),如圖1所示,該方法包括:
      [0049]101、獲取虛擬大頁面的顏色配置信息。
      [0050]其中,顏色配置信息包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)。
      [0051]值得說明的是,虛擬大頁面中的一個虛擬頁面對應(yīng)物理大頁面中的一個物理頁面,且該對應(yīng)關(guān)系是可變的。
      [0052]102、根據(jù)虛擬大頁面的顏色配置信息,獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。
      [0053]本發(fā)明實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)方法,在獲取到包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)的顏色配置信息后,進(jìn)而能夠根據(jù)該顏色配置信息獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。在現(xiàn)有技術(shù)中,虛擬大頁面只能與物理地址連續(xù)的物理大頁面對應(yīng),這樣在存在多個虛擬大頁面時,就會造成這一虛擬大頁面對應(yīng)的物理大頁面共享cache,從而引起cache沖突。本發(fā)明實施例提供的技術(shù)方案,能夠?qū)⑻摂M大頁面對應(yīng)到多個離散的物理大頁面上,從而控制虛擬大頁面占用的cache set,降低了虛擬大頁面之間的cache沖突。
      [0054]本發(fā)明另一實施例提供了一種虛擬大頁面與物理大頁面的對應(yīng)方法,如圖2所示,該方法包括:
      [0055]201、確定虛擬大頁面的虛擬地址。
      [0056]值得說明的是,每個虛擬大頁面是由虛擬地址連續(xù)多個虛擬頁面組成,每個虛擬頁面都有與之對應(yīng)的虛擬頁面的虛擬地址,所以在確定待操作的虛擬大頁面之后,則該虛擬大頁面的虛擬地址是確定的。
      [0057]其中,虛擬大頁面的虛擬地址由高位的虛擬大頁面號和低位的虛擬大頁面內(nèi)部偏移組成。
      [0058]進(jìn)一步的,將虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位ScatteredShift和顏色塊的內(nèi)部偏移CR Offset兩個部分。
      [0059]其中,Scattered Shift用于索引虛擬大頁面對應(yīng)的物理大頁面號,且該Scattered Shift劃分在虛擬大頁面內(nèi)部偏移的高位。結(jié)合對虛擬地址的描述,其中,表示虛擬大頁面的內(nèi)部偏移的總位數(shù)是確定的,在該總位數(shù)中,去除掉Scattered Shift占用的位數(shù),其余的低位即為CR Offset。值得說明的是,該Scattered Shift可以表示虛擬大頁面對應(yīng)的物理大頁面的個數(shù),比如,當(dāng)虛擬大頁面對應(yīng)4個離散的物理大頁面時,該Scattered Shift由兩位表示,在對應(yīng)每個物理大頁面時可以分別為00、01、10、11,相應(yīng)的,在虛擬大頁面的內(nèi)部偏移中,出去前兩位,其余的數(shù)位即為CR Offset。
      [0060]結(jié)合上述對虛擬地址的描述,如圖3所示,在本實施例中,虛擬地址從高位到低位依次為虛擬大頁面號Virtual Huge Page Number、離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset,且Scattered Shift與CR Offset組成虛擬大頁面內(nèi)部偏移HugePage Offset。
      [0061]進(jìn)一步的,為了獲取到虛擬大頁面的顏色配置信息,需執(zhí)行下述202。
      [0062]202、通過虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定顏色配置信肩、O
      [0063]值得說明的是,TLB里面存放的是一些頁表文件,這些頁表文件為虛擬地址到物理地址的轉(zhuǎn)換表,記錄有虛擬大頁面號和物理大頁面號的對應(yīng)關(guān)系。具體的,可以根據(jù)虛擬地址中的虛擬大頁面號,在TLB中查找到與該虛擬大頁面號對應(yīng)的物理大頁面號,同時從該TLB中一并確定顏色配置信息。
      [0064]為了更清楚的描述TLB的結(jié)構(gòu),結(jié)合下述附圖3來進(jìn)行說明:
      [0065]如圖4 所不,該 TLB 結(jié)構(gòu)包括:Tag、Attr.、Base Huge PPN (Physical PageNumber)> CR_Entry (Color Reg1n_Entry)、CR_Num。
      [0066]其中,Tag表示頁面地址匹配的標(biāo)記;Attr.表示頁面屬性;Base Huge PPN表示物理大頁面起始頁面號,在本實施例中也就是指,與虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號;CR_Entry表示物理大頁面使用的起始顏色塊,即虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面;CR_Num顏色塊個數(shù),即虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)。其中,CR_Entry和CR_Num作為虛擬大頁面的顏色配置信息存儲在TLB中。
      [0067]可選的,CR表示顏色塊,該顏色塊可以表示一種顏色,還可以表示連續(xù)的多個顏色組成的一個可配置顏色區(qū)域,也就是說,用于表征虛擬大頁面在每個物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色,且與顏色塊對應(yīng)的多個物理頁面在一個物理大頁面中,這些物理頁面的物理地址連續(xù)。由于一個物理大頁面包含的物理頁面的個數(shù)較多,則與該物理大頁面對應(yīng)的顏色個數(shù)相應(yīng)就較多,所以可以不必對每個物理頁面對應(yīng)的顏色都進(jìn)行細(xì)粒度的控制,則顏色塊可認(rèn)為是物理大頁面中顏色配置的基本單位。
      [0068]值得說明的是,本發(fā)明實施例中涉及的TLB較之常規(guī)的TLB,添加了顏色配置信息,該顏色配置信息可以直接添加在TLB中,該顏色配置信息可以是由軟件控制的,進(jìn)而寫入到該TLB中。相應(yīng)的,在TLB上需要設(shè)置獲取該顏色配置信息的接口,該接口能夠在TLB中實現(xiàn)這兩個參數(shù)的配置即可,本發(fā)明實施例對該接口的實現(xiàn)形式不進(jìn)行限定。
      [0069]可選的,該多個物理地址不連續(xù)的物理大頁面,可以稱之為離散式大頁面。為了提高系統(tǒng)的靈活性,還可以對增加一個配置接口,用于決定是否啟動離散式大頁面。進(jìn)一步可選的,當(dāng)配置為I表示啟用離散式大頁面,為O表示使用常規(guī)大頁面,其中,常規(guī)大頁面即一個虛擬大頁面對應(yīng)一個物理大頁面。
      [0070]進(jìn)一步的,在本實施例中,每個顏色塊所包含的顏色個數(shù)相同,且在虛擬大頁面對應(yīng)的每個物理大頁面中起始顏色塊相同,在每個物理大頁面中占用的顏色塊的個數(shù)也是相同的。
      [0071]203、根據(jù)虛擬大頁面的顏色配置信息,獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。
      [0072]進(jìn)一步的,在本發(fā)明實施例提供的技術(shù)方案中,還可以根據(jù)虛擬大頁面的虛擬地址以及獲取的虛擬大頁面的顏色配置信息獲取到與該虛擬地址對應(yīng)的物理地址,可繼續(xù)執(zhí)行下述204。
      [0073]204、根據(jù)虛擬大頁面的虛擬地址以及虛擬大頁面的顏色配置信息獲取與該虛擬地址對應(yīng)的物理地址。
      [0074]可選的,通過虛擬大頁面的虛擬地址以及虛擬大頁面的顏色配置信息獲取與該虛擬大頁面的虛擬地址對應(yīng)的物理地址,可以通過下述公式計算得到。
      [0075]Physical Address= (Base Huge PPN+val(Scattered_Shift))'CR_Entry'CR_Offset
      [0076]其中,符號~,表示拼接,拼接就是簡單的物理移位,也就是將表示后一個參數(shù)的數(shù)位直接添加到之前已經(jīng)確定的數(shù)位的低位。
      [0077]其中,val(Scattered_Shift)表不,Scattered_Shift 的返回值,比如當(dāng)Scattered_Shift 為 00 時,val (Scattered_Shift)的值為 O ;當(dāng) Scattered_Shift 為 01 時。則確定 val (Scattered_Shift)的值為 I。
      [0078]具體的,獲取該物理地址的包括:
      [0079]首先,在確定待操作的虛擬大頁面的虛擬地址之后,需要確定出該虛擬大頁面對應(yīng)的第一個物理大頁面的物理地址,也就是確定出該虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號。從而需要執(zhí)行下述a。
      [0080]a、通過虛擬地址中的虛擬大頁面號,從TLB中確定與虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號。
      [0081]值得說明的是,該a的執(zhí)行即確定了 Base Huge PPN0
      [0082]進(jìn)一步的,結(jié)合上述的描述,每個虛擬大頁面是由多個虛擬地址連續(xù)的虛擬頁面組成的,當(dāng)CR對應(yīng)的顏色塊表示多種連續(xù)的顏色時,即將多個虛擬地址連續(xù)的虛擬頁面作為整體分析,也就是將虛擬大頁面中的多個虛擬頁面均分為多組虛擬地址連續(xù)的虛擬頁面組,每組虛擬頁面對應(yīng)一組物理地址連續(xù)的物理頁面,也就是對應(yīng)一個顏色塊,并且該一組或多組物理地址連續(xù)的物理頁面存在于一個物理大頁面中。
      [0083]進(jìn)一步的,需要確定該每個虛擬頁面對應(yīng)的物理大頁面的頁面號,即確定出BaseHuge PPN+val (Scattered_Shift),需要執(zhí)行下述 b。
      [0084]b、將第一個物理大頁面的頁面號與虛擬大頁面對應(yīng)的物理大頁面的個數(shù)相加,得到與虛擬大頁面對應(yīng)的每個物理大頁面的頁面號。
      [0085]值得說明的是,在本實施例中,一個虛擬大頁面是與多個物理大頁面對應(yīng)的,且該多個物理大頁面之間的物理地址是不連續(xù)的。
      [0086]結(jié)合上述的202的描述,由CR_Entry和CR_Num可以進(jìn)一步的確定虛擬大頁面對應(yīng)的物理大頁面的個數(shù)。
      [0087]具體的,一個物理大頁面中包含確定的物理頁面,則相應(yīng)的能夠確定該物理大頁面可用的所有顏色塊的個數(shù),則物理大頁面的個數(shù)=每個物理大頁面可用的所有顏色塊的個數(shù) /CR_Num。
      [0088]此外,當(dāng)物理頁面的個數(shù)多于cache中可用的顏色個數(shù)時,該cahce中可用的顏色個數(shù)為該物理大頁面可用的所有顏色的個數(shù),僅為可用的所有顏色塊的個數(shù)。
      [0089]進(jìn)一步的,在確定了虛擬大頁面對應(yīng)的物理大頁面的個數(shù)之后,結(jié)合上述a中獲取的虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號,可以依次獲取到該虛擬大頁面對應(yīng)的每個物理大頁面的頁面號。
      [0090]C、確定虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面的頁面號。
      [0091]值得說明的是,由于獲取的虛擬大頁面的顏色配置信息中包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面,則在確定出起始物理頁面之后,就能夠確定該起始物理頁面的物理地址,并且在該起始物理頁面的物理地址中包含有該起始物理頁面的頁面號,進(jìn)而能夠確定每個物理大頁面中對應(yīng)的起始區(qū)里頁面的頁面號。
      [0092]此外,當(dāng)以顏色塊為基本單位時,虛擬大頁面的顏色配置信息中包含,CR_Entry,該CR_Entry表示物理大頁面使用的起始顏色塊,即虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面組,則在確定物理頁面的情況下就能夠確定出物理頁面對應(yīng)的頁面號。
      [0093]d、將每個物理大頁面中對應(yīng)的起始物理頁面的頁面號與CR Offset拼接,得到與虛擬地址對應(yīng)的物理地址。
      [0094]值得說明的是,此處提到的拼接就是在確定物理地址之前數(shù)位的基礎(chǔ)上,將CROffset添加到低位,從而構(gòu)成完整的物理地址,且該物理地址是與虛擬大頁面的虛擬地址對應(yīng)的。
      [0095]此外,以具體實例說明,根據(jù)顏色配置信息確定的虛擬大頁面和多個物理大頁面的對應(yīng)關(guān)系。
      [0096]具體的,顏色塊作為是物理大頁面中顏色配置的基本單位,也就是說,將虛擬大頁面中的多個虛擬頁面均分為多個虛擬頁面組,其中,每一個虛擬頁面組由虛擬地址連續(xù)的多個虛擬頁面組成。對應(yīng)的,每個物理大頁面同樣劃分為相同數(shù)量的物理頁面組,進(jìn)而確定顏色塊的個數(shù)與該物理頁面組的數(shù)量相同。
      [0097]比如,確定所有可用的顏色塊的個數(shù)為8,這8個顏色塊分別表示不同的顏色,因為物理大頁面劃分為的物理頁面組的數(shù)量與cache中的顏色塊的個數(shù)相同,且物理大頁面與cache的對應(yīng)關(guān)系是固定的,則可以認(rèn)為每個物理大頁面有8個可用的顏色塊,且依次為每個顏色塊標(biāo)號為0、1、2…7。
      [0098]具體的,如圖5-1所示,當(dāng)CR_Entry=0, CR_Num=4,物理大頁面的個數(shù)為2時,也就是一個虛擬大頁面對應(yīng)到兩個離散的物理大頁面上,在每個物理大頁面中只使用其中從O開始的4個顏色塊,{O、1、2、3}。當(dāng)然,也可以選取任意顏色塊為起始顏色塊。比如,如圖5-2所示,當(dāng)CR_Entry=4, CR_Num=4,物理大頁面的個數(shù)為2時,也就是說,一個虛擬大頁面對應(yīng)兩個物理地址不連續(xù)的物理大頁面,且在每個物理大頁面中只使用其中,從標(biāo)號4開始的4個顏色塊{4、5、6、7}。
      [0099]本發(fā)明實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)方法,在獲取到包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)的顏色配置信息后,進(jìn)而能夠根據(jù)該顏色配置信息獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。在現(xiàn)有技術(shù)中,虛擬大頁面只能與物理地址連續(xù)的物理大頁面對應(yīng),這樣在存在多個虛擬大頁面時,就會造成這一虛擬大頁面對應(yīng)的物理大頁面共享cache,從而引起cache沖突。本發(fā)明實施例提供的技術(shù)方案,能夠?qū)⑻摂M大頁面對應(yīng)到多個離散的物理大頁面上,從而控制虛擬大頁面能夠占用的cache set,降低了虛擬大頁面之間的cache沖突。
      [0100]本發(fā)明另一實施例提供了一種虛擬大頁面與物理大頁面的對應(yīng)裝置,在該裝置中,一個虛擬大頁面與多個物理大頁面對應(yīng),該多個物理大頁面的物理地址不連續(xù),如圖6所示,該裝置包括:獲取單元61、存儲單元62。
      [0101 ] 獲取單元61,用于獲取虛擬大頁面的顏色配置信息。
      [0102]其中,該顏色配置信息包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)。虛擬大頁面中的一個虛擬頁面對應(yīng)物理大頁面中的一個物理頁面。
      [0103]進(jìn)一步的,獲取單元61,還用于根據(jù)獲取的虛擬大頁面的顏色配置信息,獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。
      [0104]存儲單元62,用于存儲獲取單元61獲取的虛擬大頁面的顏色配置信息。
      [0105]可選的,如圖7所示,該裝置還包括:劃分單元63、確定單元64、計算單元65、拼接單元66 ;獲取單元61,還包括確定子單元611。
      [0106]確定子單元611,用于確定虛擬大頁面的虛擬地址;并通過該虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定顏色配置信息。
      [0107]劃分單元63,用于將獲取單元61中的確定子單元611確定的虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset兩個部分。
      [0108]其中,Scattered Shift用于索引虛擬大頁面對應(yīng)的物理大頁面號;顏色塊用于表征虛擬大頁面在每個物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色,且顏色塊對應(yīng)的多個物理頁面在一個物理大頁面中,且多個物理頁面的物理地址連續(xù)。
      [0109]確定單元64,還用于通過獲取單元61中的確定子單元611確定的虛擬地址中的虛擬大頁面號,從TLB中確定與該虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號。
      [0110]計算單元65,用于將確定單元64確定的第一個物理大頁面的頁面號與虛擬大頁面對應(yīng)的物理大頁面的個數(shù)相加,得到與虛擬大頁面對應(yīng)的每個物理大頁面的頁面號。
      [0111]確定單元64,還用于確定虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面的頁面號。
      [0112]拼接單元66,用于將確定單元64確定的每個物理大頁面中對應(yīng)的起始物理頁面的頁面號與劃分單元63劃分得到的CR Offset拼接,得到與虛擬地址對應(yīng)的物理地址。
      [0113]本發(fā)明實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)裝置,在獲取單元獲取到包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)的顏色配置信息后,進(jìn)而能夠根據(jù)該顏色配置信息獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。在現(xiàn)有技術(shù)中,虛擬大頁面只能與物理地址連續(xù)的物理大頁面對應(yīng),這樣在存在多個虛擬大頁面時,就會造成這一虛擬大頁面對應(yīng)的物理大頁面共享cache,從而引起cache沖突。本發(fā)明實施例提供的技術(shù)方案,能夠?qū)⑻摂M大頁面對應(yīng)到多個離散的物理大頁面上,從而控制虛擬大頁面能夠占用的cache set,降低了虛擬大頁面之間的cache沖突。
      [0114]本發(fā)明另一實施例提供了一種虛擬大頁面與物理大頁面的對應(yīng)裝置,該裝置包括:處理器01、存儲器02。如圖8所示,圖8為一種虛擬大頁面與物理大頁面的對應(yīng)裝置的硬件結(jié)構(gòu)示意圖。其中,該裝置可包括處理器01、存儲器02、和總線03。其中,處理器01、存儲器02通過總線03連接。
      [0115]處理器01可以采用通用的中央處理器(Central Processing Unit, CPU),微處理器,應(yīng)用專用集成電路(Applicat1n Specific Integrated Circuit, ASIC),或者一個或多個集成電路,用于執(zhí)行相關(guān)程序,以實現(xiàn)本發(fā)明實施例所提供的技術(shù)方案。
      [0116]存儲器02可以是只讀存儲器(Read Only Memory, ROM),靜態(tài)存儲設(shè)備,動態(tài)存儲設(shè)備或者隨機(jī)存取存儲器(Random Access Memory, RAM)0存儲器1102可以存儲操作系統(tǒng)和其他應(yīng)用程序。在通過軟件或者固件來實現(xiàn)本發(fā)明實施例提供的技術(shù)方案時,用于實現(xiàn)本發(fā)明實施例提供的技術(shù)方案的程序代碼保存在存儲器02中,并由處理器01來執(zhí)行。
      [0117]總線03可包括一通路,在裝置各個部件(例如,存儲器02和處理器01)之間傳送信息。
      [0118]應(yīng)注意,盡管圖8所示的硬件僅僅示出了處理器01、存儲器02和總線03,但是在具體實現(xiàn)過程中,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,該終端還包含實現(xiàn)正常運(yùn)行所必須的其他器件。同時,根據(jù)具體需要,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,還可包含實現(xiàn)其他功能的硬件器件。
      [0119]具體的,處理器01,用于確定虛擬大頁面的虛擬地址,并通過虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定顏色配置信息。
      [0120]可選的,顏色配置信息包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)。且虛擬大頁面中的一個虛擬頁面對應(yīng)物理大頁面中的一個物理頁面。
      [0121]進(jìn)一步的,處理器OI,還用于根據(jù)虛擬大頁面的顏色配置信息,獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。
      [0122]存儲器02,用于存儲處理器01確定的虛擬大頁面的虛擬地址以及從TLB中確定的顏色配置信息。
      [0123]可選的,處理器01,還用于將虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset兩個部分。
      [0124]其中,Scattered Shift用于索引虛擬大頁面對應(yīng)的物理大頁面號;顏色塊用于表征虛擬大頁面在每個物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色。與該顏色塊對應(yīng)的多個物理頁面在一個物理大頁面中,這多個物理頁面的物理地址連續(xù)。
      [0125]可選的,在TLB中記錄有虛擬大頁面號和物理大頁面號的對應(yīng)關(guān)系,進(jìn)一步的,處理器01,還用于通過虛擬地址中的虛擬大頁面號,從TLB中確定與該虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號;將第一個物理大頁面的頁面號與虛擬大頁面對應(yīng)的物理大頁面的個數(shù)相加,得到與虛擬大頁面對應(yīng)的每個物理大頁面的頁面號;確定虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面的頁面號;并將每個物理大頁面中對應(yīng)的起始物理頁面的頁面號與CR Offset拼接,得到與所述虛擬地址對應(yīng)的所述物理地址。
      [0126]本發(fā)明實施例提供的一種虛擬大頁面與物理大頁面的對應(yīng)裝置,在處理器獲取到包括虛擬大頁面在每個物理大頁面中對應(yīng)的起始物理頁面和虛擬大頁面在每個物理大頁面中對應(yīng)的物理頁面的個數(shù)的顏色配置信息后,存儲器存儲該獲取到的顏色配置信息,進(jìn)而能夠根據(jù)該顏色配置信息獲取虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。在現(xiàn)有技術(shù)中,虛擬大頁面只能與物理地址連續(xù)的物理大頁面對應(yīng),這樣在存在多個虛擬大頁面時,就會造成這一虛擬大頁面對應(yīng)的物理大頁面共享cache,從而引起cache沖突。本發(fā)明實施例提供的技術(shù)方案,能夠?qū)⑻摂M大頁面對應(yīng)到多個離散的物理大頁面上,從而控制虛擬大頁面能夠占用的cache set,降低了虛擬大頁面之間的cache沖突。
      [0127]通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
      [0128]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      【權(quán)利要求】
      1.一種虛擬大頁面與物理大頁面的對應(yīng)方法,其特征在于,一個虛擬大頁面與多個物理大頁面對應(yīng),所述多個物理大頁面的物理地址不連續(xù),所述方法包括: 獲取虛擬大頁面的顏色配置信息,所述顏色配置信息包括所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面和所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的物理頁面的個數(shù); 其中,所述虛擬大頁面中的一個虛擬頁面對應(yīng)所述物理大頁面中的一個物理頁面; 根據(jù)所述虛擬大頁面的顏色配置信息,獲取所述虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取虛擬大頁面的顏色配置信息,包括: 確定所述虛擬大頁面的虛擬地址; 通過所述虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定所述顏色配置信肩、O
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 將所述虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset兩個部分,所述Scattered Shift用于索引所述虛擬大頁面對應(yīng)的物理大頁面號; 所述顏色塊用于表征所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色; 其中,與所述顏色塊對應(yīng)的所述多個物理頁面在一個物理大頁面中,且所述多個物理頁面的物理地址連續(xù)。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述TLB中記錄有虛擬大頁面號和物理大頁面號的對應(yīng)關(guān)系,所述方法還包括: 通過所述虛擬地址中的虛擬大頁面號,從所述TLB中確定與所述虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號; 將所述第一個物理大頁面的頁面號與所述虛擬大頁面對應(yīng)的所述物理大頁面的個數(shù)相加,得到與所述虛擬大頁面對應(yīng)的每個物理大頁面的頁面號; 確定所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號;并將每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號與所述CR Offset拼接,得到與所述虛擬地址對應(yīng)的所述物理地址。
      5.一種虛擬大頁面與物理大頁面的對應(yīng)裝置,其特征在于,在所述裝置中,一個虛擬大頁面與多個物理大頁面對應(yīng),所述多個物理大頁面的物理地址不連續(xù),所述裝置包括: 獲取單元,用于獲取虛擬大頁面的顏色配置信息,所述顏色配置信息包括所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面和所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的物理頁面的個數(shù); 其中,所述虛擬大頁面中的一個虛擬頁面對應(yīng)所述物理大頁面中的一個物理頁面;所述獲取單元,還用于根據(jù)獲取的所述虛擬大頁面的顏色配置信息,獲取所述虛擬大頁面與多個物理大頁面的對應(yīng)關(guān)系; 存儲單元,用于存儲所述獲取單元獲取的所述虛擬大頁面的顏色配置信息。
      6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述獲取單元包括: 確定子單元,用于確定所述虛擬大頁面的虛擬地址;并通過所述虛擬地址中的虛擬大頁面號,從旁路轉(zhuǎn)換緩沖TLB中確定所述顏色配置信息。
      7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 劃分單元,用于將所述確定子單元確定的所述虛擬地址中的虛擬大頁面內(nèi)部偏移劃分為:離散移位Scattered Shift和顏色塊的內(nèi)部偏移CR Offset兩個部分,所述ScatteredShift用于索引所述虛擬大頁面對應(yīng)的物理大頁面號; 所述顏色塊用于表征所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的多個物理頁面所對應(yīng)的緩存中的多種顏色; 其中,與所述顏色塊對應(yīng)的所述多個物理頁面在一個物理大頁面中,且所述多個物理頁面的物理地址連續(xù)。
      8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述TLB中記錄有虛擬大頁面號和物理大頁面號的對應(yīng)關(guān)系,所述裝置還包括: 確定單元,還用于通過所述虛擬地址中的虛擬大頁面號,從所述TLB中確定與所述虛擬大頁面對應(yīng)的第一個物理大頁面的頁面號; 計算單元,用于將所述確定單元確定的所述第一個物理大頁面的頁面號與所述虛擬大頁面對應(yīng)的所述物理大頁面的個數(shù)相加,得到與所述虛擬大頁面對應(yīng)的每個物理大頁面的頁面號; 所述確定單元,還用于確定所述虛擬大頁面在每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號; 拼接單元,用于將所述確定單元確定的每個所述物理大頁面中對應(yīng)的起始物理頁面的頁面號與所述CR Offset拼接,得到與所述虛擬地址對應(yīng)的所述物理地址。
      【文檔編號】G06F12/06GK104516826SQ201310462565
      【公開日】2015年4月15日 申請日期:2013年9月30日 優(yōu)先權(quán)日:2013年9月30日
      【發(fā)明者】陳荔城, 崔澤漢, 王亞楠, 陳明宇 申請人:華為技術(shù)有限公司, 中國科學(xué)院計算技術(shù)研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1