[发明专利]一种spinlock硬件电路及电子设备有效
申请号: | 201910151740.8 | 申请日: | 2019-02-28 |
公开(公告)号: | CN109901880B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 廖裕民;陈云鹰 | 申请(专利权)人: | 瑞芯微电子股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 福州市景弘专利代理事务所(普通合伙) 35219 | 代理人: | 徐剑兵;林祥翔 |
地址: | 350003 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 spinlock 硬件 电路 电子设备 | ||
本发明公开一种spinlock硬件电路及电子设备,其中硬件电路包括安全保护单元、地址判断单元、写数据判断单元、写入判断单元、读控制单元、spinlock状态寄存器单元,其中:安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元。本技术方案通过硬件实现spinlock控制算法,软件控制简单。通过硬件级别的安全访问控制实现更高级的安全保护。相对于软件控制,硬件控制的速度也更快。
技术领域
本发明涉及硬件电路领域,尤其涉及一种spinlock硬件电路及电子设备。
背景技术
随着多核处理器的快速发展,在多核处理器并发处理时的处理机制越来越重要。而spinlock就是一种重要而有效的避免多核并行处理时出错的机制。但是目前的spinlock处理还有比较明显的问题。首先,软件控制复杂,spinlock需要指定一片存储区域作为锁状态存放的区域,而存储器中用软件指定区域的方法软件控制复杂而且安全程度不够,很容易被黑客攻破。而且软件处理操作速度也相对较慢。
发明内容
为此,需要提供一种spinlock硬件电路及电子设备,解决现有spinlock安全程度不足且软件控制复杂的问题。
为实现上述目的,发明人提供了一种spinlock硬件电路,包括安全保护单元、地址判断单元、写数据判断单元、写入判断单元、读控制单元、spinlock状态寄存器单元,其中:
安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;
地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元;
写数据判断单元用于判断是否需要对spinlock寄存器进行写入操作,并将判断结果发送到写入判断单元;
写入判断单元根据地址判断单元输入的寄存器单元选择信息和写数据判断单元送入的是否可以写入的判断结果和写入数据对spinlock寄存器进行写操作;
spinlock寄存器单元用于存储spinlock的锁状态信息,并将状态信息发送给写数据判断单元和读控制单元;
读控制单元用于根据总线的读命令进行读取操作。
进一步地,还包括地址表格存储单元,用于存储spinlock寄存器单元的地址,供地址判断单元进行查询。
进一步地,还包括地址随机分配单元用于随机分配spinlock寄存器单元的地址,
进一步地,写数据单元包括通路选择单元、第一全零判断单元、第二全零判断单元、逻辑或单元、通路开关单元,其中:
通路选择单元用于根据地址判断单元送来的地址判断信号选通spinlock寄存器单元的数据状态发送给第一全零判断单元;
第一全零判断单元用于判断该spinlock寄存器状态是否为全零,并把判断结果发送给逻辑或单元;
第二全零判断单元用于对总线写数据进行判断是否为全零,并把判断结果发送给逻辑或单元;
逻辑或单元用于对输入的两个全零判断结果做逻辑或运算处理,把处理结果发送给通路开关单元;
如果逻辑或单元的输结果为高,则表明可以写入数据,写入数据的通路开关打开,如果为低则表明不可以写入数据,写数据通路关闭。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞芯微电子股份有限公司,未经瑞芯微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910151740.8/2.html,转载请声明来源钻瓜专利网。