CN106844250B - 一种混合调度的总线仲裁器和仲裁方法 - Google Patents
一种混合调度的总线仲裁器和仲裁方法 Download PDFInfo
- Publication number
- CN106844250B CN106844250B CN201710078803.2A CN201710078803A CN106844250B CN 106844250 B CN106844250 B CN 106844250B CN 201710078803 A CN201710078803 A CN 201710078803A CN 106844250 B CN106844250 B CN 106844250B
- Authority
- CN
- China
- Prior art keywords
- equipment
- bus
- fixed priority
- request signal
- robin scheduling
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 241001522296 Erithacus rubecula Species 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- 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
- G06F13/3625—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/36—Arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种混合调度的总线仲裁器和仲裁方法,实现了固定优先级与轮转调度的多设备同时访问总线的电路实现机制,其技术方案为:具有轮转调度模块和固定优先级模块;所述轮转调度模块包括一状态寄存器和轮转调度状态机,状态寄存器存储每一设备的请求信号,轮转调度状态机根据轮转调度顺序对当前设备的请求信号进行仲裁判决;所述固定优先级模块包括一寄存堆和固定优先级状态机;寄存堆将每一设备的请求信号按照从高有效位到低有效位的顺序进行存储,固定优先级状态机根据固定优先级顺序对当前设备的请求信号进行仲裁判决。
Description
技术领域
本发明涉及一种混合调度的总线仲裁器和仲裁方法。
背景技术
在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,可读写状态位)以及一个防死锁的喂狗芯片来调度来自不同设备的同时访问。
如果优先级仲裁方法被使能,仲裁器使用一个寄存堆从高有效位到低有效位,对应高优先级到低优先级排列的固定优先级寄存堆,以构建仲裁控制,固定优先级寄存堆中的寄存器数值可读写。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (4)
1.一种混合调度的总线仲裁器,其特征在于:具有轮转调度模块和固定优先级模块;
所述轮转调度模块包括一状态寄存器和轮转调度状态机,状态寄存器存储每一设备的请求信号,轮转调度状态机根据轮转调度顺序对当前设备的请求信号进行仲裁判决;
所述固定优先级模块包括一寄存堆和固定优先级状态机;寄存堆将每一设备的请求信号按照从高有效位到低有效位的顺序进行存储,固定优先级状态机根据固定优先级顺序对当前设备的请求信号进行仲裁判决;
所述轮转调度模块还包括一与状态寄存器相连的看门狗芯片,用于对每一设备独占总线的时间进行监控;
所述固定优先级模块还包括一与寄存堆相连的定时器,用于防止所述总线仲裁器出现死锁现象。
2.根据权利要求1所述的混合调度的总线仲裁器,其特征在于:所述状态寄存器和寄存堆均为可读写寄存器。
3.一种基于权利要求1所述总线仲裁器的混合调度的总线仲裁方法,其特征在于:
当轮转调度模块被使能,则采用轮转调度顺序对当前设备的请求信号进行仲裁判决;
当轮转调度模块被使能,将捕捉到的不同设备的请求信号按照先后请求顺序形成队列,并为不同设备分配不同的时间片,根据队列的顺序,执行每一设备的请求信号;
某一设备占用总线的时间超过对应的时间片,则停止该设备占用总线,使该设备排列在所述队列的末尾;若某一设备在对应时间片内结束占用总线,则按照轮转调度顺序执行下一个设备的请求信号;
当固定优先级模块被使能,则采用固定优先级顺序对当前设备的请求信号进行仲裁判决;
当固定优先级模块被使能,将不同设备的优先级按照从高有效位到低有效位的顺序进行排列,并根据固定优先级顺序对当前设备的请求信号进行仲裁判决;
若某一设备占用总线的时间超过对应时间片,则停止该设备占用总线;若某一设备在对应时间片内结束占用总线,则按照固定优先级从高有效位到低有效位的顺序执行下一个设备的请求信号。
4.根据权利要求3所述的混合调度的总线仲裁方法,其特征在于:采用握手处理方法实现单个设备与总线的通信,具体地:当设备发出请求信号,采用轮转调度模块或固定优先级模块进行仲裁判决,并将判决所得的应答信号送入总线,当该设备使用总线完毕后,产生总线释放信号,然后执行下一设备的请求信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078803.2A CN106844250B (zh) | 2017-02-14 | 2017-02-14 | 一种混合调度的总线仲裁器和仲裁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078803.2A CN106844250B (zh) | 2017-02-14 | 2017-02-14 | 一种混合调度的总线仲裁器和仲裁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844250A CN106844250A (zh) | 2017-06-13 |
CN106844250B true CN106844250B (zh) | 2019-09-24 |
Family
ID=59128282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078803.2A Expired - Fee Related CN106844250B (zh) | 2017-02-14 | 2017-02-14 | 一种混合调度的总线仲裁器和仲裁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844250B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426562B (zh) * | 2017-08-30 | 2023-10-13 | 北京忆恒创源科技股份有限公司 | 优先级加权轮转调度器 |
CN107835134B (zh) * | 2017-10-20 | 2021-02-02 | 深圳市风云实业有限公司 | 应用于以太网交换芯片的端口访问仲裁方法及装置 |
CN107870812B (zh) * | 2017-11-17 | 2021-06-15 | 南京国电南自轨道交通工程有限公司 | 一种基于单线程并发多定时器应用管理方法 |
CN108200149B (zh) * | 2017-12-29 | 2021-01-05 | 神华集团有限责任公司 | 机车图像仲裁装置 |
CN108228510A (zh) * | 2018-01-17 | 2018-06-29 | 广东工业大学 | 一种总线的仲裁方法、设备、存储介质及总线仲裁器 |
CN109101443B (zh) * | 2018-07-27 | 2021-09-28 | 天津国芯科技有限公司 | 一种权重分时的仲裁装置及方法 |
CN112399112B (zh) * | 2019-08-12 | 2023-04-07 | 天津大学青岛海洋技术研究院 | 一种轮权与权重相结合的仲裁模式 |
CN112491680A (zh) * | 2020-12-10 | 2021-03-12 | 上海镭隆科技发展有限公司 | 一种新型中间层fpga总线仲裁机制及其实施方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN104572529A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种适用异构多核dsp的高效总线仲裁系统 |
CN104866455A (zh) * | 2015-06-10 | 2015-08-26 | 首都师范大学 | 动态可重构高速串行总线中的多主仲裁方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026021A (ja) * | 2005-07-15 | 2007-02-01 | Nec Electronics Corp | バス制御システム及びバス制御方法 |
-
2017
- 2017-02-14 CN CN201710078803.2A patent/CN106844250B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN104572529A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种适用异构多核dsp的高效总线仲裁系统 |
CN104866455A (zh) * | 2015-06-10 | 2015-08-26 | 首都师范大学 | 动态可重构高速串行总线中的多主仲裁方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106844250A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844250B (zh) | 一种混合调度的总线仲裁器和仲裁方法 | |
CN100517219C (zh) | 多芯架构中的资源管理装置和方法以及多芯处理器 | |
US5088024A (en) | Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit | |
US9798686B2 (en) | Slave side bus arbitration | |
CN103999051A (zh) | 用于着色器核心中着色器资源分配的策略 | |
CN108334464A (zh) | 具有支持三个dma模式的命令队列结构的多信道dma系统 | |
WO2004104904A2 (en) | Multi-user server system and method for simulation | |
JPS622345A (ja) | バス裁定システム | |
CN110297661B (zh) | 基于amp构架dsp操作系统的并行计算方法、系统及介质 | |
US20150220460A1 (en) | Arbitrating direct memory access channel requests | |
CN107562657A (zh) | 全交织sram控制器 | |
CN100514316C (zh) | 基于片上多处理器系统的动态自适应总线仲裁器 | |
TW201007468A (en) | PCI-express transmitter employing dynamically selectable data transmission priority rules and related controlling method | |
CN107533353A (zh) | 控制设备在正常状态与静止状态之间的转换 | |
US6434708B1 (en) | Programmable timer & methods for scheduling time slices executed by a controller circuit | |
IL264794B2 (en) | Scheduling of tasks on a multi-processor device | |
EP1187028B1 (en) | Immediate grant bus arbiter for bus system | |
US7543093B2 (en) | Method and system for stream burst data transfer | |
Zhao et al. | Timing-accurate general-purpose I/O for multi-and many-core systems: Scheduling and hardware support | |
JP2004038967A (ja) | バスの使用頻度を制御できる方法及び装置 | |
EP3926452A1 (en) | Norflash sharing | |
JPH0727507B2 (ja) | チャネル選択アービトレーション | |
CN105227648B (zh) | 一种基于时间桶的地铁综合监控系统时间序列触发方法 | |
JP2006191648A (ja) | ネットワークオンチップシステムのスイッチング装置及びそのスケジューリング方法 | |
CN103164338A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190924 |