CN104346303A - 一种总线仲裁方法及装置 - Google Patents
一种总线仲裁方法及装置 Download PDFInfo
- Publication number
- CN104346303A CN104346303A CN201310343969.4A CN201310343969A CN104346303A CN 104346303 A CN104346303 A CN 104346303A CN 201310343969 A CN201310343969 A CN 201310343969A CN 104346303 A CN104346303 A CN 104346303A
- Authority
- CN
- China
- Prior art keywords
- arbitration
- access request
- bus
- bus access
- external unit
- 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.)
- Withdrawn
Links
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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Abstract
本发明公开了一种总线仲裁方法,包括:根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁,并对仲裁结果进行存储;执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。本发明还同时公开了一种总线仲裁装置。采用本发明所述方法及装置,提高了总线的传输效率和电路频率,能满足高速互连需求,适合在总线吞吐率较高的芯片内部使用。
Description
技术领域
本发明涉及芯片领域的处理器仲裁技术,尤其涉及一种总线仲裁方法及装置。
背景技术
目前,仲裁分为集中式仲裁和分布式仲裁两大类,其中,分布式仲裁的扩展性好,但是仲裁效率低;集中式仲裁中的独立请求方式的仲裁效率高,能在一个时钟周期完成一个请求仲裁,该独立请求方式适合作为芯片内部的总线仲裁方式。
为了高效地响应外部请求,基于独立请求方式的总线仲裁部件的常用的实现方案是:在某个时钟周期,仲裁部件接收到总线上各主动模块的请求,按可配置优先级或固定优先级或其他仲裁方式进行仲裁后,向其中一个主动模块返回携带有请求被允许的仲裁应答信号。各主动模块收到仲裁应答信号后,通常所述仲裁应答信号用grant或aready表示;若仲裁应答信号为高电平,则可在下个时钟周期刷入新的请求;若仲裁应答信号为低电平,则缓存当前请求直至仲裁应答信号为高电平时将该请求发送至总线上。
图1为现有技术中一般仲裁实现方案时序图,虽然现有技术中一般仲裁实现方案的仲裁效率高,但是因为返回给主动模块的grant信号经过仲裁逻辑时有很长的延时,而且在处理器设计中grant信号还会去控制整个流水线的根时钟开关,由于电路使用的叶子时钟比根时钟时间落后,对时序要求更加严格,所以此类方案不适合高速互连设计、处理器设计以及请求模块多且请求仲裁延时长的设计。
图2为现有技术中改进的仲裁实现方案框图,是对一般仲裁实现方案的改进方案,通过用寄存器对grant信号进行打拍,将打拍后的grant信号输出至主动模块,进而能够支持高速互连、支持处理器开关时钟、支持数量大的主动模块;但是,该方案需要两个时钟周期才能完成一个请求发送,传输效率较低。
发明内容
有鉴于此,本发明的主要目的在于提供一种总线仲裁方法及装置,能提高总线的传输效率和电路频率,能满足高速互连需求。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种总线仲裁方法,该方法包括:
根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁,并对仲裁结果进行存储;
执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
上述方案中,所述仲裁结果为:仅一个总线访问请求被允许;
所述向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号,包括:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
上述方案中,该方法还包括:
对所述当前接收到的外部设备发送的总线访问请求进行存储。
上述方案中,所述执行所存储的仲裁结果,包括:
根据仲裁应答信号产生选择信号;
根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求,并向总线输出该总线访问请求;
根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更新。
上述方案中,所述根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁之前,该方法还包括:
对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求,且仲裁结果为不被允许时,将所述仲裁应答信号由仲裁允许信号变为仲裁不允许信号,同时,与该总线访问请求对应的外部设备不再允许输入新的总线访问请求,直至该总线访问请求被允许。
上述方案中,所述方法还包括:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时钟周期数的计数器;
当某计数器的值超出设定阈值时,向总线输出所述某计数器对应的总线访问请求。
上述方案中,所述方法还包括:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有其他外部设备的总线访问请求时,则对该持续获得仲裁允许信号的外部设备发出仲裁不允许信号,同时在其他外部设备中,向优先级最高的外部设备发出仲裁允许信号。
本发明还提供了一种总线仲裁装置,该装置包括仲裁模块、第一存储模块和执行模块;其中,
所述仲裁模块,用于根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁;
第一存储模块,用于对所述仲裁模块的仲裁结果进行存储;
所述执行模块,用于执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
上述方案中,所述仲裁模块进行仲裁时的仲裁结果为:仅一个总线访问请求被允许;
所述执行模块,还用于:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
上述方案中,所述装置还包括第二存储模块,用于对当前接收到的外部设备发送的总线访问请求进行存储。
上述方案中,所述执行模块还包括选择模块、输出模块和控制模块,其中,
所述选择模块,用于根据仲裁应答信号产生选择信号;并根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求;
所述输出模块,用于向总线输出所述选择模块所选择的总线访问请求;
所述控制模块,用于根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更新。
上述方案中,所述装置还包括配置模块,用于对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求,且仲裁结果为不被允许时,将所述仲裁应答信号由仲裁允许信号变为仲裁不允许信号,同时,与该总线访问请求对应的外部设备不再允许输入新的总线访问请求,直至该总线访问请求被允许。
上述方案中,所述配置模块,还用于:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时钟周期数的计数器;
所述执行模块,还用于:
当某计数器的值超出设定阈值时,向总线输出所述某计数器对应的总线访问请求。
上述方案中,所述仲裁模块,还用于:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有其他外部设备的总线访问请求时,则对该持续获得仲裁允许信号的外部设备发出仲裁不允许信号,同时在其他外部设备中,向优先级最高的外部设备发出仲裁允许信号。
通过本发明提供的总线仲裁方法及装置,根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁,并对仲裁结果进行存储;执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号,并且,所述仲裁应答信号为仲裁产生的原始应答信号存储一拍后的仲裁应答信号;如此,本发明能够在每个时钟周期完成一个请求,提高了总线的传输效率和电路频率,同时满足了高速互连需求。
具体地,本发明技术方案能提高电路频率主要原因在于:返回各外部设备的仲裁应答信号是存储一拍后的仲裁应答信号;仲裁电路与执行仲裁的电路不在同一时钟周期。具体地,本发明技术方案能支持每个时钟周期完成一个请求的原因之一在于:将各外部设备的仲裁应答信号的初始值均设为允许请求。
具体地,本发明技术方案在保证仲裁功能的前提下,对仲裁实现时的总线传输效率和频率进行了优化,提高了总线的传输效率,提升了电路频率,属于基础性的改进,具有很广泛的实用价值。此外,本发明技术方案尤其适用于高速互连总线的应用场景,适合在总线吞吐率较高的芯片内部使用。
附图说明
图1为现有技术中一般仲裁实现方案时序图;
图2为现有技术中改进的仲裁实现方案框图;
图3为本发明实施例总线仲裁方法的实现流程示意图;
图4为本发明实施例总线仲裁装置的组成结构示意图;
图5为本发明实施例总线仲裁实现方案框图;
图6为基于本发明的分层次仲裁实现方案框图;
图7为本发明实施例总线仲裁实现方案的请求时序图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图3为本发明实施例总线仲裁方法的实现流程示意图,如图3所示,该方法包括以下步骤:
步骤301:根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁,并对仲裁结果进行存储;
进一步地,该方法还包括:
对所述当前接收到的外部设备发送的总线访问请求进行存储。
具体地,所述仲裁结果为:仅一个总线访问请求被允许;
具体地,所述执行所存储的仲裁结果,包括:
根据仲裁应答信号产生选择信号;
根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求,并向总线输出该总线访问请求;
根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更新。
具体地,所述根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁之前,该方法还包括:
对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求,且仲裁结果为不被允许时,将所述仲裁应答信号由仲裁允许信号变为仲裁不允许信号,同时,与该总线访问请求对应的外部设备不再允许输入新的总线访问请求,直至该总线访问请求被允许。
这里,所述仲裁准则包括:
根据总线访问请求的固定优先级进行仲裁、或根据总线访问请求的可配置优先级进行仲裁、或根据轮询方式进行仲裁。
当然,所述仲裁准则还可为其他准则,在此不再赘述。
步骤302:执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
具体地,所述向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号,包括:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
进一步地,所述方法还包括:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时钟周期数的计数器;
当某计数器的值超出设定阈值时,向总线输出所述某计数器对应的总线访问请求。
进一步地,所述方法还包括:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有其他外部设备的总线访问请求时,则对该持续获得仲裁允许信号的外部设备发出仲裁不允许信号,同时在其他外部设备中,向优先级最高的外部设备发出仲裁允许信号。
图4为本发明实施例总线仲裁装置的组成结构示意图,如图4所示,该装置包括仲裁模块41、第一存储模块42和执行模块43;其中,
所述仲裁模块41,用于根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁;
第一存储模块42,用于对所述仲裁模块的仲裁结果进行存储;
所述执行模块43,用于执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
具体地,所述仲裁模块41进行仲裁时的仲裁结果为:仅一个总线访问请求被允许;
所述执行模块43,还用于:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
进一步地,所述装置还包括第二存储模块44,用于对当前接收到的外部设备发送的总线访问请求进行存储。
进一步地,所述执行模块43还包括选择模块431、输出模块432和控制模块433,其中,
所述选择模块431,用于根据仲裁应答信号产生选择信号;并根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求;
所述输出模块432,用于向总线输出所述选择模块所选择的总线访问请求;
所述控制模块433,用于根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更新。
这里,所述控制模块433,还用于根据所述仲裁应答信号控制第二存储模块44所存储的总线访问请求状态的更新。
进一步地,所述装置还包括配置模块45,用于对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求,且仲裁结果为不被允许时,将所述仲裁应答信号由仲裁允许信号变为仲裁不允许信号,同时,与该总线访问请求对应的外部设备不再允许输入新的总线访问请求,直至该总线访问请求被允许。
具体地,所述配置模块45,还用于:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时钟周期数的计数器;
所述执行模块43,还用于:
当某计数器的值超出设定阈值时,向总线输出所述某计数器对应的总线访问请求。
具体地,所述仲裁模块41,还用于:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有其他外部设备的总线访问请求时,则对该持续获得仲裁允许信号的外部设备发出仲裁不允许信号,同时在其他外部设备中,向优先级最高的外部设备发出仲裁允许信号。
这里,所述装置所应用的仲裁准则包括根据总线访问请求的固定优先级进行仲裁、或根据总线访问请求的可配置优先级进行仲裁、或根据轮询方式进行仲裁等。
所述装置可以内置在芯片中。
这里,所述装置可由组合逻辑仲裁电路来实现,所述组合逻辑仲裁电路可以遵循多种仲裁算法,用于根据仲裁准则对所述接收到的请求以及当前所存储的请求进行仲裁,但每次仲裁只允许一个外部设备的请求。
这里,所述第一存储模块42和第二存储模块44均可由寄存器实现。
图5为本发明实施例总线仲裁实现方案框图,在图5中,第一寄存器(REG1)和第二寄存器(REG1)相当于外部设备,所述组合逻辑单元相当于仲裁模块;所述选择器相当于执行模块中的选择模块,所述第三寄存器(REG3)和第四寄存器(REG4)相当于第二存储模块,用于缓存外部请求;所述第五寄存器(REG5)和第六寄存器(REG6)相当于第一存储模块,用于缓存仲裁产生的应答信号。
图5示出了当接收到两个外部设备发起的请求时,对所述两个外部设备的请求的仲裁。如图5所示,REG1和REG2分别发出请求1和请求2,其中,所述请求1和所述请求2分别携带有各自的使能信号信息(Req)、地址信息(addr)和数据信息(data),比如:请求1用“Req1 addr1 data1”表示、请求2用“Req2addr2 data2”表示。当然,请求中还可以包含读写(wr)信息(wr=1为写,wr=0为读),外部设备ID或其他控制信息。
将请求1和请求2分别发送至REG3和REG4进行打拍缓存,打拍后的请求1和请求2分别表示为“Req1_d addr1_d data1_d”、“Req2_d addr2_ddata2_d”;将所述“Req1_d addr1_d data1_d”、“Req2_d addr2_d data2_d”发送至选择器,以待选择器进行选择输出,将所选择的请求输出到总线上。组合逻辑单元对请求1和请求2进行仲裁时,可以遵循多种仲裁准则进行仲裁。这里,所述打拍和现有技术中的打拍相同,在此不再赘述。
为方便描述,请求1用req1表示、请求2用req2表示;打拍后的请求1用req1_d表示、打拍后的请求2用req2_d表示;请求1的仲裁结果用Aready2req1_raw表示、请求2的仲裁结果用Aready2req2_raw表示;打拍后的请求1的仲裁应答信号用aready2req1表示、打拍后的请求2的仲裁应答信号用aready2req2表示。
具体地,对输入组合逻辑单元中的req1/req1_d和req2/req2_d进行仲裁;并将仲裁结果分别输出至REG5和REG6进行打拍缓存,然后将仲裁应答信号发送至选择器,同时,将所述仲裁应答信号发送给相应的请求模块,也就是说,将请求1的仲裁应答信号发送给REG1、请求2的仲裁应答信号发送给REG2,以阻塞输入相应的输出请求的REG1和REG2的更新、以及相应的执行打拍缓存的寄存器REG3和REG4的更新;选择器利用aready2req1和aready2req2产生选择信号,根据该选择信号选择需要的请求到总线上。
具体地,选择器进行选择时所依据的逻辑关系表达式为:
Req=(req1_d&aready2req2)|(aready2req1&req2_d);
Addr=({ADDR_WIDTH{req1_d&aready2req1}}&addr1)|
({ADDR_WIDTH{req2_d&aready2req2}}&addr2);
data=({DATA_WIDTH{req1_d&aready2req1}}&data1)|
({DATA_WIDTH{req2_d&aready2req2}}&data2);
其中,ADDR_WIDTH表示地址的位宽,DATA_WIDTH表示数据的位宽。
具体地,aready2req2=1且req2_d=1时,选择req2的请求地址和请求数据到总线上;aready2req1=1且req1_d=1时,选择req1的请求地址和请求数据到总线上。
下面,先以请求1(req1)的优先级高于请求2(req2)时的固定优先级仲裁为例,来说明本发明实施例的仲裁过程。
假设将aready2req1和aready2req2的初始值均配置为1,表示aready2req1和aready2req2均为高电平信号,即允许请求1和请求2输出到总线上。
具体地,对输入组合逻辑单元中的req1/req1_d和req2/req2_d进行仲裁,具体包括:
(1)、根据访问请求的固定优先级进行仲裁时,组合逻辑单元可用如下逻辑表达式进行仲裁:
aready2req1_raw=1;aready2req2_raw=~((req1&aready2req1|req1_d&~aready2req1)&(req2&aready2req2|req2_d&~aready2req2));
aready2req1<=ready2req1_raw;
aready2req2<=ready2req2_raw;
上式中“<=”表示打1拍后赋值,即缓存1拍后输出。
当aready2req1为0,选择req1_d进行仲裁,否则选择req1进行仲裁;同理,当aready2req2为0,选择req2_d进行仲裁,否则选择req2进行仲裁。
也就是说,在进行仲裁时,若当前有缓存的请求时,先对该缓存的请求进行仲裁。
这里,由于req1优先级高,当req1有效,且req2有效时,aready2req2_raw=0。当aready2req2=0时,阻止req2和req2_d更新,即请求2被保持在REG4中。而由于req1有最高优先级,req1的寄存器REG1和req1_d的寄存器REG3总是允许被更新。
在分层次仲裁时,当前所选择出的请求后还会与后面其他请求进行仲裁;此时后面的仲裁会送一个公共应答信号给req1和req2,可以表示为aready2peri。图6示出了基于本发明的分层次仲裁实现方案框图,选择器1选择输出的请求再与第七寄存器(REG7)输出的请求3进行仲裁,具体仲裁方式与图5所示的仲裁方式相同。
那么,此时,组合逻辑单元可用如下逻辑表达式进行仲裁:
aready2req1<=aready2req1_raw_d&aready2peri;
aready2req2<=aready2req2_raw_d&aready2peri;
ready2req1_raw_d<=aready2req1_raw;
aready2req2_raw_d<=aready2req2_raw。
(2)、根据访问请求的可配置优先级进行仲裁时,组合逻辑单元可用如下逻辑表达式进行仲裁:
Req1_exist=(req1&aready2req1|req1_d&~aready2req1);
Req2_exist=(req2&aready2req2|req2_d&~aready2req2);
aready2req1_raw=~((Req2_exist&&(req2_priority>req1_priority)&&Req1_exist);
aready2req2_raw=~((Req1_exist&&(req1_priority>req2_priority)&&Req2_exist);
这里,req1_priority和req2_priority均为优先级参数寄存器,可以由软件配置;Req1_exist、Req2_exist分别表示进行仲裁时对req1/req1_d和req2/req2_d选择出的请求。
根据上述组合逻辑单元的逻辑关系表达式进行仲裁时,会存在以下缺点:在高优先级模块连续请求总线时,低优先级模块一直被阻塞,造成饥饿。
(3)、如需要考虑对总线的公平占有,需要先来先响应机制,可通过下述方式来实现。
具体地,为每个请求分别增加一个计数器,累计其被阻塞的时钟周期数。
组合逻辑单元可用如下逻辑表达式进行仲裁:
aready2req1_raw=
~((Req2_exist&&(Block_num_req2+(req2_priority>req1_priority)>Block_num_req1)&&Req1_exist);
aready2req2_raw=
~((Req1_exist&&(Block_num_req1+(req1_priority>req2_priority)>Block_num_req2)&&Req2_exist);
其中,Block_num_req1,Block_num_req2分别表示req1和req2被阻塞的次数。
应用上述逻辑关系表达式,既能支持可配置优先级,又能支持先来先请求。
当然图5中的仲裁逻辑部分实现方式并不仅为以上所举的三种仲裁方式,还可以支持其他仲裁方式,比如:最少使用(LRU,Least Recently Used)、时分复用、随机争用等常用的仲裁算法。
由此可见,本发明实施例能提高电路频率主要原因在于:返回各外部设备的仲裁应答信号是存储一拍后的仲裁应答信号;仲裁电路与执行仲裁的电路(即图5中的选择器)不在同一时钟周期。本发明能支持每个时钟周期完成一个请求的原因之一在于:将各外部设备的仲裁应答信号的初始值均设为1,即初始仲裁请求都是允许请求;如图5中的REG3和REG4是用于缓存请求的寄存器。
图7示出了图5中所示的总线仲裁实现方案的请求时序图。显然,从图7可以看出,本发明能够支持连续的请求发射,进而具备了较高的传输效率,能满足请求效率要求;同时,经寄存器打拍出来的仲裁应答信号aready具有好的时序特性,能够提高总线的总体运行频率,从而支持片上高速互连,能满足高速互连需求。
综上所述可见,本发明的总线仲裁技术,支持每时钟1个请求;并且,由于仲裁应答信号为打拍输出且时序好,由于仲裁逻辑与执行逻辑分开,不在同一时钟周期完成,支持高速片上总线,支持处理器的请求仲裁,支持很多模块请求仲裁。本发明的总线仲裁技术支持各种仲裁准则,兼容性好,适合各种片内总线仲裁结构。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (14)
1.一种总线仲裁方法,其特征在于,该方法包括:
根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁,并对仲裁结果进行存储;
执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
2.根据权利要求1所述的方法,其特征在于,所述仲裁结果为:仅一个总线访问请求被允许;
所述向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号,包括:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
对所述当前接收到的外部设备发送的总线访问请求进行存储。
4.根据权利要求1所述的方法,其特征在于,所述执行所存储的仲裁结果,包括:
根据仲裁应答信号产生选择信号;
根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求,并向总线输出该总线访问请求;
根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更新。
5.根据权利要求1所述的方法,其特征在于,所述根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁之前,该方法还包括:
对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求,且仲裁结果为不被允许时,将所述仲裁应答信号由仲裁允许信号变为仲裁不允许信号,同时,与该总线访问请求对应的外部设备不再允许输入新的总线访问请求,直至该总线访问请求被允许。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时钟周期数的计数器;
当某计数器的值超出设定阈值时,向总线输出所述某计数器对应的总线访问请求。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有其他外部设备的总线访问请求时,则对该持续获得仲裁允许信号的外部设备发出仲裁不允许信号,同时在其他外部设备中,向优先级最高的外部设备发出仲裁允许信号。
8.一种总线仲裁装置,该装置包括仲裁模块、第一存储模块和执行模块;其中,
所述仲裁模块,用于根据仲裁准则对当前接收到的外部设备发送的总线访问请求和/或已存储的总线访问请求进行仲裁;
第一存储模块,用于对所述仲裁模块的仲裁结果进行存储;
所述执行模块,用于执行所存储的仲裁结果,并向当前发送总线访问请求和/或发送已存储总线访问请求的外部设备发送相应的仲裁应答信号。
9.根据权利要求8所述的装置,其特征在于,所述仲裁模块进行仲裁时的仲裁结果为:仅一个总线访问请求被允许;
所述执行模块,还用于:
向总线访问请求被允许的外部设备发送仲裁允许信号;
向总线访问请求不被允许外部设备发送仲裁不允许信号。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括第二存储模块,用于对当前接收到的外部设备发送的总线访问请求进行存储。
11.根据权利要求8所述的装置,其特征在于,所述执行模块还包括选择模块、输出模块和控制模块,其中,
所述选择模块,用于根据仲裁应答信号产生选择信号;并根据所述选择信号在所存储的总线访问请求中选择输出到总线上的总线访问请求;
所述输出模块,用于向总线输出所述选择模块所选择的总线访问请求;
所述控制模块,用于根据所述仲裁应答信号控制外部设备输出总线访问请求的状态的更新。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括配置模块,用于对外部设备的仲裁应答信号预先配置为仲裁允许信号;
当外部设备有总线访问请求,且仲裁结果为不被允许时,将所述仲裁应答信号由仲裁允许信号变为仲裁不允许信号,同时,与该总线访问请求对应的外部设备不再允许输入新的总线访问请求,直至该总线访问请求被允许。
13.根据权利要求8所述的装置,其特征在于,所述配置模块,还用于:
为每个总线访问请求配置用于累计所述每个总线访问请求被阻塞的时钟周期数的计数器;
所述执行模块,还用于:
当某计数器的值超出设定阈值时,向总线输出所述某计数器对应的总线访问请求。
14.根据权利要求8所述的装置,其特征在于,所述仲裁模块,还用于:
确定某外部设备在预设的时间周期内持续获得仲裁允许信号且存储有其他外部设备的总线访问请求时,则对该持续获得仲裁允许信号的外部设备发出仲裁不允许信号,同时在其他外部设备中,向优先级最高的外部设备发出仲裁允许信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310343969.4A CN104346303A (zh) | 2013-08-08 | 2013-08-08 | 一种总线仲裁方法及装置 |
PCT/CN2014/077835 WO2014169876A1 (zh) | 2013-08-08 | 2014-05-19 | 一种总线仲裁方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310343969.4A CN104346303A (zh) | 2013-08-08 | 2013-08-08 | 一种总线仲裁方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104346303A true CN104346303A (zh) | 2015-02-11 |
Family
ID=51730835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310343969.4A Withdrawn CN104346303A (zh) | 2013-08-08 | 2013-08-08 | 一种总线仲裁方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104346303A (zh) |
WO (1) | WO2014169876A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155971A (zh) * | 2016-07-04 | 2016-11-23 | 锐捷网络股份有限公司 | I2c总线的仲裁方法及装置 |
WO2018049821A1 (zh) * | 2016-09-19 | 2018-03-22 | 深圳市中兴微电子技术有限公司 | 请求源响应的仲裁方法、装置及计算机存储介质 |
CN112702246A (zh) * | 2019-10-23 | 2021-04-23 | 英飞凌科技股份有限公司 | 用于单线数字总线的设备、主设备、传感器以及相应方法 |
CN115080482A (zh) * | 2022-06-01 | 2022-09-20 | 海光信息技术股份有限公司 | 独立式仲裁方法及相关装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491680A (zh) * | 2020-12-10 | 2021-03-12 | 上海镭隆科技发展有限公司 | 一种新型中间层fpga总线仲裁机制及其实施方法 |
CN117290272B (zh) * | 2023-11-23 | 2024-02-23 | 井芯微电子技术(天津)有限公司 | PCIe Switch及其配置通路的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344871A (zh) * | 2008-08-20 | 2009-01-14 | 北京中星微电子有限公司 | 一种保证访问先后顺序的总线仲裁单元及其实现方法 |
CN102736997A (zh) * | 2011-04-01 | 2012-10-17 | 中兴通讯股份有限公司 | 一种片上互联总线的仲裁方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629177B1 (en) * | 1999-12-27 | 2003-09-30 | Intel Corporation | Arbitrating requests on computer buses |
CN1366240A (zh) * | 2001-01-18 | 2002-08-28 | 深圳市中兴集成电路设计有限责任公司 | 实现多总线到一总线进行不间断流水切换的方法和装置 |
US7305510B2 (en) * | 2004-06-25 | 2007-12-04 | Via Technologies, Inc. | Multiple master buses and slave buses transmitting simultaneously |
-
2013
- 2013-08-08 CN CN201310343969.4A patent/CN104346303A/zh not_active Withdrawn
-
2014
- 2014-05-19 WO PCT/CN2014/077835 patent/WO2014169876A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344871A (zh) * | 2008-08-20 | 2009-01-14 | 北京中星微电子有限公司 | 一种保证访问先后顺序的总线仲裁单元及其实现方法 |
CN102736997A (zh) * | 2011-04-01 | 2012-10-17 | 中兴通讯股份有限公司 | 一种片上互联总线的仲裁方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155971A (zh) * | 2016-07-04 | 2016-11-23 | 锐捷网络股份有限公司 | I2c总线的仲裁方法及装置 |
WO2018049821A1 (zh) * | 2016-09-19 | 2018-03-22 | 深圳市中兴微电子技术有限公司 | 请求源响应的仲裁方法、装置及计算机存储介质 |
CN112702246A (zh) * | 2019-10-23 | 2021-04-23 | 英飞凌科技股份有限公司 | 用于单线数字总线的设备、主设备、传感器以及相应方法 |
US11720505B2 (en) | 2019-10-23 | 2023-08-08 | Infineon Technologies Ag | Device for a single wire digital bus, master device, sensor, and method to assign addresses to multiple devices on a single wire digital bus |
CN115080482A (zh) * | 2022-06-01 | 2022-09-20 | 海光信息技术股份有限公司 | 独立式仲裁方法及相关装置 |
CN115080482B (zh) * | 2022-06-01 | 2023-04-11 | 海光信息技术股份有限公司 | 独立式仲裁方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2014169876A1 (zh) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346303A (zh) | 一种总线仲裁方法及装置 | |
Lahiri et al. | LOTTERYBUS: A new high-performance communication architecture for system-on-chip designs | |
Akesson et al. | Architectures and modeling of predictable memory controllers for improved system integration | |
Daneshtalab et al. | Memory-efficient on-chip network with adaptive interfaces | |
Tran et al. | Achieving high-performance on-chip networks with shared-buffer routers | |
CN103543954A (zh) | 一种数据存储管理方法和装置 | |
CN109902043A (zh) | 一种基于fpga的国密算法加速处理系统 | |
US9798686B2 (en) | Slave side bus arbitration | |
CN109800558B (zh) | 密码服务板卡以及密码服务装置 | |
Yang et al. | Design of a pre-scheduled data bus for advanced encryption standard encrypted system-on-chips | |
Sadrosadati et al. | An efficient dvs scheme for on-chip networks using reconfigurable virtual channel allocators | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
Daneshtalab et al. | A systematic reordering mechanism for on-chip networks using efficient congestion-aware method | |
Gupta et al. | Efficient bus arbitration protocol for SoC design | |
CN113886305B (zh) | 一种基于总线的仲裁方法、系统、存储介质及设备 | |
CN109542351A (zh) | 一种固态硬盘的功耗控制方法及固态硬盘 | |
CN115238642A (zh) | 一种基于FPGA的外设总线的crossbar设计系统和方法 | |
CN111078598B (zh) | 存储模块数据访问控制方法、数据访问装置和芯片 | |
Li et al. | Latency criticality aware on-chip communication | |
Leary et al. | Performance and resource optimization of NoC router architecture for master and slave IP cores | |
Hwang et al. | Implementation of a self-motivated arbitration scheme for the multilayer AHB busmatrix | |
Monemi et al. | An enhanced dynamic weighted incremental technique for QoS support in NoC | |
Doifode et al. | Dynamic lottery bus arbiter for shared bus system on chip: a design approach with VHDL | |
CN113435148B (zh) | 一种参数化缓存数字电路微架构及其设计方法 | |
Etman et al. | Analysis of synchronous-asynchronous NoC for the dark silicon era |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20150211 |