1.一种处理系统中的内存分配方法,所述处理系统包括内存,所述内存包括b个内存组,其中b是整数,并且所述方法包括:
将组计数值分配给任务;以及
将所述任务所引用的寄存器映射到所述内存中的内存组,其中所述映射是基于b和所分配的组计数值。
2.根据权利要求1所述的方法,其中在创建所述任务时,将所述组计数值分配给任务。
3.根据权利要求1所述的方法,其中将组计数值分配给所述任务包括将所述组计数器的当前值分配给所述任务,且所述方法另外包括:
调整所述组计数值以供分配给下一任务。
4.根据权利要求3所述的方法,其中所述组计数器的所述值是通过递增所述组计数器来调整的。
5.根据权利要求4所述的方法,其中所述组计数器以介于0和b-1之间的固定或可变数量递增。
6.根据权利要求1所述的方法,其中所述方法另外包括:
标识与所述任务相关联的主组,
并且其中将组计数值分配给所述任务包括:
基于所述任务的所述主组和所存储的主组掩码,将组计数值分配给所述任务;以及
基于分配,更新所述主组掩码。
7.根据权利要求6所述的方法,其中基于与所述任务相关联的元数据来标识所述主组。
8.根据权利要求6所述的方法,其中所述主组掩码包括b个位,一个位对应于所述b个内存组中的一个,并且基于所述分配更新所述主组掩码包括:
响应于将任务的主组分配给所述内存组中的一个,将所述主组掩码中对应于所述内存组中的所述一个的位从第一值更新为第二值。
9.根据权利要求8所述的方法,其中基于所述分配更新所述主组掩码另外包括:
响应于确定所述主组掩码中的所有b个位都设置为所述第二值,将所述主组掩码中的所有所述位重置为所述第一值。
10.根据前述权利要求中任一项所述的方法,其中将所述任务所引用的寄存器映射到所述内存中的内存组包括:
根据下式将所述任务所引用的寄存器映射到所述内存中的内存组:
(组编号)=((寄存器编号)+(所分配的组计数值))modb,
其中组编号是内存组的标识符,且寄存器编号是寄存器的标识符。
11.根据权利要求1至9中任一项所述的方法,其中将所述任务所引用的寄存器映射到所述内存中的内存组包括:
基于所述任务的基指针、根据所述寄存器编号确定的寄存器偏移和根据所述所分配的组计数值确定的组偏移,计算寄存器的内存地址。
12.根据权利要求1至9中任一项所述的方法,其中将所述任务所引用的寄存器映射到所述内存中的内存组包括:
基于所述所分配的组计数值,更新所述任务的基指针;以及
基于所述任务的更新后的基指针和根据所述寄存器编号确定的寄存器偏移,计算寄存器的内存地址。
13.根据权利要求1所述的方法,其中将组计数值分配给所述任务包括将所述组计数器的当前值分配给所述任务,且所述方法另外包括:
标识与所述任务相关联的主组;以及
调整所述组计数值以供分配给下一任务,
并且其中将所述任务所引用的寄存器映射到所述内存中的内存组包括:
基于b、所述所分配的组计数值和所述任务的所述主组,将所述任务所引用的寄存器映射到所述内存中的内存组。
14.根据权利要求13所述的方法,其中调整所述组计数值包括递增所述组计数值。
15.根据权利要求13或14所述的方法,其中基于b、所述所分配的组计数值和所述任务的所述主组将所述任务所引用的寄存器映射到所述内存中的内存组包括:
根据下式基于b、所述所分配的组计数值和所述任务的所述主组,将所述任务所引用的寄存器映射到所述内存中的内存组:
(组编号)=((寄存器编号)+(组差))modb,以及
(组差)=(所分配的组计数值)-(主组编号)
其中组编号是内存组的标识符,主组编号是所述任务的所述主组的标识符,且寄存器编号是寄存器的标识符。
16.根据权利要求13或14所述的方法,其中基于b、所述所分配的组计数值和所述任务的所述主组将所述任务所引用的寄存器映射到所述内存中的内存组包括:
基于所述任务的基指针、根据所述寄存器编号确定的寄存器偏移以及根据所述所分配的组计数值和所述任务的所述主组确定的组差偏移,计算寄存器的内存地址。
17.根据权利要求13或14所述的方法,其中基于b、所述所分配的组计数值和所述任务的所述主组将所述任务所引用的寄存器映射到所述内存中的内存组包括:
基于所述所分配的组计数值和所述任务的所述主组,更新所述任务的基指针;以及
基于所述任务的更新后的基指针和根据所述寄存器编号确定的寄存器偏移,计算寄存器的内存地址。
18.根据权利要求13或14所述的方法,其中基于与所述任务相关联的元数据来标识所述主组。
19.一种处理系统,包括:
内存,其包括b个内存组,其中b是整数;
组计数器;
任务创建模块,其配置成将组计数值分配给任务;以及
地址生成单元,其配置成将所述任务所引用的寄存器映射到所述内存中的内存组,其中所述映射是基于b和所分配的组计数值。
20.根据权利要求19所述的处理系统,其中所述处理系统包括单个逻辑内存,所述单个逻辑内存包括b个内存组。