首页> 中国专利> 一种混合调度的总线仲裁器和仲裁方法

一种混合调度的总线仲裁器和仲裁方法

摘要

本发明公开了一种混合调度的总线仲裁器和仲裁方法,实现了固定优先级与轮转调度的多设备同时访问总线的电路实现机制,其技术方案为:具有轮转调度模块和固定优先级模块;所述轮转调度模块包括一状态寄存器和轮转调度状态机,状态寄存器存储每一设备的请求信号,轮转调度状态机根据轮转调度顺序对当前设备的请求信号进行仲裁判决;所述固定优先级模块包括一寄存堆和固定优先级状态机;寄存堆将每一设备的请求信号按照从高有效位到低有效位的顺序进行存储,固定优先级状态机根据固定优先级顺序对当前设备的请求信号进行仲裁判决。

著录项

  • 公开/公告号CN106844250A

    专利类型发明专利

  • 公开/公告日2017-06-13

    原文格式PDF

  • 申请/专利权人 山东师范大学;

    申请/专利号CN201710078803.2

  • 申请日2017-02-14

  • 分类号G06F13/366(20060101);

  • 代理机构37221 济南圣达知识产权代理有限公司;

  • 代理人张勇

  • 地址 250014 山东省济南市文化东路88号

  • 入库时间 2023-06-19 02:31:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-24

    授权

    授权

  • 2017-07-07

    实质审查的生效 IPC(主分类):G06F13/366 申请日:20170214

    实质审查的生效

  • 2017-06-13

    公开

    公开

说明书

技术领域

本发明涉及一种混合调度的总线仲裁器和仲裁方法。

背景技术

在SOC设计中,由于主从设备之间的通信总线(地址/数据/命令)要在多主设备之间进行复用,传统的方法大多是在软件层或者系统模块级进行设计,缺少硬件架构。

专利 “CN102231142A”的“一种带有仲裁器的多通道DMA控制器”的专利,该专利对仲裁方法的高效性并没有记载。专利“CN104158769A”的“基于硬件的交换系统公平性轮转输出的调度方法”,仅仅对公平轮转调度进行了创新,但缺少优先级调度,使之调度方案匮乏不全面。

发明内容

为了解决现有技术的不足,本发明提供了一种混合调度的总线仲裁器,其技术方案为;

一种混合调度的总线仲裁器,具有轮转调度模块和固定优先级模块;

所述轮转调度模块包括一状态寄存器和轮转调度状态机,状态寄存器存储每一设备的请求信号,轮转调度状态机根据轮转调度顺序对当前设备的请求信号进行仲裁判决;

所述固定优先级模块包括一寄存堆和固定优先级状态机;寄存堆将每一设备的请求信号按照从高有效位到低有效位的顺序进行存储,固定优先级状态机根据固定优先级顺序对当前设备的请求信号进行仲裁判决。

本方案的有益效果是实现了固定优先级与轮转调度的多设备同时访问总线的电路实现机制,可以根据情况选择适用固定优先级调度或者轮转调度,能够高效得实现仲裁器功能。

进一步的,所述状态寄存器和寄存堆均为可读写寄存器,可读写寄存器与只读寄存器相比,其有益效果是只读寄存器无法用程序更改,而可读写寄存器是可以读也可以写,可通过程序修改,使本发明中的仲裁器应用灵活度增加,方便有效得应用在特定领域。

进一步的,所述轮转调度模块还包括一与状态寄存器相连的看门狗芯片,用于对每一设备独占总线的时间进行监控,可以实现对被调度设备占用总线的时间的控制,防止某一设备过长时间使用总线从而使得其他设备无法使用总线,采用看门狗芯片简单易操作,与轮转调度模块配合速度快,错误率低。

进一步的,所述固定优先级模块还包括一与寄存堆相连的定时器,用于防止所述总线仲裁器出现死锁现象,定时器给每个获得总线使用权的主设备分配一定的时间片,如果在规定的时间片内,该主设备不能释放总线,则进行强制释放该主设备的总线占有权,并把总线使用权力交给下一个轮转的设备,并依次进行时间片分配。

本发明还提出了一种混合调度的总线仲裁方法,包括:

当轮转调度模块被使能,则采用轮转调度顺序对当前设备的请求信号进行仲裁判决;

当固定优先级模块被使能,则采用固定优先级顺序对当前设备的请求信号进行仲裁判决。

本方法通过仲裁模式切换简单使得大部分电路可以复用,能够做到电路简单,资源开销少。

进一步的,当轮转调度模块被使能,将捕捉到的不同设备的请求信号按照先后请求顺序形成队列,并为不同设备分配不同的时间片,根据队列的顺序,执行每一设备的请求信号,若某一设备占用总线的时间超过所述对应时间片,则停止该设备占用总线,使该设备排列在所述队列的末尾;若某一设备在对应时间片内结束占用总线,则按照轮转调度顺序执行下一个设备的请求信号。

该技术方案的有益效果是可以实现轮转调度的基于队列的仲裁,并且可以防止轮转调度时,某一设备占用总线时间过长从而其他设备无法使用总线的情况。

进一步的,当固定优先级模块被使能,将不同设备的优先级按照从高有效位到低有效位的顺序进行排列,并根据固定优先级顺序对当前设备的请求信号进行仲裁判决,若某一设备占用总线的时间超过所述对应时间片,则停止该设备占用总线;若某一设备在对应时间片内结束占用总线,则按照固定优先级从高有效位到低有效位的顺序执行下一个设备的请求信号。

该技术方案的有益效果是可以按照不同设备从高有效位到低有效位的顺序进行调度,并且可以防止按照固定优先级调度时,某一设备占用总线时间过长从而其他设备无法使用总线的情况。

