访问临界区的方法以及装置制造方法及图纸

技术编号:39305828 阅读:9 留言:0更新日期:2023-11-12 15:54
本申请提供了一种访问临界区的方法以及装置,该方法包括:如果所述临界区内的锁被第一处理器核占用,第二处理器核进入低功耗状态;在所述第一处理器核释放所述临界区的锁之后,所述第一处理器核基于第一指令唤醒处于低功耗状态的所述第二处理器核,所述第一指令携带第一参数,所述第一参数用于指示所述第一指令的目的处理器核为所述第二处理器核;在所述第二处理器核被唤醒之后,所述第二处理器核抢占所述临界区的锁,使得所述第二处理器访问所述临界区。本申请在唤醒处理器核的指令中引入了第一参数,从而能够指示待唤醒的目的处理器核,避免唤醒所有处理器核所带来的功耗大的问题。题。题。

【技术实现步骤摘要】
访问临界区的方法以及装置


[0001]本申请涉及信息技术
,具体涉及一种访问临界区的方法以及装置。

技术介绍

[0002]在多核处理器中,为了保证多核处理器访问数据的原子性,通常会使用锁机制来保护临界区中的数据结构。当临界区内的锁被一个处理器核释放之后,该处理器核会利用唤醒指令唤醒其他所有的处于低功耗状态的处理器核。这种处理器核的唤醒方式引入了很多无效操作,从而增加了处理器核的功耗。

技术实现思路

