[发明专利]一种缓存分配方法及装置有效
申请号: | 201310710756.0 | 申请日: | 2013-12-19 |
公开(公告)号: | CN103699497B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 赵剑川;贾克明;刘福元 | 申请(专利权)人: | 京信通信系统(中国)有限公司 |
主分类号: | G06F12/0802 | 分类号: | G06F12/0802 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 黄志华 |
地址: | 510663 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例提供了一种缓存分配方法及装置,从不同预设长度中,确定长度不小于需要分配的缓存长度的预设长度,并从确定的预设长度中,确定长度最小的预设长度;从配置的各子缓存块中,确定最小的预设长度对应的且使用状态为空闲的子缓存块,并将确定的空闲子缓存块进行分配,其中,各子缓存块为基于所述不同预设长度,分别将同一缓存块划分为多个长度相等的子缓存块。与现有技术中,无论需要分配的缓存是大还是小均分配固定大小的子缓存块相比,提高了对缓存的利用率,使得对缓存块的划分和分配更加合理。本发明涉及计算机技术领域。 | ||
搜索关键词: | 一种 缓存 分配 方法 装置 | ||
【主权项】:
一种缓存分配方法,其特征在于,包括:从不同预设长度中,确定长度不小于需要分配的缓存长度的预设长度,并从确定的预设长度中,确定长度最小的预设长度;从配置的各子缓存块中,确定所述最小的预设长度对应的且使用状态为空闲的子缓存块,并将确定的空闲子缓存块进行分配,其中,所述各子缓存块为基于所述不同预设长度,分别将同一缓存块划分为多个长度相等的子缓存块;其中,从配置的各子缓存块中,确定所述最小的预设长度对应的且使用状态为空闲的子缓存块,具体包括:根据基于所述最小的预设长度划分的各子缓存块所对应的二维比特图中表征各子缓存块使用状态的比特值,确定一个使用状态为空闲的子缓存块;其中,二维比特图为分别为基于所述不同预设长度划分的各子缓存块建立的对应的二维比特图,并且,二维比特图中的各比特位与该二维比特图所对应的各子缓存块一一对应,二维比特图中的比特位的比特值表征与该比特位对应的子缓存块的使用状态,且该比特位在二维比特图中的行号和列号之间的数值关系,用于表征与该比特位对应的子缓存块的相对地址;将确定的空闲子缓存块进行分配,具体包括:根据确定的空闲子缓存块对应的比特位在二维比特图中的行号和列号,确定所述空闲子缓存块的地址,并将所述空闲子缓存块进行分配;其中,针对每个二维比特图,设该二维比特图的起始行为第0行,起始列为第0列,则位于第i行第j列的比特位对应的子缓存块的相对地址addij由下式确定:addij=(i×X+j)×z;其中,i、j均为非负整数,X表征该二维比特图的总列数,z表征与该二维比特图对应的各子缓存块的长度;或者其中,针对每个二维比特图,设该二维比特图的总行数、总列数、以及与该二维比特图对应的各子缓存块的长度均表示为2n,n为非负整数,且该二维比特图的起始行为第0行,起始列为第0列,则位于第i行第j列的比特位对应的子缓存块的相对地址addij由下式确定:addij=(i<<log2X+j)<<log2z;其中,i、j均为非负整数,X表征该二维比特图的总列数,z表征与该二维比特图对应的各子缓存块的长度,<<为向左移位运算符。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京信通信系统(中国)有限公司,未经京信通信系统(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310710756.0/,转载请声明来源钻瓜专利网。