[发明专利]一种基于自旋锁的多核处理器共享数据访问设计方法在审
申请号: | 202211042527.1 | 申请日: | 2022-08-29 |
公开(公告)号: | CN116302097A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 陈雷;王潇潇;庄伟;张世远;侯国伟;杨雪;郭嘉;郝帅;李欣;赵晋;禹莹;张麒 | 申请(专利权)人: | 北京时代民芯科技有限公司;北京微电子技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/48 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 庞静 |
地址: | 100076 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 自旋 多核 处理器 共享 数据 访问 设计 方法 | ||
本发明涉及基于自旋锁的多核处理器共享数据访问设计方法。本发明设计了两个4N位抗辐射加固原子锁寄存器,可以实现两个寄存器原子锁,每个寄存器可以分为高2N位和低2N位两个部分,其中低2N位保存正在申请该寄存器原子锁的处理器核的识别号COREn_ID,高2N位保存当前获取该寄存器原子锁的处理器核的识别号LOCKn_ID。本发明可以减少多核任务调度中访问共享数据的原子操作对软件算法的依赖性,进而减少由于针对原子操作软件算法的恶意攻击而造成的线程执行错误,是一种高安全、高可靠的多核调度原子锁实现方法。
技术领域
本发明属于线程同步领域,涉及到一种基于高安全高可靠自旋锁的多核处理器共享数据访问设计方法。
背景技术
常见的通用多核处理器系统(比如桌面级、服务器级、移动端高性能多核处理器等)根据应用场景对高性能、高实时性调度的需求,在需要访问共享数据时采用查询获取原子锁的方式来对系统共享资源进行保护,通过处理器执行原子锁操作,能够在DDR等外部存储器中设置原子锁,对某些多核共享资源的访问进行加、解锁保护操作,避免其他核或其他线程同时对共享数据进行访问,造成访问冲突。
针对宇航领域应用场景研制的多核处理器,从高可靠设计考虑,存储在DDR等外部存储器中的原子锁数据可能会受到宇宙环境辐射影响;从高安全设计考虑,现有操作系统多核调度主要依赖于软件算法,可能受到针对原子操作的恶意攻击而造成线程执行出错,甚至导致多核系统崩溃。为了保证任务的可靠性,更安全的调度方法是根据应用程序需求实现相对固定的调度,减少对软件算法的依赖。
发明内容
本发明的技术解决问题:针对航天领域中多核处理器的高可靠、高安全的应用要求,提出了一种满足固定调度需求的寄存器原子锁操作,是一种高安全、高可靠的多核调度原子锁实现方法。
本发明的技术方案是:一种基于自旋锁的多核处理器共享数据访问设计方法,通过向多核处理器提供寄存器原子锁的方式,实现线程对共享数据访问的调度;所述的寄存器原子锁由4N位的原子锁寄存器实现;N为处理器的核数;
将原子锁寄存器分为高2N位和低2N位两个部分;
设置原子锁寄存器的低2N位为COREn_ID区域,保存正在申请该寄存器原子锁的处理器核的识别号COREn_ID,其中COREn_ID区域中的低N位代表COREn_ID的值,高N位COREn_ID_WEN分别为低N位对应位的写使能;
设置原子锁寄存器的高2N位为LOCKn_ID区域,保存当前尝试获取该寄存器原子锁的处理器核的识别号LOCKn_ID,其中LOCKn_ID区域中的低N位代表LOCKn_ID的值,高N位LOCKn_ID_WEN分别为低N位对应位的写使能;
各个处理器核都有相同的机会获取到寄存器原子锁;
在同一时刻,同一个寄存器原子锁最多只能被一个处理器核所获取。
优选的,原子锁寄存器的位数根据处理器的核数确定,每个原子锁寄存器实现一个寄存器原子锁,由单个4N位的原子锁寄存器实现的寄存器原子锁适用于最多N个处理器核对共享地址的访问调度。
优选的,所述原子锁寄存器中保存当前尝试获取该寄存器原子锁的处理器核识别号的LOCKn_ID区域,包括:
该区域低N位LOCKn_ID只有在其对应使能位有效时才能够写入,对应使能位无效时LOCKn_ID只可读,LOCKn_ID的值为0时代表寄存器原子锁处于释放状态,LOCKn_ID的值不为0时,该值代表当前尝试获取该寄存器原子锁的处理器核的识别号;
该区域高N位LOCKn_ID_WEN为LOCKn_ID的使能位,分别对应低N位的写使能,使能位为高时有效,使能位为低时无效,LOCKn_ID_WEN写入后硬件会自动清零。
优选的,所述原子锁寄存器中保存正在申请该寄存器原子锁的处理器核的识别号COREn_ID区域,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211042527.1/2.html,转载请声明来源钻瓜专利网。