会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 请求书 / 请求 / 请求源响应的仲裁方法及装置

请求源响应的仲裁方法及装置

阅读:32发布:2021-02-23

IPRDB可以提供请求源响应的仲裁方法及装置专利检索,专利查询,专利分析的服务。并且本发明实施例公开了一种请求源响应的仲裁方法,包括:设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;将所述请求源发送的请求命令写入先入先出队列FIFO中;在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。本发明实施例同时公开了一种请求源响应的仲裁装置。,下面是请求源响应的仲裁方法及装置专利的具体信息内容。

1.一种请求源响应的仲裁方法,其特征在于,所述方法包括:设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;

将所述请求源发送的请求命令写入先入先出队列FIFO中;

在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;

根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。

2.根据权利要求1所述的方法,其特征在于,在全部请求源中确定出最先响应的一个请求源之后,所述方法还包括:在所述请求源需要连续访问时,根据所述请求源的连续访问次数设置所述请求源的权重参数;所述请求源的权重参数存储于所述FIFO中。

3.根据权利要求1所述的方法,其特征在于,

所述请求参数门限值:包括等待响应周期数门限值、请求命令数门限值;

所述请求参数值:包括等待响应周期数、请求命令数;

所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数;

所述第二响应函数为等待响应周期数与请求命令数的函数。

4.根据权利要求3所述的方法,其特征在于,所述根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源包括:在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值,若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则将这一个请求源确定为最先响应;

若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则在这两个或两个以上请求源中判断最高优先级参数是否相等,若最高优先级参数不相等,则在这两个或两个以上请求源中确定出优先级参数最高的请求源作为最先响应;

若最高优先级参数相等,则在这最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应;

若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则在全部请求源中判断是否有相等的响应函数值,若没有相等的响应函数值,则在全部请求源中确定出响应函数值最高的请求源作为最先响应;

若有相等的响应函数值,则在响应函数值相等的请求源中判断最高优先级参数是否相等,若最高优先级参数不相等,则在这响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应;

若最高优先级参数相等,则在这响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应。

5.根据权利要求3所述的方法,其特征在于,所述在所述FIFO中得到所述请求源的请求参数值,包括:统计在所述FIFO中存储的所述请求源的请求命令数;

所述请求源向所述FIFO中写入请求命令开始时,统计所述请求源的等待响应周期数,直到所述请求源得到响应为止。

6.一种请求源响应的仲裁装置,其特征在于,所述装置包括:缓存模块,用于设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;

写入模块,用于将所述请求源发送的请求命令写入先入先出队列FIFO中;

所述缓存模块,还用于在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;

仲裁模块,用于根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。

7.根据权利要求6所述的装置,其特征在于,所述缓存模块还用于:在所述请求源需要连续访问时,根据所述请求源的连续访问次数设置所述请求源的权重参数;所述请求源的权重参数存储于所述FIFO中。

8.根据权利要求6所述的装置,其特征在于,

所述请求参数门限值:包括等待响应周期数门限值、请求命令数门限值;

所述请求参数值:包括等待响应周期数、请求命令数;

所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数;

所述第二响应函数为等待响应周期数与请求命令数的函数。

9.根据权利要求8所述的装置,其特征在于,所述仲裁模块,具体用于:在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值;

若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则将这一个请求源确定为最先响应;

若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则在这两个或两个以上请求源中判断最高优先级参数是否相等;

若最高优先级参数不相等,则在这两个或两个以上请求源中确定出优先级参数最高的请求源作为最先响应;

若最高优先级参数相等,则在这最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应;

若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则在全部请求源中判断是否有相等的响应函数值;

若没有相等的响应函数值,则在全部请求源中确定出响应函数值最高的请求源作为最先响应;

若有相等的响应函数值,则在响应函数值相等的请求源中判断最高优先级参数是否相等;

若最高优先级参数不相等,则在这响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应;

若最高优先级参数相等,则在这响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应。

10.根据权利要求8所述的装置,其特征在于,所述缓存模块,还具体用于:统计在所述FIFO中存储的所述请求源的请求命令数;

所述请求源向所述FIFO中写入请求命令开始时,统计所述请求源的等待响应周期数,直到所述请求源得到响应为止。

说明书全文

请求源响应的仲裁方法及装置

技术领域

[0001] 本发明涉及通信与SoC芯片设计领域,尤其涉及一种请求源响应的仲裁方法及装置。

背景技术

