Techniques for implementing memory allocation accelerator methods and systems are generally described. The processor can generate requests to allocate the requested memory blocks. The request can be received by the memory allocation accelerator, and the memory allocation accelerator is configured to communicate with the processor. The memory allocation accelerator can process requests to identify the address of a specific memory block corresponding to the request and to return the address to the processor.
【技术实现步骤摘要】
内存分配加速器本申请是国际申请号为PCT/US2013/030876、国际申请日为2013年3月13日、专利技术名称为“内存分配加速器”的PCT国际申请于2015年9月10日进入中国国家阶段后申请号为“CN201380074458.5”的中国国家阶段专利申请的分案申请。
本专利技术的实施方式总体上涉及内存分配,具体而言,涉及内存分配加速器。
技术介绍
除非本文中另有指示,本部分中描述的材料和术语并不是针对本申请中权利要求的现有技术,并且不因包括在本部分中而被承认是现有技术。在多核架构中,多个处理器内核可被包括在单个集成电路晶粒中或包括在设置在单个芯片封装件中的多个集成电路晶粒上。高速缓存可以被用于存储供处理器内核中的一个或多个访问的数据。数据能够是存储在通常定位在晶粒外部的较大内存中的数据子集。每个内核可以被提供有为内核存储数据的高速缓存。
技术实现思路
在一些示例中,大致描述了用于为处理器分配内存的方法。该方法可以包括由处理器生成分配所请求内存块的请求。该方法还可以包括由内存分配加速器接收请求,该内存分配加速器被配置为与处理器通信。该方法可以包括由内存分配加速器处理该请求,以识别与该请求相对应的特定内存块的地址。该方法还可以包括由内存分配加速器将该地址返回至处理器。在一些示例中,片(tiles)可以包括处理器内核、高速缓存以及内存分配加速器,该内存分配加速器被配置为与内核以及高速缓存通信。处理器可以被配置为由处理器生成分配所请求内存块的请求。该内存分配加速器可以被配置为接收该请求。该内存分配加速器可以被配置为处理该请求,以识别与该请求相对应的特定内存块的地址 ...
【技术保护点】
一种用于为处理器内核分配内存的方法,所述方法包括:由被配置为与所述处理器内核通信的内存分配加速器存储预先分配数据,所述预先分配数据包括指向可用内存块的指针;由所述内存分配加速器存储与可用于分配给所述处理器内核的内存相关的元数据,其中所述元数据包括指向列表中的起始地址的指针,其中所述列表标识被配置为与所述处理器内核通信的高速缓存内存块;在存储了所述预先分配数据和所述元数据之后,由所述内存分配加速器接收分配所请求内存块的请求;响应于所述请求,由所述内存分配加速器分析所述预先分配数据;响应于所请求块,确定指向所述可用块的指针包括在所述预先分配数据中;由所述内存分配加速器将由所述指针所标识的并且与所述响应块相对应的地址返回;由所述内存分配加速器识别所述元数据中的针对与所述响应块相对应的块尺寸的新地址;以及基于所述块尺寸修改所述元数据。
【技术特征摘要】
1.一种用于为处理器内核分配内存的方法,所述方法包括:由被配置为与所述处理器内核通信的内存分配加速器存储预先分配数据,所述预先分配数据包括指向可用内存块的指针;由所述内存分配加速器存储与可用于分配给所述处理器内核的内存相关的元数据,其中所述元数据包括指向列表中的起始地址的指针,其中所述列表标识被配置为与所述处理器内核通信的高速缓存内存块;在存储了所述预先分配数据和所述元数据之后,由所述内存分配加速器接收分配所请求内存块的请求;响应于所述请求,由所述内存分配加速器分析所述预先分配数据;响应于所请求块,确定指向所述可用块的指针包括在所述预先分配数据中;由所述内存分配加速器将由所述指针所标识的并且与所述响应块相对应的地址返回;由所述内存分配加速器识别所述元数据中的针对与所述响应块相对应的块尺寸的新地址;以及基于所述块尺寸修改所述元数据。2.根据权利要求1所述的方法,其中存储所述元数据包括存储包括指向空闲列表中的起始地址的指针的元数据,其中所述空闲列表标识解除分配的内存块。3.根据权利要求2所述的方法,其中修改所述元数据包括:由所述内存分配加速器基于所述块尺寸将所述空闲列表中的指针中的一个的地址改变为不同的地址;以及由所述内存分配加速器在所述元数据中标识所述块尺寸的多个可用块。4.根据权利要求1所述的方法,其中存储所述元数据包括存储包括指向池列表中的起始地址的指针的元数据,其中所述池列表标识池中的可用内存块。5.根据权利要求1所述的方法,其中:存储所述元数据包括存储包括指向池列表中的起始地址的指针的元数据,其中所述池列表标识池中的可用内存块;以及修改所述元数据包括:由所述内存分配加速器基于所述块尺寸将所述池列表中的指针中的一个的地址改变为不同的地址;以及由所述内存分配加速器在所述元数据中标识所述块尺寸的多个可用块。6.根据权利要求5所述的方法,其中所述池列表包括各个块尺寸的可用块数量的指示;以及所述方法进一步包括减小所述块尺寸的所请求块的可用块的数量。7.根据权利要求1所述的方法,进一步包括:由所述内存分配加速器将所述元数据的地址存储在与由所述处理器内核运行的程序相关的区域中。8.根据权利要求1所述的方法,进一步包括:将内存中的页指派至所述内存分配加速器;以及由所述内存分配加速器确定所述页中的可用块。9.一种用于为处理器内核分配内存的方法,所述方法包括:由被配置为与所述处理器内核通信的内存分配加速器存储与可用于分配给所述处理器内核的内存相关的元数据,其中所述元数据包括指向列表中的起始地址的指针,其中所述列表标识被配置为与所述处理器内核通信的高速缓存内存块;在存储了所述元数据之后,由所述内存分配加速器接收由所述处理器内核生成的用于分配一个块尺寸的所请求内存块的请求;由所述内存分配加速器处理所述请求以识别与所述请求相对应的特定可用内存块的地址;由所述内存分配加速器将所述地址返回所述处理器内核;由所述内存分配加速器接收解除分配所请求块的解除分配请求;以及由所述内存分配加速器处理所述解除分配请求,以更新所述列表,从而指向所请求块。10.根据权利要求9所述的方法,其中存储所述元数据包括存储包括指向空闲列表中的起始地址的指针的元数据,其中所述空闲列表标识解除分配的内存块。11.根据权利要求10所述的方法,其中处理所述解除分配...
【专利技术属性】
技术研发人员:Y·索林因,
申请(专利权)人:英派尔科技开发有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。