[0003]本申请致力于提供一种访问临界区的方法以及装置,下文从以下几个方面进行介绍。
[0004]第一方面,提供了一种访问临界区的方法,所述方法应用于处理器,所述处理器包括第一处理器核和第二处理器核,所述方法包括:如果所述临界区内的锁被所述第一处理器核占用,所述第二处理器核进入低功耗状态;在所述第一处理器核释放所述临界区的锁之后,所述第一处理器核基于第一指令唤醒处于低功耗状态的所述第二处理器核,所述第一指令携带第一参数,所述第一参数用于指示所述第一指令的目的处理器核为所述第二处理器核;在所述第二处理器核被唤醒之后,所述第二处理器核抢占所述临界区的锁,使得所述第二处理器访问所述临界区。
[0005]第二方面,提供了一种处理器,包括:存储部件,用于存储代码;第一处理器核和第二处理器核,用于执行所述代码,以执行如下步骤:如果临界区内的锁被所述第一处理器核占用,所述第二处理器核进入低功耗状态;在所述第一处理器核释放所述临界区的锁之后,所述第一处理器核基于第一指令唤醒处于低功耗状态的所述第二处理器核,所述第一指令携带第一参数,所述第一参数用于指示所述第一指令的目的处理器核为所述第二处理器核;在所述第二处理器核被唤醒之后,所述第二处理器核抢占所述临界区的锁,使得所述第二处理器访问所述临界区。
[0006]第三方面,提供了一种电子设备,所述电子设备包括如第二方面所述的处理器。
[0007]第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,当所述程序代码在计算机上运行时,使得计算机执行如第一方面所述的访问临界区的方法。
[0008]第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,当所述计算机程序/指令处理器被执行时实现如第一方面所述访问临界区的方法。
[0009]在一些实现方式中,上述计算机程序产品包括可以包括计算机程序代码,当程序代码在计算机上运行时,使得计算机执行上述第一方面所示的访问临界区的方法。
[0010]本申请在唤醒指令中引入了第一参数。该第一参数可以指示待唤醒的目的处理器核,从而可以避免唤醒所有处于低功耗状态的处理器核所带来的功耗大的问题。
附图说明
[0011]图1所示为CPU流水线技术的示意性流程图。
[0012]图2所示为A64指令集的编码结构示意图。
[0013]图3所示为采用自旋锁的多核处理器中处理器核访问临界区的示意性流程图。
[0014]图4所示为本申请实施例提供的访问临界区的方法的示意性流程图。
[0015]图5所示为图4中的步骤S420的一种可能的实现方式的示意性流程图。
[0016]图6所示为本申请实施例提供的目标指令的编码结构示意图。
[0017]图7所示为本申请实施例提供的访问临界区的方法的硬件处理流程示意图。
[0018]图8所示为本申请实施例提供的处理器的结构示意图。
[0019]图9所示为本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
[0021]对于电子设备而言,处理器的性能尤为重要。处理器的性能取决于处理器架构设计,处理器架构是处理器指令集的设计和实现方式,决定了处理器的性能、功耗、兼容性等特性。处理器架构从大的层面上可以分为两类,一类是复杂指令集计算机(complex instruction set computer,CISC),另一类是精简指令集计算机(reduced instruction set computing,RISC)。
[0022]在上述两种处理器架构中,RISC是一种更加优化的架构方式,基于这种架构可以更为高效地完成程序的执行。RISC架构基于CPU流水线技术,将处理器执行一条指令的处理过程分成多个阶段,并且每个阶段都由不同的单元来处理。CPU流水线通常将一条指令的执行分为五个阶段,包括取指阶段、译码阶段、执行阶段、访存阶段和写回阶段。在这五个阶段的过程中,指令在处理器各单元中的传递可以如图1所示。
[0023]取指阶段是将指令从存储器中读取出来的过程。处理器指令通常可以包括存储器访问指令、算术运算指令、逻辑运算指令等。取指阶段由处理器的取指单元110执行,取指单元110将指令从内存中取出并传递给译码单元120。
[0024]译码阶段是指将存储器中取出的指令进行翻译的过程,通常由处理器的译码单元120完成。经过译码单元120的译码,可以得到指令要进行的操作,例如进行运算或者进行存储器访问。通过译码还可以得到指令的目标寄存器索引,可以使用此索引从目标寄存器中读取操作数或者向目标寄存器中存储结果。如图1所示,译码单元120将翻译后的指令传递给发射逻辑部件130,发射逻辑部件130负责将指令发送到执行单元140。
[0025]执行阶段是指对指令进行真正运算的过程。例如,如果指令是一条加法运算指令,则对操作数进行加法操作;如果是减法运算指令,则对操作数进行减法操作。指令到达执行单元140后,由与该指令相应的处理部件执行该指令。例如算术运算指令的执行阶段可以由处理器的整型部件141或者浮点部件142等部件执行。
[0026]访存阶段是指存储器访问指令将数据从存储器中读出或者写入存储器的过程(图中未示出),可以由处理器的加载/存储(load/store)部件143执行。
[0027]写回阶段是指将指令执行的结果写回通用寄存器组(写回单元150)的过程,由与
指令相应的执行部件负责。例如对于算术运算指令,执行结果值来自于执行阶段计算的结果,由整型部件141或者浮点部件142将结果写回到指令的目标寄存器中;对于存储器访问指令,执行结果则来自于访存阶段从存储器中读取出来的数据,由加载/存储部件143将结果写回到指令的目标寄存器中。
[0028]如图1所示,通过处理器各单元的协同工作完成CPU流水线,使得处理器能够有效地执行各种计算任务。通过CPU流水线技术,还能实现不同指令的各阶段重叠,从而实现几条指令并行处理,以加速程序的运行过程。因此基于CPU流水线技术,使得RISC架构可以实现程序的高效执行。
[0029]高级精简指令集计算机(advanced reduced instruction set computing machines,ARM)架构是一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种访问临界区的方法,其特征在于,所述方法应用于处理器,所述处理器包括第一处理器核和第二处理器核,所述方法包括:如果所述临界区内的锁被所述第一处理器核占用,所述第二处理器核进入低功耗状态;在所述第一处理器核释放所述临界区的锁之后,所述第一处理器核基于第一指令唤醒处于低功耗状态的所述第二处理器核,所述第一指令携带第一参数,所述第一参数用于指示所述第一指令的目的处理器核为所述第二处理器核;在所述第二处理器核被唤醒之后,所述第二处理器核抢占所述临界区的锁,使得所述第二处理器访问所述临界区。2.根据权利要求1所述的方法,其特征在于,所述第一参数为寄存器的标识,且所述寄存器中存储有所述第二处理器核的标识。3.根据权利要求1或2所述的方法,其特征在于,所述第一处理器核基于第一指令唤醒处于低功耗状态的所述第二处理器核,包括:所述第一处理器核从内存中获取目标指令;所述第一处理器核对所述目标指令进行译码,以获取所述第一参数;所述第一处理器核根据所述第一参数向所述第二处理器核发送事件通知信号,以唤醒处于所述低功耗状态的所述第二处理器核。4.根据权利要求1或2所述的方法,其特征在于,所述第二处理器核进入低功耗状态,包括:所述第二处理器核执行等待事件指令,以进入所述低功耗状态。5.根据权利要求1所述的方法,其特征在于,所述目标指令为发送事件指令。6.一种处...

【专利技术属性】
技术研发人员:王振邵立松闫志伟
申请(专利权)人:飞腾信息技术有限公司
类型:发明
国别省市:

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

1