CN112631742A - 一种资源访问权限管理装置、方法及系统 - Google Patents
一种资源访问权限管理装置、方法及系统 Download PDFInfo
- Publication number
- CN112631742A CN112631742A CN202011613278.8A CN202011613278A CN112631742A CN 112631742 A CN112631742 A CN 112631742A CN 202011613278 A CN202011613278 A CN 202011613278A CN 112631742 A CN112631742 A CN 112631742A
- Authority
- CN
- China
- Prior art keywords
- resource
- cpu
- register
- module
- state information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 81
- 238000007726 management method Methods 0.000 claims description 79
- 230000008859 change Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000007717 exclusion Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种资源访问权限管理装置、方法及系统。该装置包括总线译码模块和寄存器矩阵模块,总线译码模块包括写译码模块和读译码模块。其中,写译码模块用于接收CPU对资源的权限获取请求;读译码模块用于在接收到CPU对资源的权限查询请求时,获取寄存器矩阵模块中CPU对应的lock状态信息并反馈至CPU,以使CPU根据对应的lock状态信息判断是否获得资源访问权限;寄存器矩阵模块用于当写译码模块接收到CPU对资源的权限获取请求时,将CPU对应的寄存器子模块置位,以修改寄存器子模块的lock状态信息。通过约束同一资源对应的所有lock状态信息只有一个占用状态,以管理CPU的资源访问权限,避免了多个CPU需要访问同一个资源时冲突互斥的问题,提高了管理效率。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种资源访问权限管理装置、方法及系统。
背景技术
在现有技术中,中央处理器(central processing unit,CPU)在查询公共资源状态时,如果公共资源状态是占用,则CPU等待,如果公共资源状态是空闲,则CPU可以访问该公共资源。但这种方式会导致当出现两个CPU同时查询同一资源,且都拿到公共资源状态是空闲时,就会发生访问冲突的问题。虽然公共资源可以在接收到CPU的查询请求时,如果公共资源状态是空闲,则公共资源自动将自身的状态切到忙碌来解决,但如此需要对所有资源做这样的功能修改。对于一个CPU内部多线程之间的冲突,也可以通过软件的方式,设置资源状态标志位来解决访问冲突问题。但不同CPU之间仅仅用软件的方式则不能很好的解决访问冲突,因为不同软件去访问公共的标志位本身就会产生冲突。
因此,如何避免多个CPU需要访问同一个资源时发生的冲突互斥问题成为亟待解决的问题。
发明内容
本发明实施例提供一种资源访问权限管理装置、方法及系统,可以实现避免多个CPU需要访问同一个资源时冲突互斥的问题以及提高管理效率。
第一方面,本发明实施例提供了一种资源访问权限管理装置,该装置包括:总线译码模块和寄存器矩阵模块,所述总线译码模块与所述寄存器矩阵模块电连接,所述总线译码模块包括写译码模块和读译码模块,其中,
所述写译码模块用于接收中央处理器CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位;
所述读译码模块用于在接收到所述CPU对资源的权限查询请求时,获取所述寄存器矩阵模块中所述CPU对应的锁lock状态信息,向所述CPU反馈对应的lock状态信息,以使所述CPU根据对应的lock状态信息判断是否获得资源访问权限;
所述寄存器矩阵模块包括N个寄存器子模块,所述寄存器矩阵模块用于当所述写译码模块接收到所述CPU对资源的权限获取请求时,将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息;
其中,N等于资源数量和CPU数量的乘积;同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态。
第二方面,本发明实施例还提供了一种资源访问权限管理方法,由本发明任意实施例提供的资源访问权限管理装置执行,包括:
接收CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息;
在接收到所述CPU对资源的权限查询请求时,获取所述寄存器矩阵模块中所述CPU对应的锁lock状态信息,向所述CPU反馈对应的lock状态信息,以使所述CPU根据对应的lock状态信息判断是否获得资源访问权限;
其中,同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态。
第三方面,本发明实施例还提供了一种资源访问权限管理系统,包括如本发明任意实施例提供的资源访问权限管理装置和CPU,其中,
所述CPU与所述资源访问权限管理装置电连接,用于向所述资源访问权限管理装置发送对资源的权限获取请求和权限查询请求,若所述CPU接收到所述访问权限管理装置反馈的lock状态信息为占用状态,则所述CPU获得所述资源的访问权限,访问所述资源。
本发明实施例提供了一种资源访问权限管理装置,该装置包括总线译码模块和寄存器矩阵模块,总线译码模块包括写译码模块和读译码模块。其中,写译码模块用于接收CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位。寄存器矩阵模块包括数量与资源数量和CPU数量的乘积相同的寄存器子模块,寄存器矩阵模块用于当所述写译码模块接收到所述CPU对资源的权限获取请求时,将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息。读译码模块用于接收中央处理器CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位。本发明实施例中的装置通过约束同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态,使得CPU根据对应的lock状态信息判断是否获得资源访问权限,只有获得了资源访问权限的CPU才会访问资源,能够有效避免多个CPU需要访问同一个资源时导致冲突互斥的问题,提高了管理效率。
附图说明
图1是本发明实施例一提供的一种资源访问权限管理装置的结构示意图;
图2是本发明实施例一提供的一种寄存器矩阵模块中所有寄存器子模块与CPU和资源对应关系的示意图;
图3是本发明实施例二提供的另一种资源访问权限管理装置的示意图;
图4是本发明实施例三提供的一种资源访问权限管理方法的流程图;
图5是本发明实施例四提供的一种含有资源访问权限管理系统的SOC的示意图;
图6是本发明实施例四提供的一种两个CPU访问同一资源的流程图;
图7是本发明实施例四提供的一种两个CPU访问同一资源的工作流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种资源访问权限管理装置的结构示意图,该装置可以采用硬件的方式实现。示例性的,该装置可配置于片上系统(System on Chip,SOC)中。如图1所示,该装置包括:总线译码模块和寄存器矩阵模块,所述总线译码模块与所述寄存器矩阵模块电连接,所述总线译码模块包括写译码模块和读译码模块。
写译码模块可以理解为总线译码模块中具有写操作功能的模块,读译码模块可以理解为总线译码模块中具有读操作功能的模块。总线译码模块通过总线与CPU电连接。总线可以理解为具有传输信号功能的总线,用于实现资源访问权限管理装置与各个CPU之间的通信。例如,总线可以是高级高性能总线(Advanced High Performance Bus,AHB)或者高级外围总线(Advanced Peripheral Bus,APB)等。
资源可以理解为CPU需要访问的公共资源,例如,CPU通过访问资源以获取SOC中的特定功能。各个资源和SOC中的功能之间的对应关系可以通过软件定义。
当CPU需要访问资源时,需要先向本发明实施例提供的资源访问权限管理装置发送权限获取请求,以申请权限。若同一时刻只有一个CPU发起对资源的权限获取请求,则资源访问权限管理装置可以根据权限获取请求修改该CPU对应的锁(lock)状态信息。若同一时刻存在至少两个CPU需要访问同一个资源,则资源访问权限管理装置可以根据接收顺序或其他预设条件确定其中一个CPU为目标CPU,使得仅有目标CPU可以获得资源访问权限,即只有该目标CPU才可以对资源发起访问,其他CPU处于等待状态。也就是说,对于同一个资源,同一时刻只能存在一个CPU获得资源访问权限。
写译码模块用于接收CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位。写译码模块在接收到CPU对资源的权限获取请求时,通过控制寄存器矩阵模块中CPU对应的寄存器子模块的输入端电平变化,使寄存器矩阵模块将CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息。其中,CPU与寄存器子模块之间的对应关系可以通过软件定义。
可选地,写译码模块还可以用于在通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位之前,解析CPU发送的权限获取请求包含的资源地址和CPU标识,根据该资源地址和CPU标识确定寄存器矩阵模块中CPU对应的寄存器子模块。
具体地,写译码模块可以具有译码功能,通过解析权限获取请求包含的资源地址和CPU标识,定位寄存器子模块。其中,资源地址可以用于唯一标识资源,不同资源的资源地址不同。CPU标识可以用于唯一标识CPU,不同CPU的CPU标识不同。CPU标识是指CPU的CPU标识。
寄存器矩阵模块包括N个寄存器子模块,N等于资源数量和CPU数量的乘积。寄存器矩阵模块用于当所述写译码模块接收到所述CPU对资源的权限获取请求时,将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息。
其中,寄存器子模块可以理解为包含有寄存器的子模块,用于管理CPU对资源的访问权限。具体地,对于寄存器矩阵模块中的每一个寄存器子模块,分别对应一个CPU和一个资源。对于同一个资源,每个CPU可以对应一个寄存器子模块。
示例性地,图2是本发明实施例一提供的一种寄存器矩阵模块中所有寄存器子模块与CPU和资源对应关系的示意图。如图2所示,寄存器矩阵模块中可以共有(n+1)×(n+1)个寄存器子模块,每个CPU对应n+1个寄存器子模块,与CPU对应的n+1个寄存器子模块分别对应资源0至资源n。各个CPU只能通过寄存器矩阵模块修改各自对应的n+1个寄存器子模块的lock状态信息,所有CPU均需要遵守该约定。例如,寄存器子模块0-1对应CPU0和资源1,该寄存器子模块0-1可以用于管理CPU0对资源1的访问权限。寄存器子模块1-0对应CPU1和资源1,该寄存器子模块1-0可以用于管理CPU1对资源1的访问权限。同一个CPU可以对应数量与资源数量相同的寄存器子模块。例如,若SOC中一共存在n+1个资源,CPU0可以对应寄存器子模块0-0、0-1、0-2、……、0-(n-1)和0-n,CPU1可以对应寄存器子模块1-0、1-1、1-2、……、1-(n-1)和1-n,以此类推其他CPU对应的寄存器子模块。
CPU对资源的访问权限可以通过lock状态信息进行表示。lock状态信息可以是表示访问权限状态的锁信息,以供资源访问权限管理装置管理CPU对资源的访问权限。由于同一个CPU可以对应数量与资源数量相同的寄存器子模块,通过为每个CPU配置与各个资源对应的寄存器子模块,能够实现管理各个CPU对各个资源的访问权限。由于对于同一个资源,每个CPU可以对应一个寄存器子模块,通过使同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态,各个CPU根据对应的寄存器子模块包含的信息判断是否获得资源访问权限,只有获得了资源访问权限的CPU才会访问资源,能够有效避免多个CPU需要访问同一个资源时导致冲突互斥的问题。例如,逻辑1表示lock状态信息是占用状态,逻辑0表示lock状态信息是空闲状态。当寄存器子模块0-1的lock状态信息是1时,表示该寄存器子模块0-1对应的CPU0获取到对资源1的访问权限,并且与资源1对应的其他寄存器子模块无法再获取到对资源1的访问权限,这些寄存器子模块的lock状态信息必须是0;当寄存器子模块0-1的lock状态信息是0时,表示该寄存器子模块0-1对应的CPU0没有获取到对资源1的访问权限。
需要注意的是,各个寄存器子模块只能管理各自的lock信息状态。当寄存器矩阵模块接收到某个CPU对某个资源的第一控制信号时,寄存器矩阵模块只可以修改与该CPU和该资源对应的寄存器子模块的lock状态信息,不能修改与该CPU对应的其他寄存器子模块的lock状态信息,也不能修改与该资源对应的其他寄存器子模块的lock状态信息。
还需要注意的是,当寄存器矩阵模块接收到某个CPU对某个资源的第一控制信号时,若该资源已被其他CPU占用,即与该资源对应的其他寄存器子模块中已经存在一个lock状态信息为占用状态,则无法修改与该CPU和该资源对应的寄存器子模块的lock状态信息。
可选地,寄存器矩阵模块将所述CPU对应的寄存器子模块置位可以通过以下实施方式:写译码模块在接收到CPU对资源的权限获取请求时,向寄存器矩阵模块发送第一控制信号,寄存器矩阵模块在接收到第一控制信号时,将CPU对应的寄存器子模块置位。其中,第一控制信号可以是控制寄存器子模块修改lock状态信息的信号,例如,第一控制信号可以是高低电平变化信号等,通过控制寄存器子模块输入端的电平信号,以修改寄存器子模块输出端的电平信号,进而实现修改寄存器子模块的lock状态信息。
可选地,写译码模块具体用于接收至少两个CPU对资源的权限获取请求,确定所述权限获取请求的接收顺序满足设定条件的目标CPU,通过所述寄存器矩阵模块将所述目标CPU对应的目标寄存器子模块置位,以修改所述目标寄存器子模块的lock状态信息。设定条件可以由用户设定或根据各个CPU的优先权级别确定等。例如,设定条件可以是根据各个CPU到资源访问权限管理装置的总线长度或者资源访问权限管理装置接收各个CPU对同一资源的权限获取请求的时间确定,确定先接收到权限获取请求的CPU为目标CPU。或者,设定条件还可以是根据各个CPU的优先权级别确定,当同时接收到至少两个CPU对资源的权限获取请求时,确定优先权级别最高的CPU为目标CPU。或者其他可以区分CPU的方式,本发明实施例对此不作具体限定。
可选地,寄存器矩阵模块中的目标寄存器子模块可以在接收到目标CPU发送的第一控制信号时,修改目标寄存器子模块的lock状态信息,以使目标CPU之外的其他CPU在发送控制信号时,其他CPU对应的寄存器子模块的lock状态信息不会改变,有效规避了在多个CPU需要访问同一个资源时易导致冲突互斥的问题。
CPU还可以向本发明实施例提供的资源访问权限管理装置发送权限查询请求,以查询自身是否获取到资源访问权限。
所述读译码模块用于在接收到所述CPU对资源的权限查询请求时,获取所述寄存器矩阵模块中所述CPU对应的锁lock状态信息,向所述CPU反馈对应的lock状态信息,以使所述CPU根据对应的lock状态信息判断是否获得资源访问权限。
可选地,资源访问权限管理装置中的寄存器矩阵模块的输出端可以与读译码模块的输入端电连接,寄存器矩阵模块可以用于输出目标寄存器子模块所属的资源对应的所有寄存器子模块的lock状态信息给读译码模块。读译码模块用于接收寄存器矩阵模块输出的资源对应的所有寄存器子模块的lock状态信息,并在接收到至少两个CPU对资源的权限查询请求时,向至少两个CPU反馈对应的lock状态信息,以使各个CPU根据对应的lock状态信息判断是否获得资源访问权限。各个资源对应的所有寄存器子模块的输出端可以与读译码模块电连接,寄存器矩阵模块可以将目标寄存器子模块所属的资源对应的所有寄存器子模块的lock状态信息输出至读译码模块,以供申请同一资源的所有CPU可以通过读译码查询到各自对应的lock状态信息。例如,若目标寄存器子模块的lock状态信息为1,则目标CPU可以通过读译码查询到自身的lock状态信息是1,即获取到对该资源的访问权限,可以发起对资源的访问。其他CPU查询到各自对应的lock状态信息只能是0,即未获取到对该资源的访问权限,无法发起对资源的访问。
可选地,读译码模块具体可以用于在向CPU反馈对应的lock状态信息之前,解析CPU对资源的权限查询请求包含的资源地址和CPU的CPU标识,根据该资源地址和CPU的CPU标识,通过寄存器矩阵模块获取CPU对应的lock状态信息。
具体地,读译码模块可以具有译码功能,通过解析权限查询请求包含的资源地址和CPU的CPU标识,从寄存器矩阵模块中获取与CPU对应的lock状态信息,以将lock状态信息对应地反馈给相应的CPU。读译码模块中可以包括具有选择信号功能的子模块,例如,选择器等。若读译码模块中包括选择器,选择器的输入端可以接收目标寄存器子模块所属的资源对应的所有寄存器子模块的lock状态信息,选择器的选择控制端可以用于根据解析后的资源地址和各个CPU标识,控制选择器输出对应的lock状态信息,以使读译码模块将lock状态信息对应地反馈给相应的CPU。
下面通过一个具体实施例说明本发明实施例中资源访问权限管理装置的工作过程。
示例性地,CPU0和CPU1同时需要访问资源1,例如访问通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART),资源1处于空闲状态,未被任何CPU占用。写译码模块先后接收CPU0和CPU1对资源1的权限获取请求,并根据接收顺序将先接收到权限获取请求的CPU0作为目标CPU,向寄存器矩阵模块中CPU0对应的目标寄存器子模块0-1输出第一控制信号。当目标寄存器子模块0-1接收到第一控制信号时,寄存器矩阵模块修改目标寄存器子模块0-1的lock状态信息为1,并将该lock状态信息输出给读译码模块。写译码模块在接收到CPU1发送的权限获取请求时,虽然也会向寄存器矩阵模块中CPU1对应的寄存器子模块1-1输出控制信号,但由于同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态,所以寄存器子模块1-1无法改变lock状态,寄存器子模块1-1的lock状态仍为0。CPU0和CPU1还可以向资源访问权限管理装置发送权限查询申请,以查询各自是否获得资源1的访问权限。读译码模块在接收到CPU0和CPU1对资源1的权限查询请求时,可以向CPU0和CPU1反馈对应的lock状态信息,以使CPU0根据对应的lock状态信息为1可以判断获得对资源1的访问权限,CPU0可以发起对资源1的访问操作。CPU1根据对应的lock状态信息为0可以判断没有获得对资源1的访问权限,CPU1无法发起对资源1的访问操作。因此,资源访问权限管理装置可以保证在至少两个CPU需要同时访问同一个资源时,只能有一个CPU能够获得访问权限,其他CPU无法获得对该资源的访问权限,有效规避了冲突互斥的问题。
本发明实施例提供了一种资源访问权限管理装置,该装置包括总线译码模块和寄存器矩阵模块,总线译码模块包括写译码模块和读译码模块。其中,写译码模块用于接收CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位。寄存器矩阵模块包括数量与资源数量和CPU数量的乘积相同的寄存器子模块,寄存器矩阵模块用于当所述写译码模块接收到所述CPU对资源的权限获取请求时,将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息。读译码模块用于接收中央处理器CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位。本发明实施例中的装置通过约束同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态,使得CPU根据对应的lock状态信息判断是否获得资源访问权限,只有获得了资源访问权限的CPU才会访问资源,能够有效避免多个CPU需要访问同一个资源时导致冲突互斥的问题,提高了管理效率。
另外,CPU还可以向本发明实施例提供的资源访问权限管理装置发送权限清除请求,以取消对资源的访问权限。
可选地,写译码模块还用于接收所述CPU对所述资源的权限清除请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块复位,以清除所述寄存器子模块的lock状态信息;
写译码模块可以接收目标CPU对资源的目标权限清除请求,向寄存器矩阵模块中目标寄存器子模块输出第二控制信号,当寄存器矩阵模块中的目标寄存器子模块接收到第二控制信号时,通过寄存器矩阵模块将CPU对应的寄存器子模块复位,以清除目标CPU对资源的访问权限。在寄存器矩阵模块清除目标寄存器子模块的lock状态信息之后,该资源由占用状态改为空闲状态,即该资源对应的所有寄存器子模块的lock状态信息均为空闲状态,写译码模块可以在接收到至少两个CPU对该资源的权限获取请求时,确定新的目标CPU,以使寄存器矩阵模块根据新的目标CPU修改新的目标CPU对应的寄存器子模块的lock状态信息。本实施例提供的资源访问权限管理装置通过在接收到目标CPU对资源的目标权限清除请求时,修改目标寄存器子模块的lock状态信息,释放目标CPU对资源的访问权限,便于其他CPU申请该资源的访问权限,实现了对资源访问权限的持续管理。
实施例二
图3是本发明实施例二提供的另一种资源访问权限管理装置的示意图,本实施例在上述实施例的基础上进行优化,如图3所示。
寄存器矩阵模块还包括:M个第一或门电路21,M等于资源数量,其中,
对于每一个与资源对应的第一或门电路21,资源对应的所有寄存器子模块的输出端分别连接第一或门电路21的输入端,第一或门电路21的输出端连接读译码模块的输入端,第一或门电路21用于确定对应的资源是否已被占用。
第一或门电路21可以是具有“或”逻辑关系的电路。如图3所示,or模块表示第一或门电路21。对于每一个与资源对应的第一或门电路21,第一或门电路21的输入端数量与资源对应的所有寄存器子模块的数量相同,第一或门电路21的输出端只有一个。只要第一或门电路21所有输入端的传输信号中存在一个高电平信号(即逻辑为1)时,第一或门电路21输出端的信号就是高电平信号。只有当第一或门电路21所有输入端的传输信号均为低电平信号(即逻辑为0)时,第一或门电路21输出端才会输出低电平信号。
与资源对应的第一或门电路21通过接收资源对应的所有寄存器子模块的输出端的信号,若所有信号中存在一个高电平信号(即逻辑为1),说明存在一个寄存器子模块输出的信号是高电平信号,该寄存器子模块的lock状态信息是占用状态;若所有信号均为低电平信号(即逻辑为0),说明与资源对应的所有寄存器子模块输出的信号均是低电平信号,该寄存器子模块的lock状态信息是空闲状态。第一或门电路21还将输出端的信号发送给读译码模块,以通过读译码模块向各个CPU反馈资源是否已被占用。本发明实施例通过设计第一或门电路21实现了实时监控各个资源的占用状态,并将资源的状态反馈给各个CPU,便于各个CPU根据资源的状态判断是否发起对资源的权限获取请求,提高了对资源状态的监控管理效率。
可选地,寄存器子模块包括lock互斥单元22和寄存器23,其中,
寄存器23的输入端连接lock互斥单元22的输出端,寄存器23的输出端连接第一或门电路21的输入端和读译码模块的输入端,lock互斥单元22用于通过控制寄存器23输入端的电平信号变化,修改寄存器23输出端的电平信号,以修改寄存器子模块的lock状态信息。
如图3所示,寄存器23的第一输入端连接lock互斥电路的输出端,寄存器23的第二输入端引入时钟脉冲clk作为控制信号,寄存器23的输出端连接第一或门电路21的输入端。
lock互斥单元22可以理解为具有控制寄存器23输入端电平信号变化功能的电路。寄存器23可以根据lock互斥单元22输出的控制信号确定触发器的输出端状态。例如,当lock互斥单元22输出的控制信号是高电平信号(即逻辑为1),表明可以修改寄存器23中触发器的输出端状态,实现修改寄存器23输出端的电平信号,进而实现修改寄存器子模块的lock状态信息。
可选地,lock互斥单元22可以包括:
非门电路221,非门电路221的输入端连接第一或门电路21的输出端,非门电路221的输出端连接第二或门电路223的第一输入端;
第一与门电路222,第一与门电路222的第一输入端连接第一或门电路21的输出端,第一与门电路222的第二输入端连接对应的写译码模块的第一输出端,第一与门电路222的第三输入端连接lock互斥单元22对应的寄存器23的输出端,第一与门电路222的输出端连接第二或门电路223的第二输入端;
第二或门电路223,第二或门电路223的输出端连接第二与门电路224的第一输入端;
第二与门电路224,第二与门电路224的第二输入端连接写译码模块的第二输出端,第二与门电路224的输出端连接第一选择器225的选择控制端;
第一选择器225,第一选择器225的第一输入端连接lock互斥单元22对应的寄存器23的输出端,第一选择器225的第二输入端连接写译码模块的第一输出端,第一选择器225的输出端连接lock互斥单元22对应的寄存器23的输入端,第一选择器225用于根据选择控制端和第二输入端的电平信号控制是否修改寄存器23的lock状态信息。
其中,第一选择器225可以是在电平信号传输过程中能够根据选择控制端的控制信号选择任意一路的电路,例如,图3中的二选一选择器。图3中的第一选择器225的输出端连接寄存器23的第一输入端,第一选择器225的第一输入端连接寄存器23的输出端,第一选择器225的第二输入端连接写译码模块的输出端,第一选择器225的选择控制端连接lock互斥单元22。
如图3所示,对于寄存器矩阵模块中与同一资源对应的每个寄存器子模块,lock互斥单元22中的非门电路221的输入端可以接收该资源对应的第一或门电路21输出端的信号,如图3中的lock信号。
第一与门电路222的第二输入端连接对应的写译码模块的第一输入端。目标寄存器子模块中lock互斥单元22的第一与门电路222的第二输入端可以用于接收如图3中的Ahb_data[n]、……、Ahb_data[1]和Ahb_data[0]信号。其中,Ahb_data[n]、……、Ahb_data[1]和Ahb_data[0]信号均由标准定义。
第一与门电路222的第三输入端连接lock互斥单元22对应的寄存器23的输出端。第一与门电路222的第三输入端可以用于接收lock互斥单元22对应的寄存器23的输出端的信号,如图3中的Lockn、……、Lock1和Lock0信号。
第二与门电路224的第二输入端连接写译码模块的第二输出端。写译码模块可以解析至少两个CPU需要获取权限或清除权限的资源地址,对于与该资源地址对应的每个寄存器子模块中lock互斥单元22的第二与门电路224,写译码模块可以根据资源地址向每个第二与门电路224的第二输入端发送如图3中的Wr_n、……、Wr_1和Wr_0信号。
示例性地,当CPU0作为目标CPU发送对资源1的权限获取请求给写译码模块时,写译码模块向目标寄存器子模块0-1输出第一控制信号。由于此时与该资源对应的所有寄存器子模块的lock状态信息均为空闲状态,即第一或门电路21的输出端lock信号为逻辑0,则目标寄存器子模块0-1的lock互斥单元22中的非门电路221的输入端lock信号为逻辑0。当该第一与门电路222的第二输入端接收到第一控制信号时,第二输入端Ahb_data[1]信号由逻辑0变化为逻辑1,则目标寄存器子模块的lock互斥单元22的输出端信号为逻辑1,修改寄存器23的输出端信号由逻辑0变化为逻辑1,进而实现修改目标寄存器子模块的lock状态信息。
对于与目标寄存器子模块对应同一资源的其他寄存器子模块,由于该资源已被CPU0占用,则第一或门电路21的输出端lock信号为逻辑1,CPU1对应的寄存器子模块中lock互斥单元22的非门电路221的输入端lock信号为逻辑1,第一与门电路222的第三输入端lock1为逻辑0,则CPU1对应的寄存器子模块的lock互斥单元22的输出端为逻辑0,无法改变寄存器23的输出端状态,进而实现同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态。
当目标寄存器子模块0-1接收到第二控制信号时,目标寄存器子模块中lock互斥单元22的第一与门电路222的第二输入端clr[0]信号由逻辑1变化为逻辑0,非门电路221的输入端lock信号初始状态为逻辑1,此时目标寄存器子模块的lock互斥单元22的输出端信号为逻辑0,修改寄存器23的输出端信号由逻辑1变化为逻辑0,进而实现修改目标寄存器子模块的lock状态信息。
可选地,读译码模块包括第二选择器,其中,
第二选择器的输入端分别连接各个第一或门电路21的输出端,第二选择器的选择控制端用于在读译码模块接收CPU对资源的资源查询请求时,向CPU反馈资源对应的资源状态信息,以使CPU根据资源状态信息判断资源是否空闲,其中,当同一资源对应的所有lock状态信息均为空闲状态时,资源状态信息是空闲状态,当同一资源对应的所有lock状态信息中存在一个占用状态时,资源状态信息是占用状态。
示例性地,读译码模块中第二选择器的选择控制端可以接收图3中的Ahb_read信号,以控制第二选择器的输出端通过总线Ahb_rdata[31:0]向权限查询请求对应的CPU反馈对应的lock状态信息。读译码模块中第二选择器的选择控制端还可以接收图3中的ahb_addr[31:0]=n信号,以控制第二选择器的输出端向至少两个CPU反馈资源n对应的资源状态信息,以使各个CPU根据资源状态信息判断资源是否空闲。
可选地,写译码模块可以包括数量与资源数量相同的第三与门电路。如图3所示,写译码模块可以通过解析权限获取请求或目标权限清除请求中包含的资源地址,若资源地址与其中一个第三与门电路对应的资源地址相同,则该第三与门电路输出如图3中与资源对应的Wr_n、……、Wr_1或Wr_0信号。例如,写译码模块解析权限获取请求中包含的资源地址是1,则输入信号为Ahb_addr==1与Ahb_write的第三与门电路输出Wr_1信号。
本发明实施例提供了一种资源访问权限管理装置,该装置包括总线译码模块和寄存器矩阵模块,总线译码模块包括写译码模块和读译码模块。其中,寄存器矩阵模块还包括数量与资源数量相同的第一或门电路21,第一或门电路21用于确定对应的资源是否已被占用,通过设计第一或门电路21实现了实时监控各个资源的占用状态。寄存器子模块包括lock互斥单元22和寄存器23,lock互斥单元22通过控制寄存器23输入端的电平信号变化,修改寄存器23输出端的电平信号,通过利用lock互斥单元22和寄存器23实现了对寄存器子模块的lock状态信息的控制。读译码模块包括第二选择器,第二选择器通过向CPU反馈资源对应的资源状态信息,以使CPU根据资源状态信息判断资源是否空闲,便于CPU根据资源的状态判断是否发起对资源的权限获取请求,提高了对资源状态的监控管理效率。本发明实施例提供的资源访问权限管理装置能够有效避免多个CPU需要访问同一个资源时导致冲突互斥的问题,实现了对CPU访问资源的权限监管,进一步提高了管理效率。
实施例三
图4是本发明实施例三提供的一种资源访问权限管理方法的流程图,本实施例可适用于管理CPU访问资源的权限的情况,该方法可以由资源访问权限管理装置来执行。如图4所示,该方法包括:
步骤S310、接收CPU对资源的权限获取请求,在寄存器矩阵模块中将CPU对应的寄存器子模块置位,以修改寄存器子模块的lock状态信息。
步骤S320、在接收到CPU对资源的权限查询请求时,从寄存器矩阵模块中获取CPU对应的lock状态信息,向CPU反馈对应的lock状态信息,以使CPU根据对应的lock状态信息判断是否获得资源访问权限。
其中,同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态。
可选地,所述接收CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息,包括:
接收至少两个CPU对资源的权限获取请求,确定所述权限获取请求的接收顺序满足设定条件的目标CPU,在所述寄存器矩阵模块中将所述目标CPU对应的目标寄存器子模块置位,以修改所述目标寄存器子模块的lock状态信息。
可选地,所述方法还包括:
在接收到所述CPU对所述资源的权限清除请求时,在所述寄存器矩阵模块中将所述CPU对应的寄存器子模块复位,以清除所述寄存器子模块的lock状态信息。
需要注意的是,本发明实施例所提供的资源访问权限管理方法可由本发明任意实施例所提供的资源访问权限管理装置执行,具备功能模块相应的执行方法和有益效果。
实施例四
本发明实施例四提供了一种资源访问权限管理系统,本实施例可适用于管理CPU访问资源的权限的情况,该系统可配置于SOC中。该系统包括本发明任意实施例所提供的资源访问权限管理装置和CPU。
所述CPU与所述资源访问权限管理装置电连接,用于向所述资源访问权限管理装置发送对资源的权限获取请求和权限查询请求,若所述CPU接收到所述访问权限管理装置反馈的lock状态信息为占用状态,则所述CPU获得所述资源的访问权限,访问所述资源。
可选地,CPU还用于:
在访问所述资源之后,所述CPU向所述资源访问权限管理装置发送对所述资源的权限清除请求,通过所述资源访问权限管理装置修改所述lock状态信息为空闲状态,以释放所述CPU对所述资源的访问权限。
需要注意的是,本发明实施例所提供的资源访问权限管理系统包括本发明任意实施例所提供的资源访问权限管理装置,具备功能模块相应的执行方法和有益效果。
示例性地,图5是本发明实施例四提供的一种含有资源访问权限管理系统的SOC的示意图,如图5所示,SOC中包括CPU0、CPU1和CPUn等中央处理器、资源1和资源2等资源以及本发明实施例提供的资源访问权限管理装置。其中,资源1可以是UART,资源1可以是服务提供商接口(Service Provider Interface,SPI)。图6是本发明实施例四提供的一种两个CPU访问同一资源的流程图,图7是本发明实施例四提供的一种两个CPU访问同一资源的工作流程图。如图6和7所示,两个CPU的工作过程如下:
步骤S410、CPU0和CPU1向资源访问权限管理装置查询资源1是否LOCK,CPU0和CPU1从资源访问权限管理装置中获知资源1没有LOCK。
其中,LOCK可以理解为CPU对应的寄存器子模块的lock状态信息为占用状态。资源LOCK可以理解为资源被占用,资源处于占用状态。
假设在某一时刻CPU0和CPU1同时想要访问资源1,比如某一个UART接口等。如图7中步骤1所示,CPU0和CPU1先后查询资源1是否LOCK。假如此时资源1没被使用,CPU0,CPU1都读到资源1没有LOCK,处于空闲状态。
步骤S420、CPU0和CPU1同时向资源访问权限管理装置申请资源1LOCK。
如图7中步骤2所示,因为CPU0和CPU1都得到了资源1空闲的信息,所以CPU0和CPU1都会发起申请资源1的LOCK。资源访问权限管理装置会把先收到的权限获取请求的CPU对应的寄存器子模块的lock状态信息置为1,当资源1对应的所有寄存器子模块中有一个lock状态信息为1之后,后面收到的权限获取请求其lock状态信息便无法再置为1,因为同一时刻只允许一位为1。这里假设CPU0的申请先收到,收到的先后顺序要发起申请的时间以及CPU到资源访问权限管理装置的路径长短有关。
步骤S430、CPU0和CPU1向资源访问权限管理装置发送权限查询请求,以回读确认资源1是否被各自LOCK,CPU0通过资源访问权限管理装置得到资源1被自身LOCK,CPU1通过资源访问权限管理装置得到资源1未被自身LOCK。
如图7中步骤3所示,CPU0和CPU1都会发起查询,查询自身对资源1的LOCK是否成功。因为CPU0的权限获取请求先被收到,CPU0会发现自身对应的lock状态信息为1,得到对资源1的访问权限。CPU1发现自己对应的lock状态信息为0,没有得到访问权限。
步骤S440、CPU0访问资源1。
如图7中步骤4所示,因为CPU0拿到访问权限,CPU0可以发起对资源1的访问操作。
步骤S450、CPU0向资源访问权限管理装置发送权限清除请求,以释放对资源1的访问权限。
如图7中步骤5所示,当CPU0完成对资源1的访问之后,CPU0向资源访问权限管理装置发送权限清除请求,清除对应目标寄存器子模块的lock状态信息。
步骤S460、CPU1再次申请资源1LOCK。
在步骤S440期间,CPU1可以间隔查询资源1的LOCK是否被释放。如图7中步骤6所示,当CPU1发现资源1被释放,CPU1发起对资源1的LOCK。
步骤S470、CPU1向资源访问权限管理装置发送权限查询请求,以回读确认资源1是否被自身LOCK,CPU1通过资源访问权限管理装置得到资源1被自身LOCK。
如图7中步骤7所示,CPU1查询到资源1被自身LOCK,这时CPU1会发现这次自身得到对资源1的访问权限。当然在实际应用中,每次申请访问权限都可能会存在竞争关系,对于存在竞争关系的两个CPU返回步骤S420。
步骤S480、CPU1访问资源1。
如图7中步骤8所示,CPU1确认自己得到资源1的访问权限,CPU1发起对资源1的访问操作。
步骤S490、CPU1向资源访问权限管理装置发送权限清除请求,以释放对资源1的访问权限。
如图7中步骤9所示,当CPU1完成对资源1的访问之后,CPU1向资源访问权限管理装置发送权限清除请求,清除对应目标寄存器子模块的lock状态信息。
值得注意的是,上述资源访问权限管理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种资源访问权限管理装置,其特征在于,该装置包括:总线译码模块和寄存器矩阵模块,所述总线译码模块与所述寄存器矩阵模块电连接,所述总线译码模块包括写译码模块和读译码模块,其中,
所述写译码模块用于接收中央处理器CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位;
所述读译码模块用于在接收到所述CPU对资源的权限查询请求时,获取所述寄存器矩阵模块中所述CPU对应的锁lock状态信息,向所述CPU反馈对应的lock状态信息,以使所述CPU根据对应的lock状态信息判断是否获得资源访问权限;
所述寄存器矩阵模块包括N个寄存器子模块,所述寄存器矩阵模块用于当所述写译码模块接收到所述CPU对资源的权限获取请求时,将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息;
其中,N等于资源数量和CPU数量的乘积;同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态。
2.根据权利要求1所述的装置,其特征在于,所述写译码模块具体用于:
接收至少两个CPU对资源的权限获取请求,确定所述权限获取请求的接收顺序满足设定条件的目标CPU,通过所述寄存器矩阵模块将所述目标CPU对应的目标寄存器子模块置位,以修改所述目标寄存器子模块的lock状态信息。
3.根据权利要求1所述的装置,其特征在于,所述写译码模块还用于:
接收所述CPU对所述资源的权限清除请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块复位,以清除所述寄存器子模块的lock状态信息。
4.根据权利要求1所述的装置,其特征在于,所述寄存器矩阵模块,还包括:M个第一或门电路,其中,
对于每一个与所述资源对应的第一或门电路,所述资源对应的所有寄存器子模块的输出端分别连接所述第一或门电路的输入端,所述第一或门电路的输出端连接所述读译码模块的输入端,所述第一或门电路用于确定对应的所述资源是否已被占用;
其中,M等于资源数量。
5.根据权利要求4所述的装置,其特征在于,所述寄存器子模块,包括:lock互斥单元和寄存器,其中,
所述寄存器的输入端连接所述lock互斥单元的输出端,所述寄存器的输出端连接所述第一或门电路的输入端和所述读译码模块的输入端,所述lock互斥单元用于通过控制所述寄存器输入端的电平信号变化,修改所述寄存器输出端的电平信号,以修改所述寄存器子模块的lock状态信息。
6.根据权利要求5所述的装置,其特征在于,所述lock互斥单元,包括:
非门电路,所述非门电路的输入端连接所述第一或门电路的输出端,所述非门电路的输出端连接第二或门电路的第一输入端;
第一与门电路,所述第一与门电路的第一输入端连接所述第一或门电路的输出端,所述第一与门电路的第二输入端连接对应的所述写译码模块的第一输出端,所述第一与门电路的第三输入端连接所述lock互斥单元对应的寄存器的输出端,所述第一与门电路的输出端连接第二或门电路的第二输入端;
第二或门电路,所述第二或门电路的输出端连接第二与门电路的第一输入端;
第二与门电路,所述第二与门电路的第二输入端连接所述写译码模块的第二输出端,所述第二与门电路的输出端连接第一选择器的选择控制端;
第一选择器,所述第一选择器的第一输入端连接所述lock互斥单元对应的寄存器的输出端,所述第一选择器的第二输入端连接所述写译码模块的第一输出端,所述第一选择器的输出端连接所述lock互斥单元对应的寄存器的输入端,所述第一选择器用于根据所述选择控制端和所述第二输入端的电平信号控制是否修改所述寄存器的lock状态信息。
7.根据权利要求5所述的装置,其特征在于,所述读译码模块包括第二选择器,其中,
所述第二选择器的输入端分别连接各个所述第一或门电路的输出端,所述第二选择器的选择控制端用于在所述读译码模块接收所述CPU对所述资源的资源查询请求时,向所述CPU反馈所述资源对应的资源状态信息,以使所述CPU根据所述资源状态信息判断所述资源是否空闲,其中,当同一资源对应的所有lock状态信息均为空闲状态时,所述资源状态信息是空闲状态,当同一资源对应的所有lock状态信息中存在一个占用状态时,所述资源状态信息是占用状态。
8.一种资源访问权限管理方法,其特征在于,由权利要求1-7中任一项所述的资源访问权限管理装置执行,包括:
接收CPU对资源的权限获取请求,在所述寄存器矩阵模块中将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息;
在接收到所述CPU对资源的权限查询请求时,从所述寄存器矩阵模块中获取所述CPU对应的lock状态信息,向所述CPU反馈对应的lock状态信息,以使所述CPU根据对应的lock状态信息判断是否获得资源访问权限;
其中,同一资源对应的所有寄存器子模块的lock状态信息中只能存在一个占用状态。
9.根据权利要求8所述的方法,其特征在于,所述接收CPU对资源的权限获取请求,通过所述寄存器矩阵模块将所述CPU对应的寄存器子模块置位,以修改所述寄存器子模块的lock状态信息,包括:
接收至少两个CPU对资源的权限获取请求,确定所述权限获取请求的接收顺序满足设定条件的目标CPU,在所述寄存器矩阵模块中将所述目标CPU对应的目标寄存器子模块置位,以修改所述目标寄存器子模块的lock状态信息。
10.根据权利要求8所述的方法,其特征在于,还包括:
在接收到所述CPU对所述资源的权限清除请求时,在所述寄存器矩阵模块中将所述CPU对应的寄存器子模块复位,以清除所述寄存器子模块的lock状态信息。
11.一种资源访问权限管理系统,其特征在于,包括如权利要求1-7所述的资源访问权限管理装置和CPU,其中,
所述CPU与所述资源访问权限管理装置电连接,用于向所述资源访问权限管理装置发送对资源的权限获取请求和权限查询请求,若所述CPU接收到所述访问权限管理装置反馈的lock状态信息为占用状态,则所述CPU获得所述资源的访问权限,访问所述资源。
12.根据权利要求11所述的系统,其特征在于,所述CPU还用于:
在访问所述资源之后,所述CPU向所述资源访问权限管理装置发送对所述资源的权限清除请求,通过所述资源访问权限管理装置修改所述lock状态信息为空闲状态,以释放所述CPU对所述资源的访问权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011613278.8A CN112631742B (zh) | 2020-12-30 | 2020-12-30 | 一种资源访问权限管理装置、方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011613278.8A CN112631742B (zh) | 2020-12-30 | 2020-12-30 | 一种资源访问权限管理装置、方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112631742A true CN112631742A (zh) | 2021-04-09 |
CN112631742B CN112631742B (zh) | 2023-10-31 |
Family
ID=75286981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011613278.8A Active CN112631742B (zh) | 2020-12-30 | 2020-12-30 | 一种资源访问权限管理装置、方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631742B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036091A (zh) * | 2021-10-30 | 2022-02-11 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多处理器外设复用电路及其复用方法 |
CN116595594A (zh) * | 2023-05-19 | 2023-08-15 | 无锡摩芯半导体有限公司 | 一种基于ucb的flash的安全控制方法 |
WO2023226189A1 (zh) * | 2022-05-23 | 2023-11-30 | 深圳市航顺芯片技术研发有限公司 | 多核mcu访问共享外设的控制方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774731A (en) * | 1995-03-22 | 1998-06-30 | Hitachi, Ltd. | Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage |
CN101030180A (zh) * | 2007-04-06 | 2007-09-05 | 北京理工大学 | 一种基于同步访问模式的多端口存储器 |
CN102681892A (zh) * | 2012-05-15 | 2012-09-19 | 西安热工研究院有限公司 | Key-Value型单写多读锁池软件模块及其运行方法 |
CN103246565A (zh) * | 2012-02-02 | 2013-08-14 | 中兴通讯股份有限公司 | 资源访问仲裁方法及装置 |
CN109977704A (zh) * | 2019-02-26 | 2019-07-05 | 武汉光迅科技股份有限公司 | 一种i2c总线访问权限的确定方法、装置及存储介质 |
CN111124622A (zh) * | 2019-11-22 | 2020-05-08 | 深圳震有科技股份有限公司 | 一种多线程访问临界资源的方法、存储介质及智能终端 |
-
2020
- 2020-12-30 CN CN202011613278.8A patent/CN112631742B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774731A (en) * | 1995-03-22 | 1998-06-30 | Hitachi, Ltd. | Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage |
CN101030180A (zh) * | 2007-04-06 | 2007-09-05 | 北京理工大学 | 一种基于同步访问模式的多端口存储器 |
CN103246565A (zh) * | 2012-02-02 | 2013-08-14 | 中兴通讯股份有限公司 | 资源访问仲裁方法及装置 |
CN102681892A (zh) * | 2012-05-15 | 2012-09-19 | 西安热工研究院有限公司 | Key-Value型单写多读锁池软件模块及其运行方法 |
CN109977704A (zh) * | 2019-02-26 | 2019-07-05 | 武汉光迅科技股份有限公司 | 一种i2c总线访问权限的确定方法、装置及存储介质 |
CN111124622A (zh) * | 2019-11-22 | 2020-05-08 | 深圳震有科技股份有限公司 | 一种多线程访问临界资源的方法、存储介质及智能终端 |
Non-Patent Citations (2)
Title |
---|
LONG ZHENG: "Exploiting the Parallelism Between Conflicting Critical Sections with Partial Reversion", 《 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS ( VOLUME: 28, ISSUE: 12, 01 DECEMBER 2017)》 * |
汤旭慧: "网络处理器中解决资源访问冲突的新方法", 《计算机工程与设计》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036091A (zh) * | 2021-10-30 | 2022-02-11 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多处理器外设复用电路及其复用方法 |
WO2023226189A1 (zh) * | 2022-05-23 | 2023-11-30 | 深圳市航顺芯片技术研发有限公司 | 多核mcu访问共享外设的控制方法及相关设备 |
CN116595594A (zh) * | 2023-05-19 | 2023-08-15 | 无锡摩芯半导体有限公司 | 一种基于ucb的flash的安全控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112631742B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112631742B (zh) | 一种资源访问权限管理装置、方法及系统 | |
US9639409B2 (en) | Device and method for communicating between cores | |
US6009275A (en) | Centralized management of resources shared by multiple processing units | |
CN1302400C (zh) | 虚拟pci设备装置和方法 | |
US6857035B1 (en) | Methods and apparatus for bus mastering and arbitration | |
JP5237351B2 (ja) | より高い周波数アービターを介してサイクルあたり複数のバスアービトレーションを有するスイッチマトリクスシステム | |
US20050289268A1 (en) | Internal bus system | |
CN111797051B (zh) | 片上系统、数据传送方法及广播模块 | |
US6826640B1 (en) | Bus bandwidth control system | |
US4611275A (en) | Time sharing device for access to a main memory through to a single bus connected between a central computer and a plurality of peripheral computers | |
US6493784B1 (en) | Communication device, multiple bus control device and LSI for controlling multiple bus | |
US20040215773A1 (en) | Distributed shared resource management | |
US6973521B1 (en) | Lock controller supporting blocking and non-blocking requests | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN116303207A (zh) | 一种总线传输方法、装置、设备及存储介质 | |
US5708784A (en) | Dual bus computer architecture utilizing distributed arbitrators and method of using same | |
US4961132A (en) | System for processing communications among central processing units | |
US7185128B1 (en) | System and method for machine specific register addressing in external devices | |
GB2396450A (en) | Data bus system and method for performing cross-access between buses | |
CN112256426A (zh) | 具有总线仲裁器的主从通信系统及通信方法 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN116743684A (zh) | 一种具多个非透明桥端口的PCIe交换机及其通信方法 | |
CN116755902A (zh) | 数据通信方法及装置、处理系统、电子设备、存储介质 | |
CN111836344A (zh) | 数据采集方法、装置、计算机存储介质及电子设备 | |
CN112130904B (zh) | 处理系统、处理器间通信方法、以及共享资源管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |