发明名称 通用操作系统对CPU二级缓存访问的控制方法
摘要 本发明涉及计算机通用操作系统内存管理技术领域,旨在提供一种通用操作系统对CPU二级缓存访问的控制方法。该方法包括以下步骤:在操作系统中以内存页着色的软件实现方法划分物理索引的缓存、利用缓存区域的结构来控制处理器二级缓存的使用情况、标记为缓存区域、提供系统调用。本发明通过改进操作系统内核对内存缺页中断和二级缓存的管理机制,添加系统调用,使得操作系统可以控制二级缓存的访问。程序员在编写对内存频繁访问的应用程序时,可以通过系统调用对规律性频繁访问且体积庞大的数据结构进行针对缓存的优化,从而减少二级缓存访问缺失率,显著提高程序性能。具有性能提升、可拓展性和便捷性等优点。
申请公布号 CN101510176A 申请公布日期 2009.08.19
申请号 CN200910096956.5 申请日期 2009.03.26
申请人 浙江大学 发明人 陈天洲;曹满;马建良;章铁飞;项凌翔;乔福明;黄江伟;王春昊;缪良华;陈剑
分类号 G06F12/08(2006.01)I 主分类号 G06F12/08(2006.01)I
代理机构 杭州中成专利事务所有限公司 代理人 唐银益
主权项 1、一种通用操作系统对CPU二级缓存访问的控制方法,其特征在于,包括以下步骤:1)在操作系统中以内存页着色的软件实现方法划分物理索引的缓存:在物理索引的缓存中,数据在物理内存中的地址决定了数据所映射到的缓存组编号和组内偏移,用来将数据映射并索引到缓存的哈希函数必须利用物理内存地址中足够的位,从而可以寻址整个缓存;由于当前缓存容量相对较大,物理内存地址中的位数已经超过了内存的页内偏移的位数,物理内存的页编号的低位会与缓存组编号的高位有部分重叠,因此物理内存的页编号决定了缓存中的指定的一部分组,共享相同缓存组编号位的物理内存页的集合构成一个缓存全等类;整个物理内存被划分为多个缓存全等类,具体的个数与二级缓存大小和物理内存页的大小有关;2)利用缓存区域的结构来控制处理器二级缓存的使用情况:使用函数控制缓存区域,并利用缓存区域记录被控制的内存页地址的链表和起止地址、缓存全等类的数量、缓存的使用情况、当前应用程序的内存结构的信息;3)标记为缓存区域利用操作系统处理虚拟内存缺页的中断函数来保存应用程序访问内存物理页编号的记录,确定应用程序要访问的缓存地址,从而控制处理器二级缓存的访问范围:当需要将一块应用程序的内存段固定在二级缓存中时,通过更改虚实地址转换页表项中这一块内存的权限位和标记位,使访问到这一块内存时会发生缺页中断,在缺页中断处理函数中,根据页表项中的标记位添加相关的分支,即可进行缓存区域的相关操作;4)提供系统调用系统调用将缓存区域的控制函数进行包装以方便地控制缓存区域,只需要在声明要优化的数据结构之前使用设置缓存区域的系统调用,即可优化二级缓存的使用情况。
地址 310027浙江省杭州市西湖区浙大路38号