用于保护对片上资源的访问的方法、介质和电子设备技术

技术编号:35794742 阅读:18 留言:0更新日期:2022-12-01 14:45
本发明专利技术提供一种用于保护对片上资源的访问的方法、计算机可读介质和电子设备。其中,方法包括:响应于来自用户的申请,使得同一线程中需要独占片上资源的一系列命令进入片上资源保护段,得到目标命令串;在片上资源保护段内的目标命令串访问片上资源的期间内,阻止除目标命令串之外的其他命令对片上资源的访问;以及,在目标命令串结束访问片上资源之后,使得目标命令串离开片上资源保护段。该方法在片上资源保护段内保护目标命令串对片上资源的独立访问,对于同一线程中需要独占片上资源的一系列命令而言,可以提高这些命令的执行结果的准确性,并且减少由于执行出错带来的后续问题。题。题。

【技术实现步骤摘要】
用于保护对片上资源的访问的方法、介质和电子设备


[0001]本专利技术涉及处理器
,更具体地,涉及一种用于保护对片上资源的访问的方法、计算机可读介质和电子设备。

技术介绍

[0002]硬件执行的命令(hardware command)通常涉及到很多的内存读写操作,为了保证这些读写操作的效率,会考虑采用位于芯片内部的一块处理速度极快但容量不是很大的存储空间来存储一些需要读写的数据,该存储空间称为片上资源(SPM, Scratch Pad Memory)。
[0003]与将读写数据存储在DDR(Double Data Rate Synchronous Dynamic Random Access Memory, 双倍速率同步动态随机存储器)上相比,硬件对片上资源(SPM)执行读写操作的效率要比对DDR内存执行读写操作的效率高得多,这是因为片上资源的带宽比DDR大,并且片上资源的读写周期(cycle)数比DDR少,因此硬件对片上资源(SPM)执行读写操作的速度会更快,命令执行效率更高。
[0004]虽然利用片上资源来进行数据读写操作可以有较高的处理效率,但是,在需要处理许多硬件执行命令的情况下,如何保障对于片上资源的正确、可靠访问,以使命令被正确执行,这仍然是现有技术需要解决的问题。
[0005]在仅一条命令独占片上资源的情况下,对片上资源的使用是原子性的(atomic operation),即,这条命令开始执行时占用该片上资源,并且在命令结束执行之后释放该片上资源,由于这条命令不会被其他命令抢占片上资源,因此在这种情况下无需对片上资源的访问做过多保护。
[0006]而在有些应用场景下,如果仅仅能够满足一条命令对于片上资源的独占访问,仍然不能满足需求。例如,可能面临期望同一线程的一系列命令独占片上资源的情况,此处的独占是指:片上资源在一系列命令中的第一条命令开始执行时被占用,并且在这一系列命令中的最后一条命令结束执行之后才被释放。如果需要独占片上资源的一系列命令无法独占地访问片上资源,则片上资源可能会因其他命令的访问而写入不期望的数据,从而导致这一系列命令执行出错,进而导致严重的后续问题。

技术实现思路

