一种动态调整带宽分配的总线仲裁方法及仲裁器.pdf

上传人:a1 文档编号:1002875 上传时间:2018-03-24 格式:PDF 页数:17 大小:909.51KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910163707.3

申请日:

2009.08.14

公开号:

CN101676890A

公开日:

2010.03.24

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 13/362登记生效日:20160307变更事项:专利权人变更前权利人:北京北大众志微系统科技有限责任公司变更后权利人:北京众志芯科技有限公司变更事项:地址变更前权利人:100032 北京市海淀区中关村北大街151号资源大厦11层变更后权利人:100080 北京市海淀区中关村北大街151号燕园大厦1107室变更事项:专利权人变更前权利人:济南众志信息技术有限公司|||授权|||专利申请权的转移IPC(主分类):G06F 13/362变更事项:申请人变更前权利人:北京北大众志微系统科技有限责任公司变更后权利人:北京北大众志微系统科技有限责任公司变更事项:地址变更前权利人:100032 北京市海淀区中关村北大街151号资源大厦11层变更后权利人:100032 北京市海淀区中关村北大街151号资源大厦11层变更事项:共同申请人变更后权利人:济南众志信息技术有限公司登记生效日:20120112|||实质审查的生效IPC(主分类):G06F 13/362申请日:20090814|||公开

IPC分类号:

G06F13/362

主分类号:

G06F13/362

申请人:

北京北大众志微系统科技有限责任公司

发明人:

程 旭; 陆俊林; 刘 丹; 黄 侃; 佟 冬

地址:

100032北京市海淀区中关村北大街151号资源大厦11层

优先权:

2008.8.15 CN 200810118508.6

专利代理机构:

北京律诚同业知识产权代理有限公司

代理人:

梁 挥;祁建国

PDF下载: PDF下载
内容摘要

本发明公开了一种用于动态调整带宽分配的总线仲裁方法及其仲裁器,其中总线仲裁方法包括:步骤一,维护所有总线主设备在一个滑动时间窗口内的总线占用量的记录;步骤二,每隔设定长度的时间,根据总线占用量的记录和预先设定的带宽需求,计算出各总线主设备在最近时间窗口内的带宽偏离量;步骤三,对各总线主设备的带宽偏离量进行排序,带宽偏离量越大的总线主设备的仲裁优先级越高;步骤四,根据排序得到的仲裁优先级序列进行总线仲裁。本发明解决了现有技术中存在的带宽分配不准确以及无法保证较低通信延迟的问题。

权利要求书

1、  一种动态调整带宽分配的总线仲裁方法,其特征在于,包括:
步骤一,维护所有总线主设备在一个滑动时间窗口内的总线占用量的记录;
步骤二,每隔设定长度的时间,根据总线占用量的记录和预先设定的带宽需求,计算出各总线主设备在最近时间窗口内的带宽偏离量;
步骤三,对各总线主设备的带宽偏离量进行排序,带宽偏离量越大的总线主设备的仲裁优先级越高;
步骤四,根据排序得到的仲裁优先级序列进行总线仲裁。

2、
  根据权利要求1所述的动态调整带宽分配的总线仲裁方法,其特征在于,所述步骤一中,进一步包括:
通过将时间窗口划分成整数段,每一段为一个时间步,对每个时间步分别记录各总线主设备在该时间步内所占有的总线带宽,并将各总线主设备在最近一个时间窗口内所有时间步的记录之和作为该时间窗口内所占有的总线带宽的步骤。

3、
  根据权利要求2所述的动态调整带宽分配的总线仲裁方法,其特征在于,所述步骤一中,进一步包括:
当时间窗口滑过一个时间步,对各总线主设备在最近一个时间窗口内的带宽占有记录进行更新,以对各总线主设备的记录队列进行更新的步骤。

4、
  根据权利要求3所述的动态调整带宽分配的总线仲裁方法,其特征在于,所述步骤二中,进一步包括:
分别对各总线主设备的队列元素求和,得到各总线主设备在最近一个时间窗口内的总线带宽占有情况的步骤。

5、
  根据权利要求2或3所述的动态调整带宽分配的总线仲裁方法,其特征在于,所述步骤三中,进一步包括:
