用于控制功能组件的存储器使用的方法和设备的制造方法_2

文档序号:8258384阅读:来源:国知局
虚拟存储器111和物理存储器120之间的映射的基础数据单元。在图1中,在虚拟存储器页和物理存储器120的固定长度相邻物理存储器区域之间的映射以其中中的一个用参考编号128表示的连接线示出。在图1所示的示例性情形中,虚拟存储器页113用物理存储器区域119实现,虚拟存储器页114用物理存储器区域118实现,并且虚拟存储器页116用物理存储器区域117实现。有利的是,每个虚拟存储器页的大小是2的乘方,例如,但不限于,212字节=4096字节。
[0044]下文参考图1中示出的数据结构和图2中示出的方法流程图,说明了用于控制至少一个功能组件的存储器使用的本发明的示例性实施例。上述功能组件可以是,例如,但不一定是,数据传输网络的网络元件的网络接口或网络处理器“NP”。具有第一数位“I”的图参考编号指图1,相应的是,具有第一数位“2”的参考编号的图指图2。在阶段201中,该方法包括保留虚拟存储器111的一部分,其中,该部分包括虚拟存储器页112-116。如从图1中可以看到的,保留部分110不一定必须开始于相邻内虚拟存储器页的边界,相应的是,保留部分110不一定必须结束于相邻虚拟页之间的边界。为了简化存储器管理,有利的是,虚拟存储器的保留部分110是如图1中所示的虚拟存储器地址空间的相邻区域。在阶段202中,该方法包括在虚拟存储器页和用物理存储器120实现的物理存储器区域之间形成上述映射。有利的是,例如,在形成或改变另一虚拟存储器和其他物理存储器区域之间的另一映射的情形下,防止改变映射。例如,借助用于指示考虑中的映射被锁定的一个或多个适当标识变量被锁定的情形下,可以防止这些改变。在阶段203中,该方法包括,将提供对于考虑中的物理存储器区域访问的数据项,写入每个物理存储器区域。在不限制通用性的条件下,并且出于阐释性目的,我们考虑虚拟存储器页113和116以及相对应的物理存储器区域119和117。在图1所示的示例性情形下,提供对于物理存储器区域117访问的数据项是在虚拟存储器页116中存储的从而在物理存储器区域117中的数据项125a。数据项125a可以包含与物理存储器区域117相关的物理存储器地址或者可借助其推导或获取物理存储器地址的信息。在该示例性情形下,数据项125a存储在虚拟存储器页116的开头,从而在物理存储器区域117的开头。数据项125可以包含指示例如物理存储器区域117的开头的物理存储器地址的信息。也可能的是,数据项125a存储在虚拟存储器页116的预定位置,从而在物理存储器区域117的相对应其他位置。同样,也可能的是,数据项125a包含指示物理存储器区域117的另一预定位置的物理存储器地址的信息。相对应的是,提供对于物理存储器区域119的访问的数据项是在虚拟存储器页113中、从而在物理存储器区域119中存储的数据项125b。
[0045]在不需要使得功能组件访问物理存储器区域中的一个的情形下,该方法包括阶段204和205。在阶段204中,该方法包括从物理存储器120中读取提供对于在考虑中的物理存储器区域访问的数据项。基于在虚拟和物理存储器之间的映射以及与映射到考虑中的物理存储器区域的虚拟存储器页虚拟存储器地址,读取该数据项。在不限制通用性的条件下,并且出于阐释目的,我们可以假定,考虑中的物理存储器区域时物理存储器区域119。在这种情形下,考虑中的虚拟存储器页是虚拟存储器页113,并且上述数据项是数据项125b。有利的是,数据项125b被读取,使得与虚拟存储器也113相关的虚拟存储器地址被传递到存储器管理单元“MMU”,存储器管理单元“MMU”与物理存储器120连接并且被配置成将虚拟存储器地址根据上述映射转换成相对应物理存储器地址。在阶段205中,该方法包括将读取数据项125b所指示的信息传递至功能组件,以便使得功能组件能够访问物理存储器区域119。数据项125b可以被传递至功能组件,或者可以借助数据项125b获取推导的信息,然后,推导的信息可以被传递至功能组件。例如,推导的信息可以是由数据项125b和预定偏移所表达的地址值之和。
[0046]在图1所示的示例性实施例中,每个虚拟存储器页由两个相互非重叠、大小相等并且相邻的虚拟存储器子页构成。例如,虚拟存储器页由虚拟存储器子页121和122构成。相应的是,每个物理存储器区域包括两个相互非重叠、大小相等并且相邻的物理存储器子区域,使得每个物理存储器子区域对应于虚拟存储器子页中的一个。例如,物理存储器区域117包括物理存储器子区域123和124,其分别对应于虚拟存储器子页121和122。值得注意的是,在每个虚拟存储器页中的虚拟存储器子页的数目以及对应在每个物理存储器区域内的物理存储器子区域的数目也可以大于二。由于物理存储器子区域相互是相等大小,所以与物理存储器子区域相关的物理存储器地址可以基于在相同物理存储器区域内的另一物理存储器子区域相关的物理存储器地址计算。例如,存储数据项126a的存储器定位的物理存储器地址是存储添加了物理存储器子区域123和124大小的数据项125a的存储器定位的物理存储器地址。有利的是,物理存储器子区域的大小和虚拟存储器子页的大小为2的乘方,例如,但不一定是,211字节=2048字节。使用物理存储器区域的功能组件可以做成了解物理存储器子区域的大小,使得该功能组件能够在与一个物理存储器区域的物理存储器子区域相关的物理存储器地址基础上,形成与相同物理存储器区域的另一物理存储器子区域相关的相对应物理存储器地址。
[0047]图3图示了与本发明的另一示例性实施例相关的示例性数据结构。虚拟存储器311被组织成包括固定长度虚拟存储器页。在图3中,一些虚拟存储器页用参考编号312、313、314、315和316所表示。虚拟存储器311用能够用一个或多个诸如一个或多个随机访问存储器“RAM”电路的一个或多个存储器设备实现。虚拟存储器页是用于管理在虚拟存储器311和物理存储器320之间的映射的基础数据单元。在图3中,在虚存储器页和物理存储器320的固定长度相邻物理存储器区域之间的映射以连接线示出,其中一个连接线用参考编号328表示。在图3所示的示例情形中,虚拟存储器页312用物理存储器区域319实现,虚拟存储器页314用物理存储器区域318实现,并且虚拟存储器页316用物理存储器区域317实现。
[0048]下文参考图3中所示的数据结构和图2中所示的方法流程图,说明了根据用于控制至少一个功能组件的存储器使用的本发明的示例性实施例的方法。具有第一数位“3”的图参考编号指图3,相应的,具有第一数位“2”的图参考编号指图2。在阶段201中,该方法包括保留虚拟存储器111的一部分310,其中,该部分包括虚拟存储器页312-316等。为了简化存储器管理,有利的是,虚拟存储器的保留部分310是如图3中所示的虚拟存储器地址空间的相邻区域。在阶段202中,该方法包括在虚拟存储器页和用物理存储器320实现的物理存储器区域之间形成上述映射。在阶段203中,该方法包括,将提供对于考虑中的其他一些物理存储器区域的数据项,写入映射到虚拟存储器页312的物理存储器区域319。在图3中,其中两个数据项用参考编号325和326表示。在不限定通用性的条件下,并且出于阐释目的,我们假定数据项325提供对于物理存储器区域317的访问,并且数据项326提供对于物理存储器区域318的访问。数据项325可以包含与物理存储器区域317相关的物理存储器地址,或者基于其可推导出或可获得物理存储器地址的信息。相应的是,数据项326可以包含与物理存储器区域318相关的物理存储器地址或者可基于其推导或获取物理存储器地址的信息。
[0049]在需要使得功能组件能够访问例如物理存储器区域318的情形下,该方法包括阶段204和205。在阶段204中,该方法包括从物理存储器320中读取提供对于物理存储器区域318访问的数据项326。读取操作可以包括基于与映射到考虑中的物理存储器区域318的虚拟存储器页314的虚拟存储器地址,获取数据项326的虚拟存储器地址。然后,数据项326的虚拟存储器地址被传递到存储器管理单元“MMU”,存储器管理单元“MMU”连接至物理存储器320并且被配置成将数据项326的虚拟存储器地址根据上述虚拟存储器页和物理存储器区域之间的上述映射转换成数据项326的相对应物理存储器地址。在根据本发明的示例性实施例的方法中,与虚拟存储器页312相关并且提供对于数据项325,……326访问的虚拟存储器地址查找表被维护。为了获取数据项326的虚拟存储器地址,使用与虚拟存储器页314相关的虚拟存储器地址作为查找键值,执行查找。在根据本发明另一示例性实施例的方法中,利用定向到与虚拟存储器页314相关的虚拟存储器地址的一个或多个逻辑和/或数学运算,获取数据项326的虚拟存储器地址。
[0050]根据本发明的一个示例性实施例的计算机程序包括计算机可执行指令,用于控制可编程的处理器执行根据本发明的上述示例性实施例中的任何一个的方法。
[0051]根据本发明示例性实施例的计算机程序包括用于控制至少一个功能组件的存储器使用的软件模块。该软件模块包括计算机可执行指令,用于控制可编程处理器:
[0052]-保留虚拟存储器的一部分,该保留部分的虚拟存储器包括一个或多个相互非重叠并且相邻的虚拟存储器页,
[0053]-在虚拟存储器页和用物理存储器实施的物理存储器区域之间形成映射,该物理存储器区域的特定一个对应于虚拟存储器
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1