地址转换设备的制作方法

文档序号:6559591阅读:198来源:国知局

专利名称::地址转换设备的制作方法
技术领域
:本发明涉及一种利用页表(pagetable)来响应地址转换请求而转换地址的技术,该页表存储用于在虚拟地址和物理地址之间转换地址的地址数据。
背景技术
:近来,在使用虚拟存储方法的数据处理器中,与虚拟地址和物理地址之间的对应关系(correspondence)有关的地址数据存储于主存储器中,并且存储于主存储器中的部分地址数据存储于转换后备缓冲器(TLB,translationlook-asidebuffer)中(例如,参见日本专利No.2586160)。在这种数据处理器中,如果与接收到转换请求的虚拟地址对应的地址数据存储于TLB中,则TLB将虚拟地址转换为物理地址。如果与接收到转换请求的虚拟地址对应的地址数据未存储于TLB中,则TLB访问主存储器然后将虚拟地址转换为物理地址。如全集联方法(fullsetassociativemethod)、直接映射方法(directmappingmethod)、N路集联方法(N-waysetassociativemethod)之类的TLB控制方法可用于地址转换设备中。如果保存存储于主存储器中的地址数据的页表具有多级结构,则TLB也具有类似的多级结构。当在通信期间分配数据时,数据处理器确保在主存储器中有用于分配数据的接收缓冲区。当分配数据时,数据处理器读取存储于接收缓冲区中的数据并利用主存储器中的转换表来进行与所读取的数据有关的地址转换。可是,在传统技术中,在通信期间分配数据时,尽管数据处理器是从接收缓冲区读取数据,但由于所有的数据被均等处理,因此用于接收缓冲器的转换表不总是存储于TLB中。如果用于接收缓冲器的转换表未存储于TLB中,则发生缓存未命中(cachemiss),从而在分配数据期间数据处理器必须访问具有低读取速度的主存储器,从而降低了处理速度。
发明内容本发明的目的是至少解决传统技术中的问题。根据本发明一个方案的地址转换设备利用页表来响应地址转换请求而转换地址,该页表存储用于在虚拟地址和物理地址之间转换地址的地址数据,该地址转换设备包括第一地址转换表,从存储于该页表中的地址数据提取第一地址数据并存储该第一地址数据,该第一地址数据与主存储器中用于交换通信数据的接收缓冲区对应;第二地址转换表,从存储于该页表中的地址数据提取第二地址数据并存储该第二地址数据,该第二地址数据与主存储器中除了该接收缓冲区之外的其他区域对应;地址转换请求判断单元,判断该地址转换请求是否与该接收缓冲区有关;以及地址转换单元,基于该地址转换请求判断单元的判断结果转换该地址。当该地址转换请求判断单元判定该地址转换请求与该接收缓冲区有关时,该地址转换单元利用该第一地址数据和存储于该页表中的地址数据至少其中之一转换该地址;以及,当该地址转换请求判断单元判定该地址转换请求与该接收缓冲区无关时,该地址转换单元利用该第二地址数据和存储于该页表中的地址数据至少其中之一转换该地址。本发明的上述及其他目的、特点、优点以及技术和工业上的重要性通过阅读以下对本发明优选实施例的详细说明并结合附图将得到更好地理解。图1为根据本发明第一实施例的地址转换设备的示意图;图2为根据第一实施例的地址转换设备的方框图;图3为示出TLB数据结构的示意图;图4为示出页表数据结构的示意图;图5为根据第一实施例用于地址转换处理的处理程序的流程图;图6为根据第一实施例用于具体地址转换处理的处理程序的流程图;以及图7为根据本发明第二实施例用于地址转换设备处理操作的处理程序的流程图。具体实施例方式以下参考附图详细说明本发明的示范实施例。“页表”为存储地址数据的表,而该地址数据用于虚拟地址和物理地址之间的地址转换。如图4所示,页表具有多级结构,并分为三个层级(hierarchy),即第1级至第3级。此外,如图3所示,虚拟地址包括与页表的第1级至第3级对应的数据。在页表中,第1级层级存储在L1物理地址和L1虚拟地址之间建立对应关系的地址数据,其中,L1物理地址(例如,图4中的PA(L1_0))确定了存储于第2级层级中的地址数据的位置,L1虚拟地址(例如,图4中的VA(L1))代表虚拟地址的L1部分。此外,第2级层级存储在L2物理地址和L2虚拟地址之间建立对应关系的地址数据,其中,L2物理地址(例如,图4中的PA(L2))确定了存储于第3级层级中的地址数据的位置,L2虚拟地址(例如,图4中的VA(L2))代表虚拟地址的L2部分。第3级层级存储在物理地址(例如,图4中的PA)和L3虚拟地址(例如,图4中的VA)之间建立对应关系的地址数据,其中L3虚拟地址代表虚拟地址的L3部分。数据处理器从页表的第1级层级读取与L1虚拟地址(例如,图4中的VA(L1))对应的L1物理地址(例如,图4中的PA(L1_0)),其中L1虚拟地址代表虚拟地址的L1部分。接着,数据处理器从页表的第2级层级读取与已读取的L1物理地址和代表虚拟地址的L2部分的L2虚拟地址(例如,图4中的VA(L2_0))对应的L2物理地址(例如,图4中的PA(L2_0))。接着,数据处理器读取与已读取的L2物理地址和代表虚拟地址的L3部分的L3虚拟地址(例如,图4中的VA)对应的物理地址(例如,图4中的PA)。图1为根据本发明第一实施例的地址转换设备10的示意图。地址转换设备10利用页表来响应地址转换请求而执行地址转换,该页表存储用于在虚拟地址和物理地址之间进行地址转换的地址数据(转换表)。根据第一实施例的地址转换设备的突出特点是该地址转换设备减少了缓存未命中,从而提高了处理速度。如图1所示,地址转换设备10连接至处理器20,处理器20包括执行各种处理的中央处理器(CPU)21和主存储器22。主存储器22保存存储地址数据的页表22a,该地址数据用于虚拟地址和物理地址之间的地址转换。如图4所示,页表22a具有多级结构,并分为三个层级,即第1级至第3级。地址转换设备10包括接收缓冲器(RB,receivingbuffer)专用TLB13a和第1级至第3级TLB13b。根据存储于页表22a中的地址数据,RB专用TLB13a从页表22a提取与分配通信数据期间主存储器22中使用的接收缓冲区对应的地址数据,并存储所提取的数据。如图3所示,第1级至第3级TLB13b为具有类似于页表22a结构的多级结构的页表。根据存储于页表22a中的地址数据,第1级至第3级TLB13b提取与主存储器22中除了接收缓冲区之外的其他区域对应的地址数据,并存储所提取的数据。如果地址转换设备10从处理器20的CPU21接到地址转换请求(参见图1中的(1)),地址转换设备10的微控制器判断该地址转换请求是否与接收缓冲区有关(参见图1中的(2)),并向存储器管理单元(MMU)发出地址转换请求(参见图1中的(3))。如果地址转换请求与接收缓冲区有关,则地址转换设备10利用存储于RB专用TLB13a中的地址数据执行地址转换。如果地址转换请求与接收缓冲区无关,则地址转换设备10利用存储于第1级至第3级TLB13b和/或页表22a中的地址数据执行地址转换(参见图1中的(4))。接着,地址转换设备10将已转化的地址发送给处理器20(参见图1中的(5))。这样,具有上述突出特点的地址转换设备10分开控制常用的接收缓冲区和除接收缓冲区之外的其他区域。如果地址转换请求与接收缓冲区有关,地址转换设备10访问RB专用TLB13a并利用存储于接收缓冲区中的地址数据执行地址转换,从而能够减少缓存未命中并提高处理速度。图2为根据第一实施例的地址转换设备10的方框图。处理器20包括CPU21和主存储器22。主存储器22保存存储地址数据的页表22a,该地址数据用于虚拟地址和物理地址之间的地址转换。如图4所示,页表22a具有多级结构,并分为三个层级,即第1级至第3级。页表22a在作为最后一级的第3级层级中存储在虚拟地址和物理地址之间建立对应关系的地址数据(例如,图4中的“PA0”)。页表22a在第2级层级中存储用于确定存储于第3级层级中的地址数据的位置的地址数据(例如,图4中的“PA(L2_0)”)。此外,页表22a在第1级层级中存储用于确定存储于第2级层级中的地址数据的位置的地址数据(例如,图4中的“PA(L1_0)”)。如图2所示,地址转换设备10包括处理器控制接口(interface)11、控制器12、以及存储单元13。处理器控制接口11控制与地址转换设备10和处理器20之间交换的不同类型数据有关的通信。处理器控制接口11控制与地址转换设备10和处理器20之间的地址转换请求有关的数据接收,和与已转换地址有关的数据发送。存储单元13存储由控制器12执行的各种处理所需的数据和程序。存储单元13包括与本发明特别紧密相关的RB专用TLB13a和第1级至第3级TLB13b。RB专用TLB13a对应于权利要求书中所述的“第一地址转换表”,第1级至第3级TLB13b对应于权利要求书中所述的“第二地址转换表”。RB专用TLB13a存储与RB有关的地址数据。根据存储于页表22a中的地址数据,RB专用TLB13a从页表22a提取与分配通信数据期间主存储器22中使用的接收缓冲区对应的地址数据,并存储所提取的数据。存储与RB有关的地址数据的区域大小是有限的,并且与用于常规地址转换的TLB相比较,与接收缓冲区有关的地址转换所需的TLB只需要存储较少的条目(entry)。根据第一实施例,直接映射方法用作与RB专用TLB13a有关的控制方法。然而,也可以使用其他方法,例如全集联方法、N路集联方法。根据存储于页表22a中的地址数据,第1级至第3级TLB13b从页表22a提取与主存储器22中除了接收缓冲区之外的其他区域对应的地址数据,并存储所提取的数据。如图3所示,第1级至第3级TLB13b具有多级结构,而且以条目的形式存储地址数据并使得条目的数目在连续的级别中增加,直到最后一级。第1级至第3级TLB13b中的代表最后一级的第3级TLB中存储在虚拟地址和物理地址之间建立对应关系的地址数据(例如,图3中的“PA0”)。第1级至第3级TLB13b中的第2级TLB中存储确定存储于页表22a的第3级层级中的地址数据的位置的地址数据(例如,图4中的“PA(L2_0)”)。此外,第1级至第3级TLB13b中的第1级TLB中存储确定存储于页表22a的第2级层级中的地址数据的位置的地址数据(例如,图4中的“PA(L1_0)”)。控制器12包括用于存储控制各种处理顺序的程序和必要数据的内部存储器。控制器12利用所存储的程序和数据执行各种处理。具体地,控制器12包括与本发明紧密相关的地址转换请求判断单元12a、地址转换单元12b、以及已转换地址发送单元12c。地址转换请求判断单元12a对应于权利要求书中所述的“地址转换请求判断单元”,地址转换单元12b对应于权利要求书中所述的“地址转换单元”。地址转换请求判断单元12a判断地址转换请求是否与接收缓冲区有关。具体地,从处理器20的CPU21接到地址转换请求后,地址转换请求判断单元12a判断地址转换请求是否与接收缓冲区有关。如果地址转换请求与接收缓冲区有关,则地址转换单元12b利用存储于RB专用TLB13a中的地址数据执行地址转换。如果地址转换请求与接收缓冲区无关,地址转换单元12b利用存储于第1级至第3级TLB13b和/或页表22a中的地址数据执行地址转换。如果地址转换请求判断单元12a判定地址转换请求与接收缓冲区有关,地址转换单元12b从RB专用TLB13a读取与包含在地址转换请求中的地址对应的地址数据,并利用所读取的地址数据执行地址转换。如果地址转换请求判断单元12a判定地址转换请求与接收缓冲区无关,地址转换单元12b从第1级至第3级TLB13b读取与包含在地址转换请求中的地址对应的地址数据,并利用所读取的地址数据执行地址转换。地址转换单元12b搜索与包含在地址转换请求中的虚拟地址对应的地址数据是否存在于代表TLB最后一级的第3级TLB中。如果与虚拟地址对应的地址数据存在于第3级TLB中,则地址转换单元12b从第3级TLB读取对应的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址。如果与包含在地址转换请求中的虚拟地址对应的地址数据不存在于第3级TLB中,则地址转换单元12b搜索与该虚拟地址对应的地址数据是否存在于第2级TLB中。如果与包含在地址转换请求中的虚拟地址对应的地址数据存在于第2级TLB中,则地址转换单元12b从第2级TLB读取用于确定存储于页表22a的第3级层级中的地址数据的位置的地址数据(例如,图3中的“PA(L2_0)”)。地址转换单元12b从页表22a的第3级层级中读取与已读取地址数据对应的地址数据和连续存储的8个地址数据,并将读取的地址数据存储在第3级TLB中。然后,地址转换单元12b从第3级TLB读取已存储的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址。如果与包含在地址转换请求中的虚拟地址对应的地址数据不存在于第2级TLB中,则地址转换单元12b搜索与该虚拟地址对应的地址数据是否存在于第1级TLB中。如果与包含在地址转换请求中的虚拟地址对应的地址数据存在于第1级TLB中,则地址转换单元12b从第1级TLB中读取地址数据(例如,图3中的“PA(L1_1)”),从页表22a的第2级层级中读取与已读取地址数据对应的地址数据和连续存储的两个地址数据,并将读取的地址数据存储在第2级TLB中。地址转换单元12b从第2级TLB中读取已存储的地址数据,从页表22a的第3级层级中读取与已读取地址数据对应的地址数据,将所读取的地址数据和连续存储的8个地址数据存储在第3级TLB中,从第3级TLB中读取已存储的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址。如果与包含在地址转换请求中的虚拟地址对应的地址数据不存在于第1级TLB中,则地址转换单元12b从页表22a的第1级层级中读取与包含在地址转换请求中的虚拟地址对应的地址数据,将所读取的地址数据和连续存储的两个地址数据存储在第1级TLB中,读取所存储的地址数据,从页表22a的第2级层级中读取与已读取地址数据对应的地址数据,并将所读取的地址数据和连续存储的两个地址数据存储在第2级TLB中。地址转换单元12b从第2级TLB中读取已存储的地址数据,从页表22a的第3级层级中读取与已读取地址数据对应的地址数据和连续存储的8个地址数据,将所读取的地址数据存储在第3级TLB中,从第3级TLB中读取所存储的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址。已转换地址发送单元12c将已转换的地址发送给处理器20。已转换地址发送单元12c将由地址转换单元12b转换的数据发送给处理器20的CPU21。图5为根据第一实施例用于地址转换处理的处理程序的流程图。图6为根据第一实施例用于具体地址转换处理的处理程序的流程图。如图5所示,地址转换设备10的地址转换请求判断单元12a在从处理器20的CPU21接到地址转换请求后(在步骤S101中为“是”),判断地址转换请求是否与接收缓冲区有关(步骤S102)。如果地址转换请求判断单元12a判定地址转换请求与接收缓冲区有关(在步骤S102中为“是”),地址转换单元12b从RB专用TLB13a读取与包含在地址转换请求中的地址对应的地址数据,并利用所读取的地址数据执行地址转换(步骤S103)。如果地址转换请求判断单元12a判定地址转换请求与接收缓冲区无关(在步骤S102中为“否”),地址转换单元12b从第1级至第3级TLB13b读取与包含在地址转换请求中的地址对应的地址数据,并利用所读取的地址数据执行地址转换(步骤S104)。以下参照图6详细说明地址转换。地址转换单元12b搜索与包含在地址转换请求中的虚拟地址对应的地址数据是否存在于代表TLB最后一级的第3级TLB中(步骤S1041)。如果与该虚拟地址对应的地址数据存在于第3级TLB中(在步骤S1041中为“是”),地址转换单元12b从第3级TLB中读取对应的地址数据,并利用所读取的地址数据将该虚拟地址转换为物理地址(步骤S1047)。如果与包含在地址转换请求中的虚拟地址对应的地址数据不存在于第3级TLB中(在步骤S1041中为“否”),地址转换单元12b搜索与该虚拟地址对应的地址数据是否存在于第2级TLB中(步骤S1042)。如果与包含在地址转换请求中的虚拟地址对应的地址数据存在于第2级TLB中(在步骤S1042中为“是”),地址转换单元12b从第2级TLB中读取用于确定存储于页表22a的与第3级层级中的地址数据的位置的地址数据(例如,图3中的“PA(L2_0)”)。地址转换单元12b从页表22a的第3级层级中读取与已读取地址数据对应的地址数据和连续存储的8个地址数据,并将读取的地址数据存储在第3级TLB中(步骤S1046)。地址转换单元12b从第3级TLB读取已存储的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址(步骤S1047)。如果与包含在地址转换请求中的虚拟地址对应的地址数据不存在于第2级TLB中(在步骤S1042中为“否”),地址转换单元12b搜索与该虚拟地址对应的地址数据是否存在于第1级TLB中(步骤S1043)。如果与包含在地址转换请求中的虚拟地址对应的地址数据存在于第1级TLB中(在步骤S1043中为“是”),地址转换单元12b从第1级TLB中读取地址数据(例如,图3中的“PA(L1_1)”),从页表22a的第2级层级中读取与已读取地址数据对应的地址数据和连续存储的两个地址数据,并将读取的地址数据存储在2级TLB中(步骤S1045)。地址转换单元12b从2级TLB中读取已存储的地址数据,从页表22a的第3级层级中读取与已读取地址数据对应的地址数据,将所读取的地址数据和连续存储的8个地址数据存储在第3级TLB中(步骤S1046),从第3级TLB中读取已存储的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址(步骤S1047)。如果与包含在地址转换请求中的虚拟地址对应的地址数据不存在于第1级TLB中(在步骤S1043中为“否”),地址转换单元12b从页表22a的第1级层级中读取与包含在地址转换请求中的虚拟地址对应的地址数据和连续存储的两个地址数据,将所读取的地址数据存储在第1级TLB中(步骤S1044),读取所存储的地址数据,从页表22a的第2级层级中读取与已读取地址数据对应的地址数据和连续存储的两个地址数据,并将所读取的地址数据存储在第2级TLB中(步骤S1045)。地址转换单元12b从第2级TLB中读取已存储的地址数据,从页表22a的第3级中读取与已读取地址数据对应的地址数据和连续存储的8个地址数据,将所读取的地址数据存储在第3级TLB中(步骤S1046),从第3级TLB中读取所存储的地址数据,并利用所读取的地址数据将虚拟地址转换为物理地址(步骤S1047)。已转换地址发送单元12c将已转换的地址发送给处理器20。已转换地址发送单元12c将由地址转换单元12b转换的数据发送给处理器20的CPU21。根据第一实施例的地址转换设备10包括RB专用TLB13a,RB专用TLB13a从存储于页表22a的地址数据中提取与分配通信数据期间主存储器22中使用的接收缓冲区对应的地址数据,并存储所提取的数据。此外,地址转换设备10还包括第1级至第3级TLB13b,第1级至第3级TLB13b从存储于页表22a中的地址数据提取与主存储器22中除了接收缓冲区之外的其他区域对应的地址数据,并存储所提取的数据。地址转换请求判断单元12a判断地址转换请求是否与接收缓冲区有关。如果地址转换请求与接收缓冲区有关,则地址转换单元12b利用存储于RB专用TLB13a和/或页表22a中的地址数据执行地址转换。如果地址转换请求与接收缓冲区无关,地址转换单元12b利用存储于第1级至第3级TLB13b和/或页表22a中的地址数据执行地址转换。这样,地址转换设备10分开控制常用的接收缓冲区和除接收缓冲区之外的其他区域。如果地址转换请求与接收缓冲区有关,地址转换设备10访问RB专用TLB13a并利用存储于接收缓冲区中的地址数据执行地址转换,从而能够减少缓存未命中并提高处理速度。根据第一实施例,页表22a具有多级结构。第1级至第3级TLB13b类似地具有多级结构并且存储地址数据并使得地址数据的数目在连续的级别中增加,直到最后一级。这样,常用的最后一级具有最大数目的地址数据,从而能够减少缓存未命中并提高处理速度。此外,根据第一实施例,当利用存储于页表22a中的地址数据而不是利用存储于第1级至第3级TLB13b中的地址数据执行地址转换时,地址转换单元12b从页表22a读取连续存储于页表22a中的地址数据和用于地址转换的地址数据,并将所读取的数据存储于第1级至第3级TLB13b中,从而在例如连续数据的地址转换时不必从主存储器读取地址数据,并能够提高处理速度。根据本发明,当传输分配给有序(regular)地址的数据时(以下称作“跨越式传输(stridetransfer)”),可以估计随后需要转换的数据,从而可以提前将所估计的要转换的数据缓存(cache)在TLB中。图7为根据本发明第二实施例用于地址转换设备10的处理操作的处理程序的流程图。如图7所示,在基本操作设置中,地址转换设备10的微控制器将与元素(element)大小、跳跃距离(skipsize)、总通信量有关的数据分配至MMU(步骤S201)。MMU根据接收的数据执行与TLB产生电路(generatingcircuit)有关的操作设置(步骤S202)。接到地址转换请求后,微控制器判断该地址转换是否与跨越式传输有关。如果该地址转换与跨越式传输有关,微控制器向MMU发出跨越式传输指令(步骤S203)。在接到跨越式传输指令后,MMU使用常规方法执行第一次地址转换,并将结果返回微控制器(步骤S204)。接到下一个地址转换请求后,微控制器根据预设的结构数据产生与估计的区域有关的TLB(步骤S205)。微控制器向MMU发出与第二次跨越式传输有关的地址转换请求(步骤S206)。MMU将转换结果从预先产生的TLB发送至微控制器(步骤S207)。MMU根据总通信量判断该地址转换是否为最后一次地址转换(步骤S208)。如果该地址转换不是最后一次地址转换(在步骤S208中为“否”),则MMU重复类似的处理(步骤S205至S208)。如果该地址转换是最后一次地址转换(在步骤S208中为“是”),则MMU终止预读取并结束该处理。在数据的跨越式传输期间,基于与跨越式传输相关的数据,微控制器从页表22a读取被估计为随后接收的数据的地址转换所需的地址数据,并重新将所读取的地址数据存储于第1级至第3级TLB13b中。通过预先在第1级至第3级TLB13b中存储所需的地址数据,可以减少从主存储器22读取地址数据的等待时间,从而能够提高处理速度。第一实施例中说明的页表存储地址数据并使得条目的数目在连续的级别中增加,直到最后一级。然而,本发明并不限于此,也可以使用存储地址数据而使得每一级具有相同数目的条目的页表。当在TLB中存储地址数据时,第一实施例中说明的地址转换设备读取连续存储的8个地址数据和用于地址转换的地址数据。然而,本发明并不限于此,也可以使用只读取用于地址转换的地址数据的地址转换设备,或者读取连续存储的任意数目的地址数据和用于地址转换的地址数据的地址转换设备。所示设备的组成部件仅为概念性的,而不必一定在物理上类似于附图中所示的结构。例如,该设备不必一定具有所示的结构。根据负载或设备的使用方式,该设备的整体或部分在功能上或者在物理上都可以分离或整合。例如,地址转换请求判断单元12a和地址转换单元12b可以整合。此外,该设备所执行的处理功能可全部或部分通过CPU或CPU执行的程序或者通过使用布线逻辑电路(wiredlogic)的硬件而实现。本实施例中说明的所有自动处理的全部或部分可通过人工操作执行。同样,本实施例中说明的所有人工处理的全部或部分可通过现有方法自动执行。除非另外指明,包含各种参数的处理顺序、控制顺序、具体名称以及数据都可以按需要改变。本实施例中说明的通信控制方法可以使用计算机如个人计算机或工作站执行预先形成的程序来实现。该程序可以通过网络如因特网等分布。该程序也可以记录于计算机可读记录介质,例如硬盘、软盘(FD)、压缩盘-只读存储器(CD-ROM)、磁光(MO)盘、数字通用盘(DVD)等等,由计算机从记录介质上读取并执行。根据本发明的实施例,地址转换设备包括第一地址转换表,该第一地址转换表从存储于页表中的地址数据提取与主存储器中用于分配通信数据的接收缓冲区对应的地址数据,并存储所提取的数据。此外,该地址转换设备还包括第二地址转换表,该第二地址转换表从存储于页表中的地址数据提取与主存储器中除了接收缓冲区之外的其他区域对应的地址数据,并存储所提取的数据。地址转换请求判断单元判断地址转换请求是否与接收缓冲区有关。如果该地址转换请求与接收缓冲区有关,地址转换设备利用存储于第一地址转换表和/或页表中的地址数据执行地址转换。如果该地址转换请求与接收缓冲区无关,地址转换设备利用存储于第二地址转换表和/或页表中的地址数据执行地址转换。这样,该地址转换设备分别控制常用的接收缓冲区和除接收缓冲区之外的其他区域。如果地址转换请求与接收缓冲区有关,该地址转换设备访问第一地址转换表并利用存储于接收缓冲区中的地址数据执行地址转换,从而能够在通信数据分配期间减少缓存未命中并提高处理速度。此外,根据本发明的实施例,页表具有多级结构。第二地址转换表具有多级结构,而且存储地址数据并使得地址数据的数目在连续的级别中增加,直到最后一级。这样,常用的最后一级具有最大数目的地址数据,从而能够减少缓存未命中并提高处理速度。此外,根据本发明的实施例,当利用存储于页表中的地址数据而不是利用存储于第二地址转换表中的地址数据执行地址转换时,地址转换设备从页表读取连续存储于页表中的地址数据和用于地址转换的地址数据,并将所读取的地址数据重新存储于第二地址转换表中,从而在例如连续数据的地址转换期间,不必从主存储器读取地址数据,而能够提高处理速度。此外,根据本发明的实施例,在数据的跨越式传输期间,基于与跨越式传输相关的数据,微控制器从页表读取被估计为随后接收的数据的地址转换所需的地址数据,并将所读取的地址数据重新存储于第二地址转换表中。通过预先在第二地址转换表中存储所需的地址数据,可以减少从主存储器读取地址数据的等待时间,从而能够提高处理速度。尽管为了进行完整且清楚的公开而就具体实施例描述了本发明,但所附权利要求书不因此而受到限制,而且应解释为包括本领域技术人员可想到的且完全落入本发明提出的基本启示范围内的所有修改和可选结构。权利要求1.一种地址转换设备,其利用页表来响应地址转换请求而转换地址,该页表存储用于在虚拟地址和物理地址之间转换地址的地址数据,该地址转换设备包括第一地址转换表,从存储于该页表中的地址数据提取第一地址数据并存储该第一地址数据,该第一地址数据与主存储器中用于交换通信数据的接收缓冲区对应;第二地址转换表,从存储于该页表中的地址数据提取第二地址数据并存储该第二地址数据,该第二地址数据与主存储器中除了该接收缓冲区之外的其他区域对应;地址转换请求判断单元,判断该地址转换请求是否与该接收缓冲区有关;以及地址转换单元,基于该地址转换请求判断单元的判断结果转换该地址,其中,当该地址转换请求判断单元判定该地址转换请求与该接收缓冲区有关时,该地址转换单元利用该第一地址数据和存储于该页表中的地址数据至少其中之一转换该地址;以及,当该地址转换请求判断单元判定该地址转换请求与该接收缓冲区无关时,该地址转换单元利用该第二地址数据和存储于该页表中的地址数据至少其中之一转换该地址。2.如权利要求1所述的地址转换设备,其中该页表具有多级结构;以及该第二地址转换表基于该多级结构形成,并以如下方式存储该第二地址数据地址数据的数目在各连续的级别中增加,直到最后一级。3.如权利要求1所述的地址转换设备,其中当利用存储于该页表中的地址数据而不是利用该第二地址数据转换该地址时,该地址转换单元从该页表读取用于转换该地址的第三地址数据和与该第三地址数据连续存储的第四地址数据,并将该第三地址数据和该第四地址数据存储于该第二地址转换表中。4.如权利要求1所述的地址转换设备,其中在跨越式传输数据期间,该地址转换单元基于与该跨越式传输有关的数据,从该页表读取第五地址数据并将该第五地址数据存储于该第二地址转换表中,该第五地址数据被估计为对于随后接收的数据进行地址转换是必需的。全文摘要一种地址转换设备,其中第一地址转换表根据存储于页表中的地址数据,存储与主存储器中的接收缓冲区对应的第一地址数据。第二地址转换表根据存储于页表中的地址数据存储与主存储器中除了接收缓冲区之外的其他区域对应的第二地址数据。地址转换请求判断单元判断地址转换请求是否与接收缓冲区有关。地址转换单元基于地址转换请求判断单元的判断结果来转换地址。文档编号G06F12/10GK101030173SQ20061009253公开日2007年9月5日申请日期2006年6月15日优先权日2006年2月28日发明者西野秀治,长塚雅明,细江广治申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1