进一步的,采用握手处理方法实现单个设备与总线的通信,具体地:当设备发出请求信号,采用轮转调度模块或固定优先级模块进行仲裁判决,并将判决所得的应答信号送入总线,当该设备使用总线完毕后,产生总线释放信号,然后执行下一设备的请求信号。

该技术方案的有益效果是通过“握手协议”复用,实现了固定优先级与轮转调度的多设备同时访问总线的电路实现机制,用于SOC系统中多主访问无竞争冲突的情景。

与现有技术相比,本发明的有益效果是:

(1)本发明通过“握手协议”复用,实现了固定优先级与轮转调度的多设备同时访问总线的电路实现机制,用于SOC系统中多主访问无竞争冲突的情景;

(2)本发明是一款简单容易实现的基于状态机与队列模块组成的电路控制器,通过仲裁模式切换,大部分电路可以复用,能够做到电路简单,资源开销少。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明单个设备总线请求、使用、释放 “握手处理”时序示意图;

图2为基于固定优先级的总线仲裁;

图3为本发明基“轮转调度+固定优先级”入队依次分配时间片轮转的仲裁。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

实施例1:一种混合调度的总线仲裁器,具有轮转调度模块和固定优先级模块;轮转调度模块包括一状态寄存器和轮转调度状态机,状态寄存器存储每一设备的请求信号,轮转调度状态机根据轮转调度顺序对当前设备的请求信号进行仲裁判决;固定优先级模块包括一寄存堆和固定优先级状态机;寄存堆将每一设备的请求信号按照从高有效位到低有效位的顺序进行存储,固定优先级状态机根据固定优先级顺序对当前设备的请求信号进行仲裁判决。

所述状态寄存器和寄存堆均为可读写寄存器,可读写寄存器与只读寄存器相比,其有益效果是只读寄存器无法用程序更改,而可读写寄存器是可以读也可以写,可通过程序修改,使本发明中的仲裁器应用灵活度增加,方便有效得应用在特定领域。

轮转调度模块还包括一与状态寄存器相连的看门狗芯片,用于对每一设备独占总线的时间进行监控。

固定优先级模块还包括一与寄存堆相连的定时器,用于防止所述总线仲裁器出现死锁现象。

每一设备占用总线的时间称之为时间片,时间片的大小对系统性能有着很大的影响。若选择很小的时间内片,将有利于短作业,因为它能在该时间片内完成。但时间片小,意味着会频繁地执行进程调度和进程上下文的切换,这无疑会增加系统的开销。反之,若时间片选择的太长,且为使每个进程都能在一个时间片内完成,轮转调度或者固定优先级调度便则无法满足短作业和交互式用户的需求。本发明选取的时间片大小是略大于一次典型的交互所需要的时间,使大多数交互式进程能在一个时间片内完成,从而可以获得很小的响应时间。

实施例2:

本发明还提出了一种混合调度的总线仲裁方法,包括:

当轮转调度模块被使能,则采用轮转调度顺序对当前设备的请求信号进行仲裁判决;当固定优先级模块被使能,则采用固定优先级顺序对当前设备的请求信号进行仲裁判决。

如图1所示,其为单个握手协议的时序关系图;仲裁器使用“握手协议处理”模块,实现‘总线请求’、‘总线应答’、“工作开始’ 、‘总线释放’操作,完成单个设备与仲裁器的握手协议。

仲裁器按照固定优先级的判断访问顺序,require ‘请求’信号来自于第一个主设备,并且这个信号经过本地判决,把握手控制状态机从复位态翻转到锁定态,并且产生第一个‘grant应答’信号,反馈到对应的访问主设备,主设备开始进入工作状态,其将会一直占用总线,直到使用完毕,然后把工作状态拉低,并且同时向握手控制模块返回总线释放的release’释放’信号。然后,仲裁控制器将会处理固定优先级寄存器中的第二个有效的‘请求’信号,产生第二个‘应答’信号;如此循环下去,所有的对应的‘请求信号’依次按照从’MSB’(高有效位)到’LSB’(低有效位)的顺序处理下去,并且对应的没有要求的位被屏蔽与跳过。当然,整个处理过程需要一个顺序处理的状态机来进行控制。其余主设备2,3……N与第一个主设备相同。图1里面的本地判决,按照固定优先级轮转或者轮转调度而不同。

正如图2所示,其为多个主设备,按照固定优先级,分别对每个主设备进行总线占用判决、总线使用权分配与总线释放的处理框图。

如图3所示,其为针对优先级轮转的多主总线仲裁,与图2一样,使用“require请求”到“grant应答”再到“release释放”三步走,来实现并行捕获来自不同设备的总线请求信号,按照请求的先后顺序依次分配一定的可编程的不同时间片,依次进行处理。把不同主设备的总线使用申请要求依次入队(请求push操作),然后从队列的最低层依次增加处理指针pointer,分别在分配的时间片内完成处理任务,避免仲裁调度死锁的看门狗监视每个设备独占总线的时间,如果超过了预先分配的时间片数目,则放狗复位,如果没有,则喂狗,处理指针加,进行下一个处理任务。当然,整个处理的控制也是由轮转控制状态机以及优先处理状态机共同“协调判决”实现。

本方法给出了一款混合有效的电路实现,用于多主设备同时访问唯一总线的竞争冲突问题。如果轮转调度被使能,则仲裁器使用‘队列类似’(包括设备ID,可读写状态位)以及一个防死锁的喂狗芯片来调度来自不同设备的同时访问。

如果优先级仲裁方法被使能,仲裁器使用一个寄存堆从高有效位到低有效位,对应高优先级到低优先级排列的固定优先级寄存堆,以构建仲裁控制,固定优先级寄存堆中的寄存器数值可读写。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号