[0007]为克服上述现有技术中存在的问题,本专利技术的一个方面提供一种用于保护对片上资源的访问的方法,该方法包括:响应于来自用户的申请,使得同一线程中需要独占片上资源的一系列命令进入片上资源保护段,得到目标命令串;其中,该申请用于为一系列命令请求独占片上资源;在片上资源保护段内的目标命令串访问片上资源的期间内,阻止除目标命令串之外的其他命令对片上资源的访问;以及,在目标命令串结束访问片上资源之后,使得该目标命令串离开片上资源保护段。该方法在片上资源保护段内保护一系列命令(目标命令串)对片上资源的独立访问,对于同一线程中需要独占片上资源的一系列命令而言,可
以提高这些命令的执行结果的准确性,并且减少由于执行出错带来的后续问题。在面临需要处理许多命令的场景时,上述方法也有利于实现命令对于片上资源的有效访问,提升正确性、可靠性。
[0008]上述方法中,在目标命令串访问片上资源的期间内阻止除目标命令串之外的其他命令对片上资源的访问可以包括:由用户驱动在用户层将目标命令串插入同一命令执行队列,并且通过多个命令执行队列向内核层提交命令;以及,由内核驱动在内核层接收来自用户层的命令以提交到硬件;其中,在将目标命令串提交到硬件的期间内,阻止至少如下命令向硬件的提交:与目标命令串位于同一命令执行队列、需要访问片上资源并且不属于目标命令串的第一命令,以及与目标命令串位于不同命令执行队列的第二命令。换言之,在将目标命令串提交到硬件的期间内,允许向硬件提交与目标命令串位于同一命令执行队列并且无需访问片上资源的命令(第三命令),这与阻止提交除目标命令串之外的所有其他命令相比,可以在保证执行结果的准确性的同时提高硬件的并行程度。
[0009]上述方法中,内核层可以设置有一提交队列,内核驱动用于在内核层通过该提交队列向硬件提交命令。基于此,内核驱动在内核层还执行如下操作:响应于从接收到的命令中识别出目标命令串中的第一条命令,将第一条命令插入所述提交队列;在将第一条命令插入提交队列之后,将后续接收到的目标命令串中的命令以及第三命令插入提交队列,并且挂起后续接收到的第一命令和第二命令,直到将目标命令串中的最后一条命令插入提交队列;以及,在将所述目标命令串中的最后一条命令插入所述提交队列之后,将挂起的第一命令和第二命令插入提交队列。如上文所述,第三命令是与目标命令串位于同一命令执行队列并且无需访问片上资源的命令。
[0010]上述方法中,将挂起的第一命令和第二命令插入提交队列可以包括:首先将第一命令按接收顺序插入提交队列,再将第二命令按接收顺序插入提交队列。这样,与目标命令串位于同一命令执行队列的第一命令(命令A)会早于不同命令执行队列的第二命令(命令B)而执行,由于同一命令执行队列通常包括同一进程中的命令,因此可以提高指令的执行效率和执行结果的准确性。
[0011]上述方法中,内核层可以设置有第一提交队列和第二提交队列,内核驱动用于在内核层交叉地通过第一提交队列和第二提交队列向硬件提交命令。基于此,内核驱动在内核层还执行如下操作:响应于从接收到的命令中识别出目标命令串中的第一条命令,将第一条命令插入第一提交队列;以及,在将第一条命令插入第一提交队列之后,将后续接收到的目标命令串中的命令以及第三命令插入第一提交队列,并且将后续接收到的第一命令(命令A)和第二命令(命令B)插入第二提交队列,直到将目标命令串中的最后一条命令插入第一提交队列。设置的两个提交队列可用于交叉地向硬件提交命令,与单队列提交相比具有更好的性能。
[0012]上述方法中,在将目标命令串的第一条命令插入所述第一提交队列之后,将后续接收到的第一命令和第二命令插入第二提交队列可以包括:首先将第一命令(命令A)按接收顺序插入第二提交队列,再将第二命令(命令B)按接收顺序插入第二提交队列。
[0013]为了在内核层识别出目标命令串,上述方法还可以包括:由用户驱动在用户层对目标命令串设置标记,以供内核驱动在内核层根据所述标记,从接收到的命令中识别出目标命令串的命令。
[0014]上述方法还可以包括:在目标命令串离开片上资源保护段之后,响应于来自用户的后续申请,使得另一系列命令进入该片上资源保护段,得到新的目标命令串。通过这样的方式,保证了在成功锁住片上资源保护段之后并且在解锁该片上资源保护段之前,不会有除目标命令串之外的其他命令进入该片上资源保护段,从而使得片上资源保护段内的目标命令串在独占片上资源时,不会受到其他命令的干扰。
[0015]本专利技术的另一个方面提供一种计算机可读介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现上述用于保护对片上资源的访问的方法。
[0016]本专利技术的又一个方面提供一种电子设备,包括处理器和存储器,存储器存储有计算机程序并且耦合到处理器,当该计算机程序被处理器执行时,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于保护对片上资源的访问的方法,其特征在于,所述方法包括:响应于来自用户的申请,使得同一线程中需要独占所述片上资源的一系列命令进入片上资源保护段,得到目标命令串;其中,所述申请用于为所述一系列命令请求独占所述片上资源;在所述片上资源保护段内的所述目标命令串访问所述片上资源的期间,阻止除所述目标命令串之外的其他命令对所述片上资源的访问;以及在所述目标命令串结束访问所述片上资源之后,使得所述目标命令串离开所述片上资源保护段。2.根据权利要求1所述的方法,其特征在于,在所述片上资源保护段内的所述目标命令串访问所述片上资源的期间内,阻止除所述目标命令串之外的其他命令对所述片上资源的访问,包括:由用户驱动在用户层将所述目标命令串插入同一命令执行队列,并且通过多个命令执行队列向内核层提交命令;以及由内核驱动在内核层接收来自用户层的命令以提交到硬件,其中,在将所述目标命令串提交到所述硬件的期间内,阻止至少如下命令向所述硬件的提交:不属于所述目标命令串,但与所述目标命令串位于同一命令执行队列并且需要访问所述片上资源的第一命令,以及与所述目标命令串位于不同命令执行队列的第二命令。3.根据权利要求2所述的方法,其特征在于,内核层设置有一提交队列,所述内核驱动用于在内核层通过所述提交队列向所述硬件提交命令,所述方法还包括:由所述内核驱动在内核层执行如下操作:响应于从接收到的命令中识别出所述目标命令串中的第一条命令,将所述目标命令串的所述第一条命令插入所述提交队列;在将所述第一条命令插入所述提交队列之后,将后续接收到的所述目标命令串中的命令以及第三命令插入所述提交队列,并且挂起后续接收到的所述第一命令和所述第二命令,直到将所述目标命令串中的最后一条命令插入所述提交队列;其中,所述第三命令表示与所述目标命令串位于同一命令执行队列并且无需访问所述片上资源的命令;在将所述目标命令串中的最后一条命令插入所述提交队列之后,将挂起的所述第一命令和所述第二命令插入所述提交队列。4.根据权利要求3所述的方法,其特征在于,将挂起的所述第一命令和所述第二命令插入所述提交队列,包括:将所述第一命...

【专利技术属性】
技术研发人员:刘军杨媛静王鸥
申请(专利权)人:杭州登临瀚海科技有限公司
类型:发明
国别省市:

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

1