一種基于隊(duì)列對(duì)通信的物理地址確定方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供的基于隊(duì)列對(duì)通信的物理地址確定方法及裝置,在將虛擬地址轉(zhuǎn)換為物理地址的過程中,如果旁路轉(zhuǎn)換緩沖中不存在待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào),則將主存中的n組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,所述n為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,說明將主存中保存而旁路轉(zhuǎn)換緩沖中沒有的對(duì)應(yīng)關(guān)系存儲(chǔ)到旁路轉(zhuǎn)換緩沖中,并且,將旁路轉(zhuǎn)換緩沖中所有的單元中的數(shù)據(jù)全部進(jìn)行更新;并且,因?yàn)閚個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所以,至少可以保證下一次虛擬地址轉(zhuǎn)換時(shí),旁路轉(zhuǎn)換緩沖中能夠查詢到第二虛擬頁號(hào),而不需要查詢主存,因此,能夠減小地址轉(zhuǎn)化的時(shí)延。
【專利說明】一種基于隊(duì)列對(duì)通信的物理地址確定方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種基于隊(duì)列對(duì)通信的物理地址確定方法及裝置。
【背景技術(shù)】
[0002]在基于隊(duì)列的通信機(jī)制中,需要將虛擬地址轉(zhuǎn)換為物理地址,此轉(zhuǎn)換過程通常在地址轉(zhuǎn)換單元中進(jìn)行,為了加快虛實(shí)地址的轉(zhuǎn)換,地址轉(zhuǎn)換單元將經(jīng)常使用的虛擬地址和物理地址的對(duì)應(yīng)關(guān)系存儲(chǔ)在旁路轉(zhuǎn)換緩沖中,如圖1所示,旁路轉(zhuǎn)換緩沖中存儲(chǔ)有虛擬地址的虛擬頁號(hào)及物理地址的物理頁號(hào),虛擬頁號(hào)與物理頁號(hào)一一對(duì)應(yīng),表示虛擬地址與物理地址--對(duì)應(yīng)。
[0003]地址轉(zhuǎn)換單元進(jìn)行地址的虛實(shí)轉(zhuǎn)換時(shí),從旁路轉(zhuǎn)換緩沖中查詢待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào),查詢到(命中)后,再獲取與待轉(zhuǎn)換的虛擬地址的頁號(hào)對(duì)應(yīng)的物理地址的頁號(hào),從而可以將待轉(zhuǎn)換的虛擬地址轉(zhuǎn)換為物理地址,如果從旁路轉(zhuǎn)換緩沖中沒有查詢到待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào)(不命中),則需要在主存中查詢待轉(zhuǎn)換的虛擬地址的頁號(hào)及其對(duì)應(yīng)的物理地址的頁號(hào),因?yàn)榕c查詢旁路轉(zhuǎn)換緩沖相比,查詢主存的要耗費(fèi)更多的時(shí)間,所以,在此機(jī)制下,如果在旁路轉(zhuǎn)換緩沖中連續(xù)多次不命中,則需要連續(xù)多次查詢主存,這無疑會(huì)增加地址轉(zhuǎn)換的時(shí)延。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例提供了基于隊(duì)列對(duì)通信的物理地址確定方法及裝置,目的在于解決現(xiàn)有的基于隊(duì)列對(duì)通信的虛實(shí)地址轉(zhuǎn)換的過程中,在旁路轉(zhuǎn)換緩沖連續(xù)多次不命中的情況下,增加地址轉(zhuǎn)換時(shí)延的問題。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供以下技術(shù)方案:
[0006]本發(fā)明實(shí)施例的第一方面提供了一種基于隊(duì)列對(duì)通信的物理地址確定方法,包括:
[0007]確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),所述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào);
[0008]在所述旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào)的情況下,將主存中組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,!1個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào)用于確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
[0009]在本發(fā)明實(shí)施例的第一方面的第一種實(shí)現(xiàn)方式中,所述!1個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào)。
[0010]在本發(fā)明實(shí)施例的第一方面的第二種實(shí)現(xiàn)方式中,所述!1個(gè)虛擬頁號(hào)連續(xù)。
[0011]在本發(fā)明實(shí)施例的第一方面的第三種實(shí)現(xiàn)方式中,所述確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào)包括:
[0012]依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,直至當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào);
[0013]如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)。
[0014]在本發(fā)明實(shí)施例的第一方面的第四種實(shí)現(xiàn)方式中,所述依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較包括:
[0015]比較所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào),所述旁路轉(zhuǎn)換緩沖為先入先出隊(duì)列結(jié)構(gòu);
[0016]如果所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào)不相同,對(duì)所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)及其對(duì)應(yīng)的物理地址進(jìn)行出隊(duì)。
[0017]在本發(fā)明實(shí)施例的第一方面的第五種實(shí)現(xiàn)方式中,所述將主存中II組對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中包括:
[0018]按照虛擬頁號(hào)從大到小的順序,將所述個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中的存儲(chǔ)單元中,其中,最小的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)存儲(chǔ)在所述旁路轉(zhuǎn)換緩沖中的首地址對(duì)應(yīng)的存儲(chǔ)單元中。
[0019]本發(fā)明實(shí)施例的第二方面提供了一種基于隊(duì)列對(duì)通信的物理地址確定裝置,包括:
[0020]確定模塊,用于確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào);
[0021〕 存儲(chǔ)模塊,用于在旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào)的情況下,將主存中II組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào)用于確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
[0022]在本發(fā)明實(shí)施例第二方面的第一種實(shí)現(xiàn)方式中,所述存儲(chǔ)模塊包括:
[0023]第一存儲(chǔ)單元,用于在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,將主存中II個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,所述II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,所述II個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào),并且II個(gè)虛擬頁號(hào)連續(xù)。
[0024]在本發(fā)明實(shí)施例第二方面的第二種實(shí)現(xiàn)方式中,所述確定模塊包括:
[0025]比較單元,用于依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,直至當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào);
[0026]確定單元,用于如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)。
[0027]在本發(fā)明實(shí)施例第二方面的第三種實(shí)現(xiàn)方式中,所述比較單元包括:
[0028]首部比較子單元,用于比較所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào)不相同,對(duì)所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)及其對(duì)應(yīng)的物理地址進(jìn)行出隊(duì),所述旁路轉(zhuǎn)換緩沖為先入先出隊(duì)列結(jié)構(gòu);
[0029]控制子單元,用于當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)時(shí),控制所述首部比較子單元停止比較。
[0030]在本發(fā)明實(shí)施例第二方面的第四種實(shí)現(xiàn)方式中,所述存儲(chǔ)模塊包括:
[0031]第二存儲(chǔ)單元,用于在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,按照虛擬頁號(hào)從大到小的順序,將II個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中的存儲(chǔ)單元中,其中,最小的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)存儲(chǔ)在所述旁路轉(zhuǎn)換緩沖中的首地址對(duì)應(yīng)的存儲(chǔ)單元中,所述II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述!1為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,所述!1個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào),并且所述II個(gè)虛擬頁號(hào)連續(xù)。
[0032]本發(fā)明實(shí)施例提供的基于隊(duì)列對(duì)通信的物理地址確定方法及裝置,在將虛擬地址轉(zhuǎn)換為物理地址的過程中,如果旁路轉(zhuǎn)換緩沖中不存在待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào),貝0將主存中的II組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,說明將主存中保存而旁路轉(zhuǎn)換緩沖中沒有的對(duì)應(yīng)關(guān)系存儲(chǔ)到旁路轉(zhuǎn)換緩沖中,并且,將旁路轉(zhuǎn)換緩沖中所有的單元中的數(shù)據(jù)全部進(jìn)行更新;
[0033]并且,因?yàn)閭€(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所以,至少可以保證下一次虛擬地址轉(zhuǎn)換時(shí),旁路轉(zhuǎn)換緩沖中能夠查詢到第二虛擬頁號(hào),而不需要查詢主存,因此,能夠減小地址轉(zhuǎn)化的時(shí)延。
【專利附圖】
【附圖說明】
[0034]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0035]圖1為旁路轉(zhuǎn)換緩沖中存儲(chǔ)虛擬頁號(hào)及物理頁號(hào)的示意圖;
[0036]圖2為本發(fā)明實(shí)施例公開的一種基于隊(duì)列對(duì)通信的物理地址確定方法的流程圖;
[0037]圖3為旁路轉(zhuǎn)換緩沖中存儲(chǔ)虛擬頁號(hào)及物理頁號(hào)的示例;
[0038]圖4為圖3所示的旁路轉(zhuǎn)換緩沖中存儲(chǔ)虛擬頁號(hào)及物理頁號(hào)更新后的示例;
[0039]圖5為本發(fā)明實(shí)施例公開的又一種基于隊(duì)列對(duì)通信的物理地址確定方法的流程圖;
[0040]圖6為隊(duì)列對(duì)通信構(gòu)架的示意圖;
[0041]圖7為旁路轉(zhuǎn)換緩沖中包括2個(gè)存儲(chǔ)單元的示例;
[0042]圖8為本發(fā)明實(shí)施例公開的又一種基于隊(duì)列對(duì)通信的物理地址確定方法的流程圖;
[0043]圖9為本發(fā)明實(shí)施例公開的一種基于隊(duì)列對(duì)通信的物理地址確定裝置的接收示意圖;
[0044]圖10為本發(fā)明實(shí)施例公開的又一種基于隊(duì)列對(duì)通信的物理地址確定裝置的接收示意圖;
[0045]圖11為本發(fā)明實(shí)施例公開的又一種基于隊(duì)列對(duì)通信的物理地址確定裝置的接收示意圖。
【具體實(shí)施方式】
[0046]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0047]本發(fā)明實(shí)施例公開的一種基于隊(duì)列對(duì)通信的物理地址確定方法,如圖2所示,包括:
[0048]8201:確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),所述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào);
[0049]8202:在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,將主存中II組對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到旁路轉(zhuǎn)換緩沖中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述!1為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量。
[0050]本實(shí)施例中旁路轉(zhuǎn)換緩沖中包括存儲(chǔ)單元,每一個(gè)存儲(chǔ)單元中存儲(chǔ)一組對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)。
[0051]現(xiàn)有技術(shù)中,當(dāng)旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)時(shí),為了獲取與所述虛擬地址的虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào),需要從主存中查詢虛擬地址的虛擬頁號(hào),當(dāng)幾次連續(xù)地從旁路轉(zhuǎn)換緩沖中查找不到虛擬頁號(hào)時(shí),就需要連續(xù)地查詢主存,而查詢主存耗費(fèi)的時(shí)間必然比查詢旁路轉(zhuǎn)換緩沖耗費(fèi)的時(shí)間多,所以,會(huì)導(dǎo)致地址轉(zhuǎn)換的時(shí)延增大。
[0052]例如,如圖3所示,旁路轉(zhuǎn)換緩沖中存儲(chǔ)有4組--對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào),
如果第一虛擬頁號(hào)為15000,因?yàn)榕月忿D(zhuǎn)換緩沖中查不到15000,所以,需要從主存中的頁表中查找,而當(dāng)下一個(gè)待查詢的頁號(hào)為16000時(shí),同樣需要從主存中查詢。
[0053]通常,在基于隊(duì)列對(duì)(㈨6116的通信過程中,按照虛擬地址的虛擬頁號(hào)從大到小的順序,依次將虛擬地址轉(zhuǎn)換為物理地址。
[0054]本實(shí)施例中,基于隊(duì)列對(duì)(㈨61X6通信過程中,按照虛擬地址的虛擬頁號(hào)從大到小的順序依次將虛擬地址轉(zhuǎn)換為物理地址的特點(diǎn),當(dāng)在旁路轉(zhuǎn)換緩沖中查找不到第一虛擬頁號(hào)時(shí),說明以后待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào)均大于旁路轉(zhuǎn)換緩沖中現(xiàn)有的虛擬頁號(hào),因此,本實(shí)施例中所述的方法中,將主存中的II個(gè)--對(duì)應(yīng)的虛擬頁號(hào)和物理頁號(hào)存儲(chǔ)到旁路轉(zhuǎn)換緩沖中,目的在于,用主存中存儲(chǔ)的虛擬頁號(hào)及其物理頁號(hào)更新旁路轉(zhuǎn)換緩沖中所有存儲(chǔ)單元中以存儲(chǔ)的虛擬頁號(hào)及其物理頁號(hào),并且更新后的虛擬頁號(hào)中包括以后需要查詢的虛擬頁號(hào),使得在以后的查詢中,能夠減少查詢主存的次數(shù),從而減小地址轉(zhuǎn)換的時(shí)延。
[0055]例如,在圖3所示的情況下,如果第一虛擬頁號(hào)為15000,則將主存的頁表中15000、16000及其對(duì)應(yīng)的物理頁號(hào)更新到旁路轉(zhuǎn)換緩沖中,更新后的旁路轉(zhuǎn)換緩沖中存儲(chǔ)的數(shù)據(jù)如圖4所示。
[0056]如圖4中,使用本實(shí)施例所述的方法對(duì)旁路轉(zhuǎn)換緩沖中存儲(chǔ)的數(shù)據(jù)進(jìn)行更新后,因?yàn)橄乱粋€(gè)待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào)為16000,因此,旁路轉(zhuǎn)換緩沖中存儲(chǔ)的對(duì)應(yīng)關(guān)系能夠命中,而無需再?gòu)闹鞔嬷胁樵?,從而降低時(shí)延。
[0057]從上述分析可以看出,本實(shí)施例所述的方法,充分考慮到隊(duì)列對(duì)通信中地址轉(zhuǎn)換順序的特點(diǎn),能夠恰好滿足減少地址轉(zhuǎn)換時(shí)延的需求。反之,如果沒有隊(duì)列對(duì)通信中地址轉(zhuǎn)換順序的制約,更新后的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)可能是下一次查詢中需要的,此時(shí),還是需要從主存中查詢,而不能有效減小時(shí)延。
[0058]本發(fā)明實(shí)施例公開的又一種基于隊(duì)列對(duì)通信的物理地址確定方法,如圖5所示,包括:
[0059]8501:確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào);
[0060]可選地,本實(shí)施例中,確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào)的具體方法可以包括:
[0061]依據(jù)預(yù)設(shè)順序,將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,直至所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者所述旁路轉(zhuǎn)換緩沖滿足預(yù)設(shè)條件;
[0062]如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖滿足預(yù)設(shè)條件,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào)。
[0063]其中,預(yù)設(shè)順序可以為地址從小到大的順序,即從首地址存儲(chǔ)的虛擬頁號(hào)開始,依次將將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,當(dāng)所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同時(shí)停止比較,確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào);當(dāng)遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)后停止比較,如果旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)。
[0064]例如,第一虛擬頁號(hào)為16000,對(duì)于如圖4所示的旁路轉(zhuǎn)換緩沖,則按照地址從大到小的順序,先將首部的15000與16000比較,兩者不相同,也沒有遍歷所有虛擬頁號(hào),因此,繼續(xù)將16000與16000比較,兩者相同,則停止比較,確定旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào)。
[0065]又例如,第一虛擬頁號(hào)為19000,則按照從地址從大到小的順序,分別將圖4中的虛擬頁號(hào)與19000進(jìn)行比較,最后比較的是16000與19000,兩者不同,但是滿足遍歷所有虛擬頁號(hào)這一條件,因此,停止比較過程,因?yàn)樗刑摂M頁號(hào)都與19000不同,所以確定旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)。
[0066]8502:如果所述旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào),將所述主存中的II組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量;
[0067]可選地,本實(shí)施例中,所述II個(gè)虛擬頁號(hào)連續(xù),進(jìn)一步地,可選地,所述II個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào)。
[0068]3503:如果所述旁路轉(zhuǎn)換緩沖中存在所述第一虛擬頁號(hào),則依據(jù)所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào),將待轉(zhuǎn)換的虛擬地址轉(zhuǎn)換為物理地址。
[0069]本實(shí)施例所述的方法,能夠有效減少因在旁路轉(zhuǎn)換緩沖中查找不到待轉(zhuǎn)換虛擬地址的虛擬頁號(hào)而導(dǎo)致的地址轉(zhuǎn)換時(shí)延增加的問題。
[0070]本發(fā)明實(shí)施例公開的又一種基于隊(duì)列對(duì)通信的地址轉(zhuǎn)換方法,如圖6所示,在隊(duì)列對(duì)通信中,發(fā)送端的軟件層在內(nèi)存中準(zhǔn)備好需要傳輸?shù)臄?shù)據(jù),接收端的軟件層在內(nèi)存中準(zhǔn)備好接收數(shù)據(jù)存放的緩沖區(qū),發(fā)送端的軟件層創(chuàng)建傳輸?shù)墓ぷ麝?duì)列元素(104如6116£161116111:,購(gòu)2),然后將購(gòu)2插入發(fā)送隊(duì)列(3611(1 0116116, 80)中,每個(gè)購(gòu)2記錄一個(gè)或多個(gè)需要發(fā)送的數(shù)據(jù)緩沖區(qū),包括該數(shù)據(jù)緩沖區(qū)的起始虛擬地址和大小。接收端的軟件層創(chuàng)建接收的1證,并將1證按序插入接收隊(duì)列(0606:1^6如6116,即)中。每個(gè)1證指向一個(gè)或多個(gè)接收緩沖區(qū),包括接收緩沖區(qū)的起始虛擬地址和大小。發(fā)送端的適配器處理80的隊(duì)列頭I證,根據(jù)I證指明的數(shù)據(jù)緩沖區(qū)取出數(shù)據(jù)并向接收端發(fā)送,接收端的狀一旦接收到數(shù)據(jù),便取出即隊(duì)列的首個(gè)I證,將接收到的數(shù)據(jù)保存到I證指明的緩沖區(qū)中。當(dāng)發(fā)送端的處理好一個(gè)30的1證時(shí),生成一個(gè)完成隊(duì)列元素(03,161:10110116116 £161116111:,印2 ),用以指示一個(gè)發(fā)送的完成,并將該印2插入到完成隊(duì)列((?]?) 161: 1011¢)116116,(?)中。對(duì)于接收端,當(dāng)接收好一個(gè)數(shù)據(jù)包時(shí),生成一個(gè)⑶匕插入(?中,指示一個(gè)接收的完成。
[0071]因?yàn)榧?2中為虛擬地址,所以適配器在處理時(shí),需要將虛擬地址轉(zhuǎn)換為物理地址,本實(shí)施例中,旁路轉(zhuǎn)換緩沖為先入先出隊(duì)列結(jié)構(gòu),圖7所示為旁路轉(zhuǎn)換緩沖中包括2個(gè)存儲(chǔ)單元的示例。本實(shí)施例所述的地址轉(zhuǎn)換方法,如圖8所示,包括:
[0072]8801:比較所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào)是否相同,如果是,執(zhí)行3807,如果否,執(zhí)行3802 ;
[0073]3802:對(duì)所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)及其對(duì)應(yīng)的物理地址進(jìn)行出隊(duì);
[0074]8803:判斷所述旁路轉(zhuǎn)換緩沖是否為空,如果是,執(zhí)行3804,如果否,執(zhí)行3801 ;
[0075]8804:確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào);
[0076]8805:將主存中的II組--對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中;
[0077]其中,個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào)及對(duì)應(yīng)的物理頁號(hào),所述II組對(duì)應(yīng)關(guān)系中的II個(gè)虛擬頁號(hào)連續(xù)且所述II個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào)。
[0078]本實(shí)施例中,可以按照虛擬頁號(hào)從大到小的順序,將所述!1組對(duì)應(yīng)關(guān)系存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中的存儲(chǔ)單元中,其中,最小的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)存儲(chǔ)在所述旁路轉(zhuǎn)換緩沖中的首地址對(duì)應(yīng)的存儲(chǔ)單元中。
[0079]8806:從旁路轉(zhuǎn)換緩沖中確定與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào);
[0080]可以依據(jù)所述物理頁號(hào),確定物理地址。
[0081]8807:確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),執(zhí)行3806。
[0082]例如,待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào),即第一虛擬頁號(hào)分別為11000、12000、13000和14000。圖7-1中,旁路轉(zhuǎn)換緩沖中存儲(chǔ)有11000與12000對(duì)應(yīng)的物理頁號(hào)1、2,其中,八310表不進(jìn)程號(hào)。
[0083]首先進(jìn)行虛擬頁號(hào)為11000的虛擬地址的轉(zhuǎn)換,按照本實(shí)施例所述的方法,通過比較,確定首部中存儲(chǔ)的11000與11000相同,命中,則可以獲取物理頁號(hào)1,從而將虛擬地址轉(zhuǎn)換為物理地址。
[0084]再進(jìn)行虛擬頁號(hào)為12000的虛擬地址的轉(zhuǎn)換,通過比較,確定首部中存儲(chǔ)的11000與12000不同,則將11000及1出隊(duì),出隊(duì)后旁路轉(zhuǎn)換緩沖中的數(shù)據(jù)如圖7-2所示,不為空,則繼續(xù)比較,確定首部中存儲(chǔ)的12000與12000相同,命中,可以將虛擬地址轉(zhuǎn)換為物理地址。
[0085]再進(jìn)行虛擬頁號(hào)為13000的虛擬地址的轉(zhuǎn)換,通過比較確定首部中存儲(chǔ)的12000與13000不同,將12000及2出隊(duì),出隊(duì)后旁路轉(zhuǎn)換緩沖中的數(shù)據(jù)如圖7-3所示,為空,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào),將所述主存中的兩組對(duì)應(yīng)關(guān)系存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,如圖7-4,在此基礎(chǔ)上,如前所述,可以繼續(xù)完成13000和14000的命中,從而完成地址的轉(zhuǎn)換。
[0086]在上述舉例中,13000和14000均不存在圖7-1所示的起始旁路轉(zhuǎn)換緩沖中,要完成全部轉(zhuǎn)換,本實(shí)施例中需要一次查詢主存的過程,而在現(xiàn)有技術(shù)中,需要兩次查詢主存的過程,可見,本實(shí)施例所述的方法,能夠減少查詢主存的過程,從而提高處理速度,并且,旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量越多,本實(shí)施例所述的方法的優(yōu)勢(shì)越大。
[0087]其次,本實(shí)施例所述的方法中,旁路轉(zhuǎn)換緩沖使用先入先出隊(duì)列的結(jié)構(gòu),每一次只查詢隊(duì)列首部,與現(xiàn)有技術(shù)中同時(shí)查詢旁路轉(zhuǎn)換緩沖中所有的虛擬頁號(hào)相比,能夠減少對(duì)資源的損耗。
[0088]與上述方法實(shí)施例相對(duì)應(yīng)地,本發(fā)明實(shí)施例還公開的一種基于隊(duì)列對(duì)通信的物理地址確定裝置,如圖9所示,包括:
[0089]確定模塊901,用于確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào);
[0090]存儲(chǔ)模塊902,用于在旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào)的情況下,將主存中II組--對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào)用于確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
[0091]本實(shí)施例中公開的又一種基于隊(duì)列對(duì)通信的物理地址確定裝置,如圖10所示,包括:
[0092]比較單元1001,用于依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,直至當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào);
[0093]確定單元1002,用于如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào);
[0094]第一存儲(chǔ)單元1003,用于在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,將主存中!1個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,所述II個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào),并且所述個(gè)虛擬頁號(hào)連續(xù)。
[0095]本實(shí)施例中公開的又一種基于隊(duì)列對(duì)通信的物理地址確定裝置,如圖11所示,包括:
[0096]首部比較子單元1101,用于比較所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào)不相同,對(duì)所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)及其對(duì)應(yīng)的物理地址進(jìn)行出隊(duì),所述旁路轉(zhuǎn)換緩沖為先入先出隊(duì)列結(jié)構(gòu);
[0097]控制子單元1102,用于當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)時(shí),控制所述首部比較子單元停止比較;
[0098]確定單元1103,用于如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào);
[0099]第二存儲(chǔ)單元1104,用于在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,按照虛擬頁號(hào)從大到小的順序,將所述II個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中的存儲(chǔ)單元中,其中,最小的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)存儲(chǔ)在所述旁路轉(zhuǎn)換緩沖中的首地址對(duì)應(yīng)的存儲(chǔ)單元中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,所述II個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào),并且所述II個(gè)虛擬頁號(hào)連續(xù)。
[0100]獲取模塊1105,用于在旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào)的情況下,獲取與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào);
[0101]地址確定模塊1106,用于依據(jù)所述物理頁號(hào),確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
[0102]本發(fā)明實(shí)施例公開的一種適配器,包括:
[0103]處理器,用于確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),所述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào),并在所述旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào)的情況下,將主存中II組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,II個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述II為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào)用于確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址;
[0104]存儲(chǔ)器,用于存儲(chǔ)所述處理器中的程序,以及所述處理器運(yùn)行過程中產(chǎn)生的數(shù)據(jù)。
[0105]本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括山盤、移動(dòng)硬盤、只讀存儲(chǔ)器(801, 1^21(1-01117隨機(jī)存取存儲(chǔ)器(狀1,1^111(10111 ^00688 1611101*7)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0106]本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。
[0107]對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種基于隊(duì)列對(duì)通信的物理地址確定方法,其特征在于,包括: 確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),所述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào); 在所述旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào)的情況下,將主存中η組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,η個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述η為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào)用于確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述η個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述η個(gè)虛擬頁號(hào)連續(xù)。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào)包括: 依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,直至當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào); 如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較包括: 比較所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào),所述旁路轉(zhuǎn)換緩沖為先入先出隊(duì)列結(jié)構(gòu); 如果所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào)不相同,對(duì)所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)及其對(duì)應(yīng)的物理地址進(jìn)行出隊(duì)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)包括: 所述旁路轉(zhuǎn)換緩沖為空。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述將主存中η組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中包括: 按照虛擬頁號(hào)從大到小的順序,將所述η個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中的存儲(chǔ)單元中,其中,最小的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)存儲(chǔ)在所述旁路轉(zhuǎn)換緩沖中的首地址對(duì)應(yīng)的存儲(chǔ)單元中。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào)的情況下,獲取與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào); 依據(jù)所述物理頁號(hào),確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
9.一種基于隊(duì)列對(duì)通信的物理地址確定裝置,其特征在于,包括: 確定模塊,用于確定旁路轉(zhuǎn)換緩沖中是否存在第一虛擬頁號(hào),述第一虛擬頁號(hào)為待轉(zhuǎn)換的虛擬地址的虛擬頁號(hào); 存儲(chǔ)模塊,用于在旁路轉(zhuǎn)換緩沖中不存在所述第一虛擬頁號(hào)的情況下,將主存中η組一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,其中,η個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述η為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào)用于確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述存儲(chǔ)模塊包括: 第一存儲(chǔ)單元,用于在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,將主存中η個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中,所述η個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述η為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,所述η個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào),并且η個(gè)虛擬頁號(hào)連續(xù)。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述確定模塊包括: 比較單元,用于依據(jù)預(yù)設(shè)順序,依次將旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)進(jìn)行比較,直至當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào); 確定單元,用于如果所述旁路轉(zhuǎn)換緩沖中的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同,則確定所述旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)都與所述第一虛擬頁號(hào)不同,則確定所述旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述比較單元包括: 首部比較子單元,用于比較所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào),如果所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)與所述第一虛擬頁號(hào)不相同,對(duì)所述旁路轉(zhuǎn)換緩沖的首部中存儲(chǔ)的虛擬頁號(hào)及其對(duì)應(yīng)的物理地址進(jìn)行出隊(duì),所述旁路轉(zhuǎn)換緩沖為先入先出隊(duì)列結(jié)構(gòu); 控制子單元,用于當(dāng)前的一個(gè)虛擬頁號(hào)與所述第一虛擬頁號(hào)相同或者遍歷所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)的每一個(gè)虛擬頁號(hào)時(shí),控制所述首部比較子單元停止比較。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述存儲(chǔ)模塊包括: 第二存儲(chǔ)單元,用于在旁路轉(zhuǎn)換緩沖中不存在第一虛擬頁號(hào)的情況下,按照虛擬頁號(hào)從大到小的順序,將η個(gè)一一對(duì)應(yīng)的虛擬頁號(hào)與物理頁號(hào)存儲(chǔ)到所述旁路轉(zhuǎn)換緩沖中的存儲(chǔ)單元中,其中,最小的虛擬頁號(hào)及其對(duì)應(yīng)的物理頁號(hào)存儲(chǔ)在所述旁路轉(zhuǎn)換緩沖中的首地址對(duì)應(yīng)的存儲(chǔ)單元中,所述η個(gè)虛擬頁號(hào)中包括與所述第一虛擬頁號(hào)相鄰且大于所述第一虛擬頁號(hào)的第二虛擬頁號(hào),所述η為所述旁路轉(zhuǎn)換緩沖中存儲(chǔ)單元的數(shù)量,所述η個(gè)虛擬頁號(hào)中最小的虛擬頁號(hào)為所述第一虛擬頁號(hào),并且所述η個(gè)虛擬頁號(hào)連續(xù)。
14.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 獲取模塊,用于在旁路轉(zhuǎn)換緩沖中存在第一虛擬頁號(hào)的情況下,獲取與所述第一虛擬頁號(hào)對(duì)應(yīng)的物理頁號(hào); 地址確定模塊,用于依據(jù)所述物理頁號(hào),確定與所述待轉(zhuǎn)換的虛擬地址對(duì)應(yīng)的物理地址。
【文檔編號(hào)】G06F12/06GK104375950SQ201310359497
【公開日】2015年2月25日 申請(qǐng)日期:2013年8月16日 優(yōu)先權(quán)日:2013年8月16日
【發(fā)明者】常軼松, 張廣飛, 張柳航, 侯銳 申請(qǐng)人:華為技術(shù)有限公司, 中國(guó)科學(xué)院計(jì)算技術(shù)研究所