对各总线主设备的带宽差值从小至大进行排序,并根据该顺序决定在当前时间步内各总线主设备使用总线的优先权的步骤。

6、
  一种用于动态调整带宽分配的总线仲裁器,其特征在于,包括:
总线占用量记录队列,用于保存所有总线主设备在一个滑动时间窗口内的总线占用量的记录;
带宽偏离量计算电路,用于每隔设定长度的时间,根据各总线主设备的总线占用量的记录和预先设定的带宽需求,计算各总线主设备在最近时间窗口内的带宽偏离量;
带宽偏离量排序电路,用于对各总线主设备的带宽偏离量进行排序;
主设备优先级产生电路,用于根据各总线主设备的带宽偏离量的排序号,产生各总线主设备的仲裁优先级,带宽偏离量越大的总线主设备的仲裁优先级越高;
基于优先级的仲裁电路,用于根据排序得到的仲裁优先级序列进行总线仲裁。

7、
  根据权利要求6所述的用于动态调整带宽分配的总线仲裁器,其特征在于,所述总线占用量记录队列每隔设定长度的时间,将最新的记录加入队列,并将最早的记录弹出队列。

8、
  根据权利要求6或7所述的用于动态调整带宽分配的总线仲裁器,其特征在于,所述带宽偏离量计算电路又包括:
总线占有量寄存器,用于存放各总线主设备在时间步时的总线带宽占有量;
带宽需求量寄存器,用于存放各总线主设备的带宽需求量;
计数器,用于记录当前时间是否已到达一个时间步的最后一个周期;
累加器,用于对各总线主设备在当前时间步的总线带宽占有量进行计算;
逻辑运算网络,用于对各总线主设备在最近一个时间窗口内各时间步所使用的总线带宽占有量求和,并减去相应的带宽需求量,得到各总线主设备的带宽偏离量;
带宽偏离量寄存器,用于存放各总线主设备的带宽偏离量。

9、
  根据权利要求6或7所述的用于动态调整带宽分配的总线仲裁器,其特征在于,所述带宽偏离量排序电路包括:
比较器,用于通过比较两个总线主设备的带宽偏离量,得出设备号相对较小的总线主设备的带宽偏离量是否大于设备号相对较大的总线主设备的带宽偏离量;
加法器,用于对任一总线主设备,计算比该总线主设备的带宽偏离量小的总线主设备的个数,作为该总线主设备的带宽偏离量的排序号。

10、
  根据权利要求6或7所述的用于动态调整带宽分配的总线仲裁器,其特征在于,所述主设备优先级产生电路根据各总线主设备的带宽偏离量的排序号,通过将各总线主设备的设备好放入到相应的优先级寄存器中的方式产生各总线主设备的仲裁优先级。

说明书

