[发明专利]保证缓存一致性的方法和终端有效
| 申请号: | 201310268888.2 | 申请日: | 2013-06-28 |
| 公开(公告)号: | CN103365656B | 公开(公告)日: | 2016-10-19 |
| 发明(设计)人: | 崔世强;闫兵 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/27 |
| 代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 王君;肖鹂 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 保证 缓存 一致性 方法 终端 | ||
技术领域
本发明实施例涉及信息技术领域,并且更具体地,涉及保证缓存一致性的方法和终端。
背景技术
在现代计算机系统中,主存储器的存取速度远远小于比中央处理器操作速度,因此中央处理器的高速处理能力不能发挥。一种常用的解决方法就是在中央处理器与主存储器中间添加缓存(cache)。缓存的容量只用主存储器的几百分之一,但是缓存的存取速度与中央处理器相匹配。根据程序局部性原理,当主存储器的某一单元正在被使用时,其邻近单元将被用到的可能性较大。因此,当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的一组单元调入缓存,而中央处理器即将存取的主存储器单元很可能就在刚刚调入的一组单元内。这样,中央处理器就可以直接对缓存进行存取,从而提高了计算机系统的处理速度。
在采用缓存的情况下,需要保证数据在缓存中的副本与该数据在主存储器的副本是一致的。如果该数据在缓存中的副本与在主存储器的副本不一致,程序的后续处理就会出错。现有保证缓存一致性的一种方法是由处理器通过硬件对主存储器和缓存进行监控,而这种方法硬件复杂度很高,对硬件设计和实现的要求很高。现有保证缓存一致性的另一种方法是由程序员通过编写代码来保证缓存一致性,程序的执行效率取决于程序员的编程能力。
发明内容
本发明实施例提供了保证缓存一致性的方法和终端,能够降低保证缓存一致性的复杂程度。
第一方面,本发明实施例提供一种保证缓存一致性的方法,该方法包括:确定源程序包括具有缓存一致性属性的变量;生成对应于该源程序的泛化(generic)树,其中该generic树包括具有缓存一致性属性的generic节点,该具有缓存一致性属性的generic节点对应于该具有缓存一致性属性的变量;生成对应于该generic树gimple集合并生成对应于该gimple集合的RTL集合,其中该RTL集合包括缓存一致的RTL,该缓存一致的RTL对应于该具有缓存一致性属性的generic节点;基于该RTL集合,生成缓存一致的目标代码。
结合第一方面,在第一种可能的实现方式中,生成对应于该generic树的寄存器转换语言RTL集合,该RTL集合包括缓存一致的RTL,该缓存一致的RTL对应于该具有缓存一致性属性的generic节点,包括:对该generic树进行简化gimplify过程并进行缓存一致性处理,生成对应于该generic树的简化gimple集合,其中该gimple集合包括缓存一致的gimple,该缓存一致的gimple对应于该具有缓存一致性属性的generic节点;对该gimple集合进行扩展expand过程,生成对应于该gimple集合的该RTL集合,其中该RTL集合包括该缓存一致的RTL,该缓存一致的RTL对应于该缓存一致的gimple。
结合第一方面,在第二种可能的实现方式中,生成对应于该generic树的寄存器转换语言RTL集合,该RTL集合包括缓存一致的RTL,该缓存一致的RTL对应于该具有缓存一致性属性的generic节点,包括:对该generic树进行简化gimplify过程,生成对应于该generic树的简化gimple集合,其中该gimple集合包括具有缓存一致性属性的gimple,该具有缓存一致性属性的gimple对应于该具有缓存一致性属性的generic节点;对该gimple集合进行扩展expand过程并进行缓存一致性处理,生成对应于该gimple集合的该RTL集合,其中该RTL集合包括该缓存一致的RTL,该缓存一致的RTL对应于该具有缓存一致性属性的gimple。
结合第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,在生成对应于该gimple集合的该RTL集合之前,该方法还包括:对该gimple集合进行优化处理。
结合第一方面或上述任一种可能的实现方式,在第四种可能的实现方式中,在基于该RTL集合,生成缓存一致的目标代码之前,该方法还包括:对该RTL集合进行优化处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310268888.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种单片机并行烧录方法
- 下一篇:一种显示模块的自适应显示方法和装置





