当前位置: 首页 > 专利查询>凯为公司专利>正文

用于存储器地址对准的方法和装置制造方法及图纸

技术编号:11875859 阅读:94 留言:0更新日期:2015-08-13 02:37
本发明专利技术的各实施例涉及用于存储器地址对准的方法和装置。公开了一种用于存储器地址对准的方法和体现该方法的系统,该方法包括:配置一个或者多个自然地对准的缓冲器结构;在一个或者多个自然地对准的缓冲器结构中的一个自然地对准的缓冲器结构的缓冲器中提供返回地址指针;确定一个或者多个自然地对准的缓冲器结构中的该一个自然地对准的缓冲器结构的配置;将模运算应用于返回地址和确定的配置的至少一个参数;以及提供根据应用的模运算确定的栈式地址指针。

【技术实现步骤摘要】

本公开内容涉及存储器管理。更特别地,本专利技术涉及存储器地址对准。
技术介绍
目前,许多设备正在利用处理器以执行系统的功能中的一些功能。这样的设备可以包括通用计算机、网络处理器、网络接口卡和本领域普通技术人员已知的其它系统。为了使处理器能够执行功能,提供了与处理器通信地耦合的存储器以保持各种数据,例如,由处理器执行的指令、待处理的数据、暂时数据和其它数据。为了支持存储器的管理,通常提供基于硬件的页面分配器(下文为自由页面分配器(FPA))。FPA使用包含指向自由存储器的一系列指针的数据结构(下文为逻辑栈),例如,链接列表、堆。可以有在FPA中的用于提供服务质量、虚拟化或者其它特征的多个逻辑栈。硬件或者软件实体通过请求来自FPA的指针来接收指针。FPA从多个逻辑栈之一读取(下文为取出)指针。指针指向存储器(下文为缓冲器)的一部分的基地址,实体可以将该部分用于某个目的。在不再需要缓冲器时,实体将返回地址指针(RAP)返回到FPA以向逻辑栈返回以用于由另一实体最终重用。由于这一重用,FPA向逻辑栈反馈(下文为推送)的指针(栈式地址指针,(SAP))必须再次指向缓冲器的基地址,从而使得它可以以后被分配到另一实体。如本领域中所知,根据一种方法,RAP是指向待释放的缓冲器的基地址的指针。这允许FPA将指向RA的指针直接推送到逻辑栈上,换而言之,指向RA的指针与SAP相同。这一方法的问题是返回实体可能仅有“不透明指针”,该不透明指针指向在待释放的缓冲器以内某处的地址而未指向缓冲器的开头。因而,实体可能不知道如何恰当地计算RA。另外,如果返回实体不知道如何计算指向RA的指针,则在其中FPA具有不同大小的多个逻辑栈的系统中,返回实体可能必须保持对从其指派指针的并且因而指针必须被返回到的逻辑栈的跟踪,并且为多个逻辑栈中的每个逻辑栈不同地执行计算。根据另一种方法,RAP是指向在待释放的缓冲器内某处的地址的指针。在返回这样的RAP时,实体(即,软件层)可能必须保持对从其指派指针的并且因而指针必须被返回到的逻辑栈的跟踪,并且进一步为多个逻辑栈中的每个逻辑栈不同地执行将RAP翻译回成SAP的计算。这样的方法花费指令,并且可能需要硬件区域以存储和发送变量、保持对在硬件实体之间的逻辑栈的跟踪直至它最终地到达FPA。因而,在本领域中需要一种提供对以上认识到的问题的解决方案以及附加优点的方法和体现该方法的装置。
技术实现思路
在公开内容的一个方面中,公开了一种根据所附独立权利要求的用于存储器地址对准的装置和方法。在从属权利要求中公开了附加方面。【附图说明】这里描述的前述方面将通过参照在与附图结合进行时的以下描述而变得更容易地清楚,在附图中:图1描绘了根据本公开内容的一个方面的概念数据结构,该概念数据结构包括用于由自由页面分配器(FPA)构造的自由指针池的逻辑栈;图2描绘了根据本公开内容的一个方面的自然地对准的多个缓冲器的示例性结构;以及图3描绘了根据本公开内容的一个方面的支持存储器地址对准的主要单元的框图。未重复对在各图之中的相似结构单元的描述,相似单元具有不同在于100的整数倍的标号,即,图1中的标号102在图2中变成标号202 ;除非明确地指出不同和/或备选方面。相同标号的不同实例被向标号追加的数(即,100_1)区分。任何未引用的双箭头线指示在描绘的实体之间的可能信息流。【具体实施方式】除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与由本专利技术所属领域普通技术人员普遍地理解相同的含义。还将理解,应当将术语(比如在常用字典中定义的术语)解释为具有与它们在相关领域和本公开内容的上下文中的含义一致的含义。如这里所用,单数形式“一个/ 一种”和“该”旨在于也包括复数形式,除非上下文清楚地另有指示。还将理解,术语“包括”在本说明书中被使用时指定存在陈述的特征、整体、步骤、操作、单元和/或部件,但是未排除存在或者添加一个或者多个其它特征、整体、步骤、操作、单元、部件和/或其组合。术语“和/或”包括关联的列举的项目中的一个或者多个项目中的任何和所有组合。可以参照一个或者多个示例性配置举例说明各种公开的方面。如这里所用,术语“示例性”意味着“用作示例、实例或者举例说明”而不应必然地被解释为比这里公开的其它配置优选或者有利。这里将参照附图描述本专利技术的各种方面,除非明确地指出,这些附图是本专利技术的概念配置的示意图示。提供本公开内容的各种方面以使本领域普通技术人员能够实践本专利技术。对贯穿本公开内容呈现的各种方面的修改将容易为本领域普通技术人员所清楚,并且这里公开的概念可以被延伸到其它应用。图1描绘了包括逻辑栈100的概念数据结构,自由页面分配器(FPA)硬件在存储器102中构建该逻辑栈以包含多个指针104。指针104以页面106为单位被推送到逻辑栈100 (S卩,写入到存储器102的适当部分)以及被从逻辑栈100取出(即,从存储器102的适当部分读取);每个页面是预定大小的存储器块。在一个实施例中,页面大小是128字节。可以有多个这样的逻辑栈以提供服务质量、虚拟化或者本领域普通技术人员已知的其它特征。以非重叠方式组织逻辑栈。如描绘的那样,在页面106中包含由循环冗余校验(CRC) 108保护的多个指针104。多个指针104的数目依赖于页面106的大小和指针的大小。在一个方面中,指针的大小是35位,因此允许29个指针被写入到128字节页面从而留下用于CRC的9位。第一指针页面被写入到栈基地址110,从而标识逻辑栈100的开始。栈大小由栈结束地址114界定。指针可以被写入到其中的下一自由页面的位置由栈地址112标识。由栈基地址110和栈结束地址114界定的专用于每个逻辑栈的存储器102的大小由包含FPA的设备的软件指派。为了实现解决现有技术问题的目标,FPA根据逻辑栈中的所有指针将指向的缓冲器的对准来向指针施加某些要求。图2描绘了自然地对准的多个缓冲器的示例性结构200。自然对准是以缓冲器的大小为模的缓冲器的起始地址是零。这样的起始地址被称为自然地对准的基地址。因此,缓冲器包括存储器202中的由自然地对准的基地址204界定并且具有指定的大小的空间。结构200在存储器202中根据由实施FPA的设备的软件初始化的配置参数被初始化。可以有多个这样的结构200,每个这样的结构与多个逻辑块(S卩,图1的逻辑块100)之一关联。换而言之,图1的逻辑块100包含指向结构200中的缓冲器的指针。在配置参数结构中保持配置参数。在一个方面中,配置参数结构可以包括至少一个寄存器。在一个方面中,配置参数包括例如以字节或者恒定多个字节为单位表达的缓冲器大小(BS),该BS指定结构200中的所有缓冲器的大小。在一个方面中,多个字节包括128字节,并且最大缓冲器大小是1MB。另一配置参数包括缓冲器偏移(BO),这是有符号偏移,该偏移指定在指向自然地对准的基地址204的指针与指向栈地址(该栈地址标识缓冲器206的开始)的指针之间的例如以字节或者恒定多个字节为单位的差值。该偏移的目的是满足一些软件层对跟踪缓冲器使用的需要。软件层可能需要在缓冲器中的每个缓冲器顶部的标识符;因,而该偏移保留缓冲器中的空间以用于这样的目的。因此,在软件层无需偏移时,在一个方面中,无需实本文档来自技高网
...

【技术保护点】
一种用于存储器地址对准的方法,包括:配置一个或者多个自然地对准的缓冲器结构;在所述一个或者多个自然地对准的缓冲器结构中的一个自然地对准的缓冲器结构的缓冲器中提供返回地址指针;确定所述一个或者多个自然地对准的缓冲器结构中的所述一个自然地对准的缓冲器结构的配置;将模运算应用于所述返回地址和确定的所述配置的至少一个参数;提供根据应用的所述模运算确定的栈式地址指针。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:W·P·斯奈德二世A·K·库杰特科维斯基
申请(专利权)人:凯为公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1