内存分配加速器制造技术

技术编号:12272502 阅读:55 留言:0更新日期:2015-11-04 21:17
一般描述了用于实施内存分配加速器的方法和系统的技术。处理器可以生成分配所请求内存块的请求。请求可以由内存分配加速器接收,内存分配加速器被配置为与处理器通信。内存分配加速器可以处理请求,以识别与请求相对应的特定内存块的地址,并可将该地址返回至处理器。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】内存分配加速器
技术介绍
除非本文中另有指示,本部分中描述的材料和术语并不是针对本申请中权利要求 的现有技术,并且不因包括在本部分中而被承认是现有技术。 在多核架构中,多个处理器内核可被包括在单个集成电路晶粒中或包括在设置在 单个芯片封装件中的多个集成电路晶粒上。高速缓存可以被用于存储供处理器内核中的一 个或多个访问的数据。数据能够是存储在通常定位在晶粒外部的较大内存中的数据子集。 每个内核可以被提供有为内核存储数据的高速缓存。 概述 在一些示例中,大致描述了用于为处理器分配内存的方法。该方法可以包括由处 理器生成分配所请求内存块的请求。该方法还可以包括由内存分配加速器接收请求,该内 存分配加速器被配置为与处理器通信。该方法可以包括由内存分配加速器处理该请求,以 识别与该请求相对应的特定内存块的地址。该方法还可以包括由内存分配加速器将该地址 返回至处理器。 在一些示例中,片(tiles)可以包括处理器内核、高速缓存以及内存分配加速器, 该内存分配加速器被配置为与内核以及高速缓存通信。处理器可以被配置为由处理器生成 分配所请求内存块的请求。该内存分配加速器可以被配置为接收该请求。该内存分配加速 器可以被配置为处理该请求,以识别与该请求相对应的特定内存块的地址。该内存分配加 速器可以被配置为将该地址返回至处理器。 在一些示例中,内存分配加速器可以包括存储器和控制器,该控制器与该存储器 通信。该控制器可以被配置为接收分配所请求内存块的请求。该控制器可以被配置为处理 该请求,以识别与该请求相对应的特定内存块的地址。该控制器可以被配置为将地址返回。 前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及 下面的详细说明,除了上文所描述的示例性的方面、实施例、术语和特征之外,另外的方面、 实施例、术语和特征将变得清晰可见。【附图说明】 通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其 它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照本公开的多个实施例,因此, 不应视为对本公开范围的限制,将通过利用附图结合附加的具体描述和细节对本公开进行 说明,在附图中: 图1示出了能够用于实施内存分配加速器的示例系统; 图2示出了能够用于实施图1的内存分配加速器的示例系统,其显示与可以使用 的元数据相关的额外细节; 图3示出了能够用于实施图2的内存分配加速器的示例系统,其显示包括预分配 表的额外细节; 图4描述了用于实施内存分配加速器的示例处理的流程图; 图5示出了能够用于实施内存分配加速器的计算机程序产品;以及 图6是示出了被设置为实施内存分配加速器的示例计算设备的框图; 所有附图都根据本文中所描述的至少一些实施例设置。【具体实施方式】 在下面的详细说明中,将参考附图,附图构成了详细说明的一部分。在附图中,除 非上下文指出,否则相似的符号通常表示相似的组件。在详细说明、附图和权利要求中所描 述的示例性实施例不意在限制。可以使用其它实施例,并且可以做出其它改变,而不偏离本 文呈现的主题的精神或范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开 的方面能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地 构思出。 本公开一般尤其涉及与内存分配加速器有关的方法、装置、系统、设备和计算机程 序广品。 简而言之,大致描述了用于实施内存分配加速器的方法和系统的技术。处理器可 以生成分配所请求内存块的请求。该请求可以由内存分配加速器接收,该内存分配加速器 被配置为与处理器通信。内存分配加速器可以处理该请求,以识别与该请求相对应的特定 内存块的地址并可将该地址返回至处理器。 图1示出了根据本文描述的至少一些实施例设置的用于实施内存分配加速器的 示例系统。示例系统100可以包括晶粒102、硬件控制器106和/或内存108,其都被配置 为与彼此通信。硬件控制器106和/或内存108可以被物理地定位在晶粒102外部。晶 粒102可以包括片200,片200包括片200a、200b、200c和/或200d。片200可以包括处理 器内核(本文中为"内核"或"处理器"或"处理器内核")110 (包括内核ll〇a、110b、110c、 110d)、高速缓存114(包括高速缓存114a、114b、114c和/或114d)和/或路由器300(包 括路由器300a、300b、300c和/或300d)。路由器300可以被配置为通过网络150通信。高 速缓存114可以是例如L2或L3高速缓存。 片200a可以包括内核110a、高速缓存114a和/或路由器300a。片200b可以包括 内核110b、高速缓存114b和/或路由器300b。片200c可以包括内核110c、高速缓存114c 和/或路由器300c。片200d可以包括内核110d、高速缓存114d和/或路由器300d。 硬件控制器106可以被配置为从程序80或操作系统104接收指令90。指令90可 以与程序80的运行相关。响应于指令90,硬件控制器106可以在晶粒102中选择一个或多 个片200,以运行程序80。 -个或多个内核110可以包括内存分配加速器。针对如所示出的内核110a,内核 110a可以包括内存分配加速器116。内存分配加速器116可以被配置为与内核110a通信 并且可以是内核ll〇a的功能单元。 如以下将更具体描述的,内存分配加速器116可以是针对特定功能性能的硬件实 施功能单元。内存分配加速器116可以针对分配由内核110a使用的内存的功能。内核110a 可以例如向内存108请求分配内存块。分配内存的请求可以由内存分配加速器116接收和 处理。内存分配加速器116可以识别与该请求相对应的内存块的起始地址。响应于该请求, 内存分配加速器116可以向内核110a分配内存块。内存分配加速器116可以向内核110a 提供分配至内核ll〇a的内存块的起始位置的地址。在分配内存块并提供地址之后,内核 110a可以使用内存块来继续处理程序80。 图2示出了根据本文描述的至少一些实施例设置的能够用于实施图1的内存分配 加速器的示例系统,其显示与可以使用的元数据相关的额外细节。图2大致与图1的系统 1〇〇类似,其具有额外的细节。为清楚描述的目的,图2中与图1中的组件标记相同的那些 组件将不再次描述。 内存分配加速器116可以存储并保持元数据表122。元数据表122可以被用于跟 踪待分配至处理器ll〇a的地址。元数据表122可以被存储在例如高速缓存114中,其在所 分配的地址处开始(以下描述)。可与由处理器ll〇a执行的处理的固定地址区域相关地 存储元数据122的地址。例如,由程序80使用的堆(heap)的第一页可以被保留为元数据 122可以被存储的地址。在另一示例中,处理器110a可以包括寄存器132,其被用于存储元 数据122的起始地址或地址。由于环境或程序在处理器110a中转换,内核110a的处理器 状态(包括元数据表122的地址)可以被保持在内核110a中的寄存器132中。 元数据表122可以包括空闲列表124和/或池列表(poollist) 126。空闲列表124 可以包括最近可用的内存块的标识。例本文档来自技高网...
内存分配加速器

【技术保护点】
一种用于为处理器分配内存的方法,所述方法包括:由所述处理器生成分配所请求内存块的请求;由内存分配加速器接收所述请求,所述内存分配加速器被配置为与所述处理器通信;由所述内存分配加速器处理所述请求,以识别与所述请求相对应的特定内存块的地址;由所述内存分配加速器将所述地址返回至所述处理器。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:Y·索林因
申请(专利权)人:英派尔科技开发有限公司
类型:发明
国别省市:美国;US

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

1