一种Cache分区的方法及装置的制造方法_4

文档序号:9375493阅读:来源:国知局
发明实施例提供的一种Cache分区的装置,能够为执行实体分配物理内存,在主机包括的Cache Sets中,选取未被占用的一个或多个Cache Set,将为执行主体分配的物理内存中的数据缓存至选取的Cache Set中,建立重染色表,并在重染色表中,建立为执行主体分配的物理内存地址与缓存组掩码Cache Set Mask的对应关系。与现有技术中的:根据物理内存的地址的低几位与Cache Set的固定对应关系,需要连续的物理内存的执行实体运行需要的数据缓存于多个不同的Cache Set相比。在本方案中,将为执行实体分配的物理内存中的数据缓存至选取的未被占用的Cache Set中,并建立分配给执行实体的物理内存与Cache Set的对应关系,无论为执行实体分配的物理内存是否连续,都可以灵活的为执行实体分配物理内存和Cache Set,为不同的执行实体分配不同的Cache Set,避免了多个执行实体共用相同的一个或多个Cache Set的情况,也从而减少了多个执行实体在Cache的使用上产生的干扰,提高了 Cache的访存性能。
[0127]此外,如图9所示,装置200还包括:
[0128]重染色表获取模块203,用于获取所述重染色表。
[0129]查找模块204,用于根据为所述执行主体分配的物理内存地址,在所述重染色表中,查找并获取目标Cache Set Mask。
[0130]其中,目标Cache Set Mask与为执行实体分配的物理内存地址对应。
[0131]第一访问模块205,用于根据所述目标Cache Set Mask,确定并访问所述目标Cache Set。
[0132]其中,目标Cache Set Mask 与目标 Cache Set 对应。
[0133]本发明实施例提供的一种Cache分区的装置,能够为执行实体分配物理内存,在主机包括的Cache Sets中,选取未被占用的一个或多个Cache Set,将为执行主体分配的物理内存中的数据缓存至选取的Cache Set中,建立重染色表,并在重染色表中,建立为执行主体分配的物理内存地址与缓存组掩码Cache Set Mask的对应关系;获取重染色表,根据为执行主体分配的物理内存地址,在重染色表中,查找并获取目标Cache Set Mask,根据目标Cache Set Mask,访问目标Cache Set。与现有技术中的:根据物理内存的地址的低几位与Cache Set的固定对应关系,需要连续的物理内存的执行实体运行需要的数据缓存于多个不同的Cache Set相比。在本方案中,将为执行实体分配的物理内存中的数据缓存至选取的未被占用的Cache Set中,并建立分配给执行实体的物理内存与Cache Set的对应关系,无论为执行实体分配的物理内存是否连续,都可以灵活的为执行实体分配物理内存和Cache Set,为不同的执行实体分配不同的Cache Set,避免了多个执行实体共用相同的一个或多个Cache Set的情况,也从而减少了多个执行实体在Cache的使用上产生的干扰,提高了 Cache的访存性能。
[0134]进一步的,如图10所示,装置200包括:
[0135]存储模块206,用于将所述目标Cache Set Mask存储至为所述执行实体分配的物理内存地址的影子地址空间Shadow Address Space。
[0136]第二访问模块207,用于当所述执行实体再次索引所述目标Cache Set时,根据存储至所述Shadow Address Space的所述目标Cache Set Mask,确定并访问所述目标Cache
Set0
[0137]本发明实施例提供的一种Cache分区的装置,能够为执行实体分配物理内存,在主机包括的Cache Sets中,选取未被占用的一个或多个Cache Set,将为执行主体分配的物理内存中的数据缓存至选取的Cache Set中,建立重染色表,并在重染色表中,建立为执行主体分配的物理内存地址与缓存组掩码Cache Set Mask的对应关系;获取重染色表,根据为执行主体分配的物理内存地址,在重染色表中,查找并获取目标Cache Set Mask,根据目标Cache Set Mask,访问目标Cache Set;将目标Cache Set Mask存储至为执行主体分配的物理内存地址的影子地址空间Shadow Address Space,当执行实体再次索引目标CacheSet时,根据存储至Shadow Address Space的目标Cache Set Mask,确定并访问目标CacheSet。与现有技术中的:根据物理内存的地址的低几位与Cache Set的固定对应关系,需要连续的物理内存的执行实体运行需要的数据缓存于多个不同的Cache Set相比。在本方案中,将为执行实体分配的物理内存中的数据缓存至选取的未被占用的Cache Set中,并建立分配给执行实体的物理内存与Cache Set的对应关系,无论为执行实体分配的物理内存是否连续,都可以灵活的为执行实体分配物理内存和Cache Set,为不同的执行实体分配不同的Cache Set,避免了多个执行实体共用相同的一个或多个Cache Set的情况,也从而减少了多个执行实体在Cache的使用上产生的干扰,提高了 Cache的访存性能;而且,当执行实体再次索引目标Cache Set时,可以直接利用Shadow Address Space中的Cache Set Mask进行索引,确定并访问目标Cache Set,节省了确定目标Cache Set的时间,提高了 Cache访存的效率。
[0138]进一步的,装置200还包括内存管理单元MMU,MMU用于用于缓存页表缓存项,页表缓存项中包括执行实体的标识ID,如图11所示,装置200还包括:
[0139]添加模块208,用于在所述MMU的页表缓存项中添加与所述执行实体的标识ID对应的所述目标Cache Set Mask。
[0140]掩码获取模块209,用于当所述执行实体再次索引所述目标Cache Set时,根据所述执行实体的标识ID,在所述页表缓存项中得到所述目标Cache Set Mask。
[0141]第三访问模块210,用于根据所述目标Cache Set Mask,确定并访问所述目标Cache Set。
[0142]本发明实施例提供的一种Cache分区的装置,能够为执行实体分配物理内存,在主机包括的Cache Sets中,选取未被占用的一个或多个Cache Set,将为执行主体分配的物理内存中的数据缓存至选取的Cache Set中,建立重染色表,并在重染色表中,建立为执行主体分配的物理内存地址与缓存组掩码Cache Set Mask的对应关系;获取重染色表,根据为执行主体分配的物理内存地址,在重染色表中,查找并获取目标Cache Set Mask,根据目标Cache Set Mask,访问目标Cache Set ;在MMU的页表缓存项中添加与执行实体的标识ID对应的目标Cache Set Mask,当执行实体再次索引目标Cache Set时,根据执行实体的标识ID,在页表缓存项中得到目标Cache Set Mask,从而确定并访问目标Cache Set。与现有技术中的:根据物理内存的地址的低几位与Cache Set的固定对应关系,需要连续的物理内存的执行实体运行需要的数据缓存于多个不同的Cache Set相比。在本方案中,将为执行实体分配的物理内存中的数据缓存至选取的未被占用的Cache Set中,并建立分配给执行实体的物理内存与Cache Set的对应关系,无论为执行实体分配的物理内存是否连续,都可以灵活的为执行实体分配物理内存和Cache Set,为不同的执行实体分配不同的CacheSet,避免了多个执行实体共用相同的一个或多个Cache Set的情况,也从而减少了多个执行实体在Cache的使用上产生的干扰,提高了 Cache的访存性能;而且,执行实体再次索引目标Cache Set时,可以直接利用MMU的页表缓存项中的执行实体标识和Cache Set Mask的对应关系进行索引,确定并访问目标Cache Set,节省了确定目标Cache Set的时间,提高了 Cache的访存效率。
[0143]更进一步的,Cache系统包括缓存寄存器,如图12所示,重染色表获取模块203,包括:
[0144]检测单元2031,用于检测所述缓存寄存器中是否存在所述重染色表。
[0145]第一获取单元2032,用于当存在时,从所述缓存寄存器中获取所述重染色表。
[0146]第二获取单元2033,用于当不存在时,从物理内存中获取所述重染色表。
[0147]本发明实施例提供的一种Cache分区的装置,能够为执行实体分配物理内存,在主机包括的Cache Sets中,选取未被占用的一个或多个Cache Set,将为执行主体分配的物理内存中的数据缓存至选取的Cache Set中,建立重染色表,并在重染色表中,建立为执行主体分配的物理内存地址与缓存组掩码Cache Set Mask的对应关系;检测缓存寄存器中是否存重染色表,存在时,从缓存寄存器中获取重染色表,不存在时,从物理内存中获取所述重染色表,根据为执行主体分配的物理内存地址,在重染色表中,查找并获取目标CacheSet Mask,根据目标Cache Set Mask,访问目标Cache Set。与现有技术中的:根据物理内存的地址的低几位与Cache Set的固定对应关系,需要连续的物理内存的执行实体运行需要的数据缓存于多个不同的Cache Set相比。在本方案中,将为执行实体分配的物理内存中的数据缓存至选取的未被占用的Cache Set中,并建立分配给执行实体的物理内存与Cache Set的对应关系,无论为执行实体分配的物理内存是否连续,都可以灵活的为执行实体分配物理内存和Cache Set,为不同的执行实体分配不同的Cache Set,避免了多个执行实体共用相同的一个或多个Cache Set的情况,也从而减少了多个执行实体在Cache的使用上产生的干扰,提高了 Cache的访存性能;而且,从缓存寄存器中获取重染色表的速度更快,首先考虑从缓存寄存器中获取重染色表,节省了确定目标Cache Set的时间,从而提高了 Cache的访存效率。
[0148]本发明实施例还提供了一种Cache分区设备300,如图13所示,包括:至少一个处理器301,例如CPU (central process unit),至少一个通信总线302,存储器303。另外,该网络管理服务器300还可以包括至少一个网络接口 304和用户接口 305。通信总线302用于实现这些组件之间的连接通信。可选的,用户接口 305包括显示器、键盘、鼠标、触摸屏等设备。存储器303包括缓存器Cache,可能包含高速RAM(random access memory)存储器,也可能还包括非易失性存储器(non-volatile memory),例如磁盘存储器。
[0149]具体的,存储器303用于存储执行实体运行时需要的数据,还用于存储建立的为执行实体分配的物理内存与Cache Set的对应关系。
[0150]进一步的,存储器303还用于存储在重染色表中为执行实体分配的物理内存地址与Cache Set Mask的对应关系,或者执行实体的标识ID与Cache Set Mask的对应关系。
[0151]具体的,处理器301可以用于为执行实体分配物理内存;以及,用于在所述主机包括的Cache Sets中,选取未被占用的一个或多个Cache Set,将为所述执行主体分配的物理内存中的数据缓存至所述选取的Cache Set中,建立为所述执行主体分配的物理内存与所述选取的Cache Set的对应关系。
[0152]进一步的,处理器301可以用于建立所述重染色表,并在所述重染色表中,建立为所述执行实体分配的物理内存地址与缓存组掩码Cache Set Mask的对应关系,所述CacheSet Mask用于标识选取的Cache Set。
[0153]其中,Cache分区设备300包括重染色组件,所述重染色组件用于读取重染色表,所述重染色表用于记录为执行主体分配的物理内存与选取的Cache Set的对应关系。
[0154]此外,处理器301可以用于获取所述重染色表;以及,用于根据为所述执行实体分配的物理内存地址,在所述重染色表中,查找并获取目标Cache Set Mask,所述目标CacheSet Mask与为
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1