CN113760805A - 一种ahb总线仲裁系统、方法、设备及可读存储介质 - Google Patents
一种ahb总线仲裁系统、方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113760805A CN113760805A CN202110876850.8A CN202110876850A CN113760805A CN 113760805 A CN113760805 A CN 113760805A CN 202110876850 A CN202110876850 A CN 202110876850A CN 113760805 A CN113760805 A CN 113760805A
- Authority
- CN
- China
- Prior art keywords
- bus
- transmission
- master device
- module
- main equipment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 149
- 238000012546 transfer Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 208000033748 Device issues Diseases 0.000 claims description 3
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 235000003642 hunger Nutrition 0.000 description 5
- 230000037351 starvation Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本申请公开了一种AHB总线仲裁系统、方法、设备及可读存储介质,保留了固定优先级算法的优点,可以对那些有重要数据传输或有大量实时数据传输以及经常需要占用总线的主设备赋予较高的优先级,以便有效利用AHB总线周期,保证大批量重要数据的传输效率,同时附加一些并不复杂的判断逻辑,在资源与功耗都不会有大变化的前提下,保证了公平性,从而避免了主设备饿死或撑死的现象。具体的判断逻辑如下:采用两级优先级判断,在固定优先级算法的基础上,增加等待时间阈值,在到达等待时间阈值时,单次调整主设备优先级,本次优先该主设备传输,在本次传输完成后,仍按照之前设置的固定优先级进行传输。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种AHB总线仲裁系统、方法、设备及可读存储介质。
背景技术
AMBA(Advanced Microcontroller Bus Architecture)总线协议是由ARM公司研发提出的片上总线协议,AHB(Advanced High-performance Bus)总线协议是AMBA协议最重要的一部分,主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、芯片上或芯片外的内存模块和直接内存存取机制等高效率模块。
对于多个主设备到多个从设备的架构,对某个主设备进行总线授权需要通过仲裁进行选择判断。仲裁机制中的一个重要内容就是选择仲裁算法,仲裁算法最常用的有两种:固定优先级算法和循环优先级算法。
固定优先级算法,就是指总线中各个主设备的优先级是根据主设备业务量事先固定好并且在仲裁过程中保持不变。而循环优先级算法则根据一定规律发生变化,一般采用轮询方式。这两种算法各有利弊,采用固定优先级算法,可以对那些有重要数据传输或有大量实时数据传输以及经常需要占用总线的主设备赋予较高的优先权,以便有效的利用AHB总线。它的缺点是可能会出现总线主设备“撑死”和“饿死”的现象,即优先级高的主设备总是优于优先级低的主设备获得总线的访问权而造成低优先级数据发送堵塞。相反,采用循环优先级算法则可以克服这种“饱饿”不均的弊端,在循环优先级算法中,由于其优先级随着每个总线周期动态的改变,各个设备获得总线占用权的机会均等,是比较公平的算法。然而,循环优先级的缺点是当处理某些设备的大批量实时数据时会造成效率下降。
综上,如何提供一种更高效的仲裁方案,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种AHB总线仲裁系统、方法、设备及可读存储介质,用以解决目前的仲裁方案要么不公平,要么无法在处理大批量实时数据时效率较低的问题。其具体方案如下:
第一方面,本申请提供了一种AHB总线仲裁系统,包括:
初始设置模块,用于设置主设备的固定优先级以及等待时间阈值;
接收模块,用于接收所述主设备发送的总线请求信号;
计时模块,用于对已经发出所述总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到所述等待时间阈值时生成通知信号;
总线移交模块,用于在所述计时模块生成通知信号时,确定所述通知信号对应的目标主设备,赋予所述目标主设备总线占用权;在所述计时模块未生成通知信号时,按照所述固定优先级从已经发出所述总线请求信号的主设备中选取目标主设备,并赋予所述目标主设备总线占用权。
可选的,所述总线移交模块用于:判断所述目标主设备是否符合总线移交条件,若符合,则赋予所述目标主设备总线占用权,其中所述总线条件为:从设备没有发出分割传输信号,且从设备发出的传送响应信号为传输完成。
可选的,在确定所述目标主设备之后,所述总线移交模块用于,判断是否接收到从设备发出的分割传输信号,若是,则根据所述分割传输信号进行分割传输,否则,判断从设备发出的传送响应信号是否为传输完成,若是,赋予所述目标主设备总线占用权,否则,否则等待当前传输完成。
可选的,还包括:
状态转移模块,用于实现总线传输状态的转移。
可选的,所述接收模块还用于接收所述主设备发送的锁定信号;
所述状态转移模块,用于在发出所述锁定信号的主设备获得总线占用权时,更新所述总线传输状态为锁定传输状态。
可选的,所述状态转移模块还用于:在满足第一条件或第二条件时,更新所述总线传输状态为虚拟主设备传输状态,其中,所述第一条件为在锁定传输同时进行分离传输,所述第二条件为全部所述主设备接收到的传送响应信号均为传输未完成;
所述总线移交模块用于:在所述总线传输状态为虚拟主设备传输状态时,将总线占用权赋予虚拟主设备。
可选的,所述初始设置模块还用于:设置默认主设备;
所述总线移交模块用于:将总线占用权赋予所述默认主设备;
所述状态转移模块用于:在所述默认主设备获得总线占用权时,更新所述总线传输状态为空闲状态。
第二方面,本申请提供了一种AHB总线仲裁方法,包括:
设置主设备的固定优先级以及等待时间阈值;
接收所述主设备发送的总线请求信号;
对已经发出所述总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到所述等待时间阈值时生成通知信号;
在所述计时模块生成通知信号时,确定所述通知信号对应的目标主设备,赋予所述目标主设备总线占用权;在所述计时模块未生成通知信号时,按照所述固定优先级从已经发出所述总线请求信号的主设备中选取目标主设备,并赋予所述目标主设备总线占用权。
第三方面,本申请提供了一种AHB总线仲裁设备,包括;
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的AHB总线仲裁方法。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的AHB总线仲裁方法。
本申请所提供的一种AHB总线仲裁系统,包括初始设置模块,接收模块,计时模块,总线移交模块。其中,初始设置模块用于设置主设备的固定优先级以及等待时间阈值;接收模块用于接收主设备发送的总线请求信号;计时模块用于对已经发出总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到等待时间阈值时生成通知信号;总线移交模块用于在计时模块生成通知信号时,确定通知信号对应的目标主设备,赋予目标主设备总线占用权;在计时模块未生成通知信号时,按照固定优先级从已经发出总线请求信号的主设备中选取目标主设备,并赋予目标主设备总线占用权。
可见,该系统保留了固定优先级算法的优点,可以对那些有重要数据传输或有大量实时数据传输以及经常需要占用总线的主设备赋予较高的优先级,以便有效利用AHB总线周期,保证大批量重要数据的传输效率,同时附加一些并不复杂的判断逻辑,在资源与功耗都不会有大变化的前提下,保证了公平性,从而避免了主设备饿死或撑死的现象。具体的判断逻辑如下:采用两级优先级判断,在固定优先级算法的基础上,增加等待时间阈值,在到达等待时间阈值时,单次调整主设备优先级,本次优先该主设备传输,在本次传输完成后,仍按照之前设置的固定优先级进行传输。
此外,本申请还提供了一种AHB总线仲裁方法、设备及可读存储介质,其技术效果与上述系统的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的AHB总线仲裁系统实施例一的示意图;
图2为本申请所提供的AHB总线仲裁系统实施例二的示意图;
图3为本申请所提供的AHB总线仲裁系统具体应用实施例的示意图;
图4为本申请所提供的AHB总线仲裁系统具体应用实施例的转移条件判断过程示意图;
图5为本申请所提供的AHB总线仲裁方法实施例的流程图。
具体实施方式
本申请的核心是提供一种AHB总线仲裁系统、方法、设备及可读存储介质,用于实现在保证大批量实时数据的传输效率的同时,保证主设备之间的公平性,避免主设备撑死或饿死。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的AHB总线仲裁系统实施例一进行介绍,参见图1,实施例一包括:
初始设置模块,用于设置主设备的固定优先级以及等待时间阈值;
接收模块,用于接收主设备发送的总线请求信号;
计时模块,用于对已经发出总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到等待时间阈值时生成通知信号;
总线移交模块,用于在计时模块生成通知信号时,确定通知信号对应的目标主设备,赋予目标主设备总线占用权;在计时模块未生成通知信号时,按照固定优先级从已经发出总线请求信号的主设备中选取目标主设备,并赋予目标主设备总线占用权。
本实施例在固定优先级算法的基础上,增加等待时间阈值,对已经发出总线请求信号但还未获得总线占用权的主设备进行等待时间计时,在等待时间到达等待时间阈值时,单次调整主设备优先级,本次优先该主设备传输,在本次传输完成后,仍按照之前设置的固定优先级进行传输。
具体的,在确定目标主设备之后,还需要进一步判断目标主设备是否如何总线移交条件,当且仅当目标主设备符合总线移交条件,才赋予目标主设备总线占用权。其中,总线条件为:从设备没有发出分割传输信号,且从设备发出的传送响应信号为传输完成。具体判断目标主设备是否符合总线移交条件的过程为:在确定目标主设备之后,总线移交模块判断是否接收到从设备发出的分割传输信号,若是,则根据所述分割传输信号进行分割传输,否则,判断从设备发出的传送响应信号是否为传输完成,若是,赋予所述目标主设备总线占用权,否则,否则等待当前传输完成。
除此之外,本实施例还可以包括状态转移模块。状态转移模块用于实现总线传输状态的转移,这里的总线传输状态可以包括以下任意一项或多项:空闲状态、默认主设备传输状态、虚拟主设备传输状态、锁定传输状态、普通传输状态。总线移交模块在移交总线占用权时,也需要考虑状态转移模块中的总线传输状态。
具体的,主设备在发送总线请求信号的同时,可以一并发送锁定信号。一旦发出锁定信号的主设备被赋予总线占用权,则执行一系列不可分割的传输,并且一旦锁定传输的第一个传输已经开始仲裁器就不能赋予任何其他主设备总线占用权。具体的,接收模块不仅用于接收主设备发送的总线请求信号,还用于接收主设备发送的锁定信号;状态转移模块,用于在发出锁定信号的主设备获得总线占用权时,更新总线传输状态为锁定传输状态。
此外,状态转移模块还用于在满足第一条件或第二条件时,更新总线传输状态为虚拟主设备传输状态,其中,第一条件为在锁定传输同时进行分离传输,第二条件为全部主设备接收到的传送响应信号均为传输未完成;相应的,总线移交模块用于:在总线传输状态为虚拟主设备传输状态时,将总线占用权赋予虚拟主设备。
最后,本实施例还允许设置默认主设备。具体的,初始设置模块还用于设置默认主设备;总线移交模块用于将总线占用权赋予默认主设备;状态转移模块用于在默认主设备获得总线占用权时,更新总线传输状态为空闲状态。
本实施例所提供一种AHB总线仲裁系统,保留了固定优先级算法的优点,可以对那些有重要数据传输或有大量实时数据传输以及经常需要占用总线的主设备赋予较高的优先级,以便有效利用AHB总线周期,保证大批量重要数据的传输效率,同时附加一些并不复杂的判断逻辑,在资源与功耗都不会有大变化的前提下,保证了公平性,从而避免了主设备饿死或撑死的现象。
下面开始详细介绍本申请提供的AHB总线仲裁系统实施例二,实施例二以实施例一为基础,并在实施例一的基础上进行了一定程度上的拓展。
为方便理解,首先对涉及到的仲裁信号做以下说明:
(1)HBUSREQ,由主设备到仲裁器的总线请求信号。
(2)HLOCK,由主设备到仲裁器的锁定信号,为了保证传输的完整性。一旦发出锁定信号的主设备被赋予总线占用权,则进行锁定传输,即,仲裁器执行一系列不可分割的传输并且一旦锁定传输的第一个传输已经开始仲裁器就不能赋予任何其他主设备总线占用权。
(3)HSPLIT,分割传输信号,由从设备到仲裁器,用于通知仲裁器哪一个主设备要继续进行操作。
(4)HRESP[1:0],传送响应信号,是从设备发给主设备的的总线传输状态,包括OKAY,ERROR,RETRY,SPLIT四种状态。其中,四种状态的取值和含义如下:
00:OKAY—传输完成;
01:ERROR—传输错误;
10:RETRY—传输未完成,请求主设备重新开始一个传输,arbiter会继续使用通常的优先级;
11:SPLIT—传输未完成,请求主设备分离一次传输,arbiter会调整优先级方案以便其他请求总线的主设备可以访问总线。
本实施例的AHB总线仲裁系统,如图2所示,包括:
初始设置模块,用于设置主设备的优先级,等待时间阈值以及默认主设备。
接收模块,用于接收主设备的总线请求信号、锁定信号以及AHB总线的地址和控制信号。
主设备等待计时模块,用于对请求但未被授权的主设备进行计时,当计时达到主设备等待时间阈值时,进入总线移交模块,在满足总线移交条件的情况下移交总线占用权,当被授予权限时对等待时间清0。
状态转移模块,根据当前状态以及接收到的信号,进行状态转移,更新总线传输状态。
总线移交模块,根据当前状态、AHB总线的地址和控制信号、锁定信号、分割传输信号、主设备等待时间,判断主设备是否符合总线移交要求,若符合,则进行总线占用权的移交。
仲裁授权模块,根据总线移交模块的输出结果,对相应主设备进行总线授权。
值得一提的是,当主设备得到AHB总线占用权后,驱动地址与控制信号来开始AHB传送,这些信号提供传送地址、传送方向、传送带宽,传送类型等信息。从设备接收到这些信息之后,向主设备发送传送响应信号,表示自身的传输状态。
在总线移交模块中,总线移交条件具体为:(1)查询从设备是否发送分割传输信号,即指示仲裁器某个主设备是否要继续某个分割传输操作,若有则先执行该分割传输,否则执行下一步;(2)根据传送响应信号,判断当前传输是否完成,如果检测到一次完整的传输尚未完成则等待当前传输完成,否则执行下一步;(3)优先执行目标主设备的业务传输,完成一次完整传输之后,进行新一轮的判断。
在状态转移模块中,总线运行状态包括以下几种:空闲状态、默认主设备传输状态、虚拟主设备传输状态、锁定传输状态、普通传输状态。
其中,锁定传输状态指处理主设备的锁定传输申请,当主设备申请总线的同时声明了锁定信号,说明主设备发起的是一次锁定传输,若锁定传输被赋予了总线占用权,则说明主设备正在执行一个不可分割的传输,一旦第一个传输开始,仲裁器不能赋予给任何其他主设备总线占用权。
在以下两种情况下会进入虚拟主设备传输状态,此时仲裁器会把总线占用权交给虚拟主设备:(1)当AHB进行锁定传输时,因为传输已经被锁定不能中断,所以其它的主设备将不允许获得总线占用权,如果在锁定传输同时进行分离传输。(2)当N-1个主设备接收到从设备返回SPLIT信号的同时,第N个主设备也接收到了SPLIT信号。
基于上述实施例二,下面以实际应用为例对AHB总线仲裁过程进行说明。
本实施例公开了一种AHB总线仲裁系统,以实现AHB总线的正确授权。基于一个中心多路复用器互联机制,总线上所有主设备都可以驱动地址和控制信号,用于表示他们所希望执行的传输,仲裁器用于决定将哪个主设备的地址和控制信号连接到所有的从设备。
以3个主设备、3个从设备为例,图3给出了一个多路复用器互联的结构示意图,包括:3个主设备,3个从设备,一个仲裁装置,一个地址和控制多路选择器和一个译码器,本实施例重点介绍仲裁装置的工作方法。
假定3个主设备M1、M2和M3一直同时申请占用总线,且M1为锁定传输;M2对应的从设备返回SPLIT信号,需要执行分割传输;在M3占用总线过程中M2对应的从设备发出HSPLIT信号,指示M2完成之前未完成的传输。
步骤1、首先设置3个主设备的优先级为M1>M2>M3,默认主设备设为M1,设置等待时间阈值为time threshold=256,其中优先级与等待时间阈值的设置根据业务量进行评估。首先AHB总线被授权给默认主设备,此时AHB总线运行状态为空闲状态。
步骤2、接收申请总线申请信号HBUSREQ[2:0]和锁定信号HLOCK[2:0],根据二者确定哪个主设备获得总线占有权,并确定处于锁定传输状态还是普通传输状态。同时开始对申请总线但未被授权的主设备进行计时,等待时间记为time counter。
首先判断总线申请信号HBUSREQ[2:0],若比特0为1,则M1获得总线占有权;若比特0为0且比特1为1,则M2获得总线占有权;若比特0比特1都为0且比特2为1,则M3获得总线占有权;否则总线占有权默认给M1,AHB总线运行状态为空闲状态。
然后判断被授权的主设备是否申请了锁定传输,即HLOCK[2:0]的相应比特是否被置高,若为1则进入锁定传输状态,否则进入普通传输状态。
步骤3、在锁定传输状态过程中,若从设备返回的传输状态信号为SPLIT,则进入虚拟主设备传输,此时AHB总线运行状态为空闲状态。在一个连续锁定传输之后,仲裁器将总是为一个附加传输保持总线主设备被授权总线,以确保锁定序列的最后一个传输成功完成。
在普通传输过程中,则需要对检测到从设备返回SPLIT的主设备进行计数countersplit,每检测到一台主设备收到SPLIT的返回信号,counter split加1,当检测到countersplit等于3时,进入虚拟主设备传输,否则执行步骤4。虚拟主设备设置为M4,AHB总线运行状态为空闲状态。
步骤4、在传输过程中同时监测各个主设备time counter是否与等待时间阈值相等,若检测到某一个主设备M[n]相等,置FLAG[n]=1,则开始判断总线转移条件是否满足,步骤参见图4:
(1)查询从设备是否发送HSPLIT分割传输信号,即指示仲裁器某个主设备是否要继续某个分割传输操作。若有则先执行该分割传输,否则执行下一步。
(2)判断当前传输是否完成,如果检测到一次完整的传输尚未完成则等待当前传输完成,否则执行下一步。
(3)执行主设备M[n]的业务传输,完成一次完整传输之后,对time counter进行清0,并返回步骤2继续进行下一次传输的判断。
其中,判断当前传输是否完成的方法为:不论进入何种传输状态之后,需要通过AHB总线控制信号判断具体传输类型,若为非固定长度传输,需要时刻监测HBUSREQ直至传输结束,若为固定长度,则仲裁器只需在起始时刻检测到HBUSREQ之后通过计数判断本次传输是否完成。
若检测到没有主设备的time counter与等待时间阈值相等,则只用判断是否有分割传输续传和当前传输完成,而后返回步骤2。
简要概述本示例假设的情况下,设备占用权转换过程:
1、通过判断得出初始时应授权给M1,且其为锁定传输。
2、在没有检测到time counter=time threshold时,本示例中M1一直为非分割传输,由于M1一直在申请总线,所以总线一直授权给M1。
3、直至M2主设备time counter=time threshold,等待M1传输完成之后,总线授权给M2。
4、在M2占用总线的过程中,从设备返回split信号,此时检测到M3主设备timecounter=time threshold,总线授权给M3。
5、在M3传输过程中检测到M2对应从设备的HSPLIT比特1为0,此时把总线移交给M2。
6、等待M2传输完成之后,M3获得总线的占有权,待M3传输完成,总线授权给M1,返回步骤1。
下面对本申请实施例提供的AHB总线仲裁方法进行介绍,下文描述的AHB总线仲裁方法基于上文描述的AHB总线仲裁系统实现。
如图5所示,本实施例的AHB总线仲裁方法,包括:
S51、设置主设备的固定优先级以及等待时间阈值;
S52、接收主设备发送的总线请求信号;
S53、对已经发出总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到等待时间阈值时生成通知信号;
S54、在计时模块生成通知信号时,确定通知信号对应的目标主设备,赋予目标主设备总线占用权;在计时模块未生成通知信号时,按照固定优先级从已经发出总线请求信号的主设备中选取目标主设备,并赋予目标主设备总线占用权。
本实施例的AHB总线仲裁方法基于上文描述的AHB总线仲裁系统实现,因此该方法的具体实施方式可见前文中的AHB总线仲裁系统的实施例部分,这里不再赘述。
此外,本申请还提供了一种AHB总线仲裁设备,包括;
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的AHB总线仲裁方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的AHB总线仲裁方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种AHB总线仲裁系统,其特征在于,包括:
初始设置模块,用于设置主设备的固定优先级以及等待时间阈值;
接收模块,用于接收所述主设备发送的总线请求信号;
计时模块,用于对已经发出所述总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到所述等待时间阈值时生成通知信号;
总线移交模块,用于在所述计时模块生成通知信号时,确定所述通知信号对应的目标主设备,赋予所述目标主设备总线占用权;在所述计时模块未生成通知信号时,按照所述固定优先级从已经发出所述总线请求信号的主设备中选取目标主设备,并赋予所述目标主设备总线占用权。
2.如权利要求1所述的系统,其特征在于,所述总线移交模块用于:判断所述目标主设备是否符合总线移交条件,若符合,则赋予所述目标主设备总线占用权,其中所述总线条件为:从设备没有发出分割传输信号,且从设备发出的传送响应信号为传输完成。
3.如权利要求2所述的系统,其特征在于,在确定所述目标主设备之后,所述总线移交模块用于,判断是否接收到从设备发出的分割传输信号,若是,则根据所述分割传输信号进行分割传输,否则,判断从设备发出的传送响应信号是否为传输完成,若是,赋予所述目标主设备总线占用权,否则,否则等待当前传输完成。
4.如权利要求1所述的系统,其特征在于,还包括:
状态转移模块,用于实现总线传输状态的转移。
5.如权利要求4所述的系统,其特征在于,所述接收模块还用于接收所述主设备发送的锁定信号;
所述状态转移模块,用于在发出所述锁定信号的主设备获得总线占用权时,更新所述总线传输状态为锁定传输状态。
6.如权利要求4所述的系统,其特征在于,所述状态转移模块还用于:在满足第一条件或第二条件时,更新所述总线传输状态为虚拟主设备传输状态,其中,所述第一条件为在锁定传输同时进行分离传输,所述第二条件为全部所述主设备接收到的传送响应信号均为传输未完成;
所述总线移交模块用于:在所述总线传输状态为虚拟主设备传输状态时,将总线占用权赋予虚拟主设备。
7.如权利要求1所述的系统,其特征在于,所述初始设置模块还用于:设置默认主设备;
所述总线移交模块用于:将总线占用权赋予所述默认主设备;
所述状态转移模块用于:在所述默认主设备获得总线占用权时,更新所述总线传输状态为空闲状态。
8.一种AHB总线仲裁方法,其特征在于,包括:
设置主设备的固定优先级以及等待时间阈值;
接收所述主设备发送的总线请求信号;
对已经发出所述总线请求信号但未被赋予总线占用权的主设备进行等待时间计时,并在等待时间达到所述等待时间阈值时生成通知信号;
在所述计时模块生成通知信号时,确定所述通知信号对应的目标主设备,赋予所述目标主设备总线占用权;在所述计时模块未生成通知信号时,按照所述固定优先级从已经发出所述总线请求信号的主设备中选取目标主设备,并赋予所述目标主设备总线占用权。
9.一种AHB总线仲裁设备,其特征在于,包括;
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求8所述的AHB总线仲裁方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求8所述的AHB总线仲裁方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876850.8A CN113760805A (zh) | 2021-07-31 | 2021-07-31 | 一种ahb总线仲裁系统、方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876850.8A CN113760805A (zh) | 2021-07-31 | 2021-07-31 | 一种ahb总线仲裁系统、方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760805A true CN113760805A (zh) | 2021-12-07 |
Family
ID=78788261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110876850.8A Pending CN113760805A (zh) | 2021-07-31 | 2021-07-31 | 一种ahb总线仲裁系统、方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760805A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077141A (zh) * | 2012-12-26 | 2013-05-01 | 西安交通大学 | 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器 |
-
2021
- 2021-07-31 CN CN202110876850.8A patent/CN113760805A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077141A (zh) * | 2012-12-26 | 2013-05-01 | 西安交通大学 | 一种基于amba总线的自适应实时加权优先仲裁方法及仲裁器 |
Non-Patent Citations (3)
Title |
---|
张庆利 等: ""AMBA片内总线结构的设计"", 《微处理机》, 31 May 2002 (2002-05-31), pages 1 - 3 * |
杨珺 等: ""基于提前仲裁和请求等待优先的仲裁策略"", 《华南理工大学学报(自然科学版)》, 30 September 2009 (2009-09-30), pages 57 - 61 * |
王宏滨: ""AMBA/Wishbone总线桥IP核的设计"", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》, 15 June 2011 (2011-06-15), pages 4 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3596799B2 (ja) | バスを動的に制御するシステムおよび方法 | |
EP0370018B1 (en) | Apparatus and method for determining access to a bus | |
JPH0664563B2 (ja) | データ処理リソースへのアクセスを割当てる方法およびそのためのアービトレイタ | |
JPH11513158A (ja) | 並列パケット化されたモジュール間調停高速制御およびデータバス | |
WO2023226497A1 (zh) | 总线仲裁方法和装置、计算机可读存储介质及主控芯片 | |
KR102285749B1 (ko) | 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법 | |
US6907491B2 (en) | Methods and structure for state preservation to improve fairness in bus arbitration | |
JP3084218B2 (ja) | 通信方法及び同期通信システム | |
WO1988008571A1 (en) | Method and apparatus for initiating transactions on a multiprocessor computer system employing multiple lock indications | |
KR100644596B1 (ko) | 버스 시스템 및 그 버스 중재방법 | |
WO2012012961A1 (zh) | 总线调度方法及装置 | |
US7013355B2 (en) | Device and method for improved serial bus transaction using incremental address decode | |
WO2006024193A1 (fr) | Procede et systeme pour transfert de donnees | |
US6826644B1 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
US6571306B1 (en) | Bus request mechanism for bus master which is parked on a shared bus | |
CN113760805A (zh) | 一种ahb总线仲裁系统、方法、设备及可读存储介质 | |
KR102360214B1 (ko) | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 | |
WO2006045216A1 (fr) | Dispositif et procede d'arbitrage | |
CN1157667C (zh) | 外围元件互连总线兼容主控器及其判定器与判定方法 | |
JP2612101B2 (ja) | バス優先占有方式およびその方式を使用した通信ネットワーク接続装置 | |
CN115269467B (zh) | 一种总线仲裁的方法、装置、存储介质及电子设备 | |
JPH09269927A (ja) | バスアクセス方法、バス、並びにバス接続システム | |
JP2004118546A (ja) | バス調停方式及びデータ転送装置 | |
KR100605867B1 (ko) | 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법 | |
JP2012114724A (ja) | 電子制御装置 |
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 |