[0002] 随着设计与制造技术的发展,集成电路设计从晶体管的集成发展到逻辑门的集成,又发展到了如今的片上系统(System-on-a-Chip,SoC)设计技术;采用SoC芯片进行产品开发,能够降低系统板上因信号在多个芯片之间进出带来的延迟而导致的性能局限,能够有效地降低电子及信息产品的开发成本,缩短开发周期,提高系统的可靠性及产品的竞争力。
[0003] SoC芯片上的各请求源能够对存储器进行独立的访问,实际中,在同一时刻,很可能会存在多个请求源对同一存储器的访问,而一般情况下,存储器在同一时刻只允许一个请求源对其进行读写访问,这时,就需要采用一定的仲裁方法对这些请求源进行仲裁,均衡分配各请求源的响应且兼顾有优先访问权的请求;目前,仲裁方法主要包括:通过轮询方式进行响应、根据指定的各请求源的优先级顺序进行访问、根据请求源发送请求的先后顺序进行响应;采用这些方法进行仲裁时,忽视了各请求源的请求频率,响应等待的时间较长,响应分配不均衡,极大的浪费了总线资源。

发明内容

[0004] 有鉴于此,本发明实施例期望提供一种请求源响应的仲裁方法及装置,以实现对各请求源的响应进行实时、动态、均衡和高效的调度管理,充分利用总线资源。
[0005] 为达到上述目的,本发明的技术方案是这样实现的:
[0006] 本发明提供一种请求源响应的仲裁方法,所述方法包括:
[0007] 设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;
[0008] 将所述请求源发送的请求命令写入先入先出队列FIFO中;
[0009] 在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;
[0010] 根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。
[0011] 上述方案中,在全部请求源中确定出最先响应的一个请求源之后,所述方法还包括:
[0012] 在所述请求源需要连续访问时,根据所述请求源的连续访问次数设置所述请求源的权重参数;所述请求源的权重参数存储于所述FIFO中。
[0013] 上述方案中,所述请求参数门限值:包括等待响应周期数门限值、请求命令数门限值;
[0014] 所述请求参数值:包括等待响应周期数、请求命令数;
[0015] 所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数;
[0016] 所述第二响应函数为等待响应周期数与请求命令数的函数。
[0017] 上述方案中,所述根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源包括:
[0018] 在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值;
[0019] 若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则将这一个请求源确定为最先响应;
[0020] 若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则在这两个或两个以上请求源中判断最高优先级参数是否相等;
[0021] 若最高优先级参数不相等,则在这两个或两个以上请求源中确定出优先级参数最高的请求源作为最先响应;
[0022] 若最高优先级参数相等,则在这最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应;
[0023] 若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则在全部请求源中判断是否有相等的响应函数值;
[0024] 若没有相等的响应函数值,则在全部请求源中确定出响应函数值最高的请求源作为最先响应;
[0025] 若有相等的响应函数值,则在响应函数值相等的请求源中判断最高优先级参数是否相等;
[0026] 若最高优先级参数不相等,则在这响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应;
[0027] 若最高优先级参数相等,则在这响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应。
[0028] 上述方案中,所述在所述FIFO中得到所述请求源的请求参数值,包括:
[0029] 统计在所述FIFO中存储的所述请求源的请求命令数;
[0030] 所述请求源向所述FIFO中写入请求命令开始时,统计所述请求源的等待响应周期数,直到所述请求源得到响应为止。
[0031] 本发明提供一种请求源响应的仲裁装置,所述装置包括:
[0032] 缓存模块,用于设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;
[0033] 写入模块,用于将所述请求源发送的请求命令写入先入先出队列FIFO中;
[0034] 所述缓存模块,还用于在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;
[0035] 仲裁模块,用于根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。
[0036] 上述方案中,所述缓存模块还用于:
[0037] 在所述请求源需要连续访问时,根据所述请求源的连续访问次数设置所述请求源的权重参数;所述请求源的权重参数存储于所述FIFO中。
[0038] 上述方案中,所述请求参数门限值:包括等待响应周期数门限值、请求命令数门限值;
[0039] 所述请求参数值:包括等待响应周期数、请求命令数;
[0040] 所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数;
[0041] 所述第二响应函数为等待响应周期数与请求命令数的函数。
[0042] 上述方案中,所述仲裁模块,具体用于:
[0043] 在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值;
[0044] 若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则将这一个请求源确定为最先响应;
[0045] 若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则在这两个或两个以上请求源中判断最高优先级参数是否相等,
[0046] 若最高优先级参数不相等,则在这两个或两个以上请求源中确定出优先级参数最高的请求源作为最先响应;
[0047] 若最高优先级参数相等,则在这最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应;
[0048] 若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则在全部请求源中判断是否有相等的响应函数值;
[0049] 若没有相等的响应函数值,则在全部请求源中确定出响应函数值最高的请求源作为最先响应;
[0050] 若有相等的响应函数值,则在响应函数值相等的请求源中判断最高优先级参数是否相等;
[0051] 若最高优先级参数不相等,则在这响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应;
[0052] 若最高优先级参数相等,则在这响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应。
[0053] 上述方案中,所述缓存模块,还具体用于:
[0054] 统计在所述FIFO中存储的所述请求源的请求命令数;
[0055] 所述请求源向所述FIFO中写入请求命令开始时,统计所述请求源的等待响应周期数,直到所述请求源得到响应为止。
[0056] 本发明实施例所提供的请求源响应的仲裁方法及装置,通过设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;将所述请求源发送的请求命令写入先入先出队列FIFO中;在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源;实现了对各请求源的响应进行实时、动态、均衡和高效的调度管理,充分利用了总线资源。

