[发明专利]基于栅栏和锁的多核Cache一致性维护的方法和装置有效
申请号: | 201510440207.5 | 申请日: | 2015-07-24 |
公开(公告)号: | CN105095144B | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 王耀华;陈书明;郭阳;万江华;叶伟军;陈海燕;胡封林;刘仲;陈胜刚;刘胜;马胜 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F15/163 | 分类号: | G06F15/163 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410073 湖南省长沙市砚瓦池正街47号中国*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 栅栏 多核 cache 一致性 维护 方法 装置 | ||
一种基于栅栏和锁的多核Cache一致性维护的方法和装置,该方法为:对于相同地址的共享数据,在进行多核间的读写操作时,首先通过硬件栅栏保证写数据核获取硬件锁的操作先于读数据核对硬件锁的查询操作;其次,写数据核获取硬件锁后开始进行写操作,并在作废掉其他核cache空间的数据副本之后,释放硬件锁;其他核在进行读数据前首先需要查询硬件锁的状态,直到硬件锁被释放以后才开始进行读数据操作。该装置用来执行上述方法。本发明具有结构简单、使用灵活、编程易用性强等优点。
技术领域
本发明主要涉及到片上多核微处理器的设计领域,特指一种适用于片上多核处理器中的cache一致性维护的方法。
背景技术
随着应用需求的增加以及芯片设计和制造技术的发展,需要在单个芯片上集成更多的资源,以提高单芯片的处理能力。然而,全局互连延迟、功耗、可靠性等因素使得单纯通过提高单处理器的频率来提高系统性能变得越来越难以实现。因此,在单芯片上集成多颗处理器核已经成为提高系统性能的主要发展方向。
为了提高访存性能,片上多核处理器往往采用共享存储结构,并且为了降低对存储器带宽的要求,往往为各个处理器核配备了私有的cache结构,cache极大的提升了片上多核访存的效率。但共享数据进入cache也产生了一个新问题即cache一致性要求:任意单核的一条读存储体指令(LOAD)所返回的值必须是由最近的一条对同一地址的写存储体指令(STORE)所写的值决定的。这一要求即为存储一致性需求,它实际上包含了存储器行为的两个重要方面:一致性协议(coherence)和访存次序(Event ordering)。一致性协议规定了一个读操作应该返回什么样的值。而访存次序则规定什么时候能将已写入的值返回给读操作。一致性协议保证多个处理器在同一时刻对同一物理位置能够读到相同的值。而访存次序则保证了各个处理器对同一物理位置的读写操作之间所应有的次序。
为了实现cache一致性要求,片上多核存储系统通常采用目录或监听的硬件解决方案,需要采用额外的结构跟踪共享数据块的状态,硬件开销较大;特别是随着片上多核系统集成度的提高,传统的基于目录或监听协议的硬件代价极大的增加了系统设计复杂度,总体功耗,以及响应时间。除目录和监听协议外,用户还可基于软件的方式实现cache一致性要求,但这些方法需要程序员从程序调度方面进行配合,才能确保访存次序,增加了程序员的负担,此外其效率相对硬件解决方案也较为低下。
综上所述,如何实现一种硬件结构简单、使用灵活、编程易用性强的cache一致性维护方法,从而可以高效集成在片上多核系统中,实现片上多核处理器在适度硬件复杂度下的性能提升,已经成为一个亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单、使用灵活、编程易用性强的基于栅栏和锁的多核Cache一致性维护的方法和装置。
为解决上述技术问题,本发明采用以下技术方案:
一种基于栅栏和锁的多核Cache一致性维护的方法,对于相同地址的共享数据,在进行多核间的读写操作时,首先通过硬件栅栏保证写数据核获取硬件锁的操作先于读数据核对硬件锁的查询操作;其次,写数据核获取硬件锁后开始进行写操作,并在作废掉其他核cache空间的数据副本之后,释放硬件锁;其他核在进行读数据前首先需要查询硬件锁的状态,直到硬件锁被释放以后才开始进行读数据操作。
作为本发明方法的进一步改进:所述写数据核为多个向不同地址写数据的处理器核,读数据核也为多个处理器核。
作为本发明方法的进一步改进:通过硬件栅栏保证所有写数据核获取硬件锁的操作先于读数据核对硬件锁的查询操作;其次,多个写数据核获取硬件锁后开始进行写操作,并在作废掉其他核cache空间的cache副本之后,释放硬件锁在所有获取核都完成释放后才会处于被释放的状态;其他核在进行读数据前首先需要查询硬件锁的状态,直到硬件锁被释放以后才开始进行读数据操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510440207.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:页面预览图获取方法及装置
- 下一篇:一种服务器节点和整机柜服务器