專利名稱::地址轉換設備的制作方法
技術領域:
:本發(fā)明涉及一種利用頁表(pagetable)來響應地址轉換請求而轉換地址的技術,該頁表存儲用于在虛擬地址和物理地址之間轉換地址的地址數(shù)據(jù)。
背景技術:
:近來,在使用虛擬存儲方法的數(shù)據(jù)處理器中,與虛擬地址和物理地址之間的對應關系(correspondence)有關的地址數(shù)據(jù)存儲于主存儲器中,并且存儲于主存儲器中的部分地址數(shù)據(jù)存儲于轉換后備緩沖器(TLB,translationlook-asidebuffer)中(例如,參見日本專利No.2586160)。在這種數(shù)據(jù)處理器中,如果與接收到轉換請求的虛擬地址對應的地址數(shù)據(jù)存儲于TLB中,則TLB將虛擬地址轉換為物理地址。如果與接收到轉換請求的虛擬地址對應的地址數(shù)據(jù)未存儲于TLB中,則TLB訪問主存儲器然后將虛擬地址轉換為物理地址。如全集聯(lián)方法(fullsetassociativemethod)、直接映射方法(directmappingmethod)、N路集聯(lián)方法(N-waysetassociativemethod)之類的TLB控制方法可用于地址轉換設備中。如果保存存儲于主存儲器中的地址數(shù)據(jù)的頁表具有多級結構,則TLB也具有類似的多級結構。當在通信期間分配數(shù)據(jù)時,數(shù)據(jù)處理器確保在主存儲器中有用于分配數(shù)據(jù)的接收緩沖區(qū)。當分配數(shù)據(jù)時,數(shù)據(jù)處理器讀取存儲于接收緩沖區(qū)中的數(shù)據(jù)并利用主存儲器中的轉換表來進行與所讀取的數(shù)據(jù)有關的地址轉換??墒牵趥鹘y(tǒng)技術中,在通信期間分配數(shù)據(jù)時,盡管數(shù)據(jù)處理器是從接收緩沖區(qū)讀取數(shù)據(jù),但由于所有的數(shù)據(jù)被均等處理,因此用于接收緩沖器的轉換表不總是存儲于TLB中。如果用于接收緩沖器的轉換表未存儲于TLB中,則發(fā)生緩存未命中(cachemiss),從而在分配數(shù)據(jù)期間數(shù)據(jù)處理器必須訪問具有低讀取速度的主存儲器,從而降低了處理速度。
發(fā)明內容本發(fā)明的目的是至少解決傳統(tǒng)技術中的問題。根據(jù)本發(fā)明一個方案的地址轉換設備利用頁表來響應地址轉換請求而轉換地址,該頁表存儲用于在虛擬地址和物理地址之間轉換地址的地址數(shù)據(jù),該地址轉換設備包括第一地址轉換表,從存儲于該頁表中的地址數(shù)據(jù)提取第一地址數(shù)據(jù)并存儲該第一地址數(shù)據(jù),該第一地址數(shù)據(jù)與主存儲器中用于交換通信數(shù)據(jù)的接收緩沖區(qū)對應;第二地址轉換表,從存儲于該頁表中的地址數(shù)據(jù)提取第二地址數(shù)據(jù)并存儲該第二地址數(shù)據(jù),該第二地址數(shù)據(jù)與主存儲器中除了該接收緩沖區(qū)之外的其他區(qū)域對應;地址轉換請求判斷單元,判斷該地址轉換請求是否與該接收緩沖區(qū)有關;以及地址轉換單元,基于該地址轉換請求判斷單元的判斷結果轉換該地址。當該地址轉換請求判斷單元判定該地址轉換請求與該接收緩沖區(qū)有關時,該地址轉換單元利用該第一地址數(shù)據(jù)和存儲于該頁表中的地址數(shù)據(jù)至少其中之一轉換該地址;以及,當該地址轉換請求判斷單元判定該地址轉換請求與該接收緩沖區(qū)無關時,該地址轉換單元利用該第二地址數(shù)據(jù)和存儲于該頁表中的地址數(shù)據(jù)至少其中之一轉換該地址。本發(fā)明的上述及其他目的、特點、優(yōu)點以及技術和工業(yè)上的重要性通過閱讀以下對本發(fā)明優(yōu)選實施例的詳細說明并結合附圖將得到更好地理解。圖1為根據(jù)本發(fā)明第一實施例的地址轉換設備的示意圖;圖2為根據(jù)第一實施例的地址轉換設備的方框圖;圖3為示出TLB數(shù)據(jù)結構的示意圖;圖4為示出頁表數(shù)據(jù)結構的示意圖;圖5為根據(jù)第一實施例用于地址轉換處理的處理程序的流程圖;圖6為根據(jù)第一實施例用于具體地址轉換處理的處理程序的流程圖;以及圖7為根據(jù)本發(fā)明第二實施例用于地址轉換設備處理操作的處理程序的流程圖。具體實施例方式以下參考附圖詳細說明本發(fā)明的示范實施例。“頁表”為存儲地址數(shù)據(jù)的表,而該地址數(shù)據(jù)用于虛擬地址和物理地址之間的地址轉換。如圖4所示,頁表具有多級結構,并分為三個層級(hierarchy),即第1級至第3級。此外,如圖3所示,虛擬地址包括與頁表的第1級至第3級對應的數(shù)據(jù)。在頁表中,第1級層級存儲在L1物理地址和L1虛擬地址之間建立對應關系的地址數(shù)據(jù),其中,L1物理地址(例如,圖4中的PA(L1_0))確定了存儲于第2級層級中的地址數(shù)據(jù)的位置,L1虛擬地址(例如,圖4中的VA(L1))代表虛擬地址的L1部分。此外,第2級層級存儲在L2物理地址和L2虛擬地址之間建立對應關系的地址數(shù)據(jù),其中,L2物理地址(例如,圖4中的PA(L2))確定了存儲于第3級層級中的地址數(shù)據(jù)的位置,L2虛擬地址(例如,圖4中的VA(L2))代表虛擬地址的L2部分。第3級層級存儲在物理地址(例如,圖4中的PA)和L3虛擬地址(例如,圖4中的VA)之間建立對應關系的地址數(shù)據(jù),其中L3虛擬地址代表虛擬地址的L3部分。數(shù)據(jù)處理器從頁表的第1級層級讀取與L1虛擬地址(例如,圖4中的VA(L1))對應的L1物理地址(例如,圖4中的PA(L1_0)),其中L1虛擬地址代表虛擬地址的L1部分。接著,數(shù)據(jù)處理器從頁表的第2級層級讀取與已讀取的L1物理地址和代表虛擬地址的L2部分的L2虛擬地址(例如,圖4中的VA(L2_0))對應的L2物理地址(例如,圖4中的PA(L2_0))。接著,數(shù)據(jù)處理器讀取與已讀取的L2物理地址和代表虛擬地址的L3部分的L3虛擬地址(例如,圖4中的VA)對應的物理地址(例如,圖4中的PA)。圖1為根據(jù)本發(fā)明第一實施例的地址轉換設備10的示意圖。地址轉換設備10利用頁表來響應地址轉換請求而執(zhí)行地址轉換,該頁表存儲用于在虛擬地址和物理地址之間進行地址轉換的地址數(shù)據(jù)(轉換表)。根據(jù)第一實施例的地址轉換設備的突出特點是該地址轉換設備減少了緩存未命中,從而提高了處理速度。如圖1所示,地址轉換設備10連接至處理器20,處理器20包括執(zhí)行各種處理的中央處理器(CPU)21和主存儲器22。主存儲器22保存存儲地址數(shù)據(jù)的頁表22a,該地址數(shù)據(jù)用于虛擬地址和物理地址之間的地址轉換。如圖4所示,頁表22a具有多級結構,并分為三個層級,即第1級至第3級。地址轉換設備10包括接收緩沖器(RB,receivingbuffer)專用TLB13a和第1級至第3級TLB13b。根據(jù)存儲于頁表22a中的地址數(shù)據(jù),RB專用TLB13a從頁表22a提取與分配通信數(shù)據(jù)期間主存儲器22中使用的接收緩沖區(qū)對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。如圖3所示,第1級至第3級TLB13b為具有類似于頁表22a結構的多級結構的頁表。根據(jù)存儲于頁表22a中的地址數(shù)據(jù),第1級至第3級TLB13b提取與主存儲器22中除了接收緩沖區(qū)之外的其他區(qū)域對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。如果地址轉換設備10從處理器20的CPU21接到地址轉換請求(參見圖1中的(1)),地址轉換設備10的微控制器判斷該地址轉換請求是否與接收緩沖區(qū)有關(參見圖1中的(2)),并向存儲器管理單元(MMU)發(fā)出地址轉換請求(參見圖1中的(3))。如果地址轉換請求與接收緩沖區(qū)有關,則地址轉換設備10利用存儲于RB專用TLB13a中的地址數(shù)據(jù)執(zhí)行地址轉換。如果地址轉換請求與接收緩沖區(qū)無關,則地址轉換設備10利用存儲于第1級至第3級TLB13b和/或頁表22a中的地址數(shù)據(jù)執(zhí)行地址轉換(參見圖1中的(4))。接著,地址轉換設備10將已轉化的地址發(fā)送給處理器20(參見圖1中的(5))。這樣,具有上述突出特點的地址轉換設備10分開控制常用的接收緩沖區(qū)和除接收緩沖區(qū)之外的其他區(qū)域。如果地址轉換請求與接收緩沖區(qū)有關,地址轉換設備10訪問RB專用TLB13a并利用存儲于接收緩沖區(qū)中的地址數(shù)據(jù)執(zhí)行地址轉換,從而能夠減少緩存未命中并提高處理速度。圖2為根據(jù)第一實施例的地址轉換設備10的方框圖。處理器20包括CPU21和主存儲器22。主存儲器22保存存儲地址數(shù)據(jù)的頁表22a,該地址數(shù)據(jù)用于虛擬地址和物理地址之間的地址轉換。如圖4所示,頁表22a具有多級結構,并分為三個層級,即第1級至第3級。頁表22a在作為最后一級的第3級層級中存儲在虛擬地址和物理地址之間建立對應關系的地址數(shù)據(jù)(例如,圖4中的“PA0”)。頁表22a在第2級層級中存儲用于確定存儲于第3級層級中的地址數(shù)據(jù)的位置的地址數(shù)據(jù)(例如,圖4中的“PA(L2_0)”)。此外,頁表22a在第1級層級中存儲用于確定存儲于第2級層級中的地址數(shù)據(jù)的位置的地址數(shù)據(jù)(例如,圖4中的“PA(L1_0)”)。如圖2所示,地址轉換設備10包括處理器控制接口(interface)11、控制器12、以及存儲單元13。處理器控制接口11控制與地址轉換設備10和處理器20之間交換的不同類型數(shù)據(jù)有關的通信。處理器控制接口11控制與地址轉換設備10和處理器20之間的地址轉換請求有關的數(shù)據(jù)接收,和與已轉換地址有關的數(shù)據(jù)發(fā)送。存儲單元13存儲由控制器12執(zhí)行的各種處理所需的數(shù)據(jù)和程序。存儲單元13包括與本發(fā)明特別緊密相關的RB專用TLB13a和第1級至第3級TLB13b。RB專用TLB13a對應于權利要求書中所述的“第一地址轉換表”,第1級至第3級TLB13b對應于權利要求書中所述的“第二地址轉換表”。RB專用TLB13a存儲與RB有關的地址數(shù)據(jù)。根據(jù)存儲于頁表22a中的地址數(shù)據(jù),RB專用TLB13a從頁表22a提取與分配通信數(shù)據(jù)期間主存儲器22中使用的接收緩沖區(qū)對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。存儲與RB有關的地址數(shù)據(jù)的區(qū)域大小是有限的,并且與用于常規(guī)地址轉換的TLB相比較,與接收緩沖區(qū)有關的地址轉換所需的TLB只需要存儲較少的條目(entry)。根據(jù)第一實施例,直接映射方法用作與RB專用TLB13a有關的控制方法。然而,也可以使用其他方法,例如全集聯(lián)方法、N路集聯(lián)方法。根據(jù)存儲于頁表22a中的地址數(shù)據(jù),第1級至第3級TLB13b從頁表22a提取與主存儲器22中除了接收緩沖區(qū)之外的其他區(qū)域對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。如圖3所示,第1級至第3級TLB13b具有多級結構,而且以條目的形式存儲地址數(shù)據(jù)并使得條目的數(shù)目在連續(xù)的級別中增加,直到最后一級。第1級至第3級TLB13b中的代表最后一級的第3級TLB中存儲在虛擬地址和物理地址之間建立對應關系的地址數(shù)據(jù)(例如,圖3中的“PA0”)。第1級至第3級TLB13b中的第2級TLB中存儲確定存儲于頁表22a的第3級層級中的地址數(shù)據(jù)的位置的地址數(shù)據(jù)(例如,圖4中的“PA(L2_0)”)。此外,第1級至第3級TLB13b中的第1級TLB中存儲確定存儲于頁表22a的第2級層級中的地址數(shù)據(jù)的位置的地址數(shù)據(jù)(例如,圖4中的“PA(L1_0)”)??刂破?2包括用于存儲控制各種處理順序的程序和必要數(shù)據(jù)的內部存儲器??刂破?2利用所存儲的程序和數(shù)據(jù)執(zhí)行各種處理。具體地,控制器12包括與本發(fā)明緊密相關的地址轉換請求判斷單元12a、地址轉換單元12b、以及已轉換地址發(fā)送單元12c。地址轉換請求判斷單元12a對應于權利要求書中所述的“地址轉換請求判斷單元”,地址轉換單元12b對應于權利要求書中所述的“地址轉換單元”。地址轉換請求判斷單元12a判斷地址轉換請求是否與接收緩沖區(qū)有關。具體地,從處理器20的CPU21接到地址轉換請求后,地址轉換請求判斷單元12a判斷地址轉換請求是否與接收緩沖區(qū)有關。如果地址轉換請求與接收緩沖區(qū)有關,則地址轉換單元12b利用存儲于RB專用TLB13a中的地址數(shù)據(jù)執(zhí)行地址轉換。如果地址轉換請求與接收緩沖區(qū)無關,地址轉換單元12b利用存儲于第1級至第3級TLB13b和/或頁表22a中的地址數(shù)據(jù)執(zhí)行地址轉換。如果地址轉換請求判斷單元12a判定地址轉換請求與接收緩沖區(qū)有關,地址轉換單元12b從RB專用TLB13a讀取與包含在地址轉換請求中的地址對應的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)執(zhí)行地址轉換。如果地址轉換請求判斷單元12a判定地址轉換請求與接收緩沖區(qū)無關,地址轉換單元12b從第1級至第3級TLB13b讀取與包含在地址轉換請求中的地址對應的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)執(zhí)行地址轉換。地址轉換單元12b搜索與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)是否存在于代表TLB最后一級的第3級TLB中。如果與虛擬地址對應的地址數(shù)據(jù)存在于第3級TLB中,則地址轉換單元12b從第3級TLB讀取對應的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)不存在于第3級TLB中,則地址轉換單元12b搜索與該虛擬地址對應的地址數(shù)據(jù)是否存在于第2級TLB中。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)存在于第2級TLB中,則地址轉換單元12b從第2級TLB讀取用于確定存儲于頁表22a的第3級層級中的地址數(shù)據(jù)的位置的地址數(shù)據(jù)(例如,圖3中的“PA(L2_0)”)。地址轉換單元12b從頁表22a的第3級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的8個地址數(shù)據(jù),并將讀取的地址數(shù)據(jù)存儲在第3級TLB中。然后,地址轉換單元12b從第3級TLB讀取已存儲的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)不存在于第2級TLB中,則地址轉換單元12b搜索與該虛擬地址對應的地址數(shù)據(jù)是否存在于第1級TLB中。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)存在于第1級TLB中,則地址轉換單元12b從第1級TLB中讀取地址數(shù)據(jù)(例如,圖3中的“PA(L1_1)”),從頁表22a的第2級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的兩個地址數(shù)據(jù),并將讀取的地址數(shù)據(jù)存儲在第2級TLB中。地址轉換單元12b從第2級TLB中讀取已存儲的地址數(shù)據(jù),從頁表22a的第3級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù),將所讀取的地址數(shù)據(jù)和連續(xù)存儲的8個地址數(shù)據(jù)存儲在第3級TLB中,從第3級TLB中讀取已存儲的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)不存在于第1級TLB中,則地址轉換單元12b從頁表22a的第1級層級中讀取與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù),將所讀取的地址數(shù)據(jù)和連續(xù)存儲的兩個地址數(shù)據(jù)存儲在第1級TLB中,讀取所存儲的地址數(shù)據(jù),從頁表22a的第2級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù),并將所讀取的地址數(shù)據(jù)和連續(xù)存儲的兩個地址數(shù)據(jù)存儲在第2級TLB中。地址轉換單元12b從第2級TLB中讀取已存儲的地址數(shù)據(jù),從頁表22a的第3級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的8個地址數(shù)據(jù),將所讀取的地址數(shù)據(jù)存儲在第3級TLB中,從第3級TLB中讀取所存儲的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址。已轉換地址發(fā)送單元12c將已轉換的地址發(fā)送給處理器20。已轉換地址發(fā)送單元12c將由地址轉換單元12b轉換的數(shù)據(jù)發(fā)送給處理器20的CPU21。圖5為根據(jù)第一實施例用于地址轉換處理的處理程序的流程圖。圖6為根據(jù)第一實施例用于具體地址轉換處理的處理程序的流程圖。如圖5所示,地址轉換設備10的地址轉換請求判斷單元12a在從處理器20的CPU21接到地址轉換請求后(在步驟S101中為“是”),判斷地址轉換請求是否與接收緩沖區(qū)有關(步驟S102)。如果地址轉換請求判斷單元12a判定地址轉換請求與接收緩沖區(qū)有關(在步驟S102中為“是”),地址轉換單元12b從RB專用TLB13a讀取與包含在地址轉換請求中的地址對應的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)執(zhí)行地址轉換(步驟S103)。如果地址轉換請求判斷單元12a判定地址轉換請求與接收緩沖區(qū)無關(在步驟S102中為“否”),地址轉換單元12b從第1級至第3級TLB13b讀取與包含在地址轉換請求中的地址對應的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)執(zhí)行地址轉換(步驟S104)。以下參照圖6詳細說明地址轉換。地址轉換單元12b搜索與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)是否存在于代表TLB最后一級的第3級TLB中(步驟S1041)。如果與該虛擬地址對應的地址數(shù)據(jù)存在于第3級TLB中(在步驟S1041中為“是”),地址轉換單元12b從第3級TLB中讀取對應的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將該虛擬地址轉換為物理地址(步驟S1047)。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)不存在于第3級TLB中(在步驟S1041中為“否”),地址轉換單元12b搜索與該虛擬地址對應的地址數(shù)據(jù)是否存在于第2級TLB中(步驟S1042)。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)存在于第2級TLB中(在步驟S1042中為“是”),地址轉換單元12b從第2級TLB中讀取用于確定存儲于頁表22a的與第3級層級中的地址數(shù)據(jù)的位置的地址數(shù)據(jù)(例如,圖3中的“PA(L2_0)”)。地址轉換單元12b從頁表22a的第3級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的8個地址數(shù)據(jù),并將讀取的地址數(shù)據(jù)存儲在第3級TLB中(步驟S1046)。地址轉換單元12b從第3級TLB讀取已存儲的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址(步驟S1047)。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)不存在于第2級TLB中(在步驟S1042中為“否”),地址轉換單元12b搜索與該虛擬地址對應的地址數(shù)據(jù)是否存在于第1級TLB中(步驟S1043)。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)存在于第1級TLB中(在步驟S1043中為“是”),地址轉換單元12b從第1級TLB中讀取地址數(shù)據(jù)(例如,圖3中的“PA(L1_1)”),從頁表22a的第2級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的兩個地址數(shù)據(jù),并將讀取的地址數(shù)據(jù)存儲在2級TLB中(步驟S1045)。地址轉換單元12b從2級TLB中讀取已存儲的地址數(shù)據(jù),從頁表22a的第3級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù),將所讀取的地址數(shù)據(jù)和連續(xù)存儲的8個地址數(shù)據(jù)存儲在第3級TLB中(步驟S1046),從第3級TLB中讀取已存儲的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址(步驟S1047)。如果與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)不存在于第1級TLB中(在步驟S1043中為“否”),地址轉換單元12b從頁表22a的第1級層級中讀取與包含在地址轉換請求中的虛擬地址對應的地址數(shù)據(jù)和連續(xù)存儲的兩個地址數(shù)據(jù),將所讀取的地址數(shù)據(jù)存儲在第1級TLB中(步驟S1044),讀取所存儲的地址數(shù)據(jù),從頁表22a的第2級層級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的兩個地址數(shù)據(jù),并將所讀取的地址數(shù)據(jù)存儲在第2級TLB中(步驟S1045)。地址轉換單元12b從第2級TLB中讀取已存儲的地址數(shù)據(jù),從頁表22a的第3級中讀取與已讀取地址數(shù)據(jù)對應的地址數(shù)據(jù)和連續(xù)存儲的8個地址數(shù)據(jù),將所讀取的地址數(shù)據(jù)存儲在第3級TLB中(步驟S1046),從第3級TLB中讀取所存儲的地址數(shù)據(jù),并利用所讀取的地址數(shù)據(jù)將虛擬地址轉換為物理地址(步驟S1047)。已轉換地址發(fā)送單元12c將已轉換的地址發(fā)送給處理器20。已轉換地址發(fā)送單元12c將由地址轉換單元12b轉換的數(shù)據(jù)發(fā)送給處理器20的CPU21。根據(jù)第一實施例的地址轉換設備10包括RB專用TLB13a,RB專用TLB13a從存儲于頁表22a的地址數(shù)據(jù)中提取與分配通信數(shù)據(jù)期間主存儲器22中使用的接收緩沖區(qū)對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。此外,地址轉換設備10還包括第1級至第3級TLB13b,第1級至第3級TLB13b從存儲于頁表22a中的地址數(shù)據(jù)提取與主存儲器22中除了接收緩沖區(qū)之外的其他區(qū)域對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。地址轉換請求判斷單元12a判斷地址轉換請求是否與接收緩沖區(qū)有關。如果地址轉換請求與接收緩沖區(qū)有關,則地址轉換單元12b利用存儲于RB專用TLB13a和/或頁表22a中的地址數(shù)據(jù)執(zhí)行地址轉換。如果地址轉換請求與接收緩沖區(qū)無關,地址轉換單元12b利用存儲于第1級至第3級TLB13b和/或頁表22a中的地址數(shù)據(jù)執(zhí)行地址轉換。這樣,地址轉換設備10分開控制常用的接收緩沖區(qū)和除接收緩沖區(qū)之外的其他區(qū)域。如果地址轉換請求與接收緩沖區(qū)有關,地址轉換設備10訪問RB專用TLB13a并利用存儲于接收緩沖區(qū)中的地址數(shù)據(jù)執(zhí)行地址轉換,從而能夠減少緩存未命中并提高處理速度。根據(jù)第一實施例,頁表22a具有多級結構。第1級至第3級TLB13b類似地具有多級結構并且存儲地址數(shù)據(jù)并使得地址數(shù)據(jù)的數(shù)目在連續(xù)的級別中增加,直到最后一級。這樣,常用的最后一級具有最大數(shù)目的地址數(shù)據(jù),從而能夠減少緩存未命中并提高處理速度。此外,根據(jù)第一實施例,當利用存儲于頁表22a中的地址數(shù)據(jù)而不是利用存儲于第1級至第3級TLB13b中的地址數(shù)據(jù)執(zhí)行地址轉換時,地址轉換單元12b從頁表22a讀取連續(xù)存儲于頁表22a中的地址數(shù)據(jù)和用于地址轉換的地址數(shù)據(jù),并將所讀取的數(shù)據(jù)存儲于第1級至第3級TLB13b中,從而在例如連續(xù)數(shù)據(jù)的地址轉換時不必從主存儲器讀取地址數(shù)據(jù),并能夠提高處理速度。根據(jù)本發(fā)明,當傳輸分配給有序(regular)地址的數(shù)據(jù)時(以下稱作“跨越式傳輸(stridetransfer)”),可以估計隨后需要轉換的數(shù)據(jù),從而可以提前將所估計的要轉換的數(shù)據(jù)緩存(cache)在TLB中。圖7為根據(jù)本發(fā)明第二實施例用于地址轉換設備10的處理操作的處理程序的流程圖。如圖7所示,在基本操作設置中,地址轉換設備10的微控制器將與元素(element)大小、跳躍距離(skipsize)、總通信量有關的數(shù)據(jù)分配至MMU(步驟S201)。MMU根據(jù)接收的數(shù)據(jù)執(zhí)行與TLB產(chǎn)生電路(generatingcircuit)有關的操作設置(步驟S202)。接到地址轉換請求后,微控制器判斷該地址轉換是否與跨越式傳輸有關。如果該地址轉換與跨越式傳輸有關,微控制器向MMU發(fā)出跨越式傳輸指令(步驟S203)。在接到跨越式傳輸指令后,MMU使用常規(guī)方法執(zhí)行第一次地址轉換,并將結果返回微控制器(步驟S204)。接到下一個地址轉換請求后,微控制器根據(jù)預設的結構數(shù)據(jù)產(chǎn)生與估計的區(qū)域有關的TLB(步驟S205)。微控制器向MMU發(fā)出與第二次跨越式傳輸有關的地址轉換請求(步驟S206)。MMU將轉換結果從預先產(chǎn)生的TLB發(fā)送至微控制器(步驟S207)。MMU根據(jù)總通信量判斷該地址轉換是否為最后一次地址轉換(步驟S208)。如果該地址轉換不是最后一次地址轉換(在步驟S208中為“否”),則MMU重復類似的處理(步驟S205至S208)。如果該地址轉換是最后一次地址轉換(在步驟S208中為“是”),則MMU終止預讀取并結束該處理。在數(shù)據(jù)的跨越式傳輸期間,基于與跨越式傳輸相關的數(shù)據(jù),微控制器從頁表22a讀取被估計為隨后接收的數(shù)據(jù)的地址轉換所需的地址數(shù)據(jù),并重新將所讀取的地址數(shù)據(jù)存儲于第1級至第3級TLB13b中。通過預先在第1級至第3級TLB13b中存儲所需的地址數(shù)據(jù),可以減少從主存儲器22讀取地址數(shù)據(jù)的等待時間,從而能夠提高處理速度。第一實施例中說明的頁表存儲地址數(shù)據(jù)并使得條目的數(shù)目在連續(xù)的級別中增加,直到最后一級。然而,本發(fā)明并不限于此,也可以使用存儲地址數(shù)據(jù)而使得每一級具有相同數(shù)目的條目的頁表。當在TLB中存儲地址數(shù)據(jù)時,第一實施例中說明的地址轉換設備讀取連續(xù)存儲的8個地址數(shù)據(jù)和用于地址轉換的地址數(shù)據(jù)。然而,本發(fā)明并不限于此,也可以使用只讀取用于地址轉換的地址數(shù)據(jù)的地址轉換設備,或者讀取連續(xù)存儲的任意數(shù)目的地址數(shù)據(jù)和用于地址轉換的地址數(shù)據(jù)的地址轉換設備。所示設備的組成部件僅為概念性的,而不必一定在物理上類似于附圖中所示的結構。例如,該設備不必一定具有所示的結構。根據(jù)負載或設備的使用方式,該設備的整體或部分在功能上或者在物理上都可以分離或整合。例如,地址轉換請求判斷單元12a和地址轉換單元12b可以整合。此外,該設備所執(zhí)行的處理功能可全部或部分通過CPU或CPU執(zhí)行的程序或者通過使用布線邏輯電路(wiredlogic)的硬件而實現(xiàn)。本實施例中說明的所有自動處理的全部或部分可通過人工操作執(zhí)行。同樣,本實施例中說明的所有人工處理的全部或部分可通過現(xiàn)有方法自動執(zhí)行。除非另外指明,包含各種參數(shù)的處理順序、控制順序、具體名稱以及數(shù)據(jù)都可以按需要改變。本實施例中說明的通信控制方法可以使用計算機如個人計算機或工作站執(zhí)行預先形成的程序來實現(xiàn)。該程序可以通過網(wǎng)絡如因特網(wǎng)等分布。該程序也可以記錄于計算機可讀記錄介質,例如硬盤、軟盤(FD)、壓縮盤-只讀存儲器(CD-ROM)、磁光(MO)盤、數(shù)字通用盤(DVD)等等,由計算機從記錄介質上讀取并執(zhí)行。根據(jù)本發(fā)明的實施例,地址轉換設備包括第一地址轉換表,該第一地址轉換表從存儲于頁表中的地址數(shù)據(jù)提取與主存儲器中用于分配通信數(shù)據(jù)的接收緩沖區(qū)對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。此外,該地址轉換設備還包括第二地址轉換表,該第二地址轉換表從存儲于頁表中的地址數(shù)據(jù)提取與主存儲器中除了接收緩沖區(qū)之外的其他區(qū)域對應的地址數(shù)據(jù),并存儲所提取的數(shù)據(jù)。地址轉換請求判斷單元判斷地址轉換請求是否與接收緩沖區(qū)有關。如果該地址轉換請求與接收緩沖區(qū)有關,地址轉換設備利用存儲于第一地址轉換表和/或頁表中的地址數(shù)據(jù)執(zhí)行地址轉換。如果該地址轉換請求與接收緩沖區(qū)無關,地址轉換設備利用存儲于第二地址轉換表和/或頁表中的地址數(shù)據(jù)執(zhí)行地址轉換。這樣,該地址轉換設備分別控制常用的接收緩沖區(qū)和除接收緩沖區(qū)之外的其他區(qū)域。如果地址轉換請求與接收緩沖區(qū)有關,該地址轉換設備訪問第一地址轉換表并利用存儲于接收緩沖區(qū)中的地址數(shù)據(jù)執(zhí)行地址轉換,從而能夠在通信數(shù)據(jù)分配期間減少緩存未命中并提高處理速度。此外,根據(jù)本發(fā)明的實施例,頁表具有多級結構。第二地址轉換表具有多級結構,而且存儲地址數(shù)據(jù)并使得地址數(shù)據(jù)的數(shù)目在連續(xù)的級別中增加,直到最后一級。這樣,常用的最后一級具有最大數(shù)目的地址數(shù)據(jù),從而能夠減少緩存未命中并提高處理速度。此外,根據(jù)本發(fā)明的實施例,當利用存儲于頁表中的地址數(shù)據(jù)而不是利用存儲于第二地址轉換表中的地址數(shù)據(jù)執(zhí)行地址轉換時,地址轉換設備從頁表讀取連續(xù)存儲于頁表中的地址數(shù)據(jù)和用于地址轉換的地址數(shù)據(jù),并將所讀取的地址數(shù)據(jù)重新存儲于第二地址轉換表中,從而在例如連續(xù)數(shù)據(jù)的地址轉換期間,不必從主存儲器讀取地址數(shù)據(jù),而能夠提高處理速度。此外,根據(jù)本發(fā)明的實施例,在數(shù)據(jù)的跨越式傳輸期間,基于與跨越式傳輸相關的數(shù)據(jù),微控制器從頁表讀取被估計為隨后接收的數(shù)據(jù)的地址轉換所需的地址數(shù)據(jù),并將所讀取的地址數(shù)據(jù)重新存儲于第二地址轉換表中。通過預先在第二地址轉換表中存儲所需的地址數(shù)據(jù),可以減少從主存儲器讀取地址數(shù)據(jù)的等待時間,從而能夠提高處理速度。盡管為了進行完整且清楚的公開而就具體實施例描述了本發(fā)明,但所附權利要求書不因此而受到限制,而且應解釋為包括本領域技術人員可想到的且完全落入本發(fā)明提出的基本啟示范圍內的所有修改和可選結構。權利要求1.一種地址轉換設備,其利用頁表來響應地址轉換請求而轉換地址,該頁表存儲用于在虛擬地址和物理地址之間轉換地址的地址數(shù)據(jù),該地址轉換設備包括第一地址轉換表,從存儲于該頁表中的地址數(shù)據(jù)提取第一地址數(shù)據(jù)并存儲該第一地址數(shù)據(jù),該第一地址數(shù)據(jù)與主存儲器中用于交換通信數(shù)據(jù)的接收緩沖區(qū)對應;第二地址轉換表,從存儲于該頁表中的地址數(shù)據(jù)提取第二地址數(shù)據(jù)并存儲該第二地址數(shù)據(jù),該第二地址數(shù)據(jù)與主存儲器中除了該接收緩沖區(qū)之外的其他區(qū)域對應;地址轉換請求判斷單元,判斷該地址轉換請求是否與該接收緩沖區(qū)有關;以及地址轉換單元,基于該地址轉換請求判斷單元的判斷結果轉換該地址,其中,當該地址轉換請求判斷單元判定該地址轉換請求與該接收緩沖區(qū)有關時,該地址轉換單元利用該第一地址數(shù)據(jù)和存儲于該頁表中的地址數(shù)據(jù)至少其中之一轉換該地址;以及,當該地址轉換請求判斷單元判定該地址轉換請求與該接收緩沖區(qū)無關時,該地址轉換單元利用該第二地址數(shù)據(jù)和存儲于該頁表中的地址數(shù)據(jù)至少其中之一轉換該地址。2.如權利要求1所述的地址轉換設備,其中該頁表具有多級結構;以及該第二地址轉換表基于該多級結構形成,并以如下方式存儲該第二地址數(shù)據(jù)地址數(shù)據(jù)的數(shù)目在各連續(xù)的級別中增加,直到最后一級。3.如權利要求1所述的地址轉換設備,其中當利用存儲于該頁表中的地址數(shù)據(jù)而不是利用該第二地址數(shù)據(jù)轉換該地址時,該地址轉換單元從該頁表讀取用于轉換該地址的第三地址數(shù)據(jù)和與該第三地址數(shù)據(jù)連續(xù)存儲的第四地址數(shù)據(jù),并將該第三地址數(shù)據(jù)和該第四地址數(shù)據(jù)存儲于該第二地址轉換表中。4.如權利要求1所述的地址轉換設備,其中在跨越式傳輸數(shù)據(jù)期間,該地址轉換單元基于與該跨越式傳輸有關的數(shù)據(jù),從該頁表讀取第五地址數(shù)據(jù)并將該第五地址數(shù)據(jù)存儲于該第二地址轉換表中,該第五地址數(shù)據(jù)被估計為對于隨后接收的數(shù)據(jù)進行地址轉換是必需的。全文摘要一種地址轉換設備,其中第一地址轉換表根據(jù)存儲于頁表中的地址數(shù)據(jù),存儲與主存儲器中的接收緩沖區(qū)對應的第一地址數(shù)據(jù)。第二地址轉換表根據(jù)存儲于頁表中的地址數(shù)據(jù)存儲與主存儲器中除了接收緩沖區(qū)之外的其他區(qū)域對應的第二地址數(shù)據(jù)。地址轉換請求判斷單元判斷地址轉換請求是否與接收緩沖區(qū)有關。地址轉換單元基于地址轉換請求判斷單元的判斷結果來轉換地址。文檔編號G06F12/10GK101030173SQ20061009253公開日2007年9月5日申請日期2006年6月15日優(yōu)先權日2006年2月28日發(fā)明者西野秀治,長塚雅明,細江廣治申請人:富士通株式會社