附图说明

[0057] 图1为本发明请求源响应的仲裁方法实施例一的流程图;
[0058] 图2为本发明请求源响应的仲裁方法实施例二的流程图;
[0059] 图3为本发明请求源响应的仲裁过程示意图;
[0060] 图4为本发明请求源响应的仲裁装置实施例的结构示意图。

具体实施方式

[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0062] 实施例一
[0063] 图1为本发明请求源响应的仲裁方法实施例一的流程图;如图1所示,本发明实施例提供的一种请求源响应的仲裁方法可以包括如下步骤:
[0064] 步骤101:设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值。
[0065] 首先,为每一个请求源设置请求参数门限值和优先级参数,并将设置的请求参数门限值代入第一响应函数中,计算得到响应函数门限值;其中,所述请求参数门限值包括等待响应周期数门限值和请求命令数门限值;所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数。
[0066] 例如,设置请求源1的等待响应周期数门限值为N1max,请求命令数门限值为M1max,第一响应函数为f(Mmax,Nmax)=Mmax×Nmax,优先级参数为P1,可计算得到请求源1的响应函数门限值为f(M1max,N1max)=M1max×N1max。
[0067] 步骤102:将所述请求源发送的请求命令写入先入先出队列FIFO中。
[0068] 请求源发送请求命令,并将请求命令写入自己的先入先出队列(First Input First Output,FIFO)中进行保存。
[0069] 步骤103:在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值。
[0070] 某一时刻,从请求源的FIFO中获取所述请求源的请求参数值,即获取当前请求源的FIFO中的等待响应周期数与请求命令数,然后将获取到的所述等待响应周期数与请求命令数代入第二响应函数中,进而得到响应函数值。
[0071] 例如,某一时刻从请求源1的FIFO中获取到的等待响应周期数为N1,获取到的请求命令数为M1,将M1和N1代入第二响应函数f(M,N)=M×N中,可得到请求源1的响应函数值为f(M1,N1)=M1×N1。
[0072] 步骤104:根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。
[0073] 仲裁器根据获取到的响应函数值、响应函数门限值以及设置的优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源进行响应。
[0074] 例如,某一时刻,有三个请求源:请求源1、请求源2、请求源3,同时发起请求,仲裁器获取到请求源1、请求源2和请求源3的响应函数值、响应函数门限值以及设置的优先级参数后,分别判断请求源1、请求源2和请求源3的响应函数值是否大于等于各自的响应函数门限值,并根据判断结果确定出最先响应的一个请求源;如果在请求源1、请求源2和请求源3中只有请求源1的响应函数值大于等于响应函数门限值,则响应请求源1;如果仅有请求源1和请求源2的响应函数值均大于等于各自的响应函数门限值,则响应这两个请求源中优先级参数较高的请求源;如果这三个请求源的响应函数值均小于各自的响应函数门限值,则响应响应函数值最高的请求源。
[0075] 这里需要说明的是,在本发明实施例中,第一响应函数与第二响应函数可以按照实际需求进行设置,在此并不加以限制。
[0076] 本发明实施例提供的请求源响应的仲裁方法,通过设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;将所述请求源发送的请求命令写入先入先出队列FIFO中;在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源;实现了对各请求源的响应进行实时、动态、均衡和高效的调度管理,充分利用了总线资源。
[0077] 实施例二
[0078] 图2为本发明请求源响应的仲裁方法实施例二的流程图;如图2所示,本发明实施例提供的一种请求源响应的仲裁方法可以包括如下步骤:
[0079] 步骤201:设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值。
[0080] 首先,为每一个请求源设置请求参数门限值和优先级参数,并将设置的请求参数门限值代入第一响应函数中,计算得到响应函数门限值;其中,所述请求参数门限值包括等待响应周期数门限值和请求命令数门限值;所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数。
[0081] 例如,可以设置请求源1、请求源2的请求命令数门限值Mmax分别为6、7,等待响应周期数门限值Nmax分别为10、8,第一响应函数设置为f(Mmax,Nmax)=Mmax×Nmax,优先级参数分别为2、1,代表请求源1的优先级高于请求源2的优先级,根据第一响应函数可计算得到请求源1的响应函数门限值为60,请求源2的响应函数门限值为56。
[0082] 步骤202:将请求源发送的请求命令写入FIFO中。
[0083] 每个请求源均有一个用来保存请求命令的FIFO,各请求源发送请求命令,并将请求命令写入各自的FIFO中,这样,每个请求源都不必等待上一个请求命令得到响应就可以继续发送下一个请求命令。
[0084] 例如,请求源1与请求源2发送请求命令,这时,请求源1将请求命令存入自己的FIFO中,请求源2将请求命令存入请求源2的FIFO中,请求命令存入之后不必考虑其是否得到响应便可以发送下一个请求命令。
[0085] 步骤203:从FIFO中获取请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值。
[0086] 从请求源向FIFO中写入请求命令开始时,统计所述请求源的等待响应周期数,直到该请求源得到响应为止;同时,统计在所述FIFO中存储的所述请求源的请求命令数;获取到的等待响应周期数和请求命令数即为请求源的请求参数值,然后将该请求参数值代入第二响应函数便可得到响应函数值。
[0087] 例如,某一时刻获取到请求源1的等待响应周期数N为6,FIFO中存储的请求命令数M为3,设置的第二响应函数为f(M,N)=M×N,则可得到请求源1的响应函数值为18。
[0088] 步骤204:在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值。
[0089] 在获得全部请求源的响应函数门限值与响应函数值之后,分别判断每个请求源的响应函数值是否大于等于响应函数门限值,具体的如下所示:
[0090] S1:若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则执行步骤205至步骤209。
[0091] S2:若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则执行步骤210至步骤212。
[0092] S3:若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则执行步骤213。
[0093] 步骤205:在全部请求源中判断是否有相等的响应函数值。
[0094] 当全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值时,在全部请求源中判断是否有相等的响应函数值;若没有相等的响应函数值,则执行步骤206后执行步骤214;若有相等的响应函数值,则执行步骤207。
[0095] 步骤206:在全部请求源中确定出响应函数值最高的请求源作为最先响应。
[0096] 在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,而且该全部请求源的响应函数值均不相等时,将全部请求源中响应函数值最高的请求源确定为最先响应。
[0097] 步骤207:在响应函数值相等的请求源中判断最高优先级参数是否相等。
[0098] 在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,但该全部请求源中存在相等的响应函数值时,在响应函数值相等的请求源中判断最高优先级参数是否相等;若最高优先级参数不相等,则执行步骤208后执行步骤214;若最高优先级参数相等,则执行步骤209后执行步骤214。
[0099] 步骤208:在响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应。
[0100] 当全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,但该全部请求源中存在相等的响应函数值,而且这些响应函数值相等的请求源中的最高优先级参数不相等时,将这些响应函数值相等的请求源中优先级参数最高的请求源确定为最先响应。
[0101] 步骤209:在响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应。
[0102] 当全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,但该全部请求源中存在相等的响应函数值,而且这些响应函数值相等的请求源中的最高优先级参数相等时,将这些响应函数值相等的请求源中请求访问时间最早的请求源确定为最先响应。
[0103] 步骤210:判断最高优先级参数是否相等。
[0104] 当全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值时,在这两个或两个以上请求源中判断最高优先级参数是否相等;若最高优先级参数不相等,则执行步骤211后执行步骤214;若最高优先级参数相等,则执行步骤212后执行步骤214。
[0105] 步骤211:确定出优先级参数最高的请求源作为最先响应。
[0106] 当全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,并且,这两个或两个以上请求源中的最高优先级参数不相等时,将这两个或两个以上请求源中优先级参数最高的请求源作为最先响应。
[0107] 步骤212:在最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应。
[0108] 当全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,并且,这两个或两个以上请求源中的最高优先级参数相等时,在最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应。
[0109] 步骤213:确定响应函数值大于等于响应函数门限值的请求源为最先响应。
[0110] 当在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则将这一请求源确定为最先响应。
[0111] 步骤214:根据请求源的连续访问次数设置所述请求源的权重参数。
[0112] 在请求源需要进行连续访问时,根据所述请求源的连续访问次数设置其权重参数,并存储于所述FIFO中;当请求源获得最先响应权限时,按照设置的权重参数值进行连续访问,每访问一次,该权重参数对应减1,直到减为0,才会重新发起对请求源的仲裁,即只有获得响应的请求源完成连续访问后,才会重新对所有请求源进行仲裁。
[0113] 例如,某一时刻,请求源1获得了最先响应权限,其权重参数为5,等请求源1连续访问5次之后,才会再次发起对所有请求源的仲裁。
[0114] 这里需要说明的是,在本发明实施例中,第一响应函数与第二响应函数可以按照实际需求进行设置,在此并不加以限制。
[0115] 为了更加体现出本发明的目的,在上述实施例的基础上,进一步的举例说明。
[0116] 图3为本发明请求源响应的仲裁过程示意图,如图3所示,以三个请求源为例,请求源1、请求源2和请求源3同时发起请求命令,每个请求源将请求命令发送并保存在各自的FIFO中,这三个请求源的FIFO深度为10;分别设置三个请求源的请求参数门限值、优先级参数以及第一响应函数与第二响应函数如表1所示:
[0117] 表1
[0118]
[0119] 其中,请求源3需要优先处理,请求源1与请求源2具有相同的优先级;运算器则根据请求命令数门限值Mmax和等待响应周期数门值Nmax,即请求参数门限值,以及第一响应函数f(Mmax,Nmax)=Mmax×Nmax计算得到请求源1、请求源2和请求源3的响应函数门限值分别为70、70、20,进而将计算结果、第二响应函数及优先级参数发送给仲裁部分进行仲裁。
[0120] 某一时刻,从请求源1的FIFO中得到请求源1的请求命令数M=5,等待响应周期数N=7,因此,请求源1的响应函数值为35,小于其响应函数门限值70;同一时刻,从请求源2的FIFO中获取到请求源2的请求命令数M=6,等待响应周期数N=4,因此,请求源2的响应函数值为24,小于其响应函数门限值70;同一时刻,从请求源3的FIFO中获取到请求源3的请求命令数M=2,等待响应周期数N=4,因此请求源3的响应函数值为8,小于其响应函数门限值20;由于这一时刻三个请求源中没有一个请求源的响应函数值大于等于响应函数门限值,因此根据其响应函数值的大小确定进行响应的请求源;由于这三个请求源的响应函数值均不相同,响应优先级顺序为:请求源1>请求源2>请求源3,因此响应请求源1;同时,请求源1的等待响应周期数被清为0重新开始计数。
[0121] 过一定的时间后,如2s,重新获取到三个请求源的请求命令数M分别为5、6、4,等待响应周期数N分别为8、9、6,因此得到三个请求源的响应函数值分别为40、54、24;在这一时刻,请求源1和请求源2的响应函数值依然小于各自的响应函数门限值,而请求源3的响应函数值则大于其响应函数门限值,即在这三个请求源中只有请求源3的响应函数值大于响应函数门限值,因此响应请求源3。
[0122] 过一定的时间后,如3s,获取到请求源2和请求源3的响应函数值均大于其各自的响应函数门限值,而请求源1的响应函数值小于其响应函数门限值,即在这三个请求源中有两个请求源的响应函数值大于等于响应函数门限值,因此根据这两个请求源的优先级参数确定最先响应的请求源;由于请求源2的优先级参数为1,请求源3的优先级参数为2,即优先级顺序为:请求源3>请求源2,因此响应请求源3。
[0123] 过一定的时间后,如1s,获取到请求源1和请求源2的响应函数值均大于其各自的响应函数门限值,而请求源3的响应函数值小于其响应函数门限值,即在这三个请求源中有两个请求源的响应函数值大于等于响应函数门限值,因此根据这两个请求源的优先级参数确定最先响应的请求源,但请求源1和请求源2的优先级参数相同,均为1,因此需要按照轮询的方式依次进行响应,即请求源1的请求访问时间最早,因此最先响应请求源1。
[0124] 进一步的,假如请求源1的访问是通过总线协议(Advanced  eXtensible Interface,AXI)进行的,因此支持突发burst访问;某一时刻,请求源1获得响应权限,且根据AXI协议的burst长度AWLEN/ARLEN来设置权重参数,假设AWLEN/ARLEN=9,则设置权重参数为10,因此,请求源1获得了连续10次的访问权限;等请求源1连续访问10次以后,才会再次发起对这三个请求源的仲裁。
[0125] 本发明实施例提供的请求源响应的仲裁方法,通过设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;将请求源发送的请求命令写入FIFO中;从FIFO中获取请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值;若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则在全部请求源中判断是否有相等的响应函数值;若没有相等的响应函数值,则在全部请求源中确定出响应函数值最高的请求源作为最先响应;若有相等的响应函数值,则在响应函数值相等的请求源中判断最高优先级参数是否相等;若最高优先级参数不相等,则在响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应;若最高优先级参数相等,则在响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应;若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则判断最高优先级参数是否相等;若最高优先级参数不相等,则确定出优先级参数最高的请求源作为最先响应;若最高优先级参数相等,则在最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应;若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则确定响应函数值大于等于响应函数门限值的请求源为最先响应;根据请求源的连续访问次数设置所述请求源的权重参数;实现了对各请求源的响应进行实时、动态、均衡和高效的调度管理,充分利用了总线资源。
[0126] 实施例三
[0127] 图4为本发明请求源响应的仲裁装置实施例的结构示意图;如图4所示,本发明实施例提供的请求源响应的仲裁装置04包括:缓存模块41,写入模块42,仲裁模块43;其中,[0128] 所述缓存模块41,用于设置请求源的请求参数门限值、优先级参数,并根据所述请求参数门限值与第一响应函数得到响应函数门限值;
[0129] 其中,所述请求参数门限值包括:等待响应周期数门限值、请求命令数门限值;所述第一响应函数为等待响应周期数门限值与请求命令数门限值的函数;
[0130] 所述写入模块42,用于将所述请求源发送的请求命令写入先入先出队列FIFO中;
[0131] 所述缓存模块41,还用于在所述FIFO中得到所述请求源的请求参数值,并根据所述请求参数值与第二响应函数得到响应函数值;
[0132] 其中,所述请求参数值包括:等待响应周期数、请求命令数;所述第二响应函数为等待响应周期数与请求命令数的函数;
[0133] 所述仲裁模块43,用于根据所述响应函数值、响应函数门限值、优先级参数之间的预设规则,在全部请求源中确定出最先响应的一个请求源。
[0134] 进一步的,所述缓存模块41,还用于在所述请求源需要连续访问时,根据所述请求源的连续访问次数设置所述请求源的权重参数;
[0135] 其中,所述请求源的权重参数存储于所述FIFO中。
[0136] 进一步的,所述仲裁模块43,具体用于:在全部请求源中分别判断每个请求源的响应函数值是否大于等于响应函数门限值。
[0137] 若在全部请求源中只有一个请求源的响应函数值大于等于响应函数门限值,则将这一个请求源确定为最先响应;
[0138] 若在全部请求源中有两个或两个以上请求源的响应函数值大于等于响应函数门限值,则在这两个或两个以上请求源中判断最高优先级参数是否相等,
[0139] 若最高优先级参数不相等,则在这两个或两个以上请求源中确定出优先级参数最高的请求源作为最先响应;
[0140] 若最高优先级参数相等,则在这最高优先级参数相等的请求源中确定出请求访问时间最早的请求源作为最先响应;
[0141] 若在全部请求源中没有一个请求源的响应函数值大于等于响应函数门限值,则在全部请求源中判断是否有相等的响应函数值;
[0142] 若没有相等的响应函数值,则在全部请求源中确定出响应函数值最高的请求源作为最先响应;
[0143] 若有相等的响应函数值,则在响应函数值相等的请求源中判断最高优先级参数是否相等;
[0144] 若最高优先级参数不相等,则在这响应函数值相等的请求源中确定出优先级参数最高的请求源作为最先响应;
[0145] 若最高优先级参数相等,则在这响应函数值相等的请求源中确定出请求访问时间最早的请求源作为最先响应。
[0146] 进一步的,所述缓存模块41,还具体用于:统计在所述FIFO中存储的所述请求源的请求命令数;所述请求源向所述FIFO中写入请求命令开始时,统计所述请求源的等待响应周期数,直到所述请求源得到响应为止。
[0147] 本实施例的装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0148] 在实际应用中,所述缓存模块41,写入模块42,仲裁模块43均可由位于请求源响应的仲裁装置04中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
[0149] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0150] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0151] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0152] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0153] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用