一种spinlock硬件电路及电子设备制造技术

技术编号:21398525 阅读:19 留言:0更新日期:2019-06-19 06:52
本发明专利技术公开一种spinlock硬件电路及电子设备,其中硬件电路包括安全保护单元、地址判断单元、写数据判断单元、写入判断单元、读控制单元、spinlock状态寄存器单元,其中:安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元。本技术方案通过硬件实现spinlock控制算法,软件控制简单。通过硬件级别的安全访问控制实现更高级的安全保护。相对于软件控制,硬件控制的速度也更快。

【技术实现步骤摘要】
一种spinlock硬件电路及电子设备
本专利技术涉及硬件电路领域,尤其涉及一种spinlock硬件电路及电子设备。
技术介绍
随着多核处理器的快速发展,在多核处理器并发处理时的处理机制越来越重要。而spinlock就是一种重要而有效的避免多核并行处理时出错的机制。但是目前的spinlock处理还有比较明显的问题。首先,软件控制复杂,spinlock需要指定一片存储区域作为锁状态存放的区域,而存储器中用软件指定区域的方法软件控制复杂而且安全程度不够,很容易被黑客攻破。而且软件处理操作速度也相对较慢。
技术实现思路
为此,需要提供一种spinlock硬件电路及电子设备,解决现有spinlock安全程度不足且软件控制复杂的问题。为实现上述目的,专利技术人提供了一种spinlock硬件电路,包括安全保护单元、地址判断单元、写数据判断单元、写入判断单元、读控制单元、spinlock状态寄存器单元,其中:安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元;写数据判断单元用于判断是否需要对spinlock寄存器进行写入操作,并将判断结果发送到写入判断单元;写入判断单元根据地址判断单元输入的寄存器单元选择信息和写数据判断单元送入的是否可以写入的判断结果和写入数据对spinlock寄存器进行写操作;spinlock寄存器单元用于存储spinlock的锁状态信息,并将状态信息发送给写数据判断单元和读控制单元;读控制单元用于根据总线的读命令进行读取操作。进一步地,还包括地址表格存储单元,用于存储spinlock寄存器单元的地址,供地址判断单元进行查询。进一步地,还包括地址随机分配单元用于随机分配spinlock寄存器单元的地址,进一步地,写数据单元包括通路选择单元、第一全零判断单元、第二全零判断单元、逻辑或单元、通路开关单元,其中:通路选择单元用于根据地址判断单元送来的地址判断信号选通spinlock寄存器单元的数据状态发送给全零判断单元;第一全零判断单元用于判断该spinlock寄存器状态是否为全零,并把判断结果发送给逻辑或单元;第二全零判断单元用于对总线写数据进行判断是否为全零,并把判断结果发送给逻辑或单元;逻辑或单元用于对输入的两个全零判断结果做逻辑或运算处理,把处理结果发送给通路开关单元;如果逻辑或单元的输结果为高,则表明可以写入数据,写入数据的通路开关打开,如果为低则表明不可以写入数据,写数据通路关闭。进一步地,安全保护单元用于判断总线发过来的命令中的prot信号,该信号为高则表明该访问为安全访问。进一步地,所述寄存器单元包括spinlock状态寄存器组和对应的起止地址。本专利技术提供电子设备,包括spinlock硬件电路、总线、处理器,所述处理器通过总线与spinlock硬件电路连接,所述spinlock硬件电路为上述的spinlock硬件电路。区别于现有技术,上述技术方案通过硬件实现spinlock控制算法,软件控制简单。通过硬件级别的安全访问控制实现更高级的安全保护。相对于软件控制,硬件控制的速度也更快。附图说明图1为具体实施方式所述的电路结构示意图;图2为具体实施方式所述的写数据判断单元的结构示意图。附图标记说明:101、安全保护单元;102、地址判断单元;103、写数据判断单元;104、写入判断单元;105、读控制单元;106、spinlock状态寄存器单元;107、地址表格存储单元;108、地址随机分配单元;201、通路选择单元;202、第一全零判断单元;203、第二全零判断单元;204、逻辑或单元;205、通路开关单元。具体实施方式为详细说明技术方案的
技术实现思路
、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。请参阅图1到2,本实施例提供一种spinlock硬件电路,包括安全保护单元101、地址判断单元102、写数据判断单元103、写入判断单元104、读控制单元105、spinlock状态寄存器单元106,其中:安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元;写数据判断单元用于判断是否需要对spinlock寄存器进行写入操作,并将判断结果发送到写入判断单元;写入判断单元根据地址判断单元输入的寄存器单元选择信息和写数据判断单元送入的是否可以写入的判断结果和写入数据对spinlock寄存器进行写操作;spinlock寄存器单元用于存储spinlock的锁状态信息,并将状态信息发送给写数据判断单元和读控制单元;读控制单元用于根据总线的读命令进行读取操作。本专利技术中,通过安全保护单元可以实现对总线命令的安全性判断,通过地址判断单元可以实现对相应的spinlock寄存器单元进行操作。通过写数据判断单元和写入判断单元可以实现spinlock中的是否写入控制。spinlock寄存器单元实现了spinlock的锁状态信息的存储。通过上述这些单元,通过硬件实现spinlock的功能,提高速度。软件上也无需进行控制,方便使用。以及安全保护单元用于监测读写访问是否为CPU发出的安全访问,只有在安全访问的时候才会做出响应。这样可以避免黑客攻破CPU后控制CPU对电路直接进行访问时数据被攻破的情况。只有当黑客把安全世界入口攻破,才可能发出安全访问,这样通过安全保护单元极大提高了安全防御能力。关于安全世界和非安全世界的背景知识,可以参阅现有的公开资料:https://blog.csdn.net/zhouhuacai/article/details/78177364。本申请的spinlock寄存器单元的地址可以直接存在地址判断单元内,或者可以存在单独的存储单元内,则本专利技术还包括地址表格存储单元107,用于存储spinlock寄存器单元的地址,供地址判断单元进行查询。在某些实施例中,spinlock寄存器单元的地址可以是固定的地址。或者在某些实施例中,为了提高安全性,地址是随机的。则本专利技术硬件电路还包括地址随机分配单元108,用于随机分配spinlock寄存器单元的地址。分配的时机可以是电路上电工作时,分配后的地址可以存储到对应的存储位置,如上述实施例中的地址表格存储单元。这样可以保证每次电路工作时相同地址对应的物理寄存器都是不一样的,保证了安全性。本专利技术的写数据单元用于判断到spinlock寄存器状态为全零且总线写数据为全零时输出可以写入的信号结果给写入判断单元。具体的硬件电路可以通过如下实现:写数据单元包括通路选择单元201、第一全零判断单元202、第二全零判断单元203、逻辑或单元204、通路开关单元205,其中:通路选择单元用于根据地址判断单元送来的地址判断信号选通对应的spinlock寄存器单元的状态并将状态发送给全零判断单元;第一全零判断单元用于判断该spinlock寄存器状态本文档来自技高网
...