一种动态调整带宽分配的总线仲裁方法及仲裁器
技术领域
本发明涉及通信系统中总线的仲裁方法,特别是涉及总线主设备对通信带宽有严格要求的系统提供了细粒度的带宽分配控制,以达到各主设备占有的总线通信带宽与其需求基本一致的目标,还涉及基于上述总线仲裁方法的总线仲裁器。
背景技术
随着半导体工艺的设计技术和制作流程的飞速发展,在单一芯片上集成多种复杂的功能部件已经成为可能。这些功能部件,如图像处理器、多媒体解码/编码器以及数字信号处理器等,均对通信带宽有着比较严格的要求。因此,通信结构能否提供精确的控制通信带宽的分配并保证较低的通信延迟在很大程度上决定着系统的性能。与此同时,共享总线的通信结构凭借其简单且节约面积开销等优势仍然保持主流通信结构的地位。这一背景使得总线仲裁方法和总线仲裁器的设计成为决定整个系统性能的关键。
目前共享总线通信结构下比较流行的几种仲裁方法包括:固定优先级仲裁、TDMA、Lottery、RT_lottery以及RB_lottery。以下将分别对每一种协议的内容以及其问题进行简略的介绍。
固定优先级方法:即给每个一个主设备分配一个固定的优先级,仲裁器选择所有申请者中优先级最高的主设备授予总线使用权。该方法的主要缺陷在于仅能够保证高优先级的设计具有较短的通信延迟和较高的通信带宽,而优先级较低的主设备可能会存在饿死的问题。
TDMA方法:其一般扩展成一个两层协议。第一层协议采用时间轮,并将总线的使用时间分割成时间轮上的时间片,每一片均分给一个单独的主设备。如果当前时间片的占有者申请总线,则仲裁器将该时间片的使用权授予该占有者,否则第二层协议会将时间片按轮转的方式授予给其他主设备。该方法能够在一定程度上合理的分配带宽,但是由于其时间片已经提前固定分配好,若一个主设备在属于它的时间片轮转过后才申请总线,则其通信延迟可能会很大。
Lottery:使用一个统一控制的“彩票管理者”按照一定概率仲裁总线使用权。每个主设备都会根据其带宽需求量分配一定数量的彩票,带宽需求量高的彩票数目多。“彩票管理者”会在所有申请者的彩票中随机的抽取一张,被抽中的主设备获得总线使用权。Lottery考虑到了带宽分配的问题,但是它假设主设备分配到的带宽的比例与它获得总线使用权的比例一致。这一假设仅在所有主设备的总线交易模式一致时才成立。此外,Lottery仅能够保证有较高带宽要求的主设备具有较低的通信延迟,而无法保证有较低带宽要求的主设备具有较低的通信延迟。这一点在很大程度上影响了系统的性能,因为带宽要求低的主设备很可能在系统中发挥着很重要的作用,例如执行关键的寄存器配置交易的主设备。
RT_lottery:是一个两层的仲裁协议。第一层主要用来处理有实时要求且比较紧急的请求,若当前无上述类型的请求,则第二层仲裁协议将发挥作用。第二层与Lottery比较类似,但是第二层在硬件实现前需要通过模拟来调整各个主设备分配的票数。调整的方法是迭代的将拥有最多多余票数的主设备的彩票分给最缺彩票的主设备。假设tm为拥有最多多余彩票的主设备的彩票总数,第n回迭代使用的彩票数为td=tm/2n。若调整使用的彩票数变成0或者所有主设备的带宽需求量都得到了满足,则迭代的过程停止。由于此调整的过程只在模拟时进行,并不在真实环境中,且调整的票数很快就能收敛到0,故此方法的效果可能比没有调整的Lottery更差。
RB_lottery:是一个两层的仲裁协议。第一层主要用来处理有实时要求且比较紧急的请求,若当前无上述类型的请求,则第二层仲裁协议将发挥作用。第二层与RT_lottery的第二层比较类似,但是第二层在硬件实现上增加了带宽调节器。带宽调节器根据用户设置的时间窗口的大小和主设备在一个时间窗口内的带宽需求,检查各个主设备在当前时间窗口内分配到的总线带宽是否达到了它的需求。如果已经达到,则带宽调节器将拦截该主设备在当前窗口的剩余时间内向总线仲裁器发出的请求。该方法基于的前提是准确提供主设备的带宽需求,但是由于主设备的传输往往具备突发性,这一需求在实际应用中难以做到。在部分主设备的带宽需求设置偏高并且导致带宽需求总和超过了总线能够提供的带宽总量时,由于带宽调节器无法及时地调整总线的带宽分配,一些主设备将出现带宽分配不足的情况。在部分总线主设备的带宽需求设置偏低时,由于带宽调节器过早的停掉了这些主设备的交易申请,这些主设备即使在总线空闲的情况下也无法使用总线,从而造成带宽资源的浪费。
以上这些方法基本上都存在着带宽分配不准确以及无法保证较低通信延迟等问题。因此,有必要提出一种考虑总线状态动态变化的仲裁方法以及基于该仲裁方法的总线仲裁器,以在很大程度上解决上述方法中存在的问题。
发明内容
本发明所要解决的技术问题在于提供一种动态调整带宽分配的总线仲裁方法及仲裁器,用于解决现有技术中存在的带宽分配不准确以及无法保证较低通信延迟的问题。
为了实现上述目的,本发明提供了一种动态调整带宽分配的总线仲裁方法,其特征在于,包括:
步骤一,维护所有总线主设备在一个滑动时间窗口内的总线占用量的记录;
步骤二,每隔设定长度的时间,根据总线占用量的记录和预先设定的带宽需求,计算出各总线主设备在最近时间窗口内的带宽偏离量;
步骤三,对各总线主设备的带宽偏离量进行排序,带宽偏离量越大的总线主设备的仲裁优先级越高;
步骤四,根据排序得到的仲裁优先级序列进行总线仲裁。
所述的动态调整带宽分配的总线仲裁方法,其中,所述步骤一中,进一步包括:
通过将时间窗口划分成整数段,每一段为一个时间步,对每个时间步分别记录各总线主设备在该时间步内所占有的总线带宽,并将各总线主设备在最近一个时间窗口内所有时间步的记录之和作为该时间窗口内所占有的总线带宽的步骤。
所述的动态调整带宽分配的总线仲裁方法,其中,所述步骤一中,进一步包括:
当时间窗口滑过一个时间步,对各总线主设备在最近一个时间窗口内的带宽占有记录进行更新,以对各总线主设备的记录队列进行更新的步骤。
所述的动态调整带宽分配的总线仲裁方法,其中,所述步骤二中,进一步包括:
分别对各总线主设备的队列元素求和,得到各总线主设备在最近一个时间窗口内的总线带宽占有情况的步骤。
所述的动态调整带宽分配的总线仲裁方法,其中,所述步骤三中,进一步包括:
对各总线主设备的带宽差值从小至大进行排序,并根据该顺序决定在当前时间步内各总线主设备使用总线的优先权的步骤。
为了实现上述目的,本发明还提供了一种用于动态调整带宽分配的总线仲裁器,其特征在于,包括:
总线占用量记录队列,用于保存所有总线主设备在一个滑动时间窗口内的总线占用量的记录;
带宽偏离量计算电路,用于每隔设定长度的时间,根据各总线主设备的总线占用量的记录和预先设定的带宽需求,计算各总线主设备在最近时间窗口内的带宽偏离量;
带宽偏离量排序电路,用于对各总线主设备的带宽偏离量进行排序;
主设备优先级产生电路,用于根据各总线主设备的带宽偏离量的排序号,产生各总线主设备的仲裁优先级,带宽偏离量越大的总线主设备的仲裁优先级越高;
基于优先级的仲裁电路,用于根据排序得到的仲裁优先级序列进行总线仲裁。
所述的用于动态调整带宽分配的总线仲裁器,其中,所述总线占用量记录队列每隔设定长度的时间,将最新的记录加入队列,并将最早的记录弹出队列。
所述的用于动态调整带宽分配的总线仲裁器,其中,所述带宽偏离量计算电路又包括:
总线占有量寄存器,用于存放各总线主设备在时间步时的总线带宽占有量;
带宽需求量寄存器,用于存放各总线主设备的带宽需求量;
计数器,用于记录当前时间是否已到达一个时间步的最后一个周期;
累加器,用于对各总线主设备在当前时间步的总线带宽占有量进行计算;
逻辑运算网络,用于对各总线主设备在最近一个时间窗口内各时间步所使用的总线带宽占有量求和,并减去相应的带宽需求量,得到各总线主设备的带宽偏离量;
带宽偏离量寄存器,用于存放各总线主设备的带宽偏离量。
所述的用于动态调整带宽分配的总线仲裁器,其中,所述带宽偏离量排序电路包括:
比较器,用于通过比较两个总线主设备的带宽偏离量,得出设备号相对较小的总线主设备的带宽偏离量是否大于设备号相对较大的总线主设备的带宽偏离量;
加法器,用于对任一总线主设备,计算比该总线主设备的带宽偏离量小的总线主设备的个数,作为该总线主设备的带宽偏离量的排序号。
所述的用于动态调整带宽分配的总线仲裁器,其中,所述主设备优先级产生电路根据各总线主设备的带宽偏离量的排序号,通过将各总线主设备的设备好放入到相应的优先级寄存器中的方式产生各总线主设备的仲裁优先级。
本发明的有益技术效果:
与现有技术相比,本发明解决了现有技术中存在的带宽分配不准确以及无法保证较低通信延迟的问题,能够根据总线状态的动态变化准确地分配带宽,并能保证较低的通信延迟,从而大大提高了整个系统的性能。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1是本发明滑动带宽排序窗口仲裁方法的基本流程图;
图2是本发明总线仲裁器实现滑动带宽排序窗口仲裁的基本结构图;
图3是本发明图2中带宽偏离量计算电路的基本结构图;
图4是本发明图2中带宽偏离量排序电路和主设备优先级生成电路的基本结构图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。
如图1所示,是本发明滑动带宽排序窗口仲裁方法的基本流程图。该流程描述了一种动态调整带宽分配的总线仲裁方法,为总线通信提供细粒度的带宽分配控制。该方法总体上包括如下步骤:
步骤S101,维护所有总线主设备在一个滑动的时间窗口内的总线占用量的记录;
步骤S102,每隔特定长度的时间,根据总线占用量记录和预先设定的带宽需求,计算出各总线主设备在最近的时间窗口内的带宽偏离量;
步骤S103,将所有总线主设备的带宽偏离量排序,带宽偏离量越大的主设备的仲裁优先级越高;
步骤S104,在下一次计算带宽偏离量前,使用该仲裁优先级序列进行总线仲裁。
本发明的上述可动态调整总线带宽分配的仲裁方法是利用滑动带宽排序窗口实现动态调整总线带宽分配,现对基本工作流程进行详细描述如下:
首先,总线仲裁器监视总线上各个主设备使用总线的情况,并将各个主设备在最近的一个时间窗口内所占有的总线带宽分别记录下来。这里的时间窗口即为一段固定长度的时间,记录的方式是将时间窗口划分成整数段,每一段称为一个时间步,对于每个时间步分别记录该主设备在这个时间步内所占有的总线带宽,因此一个主设备在最近一个时间窗口内所有时间步的记录之和作为该时间窗口内所占有的总线带宽。这种记录的组织方式类似队列的组织方法,即将离当前时间最远的那个时间步的带宽记录看作队头的记录,而将离当前时间最近的时间步的带宽记录看作队尾的记录。因此,总线仲裁器对于每个主设备均通过保持一个队列记录其在最近的一个时间窗口内总线带宽的占有情况。当时间窗口滑过一个时间步,即过了一个时间步长度的时间,总线仲裁器需要对各个主设备在最近的一个时间窗口内的带宽占有记录进行更新,即对各个主设备的记录队列进行更新,其方法是将队头的记录从队列中弹出,并将新产生的最近的一个时间步的带宽记录推入队尾。
接下来,总线仲裁器分别对各个主设备的队列元素求和,从而得到各个主设备在最近一个时间窗口内的总线带宽占有情况。同时,总线仲裁器内部还保存着各个主设备在一个时间窗口内应该占有的带宽值,通过将两个值求差即可得到各个主设备在该时间窗口内的总线占有量与应该占有量的差值。如果差值为正,说明该主设备在该时间窗口内占据了过多的总线带宽,若为负,则说明该主设备总线占有量还不足以满足其需求。
最后,总线仲裁器对各主设备的带宽差值从小至大进行排序,并根据该顺序决定在当前这个时间步内各个主设备使用总线的优先权。每当时间窗口滑过一个时间步时,总线仲裁器都将重复以上过程。
上述仲裁方法是通过监视并记录总线带宽的使用情况,不断调整各个主设备使用总线的优先权,保证首先满足当前带宽需求量最大的主设备,从而确保了总线带宽分配一直维持在合理、稳定且符合系统设计要求的状态。
如图2所示,是本发明总线仲裁器实现滑动带宽排序窗口仲裁的基本结构图。总线仲裁器100包括:依序连接的总线占用量记录队列10、带宽偏离量计算电路20、带宽偏离量排序电路30、主设备优先级产生电路40和基于优先级的仲裁电路50。
总线占用量记录队列10,用于保存所有总线主设备在一个滑动的时间窗口内的总线占用量的记录。每隔特定长度的时间,最新的记录加入队列,同时最早的记录弹出队列。
带宽偏离量计算电路20,用于根据各总线主设备的总线占用量记录和预先设定的带宽需求,计算各总线主设备在最近的时间窗口内的带宽偏离量,用于表示各总线主设备在最近一段时间内的带宽满足程度。
带宽偏离量排序电路30,用于比较任意两个主设备的带宽偏离量,得出各个设备号相对较小的主设备的带宽偏离量是否大于设备号相对较大的主设备的带宽偏离量,对于每个主设备,均有一个加法器计算比该主设备的带宽偏离量小的主设备的个数,作为该主设备的带宽偏离量的排序号,从而完成带宽偏离量的排序。
主设备优先级产生电路40,用于根据各主设备的带宽偏离量排序号,将各个主设备的设备号放入到相应的优先级寄存器中,从而产生各主设备的新的仲裁优先级,并送至基于优先级的仲裁电路50。
在图2中,假设总线上有n+1个主设备,分别为0号主设备、1号主设备、...、n号主设备。对于每个主设备,分别有相应的队列记录它在最近一个时间窗口内的带宽使用情况。假设一个时间窗口由m个时间步组成,图2中,各个主设备的总线带宽占有队列中的1、2、...、m,分别对应该主设备在最近一个时间窗口内的各个时间步内的相应的主设备占据总线带宽的情况。而2、3、...、(m+1)则分别对应着前一个时间窗口内的各个时间步内的相应的主设备占据总线带宽的情况。当前一个时间窗口滑过一个时间步时,通过将其队头的(m+1)号记录从队列中弹出,并将记录着最近的一个时间步的总线带宽占有情况的1号记录推入队列,可得到最近的一个时间窗口内各个主设备的总线带宽占有量。然后,总线仲裁器100分别对各个主设备的时间步1、2、...、m求和,从而得到各个主设备在最近一个时间窗口内的总线带宽占有情况。同时,总线仲裁器100内部还保存着各个主设备在一个时间窗口内应该占有的带宽值,即0号主设备带宽需求量、1号主设备带宽需求量、...、n号主设备带宽需求量。通过将主设备i在最近一个时间窗口内的总线带宽占有量减去主设备i的带宽需求量,即得到主设备i的带宽偏离量。最后,通过带宽偏离量排序电路30对各个主设备的带宽偏离量从小到大进行排序,并通过主设备优先级产生电路40根据各个主设备带宽偏离量在序列中的位置授予其相应的总线优先权。再由基于优先权的仲裁电路50根据总线优先权以及所接收的总线主设备的申请信号输出总线主设备的授权信号。
如图3所示,为本发明图2中带宽偏离量计算电路20的一个实现实例。带宽偏离量计算电路20用于计算各个主设备在最近的一个时间窗口内使用的总线带宽与其带宽需求量的差值。图3给出当总线上仅存在3个主设备,且一个时间窗口由三个时间步组成时该电路的基本结构。下面对图3中的基本组成部分及其作用进行说明。
总线占有量寄存器31,主设备i在时间步j(j不等于0)的总线占有量放在寄存器总线占有量ij中,总线占有量寄存器i0,总线占有量寄存器i1,总线占有量寄存器i2构成了主设备i在最近一个时间窗口内的实际带宽占有队列。
带宽需求量寄存器33,主设备i的带宽需求量存放在可编程寄存器带宽需求量i(0、1、2)中,可编程寄存器即表示该寄存器的值是可以通过软件进行配置。
计数器32,用来记录当前时间是否到了一个时间步的最后一个周期,如果已经到达最后一个周期,则该计数器32会发出一个触发信号进行标志,同时将当前的计数值清0,重新开始计数。
累加器34,主设备i在当前时间步的总线占有量使用累加器i进行计算,计算的方法是,如果当前时钟周期主设备i在使用总线,则累加器i加1。
带宽偏离量寄存器35,主设备i在最近一个时间窗口内的带宽偏离量放在带宽偏离量寄存器i中,该结果由带宽偏离量计算电路20计算产生。
逻辑运算网络36,用于对各个主设备在最近一个时间窗口内的各个时间步所使用的总线带宽求和,并减去相应的带宽需求量,从而计算得到各个主设备的带宽偏离量。
带宽偏离量计算电路20工作的基本流程是:当计数器32计到当前时间步的最后一个周期时,发出触发信号,触发逻辑运算网络36开始工作,分别对各个主设备计算出其在最近一个时间窗口内的带宽偏离量。同时,该触发信号还会成为实际带宽占有寄存器的写使能信号,从而保证在一个时间步后,最近一个时间窗口内各时间步的带宽占有量得到更新。
如图4所示,为本发明的图2中带宽偏离量排序电路30和主设备优先级产生电路40的一个实现实例。带宽偏离量排序电路30用于对带宽偏离量计算电路30产生的各个主设备在最近一个时间窗口内的带宽偏离量进行排序,从而确定各个主设备在下一个时间步的总线优先权情况。图4给出当总线上仅存在3个主设备时该电路的基本结构。下面首先对图4中带宽偏离量排序电路30的基本组成部分以及其作用进行说明。
比较器41,用于比较两个主设备的带宽偏离量寄存器的值,待比较的两个数值存在先后顺序,若前后两个数分别为a和b,则比较器41将输出关于a>b是否为真的情况。例如若a.>b,则比较输出的结果为1。在本实例中,设备号小的主设备的带宽偏离量一般为前一个输入,而设备号大的主设备的带宽偏离量一般为后一个输入。故对于在比较过程中设备号相对较小的主设备而言,其与另一个主设备的带宽偏离量的大小关系即为比较器41输出的结果,而对于在比较过程中设备号相对较大的主设备而言,其与另一个主设备的带宽偏离量的大小关系为比较器41输出的结果取反以后的值。
加法器42,对于每个主设备,加法器42用于计算比该主设备的带宽偏离量大的主设备个数。加法器42的输入为比较器41产生的比较结果。因此,对于每一个主设备,所有计算比它的设备号小的主设备的带宽偏离量相对于它的带宽偏离量的大小关系的比较器的输出结果,在送入加法器42前均需要进行取反。加法器42的输出结果即为该主设备在下一个时间步的优先级。
优先级寄存器43,包括优先级寄存器0、优先级寄存器1、优先级寄存器2,若优先级寄存器i中放的值为j,则在下一个时间步中,主设备j的使用总线的优先级为i。
带宽偏离量排序电路30以及主设备优先级产生电路40的工作流程是:首先由比较器41比较任意两个主设备的带宽偏离量,得出各个设备号相对较小的主设备的带宽偏离量是否大于设备号相对较大的主设备的带宽偏离量。然后对于每个主设备,均有一个加法器42计算比该主设备的带宽偏离量小的主设备的个数,若比该主设备的带宽偏离量小的主设备的个数越少,则该主设备在下一个时间步使用总线的优先权越高。最后主设备优先级产生电路40根据各个主设备在下一个时间步的优先级,将各个主设备的设备号放入到相应的优先级寄存器43中。例如若有2个主设备的带宽偏离量均比主设备1的带宽偏离量小,则主设备1在下一个时间步的优先级为2,则主设备优先级产生电路40会将1放入优先级寄存器2中。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

一种动态调整带宽分配的总线仲裁方法及仲裁器.pdf_第1页
第1页 / 共17页
一种动态调整带宽分配的总线仲裁方法及仲裁器.pdf_第2页
第2页 / 共17页
一种动态调整带宽分配的总线仲裁方法及仲裁器.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《一种动态调整带宽分配的总线仲裁方法及仲裁器.pdf》由会员分享,可在线阅读,更多相关《一种动态调整带宽分配的总线仲裁方法及仲裁器.pdf(17页珍藏版)》请在专利查询网上搜索。

本发明公开了一种用于动态调整带宽分配的总线仲裁方法及其仲裁器,其中总线仲裁方法包括:步骤一,维护所有总线主设备在一个滑动时间窗口内的总线占用量的记录;步骤二,每隔设定长度的时间,根据总线占用量的记录和预先设定的带宽需求,计算出各总线主设备在最近时间窗口内的带宽偏离量;步骤三,对各总线主设备的带宽偏离量进行排序,带宽偏离量越大的总线主设备的仲裁优先级越高;步骤四,根据排序得到的仲裁优先级序列进行总线。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1