【技术保护点】
1.一种spinlock硬件电路,其特征在于,包括安全保护单元、地址判断单元、写数据判断单元、写入判断单元、读控制单元、多个的spinlock状态寄存器单元,其中:安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元;写数据判断单元用于判断是否需要对spinlock寄存器进行写入操作,并将判断结果发送到写入判断单元;写入判断单元根据地址判断单元输入的寄存器单元选择信息和写数据判断单元送入的是否可以写入的判断结果和写入数据对spinlock寄存器进行写操作;spinlock寄存器单元用于存储spinlock的锁状态信息,并将状态信息发送给写数据判断单元和读控制单元;读控制单元用于根据总线的读命令进行读取操作。

【技术特征摘要】
1.一种spinlock硬件电路,其特征在于,包括安全保护单元、地址判断单元、写数据判断单元、写入判断单元、读控制单元、多个的spinlock状态寄存器单元,其中:安全保护单元用于监测总线发来的读写访问是否为CPU发出的安全访问,如果是安全访问则响应,否则拒绝总线的访问请求;地址判断单元用于对总线写地址进行查询,将总线的写地址转换为要访问的spinlock寄存器单元对应的选择信息,并将转换结果发送给写数据判断单元和写入判断单元;写数据判断单元用于判断是否需要对spinlock寄存器进行写入操作,并将判断结果发送到写入判断单元;写入判断单元根据地址判断单元输入的寄存器单元选择信息和写数据判断单元送入的是否可以写入的判断结果和写入数据对spinlock寄存器进行写操作;spinlock寄存器单元用于存储spinlock的锁状态信息,并将状态信息发送给写数据判断单元和读控制单元;读控制单元用于根据总线的读命令进行读取操作。2.根据权利要求1所述的一种spinlock硬件电路,其特征在于:还包括地址表格存储单元,用于存储spinlock寄存器单元的地址,供地址判断单元进行查询。3.根据权利要求1或2所述的一种spinlock硬件电路,其特征在于:还包括地址随机分配单元用于随机分配spinlock寄存器单元的地址。4.根...

【专利技术属性】
技术研发人员:廖裕民陈云鹰
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1